:root{
  --bg:#f9f7f3;
  --bg2:#efebe4;
  --panel:#ffffff;
  --ink:#28241e;
  --ink2:#5e584e;
  --ink3:#908a7e;
  --papaya:#e07849;
  --papaya-d:#c5603a;
  --sage:#5d7d5a;
  --sage-l:#7ea37a;
  --honey:#d6a641;
  --rule:#d4cec3;
  --fh:'Lora',Georgia,serif;
  --fb:'Nunito Sans','Helvetica Neue',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: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(--papaya)}

/* ── NAV — logo center, links split left+right ── */
.masthead{background:var(--panel);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:80}
.masthead__row{
  max-width:var(--mx);margin:0 auto;padding:.55rem 1.25rem;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
}
.nav-left,.nav-right{display:flex;gap:1.2rem}
.nav-right{justify-content:flex-end}
.nav-left a,.nav-right a{
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:var(--ink2);
}
.nav-left a:hover,.nav-right a:hover,.nav-left a.on,.nav-right a.on{color:var(--papaya)}
.m-logo{
  font-family:var(--fh);font-size:1.5rem;font-weight:700;color:var(--ink);text-align:center;
}
.m-logo em{font-style:normal;color:var(--sage)}

.m-toggle{display:none;background:none;border:none;cursor:pointer;position:absolute;right:1.25rem;top:.7rem}
.m-toggle svg{width:24px;height:24px;stroke:var(--ink)}
.m-mobile{display:none}

@media(max-width:740px){
  .masthead__row{display:flex;justify-content:center;position:relative}
  .nav-left,.nav-right{display:none}
  .m-toggle{display:block}
  .m-mobile{
    display:none;flex-direction:column;align-items:center;gap:.5rem;
    padding:.8rem 1.25rem;border-bottom:2px solid var(--ink);background:var(--panel);
  }
  .m-mobile.vis{display:flex}
  .m-mobile a{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink2)}
  .m-mobile a:hover,.m-mobile a.on{color:var(--papaya)}
}

/* ── BANNER — thin image strip with overlay text ── */
.banner{
  position:relative;overflow:hidden;height:280px;display:flex;align-items:center;justify-content:center;
}
.banner__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.banner__body{position:relative;z-index:2;text-align:center;color:var(--panel);padding:0 1.25rem}
.banner__kicker{
  font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--honey);margin-bottom:.5rem;
}
.banner h1{font-family:var(--fh);font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.18;margin-bottom:.4rem}
.banner p{font-size:.9rem;opacity:.88;max-width:480px;margin:0 auto}

/* ── WRAPPER ── */
.container{max-width:var(--mx);margin:0 auto;padding:2.5rem 1.25rem}
.narrow{max-width:690px;margin:0 auto;padding:0 1.25rem}
.alt-bg{background:var(--bg2)}
.dark-bg{background:var(--ink);color:var(--bg2)}
.dark-bg a{color:var(--honey)}

/* ── HR DIVIDER (decorative) ── */
.divider{
  border:none;height:0;border-top:1px solid var(--rule);
  margin:2.5rem auto;max-width:120px;
}

/* ── PANEL CARDS (image on top, no border — shadow only) ── */
.panel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.panel-card{
  background:var(--panel);box-shadow:0 2px 12px rgba(40,36,30,.07);
  overflow:hidden;transition:transform .2s;
}
.panel-card:hover{transform:translateY(-2px)}
.panel-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.panel-card__text{padding:1.1rem 1.15rem}
.panel-card__text h3{font-family:var(--fh);font-size:1.05rem;margin-bottom:.2rem}
.panel-card__text p{font-size:.82rem;color:var(--ink2);margin-bottom:.4rem}
.panel-card__text a{font-size:.74rem;font-weight:700;color:var(--papaya);text-transform:uppercase;letter-spacing:.04em}
.panel-card__text a::after{content:' →'}

/* ── LEFT-BORDER SECTION ── */
.lb{display:grid;grid-template-columns:4px 1fr;margin:1.5rem 0}
.lb__bar{background:var(--sage)}
.lb--alt .lb__bar{background:var(--papaya)}
.lb--honey .lb__bar{background:var(--honey)}
.lb__inner{padding:.7rem 1rem;font-size:.85rem;color:var(--ink2)}
.lb__inner strong{color:var(--ink)}

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

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

/* ── COLLAPSIBLE ── */
.qa{border-top:1px solid var(--rule);margin-top:.75rem}
.qa-item{border-bottom:1px solid var(--rule)}
.qa-item summary{padding:.7rem 0;font-weight:600;font-size:.9rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.qa-item summary::after{content:'+';font-size:1.15rem;color:var(--sage);font-weight:700}
.qa-item[open] summary::after{content:'−'}
.qa-item .qa-body{padding:0 0 .75rem;color:var(--ink2);font-size:.86rem}

/* ── FORM ── */
.msg-form{
  max-width:440px;margin:0 auto;background:var(--panel);
  box-shadow:0 2px 12px rgba(40,36,30,.06);padding:1.5rem;
}
.msg-form label{display:block;font-weight:600;font-size:.76rem;margin-bottom:.12rem}
.msg-form input,.msg-form select,.msg-form textarea{
  width:100%;padding:.45rem .6rem;border:1px solid var(--rule);
  background:var(--bg);font-family:var(--fb);font-size:.88rem;
  margin-bottom:.75rem;color:var(--ink);
}
.msg-form textarea{min-height:80px;resize:vertical}
.go-btn{
  background:var(--papaya);color:var(--panel);
  padding:.5rem 1.6rem;font-weight:700;font-size:.82rem;
  border:none;cursor:pointer;transition:background .15s;
}
.go-btn:hover{background:var(--papaya-d)}

/* ── FOOTER ── */
.ft{background:var(--ink);color:var(--ink3);font-size:.76rem}
.ft__inner{
  max-width:var(--mx);margin:0 auto;padding:2rem 1.25rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;
}
.ft__col{min-width:150px}
.ft h5{font-family:var(--fh);color:var(--bg2);font-size:.85rem;margin-bottom:.3rem}
.ft ul{list-style:none}
.ft li{margin-bottom:.2rem}
.ft a{color:var(--ink3)}
.ft a:hover{color:var(--honey)}
.ft__line{max-width:var(--mx);margin:0 auto;border:none;border-top:1px solid rgba(255,255,255,.06)}
.ft__end{max-width:var(--mx);margin:0 auto;padding:.6rem 1.25rem;text-align:center;font-size:.66rem}

/* ── PAGE HEAD (inner pages) ── */
.pg-bar{background:var(--bg2);padding:2rem 1.25rem;text-align:center}
.pg-bar h1{font-family:var(--fh);font-size:clamp(1.4rem,3vw,1.9rem)}
.pg-bar p{color:var(--ink2);margin-top:.2rem;font-size:.88rem;max-width:500px;margin-left:auto;margin-right:auto}
.crumb{max-width:var(--mx);margin:0 auto;padding:.45rem 1.25rem;font-size:.68rem;color:var(--ink3)}
.crumb a{color:var(--sage)}

/* ── PROSE ── */
.prose h2{font-family:var(--fh);font-size:1.25rem;margin:1.6rem 0 .3rem}
.prose h3{font-family:var(--fh);font-size:1rem;margin:1.2rem 0 .2rem}
.prose p{margin-bottom:.75rem;color:var(--ink2)}
.prose ul,.prose ol{margin:.3rem 0 .8rem 1.1rem;color:var(--ink2)}
.prose li{margin-bottom:.2rem}
.prose img{margin:1.25rem 0;width:100%}

/* ── LEGAL ── */
.legal{
  border-top:2px solid var(--papaya);
  background:var(--bg2);padding:.7rem 1rem;
  font-size:.74rem;color:var(--ink3);margin:2rem 0;line-height:1.55;
}

/* ── CTA ── */
.cta-row{text-align:center;padding:2rem 1.25rem}
.cta-row h2{font-family:var(--fh);font-size:1.15rem;margin-bottom:.2rem}
.cta-row p{max-width:400px;margin:0 auto .6rem;font-size:.86rem}
.dark-bg .go-btn{background:var(--honey);color:var(--ink)}
.dark-bg .go-btn:hover{background:var(--bg2)}

/* ── INLINE METRIC ── */
.metrics{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;padding:1.25rem 0}
.metric{
  background:var(--panel);border-left:3px solid var(--sage);
  padding:.5rem .9rem;min-width:100px;text-align:center;
}
.metric:nth-child(2){border-color:var(--papaya)}
.metric:nth-child(3){border-color:var(--honey)}
.metric:nth-child(4){border-color:var(--ink2)}
.metric__val{font-family:var(--fh);font-size:1.4rem;color:var(--papaya);line-height:1}
.metric__lbl{font-size:.66rem;color:var(--ink3);margin-top:.1rem;text-transform:uppercase;letter-spacing:.03em}
