:root{
  --bg:#f9f6f1;
  --bg2:#eee9e0;
  --card:#fff;
  --ink:#1f1d24;
  --ink2:#504b56;
  --ink3:#8d8793;
  --indigo:#3f4b8c;
  --indigo-l:#5a68b0;
  --terra:#c2613b;
  --terra-d:#a34f2e;
  --sand:#e6d5b8;
  --warm-w:#faf4eb;
  --rule:#d3cbc0;
  --fh:'Instrument Serif',Georgia,serif;
  --fb:'Space Grotesk','Segoe UI',sans-serif;
  --mx:1040px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.74}
img{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-decoration:none;transition:color .15s}
a:hover{color:var(--terra)}

/* ── NAV — centered brand, two rows ── */
.hd{background:var(--card);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:80}
.hd__top{text-align:center;padding:.65rem 1rem .15rem}
.hd__logo{font-family:var(--fh);font-size:1.5rem;color:var(--ink)}
.hd__logo span{color:var(--terra)}
.hd__links{
  display:flex;justify-content:center;gap:1.3rem;
  padding:.25rem 1rem .45rem;flex-wrap:wrap;
}
.hd__links a{
  font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink2);
}
.hd__links a:hover,.hd__links a.on{color:var(--terra)}
.hd__mob{display:none;background:none;border:none;cursor:pointer;position:absolute;right:1rem;top:.7rem}
.hd__mob svg{width:22px;height:22px;stroke:var(--ink)}
@media(max-width:680px){
  .hd__mob{display:block}
  .hd__links{display:none;flex-direction:column;align-items:center;gap:.35rem;padding-bottom:.6rem}
  .hd__links.vis{display:flex}
}

/* ── HERO — left-anchored card over tinted image ── */
.hero-la{position:relative;background:var(--ink);overflow:hidden;min-height:420px;display:flex;align-items:center}
.hero-la__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.hero-la__card{
  position:relative;z-index:2;
  background:rgba(255,255,255,.94);backdrop-filter:blur(4px);
  max-width:450px;margin-left:5%;padding:2.2rem 2rem;
}
.hero-la__tag{
  display:inline-block;background:var(--terra);color:#fff;
  font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:.17rem .55rem;margin-bottom:.5rem;
}
.hero-la__card h1{font-family:var(--fh);font-size:clamp(1.5rem,3.8vw,2.2rem);line-height:1.15;margin-bottom:.35rem}
.hero-la__card h1 em{font-style:italic;color:var(--terra)}
.hero-la__card p{color:var(--ink2);font-size:.86rem;margin-bottom:.7rem}
.hero-la__card .hero-go{
  display:inline-block;background:var(--indigo);color:#fff;
  padding:.48rem 1.3rem;font-weight:700;font-size:.78rem;transition:background .15s;
}
.hero-la__card .hero-go:hover{background:var(--indigo-l);color:#fff}
@media(max-width:680px){
  .hero-la{min-height:auto;flex-direction:column}
  .hero-la__bg{position:relative;height:240px}
  .hero-la__card{margin:0;max-width:100%;backdrop-filter:none;background:var(--card)}
}

/* ── WRAPPER ── */
.bx{max-width:var(--mx);margin:0 auto;padding:2.5rem 1.25rem}
.bx-n{max-width:660px;margin:0 auto;padding:0 1.25rem}
.bg-sand{background:var(--sand)}
.bg-warm{background:var(--bg2)}
.bg-ink{background:var(--ink);color:var(--bg2)}
.bg-ink a{color:var(--sand)}

/* ── RIBBON DIVIDER ── */
.ribbon{height:4px;background:linear-gradient(90deg,var(--terra) 0%,var(--indigo) 50%,var(--terra) 100%);margin:0}

/* ── PEEK CARDS (image peeks out above card) ── */
.peek-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.3rem;padding-top:1.5rem}
.peek{position:relative;background:var(--card);border:1px solid var(--rule);padding-top:3.5rem;overflow:visible}
.peek__img{
  position:absolute;top:-1.5rem;left:1rem;right:1rem;height:5rem;
  object-fit:cover;border:2px solid var(--card);box-shadow:0 2px 8px rgba(31,29,36,.08);
}
.peek__body{padding:.8rem 1rem}
.peek__body h3{font-family:var(--fh);font-size:.95rem;margin-bottom:.1rem}
.peek__body p{font-size:.76rem;color:var(--ink2);margin-bottom:.25rem}
.peek__body a{font-size:.66rem;font-weight:700;color:var(--terra);text-transform:uppercase;letter-spacing:.04em}
.peek__body a::after{content:' →'}

/* ── SIDE ── */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-bottom:2.2rem}
.pair--r .pair__pic{order:2}
.pair__pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pair__txt h2{font-family:var(--fh);font-size:1.25rem;margin-bottom:.25rem}
.pair__txt h3{font-family:var(--fh);font-size:.92rem;margin:.85rem 0 .1rem}
.pair__txt p{color:var(--ink2);margin-bottom:.3rem;font-size:.86rem}
.pair__txt ul{margin:.25rem 0 .6rem 1rem;color:var(--ink2);font-size:.82rem}
.pair__txt li{margin-bottom:.1rem}
@media(max-width:640px){.pair{grid-template-columns:1fr;gap:1rem}.pair--r .pair__pic{order:0}}

/* ── TESTIMONIALS — alternating indent ── */
.stories{max-width:580px;margin:0 auto}
.story{padding:1rem;margin-bottom:1rem;border:1px solid var(--rule);background:var(--card);position:relative}
.story:nth-child(odd){margin-left:0;margin-right:2rem;border-left:3px solid var(--terra)}
.story:nth-child(even){margin-left:2rem;margin-right:0;border-right:3px solid var(--indigo)}
.story__q{font-size:.8rem;color:var(--ink2);font-style:italic;margin-bottom:.3rem}
.story__who{font-size:.65rem;color:var(--ink3);font-weight:700}
@media(max-width:640px){.story:nth-child(odd),.story:nth-child(even){margin-left:0;margin-right:0}}

/* ── TABLE ── */
.tb{width:100%;border-collapse:collapse;font-size:.8rem;margin:.8rem 0}
.tb th,.tb td{padding:.38rem .5rem;text-align:left;border-bottom:1px solid var(--rule)}
.tb th{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);background:var(--bg2)}

/* ── NUMBERED FAQ ── */
.nfaq{counter-reset:nf;margin-top:.6rem}
.nf{border-bottom:1px solid var(--rule)}
.nf summary{
  counter-increment:nf;
  padding:.55rem 0;font-weight:700;font-size:.82rem;cursor:pointer;
  list-style:none;display:flex;align-items:center;gap:.6rem;
}
.nf summary::before{
  content:counter(nf,decimal-leading-zero);
  font-family:var(--fh);font-size:.85rem;color:var(--terra);min-width:1.5rem;
}
.nf summary::after{content:'+';margin-left:auto;font-size:1rem;color:var(--indigo);font-weight:700}
.nf[open] summary::after{content:'−'}
.nf .nf-a{padding:0 0 .55rem 2.1rem;color:var(--ink2);font-size:.8rem}

/* ── FORM ── */
.form-zone{max-width:400px;margin:0 auto;background:var(--card);border:1px solid var(--rule);padding:1.3rem}
.form-zone label{display:block;font-weight:700;font-size:.68rem;margin-bottom:.06rem}
.form-zone input,.form-zone select,.form-zone textarea{width:100%;padding:.4rem .5rem;border:1px solid var(--rule);background:var(--bg);font-family:var(--fb);font-size:.82rem;margin-bottom:.55rem;color:var(--ink)}
.form-zone textarea{min-height:60px;resize:vertical}
.go-btn{background:var(--terra);color:#fff;padding:.45rem 1.3rem;font-weight:700;font-size:.76rem;border:none;cursor:pointer;transition:background .15s}
.go-btn:hover{background:var(--terra-d)}

/* ── FOOTER ── */
.ft{background:var(--ink);color:var(--ink3);font-size:.7rem}
.ft__in{max-width:var(--mx);margin:0 auto;padding:1.5rem 1.25rem;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1rem}
.ft h5{font-family:var(--fh);color:var(--bg2);font-size:.78rem;margin-bottom:.2rem}
.ft ul{list-style:none}.ft li{margin-bottom:.12rem}
.ft a{color:var(--ink3)}.ft a:hover{color:var(--sand)}
.ft__end{max-width:var(--mx);margin:0 auto;padding:.4rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:.58rem}
@media(max-width:640px){.ft__in{grid-template-columns:1fr 1fr}}

/* ── PAGE HEAD ── */
.ph{text-align:center;padding:1.8rem 1.25rem;background:var(--warm-w);border-bottom:1px solid var(--rule)}
.ph h1{font-family:var(--fh);font-size:clamp(1.3rem,3vw,1.75rem)}
.ph p{color:var(--ink2);margin-top:.15rem;font-size:.82rem;max-width:430px;margin-left:auto;margin-right:auto}
.bc{max-width:var(--mx);margin:0 auto;padding:.3rem 1.25rem;font-size:.58rem;color:var(--ink3)}
.bc a{color:var(--indigo)}

/* ── PROSE ── */
.prose h2{font-family:var(--fh);font-size:1.15rem;margin:1.3rem 0 .2rem}
.prose h3{font-family:var(--fh);font-size:.9rem;margin:.8rem 0 .08rem}
.prose p{margin-bottom:.55rem;color:var(--ink2)}
.prose ul,.prose ol{margin:.2rem 0 .55rem 1rem;color:var(--ink2)}
.prose li{margin-bottom:.1rem}
.prose img{margin:1rem 0;width:100%}

/* ── TIP ── */
.tip{background:var(--warm-w);border-left:3px solid var(--terra);padding:.55rem .8rem;margin:1rem 0;font-size:.76rem;color:var(--ink2)}
.tip strong{color:var(--ink)}
.tip--i{border-left-color:var(--indigo)}

/* ── DISC ── */
.disc{background:var(--bg2);border:1px solid var(--rule);padding:.5rem .7rem;font-size:.64rem;color:var(--ink3);margin:1.2rem 0;line-height:1.55}

/* ── CTA ── */
.cta{text-align:center;padding:1.6rem 1.25rem}
.cta h2{font-family:var(--fh);font-size:1.05rem;margin-bottom:.15rem}
.cta p{max-width:350px;margin:0 auto .5rem;font-size:.78rem}
.bg-ink .go-btn{background:var(--sand);color:var(--ink)}
.bg-ink .go-btn:hover{background:var(--bg)}

/* ── CHECK ── */
.ck{list-style:none;margin:.6rem 0}
.ck li{padding:.22rem 0 .22rem 1.3rem;position:relative;font-size:.82rem;color:var(--ink2)}
.ck li::before{content:'✓';position:absolute;left:0;color:var(--indigo);font-weight:700}
