:root{
  --ink:#20263A;
  --ink-soft:#4A5068;
  --paper:#FBFAF6;
  --paper-deep:#F1EEE6;
  --gold:#A97E2F;
  --gold-light:#C99B45;
  --wave:#8E93A8;
  --line:#E2DED3;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:1.075rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

/* header */
header.top{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,246,.95);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--paper-deep);
}
.header-inner{
  max-width:1060px;margin:0 auto;
  padding:.85rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{
  font-family:'Spectral',Georgia,serif;
  font-weight:600;font-size:1rem;letter-spacing:.01em;
  color:var(--ink);text-decoration:none;white-space:nowrap;flex:0 0 auto;
}
nav{display:flex;gap:.95rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
nav a{
  font-size:.82rem;letter-spacing:.02em;
  color:var(--ink-soft);text-decoration:none;
  padding:.2rem 0;border-bottom:2px solid transparent;white-space:nowrap;
}
nav a:hover,nav a:focus-visible{color:var(--ink);border-bottom-color:var(--gold)}
nav a.on{color:var(--ink);border-bottom-color:var(--gold)}
nav a.connect{
  color:var(--paper);background:var(--ink);
  padding:.4rem .9rem;border-radius:2rem;border-bottom:none;font-weight:600;
}
nav a.connect:hover{background:var(--gold);border-bottom-color:transparent}
.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer;line-height:1}

/* layout */
.wrap{max-width:680px;margin:0 auto;padding:0 1.4rem}
section{padding:3rem 0}
main>section:first-child{padding-top:3.4rem}

h1{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(1.9rem,5.5vw,2.5rem);
  font-weight:600;line-height:1.2;letter-spacing:-.01em;
  margin-bottom:1.6rem;
}
h2{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(1.35rem,4vw,1.65rem);
  font-weight:600;line-height:1.3;
  margin:2.4rem 0 .9rem;
}
h3{
  font-family:'Spectral',Georgia,serif;
  font-size:1.15rem;font-weight:600;
  margin:1.9rem 0 .7rem;
}
p{margin-bottom:1.15rem}
a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(169,126,47,.35)}
a:hover{border-bottom-color:var(--gold)}
strong{font-weight:600}
em{font-style:italic}
ul,ol{margin:0 0 1.15rem 1.3rem}
li{margin-bottom:.5rem}

.subtitle{
  font-family:'Spectral',Georgia,serif;
  font-size:1.15rem;font-style:normal;color:var(--ink-soft);
  margin-top:-1rem;margin-bottom:1.8rem;
}
.source{
  font-size:.88rem;color:var(--wave);
  margin:-.4rem 0 1.4rem;line-height:1.55;
}
.source a{color:var(--ink-soft);border-bottom-color:rgba(74,80,104,.3)}
.trigger-note{font-size:.9rem;font-style:italic;color:var(--wave);margin-bottom:1.6rem}
.status{
  background:var(--paper-deep);
  border-left:3px solid var(--gold);
  padding:1rem 1.2rem;margin:1.5rem 0;
  font-size:1rem;
}
.next-link{display:block;margin-bottom:.6rem;font-weight:600}

/* homepage hero */
.hook .lede{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(1.5rem,4.2vw,2.1rem);
  font-weight:500;line-height:1.32;letter-spacing:-.01em;
}
.hook .do-we{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(2rem,6vw,2.8rem);
  font-weight:600;color:var(--gold);margin:1.4rem 0;
}
.takeback{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(1.4rem,3.8vw,1.85rem);
  font-weight:600;line-height:1.35;margin-top:2.2rem;
}
.takeback .amc{border-bottom:3px solid var(--gold)}

/* doors */
.doors{background:var(--ink);color:var(--paper)}
.doors h2{margin-top:0;margin-bottom:1.6rem;color:var(--paper)}
.door{padding:1.1rem 0;border-top:1px solid rgba(251,250,246,.15)}
.door:last-of-type{border-bottom:1px solid rgba(251,250,246,.15)}
.door p{font-size:1.05rem;line-height:1.55;margin-bottom:.25rem}
.door a{
  display:inline-block;color:var(--gold-light);font-weight:600;
  font-size:.95rem;border-bottom:none;
}
.door a:hover{text-decoration:underline}
.doors .close-line{
  margin-top:2rem;margin-bottom:0;
  font-family:'Spectral',Georgia,serif;
  font-size:1.15rem;line-height:1.5;font-weight:500;
}

/* waveform */
.wave-divider{display:block;width:100%;max-width:680px;margin:0 auto;padding:0 1.4rem}
.wave-divider svg{display:block;width:100%;height:34px}

/* testimonials */
.quote{
  border-left:3px solid var(--gold);
  padding-left:1.3rem;margin-bottom:2.2rem;
}
.quote p{
  font-family:'Spectral',Georgia,serif;
  font-size:1.2rem;line-height:1.5;font-style:normal;margin-bottom:.7rem;
}
.quote cite{font-style:normal;font-size:.95rem;color:var(--ink-soft)}

/* list page */
.list{list-style:none;margin-left:0}
.list li{padding:1rem 0;border-bottom:1px solid var(--line);margin-bottom:0}
.list a{
  font-family:'Spectral',Georgia,serif;
  font-size:1.2rem;font-weight:600;border-bottom:none;
}
.list a:hover{text-decoration:underline}
.list span{display:block;font-family:'Source Sans 3',sans-serif;font-size:.95rem;color:var(--ink-soft);font-weight:400}

/* CTA + footer */
.cta{text-align:center;padding:4.6rem 1.4rem 4rem}
.cta .btn{
  display:inline-block;
  background:var(--ink);color:var(--paper);
  font-family:'Spectral',Georgia,serif;
  font-size:1.1rem;font-weight:600;
  padding:.8rem 2rem;border-radius:2.5rem;
  border-bottom:none;transition:background .15s ease;
}
.cta .btn:hover{background:var(--gold)}
.btn-short{display:none}
.caveat{
  font-size:.85rem;font-style:italic;color:var(--wave);
  text-align:center;max-width:620px;margin:1.4rem auto 0;line-height:1.5;
}
footer{
  background:var(--ink);
  border-top:none;
  padding:2.6rem 1.4rem 3rem;
  text-align:center;font-size:.85rem;color:#AEB3C4;line-height:1.6;
}


/* ---------- intake form ---------- */
.masthead{
  background:var(--ink);color:var(--paper);
  padding:3rem 1.4rem 2.6rem;text-align:center;
}
.masthead-inner{max-width:620px;margin:0 auto}
.masthead .practice-name{
  font-family:'Spectral',Georgia,serif;
  font-size:clamp(1.8rem,5.5vw,2.2rem);font-weight:600;
  line-height:1.15;margin:0 0 1rem;color:var(--paper);
}
.masthead .tagline{
  font-size:.98rem;line-height:1.55;color:#AEB3C4;
  max-width:460px;margin:0 auto;
}
.mirror{display:flex;flex-direction:column;align-items:center;gap:5px;margin-bottom:1.8rem}
.mirror .band{height:3px;background:#2E7D8A;border-radius:2px;opacity:.9}
.mirror .b1{width:26px}.mirror .b2{width:44px}.mirror .b3{width:38px}
.mirror .b4{width:104px;background:#4EA3AF}
.mirror .b5{width:132px;background:#4EA3AF}
.mirror .b6{width:72px}.mirror .b7{width:56px}
.mirror .b8{width:88px}.mirror .b9{width:120px}
@media (prefers-reduced-motion:no-preference){
  .mirror .band{animation:settle .9s cubic-bezier(.22,.9,.3,1) both}
  .mirror .band:nth-child(1){animation-delay:.05s}
  .mirror .band:nth-child(2){animation-delay:.11s}
  .mirror .band:nth-child(3){animation-delay:.17s}
  .mirror .band:nth-child(4){animation-delay:.23s}
  .mirror .band:nth-child(5){animation-delay:.29s}
  .mirror .band:nth-child(6){animation-delay:.35s}
  .mirror .band:nth-child(7){animation-delay:.41s}
  .mirror .band:nth-child(8){animation-delay:.47s}
  .mirror .band:nth-child(9){animation-delay:.53s}
  @keyframes settle{
    from{transform:scaleX(.15);opacity:0}
    to{transform:scaleX(1);opacity:.85}
  }
}
.form-wrap{padding-bottom:4rem}
.path{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:1rem 1.1rem;margin-bottom:.9rem;
}
.path-choice{display:flex;gap:.8rem;align-items:flex-start;cursor:pointer}
.path-choice input{margin-top:.35rem;flex:0 0 auto;width:18px;height:18px;accent-color:var(--gold)}
.path-choice span{font-weight:600;line-height:1.5}
.path-choice em{display:block;font-weight:400;font-size:.92rem;color:var(--ink-soft);font-style:normal;margin-top:.15rem}
.block{
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:1.3rem 1.2rem;margin-top:1.4rem;
}
.eyebrow{
  font-family:'Spectral',Georgia,serif;
  font-size:1.05rem;font-weight:600;margin:0 0 1rem;
}
.field{margin-bottom:1.15rem}
.field:last-child{margin-bottom:0}
.field>label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.field .opt{font-weight:400;color:var(--wave)}
.hint{font-size:.9rem;color:var(--ink-soft);margin:-.15rem 0 .6rem}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
  padding:.6rem .7rem;border:1px solid var(--line);border-radius:3px;
  background:var(--paper);
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-light);outline-offset:1px}
textarea{resize:vertical}
label.choice,.field>label.choice,.choice{display:flex;gap:.65rem;align-items:flex-start;padding:.38rem 0;cursor:pointer;font-size:.98rem;font-weight:400;margin-bottom:0}
.choice>span{font-weight:400;line-height:1.45}
.choice input{margin-top:.3rem;flex:0 0 auto;width:17px;height:17px;accent-color:var(--gold)}
.choice em{display:block;font-size:.88rem;color:var(--ink-soft);font-style:normal;line-height:1.45}
.submit{
  display:block;width:100%;margin-top:1.8rem;
  background:var(--ink);color:var(--paper);border:0;cursor:pointer;
  font-family:'Spectral',Georgia,serif;font-size:1.1rem;font-weight:600;
  padding:.85rem 1.5rem;border-radius:2.5rem;transition:background .15s ease;
}
.submit:hover{background:var(--gold)}
.footnote{font-size:.85rem;color:var(--wave);text-align:center;margin:1rem 0 0;line-height:1.5}

@media (min-width:761px) and (max-width:1050px){
  nav{gap:.7rem;flex-wrap:nowrap}
  nav a{font-size:.76rem}
  nav a.connect{padding:.35rem .75rem}
  .brand{font-size:.92rem}
  .header-inner{flex-wrap:nowrap;padding:.8rem 1rem}
}
@media (max-width:560px){
  .btn-long{display:none}
  .btn-short{display:inline}
  .cta .btn{
    font-size:1rem;line-height:1.35;
    padding:.75rem 1.3rem;border-radius:1.5rem;
    max-width:19rem;
  }
  .cta{padding:3.2rem 1.2rem 2.8rem}
  .caveat{font-size:.82rem}
}
@media (max-width:760px){
  .menu-btn{display:block;order:3}
  .header-inner{flex-wrap:wrap;padding:.7rem 1rem;position:relative;gap:.6rem}
  nav{order:2;display:flex;width:auto;flex-direction:row;gap:0;padding:0}
  nav a:not(.connect){display:none}
  nav a.connect{font-size:.82rem;padding:.38rem .85rem}
  body.open nav{
    position:absolute;top:100%;left:0;width:100%;
    flex-direction:column;align-items:flex-start;gap:.9rem;
    padding:1.1rem 1rem 1.3rem;
    background:var(--paper);border-bottom:1px solid var(--line);
  }
  body.open nav a:not(.connect){display:block;font-size:1rem}
  section{padding:2.4rem 0}
  .masthead{padding:2.4rem 1.2rem 2rem}
  .block,.path{padding:1.1rem 1rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.logo-mark{display:block;width:150px;height:auto;margin:0 auto 1.6rem}
@media (prefers-reduced-motion:no-preference){
  .logo-mark{animation:kindle 2.4s cubic-bezier(.3,.8,.3,1) both}
  @keyframes kindle{
    0%{opacity:0;transform:scale(.92);filter:brightness(.4) blur(3px)}
    55%{opacity:1;transform:scale(1.01);filter:brightness(1.25) blur(0)}
    100%{opacity:1;transform:scale(1);filter:brightness(1) blur(0)}
  }
}
.logo-foot{display:block;width:54px;height:auto;margin:0 auto 1.1rem;opacity:.9}
footer p{max-width:760px;margin:0 auto}
@media (max-width:560px){.logo-mark{width:120px}.logo-foot{width:46px}}
