
:root{
  --green:#0d3333; --green2:#174747; --mint:#d9ebe7; --cream:#f6f2eb;
  --gold:#bd9561; --ink:#17302f; --white:#fff; --muted:#667774;
  --line:rgba(23,48,47,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}
a{color:inherit;text-decoration:none;cursor:pointer}
.topbar{background:var(--green);color:#e6f3ef;padding:9px 4vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}
.header{height:84px;display:flex;align-items:center;padding:0 4vw;gap:28px;background:rgba(246,242,235,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;gap:12px;align-items:center;min-width:max-content}
.brand-mark{width:40px;height:40px;border:1.5px solid var(--green);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px}
.brand strong{display:block;font-family:Georgia,serif;font-size:18px}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:2px}
nav{display:flex;gap:20px;margin-left:auto;font-size:14px;font-weight:700}
nav a{opacity:.72}nav a:hover{opacity:1}
.menu-btn{display:none;background:none;border:0;font-size:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--green);font-size:11px;font-weight:800;letter-spacing:.06em;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:white}.btn-line{background:transparent}.btn-light{border-color:white;color:white;background:transparent}
.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr}
.hero-copy{padding:100px 7vw 80px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:13px;font-weight:900;letter-spacing:.14em;color:var(--green2);margin:0 0 18px}
.eyebrow.light{color:#d6ebe5}
h1,h2,h3,p{margin-top:0}
h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,84px);line-height:.98;font-weight:400;letter-spacing:-.04em;margin-bottom:26px}
h1 em,h2 em{color:var(--gold);font-weight:400}
.lead{font-family:Georgia,serif;font-size:20px;line-height:1.6;max-width:620px;color:#52615f}
.actions{display:flex;gap:10px;margin:25px 0 42px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--line);padding-top:25px}
.hero-stats strong{display:block;font-family:Georgia,serif;font-size:23px;color:var(--green)}.hero-stats span{font-size:10px;color:var(--muted)}
.hero-visual{position:relative;background:linear-gradient(140deg,#dbeae7,#f0e5d7);overflow:hidden;min-height:640px}
.hero-visual:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;border:1px solid rgba(13,51,51,.2);right:-120px;top:40px}
.aligner{position:absolute;border:10px solid rgba(255,255,255,.82);border-radius:45% 45% 55% 55%;box-shadow:0 20px 45px rgba(13,51,51,.16), inset 0 0 22px rgba(13,51,51,.07);transform:rotate(-20deg)}
.aligner-1{width:280px;height:150px;left:18%;top:22%}.aligner-2{width:230px;height:125px;left:33%;top:40%;transform:rotate(18deg)}
.smile-card{position:absolute;right:5%;bottom:7%;background:rgba(255,255,255,.94);padding:28px;width:320px;box-shadow:0 18px 50px rgba(13,51,51,.14)}
.smile-card span{font-size:9px;letter-spacing:.14em;font-weight:900;color:var(--gold)}.smile-card strong{display:block;font-family:Georgia,serif;font-size:27px;line-height:1.1;margin:12px 0 18px}.smile-card a{font-size:11px;font-weight:800}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-strip span{padding:24px;text-align:center;font-size:11px;border-right:1px solid var(--line)}
.section{padding:95px 5vw}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.clinic{background:white}
.clinic-visual{position:relative}
.room{height:540px;background:linear-gradient(145deg,#e8e3da,#c7dbd6);position:relative;overflow:hidden}
.room:before{content:"";position:absolute;inset:12% 10% 28%;background:rgba(255,255,255,.74);border-radius:120px 120px 8px 8px}
.chair{position:absolute;width:270px;height:110px;border-radius:55px;background:var(--green2);left:22%;bottom:20%;transform:rotate(-7deg);box-shadow:0 25px 40px rgba(0,0,0,.16)}
.chair:after{content:"";position:absolute;width:150px;height:25px;background:#173f3e;left:55px;bottom:-50px}
.light{position:absolute;width:90px;height:90px;border-radius:50%;border:8px solid white;right:18%;top:24%;box-shadow:0 0 40px rgba(255,255,255,.8)}
.photo-label{display:block;font-size:10px;color:var(--muted);margin-top:10px}
.section-copy h2,.section-head h2,.invisalign h2,.reviews h2,.contact h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.035em;font-weight:400}
.section-copy>p{font-size:15px;line-height:1.75;color:#546461}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.checks span{font-size:15px}
.text-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;background:var(--green);color:#fff;font-size:14px;font-weight:700;border-radius:2px}
.treatments{background:var(--cream)}
.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:46px}
.section-head>p{color:var(--muted);line-height:1.6}
.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.treatment-grid article{padding:30px;min-height:255px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.28)}
.treatment-grid article:hover{background:white}
.treatment-grid article>span{color:var(--gold);font-family:Georgia,serif;font-size:24px}.treatment-grid h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:24px 0 10px}.treatment-grid p{font-size:13px;line-height:1.55;color:var(--muted)}.treatment-grid a{font-size:10px;font-weight:900}
.invisalign{background:var(--green);color:white;padding:95px 5vw}
.invisalign-intro{max-width:850px}.invisalign-intro>p:not(.eyebrow){font-family:Georgia,serif;font-size:19px;line-height:1.5;color:#d9e7e4;max-width:660px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.steps div{padding:30px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);min-height:200px}.steps span{font-family:Georgia,serif;color:#d4b284;font-size:26px}.steps h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:22px 0 8px}.steps p{color:#bdd2ce;font-size:12px;line-height:1.55}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.pill-row span{border:1px solid rgba(255,255,255,.3);padding:10px 15px;border-radius:99px;font-size:10px}
.aesthetics{background:white}.aesthetic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.a-card{min-height:220px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,#e8eeec,#c7dcd7);position:relative;overflow:hidden}
.a-card:nth-child(2n){background:linear-gradient(160deg,#efe5da,#d6c2a6)}.a-card:before{content:"";position:absolute;width:130px;height:130px;border:22px solid rgba(255,255,255,.55);border-radius:50%;right:-25px;top:-25px}
.a-card strong{font-family:Georgia,serif;font-size:24px;font-weight:400;position:relative}.a-card span{font-size:10px;font-weight:900;margin-top:12px;position:relative}
.reviews{padding:90px 5vw;background:#dfeae7;text-align:center}.reviews-note{color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.review-grid blockquote{margin:0;padding:32px;background:white;text-align:left}.review-grid blockquote div{color:var(--gold);letter-spacing:.1em}.review-grid blockquote p{font-family:Georgia,serif;font-size:19px;line-height:1.5;margin:18px 0}.review-grid cite{font-style:normal;font-size:10px;color:var(--muted)}
.content{background:var(--cream)}.content-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.content-grid article{background:white;padding:24px;min-height:260px}.content-grid .feature{grid-row:span 2}.article-visual{height:260px;margin:-24px -24px 24px;background:linear-gradient(135deg,#b7d3cd,#e8ddd0);position:relative}.article-visual:after{content:"";position:absolute;width:180px;height:85px;border:9px solid rgba(255,255,255,.85);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg)}.content-grid small{font-size:9px;font-weight:900;color:var(--gold);letter-spacing:.12em}.content-grid h3{font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.2;margin:18px 0}.content-grid p{color:var(--muted);font-size:12px;line-height:1.6}.content-grid a{font-size:10px;font-weight:900}
.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--green2);color:white}
.contact-copy, .contact form{padding:80px 7vw}
.contact-copy>p:not(.eyebrow){color:#c8dbd7;line-height:1.6}
.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.contact-data small{display:block;color:#b5cbc6;font-size:9px;letter-spacing:.12em;margin-bottom:7px}.contact-data strong{font-size:12px;line-height:1.55}
.contact form{background:rgba(0,0,0,.1);display:flex;flex-direction:column;gap:14px}.contact form h3{font-family:Georgia,serif;font-size:32px;font-weight:400}.contact input,.contact select,.contact textarea{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.38);padding:14px 2px;color:white;outline:none}.contact select option{color:#111}.contact input::placeholder,.contact textarea::placeholder{color:#c2d5d1}.contact form small{color:#aac3bd}
footer{background:#092525;color:white;padding:45px 5vw 25px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;align-items:start}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand .brand-mark{border-color:white}.footer-brand strong{display:block;font-family:Georgia,serif}.footer-brand small{font-size:8px;letter-spacing:.13em}.rt{font-size:10px;color:#a9c0bb;line-height:1.7}.footer-links a{font-size:10px;margin-right:14px}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:10px;color:#7d9b95}
.float-wa{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:#1c8b66;color:white;display:grid;place-items:center;font-weight:900;z-index:30;box-shadow:0 12px 28px rgba(0,0,0,.25)}

.room.photo{background-size:cover;background-position:center}
.room.photo:before{display:none}
.clinic-visual{display:flex;flex-direction:column;gap:14px}
.room-secondary{height:260px}
.a-card.photo{background-size:cover;background-position:center;background-color:#0d3333}
.a-card.photo:before{display:none}
.a-card.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,51,51,0) 30%,rgba(13,51,51,.82) 100%)}
.a-card.photo strong,.a-card.photo span{position:relative;z-index:1;color:#fff}
.article-visual.photo{background-size:cover;background-position:center}
.article-visual.photo:after{display:none}

.treatment-fill{grid-column:span 2;background-size:cover;background-position:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}

.detail-btn{font:inherit;border:none;cursor:pointer;background:none;text-align:left;color:inherit}
.treatment-grid .detail-btn{font-size:11px;font-weight:900;border-bottom:1px solid;padding-bottom:4px;display:inline-block}
.a-card.detail-btn{width:100%;display:flex;flex-direction:column;justify-content:flex-end}
.detail-modal{border:none;border-radius:4px;padding:0;max-width:560px;width:92%}
.detail-modal::backdrop{background:rgba(13,51,51,.55)}
.detail-modal #detailContent{padding:44px 36px 36px}
.detail-modal h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:8px 0 18px}
.detail-modal p{font-size:15px;line-height:1.7;color:#546461;margin-bottom:24px}
.modal-close{position:absolute;top:14px;right:16px;border:none;background:var(--cream);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;z-index:1}
@media(max-width:1000px){
  nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);padding:20px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-btn{display:block;margin-left:auto}.header>.btn{display:none}
  .hero,.section-grid,.contact{grid-template-columns:1fr}.hero-visual{min-height:520px}.trust-strip{grid-template-columns:1fr 1fr}.treatment-grid,.steps{grid-template-columns:repeat(2,1fr)}.aesthetic-grid{grid-template-columns:repeat(2,1fr)}.review-grid{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr 1fr}.content-grid .feature{grid-row:auto;grid-column:1/-1}.section-head{grid-template-columns:1fr}
}
@media(max-width:620px){
  .topbar span{display:none}.header{height:70px;padding:0 18px}.brand strong{font-size:15px}.brand small{font-size:7px}
  .hero-copy{padding:65px 22px}.hero-visual{min-height:430px}.smile-card{right:20px;left:20px;width:auto}.hero-stats{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr}.trust-strip span{text-align:left}
  .section,.invisalign{padding:65px 20px}.clinic-visual .room{height:420px}.checks{grid-template-columns:1fr}.treatment-grid,.steps,.aesthetic-grid,.content-grid{grid-template-columns:1fr}.content-grid .feature{grid-column:auto}.contact-copy,.contact form{padding:60px 22px}.contact-data{grid-template-columns:1fr}footer{grid-template-columns:1fr}.copyright{grid-column:1}.review-grid{gap:10px}
}


.cookie-banner{position:fixed;left:0;right:0;bottom:-100px;background:#0d3333;color:#f6f2eb;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;z-index:999;font-size:13px;transition:bottom .4s ease;box-shadow:0 -8px 24px rgba(0,0,0,.25)}
.cookie-banner.show{bottom:0}
.cookie-banner p{margin:0;color:#f6f2eb;flex:1;min-width:220px}
.cookie-banner a{color:#e7c98f;text-decoration:underline}
.cookie-banner button{background:#bd9561;color:#0d3333;border:none;padding:10px 22px;font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap}
@media(max-width:600px){.cookie-banner{padding:14px 16px}}
