@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{--wine:#147d78;--wine-dark:#083f46;--wine-soft:#35a7a0;--gold:#ef765f;--gold-light:#ffd8c8;--ivory:#fffaf3;--cream:#eaf7f4;--ink:#17343b;--muted:#5d7478;--line:#d9ebe7;--white:#fff;--green:#208768;--shadow:0 24px 70px rgba(12,94,96,.13);--shadow-soft:0 12px 35px rgba(12,94,96,.09);--radius:28px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font:16px/1.7 'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--ivory);text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.12}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.topbar{background:var(--wine-dark);color:#f7eadc;padding:8px 0;font-size:.82rem;letter-spacing:.025em}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,248,242,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(107,16,41,.10)}
.nav{min-height:92px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--wine);font-family:'Playfair Display',serif;font-weight:700;font-size:1.32rem;white-space:nowrap}
.brand-logo{width:76px;height:54px;object-fit:cover;object-position:24% 54%;border-radius:12px;border:1px solid rgba(201,154,59,.38);box-shadow:0 6px 16px rgba(53,7,17,.12)}
.nav-links{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav-links a{text-decoration:none;font-weight:700;font-size:.92rem;color:#4d4143;position:relative;padding:10px 0}
.nav-links a:after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--gold);transition:.25s}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--wine)}
.nav-links a:hover:after,.nav-links a[aria-current=page]:after{right:0}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;width:44px;height:44px;color:var(--wine);font-size:1.35rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid var(--wine);background:var(--wine);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 9px 24px rgba(107,16,41,.15);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:var(--wine-dark);box-shadow:0 14px 28px rgba(107,16,41,.22)}
.btn.secondary{background:rgba(255,255,255,.94);color:var(--wine);border-color:rgba(107,16,41,.22);box-shadow:none}
.btn.gold{background:linear-gradient(135deg,#e4c574,var(--gold));border-color:#d0a449;color:var(--wine-dark)}
.hero{min-height:680px;position:relative;display:grid;align-items:center;overflow:hidden;background:var(--wine-dark) url('../clinic-reception.webp') center/cover no-repeat;color:#fff}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,4,12,.96) 0%,rgba(53,7,17,.86) 43%,rgba(53,7,17,.30) 76%,rgba(53,7,17,.15))}
.hero:after{content:'';position:absolute;width:430px;height:430px;border:1px solid rgba(236,216,169,.22);border-radius:50%;right:-150px;top:-160px;box-shadow:0 0 0 38px rgba(236,216,169,.035),0 0 0 76px rgba(236,216,169,.025)}
.hero-content{position:relative;z-index:1;padding:92px 0;max-width:720px;margin-left:max(0px,calc((100vw - 1180px)/2));width:min(720px,calc(100% - 40px))}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem}
.eyebrow:before{content:'';width:28px;height:1px;background:currentColor}
.hero h1,.page-hero h1{font-size:clamp(3rem,6.5vw,5.9rem);margin:.18em 0 .24em;letter-spacing:-.035em}
.hero h1{max-width:680px}
.hero p{font-size:1.12rem;color:#f4e8e1;max-width:650px}
.hero-actions,.trust-row,.cta-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.hero-actions{margin-top:30px}
.trust-row{margin-top:32px}
.trust-row span{padding:9px 13px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:999px;font-size:.82rem;color:#f9efe9;backdrop-filter:blur(8px)}
.section{padding:96px 0}
.section.alt{background:var(--cream)}
.section-title{max-width:780px;margin:0 auto 48px;text-align:center}
.section-title .eyebrow{justify-content:center}
.section-title h2,.split h2,.brand-panel h2{font-size:clamp(2.25rem,4.5vw,3.75rem);color:var(--wine);margin:.22em 0}
.section-title p,.split p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.service{position:relative;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.card:before,.service:before{content:'';position:absolute;top:0;left:0;width:58px;height:4px;background:linear-gradient(90deg,var(--wine),var(--gold))}
.card:hover,.service:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(201,154,59,.48)}
.card h3,.service h2{font-size:1.35rem;color:var(--wine);margin:.25em 0 .5em}
.card p,.service p{color:var(--muted)}
.card a,.service a{color:var(--wine);font-weight:800;text-underline-offset:4px}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.media-frame,.clinic-photo,.portrait-img,.brand-board{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(107,16,41,.08);object-fit:cover;background:#e8dfd5}
.clinic-photo{aspect-ratio:4/3;max-height:520px}
.portrait-img{aspect-ratio:4/5;max-height:620px;object-position:center 20%}
.brand-board{aspect-ratio:16/10;max-height:500px;object-fit:cover;object-position:center}
.checklist{list-style:none;margin:25px 0;padding:0;display:grid;gap:11px}
.checklist li{position:relative;padding-left:33px}
.checklist li:before{content:'✓';position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f3e4d0;color:var(--wine);font-size:.78rem;font-weight:900}
.page-hero{position:relative;overflow:hidden;padding:94px 0 76px;background:radial-gradient(circle at 85% -20%,rgba(229,194,113,.38),transparent 38%),linear-gradient(135deg,var(--wine-dark),var(--wine));color:#fff}
.page-hero:after{content:'';position:absolute;right:7%;bottom:-120px;width:330px;height:330px;border-radius:50%;border:1px solid rgba(255,255,255,.11)}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{font-size:clamp(2.8rem,5.5vw,5rem);max-width:850px}
.page-hero p{font-size:1.08rem;max-width:760px;color:#f2e5df}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.service{scroll-margin-top:120px}
.service .service-link{display:inline-flex;margin-top:8px}
.brand-panel{background:linear-gradient(180deg,#f8f1e8,#fff)}
.landing-hero{padding:72px 0;background:linear-gradient(135deg,#fffaf2,#f1e7dc)}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:58px}
.landing-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);color:var(--wine);margin:.18em 0}
.landing-hero p{font-size:1.08rem;color:var(--muted)}
.landing-hero img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.breadcrumbs{font-size:.82rem;color:var(--muted);margin-bottom:18px}
.breadcrumbs a{color:var(--wine);font-weight:700}
.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:30px}
.fact-strip div{background:#fff;padding:18px}
.fact-strip strong{display:block;color:var(--wine);font-size:.9rem}
.fact-strip span{font-size:.78rem;color:var(--muted)}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:58px;align-items:start}
.content-main h2{font-size:clamp(1.9rem,3vw,2.8rem);color:var(--wine);margin:1.35em 0 .35em}
.content-main h2:first-child{margin-top:0}
.content-main h3{color:var(--wine);font-size:1.35rem}
.content-main p,.content-main li{color:var(--muted)}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}
.process article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.process b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--wine);color:#fff;margin-bottom:13px}
.process h3{font-size:1.12rem;margin:.2em 0}
.side-cta{position:sticky;top:120px;background:var(--wine);color:#fff;padding:30px;border-radius:24px;box-shadow:var(--shadow)}
.side-cta h2{font-size:1.8rem;margin-top:0;color:#fff}
.side-cta p{color:#f0dde2}
.side-cta .btn{width:100%;margin-top:10px}
.related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.related-links a{padding:8px 12px;border-radius:999px;background:#f5ece2;color:var(--wine);text-decoration:none;font-weight:700;font-size:.8rem}
.visual-story{padding:0 0 96px}
.visual-story-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}
.visual-story img{width:100%;height:100%;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-soft)}
.visual-story .wide{aspect-ratio:3/2}
.visual-story .tall{aspect-ratio:4/5}
.visual-copy{border-radius:26px;background:var(--wine);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:flex-end}
.visual-copy h2{font-size:2.3rem;margin:.2em 0}
.visual-copy p{color:#f2dfdf}
.doctor-feature{background:linear-gradient(135deg,#fffaf3 0%,#f7e9e4 100%)}
.doctor-photo-wrap{position:relative;max-width:560px;margin:auto}
.doctor-photo{display:block;width:100%;aspect-ratio:3/4;max-height:650px;object-fit:cover;object-position:center 30%;border-radius:30px;box-shadow:0 30px 70px rgba(67,8,25,.2);border:1px solid rgba(181,134,58,.28)}
.photo-badge{position:absolute;left:22px;bottom:22px;padding:11px 16px;border-radius:999px;background:rgba(73,8,27,.92);color:#fff;font-weight:800;box-shadow:var(--shadow-soft);backdrop-filter:blur(8px)}
.reviews-section{position:relative;overflow:hidden;background:var(--wine);color:#fff}
.reviews-section:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:-170px;top:-240px;background:radial-gradient(circle,rgba(222,177,91,.25),transparent 68%)}
.reviews-section .section-title h2,.reviews-section .eyebrow{color:#fff}.reviews-section .section-title p{color:#ead5d8}
.reviews-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.075);box-shadow:0 18px 40px rgba(25,0,8,.18);transition:transform .3s ease,background .3s ease,border-color .3s ease}
.review-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.11);border-color:rgba(225,179,91,.5)}
.review-head{display:flex;gap:13px;align-items:center;margin-bottom:17px}.review-head h3{margin:0;color:#fff;font-size:1rem}
.review-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold),#f1d58c);color:var(--wine);font-weight:900}
.stars{display:block;color:#f4c85f;letter-spacing:2px;font-size:.92rem}.review-card blockquote{margin:0;color:#f8eef0;font-size:.96rem;line-height:1.7}
.reviews-foot{position:relative;text-align:center;margin-top:32px}.reviews-section .btn.secondary{border-color:rgba(255,255,255,.45);color:#fff}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}
.card,.service{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover,.service:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(181,134,58,.35)}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:22px}.doctor-photo{max-height:560px}}
.image-note{font-size:.75rem;color:var(--muted);margin-top:10px}
.faq{max-width:900px;margin:auto}
.faq details{padding:20px 5px;border-bottom:1px solid var(--line)}
.faq summary{font-weight:800;color:var(--wine);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary:after{content:'+';font-size:1.25rem;color:var(--gold)}
.faq details[open] summary:after{content:'−'}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start}
.contact-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow-soft)}
.contact-panel+.contact-panel,.contact-grid form{position:sticky;top:120px}
.contact-panel h2{font-size:2rem;color:var(--wine);margin-top:0}
label{display:block;margin:15px 0 6px;font-weight:800;color:#4a3b3e}
input,select,textarea{width:100%;padding:14px;border:1px solid #d7cac3;border-radius:12px;background:#fdfbf8;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,154,59,.14)}
textarea{min-height:130px;resize:vertical}
.fine{font-size:.8rem;color:var(--muted)}
.notice{padding:20px 22px;border-left:4px solid var(--gold);background:#fff6df;border-radius:12px;color:#554346}
.legal{max-width:880px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,5vw,58px);box-shadow:var(--shadow-soft)}
.legal h2{color:var(--wine);margin-top:1.8em;font-size:1.55rem}
.legal h2:first-child{margin-top:0}
.cta-band{padding:64px 0;background:linear-gradient(110deg,var(--wine-dark),var(--wine) 72%,#922d4a);color:#fff}
.cta-row{justify-content:space-between}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);margin:0}
.cta-band p{margin:.3em 0 0;color:#ead7dc}
.footer{background:#21070d;color:#e8d9dd;padding:68px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:46px;align-items:start}
.footer h3{color:var(--gold-light);font-size:1.3rem;margin-top:0}
.footer a{color:#fff}
.footer-bottom{margin-top:38px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);color:#bfaeb2;font-size:.84rem}
.sticky-actions{display:none}
.cookie{position:fixed;z-index:90;left:20px;right:20px;bottom:20px;max-width:740px;margin:auto;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.cookie[hidden]{display:none}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

@media(max-width:900px){.nav>.btn{display:none}.nav-links{display:none;position:absolute;top:92px;left:0;right:0;padding:24px;background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;box-shadow:var(--shadow-soft)}.nav-links.open{display:flex}.menu-btn{display:grid;place-items:center;margin-left:auto}.grid{grid-template-columns:repeat(2,1fr)}.split,.contact-grid,.landing-hero-grid,.content-grid{grid-template-columns:1fr;gap:38px}.contact-grid form,.side-cta{position:static}.visual-story-grid{grid-template-columns:1fr 1fr}.visual-copy{grid-column:1/-1}.service-list{grid-template-columns:1fr}.hero{min-height:650px}.hero-content{margin:auto}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{font-size:15px}.container{width:min(100% - 28px,1180px)}.topbar .container{justify-content:center}.topbar span:last-child{display:none}.nav{min-height:78px}.brand{font-size:1rem}.brand-logo{width:58px;height:43px}.nav-links{top:78px}.hero{min-height:620px;background-position:63% center}.hero:before{background:linear-gradient(90deg,rgba(36,4,12,.96),rgba(53,7,17,.84))}.hero-content{padding:72px 0}.hero h1{font-size:clamp(2.55rem,13vw,4rem)}.section{padding:70px 0}.grid{grid-template-columns:1fr}.visual-story-grid{grid-template-columns:1fr}.visual-story .tall{aspect-ratio:4/3}.visual-copy{padding:28px}.footer-grid{grid-template-columns:1fr}.sticky-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(53,7,17,.12);padding:8px}.sticky-actions a{text-align:center;text-decoration:none;color:var(--wine);font-weight:800;font-size:.78rem;padding:7px 2px}.footer{padding-bottom:100px}.page-hero{padding:72px 0 60px}.cta-row{align-items:flex-start}.clinic-photo{aspect-ratio:4/3}.fact-strip,.process{grid-template-columns:1fr}.landing-hero{padding:52px 0}.landing-hero-grid{display:flex;flex-direction:column-reverse}.landing-hero h1{font-size:2.65rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Light coastal theme and explicit contrast safeguards. */
.topbar{background:#0b5f64;color:#f1fffc}
.site-header{background:rgba(255,250,243,.94);border-color:rgba(20,125,120,.12)}
.brand,.nav-links a:hover,.nav-links a[aria-current=page]{color:#0b6665}
.nav-links a:after{background:linear-gradient(90deg,#ef765f,#f3b84a)}
.btn{border-color:#147d78;background:#147d78;color:#fff;box-shadow:0 9px 24px rgba(20,125,120,.18)}
.btn:hover{background:#09605f;box-shadow:0 14px 28px rgba(20,125,120,.24)}
.btn.secondary{background:#fff;color:#0b6665;border-color:#8bc8c2}
.btn.gold{background:linear-gradient(135deg,#ff967c,#ef765f);border-color:#ef765f;color:#fff}
.hero{background-color:#083f46}
.hero:before{background:linear-gradient(90deg,rgba(5,55,61,.95) 0%,rgba(8,77,79,.84) 44%,rgba(8,77,79,.27) 78%,rgba(8,77,79,.12))}
.hero:after{border-color:rgba(255,187,148,.34);box-shadow:0 0 0 38px rgba(255,187,148,.05),0 0 0 76px rgba(107,220,207,.045)}
.eyebrow{color:#e96f59}.hero .eyebrow{color:#ffb58f}.hero p{color:#e9fffb}
.trust-row span{background:rgba(224,255,249,.11);border-color:rgba(224,255,249,.21);color:#f5fffd}
.card:before,.service:before{background:linear-gradient(90deg,#20a39a,#ef765f,#f3b84a)}
.checklist li:before{background:#dff5ef;color:#0b706c}
.page-hero{background:radial-gradient(circle at 86% -18%,rgba(255,160,130,.52),transparent 39%),linear-gradient(135deg,#07565d,#15958d);color:#fff}
.page-hero p{color:#eafffb}
.landing-hero{background:linear-gradient(135deg,#fffaf3 0%,#e7f8f3 64%,#fff0e8 100%)}
.fact-strip div,.process article,.contact-panel,.legal{background:#fff}
.visual-copy{background:linear-gradient(145deg,#0e7774,#32a99f);color:#fff;box-shadow:0 22px 55px rgba(14,119,116,.2)}
.visual-copy h2,.visual-copy h3,.visual-copy .eyebrow{color:#fff!important}.visual-copy p{color:#eafffb!important}.visual-copy .image-note{color:#d8f7f1}
.side-cta{background:linear-gradient(150deg,#0c6f70,#1da398);color:#fff}.side-cta p{color:#e8fffb}
.related-links a{background:#e2f6f1;color:#0b6b68}
.doctor-feature{background:linear-gradient(135deg,#fffaf3 0%,#e6f7f2 58%,#fff0e9 100%)}
.doctor-photo{border-color:#9bd5cd;box-shadow:0 30px 70px rgba(14,107,106,.18)}
.photo-badge{background:rgba(9,100,99,.94)}
.reviews-section{background:linear-gradient(145deg,#e9f8f4 0%,#fff8ed 58%,#ffece5 100%);color:var(--ink)}
.reviews-section:before{background:radial-gradient(circle,rgba(239,118,95,.18),transparent 68%)}
.reviews-section .section-title h2{color:#0d6d69}.reviews-section .eyebrow{color:#d95e49}.reviews-section .section-title p{color:#5d7478}
.review-card{background:rgba(255,255,255,.92);border-color:#cfe9e4;box-shadow:0 16px 42px rgba(16,101,99,.10)}
.review-card:hover{background:#fff;border-color:#83c9bf}.review-head h3{color:#17343b}.review-card blockquote{color:#526b70}.review-avatar{background:linear-gradient(145deg,#60c7bb,#a4e5d9);color:#074f50}.stars{color:#ef9e35}
.reviews-section .btn.secondary{background:#147d78;color:#fff;border-color:#147d78}.reviews-section .btn.secondary:hover{background:#09605f;color:#fff}
.notice{border-left-color:#ef765f;background:#fff0e9;color:#405b60}
.cta-band{background:linear-gradient(110deg,#07565d,#168e88 66%,#ef765f);color:#fff}.cta-band p{color:#eafffb}
.footer{background:#083f46;color:#d9f3ef}.footer h3{color:#ffb899}.footer-bottom{color:#a9ceca}
.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(28px)}.motion-ready .reveal.in-view{opacity:1;transform:none}
@media(max-width:620px){.hero:before{background:linear-gradient(90deg,rgba(5,55,61,.96),rgba(8,77,79,.86))}}
