:root{--ink:#0f2e2c;--ink-2:#17403d;--brand:#0b6b5f;--brand-dark:#08493f;--mint:#dff3ec;--butter:#ffd866;--ground:#f6f8f4;--white:#fff;--muted:#3e5653;--muted-2:#2f4442;--on-dark:#bfd3cd;--line:#e3eae5;--field:#d5dfd9;--coral:#c2412a;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"DM Sans", system-ui, sans-serif;--shadow:0 18px 40px -18px #0f2e2c47}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:var(--brand)}a:hover{color:var(--brand-dark)}img,svg{display:block}input,select,button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--butter);outline-offset:2px}.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;margin:0}h2{font-size:clamp(34px,4vw,52px);font-weight:800;line-height:1}.eyebrow{letter-spacing:.08em;color:var(--brand);font-size:13px;font-weight:700}.lead{color:var(--muted);max-width:420px;margin:0;font-size:17px;line-height:1.55}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 48px;display:flex}.btn{cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);color:#fff}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{color:#fff;background:#000}.btn-pill{border-radius:999px}.bar{background:var(--ink);color:var(--ground);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:10px 20px;font-size:14px;display:flex}.bar .tag{background:var(--butter);color:var(--ink);letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.bar a{color:var(--butter);font-weight:700}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.logo-mark{background:var(--brand);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.logo-text{font-family:var(--display);letter-spacing:-.02em;font-size:24px;font-weight:800}.logo-text span{color:var(--brand)}.nav{flex-wrap:wrap;gap:4px 24px;font-size:15px;font-weight:500;display:flex}.nav a{color:var(--ink);padding:10px 0;text-decoration:none}.nav a:hover{color:var(--brand)}.header-cta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-outline{border:1.5px solid var(--ink);color:var(--ink);background:0 0;border-radius:999px;min-height:46px;padding:0 16px;font-size:14px}.btn-outline:hover{color:var(--ink);background:#fff}.hero{flex-wrap:wrap;align-items:center;gap:48px;padding-block:40px 72px;display:flex}.hero-copy{flex-direction:column;flex:520px;gap:24px;min-width:0;display:flex}.badge{background:var(--mint);color:var(--brand-dark);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:700;display:flex}.hero h1{letter-spacing:-.035em;font-size:clamp(44px,6vw,76px);font-weight:800;line-height:.98}.hero h1 mark{background:var(--butter);color:inherit;border-radius:14px;padding:0 10px}.hero p{color:var(--muted);max-width:540px;margin:0;font-size:19px;line-height:1.55}.search-card{box-shadow:0 1px 0 var(--line),var(--shadow);background:#fff;border-radius:24px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px;display:flex}.field{color:var(--muted);flex-direction:column;flex:180px;gap:6px;font-size:13px;font-weight:700;display:flex}.field input,.field select{border:1.5px solid var(--field);height:48px;color:var(--ink);background:var(--ground);border-radius:12px;padding:0 14px;font-size:16px;font-weight:400}.search-card .btn{flex:none;height:52px;font-size:16px}.trust{color:var(--muted);flex-wrap:wrap;gap:10px 28px;font-size:14px;display:flex}.trust span{align-items:center;gap:8px;display:flex}.hero-art{flex:420px;min-width:0;height:520px;position:relative}.hero-bg{background:var(--brand);border-radius:40px;position:absolute;inset:0 0 0 40px;overflow:hidden}.hero-bg .sun{background:var(--butter);border-radius:50%;width:280px;height:280px;position:absolute;top:-60px;right:-60px}.hero-bg .ring{border:36px solid #0e7d6f;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-100px;left:-80px}.hero-bg .tooth{position:absolute;bottom:56px;right:48px}.match-card{background:#fff;border-radius:22px;flex-direction:column;gap:14px;width:330px;max-width:calc(100% - 20px);padding:20px;display:flex;position:absolute;top:56px;left:0;box-shadow:0 24px 50px -20px #0f2e2c73}.match-card .top{justify-content:space-between;align-items:center;display:flex}.chip-sm{letter-spacing:.06em;color:var(--brand-dark);background:var(--mint);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.match-card .who{align-items:center;gap:12px;display:flex}.avatar{font-family:var(--display);color:var(--ink);border-radius:14px;flex:none;place-items:center;font-weight:800;display:grid}.slots{flex-wrap:wrap;gap:8px;display:flex}.slots span{background:var(--ground);border:1.5px solid var(--field);border-radius:10px;padding:8px 12px;font-size:13px}.slots span.on{background:var(--ink);color:#fff;border-color:var(--ink)}.confirm-card{background:var(--ink);width:250px;color:var(--ground);border-radius:20px;align-items:center;gap:12px;padding:18px;display:flex;position:absolute;top:300px;right:24px;box-shadow:0 24px 50px -20px #0f2e2c80}.confirm-card .tick{background:var(--butter);border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.confirm-card small{color:var(--on-dark);font-size:13px}.offer{background:var(--butter);border-radius:32px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:clamp(28px,4vw,48px);display:flex}.offer-copy{flex-direction:column;flex:480px;gap:12px;min-width:0;display:flex}.offer-copy .k{letter-spacing:.08em;font-size:13px;font-weight:700}.offer h2{font-size:clamp(32px,4vw,48px);line-height:1.02}.offer-copy p{color:var(--muted-2);margin:0;font-size:17px}.coupon{border:2px dashed var(--ink);background:#fff;border-radius:22px;flex-direction:column;flex:0 340px;gap:14px;padding:22px;display:flex}.coupon .label{color:var(--muted);font-size:13px;font-weight:700}.coupon-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.coupon .code{font-family:var(--display);letter-spacing:.06em;font-size:30px;font-weight:800}.copy-btn{border:1.5px solid var(--field);background:var(--ground);cursor:pointer;border-radius:10px;min-height:44px;padding:0 14px;font-size:13px;font-weight:700}.coupon small{color:var(--muted);font-size:12px}.steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.step{border:1.5px solid var(--line);background:#fff;border-radius:28px;flex-direction:column;gap:16px;padding:28px;display:flex}.step .n{font-family:var(--display);color:var(--brand);font-size:64px;font-weight:800;line-height:1}.step h3{letter-spacing:-.02em;font-size:26px;font-weight:700}.step p{color:var(--muted);margin:0}.services{background:var(--ink);color:var(--ground);padding:96px 0}.services .lead{color:var(--on-dark)}.svc-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.svc{background:var(--ink-2);color:var(--ground);border-radius:24px;flex-direction:column;gap:14px;min-height:170px;padding:26px;text-decoration:none;transition:background .15s,transform .15s;display:flex}.svc:hover{color:var(--ground);background:#1e4c48;transform:translateY(-2px)}.svc .ic{background:var(--butter);border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.svc strong{font-family:var(--display);font-size:22px;font-weight:700}.svc span.d{color:var(--on-dark);font-size:15px}.svc .more{color:var(--butter);margin-top:auto;font-size:14px;font-weight:700}.finder{flex-direction:column;gap:28px;padding-block:96px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.searchbox{border:1.5px solid var(--field);background:#fff;border-radius:14px;flex:280px;align-items:center;gap:10px;height:52px;padding:0 14px;display:flex}.searchbox input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:48px;font-size:16px}.searchbox:focus-within{outline:3px solid var(--butter);outline-offset:1px}.seg{background:#e7eee9;border-radius:14px;gap:4px;padding:4px;display:flex}.seg button{cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 16px;font-size:14px;font-weight:700}.seg button[aria-pressed=true]{color:var(--ink);background:#fff}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button{cursor:pointer;min-height:44px;color:var(--ink);border:1.5px solid var(--field);background:#fff;border-radius:999px;padding:0 18px;font-size:14px;font-weight:700}.chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.finder-body{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.results{flex-direction:column;flex:999 560px;gap:14px;min-width:0;display:flex}.results .count{color:var(--muted);font-size:14px}.clinic{border:2px solid var(--line);background:#fff;border-radius:22px;padding:20px;transition:border-color .15s,box-shadow .15s}.clinic.active{border-color:var(--brand);box-shadow:0 14px 30px -18px #0f2e2c73}.clinic-row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.clinic-info{flex-direction:column;flex:220px;gap:4px;min-width:0;display:flex}.clinic-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.clinic h3{letter-spacing:-.02em;font-size:21px;font-weight:700}.offer-tag{background:var(--butter);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.meta{color:var(--muted);font-size:14px}.tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tags span{color:var(--muted-2);background:#eef3ef;border-radius:999px;padding:4px 10px;font-size:12px}.clinic-cta{flex-direction:column;flex:none;gap:8px;display:flex}.clinic-cta .next{color:var(--brand-dark);font-size:13px;font-weight:700}.clinic-cta .btn{border-radius:12px;min-height:44px;font-size:15px}.empty{text-align:center;color:var(--muted);background:#fff;border:1.5px dashed #c5d3cb;border-radius:20px;padding:32px}.map{background-color:#dcebe4;background-image:linear-gradient(#cfe1d8 1px,#0000 1px),linear-gradient(90deg,#cfe1d8 1px,#0000 1px);background-size:48px 48px;border-radius:28px;flex:380px;min-width:0;height:560px;position:sticky;top:20px;overflow:hidden}.map .road-h{background:var(--ground);height:18px;position:absolute;top:46%;left:0;right:0}.map .road-v{background:var(--ground);width:14px;position:absolute;top:0;bottom:0;left:38%}.map .park{background:#bfdccf;border-radius:24px;width:120px;height:90px;position:absolute;top:12%;left:62%}.pin{cursor:pointer;width:44px;height:44px;color:var(--ink);border:3px solid #fff;border-radius:50% 50% 50% 6px;font-size:13px;font-weight:800;transition:all .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px -8px #0f2e2c99}.pin.active{width:56px;height:56px;color:var(--butter);z-index:2;font-size:16px;background:var(--ink)!important}.map-card{background:#fff;border-radius:18px;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 16px 30px -18px #0f2e2c80}.map-card strong{font-size:15px;display:block}.map-card span{color:var(--muted);font-size:13px}.why{background:var(--mint);border-radius:36px;flex-wrap:wrap;gap:40px;padding:clamp(28px,5vw,64px);display:flex}.why-copy{flex-direction:column;flex:340px;align-items:flex-start;gap:16px;min-width:0;display:flex}.why h2{font-size:clamp(34px,4vw,48px);line-height:1.02}.why-copy p{color:var(--muted-2);margin:0;font-size:17px}.why-grid{flex:2 520px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;min-width:0;display:grid}.reason{background:#fff;border-radius:22px;flex-direction:column;gap:10px;padding:24px;display:flex}.reason strong{font-family:var(--display);font-size:20px}.reason span{color:var(--muted);font-size:15px}.quotes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.quote{border:1.5px solid var(--line);background:#fff;border-radius:26px;flex-direction:column;gap:20px;margin:0;padding:28px;display:flex}.quote .stars{color:var(--coral);letter-spacing:2px;font-size:18px}.quote blockquote{margin:0;font-size:18px}.quote figcaption{align-items:center;gap:12px;margin-top:auto;display:flex}.quote .dot{border-radius:50%;width:42px;height:42px}.quote figcaption strong{font-size:15px;display:block}.quote figcaption small{color:var(--muted);font-size:13px}.faq{flex-direction:column;gap:28px;max-width:900px;margin:0 auto;padding:0 20px 96px;display:flex}.faq h2{text-align:center}.faq-list{flex-direction:column;gap:12px;display:flex}.faq-item{border:1.5px solid var(--line);background:#fff;border-radius:20px}.faq-item button{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;font-size:18px;font-weight:700;display:flex}.faq-item .sign{background:var(--mint);width:32px;height:32px;color:var(--brand-dark);border-radius:50%;flex:0 0 32px;place-items:center;font-size:20px;transition:transform .2s;display:grid}.faq-item button[aria-expanded=true] .sign{transform:rotate(45deg)}.faq-item p{color:var(--muted);margin:0;padding:0 24px 22px;font-size:16px;line-height:1.6}.cta{background:var(--brand);color:#fff;border-radius:40px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:clamp(36px,6vw,80px);display:flex;position:relative;overflow:hidden}.cta:after{content:"";background:var(--butter);border-radius:50%;width:320px;height:320px;position:absolute;bottom:-120px;right:-90px}.cta-copy{z-index:1;flex-direction:column;flex:520px;gap:14px;min-width:0;display:flex;position:relative}.cta h2{letter-spacing:-.035em;font-size:clamp(36px,5vw,64px);line-height:.98}.cta p{color:var(--mint);margin:0;font-size:18px}.cta-btns{z-index:1;flex-wrap:wrap;gap:12px;display:flex;position:relative}.cta-btns a{border-radius:16px;min-height:56px;padding:0 28px;font-size:17px}.btn-white{color:var(--ink);background:#fff}.btn-white:hover{color:var(--ink)}.btn-ghost{color:#fff;border:2px solid #fff}.btn-ghost:hover{color:#fff;background:#ffffff1a}footer{background:var(--ink);color:var(--on-dark);padding:56px 0 32px}.foot-top{flex-wrap:wrap;justify-content:space-between;gap:32px 64px;display:flex}.foot-brand{flex-direction:column;flex:260px;gap:12px;max-width:340px;font-size:15px;display:flex}.foot-brand .logo-text{color:#fff;font-size:26px}.foot-brand .logo-text span{color:var(--butter)}.foot-col{flex-direction:column;gap:10px;font-size:15px;display:flex}.foot-col strong{color:#fff}footer a{color:var(--on-dark)}footer a:hover{color:#fff}.foot-bottom{border-top:1px solid #2a4a47;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:40px;padding-top:20px;font-size:13px;display:flex}.foot-bottom nav{gap:20px;display:flex}@media (max-width:640px){.hero-art{height:460px}.confirm-card{top:auto;bottom:24px;right:12px}.map{height:420px;position:relative;top:0}.nav{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (max-width:980px){html,body{overflow-x:hidden}.services{padding:72px 0}.finder{padding-block:72px}.map{position:relative;top:0}.hero{gap:36px}}@media (max-width:640px){.nav{order:3;justify-content:center;gap:8px 18px;width:100%;display:flex}.nav a{padding:12px 6px}.header{text-align:center;justify-content:center;gap:12px}.header-cta{justify-content:center}}@media (max-width:560px){.wrap{padding-inline:16px}.hero{gap:28px;padding-block:24px 48px}.hero h1{font-size:clamp(34px,10vw,56px)}.hero p{font-size:17px}.search-card{border-radius:20px;padding:14px}.search-card .btn{flex:100%;width:100%}.field{flex:100%}.bar{font-size:13px}.offer,.why,.cta{border-radius:24px}.offer{gap:24px}.coupon{flex:100%}.coupon-row{flex-wrap:wrap}.coupon .code{font-size:26px}.cta{gap:24px}.cta h2{font-size:clamp(30px,8vw,44px)}.cta-btns a{flex:100%}.step{padding:22px}.step .n{font-size:52px}.quote{padding:22px}.faq-item button{padding:18px 20px;font-size:16px}.faq-item p{padding:0 20px 20px}.clinic-cta{flex:100%}.clinic-cta .btn{width:100%}.foot-top{gap:28px 40px}}@media (max-width:400px){.hero h1{font-size:33px}.hero-art{height:430px}.match-card{width:100%;left:0}.confirm-card{width:auto;left:12px;right:12px}.logo-text{font-size:21px}.btn-outline{font-size:13px}}.page-wrap{flex-direction:column;gap:40px;padding-block:48px 80px;display:flex}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.breadcrumb span{color:var(--field)}.page-head{flex-direction:column;gap:14px;max-width:760px;display:flex}.page-head h1{font-family:var(--display);letter-spacing:-.035em;font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1}.page-head p{color:var(--muted);margin:0;font-size:19px;line-height:1.55}.prose{max-width:760px;color:var(--muted-2);flex-direction:column;gap:14px;font-size:16px;line-height:1.7;display:flex}.prose h2{font-family:var(--display);letter-spacing:-.02em;margin-top:12px;font-size:clamp(24px,3vw,32px)}.prose h3{font-family:var(--display);margin-top:8px;font-size:20px}.prose ul{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.prose a{color:var(--brand);font-weight:600}.prose a:hover{color:var(--brand-dark)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.info-card{border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:24px;flex-direction:column;gap:12px;padding:28px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.info-card:hover{color:var(--ink);border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}.info-card .ic{background:var(--mint);border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.info-card strong{font-family:var(--display);font-size:22px;font-weight:700}.info-card span{color:var(--muted);font-size:15px}.info-card .more{color:var(--brand);margin-top:auto;font-size:14px;font-weight:700;text-decoration:none}.form-card{border:1.5px solid var(--line);background:#fff;border-radius:28px;flex-direction:column;flex:420px;gap:18px;max-width:520px;padding:clamp(24px,4vw,40px);display:flex}.form-row{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.form-row input,.form-row select,.form-row textarea{border:1.5px solid var(--field);color:var(--ink);background:var(--ground);font-size:16px;font-weight:400;font-family:var(--body);border-radius:12px;padding:12px 14px}.form-row input:focus-visible,.form-row textarea:focus-visible,.form-row select:focus-visible{outline:3px solid var(--butter);outline-offset:1px}.form-row textarea{resize:vertical;min-height:120px}.form-card .btn{width:100%}.form-note{color:var(--muted);font-size:13px;font-weight:400}.form-note a{color:var(--brand);font-weight:600}.auth-wrap{justify-content:center;padding-block:8px 24px;display:flex}
