/* clinicadentalcasaresgandara.es - piel de la web (2026-09-14).
   Un solo tema, blanco. Cormorant Garamond en titulares, Figtree en texto.
   Radio único 6px, un acento (petróleo) y hairlines. */
:root{color-scheme:light;
  --bg:#ffffff; --ink:#1c2325; --muted:#66727a; --line:#e6eaea;
  --accent:#2a5f63; --accent-ink:#ffffff; --tint:#f1f5f4; --tint-ink:#1c2325;
  --r:6px; --d:"Cormorant Garamond","Georgia","Times New Roman",serif; --b:"Figtree","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--b);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,.disp{font-family:var(--d);font-weight:500;letter-spacing:-.01em;line-height:1.05;margin:0;text-wrap:balance}
h1{font-size:clamp(2.7rem,5.6vw,4.6rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:1.55rem}
h1 em,h2 em{font-style:italic;font-weight:500;padding-bottom:.05em}
p{margin:0}
.lead{color:var(--muted);max-width:58ch;font-size:1.08rem}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
section{padding-block:88px}
.sec-head{display:grid;gap:14px;max-width:60ch;margin-bottom:44px}
.btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border-radius:var(--r);padding:15px 24px;font-weight:500;text-decoration:none;font-size:1rem;border:1px solid transparent;transition:transform .15s ease,background .15s ease,border-color .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:scale(.98)}
.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.photo{border-radius:var(--r);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}

/* nav */
.nav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav .wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;font-family:var(--d);font-weight:600;font-size:1.35rem;line-height:1;letter-spacing:-.01em}
.brand small{display:block;font-family:var(--b);font-weight:500;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.nav ul a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.95rem}
.nav ul a:hover{color:var(--ink)}
.nav .btn{padding:11px 20px}
@media (max-width:900px){.nav ul{display:none}}

/* hero */
.hero{padding-block:64px 24px}
.hero .wrap{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.hero-copy{display:grid;gap:26px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.hero .photo{aspect-ratio:3/2;animation:rise .8s ease both}
@keyframes rise{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:32px}}

/* tratamientos */
.tlist{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;border-top:1px solid var(--line)}
.tx{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;padding-block:28px;border-bottom:1px solid var(--line)}
.tx .photo{aspect-ratio:1/1}
.tx .txt{display:grid;gap:6px}
.tx h3{font-size:1.6rem}
.tx p{color:var(--muted);font-size:.97rem;max-width:40ch}
@media (max-width:900px){.tlist{grid-template-columns:1fr;gap:0}.tx{grid-template-columns:120px 1fr;gap:18px}}

/* banda de esterilización */
.band{background:var(--tint);color:var(--tint-ink)}
.band .wrap{display:grid;grid-template-columns:6fr 6fr;gap:56px;align-items:center}
.band .photo{aspect-ratio:3/2}
.band .copy{display:grid;gap:18px}
.band p{max-width:52ch;color:var(--muted)}
@media (max-width:900px){.band .wrap{grid-template-columns:1fr;gap:28px}}

/* opiniones */
.rating{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.98rem}
.rating .stars{display:flex;gap:2px;color:var(--accent)}
.rating .stars svg{width:16px;height:16px;fill:currentColor}
.rating b{color:var(--ink);font-weight:500}
.featured{font-family:var(--d);font-style:italic;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.22;max-width:32ch;padding-bottom:.1em}
.attrib{color:var(--muted);font-size:.95rem;margin-top:18px;display:flex;gap:12px;align-items:center}
.attrib b{color:var(--ink);font-weight:500;display:block}
.attrib a{text-decoration:none}
.attrib a:hover{text-decoration:underline}
.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:var(--tint)}
.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.featured.clamp{-webkit-line-clamp:6}
.all-reviews{margin-top:40px;font-size:.98rem}
.all-reviews a{color:var(--accent)}
.more{display:grid;grid-template-columns:1fr 1fr;gap:40px 48px;margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.more p{font-size:1.05rem;max-width:44ch}
blockquote{margin:0}
@media (max-width:900px){.more{grid-template-columns:1fr;gap:28px}}

/* Ourense */
.place .photo{aspect-ratio:21/9}
.place figure{margin:0}
.place figcaption{color:var(--muted);font-size:.95rem;margin-top:14px}

/* contacto */
.contact .wrap{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:start}
.contact dl{margin:0;display:grid;gap:26px}
.contact .row{display:flex;gap:14px}
.contact .row .ico{color:var(--accent);margin-top:5px}
.contact dt{font-size:.72rem;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.contact dd{margin:4px 0 0;font-size:1.08rem}
.contact dd a{text-decoration:none}
.contact dd a:hover{text-decoration:underline}
.map{display:block;position:relative;border:1px solid var(--line)}
.map img{aspect-ratio:4/3}
.map span{position:absolute;left:16px;bottom:16px;background:var(--bg);color:var(--ink);padding:9px 14px;border-radius:var(--r);font-size:.9rem;font-weight:500;display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line)}
@media (max-width:900px){.contact .wrap{grid-template-columns:1fr}}

/* blog (home e índice) */
.blog .lead-post{display:grid;grid-template-columns:7fr 5fr;gap:40px;align-items:center;text-decoration:none}
.blog .lead-post .photo{aspect-ratio:3/2}
.blog .lead-post .txt{display:grid;gap:12px}
.blog .lead-post p{color:var(--muted)}
.blog time{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}
.blog .rest{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.blog .post{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:start;text-decoration:none}
.blog .post .photo{aspect-ratio:3/2}
.blog .post h3{font-size:1.35rem;margin:4px 0 6px}
.blog .post p{color:var(--muted);font-size:.95rem}
.blog a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.blog .more-link{margin-top:40px}
@media (max-width:900px){.blog .lead-post,.blog .rest{grid-template-columns:1fr}.blog .post{grid-template-columns:110px 1fr}}

/* artículo */
.article{padding-block:56px 88px}
.article .head{display:grid;gap:16px;max-width:60ch;margin-bottom:36px}
.article .head time{color:var(--muted);font-size:.95rem}
.article .cover{aspect-ratio:3/2;max-width:900px;margin-bottom:40px}
.article .body{max-width:62ch;font-size:1.1rem;line-height:1.7}
.article .body p{margin:0 0 1.2em}
.article .body ol,.article .body ul{padding-left:1.3em;margin:0 0 1.2em}
.article .body li{margin-bottom:.4em}
.article .body a{color:var(--accent)}
.article .body strong{font-weight:500;color:var(--ink)}
.article .next{margin-top:56px;padding-top:36px;border-top:1px solid var(--line);display:grid;gap:10px}
.article .next a{text-decoration:none}
.article .next a:hover{text-decoration:underline}
.crumb{color:var(--muted);font-size:.95rem;text-decoration:none;display:inline-flex;gap:6px;align-items:center;margin-bottom:28px}
.crumb:hover{color:var(--ink)}

/* cierre */
.cta{background:var(--accent);color:var(--accent-ink);border-radius:var(--r);padding:64px 56px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.cta h2{max-width:20ch;font-style:italic}
.cta .btn-primary{background:var(--accent-ink);color:var(--accent)}
.cta .tel{display:block;margin-top:14px;font-size:.98rem;opacity:.85;text-decoration:none}
@media (max-width:900px){.cta{grid-template-columns:1fr;padding:36px 28px}}

/* pie */
footer.site{border-top:1px solid var(--line);padding-block:48px;color:var(--muted);font-size:.93rem}
footer.site .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
footer.site .brand{color:var(--ink)}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer.site a{text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site address{font-style:normal;line-height:1.7}
@media (max-width:900px){footer.site .wrap{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
