:root{
  --navy:#203840;
  --navy-deep:#182a30;
  --blush:#c8a098;
  --blush-soft:#e0c8c0;
  --coral:#b8887c;
  --coral-dk:#a5766a;
  --cream:#e8e0d8;
  --cream-lt:#f1ece5;
  --offwhite:#f8f8f8;
  --ink:#2c3a40;
  --muted:#5f6d72;
  --line:#e2dcd4;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--offwhite);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;color:var(--navy);letter-spacing:-.01em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:.9rem;padding:.85rem 1.6rem;border-radius:40px;transition:.25s;cursor:pointer;border:1.5px solid transparent;white-space:nowrap}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy-deep)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:var(--coral-dk)}
.btn-outline{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost{color:var(--navy);padding-left:0;padding-right:0}
.btn-ghost:hover{color:var(--coral)}
.btn-ghost::after{content:"→";transition:.2s}
.btn-ghost:hover::after{transform:translateX(4px)}

/* topbar */
.topbar{background:var(--navy);color:#e8e0d8;font-size:.78rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;padding-bottom:.5rem;flex-wrap:wrap;gap:.5rem}
.topbar a{opacity:.85}.topbar a:hover{opacity:1}
.topbar .social{display:flex;gap:1rem}
.topbar .contact-line{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.topbar .ic{width:13px;height:13px;flex-shrink:0;opacity:.85}
.topbar .dot{opacity:.5;margin:0 .1rem}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(248,248,248,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}
.brand{display:flex;flex-direction:column;line-height:1.05}
.brand .name{font-family:var(--serif);font-size:1.15rem;color:var(--navy);letter-spacing:.02em}
.brand .sub{font-family:var(--sans);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
nav.main{display:flex;align-items:center;gap:2rem}
nav.main ul{display:flex;gap:1.7rem;list-style:none;font-size:.86rem;font-weight:500}
nav.main a:hover{color:var(--coral)}
.nav-cta{display:flex;gap:.6rem;align-items:center}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--navy)}

/* hero — immersive, edge-to-edge photo with overlaid type */
.hero{padding:1.4rem 1.4rem 0}
.hero-frame{position:relative;border-radius:32px;overflow:hidden;min-height:600px;display:flex;align-items:center;isolation:isolate}
.hero-frame img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% 30%;z-index:-2}
.hero-frame::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(20,36,42,.92) 0%,rgba(24,42,48,.85) 30%,rgba(32,56,64,.45) 55%,rgba(32,56,64,.05) 78%,transparent 100%)}
.hero-inner{padding:clamp(2rem,5vw,4.5rem);max-width:620px;color:#fff}
.hero-inner .eyebrow{color:var(--blush-soft)}
.hero h1{color:#fff;font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:300;margin-top:1rem;text-shadow:0 2px 30px rgba(0,0,0,.2)}
.hero h1 em{font-style:italic;color:var(--blush-soft)}
.hero p.lead{font-size:1.18rem;color:rgba(255,255,255,.92);margin:1.5rem 0 2.2rem;max-width:34ch}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero .btn-outline{border-color:rgba(255,255,255,.7);color:#fff}
.hero .btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff}
/* floating proof card */
.hero-float{position:absolute;right:clamp(1.4rem,3vw,2.6rem);bottom:clamp(1.4rem,3vw,2.6rem);z-index:2;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:18px;padding:1.3rem 1.5rem;max-width:270px;
  box-shadow:0 24px 50px -20px rgba(24,42,48,.45)}
.hero-float .stars{color:var(--coral);font-size:.9rem;letter-spacing:.15em}
.hero-float .q{font-family:var(--serif);font-size:1.02rem;color:var(--navy);line-height:1.35;margin:.5rem 0 .6rem}
.hero-float .a{font-size:.72rem;color:var(--coral);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){
  .hero{padding:.8rem .8rem 0}
  .hero-frame{border-radius:24px;min-height:560px;align-items:flex-end}
  .hero-frame::after{background:linear-gradient(180deg,rgba(24,42,48,.15) 0%,rgba(24,42,48,.35) 45%,rgba(24,42,48,.9) 100%)}
  .hero-inner{padding-bottom:9rem}
  .hero-float{left:clamp(1rem,4vw,1.4rem);right:auto;bottom:1.2rem;max-width:230px}
}

/* intent grid — the signature */
.intent{padding:5.5rem 0 5rem;background:var(--offwhite)}
.intent .head{max-width:640px;margin-bottom:3rem}
.intent .head h2{font-size:clamp(2rem,3.6vw,2.9rem);font-weight:300}
.intent .head p{color:var(--muted);font-size:1.08rem;margin-top:1rem}
.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.icard{position:relative;border-radius:24px;overflow:hidden;background:var(--cream);aspect-ratio:1/1.28;display:flex;flex-direction:column;justify-content:flex-end;transition:.35s;box-shadow:0 10px 30px -18px rgba(32,56,64,.3)}
.icard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}
.icard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,56,64,0) 35%,rgba(24,42,48,.82) 100%)}
.icard .label{position:relative;z-index:2;padding:1.4rem;color:#fff}
.icard .label h3{color:#fff;font-size:1.35rem;font-weight:400}
.icard .label span{font-size:.82rem;opacity:.85;display:block;margin-top:.2rem}
.icard .plus{position:absolute;z-index:3;top:1rem;right:1rem;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--navy);font-size:1.3rem;transition:.3s}
.icard:hover{transform:translateY(-5px)}
.icard:hover img{transform:scale(1.06)}
.icard:hover .plus{background:var(--coral);color:#fff}

/* reassurance strip */
.reassure{background:var(--navy);color:#fff;text-align:center;padding:3.4rem 0}
.reassure h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:300;font-style:italic;max-width:24ch;margin:0 auto}
.reassure h2 b{font-weight:500;font-style:normal;color:var(--blush-soft)}

/* how it works */
.how{padding:5rem 0}
.how .head{text-align:center;max-width:600px;margin:0 auto 3rem}
.how .head h2{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:300}
.how .head p{color:var(--muted);margin-top:1rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.step{background:var(--cream-lt);border-radius:18px;padding:2.2rem 1.8rem;border:1px solid var(--line)}
.step .n{font-family:var(--serif);font-size:2.6rem;color:var(--blush);line-height:1}
.step h3{font-size:1.4rem;margin:.6rem 0 .3rem;letter-spacing:.02em}
.step .phase{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-weight:600}
.step p{color:var(--muted);font-size:.95rem;margin-top:.9rem}

/* about */
.about{background:linear-gradient(120deg,#efe0da,#e8ded6);padding:5.5rem 0}
.about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.4rem;align-items:center}
.about-media img{border-radius:28px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px -30px rgba(32,56,64,.4)}
.about h2{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:300;margin:.6rem 0 .4rem}
.about .cred{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.about p{color:var(--muted);margin-top:1.1rem}
.about .btn{margin-top:1.6rem}

/* testimonials */
.testi{padding:5rem 0;text-align:center}
.testi .eyebrow{margin-bottom:.8rem}
.testi h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:300;margin-bottom:2.6rem}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;text-align:left}
.tcard{background:var(--offwhite);border:1px solid var(--line);border-radius:16px;padding:1.8rem;border-top:3px solid var(--blush)}
.tcard .quote{font-family:var(--serif);font-size:1.05rem;color:var(--navy);line-height:1.5}
.tcard .who{margin-top:1.1rem;font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}

/* MEMBERSHIP PRICING — richer feature-list cards (distinct from .tgrid testimonial quotes) */
.pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem;margin-top:2.4rem;max-width:900px;margin-left:auto;margin-right:auto}
.pricing-card{background:var(--offwhite);border:1px solid var(--line);border-radius:20px;padding:2.2rem 2rem;border-top:3px solid var(--blush)}
.pricing-card h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--navy);margin:0}
.pricing-card .price{font-family:var(--serif);font-size:2.1rem;color:var(--navy);margin:.5rem 0 .1rem}
.pricing-card .price small{font-size:.85rem;font-weight:400;color:var(--muted);font-family:var(--sans)}
.pricing-card .freq{font-size:.78rem;color:var(--coral);font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1.5rem}
.pricing-card ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:0}
.pricing-card ul li{font-size:.88rem;color:var(--muted);line-height:1.45;padding-left:1.35rem;position:relative}
.pricing-card ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--coral);font-weight:700}
.pricing-note{max-width:760px;margin:2rem auto 0;text-align:center}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr}}

/* single-tier membership: wide band, price+CTA on the left, checklist on the right */
.pricing-single{background:var(--offwhite);border:1px solid var(--line);border-top:3px solid var(--blush);border-radius:20px;padding:3rem;margin-top:2.4rem;max-width:980px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}
.pricing-single .pr-left{text-align:left}
.pricing-single h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--navy);margin:0}
.pricing-single .freq{font-size:.78rem;color:var(--coral);font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.4rem}
.pricing-single .price{font-family:var(--serif);font-size:3rem;color:var(--navy);margin:.3rem 0 1.4rem;line-height:1}
.pricing-single .price small{font-size:1rem;font-weight:400;color:var(--muted);font-family:var(--sans)}
.pricing-single ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.6rem;margin:0}
.pricing-single ul li{font-size:.88rem;color:var(--muted);line-height:1.45;padding-left:1.35rem;position:relative}
.pricing-single ul li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--coral);font-weight:700}
@media(max-width:820px){
  .pricing-single{grid-template-columns:1fr;padding:2rem;gap:1.6rem;text-align:center}
  .pricing-single .pr-left{text-align:center}
  .pricing-single ul{grid-template-columns:1fr;text-align:left}
}

/* resources */
.res{background:var(--cream-lt);padding:5rem 0}
.res .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.4rem;flex-wrap:wrap;gap:1rem}
.res .head h2{font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:300}
.res .head p{color:var(--muted)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.rcard{background:var(--offwhite);border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:.3s}
.rcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(32,56,64,.3)}
.rcard .thumb{aspect-ratio:16/10;background:var(--cream);overflow:hidden}
.rcard .thumb img{width:100%;height:100%;object-fit:cover}
.rcard .body{padding:1.4rem}
.rcard h3{font-size:1.2rem;font-weight:400;line-height:1.25}
.rcard .more{margin-top:.9rem;font-size:.82rem;font-weight:600;color:var(--coral)}

/* CTA band */
.ctaband{padding:5rem 0}
.ctaband .box{background:var(--navy);border-radius:24px;padding:3.4rem;text-align:center;color:#fff}
.ctaband h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:300}
.ctaband p{color:var(--blush-soft);margin:1rem auto 1.8rem;max-width:40ch}
.ctaband .btn-coral{background:var(--blush);color:var(--navy)}
.ctaband .btn-coral:hover{background:#fff}

/* footer */
footer{background:var(--navy-deep);color:#c8bfb8;padding:3.6rem 0 2rem;font-size:.88rem}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.4rem;padding-bottom:2.4rem;border-bottom:1px solid rgba(255,255,255,.12)}
footer h4{color:#fff;font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-weight:600}
footer .fname{font-family:var(--serif);font-size:1.25rem;color:#fff;margin-bottom:.4rem}
footer ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}
footer a:hover{color:var(--blush)}
.fbadges{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2.8rem;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.12)}
.fbadges img{height:34px;width:auto;opacity:.8;filter:grayscale(1) brightness(2);transition:.25s}
.fbadges img:hover{opacity:1}
.fbottom{padding-top:1.6rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;opacity:.7}

@media(max-width:900px){
  nav.main ul,.nav-cta .btn-outline{display:none}
  .menu-toggle{display:block;flex-shrink:0}
  header .wrap{gap:.6rem}
  .nav-cta .btn-coral{padding:.7rem 1.15rem;font-size:.82rem}
  .hero .wrap,.about .wrap{grid-template-columns:1fr;gap:2.4rem}
  .hero-media{order:-1}
  .intent-grid,.steps,.tgrid,.rgrid{grid-template-columns:1fr 1fr}
  .fgrid{grid-template-columns:1fr 1fr}

  /* mobile nav dropdown, toggled by header.nav-open (see footer.php script) */
  header.nav-open nav.main{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--line);
    box-shadow:0 24px 44px -20px rgba(32,56,64,.3);
    padding:.4rem 28px 1.6rem;
  }
  header.nav-open nav.main ul{display:flex;flex-direction:column;gap:0;font-size:1rem}
  header.nav-open nav.main ul li{border-bottom:1px solid var(--line)}
  header.nav-open nav.main ul li a{display:block;padding:.95rem 0}
  header.nav-open .nav-cta{flex-direction:column;align-items:stretch;gap:.7rem;margin-top:1.1rem}
  header.nav-open .nav-cta .btn{display:flex;justify-content:center}
  header.nav-open .nav-cta .btn-outline{display:flex}
  .menu-toggle{line-height:1}
}
@media(max-width:600px){
  .intent-grid,.steps,.tgrid,.rgrid,.fgrid{grid-template-columns:1fr}
  .steps.steps-6{grid-template-columns:1fr 1fr;gap:1rem}
  .steps.steps-6 .step{padding:1.5rem 1.1rem}
  .steps.steps-6 .n{font-size:2rem}
  .hero .wrap{padding-top:3rem}
  .ctaband .box{padding:2.2rem 1.4rem}
}
@media(max-width:480px){
  .brand .name{font-size:.98rem}
  .brand .sub{font-size:.56rem;letter-spacing:.08em}
  .nav-cta .btn-coral{padding:.65rem .95rem;font-size:.78rem}
}

/* ABOUT PAGE */
.page-hero{background:linear-gradient(120deg,#efe0da,#e8ded6);padding:3.5rem 0 3rem;text-align:center}
.page-hero .eyebrow{color:var(--coral)}
.page-hero h1{font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:300;margin-top:.6rem}
.page-hero .quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2vw,1.45rem);color:var(--navy);max-width:32ch;margin:1.4rem auto 0;line-height:1.4}
.page-hero .quote b{font-style:normal;color:var(--coral)}

.bio{padding:5rem 0}
.bio .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:3.4rem;align-items:start}
.bio-media{position:sticky;top:110px}
.bio-media img{border-radius:24px;aspect-ratio:534/800;object-fit:cover;box-shadow:0 30px 60px -30px rgba(32,56,64,.4)}
.bio-media .cred{margin-top:1.2rem;text-align:center}
.bio-media .cred .nm{font-family:var(--serif);font-size:1.5rem;color:var(--navy)}
.bio-media .cred .dg{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);font-weight:600;margin-top:.2rem}
.bio-text h2{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:300;margin:2.6rem 0 1.2rem}
.bio-text h2:first-child{margin-top:0}
.bio-text h3{font-size:1.4rem;margin:2.2rem 0 .9rem}
.bio-text h4{font-size:1.1rem;color:var(--coral);margin:1.6rem 0 .6rem}
.bio-text p{color:var(--muted);margin-bottom:1.1rem;font-size:1.02rem}
.bio-text a{color:var(--coral);text-decoration:underline;text-underline-offset:.15em;text-decoration-color:rgba(184,136,124,.5)}
.bio-text a:hover{color:var(--coral-dk);text-decoration-color:var(--coral-dk)}
.bio-text p .hl{color:var(--navy);font-weight:500;text-decoration:none}
.bio-text p .hl:hover{color:var(--coral)}
.embed-card{background:var(--offwhite);border:1px solid var(--line);border-top:3px solid var(--blush);border-radius:20px;padding:1.4rem;margin-top:1.6rem}
.embed-card iframe{display:block;border-radius:12px}
.bio-text ul,.bio-text ol{margin:0 0 1.4rem;padding-left:1.3rem}
.bio-text li{color:var(--muted);font-size:1.02rem;margin-bottom:.6rem}
.bio-text li a{font-weight:inherit}
.bio-text li:last-child{margin-bottom:0}
.bio-text li strong{color:var(--navy);font-weight:600}

.values{background:var(--cream-lt);padding:5rem 0}
.values .head{text-align:center;max-width:600px;margin:0 auto 3rem}
.values .head h2{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:300}
.values .head p{color:var(--muted);margin-top:.9rem}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.vgrid-2{grid-template-columns:repeat(2,1fr)}
.vcard{background:var(--offwhite);border:1px solid var(--line);border-radius:18px;padding:2rem 1.7rem;transition:.3s}
.vcard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(32,56,64,.3)}
.vcard .vn{font-family:var(--serif);font-size:1.6rem;color:var(--blush);line-height:1}
.vcard h3{font-size:1.25rem;font-weight:400;margin:.5rem 0 .7rem}
.vcard p{color:var(--muted);font-size:.93rem}
.vcard .stars{display:block;color:var(--coral);font-size:.85rem;letter-spacing:.15em;margin-bottom:.7rem}
.vcard .q{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--navy);line-height:1.35;margin-bottom:.8rem}
.vcard .a{display:block;margin-top:.9rem;font-size:.72rem;color:var(--coral);font-weight:600;letter-spacing:.08em;text-transform:uppercase}

.why{padding:5rem 0}
.why .head{text-align:center;max-width:640px;margin:0 auto 2.6rem}
.why .head .eyebrow{color:var(--coral)}
.why .head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:300;margin-top:.5rem}
.why-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.why-cols p{color:var(--muted);font-size:.98rem;margin-bottom:1rem}
@media(max-width:900px){
  .bio .wrap{grid-template-columns:1fr;gap:2.2rem}
  .bio-media{position:static;max-width:400px;margin:0 auto}
  .vgrid,.why-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){ .vgrid,.vgrid-2,.why-cols{grid-template-columns:1fr} }

/* SERVICES HUB — category directory (additive layer under the 6 main cards) */
.categories{background:var(--cream-lt);padding:5rem 0}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.8rem}
.cat-card{background:var(--offwhite);border:1px solid var(--line);border-radius:18px;padding:1.8rem 1.6rem}
.cat-card h3{font-size:1.1rem;font-weight:500;color:var(--navy);margin-bottom:1rem}
.cat-card ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.cat-card li a{color:var(--muted);font-size:.9rem}
.cat-card li a:hover{color:var(--coral)}
.cat-card li span{color:var(--muted);font-size:.9rem;opacity:.65}
@media(max-width:900px){ .cat-grid{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .cat-grid{grid-template-columns:1fr} }

/* SERVICE PAGES — symptom tag list, reused inside the short hero-frame */
.tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.tags span{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.45);color:#fff;padding:.55rem 1.1rem;border-radius:30px;font-size:.85rem;font-weight:500}

/* BLOG — content + sidebar layout */
.wrap.blog-layout{display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:start}
.blog-sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:1.6rem}
.sidebar-box{background:var(--cream-lt);border-radius:18px;padding:1.8rem;border:1px solid var(--line)}
.sidebar-box h4{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--navy);margin-bottom:.7rem}
.sidebar-box p{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem}
.sidebar-box .btn{width:100%;justify-content:center}
.sidebar-recent{list-style:none;display:flex;flex-direction:column;gap:1rem}
.sidebar-recent li a{display:block;font-size:.92rem;color:var(--navy);line-height:1.4}
.sidebar-recent li a:hover{color:var(--coral)}
.sidebar-recent li .date{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:.25rem}
.sidebar-social{display:flex;flex-direction:column;gap:.6rem}
.sidebar-social a{font-size:.88rem;font-weight:600;color:var(--navy);padding:.6rem .9rem;background:var(--offwhite);border-radius:10px;border:1px solid var(--line)}
.sidebar-social a:hover{color:var(--coral);border-color:var(--coral)}
@media(max-width:900px){
  .wrap.blog-layout{grid-template-columns:1fr}
  .blog-sidebar{position:static;flex-direction:row;flex-wrap:wrap}
  .blog-sidebar .sidebar-box{flex:1;min-width:260px}
}
