:root{
  --bg:#fdf9f6;
  --bg2:#f5efe8;
  --card:#fff;
  --ink:#2e2a26;
  --ink2:#635c54;
  --ink3:#9b9389;
  --rose:#c46b7c;
  --rose-d:#a85565;
  --sage:#6a8f6e;
  --sage-l:#8ab88e;
  --warm:#d4974e;
  --blush:#f7e8e4;
  --rule:#ddd5ca;
  --fh:'Playfair Display',Georgia,serif;
  --fb:'Outfit','Segoe UI',sans-serif;
  --mx:1020px;
}
*,*::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(--sage);text-decoration:none;transition:color .15s}
a:hover{color:var(--rose)}

/* ── NAV — simple left logo, right links ── */
.nav{background:var(--card);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:80}
.nav__inner{max-width:var(--mx);margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;justify-content:space-between}
.nav__brand{font-family:var(--fh);font-size:1.35rem;font-weight:700;color:var(--ink)}
.nav__brand em{font-style:normal;color:var(--rose)}
.nav__links{list-style:none;display:flex;gap:1.3rem}
.nav__links a{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2)}
.nav__links a:hover,.nav__links a.on{color:var(--rose)}
.nav__mob{display:none;background:none;border:none;cursor:pointer}
.nav__mob svg{width:24px;height:24px;stroke:var(--ink)}
@media(max-width:700px){
  .nav__mob{display:block}
  .nav__links{display:none;flex-direction:column;gap:.5rem;position:absolute;top:100%;left:0;right:0;background:var(--card);padding:.8rem 1.25rem;border-bottom:1px solid var(--rule)}
  .nav__links.vis{display:flex}
}

/* ── HERO — split: text left, image right ── */
.hero-split{display:grid;grid-template-columns:1fr 1fr;min-height:440px}
.hero-split__copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:3rem 2.5rem 3rem 1.25rem;max-width:calc(var(--mx)/2);margin-left:auto;
}
.hero-split__tag{
  display:inline-block;background:var(--rose);color:#fff;
  font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.2rem .6rem;margin-bottom:.7rem;width:fit-content;
}
.hero-split__copy h1{font-family:var(--fh);font-size:clamp(1.7rem,4.2vw,2.6rem);line-height:1.15;margin-bottom:.5rem}
.hero-split__copy h1 span{color:var(--rose)}
.hero-split__copy p{color:var(--ink2);font-size:.95rem;margin-bottom:1rem;max-width:400px}
.hero-split__copy .hero-cta{
  display:inline-block;background:var(--sage);color:#fff;
  padding:.6rem 1.6rem;font-weight:700;font-size:.85rem;transition:background .15s;
}
.hero-split__copy .hero-cta:hover{background:var(--sage-l);color:#fff}
.hero-split__photo{background-size:cover;background-position:center top}
@media(max-width:680px){
  .hero-split{grid-template-columns:1fr}
  .hero-split__copy{max-width:100%;padding:2.5rem 1.25rem}
  .hero-split__photo{height:260px}
}

/* ── WRAPPER ── */
.bx{max-width:var(--mx);margin:0 auto;padding:2.5rem 1.25rem}
.bx-sm{max-width:680px;margin:0 auto;padding:0 1.25rem}
.bg-blush{background:var(--blush)}
.bg-warm{background:var(--bg2)}
.bg-sage{background:var(--sage);color:#fff}
.bg-sage a{color:var(--warm)}

/* ── TRUST BADGES ── */
.badges{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;padding:1.5rem 0;text-align:center}
.badge{min-width:120px}
.badge__icon{font-size:1.6rem;margin-bottom:.2rem}
.badge__text{font-size:.72rem;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.04em}

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

/* ── CARDS (3-col) ── */
.card-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.card{background:var(--card);border:1px solid var(--rule);overflow:hidden;transition:box-shadow .2s}
.card:hover{box-shadow:0 4px 16px rgba(46,42,38,.07)}
.card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__inner{padding:1rem 1.1rem}
.card__inner h3{font-family:var(--fh);font-size:1rem;margin-bottom:.15rem}
.card__inner p{font-size:.82rem;color:var(--ink2);margin-bottom:.35rem}
.card__inner a{font-size:.72rem;font-weight:700;color:var(--rose);text-transform:uppercase;letter-spacing:.04em}
.card__inner a::after{content:' →'}

/* ── TESTIMONIAL STRIP (anonymous, compliant) ── */
.testi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.testi{background:var(--card);border:1px solid var(--rule);padding:1.15rem;position:relative}
.testi::before{content:'"';font-family:var(--fh);font-size:2.5rem;color:var(--blush);position:absolute;top:.3rem;left:.8rem;line-height:1}
.testi__quote{font-size:.85rem;color:var(--ink2);font-style:italic;padding-top:1rem;margin-bottom:.5rem}
.testi__attr{font-size:.72rem;color:var(--ink3);font-weight:600}

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

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

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

/* ── FOOTER ── */
.ft{background:var(--ink);color:var(--ink3);font-size:.74rem}
.ft__grid{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(--warm)}
.ft__end{max-width:var(--mx);margin:0 auto;padding:.5rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:.64rem}
@media(max-width:640px){.ft__grid{grid-template-columns:1fr 1fr}}

/* ── PAGE HEAD ── */
.pg-hd{text-align:center;padding:2rem 1.25rem;background:var(--blush)}
.pg-hd h1{font-family:var(--fh);font-size:clamp(1.4rem,3vw,1.85rem)}
.pg-hd 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(--sage)}

/* ── 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%}

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

/* ── 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 BAND ── */
.cta-band{text-align:center;padding:2rem 1.25rem}
.cta-band h2{font-family:var(--fh);font-size:1.15rem;margin-bottom:.2rem}
.cta-band p{max-width:400px;margin:0 auto .6rem;font-size:.85rem}
.bg-sage .cta-btn{background:var(--card);color:var(--sage)}
.bg-sage .cta-btn:hover{background:var(--bg2);color:var(--ink)}

/* ── CHECKLIST ── */
.checklist{list-style:none;margin:1rem 0}
.checklist li{padding:.35rem 0 .35rem 1.6rem;position:relative;font-size:.9rem;color:var(--ink2)}
.checklist li::before{content:'✓';position:absolute;left:0;color:var(--sage);font-weight:700;font-size:1rem}
