:root{
  --bg:#faf9f5;
  --bg2:#f1ede5;
  --card:#ffffff;
  --ink:#231e2a;
  --ink2:#57505e;
  --ink3:#8e8793;
  --plum:#6b3a5d;
  --plum-l:#8c5a7d;
  --mint:#4d8066;
  --mint-l:#6ea88a;
  --tangerine:#d98b4b;
  --rule:#d6cfc5;
  --fh:'Libre Baskerville',Georgia,serif;
  --fb:'Karla','Helvetica Neue',sans-serif;
  --mx:1060px;
}
*,*::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:15px;line-height:1.72}
img{max-width:100%;height:auto;display:block}
a{color:var(--mint);text-decoration:none;transition:color .15s}
a:hover{color:var(--plum)}

/* ── HEADER — logo line + separate nav bar ── */
.hd{background:var(--card);border-bottom:1px solid var(--rule)}
.hd__brand{
  max-width:var(--mx);margin:0 auto;
  padding:.8rem 1.25rem .3rem;
  display:flex;align-items:baseline;justify-content:space-between;
}
.logo-mark{font-family:var(--fh);font-size:1.55rem;font-weight:700;color:var(--ink)}
.logo-mark span{color:var(--plum)}
.hd__tagline{font-size:.7rem;color:var(--ink3);letter-spacing:.04em;font-style:italic}

.hd__nav{
  background:var(--plum);
}
.hd__nav-inner{
  max-width:var(--mx);margin:0 auto;padding:.35rem 1.25rem;
  display:flex;gap:1.4rem;align-items:center;
}
.hd__nav a{
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:rgba(255,255,255,.78);
}
.hd__nav a:hover,.hd__nav a.act{color:#fff}

.hd__toggle{display:none;background:none;border:none;cursor:pointer;margin-left:auto}
.hd__toggle svg{width:22px;height:22px;stroke:#fff}

@media(max-width:720px){
  .hd__tagline{display:none}
  .hd__toggle{display:block}
  .hd__nav-inner{flex-wrap:wrap}
  .hd__nav-inner a{display:none}
  .hd__nav-inner.open a{display:inline-block;width:100%;padding:.25rem 0}
  .hd__toggle{display:block}
}

/* ── WRAPPER ── */
.wrap{max-width:var(--mx);margin:0 auto;padding:2.5rem 1.25rem}
.wrap-sm{max-width:700px;margin:0 auto;padding:0 1.25rem}
.bg-warm{background:var(--bg2)}
.bg-plum{background:var(--plum);color:var(--bg)}
.bg-plum a{color:var(--tangerine)}

/* ── STAGGERED GRID (home only) ── */
.stagger{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:auto;
  gap:1.25rem;
}
.stagger .sg-item:nth-child(1){grid-row:span 2}
.sg-item{background:var(--card);border:1px solid var(--rule);overflow:hidden;transition:box-shadow .2s}
.sg-item:hover{box-shadow:0 4px 16px rgba(35,30,42,.08)}
.sg-item img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sg-item--tall img{aspect-ratio:3/4}
.sg-cap{padding:1rem 1.1rem}
.sg-cap h3{font-family:var(--fh);font-size:1rem;margin-bottom:.15rem}
.sg-cap p{font-size:.8rem;color:var(--ink2);margin-bottom:.35rem}
.sg-cap a{font-size:.72rem;font-weight:700;color:var(--plum);text-transform:uppercase;letter-spacing:.04em}
.sg-cap a::after{content:' →'}
@media(max-width:700px){
  .stagger{grid-template-columns:1fr}
  .stagger .sg-item:nth-child(1){grid-row:span 1}
  .sg-item--tall img{aspect-ratio:16/10}
}

/* ── INTRO (text-only, centered) ── */
.intro{text-align:center;max-width:620px;margin:0 auto;padding:2.5rem 1.25rem 1rem}
.intro__badge{
  display:inline-block;background:var(--mint);color:#fff;
  font-size:.6rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:.18rem .6rem;margin-bottom:.6rem;
}
.intro h1{font-family:var(--fh);font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.18;margin-bottom:.45rem}
.intro p{color:var(--ink2);font-size:.93rem}

/* ── FEATURED IMAGE BANNER (narrow strip) ── */
.img-strip{width:100%;height:200px;object-fit:cover;display:block}

/* ── SIDEBAR LAYOUT (inner pages) ── */
.with-sidebar{display:grid;grid-template-columns:2fr 1fr;gap:2.5rem;align-items:start}
.sidebar{position:sticky;top:5rem}
.sidebar h4{font-family:var(--fh);font-size:.95rem;margin-bottom:.4rem;color:var(--plum)}
.sidebar ul{list-style:none;margin-bottom:1.25rem}
.sidebar li{margin-bottom:.2rem}
.sidebar a{font-size:.82rem;color:var(--ink2)}
.sidebar a:hover{color:var(--plum)}
.sidebar .side-box{
  background:var(--bg2);border:1px solid var(--rule);
  padding:.9rem 1rem;margin-bottom:1rem;font-size:.82rem;color:var(--ink2)
}
.sidebar .side-box strong{color:var(--ink)}
@media(max-width:740px){
  .with-sidebar{grid-template-columns:1fr}
  .sidebar{position:static}
}

/* ── DUO (image + text) ── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-bottom:2rem}
.duo--rev .duo__pic{order:2}
.duo__pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.duo__txt h2{font-family:var(--fh);font-size:1.3rem;margin-bottom:.3rem}
.duo__txt h3{font-family:var(--fh);font-size:1rem;margin:1rem 0 .2rem}
.duo__txt p{color:var(--ink2);margin-bottom:.35rem;font-size:.9rem}
.duo__txt ul{margin:.3rem 0 .7rem 1.1rem;color:var(--ink2);font-size:.88rem}
.duo__txt li{margin-bottom:.18rem}
@media(max-width:640px){.duo{grid-template-columns:1fr;gap:1rem}.duo--rev .duo__pic{order:0}}

/* ── TABLE ── */
.tb{width:100%;border-collapse:collapse;font-size:.84rem;margin:1rem 0}
.tb th,.tb td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--rule)}
.tb th{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);background:var(--bg2)}
.tb tr:hover td{background:rgba(77,128,102,.04)}

/* ── DETAILS ── */
.folds{border-top:1px solid var(--rule);margin-top:.75rem}
.fold{border-bottom:1px solid var(--rule)}
.fold summary{padding:.65rem 0;font-weight:700;font-size:.88rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.fold summary::after{content:'+';font-size:1.1rem;color:var(--plum);font-weight:700}
.fold[open] summary::after{content:'−'}
.fold .fold-body{padding:0 0 .7rem;color:var(--ink2);font-size:.84rem}

/* ── FORM ── */
.reach-form{
  max-width:420px;margin:0 auto;background:var(--card);
  border:1px solid var(--rule);padding:1.5rem;
}
.reach-form label{display:block;font-weight:700;font-size:.74rem;margin-bottom:.1rem}
.reach-form input,.reach-form select,.reach-form textarea{
  width:100%;padding:.45rem .55rem;border:1px solid var(--rule);
  background:var(--bg);font-family:var(--fb);font-size:.86rem;
  margin-bottom:.7rem;color:var(--ink);
}
.reach-form textarea{min-height:75px;resize:vertical}
.send-btn{
  background:var(--plum);color:#fff;
  padding:.5rem 1.5rem;font-weight:700;font-size:.8rem;
  border:none;cursor:pointer;transition:background .15s;
}
.send-btn:hover{background:var(--plum-l)}

/* ── FOOTER ── */
.ft{background:var(--ink);color:var(--ink3);font-size:.74rem}
.ft__row{
  max-width:var(--mx);margin:0 auto;padding:1.8rem 1.25rem;
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1.25rem;
}
.ft h5{font-family:var(--fh);color:var(--bg2);font-size:.82rem;margin-bottom:.3rem}
.ft ul{list-style:none}.ft li{margin-bottom:.18rem}
.ft a{color:var(--ink3)}.ft a:hover{color:var(--tangerine)}
.ft__end{
  max-width:var(--mx);margin:0 auto;padding:.55rem 1.25rem;
  border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:.64rem;
}
@media(max-width:640px){.ft__row{grid-template-columns:1fr 1fr}}

/* ── PAGE TOP ── */
.pg{text-align:center;padding:2rem 1.25rem;border-bottom:1px solid var(--rule)}
.pg h1{font-family:var(--fh);font-size:clamp(1.4rem,3vw,1.85rem)}
.pg p{color:var(--ink2);margin-top:.2rem;font-size:.88rem;max-width:480px;margin-left:auto;margin-right:auto}
.crumb{max-width:var(--mx);margin:0 auto;padding:.4rem 1.25rem;font-size:.66rem;color:var(--ink3)}
.crumb a{color:var(--mint)}

/* ── PROSE ── */
.prose h2{font-family:var(--fh);font-size:1.22rem;margin:1.5rem 0 .3rem}
.prose h3{font-family:var(--fh);font-size:.98rem;margin:1.1rem 0 .18rem}
.prose p{margin-bottom:.7rem;color:var(--ink2)}
.prose ul,.prose ol{margin:.3rem 0 .7rem 1.1rem;color:var(--ink2)}
.prose li{margin-bottom:.18rem}
.prose img{margin:1.25rem 0;width:100%}

/* ── CALLOUT ── */
.note{background:var(--bg2);border-left:3px solid var(--mint);padding:.7rem 1rem;margin:1.25rem 0;font-size:.82rem;color:var(--ink2)}
.note strong{color:var(--ink)}
.note--plum{border-left-color:var(--plum)}

/* ── LEGAL ── */
.disc{background:var(--bg2);border:1px solid var(--rule);padding:.65rem .9rem;font-size:.72rem;color:var(--ink3);margin:1.5rem 0;line-height:1.55}

/* ── CTA BAR ── */
.cta-bar{text-align:center;padding:1.8rem 1.25rem}
.cta-bar h2{font-family:var(--fh);font-size:1.1rem;margin-bottom:.2rem}
.cta-bar p{max-width:380px;margin:0 auto .6rem;font-size:.84rem}
.bg-plum .send-btn{background:var(--tangerine);color:var(--ink)}
.bg-plum .send-btn:hover{background:var(--bg)}

/* ── COUNTERS ROW ── */
.counters{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;padding:1rem 0}
.ctr{text-align:center;min-width:90px}
.ctr__n{font-family:var(--fh);font-size:1.5rem;color:var(--plum);line-height:1}
.ctr__l{font-size:.62rem;color:var(--ink3);margin-top:.1rem;text-transform:uppercase;letter-spacing:.04em}
