:root{
  --bg:#faf8f4;
  --bg2:#f0ece3;
  --ink:#262118;
  --ink2:#5a5245;
  --ink3:#8a8278;
  --olive:#4a5e3b;
  --olive-l:#6a8455;
  --sienna:#b8553a;
  --amber:#d4a34e;
  --cream:#fdfbf7;
  --rule:#d9d2c5;
  --white:#fff;
  --fh:'Crimson Pro',Georgia,serif;
  --fb:'IBM Plex Sans','Segoe UI',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(--olive);text-decoration:none;transition:color .15s}
a:hover{color:var(--sienna)}

/* ── NAV — logo RIGHT-aligned ── */
.topnav{
  background:var(--cream);
  border-bottom:1px solid var(--rule);
  position:sticky;top:0;z-index:80;
}
.topnav__inner{
  max-width:var(--mx);margin:0 auto;
  padding:.6rem 1.25rem;
  display:flex;align-items:center;
  justify-content:space-between;
  flex-direction:row-reverse;       /* logo to the RIGHT */
}
.logo{
  font-family:var(--fh);font-size:1.5rem;font-weight:700;color:var(--ink);
}
.logo i{font-style:normal;color:var(--olive)}

.menu-btn{display:none;background:none;border:none;cursor:pointer;order:2}
.menu-btn svg{width:24px;height:24px;stroke:var(--ink)}

.navlist{list-style:none;display:flex;gap:1.4rem;order:1}
.navlist a{
  font-size:.78rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;
  color:var(--ink2);
}
.navlist a:hover,.navlist a.cur{color:var(--olive)}

@media(max-width:720px){
  .topnav__inner{flex-direction:row;justify-content:space-between}
  .menu-btn{display:block;order:0}
  .logo{order:1}
  .navlist{
    display:none;flex-direction:column;gap:.55rem;
    position:absolute;top:100%;left:0;right:0;
    background:var(--cream);padding:1rem 1.25rem;
    border-bottom:1px solid var(--rule);order:2;
  }
  .navlist.open{display:flex}
}

/* ── SPLIT HERO (text left, image right) ── */
.split-hero{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:400px;
}
.split-hero__text{
  display:flex;flex-direction:column;justify-content:center;
  padding:3rem 2.5rem 3rem 1.25rem;
  max-width:calc(var(--mx)/2);margin-left:auto;
}
.split-hero__badge{
  font-size:.65rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--olive);margin-bottom:.7rem;
}
.split-hero__text h1{
  font-family:var(--fh);font-size:clamp(1.8rem,4.5vw,2.8rem);
  line-height:1.15;margin-bottom:.6rem;
}
.split-hero__text p{color:var(--ink2);font-size:.95rem;max-width:420px}
.split-hero__img{
  background-size:cover;background-position:center;
  min-height:300px;
}
@media(max-width:700px){
  .split-hero{grid-template-columns:1fr}
  .split-hero__text{padding:2.5rem 1.25rem;max-width:100%}
  .split-hero__img{min-height:220px}
}

/* ── WRAPPER ── */
.bx{max-width:var(--mx);margin:0 auto;padding:2.5rem 1.25rem}
.bx-sm{max-width:700px;margin:0 auto;padding:0 1.25rem}
.sec-bg{background:var(--bg2)}
.sec-dark{background:var(--ink);color:var(--bg2)}
.sec-dark a{color:var(--amber)}

/* ── ACCENT-BAR CARDS ── */
.ab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.25rem}
.ab-card{
  background:var(--white);border:1px solid var(--rule);
  display:grid;grid-template-columns:4px 1fr;overflow:hidden;
  transition:box-shadow .2s;
}
.ab-card:hover{box-shadow:0 4px 18px rgba(38,33,24,.08)}
.ab-card__bar{background:var(--olive)}
.ab-card:nth-child(2) .ab-card__bar{background:var(--sienna)}
.ab-card:nth-child(3) .ab-card__bar{background:var(--amber)}
.ab-card:nth-child(4) .ab-card__bar{background:var(--ink2)}
.ab-card:nth-child(5) .ab-card__bar{background:var(--olive-l)}
.ab-card__body{padding:1.15rem}
.ab-card__body h3{font-family:var(--fh);font-size:1.1rem;margin-bottom:.2rem}
.ab-card__body p{font-size:.84rem;color:var(--ink2);margin-bottom:.45rem}
.ab-card__body a{font-size:.76rem;font-weight:700;color:var(--sienna);text-transform:uppercase;letter-spacing:.05em}
.ab-card__body a::after{content:' →'}

/* ── SIDE-BY-SIDE (image + text) ── */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-bottom:2.5rem}
.duo--flip .duo__photo{order:2}
.duo__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.duo__copy h2{font-family:var(--fh);font-size:1.4rem;margin-bottom:.35rem}
.duo__copy h3{font-family:var(--fh);font-size:1.08rem;margin:1.1rem 0 .2rem}
.duo__copy p{color:var(--ink2);margin-bottom:.4rem;font-size:.92rem}
.duo__copy ul{margin:.3rem 0 .8rem 1.1rem;color:var(--ink2);font-size:.9rem}
.duo__copy li{margin-bottom:.2rem}
@media(max-width:640px){
  .duo{grid-template-columns:1fr;gap:1rem}
  .duo--flip .duo__photo{order:0}
}

/* ── COLLAPSIBLE DETAILS ── */
.faq-set{border-top:1px solid var(--rule);margin-top:1rem}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{
  padding:.75rem 0;font-weight:600;font-size:.92rem;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::after{content:'+';font-size:1.2rem;color:var(--olive);font-weight:700}
.faq-item[open] summary::after{content:'−'}
.faq-item .faq-inner{padding:0 0 .85rem;color:var(--ink2);font-size:.88rem}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;font-size:.86rem;margin:1rem 0}
.tbl th,.tbl td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid var(--rule)}
.tbl th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);background:var(--bg2)}
.tbl tr:hover td{background:rgba(74,94,59,.04)}

/* ── FORM ── */
.enquiry{
  max-width:460px;margin:0 auto;
  background:var(--white);border:1px solid var(--rule);padding:1.6rem;
}
.enquiry label{display:block;font-weight:600;font-size:.78rem;margin-bottom:.15rem}
.enquiry input,.enquiry select,.enquiry textarea{
  width:100%;padding:.5rem .6rem;border:1px solid var(--rule);
  background:var(--bg);font-family:var(--fb);font-size:.88rem;
  margin-bottom:.8rem;color:var(--ink);
}
.enquiry textarea{min-height:85px;resize:vertical}
.cta-btn{
  background:var(--olive);color:var(--white);
  padding:.55rem 1.6rem;font-weight:700;font-size:.83rem;
  border:none;cursor:pointer;transition:background .15s;
}
.cta-btn:hover{background:var(--olive-l)}

/* ── FOOTER ── */
.ft{background:var(--ink);color:var(--ink3);font-size:.78rem}
.ft__row{
  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:160px}
.ft h5{font-family:var(--fh);color:var(--bg2);font-size:.88rem;margin-bottom:.35rem}
.ft ul{list-style:none}
.ft li{margin-bottom:.2rem}
.ft a{color:var(--ink3)}
.ft a:hover{color:var(--amber)}
.ft__copy{
  max-width:var(--mx);margin:0 auto;padding:.7rem 1.25rem;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;font-size:.68rem;
}

/* ── PAGE HEAD (inner) ── */
.pg-top{
  background:var(--bg2);
  padding:2.2rem 1.25rem 1.8rem;
  text-align:right;              /* RIGHT-ALIGNED page titles — unique */
}
.pg-top h1{font-family:var(--fh);font-size:clamp(1.5rem,3.5vw,2rem)}
.pg-top p{color:var(--ink2);margin-top:.2rem;font-size:.9rem}

.crumb{max-width:var(--mx);margin:0 auto;padding:.5rem 1.25rem;font-size:.7rem;color:var(--ink3)}
.crumb a{color:var(--olive)}

/* ── PROSE ── */
.prose h2{font-family:var(--fh);font-size:1.3rem;margin:1.8rem 0 .35rem}
.prose h3{font-family:var(--fh);font-size:1.05rem;margin:1.2rem 0 .2rem}
.prose p{margin-bottom:.8rem;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.5rem 0;width:100%}

/* ── TIP BOX ── */
.tip{
  display:grid;grid-template-columns:3px 1fr;
  background:var(--bg2);margin:1.5rem 0;
}
.tip__bar{background:var(--olive)}
.tip__body{padding:.75rem 1rem;font-size:.84rem;color:var(--ink2)}
.tip__body strong{color:var(--ink)}

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

/* ── BAND ── */
.band{text-align:center;padding:2rem 1.25rem}
.band h2{font-family:var(--fh);font-size:1.2rem;margin-bottom:.25rem}
.band p{max-width:420px;margin:0 auto .7rem;font-size:.88rem}
.sec-dark .cta-btn{background:var(--amber);color:var(--ink)}
.sec-dark .cta-btn:hover{background:var(--bg2);color:var(--ink)}

/* ── STAT PILLS ── */
.pills{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;padding:1.5rem 0}
.pill-item{
  background:var(--white);border:1px solid var(--rule);
  padding:.7rem 1.4rem;text-align:center;min-width:110px;
}
.pill-item__num{font-family:var(--fh);font-size:1.6rem;color:var(--sienna);line-height:1}
.pill-item__lbl{font-size:.7rem;color:var(--ink3);margin-top:.15rem;text-transform:uppercase;letter-spacing:.04em}
