
:root{
  /* Desert Valley — official brand kit v2.0 (dev-orthoboost.github.io/valley-pediatric) */
  --teal:#069DB1; --teal-dk:#047A8C; --deep:#035E6B; --leaf:#52B250; --ink:#474747;
  --lime:#C5D630; --lime-dk:#AFC01D; --sky:#417BD3; --peri:#798BC5;
  --mint:#E2F4F6; --mint2:#CDEBEF; --oat:#F8F6EF; --sand:#EFEBDD; --white:#fff;
  --muted:#576663; --line:#E7E2D2;
  --shadow:0 30px 60px -32px rgba(30,42,43,.30); --shadow-sm:0 16px 34px -18px rgba(30,42,43,.22);
  --disp:'Baloo 2','Baloo 2 Fallback',system-ui,sans-serif; --body:'Figtree','Figtree Fallback',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--oat);line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.08;color:var(--teal);letter-spacing:-.01em}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.eyebrow{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:var(--leaf)}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:700;font-size:1rem;padding:.75em 1.6em;border-radius:999px;cursor:pointer;border:0;transition:.24s}
.btn-primary{background:var(--teal-dk);color:#fff}.btn-primary:hover{background:var(--deep);transform:translateY(-2px)}
.btn-gold{background:var(--lime);color:var(--ink)}.btn-gold:hover{background:var(--lime-dk);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--line)}.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-white{background:#fff;color:var(--teal)}.btn-white:hover{transform:translateY(-2px)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.12s}.reveal[data-d="2"]{transition-delay:.24s}.reveal[data-d="3"]{transition-delay:.36s}
.float{animation:fl 7s ease-in-out infinite}@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@media(prefers-reduced-motion:reduce){.float{animation:none}}
.wave{display:block;width:100%;height:auto;vertical-align:bottom;margin-bottom:-1px}
.cactus{display:block}
/* logo */
.logo{display:flex;align-items:center;gap:11px}
.logo .cactus{width:40px;height:44px;flex:0 0 auto}
.logo .wm{font-family:var(--disp);line-height:.95}
.logo .wm b{display:block;font-weight:800;font-size:1.3rem;color:var(--ink)}
.logo .wm span{display:block;font-weight:600;font-size:.7rem;letter-spacing:.14em;color:var(--teal-dk);text-transform:uppercase}
/* top bar */
.top{background:var(--teal-dk);color:#EAF8FA;font-size:.85rem;font-weight:500}
.top .wrap{display:flex;justify-content:center;gap:16px;align-items:center;padding:8px 26px;flex-wrap:wrap}
.top a{color:#fff}.top .pill{background:var(--lime);color:var(--ink);font-weight:700;padding:2px 12px;border-radius:999px}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(248,246,239,.9);backdrop-filter:blur(12px);transition:.25s}
header.shrink{box-shadow:0 8px 30px -18px rgba(30,42,43,.35)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;max-width:1180px;margin:0 auto}
.nav nav{display:flex;gap:26px}
.nav nav a{font-family:var(--disp);font-weight:600;color:var(--ink);font-size:1rem}.nav nav a:hover{color:var(--teal)}
.nav .r{display:flex;align-items:center;gap:16px}
.nav .ph{font-family:var(--disp);font-weight:700;color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}.burger span{width:25px;height:2.6px;background:var(--ink);border-radius:3px}
/* hero */
.hero{background:linear-gradient(165deg,var(--mint) 0%,var(--oat) 92%);padding:60px 0 0;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;position:relative;z-index:2}
.hero h1{font-size:clamp(2.7rem,5.4vw,4.4rem);color:var(--ink)}
.hero h1 span{color:var(--teal);position:relative;white-space:nowrap}
.hero h1 span svg{position:absolute;left:0;bottom:-10px;width:100%}
.hero .lead{font-family:var(--body);font-size:1.2rem;color:#45585A;max-width:36ch;margin:22px 0 30px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero .chips span{background:rgba(255,255,255,.7);border:1px solid #fff;border-radius:999px;padding:7px 15px;font-size:.86rem;font-weight:600;color:var(--teal-dk)}
.hero-fig{position:relative}
.hero-fig .ph{border-radius:46px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1.02;border:8px solid #fff}
.hero-fig .ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hero-fig .cact{position:absolute;top:-26px;right:-10px;width:120px;z-index:3}
.hero-fig .card{position:absolute;bottom:22px;left:-22px;background:#fff;border-radius:20px;padding:13px 18px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px}
.hero-fig .card .em{width:42px;height:42px;border-radius:50%;background:var(--lime);display:grid;place-items:center;color:var(--ink);font-size:1.2rem}
.hero-fig .card b{font-family:var(--disp);color:var(--ink);font-size:1.05rem}.hero-fig .card span{font-size:.78rem;color:var(--muted)}
.hero .blob{position:absolute;border-radius:50%;filter:blur(4px);opacity:.55;z-index:1}
/* trust strip (fern) */
.trust{background:var(--teal-dk);color:#EAF8FA}
.trust .wrap{display:flex;justify-content:space-around;gap:18px;padding:22px 26px;flex-wrap:wrap;text-align:center}
.trust b{font-family:var(--disp);color:#F5FCC0}
.trust div{font-weight:600;font-size:.94rem}
/* sections */
.sec{padding:88px 0}
.sec-h{max-width:660px;margin:0 auto 54px;text-align:center}
.sec-h h2{font-size:clamp(2.1rem,3.8vw,3rem);margin-top:12px}
.sec-h p{font-size:1.12rem;color:var(--muted);margin-top:12px}
/* welcome */
.welcome .wrap{display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}
.welcome-fig{border-radius:40px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1/1;border:8px solid #fff;position:relative}
.welcome-fig img{width:100%;height:100%;object-fit:cover;object-position:center 26%}
.welcome-fig .cact{position:absolute;bottom:-14px;right:-14px;width:96px}
.welcome h2{font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--ink)}
.welcome h2 em{font-style:normal;color:var(--teal)}
.welcome p{color:var(--muted);margin-top:16px;font-size:1.06rem}
.chk{list-style:none;margin-top:22px;display:grid;gap:12px}
.chk li{display:flex;gap:12px;font-weight:600;color:var(--ink)}
.chk .c{width:26px;height:26px;flex:0 0 auto;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:.85rem;font-weight:800}
/* services */
.svc{background:var(--mint)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border-radius:24px;padding:0;overflow:hidden;box-shadow:var(--shadow-sm);transition:.28s;border:2px solid transparent}
.card:hover{transform:translateY(-8px);border-color:var(--leaf)}
.card .ph{aspect-ratio:3/2;overflow:hidden;background:var(--mint)}.card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}.card:hover .ph img{transform:scale(1.05)}.card .cbody{padding:24px 26px 28px}

.card h2,.card h3{font-size:1.28rem;color:var(--ink)}.card p{color:var(--muted);margin-top:8px;font-size:.95rem}
.card .more{font-family:var(--disp);color:var(--teal-dk);font-weight:700;margin-top:14px;display:inline-flex;gap:6px;font-size:.92rem}.card:hover .more{gap:11px}
/* why */
.why{background:var(--oat)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.wc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;transition:.25s}
.wc:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}
.wc .e{width:52px;height:52px;border-radius:14px;background:var(--teal);color:var(--lime);display:grid;place-items:center;margin-bottom:14px}
.wc .e svg{width:26px;height:26px}
.wc h3{font-size:1.16rem;color:var(--ink)}.wc p{color:var(--muted);font-size:.92rem;margin-top:6px}
/* doctors */
.docs{background:var(--white)}
.docs .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.doc{background:var(--oat);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;border:1px solid var(--line)}
.doc .p{width:44%;flex:0 0 44%;overflow:hidden}.doc .p img{width:100%;height:100%;object-fit:cover;object-position:center top;min-height:300px}
.doc .b{padding:30px 28px}
.doc h3{font-size:1.4rem;color:var(--ink)}.doc .role{font-family:var(--disp);color:var(--teal-dk);font-weight:600;font-size:.9rem;margin:3px 0 12px}
.doc p{color:var(--muted);font-size:.93rem}
.doc .tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.doc .tags span{background:var(--mint);color:var(--teal-dk);font-weight:700;font-size:.74rem;padding:5px 11px;border-radius:999px}
/* insurance (fern reversed) */
.ins{background:var(--teal-dk);color:#EAF8FA}
.ins .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center}
.ins .eyebrow{color:var(--lime)}.ins h2{color:#fff}.ins p{margin-top:14px;font-size:1.05rem;color:#CFEAEE}
.ins-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:30px}
.ins-box h3,.ins-box h4{color:var(--lime);font-size:1.05rem;margin-bottom:14px}
.ahc{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.ahc span{background:var(--lime);color:var(--ink);font-family:var(--disp);font-weight:700;padding:8px 15px;border-radius:999px;font-size:.9rem}
.ppo{display:flex;gap:8px;flex-wrap:wrap}.ppo span{background:rgba(255,255,255,.12);color:#EAF8FA;font-weight:600;font-size:.82rem;padding:7px 13px;border-radius:10px}
/* reviews */
.rev{background:var(--oat)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rc{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.rc .s{color:var(--lime);letter-spacing:1px;margin-bottom:12px;font-size:1.05rem}
.rc p{color:#3E4C4E;font-size:.97rem}
.rc .who{display:flex;align-items:center;gap:11px;margin-top:18px}.rc .av{width:42px;height:42px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--disp);font-weight:800;display:grid;place-items:center}
.rc .who b{font-family:var(--disp);color:var(--ink)}.rc .who small{color:var(--muted);display:block}
/* locations */
.loc{background:var(--mint)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.lc{background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.lc .m{height:170px;background:linear-gradient(135deg,var(--mint2),#EFF5D9);display:grid;place-items:center;color:var(--teal);font-size:2rem}
.lc .b{padding:26px 28px}.lc h3{font-size:1.3rem;color:var(--ink)}.lc .addr{color:var(--muted);font-weight:700;margin:8px 0}.lc .hrs{color:var(--muted);font-size:.88rem;margin-bottom:16px}
.lc .a{display:flex;gap:10px;flex-wrap:wrap}
/* single-location card + live map */
.loc-one{display:grid;grid-template-columns:.92fr 1.08fr;gap:26px;align-items:stretch}
.loc-card{background:#fff;border-radius:26px;box-shadow:var(--shadow-sm);border:1px solid var(--line);padding:34px 34px 30px;display:flex;flex-direction:column}
.loc-card>.cactus{width:54px;height:58px;margin-bottom:10px}
.loc-card h2,.loc-card h3{font-size:1.5rem;color:var(--ink)}
.loc-card .serving{font-family:var(--disp);color:var(--teal-dk);font-weight:600;font-size:.95rem;margin:2px 0 6px}
.loc-card .lbl{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--leaf);margin:16px 0 3px}
.loc-card p{color:var(--ink);font-weight:500;line-height:1.5}
.loc-card .tel{font-family:var(--disp);font-weight:800;font-size:1.25rem;color:var(--teal-dk)}
.loc-card .a{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.loc-map{border:0;width:100%;height:100%;min-height:440px;border-radius:26px;box-shadow:var(--shadow-sm);display:block}
@media(max-width:900px){.loc-one{grid-template-columns:1fr}.loc-map{min-height:320px}}
/* cta */
.ctaB{padding:30px 0 92px;background:var(--oat)}
.ctaB .inner{background:var(--teal-dk);border-radius:40px;padding:60px;text-align:center;color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.ctaB .inner .cact{position:absolute;bottom:-20px;right:24px;width:130px;opacity:.95}
.ctaB h2{color:#fff;font-size:clamp(2.1rem,3.8vw,3rem)}
.ctaB p{max-width:46ch;margin:14px auto 26px;font-size:1.12rem;color:#D8EEF1}
.ctaB .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* footer */
footer{background:var(--deep);color:#BCE0E6;padding:58px 0 26px}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px}
.f-logo .cactus{width:44px}.f-logo .wm b{color:#fff}.f-logo .wm span{color:var(--mint)}
footer .fh,footer h5{font-family:var(--disp);color:#fff;font-weight:700;font-size:.98rem;margin-bottom:14px}
footer a{display:block;color:#BCE0E6;margin-bottom:9px;font-size:.92rem}footer a:hover{color:var(--lime)}
.f-about{font-size:.92rem;margin:16px 0;max-width:32ch;color:#C3E2E7}
.f-bot{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.82rem}
.f-bot a{display:inline;margin-bottom:0}
.ribbon{position:fixed;bottom:16px;right:16px;z-index:99;background:var(--teal);color:#fff;font-family:var(--disp);font-weight:700;font-size:.74rem;letter-spacing:.04em;padding:8px 15px;border-radius:999px}.ribbon b{color:var(--lime)}
@media(max-width:900px){
 .nav nav,.nav .ph{display:none}.burger{display:flex}
 .hero .wrap,.welcome .wrap,.svc-grid,.why-grid,.docs .grid,.ins .wrap,.rev-grid,.loc-grid,.f-grid{grid-template-columns:1fr}
 .hero-fig{order:-1;max-width:420px;margin:0 auto}.doc{flex-direction:column}.doc .p{width:100%;flex:none}
 .ctaB .inner{padding:40px 22px}
}

/* ===== dropdown nav ===== */
.nav nav{display:flex;gap:4px}
.mi{position:relative;display:flex;align-items:center}
.mi>a{font-family:var(--disp);font-weight:600;color:var(--ink);font-size:1rem;padding:9px 13px;border-radius:10px;display:flex;align-items:center;gap:5px}
.mi>a:hover,.mi:hover>a{color:var(--teal);background:var(--mint)}
.mi .car{font-size:.62em;opacity:.85}
.dd{position:absolute;top:calc(100% - 2px);left:0;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;min-width:256px;display:none;flex-direction:column;gap:1px;z-index:60}
.mi:hover .dd{display:flex}
.dd a{font-family:var(--body);font-weight:600;color:var(--ink);font-size:.94rem;padding:10px 14px;border-radius:11px;white-space:nowrap}
.dd a:hover{background:var(--mint);color:var(--teal)}
/* mobile menu */
.mmenu{display:none;background:var(--teal);padding:12px 26px 22px}
.mmenu.open{display:block}
.mmenu>a{display:block;color:#fff;padding:13px 0;font-family:var(--disp);font-weight:700;border-top:1px solid rgba(255,255,255,.14)}
.mmenu .mcat{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;color:#fff;font-family:var(--disp);font-weight:700;font-size:1rem;text-align:left;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);cursor:pointer}
.mmenu .mcat .mcar{transition:.2s;color:var(--lime)}
.mmenu .mcat.open .mcar{transform:rotate(180deg)}
.mmenu .msub{display:none;padding:2px 0 8px 14px;border-left:3px solid var(--lime);background:rgba(255,255,255,.06);margin:2px 0}
.mmenu .msub.open{display:block}
.mmenu .msub a{display:block;color:#E1F3F5;padding:9px 0;font-family:var(--body);font-weight:500}
@media(max-width:900px){.nav nav,.nav .ph{display:none}}
/* ===== landing hero (two-col) ===== */
.shero{background:linear-gradient(165deg,var(--mint),var(--oat));padding:48px 0 20px;overflow:hidden;position:relative}
.shero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;position:relative;z-index:2}
.crumbs{font-family:var(--body);font-weight:600;font-size:.84rem;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--teal)}.crumbs a:hover{text-decoration:underline}
.shero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);color:var(--ink)}
.shero h1 .u{color:var(--teal)}
.shero .lead{font-size:1.18rem;color:#45585A;margin:20px 0 0;max-width:46ch}
.shero .hbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.shero .hfig{border-radius:40px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3.1;border:8px solid #fff;position:relative}
.shero .hfig img{width:100%;height:100%;object-fit:cover}
.shero .cact{position:absolute;bottom:-16px;right:-10px;width:96px;z-index:3}
/* prose + features */
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--ink);margin-bottom:10px}
.prose p{color:var(--muted);font-size:1.06rem;margin-bottom:14px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.fcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 24px;box-shadow:var(--shadow-sm)}
.fcard h2,.fcard h3{font-size:1.15rem;color:var(--teal);margin-bottom:8px}
.fcard p{color:var(--muted);font-size:.95rem;margin:0}
.callout{background:var(--mint);border-radius:22px;padding:28px 30px}
.callout h3{color:var(--teal);margin:0 0 8px}
.plist{list-style:none;display:grid;gap:11px;margin:0}
.plist li{display:flex;gap:12px;color:var(--ink);font-weight:500}
.plist .c{width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:.78rem;font-weight:800;margin-top:2px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.rel{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;transition:.25s}
.rel:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--leaf)}
.rel b{font-family:var(--disp);color:var(--ink);font-size:1.02rem;display:block}.rel span{color:var(--teal);font-weight:700;font-size:.86rem}
/* ===== on-page booking form section (fern) ===== */
.book-sec{background:var(--teal-dk);color:#EAF8FA}
.book-sec .wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.book-sec h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.5rem)}
.book-sec p{color:#EAF8FA;margin:14px 0}
.book-sec .phone{font-family:var(--disp);font-weight:800;font-size:1.7rem;color:var(--lime);display:inline-block}
.book-sec .tq{border-left:3px solid var(--lime);padding-left:18px;margin-top:24px}
.book-sec .tq .st{color:var(--lime);letter-spacing:2px}
.book-sec .tq p{color:#E9F5F6;font-style:italic;margin:6px 0}.book-sec .tq b{color:#fff;font-weight:700}
.book-card{background:#fff;border-radius:24px;padding:32px;color:var(--ink);box-shadow:var(--shadow)}
.book-card h3{color:var(--ink);font-size:1.4rem;margin-bottom:4px}
.book-card>p{color:var(--muted);margin-bottom:18px}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form input{width:100%;font-family:var(--body);font-size:1rem;padding:14px 16px;border:2px solid var(--line);border-radius:14px;margin-bottom:14px;background:var(--oat);transition:.2s}
form input:focus{outline:none;border-color:var(--teal);background:#fff}
form input.err{border-color:#D64545;background:#FFF5F5}
.ferr{color:#C03434;font-weight:600;font-size:.9rem;margin:-4px 0 12px}
form .btn{width:100%;justify-content:center;margin-top:4px;font-size:1.05rem}
form .note{font-size:.82rem;color:var(--muted);text-align:center;margin-top:14px}
/* doctors + about */
.docbio{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.docbio.rev .dtext{order:2}
.docbio .dphoto{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.6;border:8px solid #fff}
.docbio .dphoto img{width:100%;height:100%;object-fit:cover;object-position:center top}
.docbio h2{font-size:1.9rem;color:var(--ink)}
.docbio .role{font-family:var(--disp);color:var(--teal);font-weight:600;margin:2px 0 14px}
.docbio p{color:var(--muted);margin-bottom:12px}
.docbio .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.docbio .tags span{background:var(--mint);color:var(--teal);font-weight:700;font-size:.76rem;padding:6px 12px;border-radius:999px}
/* map + location facts + conf */
.mapembed{border:0;width:100%;height:360px;border-radius:22px;box-shadow:var(--shadow-sm)}
.locfacts{display:grid;gap:14px;margin-top:6px}
.locfacts .lf{display:flex;gap:12px;color:var(--ink)}.locfacts .lf b{color:var(--teal)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.conf{max-width:640px;margin:0 auto;text-align:center;padding:80px 0}
.conf .cactus{width:120px;margin:0 auto 22px}.conf h1{font-size:clamp(2.2rem,4vw,3rem);color:var(--ink)}.conf p{color:var(--muted);font-size:1.15rem;margin:16px 0 8px}
@media(max-width:860px){.shero .wrap,.book-sec .wrap,.feat-grid,.rel-grid,.docbio,.split{grid-template-columns:1fr}.shero .hfig{order:-1;max-width:440px;margin:0 auto}.docbio.rev .dtext{order:0}.docbio .dphoto{max-width:360px}}
/* 320px hardening: 2-col feat-grid variant collapses too; plist tracks can't exceed
   their container; phone numbers never wrap mid-number */
.feat-grid.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.feat-grid.g2{grid-template-columns:1fr}}
.plist{grid-template-columns:minmax(0,1fr)}
.plist li{min-width:0}
.plist .pt{min-width:0}
a[href^="tel:"]{white-space:nowrap}
.hp-f{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

.rev-masonry{column-count:3;column-gap:22px;margin-top:6px}
.rev-masonry .rc{break-inside:avoid;margin-bottom:22px;display:block}
@media(max-width:900px){.rev-masonry{column-count:2}}
@media(max-width:600px){.rev-masonry{column-count:1}}
.legal{max-width:820px;margin:0 auto}
.legal .eff{color:var(--muted);font-size:.9rem;margin-bottom:22px}
.legal h2{font-size:1.35rem;color:var(--teal);margin:28px 0 8px}
.legal p,.legal li{color:var(--muted);font-size:1.02rem;margin-bottom:12px}
.legal ul{margin:0 0 12px 20px}.legal a{color:var(--teal);font-weight:600}
.legal .disclaimer{background:var(--mint);border-radius:16px;padding:18px 22px;font-size:.98rem;color:#3E4C4E;margin-bottom:24px;font-weight:500}

/* collapse the double-padding gap when a reviews section follows a same-background section */
.sec:has(+ .sec.rev){padding-bottom:40px}
.sec + .sec.rev{padding-top:52px}
/* ===== membership pricing tiers ===== */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
.tier{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:.25s;position:relative}
.tier:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tier.pop{border:2px solid var(--teal);}
.tier .flag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--teal-dk);color:#fff;font-family:var(--disp);font-weight:700;font-size:.76rem;padding:4px 14px;border-radius:999px;white-space:nowrap}
.tier .age{align-self:flex-start;background:var(--mint);color:var(--teal-dk);font-family:var(--disp);font-weight:700;font-size:.8rem;padding:5px 13px;border-radius:999px;margin-bottom:10px}
.tier h3{font-size:1.35rem;color:var(--ink)}
.tier .price{font-family:var(--disp);font-weight:800;font-size:2.3rem;color:var(--teal-dk);margin:10px 0 2px}
.tier .price small{font-size:1rem;color:var(--muted);font-weight:600}
.tier ul{list-style:none;margin:16px 0 22px;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:18px}
.tier li{display:flex;gap:10px;color:var(--ink);font-size:.95rem;font-weight:500}
.tier li .c{width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:.72rem;font-weight:800;margin-top:1px}
.tier .btn{margin-top:auto;justify-content:center}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
/* NO-hassle grid */
.nogrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px;margin-top:14px}
.nogrid div{display:flex;gap:10px;font-weight:600;color:var(--ink)}
.nogrid .x{color:var(--teal-dk);font-weight:800}
@media(max-width:640px){.nogrid{grid-template-columns:1fr}}
/* jump nav */
.jumpnav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.jumpnav a{background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px 18px;font-family:var(--disp);font-weight:600;font-size:.92rem;color:var(--ink);transition:.2s}
.jumpnav a:hover{border-color:var(--teal);color:var(--teal-dk)}
/* FAQ accordions */
.faq{max-width:820px;margin:0 auto}
.faq h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--ink);margin:44px 0 16px;scroll-margin-top:110px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 22px;font-family:var(--disp);font-weight:700;font-size:1.05rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--teal-dk);font-weight:800;flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{color:var(--teal-dk)}
.faq .fa{padding:0 22px 18px;color:var(--muted);font-size:1rem}
.faq .fa p{margin-bottom:10px}.faq .fa ul{margin:0 0 10px 20px}.faq .fa li{margin-bottom:6px}
