:root{--navy:#0b4a85;--ink:#0c2238;--sky:#3dbcec;--sky-soft:#e8f6fc;--orange:#e8622a;--green:#8dc63f;--paper:#fbfdfe;--line:#d6e4ee}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.06rem;line-height:1.65}
h1,h2,h3,h4,.display{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}
a{color:var(--navy)}
.eyebrow{font-family:'Schibsted Grotesk',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;color:var(--orange)}
.btn-wf{background:var(--orange);color:#fff;font-weight:700;border-radius:999px;padding:.8rem 1.6rem;border:2px solid var(--orange)}
.btn-wf:hover{background:#c94f1c;border-color:#c94f1c;color:#fff}
.btn-ghost{border:2px solid var(--navy);color:var(--navy);font-weight:700;border-radius:999px;padding:.8rem 1.6rem;background:transparent}
.btn-ghost:hover{background:var(--navy);color:#fff}
/* signature: the logo's dot field */
.dots{position:relative;isolation:isolate}
.dots::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(circle,var(--sky) 0 5px,transparent 5.5px) 0 0/44px 44px;
 -webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%);mask-image:linear-gradient(100deg,transparent 35%,#000 100%);opacity:.35}
.dot-rule{height:22px;background:
 radial-gradient(circle,var(--green) 0 4px,transparent 4.5px) 0 50%/36px 22px,
 radial-gradient(circle,var(--orange) 0 4px,transparent 4.5px) 18px 50%/72px 22px;opacity:.9;
 -webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}
/* utility bar + nav */
.utility{background:var(--ink);color:#dbe8f2;font-size:.88rem}
.utility a{color:#fff;text-decoration:none;font-weight:600;white-space:nowrap}
.utility .sep{opacity:.35;margin:0 .5rem}
.navbar{background:#fff;border-bottom:1px solid var(--line)}
.navbar-brand{display:flex;align-items:center;gap:.65rem;font-family:'Schibsted Grotesk',sans-serif;font-weight:800;color:var(--navy);line-height:1.05;font-size:1.1rem;white-space:normal}
.navbar-brand img{height:46px;width:auto}
.navbar-brand small{display:block;font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.nav-link{font-weight:600;color:var(--ink)}
.nav-link:hover{color:var(--orange)}
/* hero */
.hero{background:var(--sky-soft);padding:4.5rem 0 4rem;overflow:hidden}
.hero h1{font-size:clamp(2.5rem,6vw,4.6rem);color:var(--navy)}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lead{max-width:34rem;font-size:1.2rem}
.mosaic{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:230px 230px;gap:14px}
.mosaic img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}
.mosaic .big{grid-row:span 2}
.badge-chip{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .9rem;font-weight:600;font-size:.9rem;margin:0 .4rem .5rem 0}
/* sections */
section{padding:5rem 0}
.sec-title{font-size:clamp(2rem,4.2vw,3.1rem)}
.approach{background:var(--navy);color:#fff}
.approach h2{color:#fff}
.approach .eyebrow{color:var(--green)}
.owners-img{border-radius:50% 50% 18px 18px / 40% 40% 18px 18px;width:100%;max-width:420px;aspect-ratio:1/1;object-fit:cover}
.svc-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink)}
.svc{display:grid;grid-template-columns:minmax(0,1fr) 2fr;gap:1rem 2rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}
.svc h3{font-size:1.7rem;margin:0}
.svc h3 a{color:inherit;text-decoration:none}
.svc p{margin:0 0 .6rem}
.svc ul{margin:0;padding-left:1.1rem;columns:2;font-size:.97rem}
.svc .svc-photo{width:100%;max-width:240px;border-radius:14px;margin-top:.8rem;display:block}
@media(max-width:767px){.svc{grid-template-columns:1fr}.svc ul{columns:1}}
.band{background:var(--orange);color:#fff;padding:1.4rem 0;text-align:center;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:1.25rem}
.band a{color:#fff}
.emsella{background:var(--sky-soft)}
.fact{background:#fff;border-radius:18px;border:1px solid var(--line);padding:1.4rem 1.6rem;height:100%}
.fact b{display:block;font-family:'Schibsted Grotesk',sans-serif;font-size:2rem;color:var(--navy);line-height:1}
/* clinics */
.clinic{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;height:100%;display:flex;flex-direction:column}
.clinic .ph{aspect-ratio:16/10;height:auto;object-fit:cover;width:100%;display:block}
.clinic .ph-type{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:2rem;position:relative;overflow:hidden}
.clinic .ph-type::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,var(--sky) 0 5px,transparent 5.5px) 0 0/40px 40px;opacity:.25;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000);mask-image:linear-gradient(100deg,transparent 30%,#000)}
.clinic .ph-type span{position:relative;z-index:1}
.clinic-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}
.clinic h3{font-size:1.6rem}
.clinic .tel{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;font-size:1.35rem;text-decoration:none;color:var(--orange)}
.hours{list-style:none;padding:0;margin:.8rem 0 1rem;font-size:.95rem}
.hours li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding:.2rem 0}
.clinic .mt-auto a{font-weight:700}
.tag{display:inline-block;background:var(--sky-soft);color:var(--navy);font-size:.8rem;font-weight:700;border-radius:999px;padding:.15rem .7rem;margin:0 .3rem .3rem 0}
/* insurance */
.ins{columns:3;column-gap:2rem;list-style:none;padding:0;margin:0}
.ins li{break-inside:avoid;padding:.25rem 0;border-bottom:1px solid var(--line)}
@media(max-width:991px){.ins{columns:2}}
@media(max-width:575px){.ins{columns:1}}
.checklist{list-style:none;padding:0}
.checklist li{padding:.5rem 0 .5rem 2rem;position:relative}
.checklist li::before{content:"";position:absolute;left:0;top:.95rem;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:16px 0 0 -3px var(--sky)}
.quote{background:var(--ink);color:#fff;padding:4rem 0;text-align:center}
.quote blockquote{font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.3;max-width:52rem;margin:0 auto 1rem}
.contact{background:var(--sky-soft)}
.mapframe{border:0;width:100%;height:100%;min-height:340px;border-radius:18px}
.site-footer{background:var(--ink);color:#c8d8e6;padding:3rem 0 1.5rem}
.site-footer a{color:#fff}
.chip{display:inline-block;background:#fff;border-radius:14px;padding:.5rem .8rem}
.chip img{height:56px;width:auto;display:block}
.powered a{color:var(--sky);font-weight:700;text-decoration:none}
.svc .svc-photo,.navbar-brand img,.chip img{height:auto}
.navbar-brand img{height:46px;width:auto}
.chip img{height:56px;width:auto}
.owners-img{height:auto;aspect-ratio:1/1}
