/* Shared styles for Aaron J. Kimble Therapy state landing pages */
:root{
  --bg:#faf5ec;
  --surface:#ffffff;
  --ink:#262a2c;
  --navy:#6f1d2e;
  --navy-deep:#521521;
  --charcoal:#262a2c;
  --charcoal-deep:#1d2022;
  --slate:#8c3b48;
  --bronze:#b49a83;
  --bronze-ink:#77604b;
  --bronze-soft:#efe6da;
  --sky:#f2ebe1;
  --muted:#5c5650;
  --line:#e6dccd;
  --radius:20px;
  --shadow-sm:0 2px 10px rgba(38,42,44,.06);
  --shadow-md:0 14px 40px rgba(38,42,44,.10);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter','Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);
  line-height:1.7;font-size:16.5px;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--navy);line-height:1.15;letter-spacing:-.01em;}
h1{font-size:clamp(2.3rem,5vw,3.4rem);}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.8rem;}
h3{font-size:1.2rem;margin-bottom:.4rem;}
p{margin-bottom:1rem;}
a{color:var(--slate);}
em.accent{font-style:italic;color:var(--bronze-ink);}
section{padding:4.5rem 0;}
.container{max-width:980px;margin:0 auto;padding:0 1.6rem;}
.center{text-align:center;}
.lede{font-size:1.1rem;color:var(--muted);max-width:640px;margin:0 auto 1rem;font-weight:300;}
.overline{
  display:inline-flex;align-items:center;gap:.7rem;text-transform:uppercase;
  letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--bronze-ink);margin-bottom:1rem;
}
.overline::before,.overline::after{content:"";width:30px;height:1.5px;background:var(--bronze);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
[id]{scroll-margin-top:90px;}
a:focus-visible,.btn:focus-visible{outline:2.5px solid var(--navy);outline-offset:3px;border-radius:6px;}

.btn{
  display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1.9rem;border-radius:999px;
  font-weight:600;font-size:.96rem;text-decoration:none;border:1.5px solid transparent;
  transition:transform .25s var(--ease),background .25s;cursor:pointer;font-family:'Inter',sans-serif;
}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(38,42,44,.2);}
.btn-primary:hover{background:var(--navy-deep);transform:translateY(-2px);}
.btn-outline{border-color:rgba(38,42,44,.4);color:var(--navy);background:transparent;}
.btn-outline:hover{background:#fff;border-color:var(--navy);transform:translateY(-2px);}
.btn-light{background:#fff;color:var(--navy);}
.btn-light:hover{transform:translateY(-2px);}

.topbar{background:var(--charcoal-deep);color:rgba(255,255,255,.88);font-size:.85rem;text-align:center;padding:.55rem 1rem;}
.topbar a{color:#fff;font-weight:600;text-decoration:none;}
header{
  position:sticky;top:0;z-index:100;background:rgba(250,245,236,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.6rem;max-width:1200px;margin:0 auto;gap:1rem;}
.brand{display:block;text-decoration:none;}
.brand-logo{height:46px;width:auto;display:block;}
.header-links{display:flex;gap:1.4rem;align-items:center;}
.header-links a:not(.btn){text-decoration:none;color:var(--ink);font-weight:500;font-size:.93rem;}
.header-links .btn{padding:.6rem 1.4rem;font-size:.88rem;}

.hero{padding:5rem 0 4rem;text-align:center;}
.hero p.sub{font-size:1.12rem;color:var(--muted);max-width:620px;margin:1.2rem auto 2rem;font-weight:300;}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hero-note{margin-top:1.4rem;font-size:.88rem;color:var(--muted);}

.stats{background:linear-gradient(115deg,var(--charcoal-deep),var(--charcoal) 55%,#34393d);color:#fff;padding:2.4rem 0;}
.stats .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;text-align:center;}
.stats strong{display:block;font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:500;}
.stats span{font-size:.8rem;opacity:.72;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.4rem;}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.9rem 1.6rem;box-shadow:var(--shadow-sm);}
.step .num{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--bronze-ink);line-height:1;margin-bottom:.7rem;}
.step p{color:var(--muted);font-size:.94rem;margin:0;font-weight:300;}

.chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.6rem;}
.chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.5rem 1.15rem;font-size:.88rem;font-weight:500;color:var(--navy);}

.feebox{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-md);padding:2.2rem;max-width:640px;margin:2.4rem auto 0;text-align:center;
}
.feebox .price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--navy);}
.feebox .price small{font-family:'Inter',sans-serif;font-size:.95rem;color:var(--muted);font-weight:400;}
.feebox p{font-size:.94rem;color:var(--muted);font-weight:300;}

details{border-bottom:1px solid var(--line);max-width:720px;margin:0 auto;text-align:left;}
details:first-of-type{border-top:1px solid var(--line);}
summary{
  padding:1.2rem .3rem;cursor:pointer;font-weight:500;color:var(--navy);list-style:none;
  font-size:1.02rem;font-family:'Playfair Display',serif;
}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";float:right;color:var(--bronze-ink);font-size:1.2rem;}
details[open] summary::after{content:"–";}
details .answer{padding:0 .3rem 1.3rem;color:var(--muted);font-size:.95rem;font-weight:300;}

.cta-band{
  background:linear-gradient(120deg,var(--charcoal-deep),var(--charcoal) 60%,#3a4045);
  color:#fff;text-align:center;padding:4.5rem 1.6rem;
}
.cta-band h2{color:#fff;}
.cta-band em.accent{color:#d9cbb9;}
.cta-band p{opacity:.85;max-width:520px;margin:0 auto 1.8rem;font-weight:300;}

footer{background:var(--charcoal-deep);color:rgba(255,255,255,.75);padding:3rem 0 2rem;font-size:.9rem;}
footer .container{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;}
footer h3{color:#fff;font-size:1.1rem;margin-bottom:.7rem;}
footer a{color:rgba(255,255,255,.82);text-decoration:none;}
footer a:hover{color:var(--bronze);}
footer ul{list-style:none;}
footer ul li{margin-bottom:.45rem;}
.crisis{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.9rem 1.1rem;font-size:.82rem;margin-top:1rem;font-weight:300;}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1.4rem;text-align:center;font-size:.8rem;opacity:.8;}

@media (max-width:860px){
  .stats .container{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
  footer .container{grid-template-columns:1fr;}
  .header-links a:not(.btn){display:none;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn{transition:none;}
}

/* Dusk mode */
@media (prefers-color-scheme:dark){
  :root{
    --bg:#191c1e;--surface:#232629;--ink:#e8e1d5;--muted:#b6aea2;--line:#3a3e42;
    --sky:#2e3236;--bronze-soft:#332f29;--bronze-ink:#c8ac8f;--slate:#d79aa5;
    --shadow-sm:0 2px 10px rgba(0,0,0,.4);--shadow-md:0 14px 40px rgba(0,0,0,.5);
  }
  h1,h2,h3,summary,.feebox .price,.step .num{color:#eee3d0;}
  em.accent{color:#c8ac8f;}
  .cta-band em.accent{color:#d9cbb9;}
  header{background:rgba(25,28,30,.92);}
  .brand-logo g path{stroke:#fff;}
  .brand-logo g path:first-child{stroke:#d9cbb9;}
  .brand-logo text{fill:#fff;}
  .brand-logo text:last-of-type{fill:#d9cbb9;}
  .brand-logo line{stroke:#d9cbb9;}
  .btn-outline{border-color:rgba(232,225,213,.55);color:#eee3d0;}
  .btn-light{background:#eee3d0;color:#521521;}
  .chip{color:#eee3d0;}
  a:focus-visible,.btn:focus-visible{outline-color:#c8ac8f;}
}
