
    :root {
      color-scheme: light dark;
      --page:#d9e4ec;
      --paper:#ffffff;
      --ink:#10151c;
      --muted:#4c5a68;
      --blue:#20638d;
      --blue-deep:#143d73;
      --navy:#0d2242;
      --sky:#e9f2f7;
      --sky-2:#cfdfeb;
      --line:#bfcfdb;
      --shadow:0 18px 50px rgba(13,34,66,.16);
      --soft-shadow:0 9px 28px rgba(13,34,66,.10);
    }
    @media (prefers-color-scheme: dark) {
      :root {
        --page:#070d14;
        --paper:#111a25;
        --ink:#eef3f7;
        --muted:#a9b8c4;
        --blue:#6fa8cc;
        --blue-deep:#9cc3e0;
        --navy:#050b16;
        --sky:#16242f;
        --sky-2:#1d303f;
        --line:#2b3d4d;
        --shadow:0 18px 50px rgba(0,0,0,.4);
        --soft-shadow:0 9px 28px rgba(0,0,0,.3);
      }
    }
    *{box-sizing:border-box}
    a,button{-webkit-tap-highlight-color:rgba(32,99,141,.18);touch-action:manipulation}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--page);color:var(--ink);font-family:"Libre Franklin",ui-sans-serif,system-ui,sans-serif;line-height:1.55}
    button,a{font:inherit}
    img{max-width:100%;display:block}
    a{color:inherit}
    .review-shell{max-width:1480px;margin:0 auto;padding:18px 18px 44px}

    /* Site frame */
    .concept{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}

    /* Header */
    .site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(20px,4vw,66px);background:var(--paper);border-bottom:3px solid var(--blue)}
    .brand{display:flex;align-items:center;text-decoration:none;min-width:0;flex:0 1 auto}
    .brand img{height:62px;width:auto}
    @media (prefers-color-scheme: dark){.brand img{background:#fff;border-radius:8px;padding:5px 8px}}
    .site-nav{display:flex;align-items:center;gap:20px;font-size:.84rem;font-weight:700}
    .site-nav a{text-decoration:none}
    .site-nav a:not(.btn-portal):not(.header-call):hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
    .btn-portal{display:inline-flex;align-items:center;gap:7px;background:var(--blue);color:#fff;padding:11px 16px;border-radius:7px;white-space:nowrap;font-weight:800}
    .btn-portal:hover{background:var(--blue-deep)}
    @media (prefers-color-scheme: dark){.btn-portal{color:#08131f}.btn-portal:hover{background:var(--blue-deep)}}
    .header-call{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:var(--paper);padding:11px 14px;border-radius:7px;text-decoration:none;white-space:nowrap;font-weight:800}
    @media (prefers-color-scheme: dark){.header-call{background:var(--paper);color:#10151c}}

    /* Tab bar — mirrors the current site's tab structure. Each tab
       (except Home) also carries a dropdown of its topics: hovering
       opens it on desktop, and a small arrow button toggles it on
       touch devices, so a visitor can jump straight to a topic. */
    .tabbar{display:flex;flex-wrap:wrap;gap:2px 6px;background:var(--sky);border-bottom:1px solid var(--line);padding:8px clamp(16px,4vw,66px)}
    .tab-item{position:relative;display:flex;align-items:center}
    .tabbar a.tab-link{text-decoration:none;font-weight:700;font-size:.82rem;padding:11px 12px;border-radius:6px}
    .tabbar a.tab-link:hover{background:var(--sky-2);color:var(--blue-deep)}
    .tab-caret{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:10px 12px 10px 8px;margin-left:-6px;border-radius:6px;line-height:0;min-width:44px;min-height:44px}
    .tab-caret svg{width:13px;height:13px;transition:transform .18s ease}
    .tab-caret:hover{background:var(--sky-2);color:var(--blue-deep)}
    .tab-caret:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
    .tab-item.open .tab-caret svg{transform:rotate(180deg)}
    .dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:80;min-width:248px;background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:6px;display:none;flex-direction:column}
    .dropdown::before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}
    .tab-item.open .dropdown{display:flex}
    @media (hover:hover){
      .tab-item:hover .dropdown{display:flex}
      .tab-item:hover .tab-caret svg{transform:rotate(180deg)}
    }
    @media (min-width:821px){
      .tab-item:nth-last-child(-n+2) .dropdown{left:auto;right:0}
    }
    .dropdown a{text-decoration:none;font-weight:600;font-size:.86rem;color:var(--ink);padding:12px;border-radius:6px;white-space:nowrap}
    .dropdown a:hover{background:var(--sky);color:var(--blue-deep)}
    .dropdown a:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;background:var(--sky)}
    #appliance-forsus,#appliance-herbst,#office-eagle-river,#office-valdez{scroll-margin-top:14px}
    @media (max-width:820px){
      .tabbar{position:relative}
      .tab-item{position:static}
      .dropdown{left:10px;right:10px;top:100%;min-width:0}
      .dropdown a{white-space:normal}
    }

    /* Hero slideshow — the practice's own mountain slides, kept clean */
    .hero{position:relative;min-height:clamp(400px,54vh,540px);overflow:hidden;background:var(--navy)}
    .slides{position:absolute;inset:0}
    .slide{position:absolute;inset:0;opacity:0;animation:slidefade 48s linear infinite}
    .slide:first-child{opacity:1}
    .slide img{width:100%;height:100%;object-fit:cover}
    .slide:nth-child(1){animation-delay:0s}
    .slide:nth-child(2){animation-delay:6s}
    .slide:nth-child(3){animation-delay:12s}
    .slide:nth-child(4){animation-delay:18s}
    .slide:nth-child(5){animation-delay:24s}
    .slide:nth-child(6){animation-delay:30s}
    .slide:nth-child(7){animation-delay:36s}
    .slide:nth-child(8){animation-delay:42s}
    @keyframes slidefade{0%{opacity:0}2.5%{opacity:1}12.5%{opacity:1}15%{opacity:0}100%{opacity:0}}
    .hero-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,14,26,.42),rgba(6,14,26,0) 42%)}
    .hero-brand{position:absolute;left:clamp(18px,4vw,54px);bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:#fff;max-width:calc(100% - clamp(18px,4vw,54px))}
    .hero-brand img{height:168px;width:auto;background:#fff;border-radius:12px;padding:10px 16px}
    .hero-brand .tagline{font-family:"Literata",serif;font-style:italic;font-size:clamp(.98rem,1.5vw,1.25rem);text-shadow:0 2px 12px rgba(0,0,0,.6)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;font-size:.9rem;padding:13px 18px;border-radius:8px}
    .btn.call{background:#fff;color:#0d2242}
    .btn.portal{background:var(--blue);color:#fff;border:1px solid #7db1d1}
    .btn.ghost{border:1px solid rgba(255,255,255,.55);color:#fff}

    /* Slim bar directly below the slideshow */
    .hero-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 26px;background:var(--navy);color:#fff;padding:18px clamp(24px,6vw,92px)}
    .hero-bar .hb-name{font-family:"Literata",serif;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.1}
    .hero-bar .hb-tag{color:#a8cbe4;font-size:.88rem;margin-top:2px}
    .hero-bar .hb-actions{display:flex;flex-wrap:wrap;gap:10px}

    /* Age-group selector — For Kids / For Teens / For Adults tabs directly
       under the hero, mirroring the buttons on the practice's current site.
       Tapping a tab swaps the information panel below it in place. */
    .age-tabs{background:var(--navy)}
    .age-tab-row{display:grid;grid-template-columns:repeat(3,1fr)}
    .age-tab{appearance:none;background:transparent;border:0;border-right:1px solid rgba(255,255,255,.16);color:#fff;cursor:pointer;padding:18px 22px;text-align:center;font-weight:700;font-size:.95rem}
    .age-tab:last-child{border-right:0}
    .age-tab small{display:block;font-size:.68rem;font-weight:500;color:#a8cbe4;margin-top:3px}
    .age-tab:hover{background:rgba(255,255,255,.08)}
    .age-tab:focus-visible{outline:3px solid #7db1d1;outline-offset:-3px}
    .age-tab[aria-selected="true"]{background:var(--blue)}
    .age-tab[aria-selected="true"] small{color:#dcebf5}
    @media (prefers-color-scheme: dark){
      .age-tab[aria-selected="true"]{color:#08131f}
      .age-tab[aria-selected="true"] small{color:#274b66}
    }
    .age-panel{background:var(--paper);border-bottom:1px solid var(--line);padding:clamp(38px,5vw,58px) clamp(24px,6vw,92px)}
    .age-panel[hidden]{display:none}
    .age-panel h3{font-family:"Literata",serif;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.02em;line-height:1.08;margin:0 0 14px}
    .age-panel .lead{color:var(--muted);margin:0 0 28px;max-width:720px}
    .age-panel .lead strong{color:var(--ink)}
    .age-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px;max-width:1040px}
    .age-block h4{font-family:"Literata",serif;font-size:1.12rem;margin:0 0 12px}
    .age-block p{color:var(--muted);margin:0 0 12px;font-size:.93rem}
    .age-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.93rem}
    .age-list li{display:flex;gap:10px;align-items:baseline}
    .age-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto;position:relative;top:-1px}
    .age-cta{margin:30px 0 0;font-weight:700;max-width:720px}
    .age-cta a{color:var(--blue)}

    /* Sections */
    .section{padding:clamp(58px,7vw,100px) clamp(24px,6vw,92px)}
    .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:50px;align-items:end;margin-bottom:38px}
    .section-head h2{font-family:"Literata",serif;font-size:clamp(2.2rem,4.2vw,4.2rem);letter-spacing:-.03em;line-height:1.02;margin:0}
    .section-head p{color:var(--muted);margin:0;max-width:530px}
    .kicker{color:var(--blue);font-family:"Literata",serif;font-weight:800;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}

    /* Welcome */
    .welcome-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:center}
    .welcome-grid figure{margin:0}
    .welcome-grid figure img{width:100%;height:100%;max-height:520px;object-fit:cover;border-radius:10px;box-shadow:var(--soft-shadow)}
    .welcome-grid figcaption{color:var(--muted);font-size:.78rem;margin-top:10px}
    .welcome-copy h2{font-family:"Literata",serif;font-size:clamp(2rem,3.6vw,3.4rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 18px}
    .welcome-copy .kicker{font-size:clamp(1.12rem,2.4vw,1.5rem);line-height:1.25;letter-spacing:.09em;margin-bottom:16px}
    .welcome-copy p{color:var(--muted);margin:0 0 16px;max-width:560px}
    .welcome-copy p strong{color:var(--ink)}
    .welcome-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;font-weight:600;font-size:.92rem}
    .welcome-points li{display:flex;gap:10px;align-items:baseline}
    .welcome-points li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--blue);flex:0 0 auto;position:relative;top:-1px}

    /* Treatments */
    .treatments{background:var(--sky)}
    .treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .treatment{background:var(--paper);padding:28px;min-height:250px;display:flex;flex-direction:column;border-top:4px solid var(--blue)}
    .treatment:nth-child(2){border-top-color:var(--blue-deep)}
    .treatment:nth-child(3){border-top-color:#8aafbf}
    .treatment svg{width:42px;height:42px;color:var(--blue);margin-bottom:28px}
    .treatment h3{font-family:"Literata",serif;font-size:1.35rem;margin:0 0 9px}
    .treatment p{color:var(--muted);margin:0 0 24px;font-size:.91rem}
    .treatment span{margin-top:auto;font-weight:800;color:var(--blue);font-size:.82rem}
    a.treatment{text-decoration:none;cursor:pointer}
    a.treatment:hover{box-shadow:var(--soft-shadow)}
    a.treatment:hover span{text-decoration:underline;text-underline-offset:4px}
    a.treatment:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

    /* Team */
    .doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:44px}
    .doctor{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1fr);background:var(--sky);min-height:380px;border-radius:10px;overflow:hidden}
    .doctor img{width:100%;height:100%;object-fit:cover;object-position:center top}
    .doctor-copy{padding:32px;display:flex;flex-direction:column;justify-content:center}
    .doctor-copy .role,.member .role{color:var(--blue);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
    .doctor-copy h3{font-family:"Literata",serif;font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.05;margin:8px 0 14px}
    .doctor-copy p{color:var(--muted);font-size:.9rem;margin:0}
    .team-sub{font-family:"Literata",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 8px}
    .team-note{color:var(--muted);margin:0 0 26px;max-width:640px;font-size:.94rem}
    .staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .member{display:grid;grid-template-columns:128px minmax(0,1fr);gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px;align-items:start}
    .photo-spot{width:128px;height:160px;border-radius:8px;background:var(--sky-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--blue-deep);text-align:center;padding:10px}
    @media (prefers-color-scheme: dark){.photo-spot{color:var(--blue-deep)}}
    .photo-spot .initials{font-family:"Literata",serif;font-size:1.7rem;font-weight:650;line-height:1}
    .photo-spot small{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
    .member img.photo{width:128px;height:160px;object-fit:cover;object-position:center top;border-radius:8px;display:block}
    .member h3{font-family:"Literata",serif;font-size:1.28rem;margin:4px 0 8px;line-height:1.15}
    .member p{color:var(--muted);font-size:.88rem;margin:0}

    .team-sub.spaced{margin-top:52px}

    /* Office tour */
    .tour{padding-top:0}
    .tour-panel{border-radius:12px;background:linear-gradient(135deg,var(--navy),var(--blue-deep));color:#fff;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:44px 28px}
    .tour-play{width:86px;height:86px;border-radius:50%;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center}
    .tour-play svg{width:34px;height:34px;color:#fff;margin-left:5px}
    .tour-panel h3{font-family:"Literata",serif;font-size:clamp(1.45rem,2.6vw,2.1rem);margin:0;line-height:1.15}
    .tour-panel p{margin:0;color:#cfe2ef;max-width:540px;font-size:.95rem}

    /* Appointment request */
    .appt{background:var(--sky)}
    .appt-wrap{max-width:840px}
    .appt p.intro{color:var(--muted);max-width:740px;margin:0 0 14px}
    .appt-form{display:grid;gap:16px;margin-top:28px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(22px,3.4vw,36px);box-shadow:var(--soft-shadow)}
    .field label{display:block;font-weight:700;font-size:.86rem;margin-bottom:7px}
    .field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font:inherit;font-size:.95rem}
    .field textarea{resize:vertical}
    .consent{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;color:var(--muted)}
    .consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue)}
    .consent a{color:var(--blue);font-weight:700}
    .btn-submit{background:var(--blue);color:#fff;border:0;cursor:pointer;padding:15px 22px;border-radius:8px;font-weight:800;font-size:.95rem;letter-spacing:.05em}
    .btn-submit:hover{background:var(--blue-deep)}
    @media (prefers-color-scheme: dark){.btn-submit{color:#08131f}}
    .form-note{font-size:.82rem;color:var(--muted);margin:0}
    .form-done{display:none;background:var(--sky);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:.9rem;margin:0}

    /* Legal pages */
    .legal-view{padding:clamp(38px,5vw,64px) clamp(24px,6vw,92px)}
    .back-link{display:inline-block;font-weight:800;font-size:.86rem;color:var(--blue);text-decoration:none;margin-bottom:26px}
    .back-link:hover{text-decoration:underline;text-underline-offset:4px}
    .legal-doc{max-width:880px}
    .legal-doc h1{font-family:"Literata",serif;font-size:clamp(1.9rem,3.4vw,2.7rem);letter-spacing:-.02em;margin:0 0 24px;line-height:1.1}
    .legal-doc h2{font-family:"Literata",serif;font-size:1.35rem;margin:32px 0 12px}
    .legal-doc p{color:var(--muted);margin:0 0 13px}
    .legal-doc p.lead{color:var(--ink);font-weight:700}
    .legal-doc p.sub{color:var(--ink);font-weight:700;margin-top:20px}
    .legal-doc p.indent{padding-left:26px}
    .legal-doc a{color:var(--blue)}

    /* Portal band */
    .portal-band{margin:0 clamp(24px,6vw,92px) clamp(58px,7vw,90px);background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:36px 40px;border-radius:10px}
    .portal-band h2{font-family:"Literata",serif;margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1}
    .portal-band p{margin:0;color:#dcebf5;font-size:.92rem;max-width:560px}
    .portal-band .btn-portal-lg{background:#fff;color:var(--blue-deep);padding:16px 24px;border-radius:8px;font-weight:800;font-size:1rem;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:9px}
    .portal-band .btn-portal-lg:hover{background:var(--sky)}

    /* FAQs */
    .faqs{background:var(--sky)}
    .faq-list{max-width:900px}
    details.faq{border-top:1px solid var(--line);padding:20px 4px}
    details.faq:last-child{border-bottom:1px solid var(--line)}
    details.faq summary{font-family:"Literata",serif;font-size:1.15rem;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
    details.faq summary::-webkit-details-marker{display:none}
    details.faq summary::after{content:"+";color:var(--blue);font-weight:800;font-size:1.3rem;line-height:1}
    details.faq[open ] summary::after{content:"–"}
    details.faq p{color:var(--muted);margin:12px 0 2px;max-width:720px;font-size:.93rem}

    /* Full-detail content blocks — the practice's complete information,
       carried over from their full site into this design */
    .subhead{font-family:"Literata",serif;font-size:clamp(1.55rem,2.7vw,2.2rem);letter-spacing:-.02em;line-height:1.12;margin:56px 0 10px}
    .subhead.first{margin-top:6px}
    .sub-note{color:var(--muted);margin:0 0 26px;max-width:760px;font-size:.94rem}
    .sub-note strong{color:var(--ink)}
    .dot-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.93rem}
    .dot-list li{display:flex;gap:10px;align-items:baseline}
    .dot-list li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto;position:relative;top:-1px}
    .dot-list li strong{color:var(--ink)}
    .prose{max-width:820px}
    .prose p{color:var(--muted);margin:0 0 14px;font-size:.95rem}
    .prose p strong{color:var(--ink)}
    .prose h4{font-family:"Literata",serif;font-size:1.15rem;margin:26px 0 10px}
    .two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px;max-width:1080px}
    .card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
    .info-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px}
    .info-card h4{font-family:"Literata",serif;font-size:1.15rem;margin:0 0 10px}
    .info-card p{color:var(--muted);font-size:.92rem;margin:0 0 10px}
    .info-card p:last-child{margin-bottom:0}
    .info-card .dot-list{font-size:.92rem;color:var(--muted)}
    details.faq ul{list-style:none;margin:12px 0 4px;padding:0;display:grid;gap:8px;max-width:720px}
    details.faq ul li{display:flex;gap:10px;align-items:baseline;color:var(--muted);font-size:.93rem}
    details.faq ul li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto;position:relative;top:-1px}
    details.faq ul li strong{color:var(--ink)}
    details.faq h4{font-family:"Literata",serif;font-size:1.05rem;margin:20px 0 6px}

    /* Doctor bios */
    .bio{background:var(--sky);border-radius:10px;padding:clamp(24px,3.4vw,38px);margin-bottom:18px}
    .bio h3{font-family:"Literata",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 6px}
    .bio .role{color:var(--blue);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800}
    .bio blockquote{margin:18px 0;padding:0 0 0 18px;border-left:3px solid var(--blue);font-family:"Literata",serif;font-style:italic;font-size:1.02rem;color:var(--ink)}
    .bio blockquote p{margin:0 0 10px}
    .bio blockquote p:last-child{margin-bottom:0}
    .bio blockquote footer{font-style:normal;font-family:"Libre Franklin",sans-serif;font-size:.85rem;font-weight:700;color:var(--muted);margin-top:8px}
    .bio-photo{float:left;width:230px;height:290px;object-fit:cover;border-radius:10px;margin:2px 26px 16px 0}
    .bio-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px;margin-top:22px;clear:both}
    .bio-cols h4{font-family:"Literata",serif;font-size:1.08rem;margin:0 0 10px}
    .bio-cols p{color:var(--muted);font-size:.9rem;margin:0 0 10px}
    .bio-cols .dot-list{font-size:.9rem;color:var(--muted)}

    /* Before / after pairs, cases, galleries */
    .pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .pair figure{margin:0;position:relative}
    .pair img{width:100%;height:100%;object-fit:cover;border-radius:6px;aspect-ratio:4/3}
    .pair figcaption{position:absolute;left:8px;bottom:8px;background:rgba(6,13,24,.78);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px}
    .case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .case-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px}
    .case-card h4{font-family:"Literata",serif;font-size:1.12rem;margin:14px 0 8px}
    .case-card p{color:var(--muted);font-size:.9rem;margin:0}
    .gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
    .photo-grid figure{margin:0}
    .photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:8px;aspect-ratio:4/3;box-shadow:var(--soft-shadow)}

    /* Braces & appliance cards with photos */
    .item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
    .item-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}
    .item-card img{width:100%;height:170px;object-fit:cover}
    .item-card .item-copy{padding:20px 22px 22px}
    .item-card h4{font-family:"Literata",serif;font-size:1.12rem;margin:0 0 8px}
    .item-card p{color:var(--muted);font-size:.9rem;margin:0 0 10px}
    .item-card p:last-child{margin-bottom:0}
    .item-card p strong{color:var(--ink)}

    /* Testimonials */
    .quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .quote-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px}
    .quote-card p{margin:0 0 12px;font-size:.94rem;color:var(--muted)}
    .quote-card p::before{content:"“"}
    .quote-card p::after{content:"”"}
    .quote-card .who{font-weight:800;font-size:.85rem;color:var(--ink)}

    /* Videos */
    .video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .video-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden}
    .video-frame{position:relative;aspect-ratio:16/9;background:#000}
    .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
    .video-card p{margin:0;padding:14px 18px;font-weight:700;font-size:.9rem}

    /* Eagle Aligners feature panel */
    .feature-panel{background:var(--navy);color:#fff;border-radius:12px;padding:clamp(28px,4vw,46px);margin-bottom:14px}
    .feature-panel .kicker{color:#8aafbf}
    .feature-panel h3{font-family:"Literata",serif;font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 0 6px;line-height:1.08}
    .feature-panel .fp-tag{font-family:"Literata",serif;font-style:italic;color:#a8cbe4;font-size:1.05rem;margin:0 0 18px}
    .feature-panel p{color:#d5e3ee;font-size:.95rem;margin:0 0 14px;max-width:820px}
    .feature-panel .fp-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 36px;margin-top:24px}
    .feature-panel .fp-cols h4{font-family:"Literata",serif;font-size:1.12rem;margin:0 0 8px;color:#fff}
    .feature-panel .fp-cols p{font-size:.9rem;margin:0}
    .fineprint{font-size:.78rem;color:var(--muted);margin:18px 0 0;max-width:820px}

    /* Extra forms (survey, referral) */
    .form-block{margin-top:56px}
    .form-block h3{font-family:"Literata",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 10px}
    .form-block>p{color:var(--muted);max-width:740px;margin:0 0 12px;font-size:.95rem}
    .radio-row{display:flex;flex-wrap:wrap;gap:8px 22px;padding:4px 0}
    .radio-row label{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;cursor:pointer}
    .radio-row input{width:18px;height:18px;accent-color:var(--blue)}
    .check-line{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--muted)}
    .check-line input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue)}

    /* Progressive disclosure — each tab opens on a short landing of
       topic cards; a topic opens as its own view with Back links */
    [hidden]{display:none!important}
    .topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}
    .topic-card{display:flex;flex-direction:column;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px 24px;text-decoration:none;box-shadow:var(--soft-shadow)}
    .topic-card:hover{border-color:var(--blue)}
    .topic-card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
    .topic-card .tc-title{font-family:"Literata",serif;font-size:1.22rem;line-height:1.15;color:var(--ink)}
    .topic-card .tc-desc{color:var(--muted);font-size:.9rem}
    .topic-card .tc-arrow{margin-top:8px;font-weight:800;font-size:.82rem;color:var(--blue)}
    .topic-card.featured{background:var(--navy);border-color:var(--navy);margin-top:30px}
    .topic-card.featured .tc-tag{color:#8aafbf;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
    .topic-card.featured .tc-title{color:#fff;font-size:clamp(1.5rem,2.6vw,2rem)}
    .topic-card.featured .tc-desc{color:#cfe2ef;max-width:640px}
    .topic-card.featured .tc-arrow{color:#8aafbf}
    .back-link.back-bottom{margin:38px 0 0}
    .topic-view .form-block{margin-top:0}
    .jump-btn{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;padding:13px 18px;border-radius:8px;font-weight:800;font-size:.9rem;text-decoration:none}
    .jump-btn:hover{background:var(--blue-deep)}
    .faq-body ul{list-style:none;margin:12px 0 4px;padding:0;display:grid;gap:8px;max-width:720px}
    .faq-body ul li{display:flex;gap:10px;align-items:baseline;color:var(--muted);font-size:.93rem}
    .faq-body ul li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);flex:0 0 auto;position:relative;top:-1px}
    .faq-body ul li strong{color:var(--ink)}
    .tabbar a.tab-link.active{background:var(--blue);color:#fff}
    .foot-nav a.active{color:#fff;text-decoration:underline;text-underline-offset:4px}
    @media (max-width:820px){.topic-list{grid-template-columns:1fr}}

    @media (max-width:1100px){
      .case-grid,.item-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .card-grid.three,.bio-cols,.feature-panel .fp-cols{grid-template-columns:1fr}
    }
    @media (max-width:820px){
      .two-col,.card-grid,.gallery-grid,.quote-grid,.video-grid{grid-template-columns:1fr}
    }
    @media (max-width:520px){
      .case-grid,.item-grid,.photo-grid{grid-template-columns:1fr}
    }

    /* Locations */
    .locations{background:var(--navy);color:#fff}
    .locations .section-head p{color:#bcd2e2}
    .locations .kicker{color:#8aafbf}
    .location-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
    .location{background:rgba(255,255,255,.07);padding:30px;border-top:1px solid rgba(255,255,255,.28);border-radius:6px}
    .location h3{font-family:"Literata",serif;font-size:1.55rem;margin:0 0 14px}
    .location p{margin:0;color:#d5e3ee;font-size:.9rem}
    .location strong{color:#fff}
    .location .hours{display:grid;grid-template-columns:1fr auto;gap:7px 20px;margin-top:22px;font-size:.84rem;color:#d5e3ee}
    .location a.loc-call{display:inline-block;margin-top:20px;color:#fff;font-weight:800;font-size:.85rem;text-underline-offset:4px}
    .loc-map{margin-top:22px;border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:rgba(255,255,255,.08)}
    .loc-map iframe{width:100%;height:100%;border:0;display:block}

    .site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px;padding:26px clamp(24px,6vw,92px);background:#060d18;color:#c3d4e2;font-size:.78rem}
    .site-footer a{color:#fff}
    .site-footer .foot-links{display:flex;gap:18px;flex-wrap:wrap}
    .foot-nav{width:100%;display:flex;flex-wrap:wrap;gap:6px 22px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
    .foot-nav a{color:#c3d4e2;text-decoration:none;font-weight:700;font-size:.84rem;padding:5px 0}
    .foot-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

    /* Floating back-to-top — appears once the visitor has scrolled down */
    .back-to-top{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;display:none;align-items:center;gap:7px;background:var(--blue);color:#fff;border:0;cursor:pointer;font-weight:800;font-size:.82rem;padding:12px 16px;border-radius:999px;box-shadow:var(--soft-shadow)}
    .back-to-top.show{display:inline-flex;animation:back-to-top-in .25s ease}
    @keyframes back-to-top-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    .back-to-top:hover{background:var(--blue-deep)}
    @media (prefers-color-scheme: dark){.back-to-top{color:#08131f}}
    @media (prefers-reduced-motion: reduce){.back-to-top.show{animation:none}}

    @media (max-width:1100px){
      .site-nav a:not(.btn-portal):not(.header-call){display:none}
      .doctor{grid-template-columns:1fr}
      .doctor img{height:360px}
      .welcome-grid{grid-template-columns:1fr}
    }
    @media (max-width:820px){
      .review-shell{padding:10px 10px 30px}
      .site-header{padding:12px 16px;gap:10px}
      .brand img{height:48px}
      .site-nav{gap:8px}
      .btn-portal{padding:10px 12px;font-size:.8rem}
      .header-call{font-size:.8rem;padding:10px 11px}
      .hero{min-height:400px}
      .hero-brand{left:14px;bottom:14px;gap:10px}
      .hero-brand img{height:118px;padding:8px 12px}
      .hero-bar{padding:16px}
      .bio-photo{float:none;width:min(300px,100%);height:370px;margin:0 0 18px}
      .section-head{grid-template-columns:1fr;gap:18px}
      .treatment-grid,.doctor-grid,.staff-grid,.location-grid{grid-template-columns:1fr}
      .age-blocks{grid-template-columns:1fr}
      .age-tab{padding:15px 10px;font-size:.86rem}
      .portal-band{grid-template-columns:1fr;padding:28px 24px;margin:0 16px 48px}
      .portal-band .btn-portal-lg{width:100%;justify-content:center}
      .site-footer{flex-direction:column;align-items:flex-start}
    }
    @media (max-width:520px){
      .header-call span{display:none}
      .hero-bar .hb-actions{display:grid;width:100%}
      .btn{width:100%}
      .doctor img{height:330px}
      .doctor-copy{padding:26px}
      .member{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:16px}
      .photo-spot,.member img.photo{width:104px;height:132px}
      .age-panel{padding:32px 18px}
    }
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      .slide{animation:none;opacity:0}
      .slide:first-child{opacity:1}
    }

    /* Multi-page layout — each page's main heading is now an h1.
       These rules give those h1s exactly the look the shared h2/h3
       rules gave them when everything lived on one page. */
    .section-head h1{font-family:"Literata",serif;font-size:clamp(2.2rem,4.2vw,4.2rem);letter-spacing:-.03em;line-height:1.02;margin:0}
    .welcome-copy h1{font-family:"Literata",serif;font-size:clamp(2rem,3.6vw,3.4rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 18px}
    .bio h1{font-family:"Literata",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 6px}
    .feature-panel h1{font-family:"Literata",serif;font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 0 6px;line-height:1.08}
    .form-block h1{font-family:"Literata",serif;font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 10px}
    /* Age-group entries on the home page are links to their own pages;
       the first keeps the highlighted look the selected tab had. */
    a.age-tab{text-decoration:none}
    .age-tab.link-current{background:var(--blue)}

    /* Phone call panel — opened by any phone-number tap (see
       site.js): the number in large type, a direct Call now
       button, and a Copy number button, so a tap always gets a
       visible response even where the tel: hand-off is blocked. */
    a[href^="tel:"]{cursor:pointer}
    .header-call,.btn.call,.loc-call{transition:transform .08s ease,filter .08s ease}
    .header-call:active,.btn.call:active,.loc-call:active{transform:scale(.97);filter:brightness(.93)}
    .call-panel-backdrop{position:fixed;inset:0;z-index:120;background:rgba(6,13,24,.55);display:flex;align-items:flex-end;justify-content:center}
    .call-panel-backdrop[hidden]{display:none}
    .call-panel{position:relative;background:var(--paper);color:var(--ink);width:100%;max-width:480px;border-radius:16px 16px 0 0;padding:28px 24px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow);text-align:center}
    @media (min-width:640px){
      .call-panel-backdrop{align-items:center;padding:20px}
      .call-panel{border-radius:16px}
    }
    .call-panel-close{position:absolute;top:8px;right:8px;appearance:none;background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:1.6rem;line-height:1;min-width:44px;min-height:44px;border-radius:8px}
    .call-panel-close:hover{color:var(--ink);background:var(--sky)}
    .call-panel-close:focus-visible,.call-panel-number:focus-visible,.call-panel-call:focus-visible,.call-panel-copy:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
    .call-panel-kicker{font-family:"Literata",serif;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
    .call-panel-number{display:block;font-family:"Literata",serif;font-size:clamp(1.9rem,8vw,2.3rem);font-weight:650;color:var(--blue);text-decoration:none;margin:8px 0 4px}
    .call-panel-note{color:var(--muted);font-size:.9rem;margin:0 0 20px}
    .call-panel-actions{display:grid;gap:10px}
    .call-panel-call{background:var(--blue);color:#fff;padding:15px 22px;border-radius:8px;font-weight:800;font-size:1rem;text-decoration:none}
    .call-panel-call:hover{background:var(--blue-deep)}
    .call-panel-call:active{transform:scale(.98)}
    @media (prefers-color-scheme: dark){.call-panel-call{color:#08131f}}
    .call-panel-copy{background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;padding:14px 22px;border-radius:8px;font-weight:700;font-size:.95rem}
    .call-panel-copy:hover{background:var(--sky)}
    .call-panel-copy:active{transform:scale(.98)}
    .call-panel-copied{color:var(--blue);font-weight:700;font-size:.88rem;margin:14px 0 0}
    .call-panel-copied[hidden]{display:none}
    .age-tab.link-current small{color:#dcebf5}
    @media (prefers-color-scheme: dark){
      .age-tab.link-current{color:#08131f}
      .age-tab.link-current small{color:#274b66}
    }
