/* Bawtry luxury web brochure.
   The same dark-editorial identity as the print PDF, reflowed to read perfectly on
   a phone with no zoom. Everything is scoped under .brochure so it stays isolated
   from the rest of the site (which runs on Fraunces + Inter). Fonts are @font-face'd
   only on this template, see inc/enqueue.php. Mobile first; the desktop grids return
   at the breakpoints near the bottom. A print block at the end lets WeasyPrint render
   the portrait PDF from this same source. */

.brochure{
  --br-green:#0B2315;
  --br-green-2:#123625;
  --br-cream:#F4EEE1;
  --br-cream-panel:#FBF7EE;
  --br-ink:#16261C;
  --br-ink-soft:#4B5A50;
  --br-cream-soft:#ECE5D5;
  --br-cream-faint:#C4BDA9;
  --br-gold:#B08A46;
  --br-gold-lt:#E0BC70;
  --br-sage:#5C8A6F;
  --br-line:rgba(244,238,225,0.16);

  font-family:'Gilroy',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--br-ink);
  background:var(--br-cream);
  overflow-x:hidden;
}
.brochure *{box-sizing:border-box}

.brochure .br-wrap{max-width:1120px;margin:0 auto;padding:0 22px;width:100%}

/* ---------- Type ---------- */
.brochure .br-eyebrow{
  font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--br-gold);margin:0;
}
.brochure .br-h2{
  font-family:'Playfair',Georgia,serif;font-weight:600;
  font-size:clamp(1.85rem,5.4vw,2.9rem);line-height:1.08;letter-spacing:-.01em;
  margin:.5rem 0 0;color:var(--br-ink);text-wrap:balance;
}
.brochure .br-display{
  font-family:'Playfair',Georgia,serif;font-weight:600;
  font-size:clamp(2.7rem,9vw,5rem);line-height:1.02;letter-spacing:-.015em;margin:.4rem 0 0;
}
.brochure .br-body{
  font-family:'Gilroy';font-weight:400;font-size:1.075rem;line-height:1.65;color:var(--br-ink-soft);
}
.brochure .br-body p{margin:0 0 .9rem}
.brochure .br-body p:last-child{margin-bottom:0}
.brochure .br-lead{font-weight:300;font-size:1.16rem;line-height:1.6}
.brochure .br-u{text-decoration:underline;font-weight:800}
.brochure .br-gold-t{color:var(--br-gold)}

/* Section colourways */
.brochure .br-sec{padding:clamp(3.2rem,8vw,6rem) 0}
.brochure .br-green{background:var(--br-green);color:var(--br-cream)}
.brochure .br-cream{background:var(--br-cream);color:var(--br-ink)}
.brochure .br-green .br-h2{color:var(--br-cream)}
.brochure .br-green .br-body{color:var(--br-cream-soft)}
.brochure .br-green .br-eyebrow{color:var(--br-gold-lt)}
.brochure .br-intro{max-width:640px}
.brochure .br-intro .br-body{margin-top:.9rem}

/* ---------- Buttons ---------- */
.brochure .br-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:'Gilroy';font-weight:600;font-size:1rem;letter-spacing:.01em;
  min-height:52px;padding:.85rem 1.6rem;border-radius:9px;border:1.5px solid transparent;
  cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;text-align:center;
}
.brochure .br-btn-gold{background:var(--br-gold);color:#1b1305}
.brochure .br-btn-gold:hover{background:var(--br-gold-lt)}
.brochure .br-btn-ghost{background:transparent;color:var(--br-cream);border-color:rgba(244,238,225,.5)}
.brochure .br-btn-ghost:hover{background:rgba(244,238,225,.1);border-color:var(--br-cream)}

/* ---------- 1. Cover ---------- */
.brochure .br-cover{
  position:relative;min-height:min(90vh,860px);display:flex;color:var(--br-cream);
  background-image:
    linear-gradient(100deg, rgba(11,35,21,.93) 0%, rgba(11,35,21,.82) 28%, rgba(11,35,21,.64) 52%, rgba(11,35,21,.44) 76%, rgba(11,35,21,.3) 100%),
    linear-gradient(0deg, rgba(11,35,21,.72) 0%, rgba(11,35,21,0) 34%),
    url(../media/brochure/cover-aerial.jpg);
  background-size:cover;background-position:center;
  text-shadow:0 1px 14px rgba(6,20,12,.55);
}
.brochure .br-cover-in{
  max-width:1120px;margin:0 auto;width:100%;padding:calc(2rem + 1vw) 22px 2.4rem;
  display:flex;flex-direction:column;gap:1.4rem;justify-content:space-between;min-height:min(90vh,860px);
}
.brochure .br-brandline{display:flex;align-items:center;gap:14px}
.brochure .br-wordmark{font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--br-cream)}
.brochure .br-brandline .br-bar{flex:1 1 auto;height:1px;background:var(--br-line)}
.brochure .br-est{font-family:'Gilroy';font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br-cream-faint);white-space:nowrap}
.brochure .br-cover-hero{margin-top:auto}
.brochure .br-cover-hero .br-eyebrow{color:var(--br-gold-lt);margin-bottom:.9rem}
.brochure .br-display{color:var(--br-cream)}
.brochure .br-cover-sub{font-family:'Gilroy';font-weight:300;font-size:1.18rem;line-height:1.5;color:var(--br-cream-soft);max-width:36ch;margin:1.2rem 0 0}
.brochure .br-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.brochure .br-cta .br-btn{flex:1 1 auto}
.brochure .br-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .8rem;font-family:'Gilroy';font-weight:500;font-size:.95rem;color:var(--br-cream)}
.brochure .br-strip .br-dot{color:var(--br-gold-lt)}
.brochure .br-strip .br-price{color:var(--br-gold-lt);font-weight:600}

/* ---------- 2. Invitation ---------- */
.brochure .br-invite-grid{display:grid;gap:2.2rem}
.brochure .br-letter .br-body{margin-top:1.1rem}
.brochure .br-signoff{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.35rem;color:var(--br-ink);margin:1.5rem 0 .6rem}
.brochure .br-sig{font-family:'Caveat',cursive;font-weight:600;font-size:3.4rem;line-height:.9;color:var(--br-gold)}
.brochure .br-nameplate{font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br-ink-soft);margin-top:.6rem}
.brochure .br-callme{display:inline-block;font-family:'Gilroy';font-weight:600;font-size:1rem;color:var(--br-gold);margin-top:.9rem;border-bottom:1px solid rgba(176,138,70,.4);padding-bottom:2px}
.brochure .br-callme-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;margin-top:1.1rem}
.brochure .br-callme-row .br-callme{margin-top:0}
.brochure .br-whatsapp{display:inline-flex;align-items:center;gap:.45rem;font-family:'Gilroy';font-weight:600;font-size:1rem;color:#3D6E52;border-bottom:1px solid rgba(61,110,82,.4);padding-bottom:2px}
.brochure .br-whatsapp svg{flex:none}
.brochure .br-aside{background:var(--br-green);color:var(--br-cream);border-radius:16px;padding:2rem 1.6rem;display:flex;flex-direction:column;justify-content:center}
.brochure .br-kicker{font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--br-gold);margin:0 0 1rem}
.brochure .br-pull{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.4rem;line-height:1.28;letter-spacing:-.01em;margin:0}

/* ---------- 3. Difference / pillars ---------- */
.brochure .br-pillars{display:grid;gap:1.8rem 1.6rem;margin-top:2.4rem}
.brochure .br-pillar .br-ico{width:38px;height:38px;margin-bottom:.7rem}
.brochure .br-pillar .br-ico svg{width:38px;height:38px}
.brochure .br-pillar h3{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.22rem;color:var(--br-cream);margin:0 0 .35rem}
.brochure .br-pillar p{font-family:'Gilroy';font-weight:400;font-size:1rem;line-height:1.55;color:var(--br-cream-soft);margin:0}

/* ---------- 3b. Photo spread ---------- */
.brochure .br-photo{
  position:relative;min-height:72vh;display:flex;align-items:flex-end;
  background-image:url(../media/brochure/park-avenue.jpg);background-size:cover;background-position:center;
}
.brochure .br-photo-cap{
  width:100%;padding:5rem 0 2.4rem;color:var(--br-cream);text-shadow:0 1px 12px rgba(6,20,12,.5);
  background:linear-gradient(0deg, rgba(11,35,21,.95) 0%, rgba(11,35,21,.8) 46%, rgba(11,35,21,0) 100%);
}
.brochure .br-photo-cap .br-eyebrow{color:var(--br-gold-lt);margin-bottom:.5rem}
.brochure .br-photo-cap .br-h2{color:var(--br-cream);margin-top:.2rem}
.brochure .br-photo-cap .br-body{color:var(--br-cream-soft);max-width:52ch;margin-top:.9rem}

/* ---------- 3c. Doorstep ---------- */
.brochure .br-ds-grid{display:grid;gap:1.8rem 2.2rem;margin-top:2.4rem}
.brochure .br-ds h3{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.18rem;color:var(--br-ink);margin:0 0 .3rem}
.brochure .br-ds p{font-family:'Gilroy';font-weight:400;font-size:1rem;line-height:1.55;color:var(--br-ink-soft);margin:0}

/* ---------- 4. Spec ---------- */
.brochure .br-spec-grid{display:grid;gap:1.8rem;margin-top:2rem;align-items:center}
.brochure .br-spec-copy .br-body{margin-bottom:1rem}
.brochure .br-spec-copy .br-body:last-child{margin-bottom:0}
.brochure .br-spec-shot{border-radius:14px;min-height:240px;background-image:url(../media/brochure/interior-1.jpg);background-size:cover;background-position:center}
.brochure .br-chips{display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;margin-top:2.2rem;padding-top:1.8rem;border-top:1px solid rgba(22,38,28,.14)}
.brochure .br-chip-k{display:block;font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.35rem;color:var(--br-ink)}
.brochure .br-chip-l{display:block;font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--br-gold);margin-top:.35rem}

/* ---------- 5. Manifesto ---------- */
.brochure .br-man-top{display:grid;gap:1.6rem}
.brochure .br-man-shot{border-radius:14px;min-height:200px;background-image:url(../media/brochure/manifesto-lodge.jpg);background-size:cover;background-position:center}
.brochure .br-man-cols{display:grid;gap:1.8rem;margin-top:2rem}
.brochure .br-man-price{text-align:left}
.brochure .br-from{font-family:'Gilroy';font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br-cream-faint);margin-bottom:.5rem}
.brochure .br-num{font-family:'Gilroy';font-weight:800;font-size:clamp(3rem,12vw,4.4rem);line-height:1;color:var(--br-gold);letter-spacing:-.03em}
.brochure .br-num-foot{font-family:'Gilroy';font-weight:300;font-style:italic;font-size:1rem;color:var(--br-cream-soft);margin-top:.7rem}

/* ---------- 6. Packages explainer ---------- */
.brochure .br-pkg-row{display:grid;gap:1.8rem;margin-top:2.2rem}
.brochure .br-base-label{font-family:'Gilroy';font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br-gold);margin:0 0 1rem}
.brochure .br-base-list{list-style:none;margin:0;padding:0}
.brochure .br-base-list li{font-family:'Gilroy';font-weight:400;font-size:1.05rem;color:var(--br-cream);position:relative;padding-left:1.7rem;margin-bottom:.7rem}
.brochure .br-base-list li::before{content:"\2713";position:absolute;left:0;color:var(--br-gold);font-weight:700}
.brochure .br-pkg-shot{border-radius:14px;min-height:220px;background-image:url(../media/brochure/interior-2.jpg);background-size:cover;background-position:center}

/* ---------- 6b. Tier cards ---------- */
.brochure .br-tiers{display:grid;gap:1.1rem;margin-top:2.4rem;align-items:stretch}
.brochure .br-tier{
  position:relative;background:var(--br-cream-panel);border:1px solid rgba(22,38,28,.12);
  border-radius:14px;padding:1.6rem 1.4rem;display:flex;flex-direction:column;
}
.brochure .br-tier-top{border-color:rgba(176,138,70,.55);box-shadow:0 14px 34px -22px rgba(176,138,70,.6)}
.brochure .br-tier-flag{position:absolute;top:-.7rem;left:1.4rem;background:var(--br-gold);color:#1b1305;font-family:'Gilroy';font-weight:700;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border-radius:20px;margin:0}
.brochure .br-tier-name{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.55rem;color:var(--br-ink);margin:0}
.brochure .br-tier-dep{font-family:'Gilroy';font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--br-gold);margin:.25rem 0 0}
.brochure .br-tier-plus{font-family:'Gilroy';font-weight:500;font-size:.9rem;color:var(--br-ink-soft);margin:1.1rem 0 .8rem;padding-top:1rem;border-top:1px solid rgba(22,38,28,.1)}
.brochure .br-tier-list{list-style:none;margin:0;padding:0}
.brochure .br-tier-list li{font-family:'Gilroy';font-weight:500;font-size:1rem;color:var(--br-ink);position:relative;padding-left:1.6rem;margin-bottom:.6rem}
.brochure .br-tier-list li::before{content:"\2713";position:absolute;left:0;color:var(--br-sage);font-weight:700}
.brochure .br-note{font-family:'Gilroy';font-weight:400;font-size:.92rem;line-height:1.55;color:var(--br-ink-soft);margin-top:2rem;max-width:70ch}
.brochure .br-note strong{color:var(--br-ink);font-weight:600}

/* ---------- 6c. Yours to own ---------- */
.brochure .br-own{
  background-image:linear-gradient(rgba(11,35,21,.93),rgba(11,35,21,.965)),url(../media/brochure/cover-aerial.jpg);
  background-size:cover;background-position:center;
}
.brochure .br-own-cols{display:grid;gap:2rem;margin-top:2rem;align-items:center}
.brochure .br-own-stats{display:flex;flex-direction:column;gap:1.6rem}
.brochure .br-stat b{display:block;font-family:'Gilroy';font-weight:800;font-size:clamp(2.6rem,10vw,3.6rem);line-height:1;color:var(--br-gold);letter-spacing:-.02em}
.brochure .br-stat span{display:block;font-family:'Gilroy';font-weight:400;font-size:1rem;color:var(--br-cream-soft);margin-top:.35rem}

/* ---------- 7. Steps ---------- */
.brochure .br-steps-grid{display:grid;gap:2rem;margin-top:2.4rem}
.brochure .br-step-n{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:2.2rem;color:var(--br-gold);line-height:1}
.brochure .br-step-hr{width:34px;height:1.5px;background:var(--br-line);margin:.7rem 0 .9rem}
.brochure .br-step h3{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.22rem;color:var(--br-cream);margin:0 0 .4rem}
.brochure .br-step p{font-family:'Gilroy';font-weight:400;font-size:1rem;line-height:1.5;color:var(--br-cream-soft);margin:0}
.brochure .br-steps-close{font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.3rem;line-height:1.35;color:var(--br-cream);margin-top:2.4rem;max-width:40ch}

/* ---------- 8. Back / contact ---------- */
.brochure .br-back{
  background-image:linear-gradient(180deg, rgba(11,35,21,.9) 0%, rgba(11,35,21,.93) 55%, rgba(11,35,21,.97) 100%),url(../media/brochure/back-lodge.jpg);
  background-size:cover;background-position:center;
}
.brochure .br-back-para{max-width:52ch;margin-top:1rem;color:var(--br-cream-soft)}
.brochure .br-contact{display:grid;gap:.9rem;margin-top:2.2rem}
.brochure .br-c{display:block;padding:.4rem 0}
a.br-c{border-bottom:1px solid var(--br-line)}
a.br-c:hover .br-c-v{color:var(--br-gold-lt)}
.brochure .br-c-l{display:block;font-family:'Gilroy';font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br-gold)}
.brochure .br-c-v{display:block;font-family:'Playfair',Georgia,serif;font-weight:600;font-size:1.3rem;color:var(--br-cream);margin-top:.3rem;transition:color .2s ease}
.brochure .br-c-v.br-c-sm{font-family:'Gilroy';font-weight:400;font-size:1.02rem;line-height:1.4}
.brochure .br-download{margin-top:2rem}
.brochure .br-download .br-btn{display:inline-flex}
.brochure .br-legal{font-family:'Gilroy';font-weight:400;font-size:.86rem;line-height:1.5;color:var(--br-cream-faint);margin-top:2rem;max-width:70ch}

/* ---------- Brochure gate (get the brochure) ---------- */
.brochure .br-gate{margin-top:2.4rem;max-width:640px}
.brochure .br-gate-head{margin-bottom:1.3rem}
.brochure .br-gate-head .br-h2{margin:.2rem 0 .6rem}
.brochure .br-gate-form{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.brochure .br-gate-form.is-hidden{display:none}
/* The HTML `hidden` attribute must beat the flex displays above, otherwise the
   download "done" state shows before submit, and the JS toggle (form.hidden=true /
   done.hidden=false) silently no-ops. This is the fix for both. */
.brochure .br-gate-form[hidden],.brochure .br-gate-done[hidden]{display:none}
.brochure .br-gate-row{display:flex;flex-wrap:wrap;gap:1rem;width:100%}
.brochure .br-gate-field{flex:1 1 220px;display:flex;flex-direction:column;gap:.35rem}
.brochure .br-gate-field span{font-family:'Gilroy';font-weight:600;font-size:.9rem;color:var(--br-cream-soft)}
.brochure .br-gate-field input{font-family:'Gilroy';font-size:1rem;color:var(--br-cream);background:rgba(244,238,225,.08);border:1.5px solid rgba(244,238,225,.35);border-radius:9px;padding:.8rem 1rem;min-height:52px;width:100%}
.brochure .br-gate-field input:focus{outline:none;border-color:var(--br-gold-lt);background:rgba(244,238,225,.14)}
.brochure .br-gate-form .br-btn-gold{min-width:200px}
.brochure .br-gate-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.brochure .br-gate-privacy{font-family:'Gilroy';font-weight:400;font-size:.82rem;line-height:1.5;color:var(--br-cream-faint);margin:.2rem 0 0;max-width:52ch}
.brochure .br-gate-privacy a{color:var(--br-cream-soft);text-decoration:underline}
.brochure .br-gate-error{font-family:'Gilroy';font-size:.9rem;color:#F1C08A;margin:.2rem 0 0}
.brochure .br-gate-done{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.brochure .br-gate-done-lead{font-family:'Gilroy';font-weight:600;font-size:1.12rem;color:var(--br-cream);margin:0}
.brochure .br-gate-links{display:flex;flex-wrap:wrap;gap:.8rem}
/* Two download formats offered: lead with the one that suits the visitor's screen
   (phone version on a phone, print/computer version on desktop), keep the other as a
   quiet secondary. Decided by screen width so a cached page can never guess wrong; the
   email carries both regardless. Mobile-first, so the phone version leads by default. */
.brochure .br-dl{flex:0 0 auto}
.brochure .br-dl-phone{background:var(--br-gold);color:#1b1305;order:0}
.brochure .br-dl-phone:hover{background:var(--br-gold-lt)}
.brochure .br-dl-print{background:transparent;color:var(--br-cream);border-color:rgba(244,238,225,.5);order:1}
.brochure .br-dl-print:hover{background:rgba(244,238,225,.1);border-color:var(--br-cream)}
@media(min-width:1000px){
  /* Desktop: the print/computer version leads instead. */
  .brochure .br-dl-phone{background:transparent;color:var(--br-cream);border-color:rgba(244,238,225,.5);order:1}
  .brochure .br-dl-phone:hover{background:rgba(244,238,225,.1);border-color:var(--br-cream)}
  .brochure .br-dl-print{background:var(--br-gold);color:#1b1305;border-color:transparent;order:0}
  .brochure .br-dl-print:hover{background:var(--br-gold-lt)}
}

/* The gate as its own section, sitting directly under the cover on every screen
   (this page is focused on getting the brochure). A slightly lighter green than
   the hero so it reads as its own action band, not a continuation of the photo. */
.brochure .br-gate-sec{background:var(--br-green-2)}
.brochure .br-gate-sec .br-gate{margin-top:0;max-width:720px}

/* ---------- Scroll anchors (clear the sticky nav) ---------- */
.brochure .br-enquire,#br-enquire,.brochure .br-gate-sec,#get-brochure{scroll-margin-top:96px}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .brochure *{transition:none !important}
}

/* ============ Small tablet: 2-up grids ============ */
@media (min-width:600px){
  .brochure .br-pillars{grid-template-columns:1fr 1fr}
  .brochure .br-ds-grid{grid-template-columns:1fr 1fr}
  .brochure .br-tiers{grid-template-columns:1fr 1fr}
  .brochure .br-steps-grid{grid-template-columns:1fr 1fr}
  .brochure .br-contact{grid-template-columns:1fr 1fr}
  .brochure .br-cta .br-btn{flex:0 0 auto}
}

/* ============ Desktop: full editorial layout ============ */
@media (min-width:1000px){
  .brochure .br-sec{padding:4.5rem 0}
  /* Desktop: centre the hero text block instead of pinning it to the bottom (the
     brandline stays top, the stats strip stays bottom, via space-between). */
  .brochure .br-cover-hero{margin-top:0}
  .brochure .br-invite-grid{grid-template-columns:1.4fr 1fr;gap:4rem;align-items:stretch}
  .brochure .br-aside{padding:2.6rem 2.2rem}
  .brochure .br-pull{font-size:1.7rem}
  .brochure .br-pillars{grid-template-columns:repeat(3,1fr);gap:2.4rem 2.6rem}
  .brochure .br-photo{min-height:82vh}
  .brochure .br-photo-cap{padding:7rem 0 3rem}
  .brochure .br-ds-grid{gap:2.4rem 3.2rem}
  .brochure .br-spec-grid{grid-template-columns:1fr 1.05fr;gap:3.2rem}
  .brochure .br-spec-shot{min-height:340px}
  .brochure .br-man-top{grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
  .brochure .br-man-shot{min-height:240px}
  .brochure .br-man-cols{grid-template-columns:1.2fr 1fr;gap:3.4rem;align-items:end}
  .brochure .br-man-price{text-align:right}
  .brochure .br-pkg-row{grid-template-columns:1.05fr 1fr;gap:3.4rem;align-items:center}
  .brochure .br-pkg-shot{min-height:300px}
  .brochure .br-tiers{grid-template-columns:repeat(4,1fr);gap:1.2rem}
  .brochure .br-own-cols{grid-template-columns:1.4fr 1fr;gap:3.4rem}
  .brochure .br-own-stats{text-align:right}
  .brochure .br-steps-grid{grid-template-columns:repeat(4,1fr);gap:2.4rem}
}

/* ============ Print: portrait A4 for the PDF (WeasyPrint drives this off the
   same markup, so the PDF and the web page never drift on content). Fixed pt type
   (no clamp/vw in print), each major block on its own page, dark sections bleed
   to fill the sheet. ============ */
@media print{
  @page{size:A4 portrait;margin:0}
  .nav,.footer,.mobilebar,.deskbar,.lightbox,.skip-link,.br-cta,.br-download,.br-enquire,.br-gate-sec{display:none !important}
  .brochure{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;overflow:visible}
  .brochure .br-wrap{max-width:none;padding:0 16mm;width:100%}

  /* Each major block starts a fresh page. */
  .brochure .br-sec,.brochure .br-cover,.brochure .br-photo{
    break-before:page;page-break-before:always;padding:18mm 0;
  }
  .brochure>*:first-child{break-before:avoid;page-break-before:avoid}
  /* Fill each page with the section colour and centre the content, so short
     sections do not trail off into the page background. Tall sections grow past
     297mm and simply flow, so nothing is clipped. */
  .brochure .br-sec{min-height:297mm;display:flex;flex-direction:column;justify-content:center}

  /* Fixed print type. */
  .brochure .br-display{font-size:42pt;line-height:1.02}
  .brochure .br-h2{font-size:23pt}
  .brochure .br-body{font-size:11pt;line-height:1.55}
  .brochure .br-lead{font-size:12.5pt}
  .brochure .br-eyebrow{font-size:8.5pt}
  .brochure .br-cover-sub{font-size:13pt}
  .brochure .br-num{font-size:44pt}
  .brochure .br-stat b{font-size:34pt}
  .brochure .br-tier-name{font-size:15pt}
  .brochure .br-step-n{font-size:26pt}
  .brochure .br-pull{font-size:17pt}
  .brochure .br-c-v{font-size:13pt}
  .brochure .br-chip-k{font-size:15pt}
  .brochure .br-sig{font-size:30pt}

  /* Dark, photo-led pages fill the sheet edge to edge. */
  .brochure .br-cover{min-height:297mm;padding:0}
  .brochure .br-cover-in{min-height:297mm;padding:20mm 16mm}
  .brochure .br-photo{min-height:297mm;padding:0;align-items:flex-end}
  .brochure .br-photo-cap{padding:24mm 0 20mm}
  .brochure .br-back,.brochure .br-own{min-height:297mm}

  /* Print column layouts. */
  .brochure .br-invite-grid{grid-template-columns:1.35fr 1fr;gap:12mm}
  .brochure .br-pillars{grid-template-columns:1fr 1fr;gap:9mm 12mm}
  .brochure .br-ds-grid{grid-template-columns:1fr 1fr;gap:8mm 12mm}
  .brochure .br-spec-grid{grid-template-columns:1fr 1fr;gap:12mm;align-items:center}
  .brochure .br-spec-shot{min-height:70mm}
  .brochure .br-man-top{grid-template-columns:1.3fr 1fr;gap:12mm;align-items:center}
  .brochure .br-man-shot{min-height:55mm}
  .brochure .br-man-cols{grid-template-columns:1.2fr 1fr;gap:14mm;align-items:end}
  .brochure .br-man-price{text-align:right}
  .brochure .br-pkg-row{grid-template-columns:1fr 1fr;gap:12mm;align-items:center}
  .brochure .br-pkg-shot{min-height:65mm}
  .brochure .br-tiers{grid-template-columns:1fr 1fr;gap:8mm}
  .brochure .br-own-cols{grid-template-columns:1.4fr 1fr;gap:14mm}
  .brochure .br-own-stats{text-align:right}
  .brochure .br-steps-grid{grid-template-columns:1fr 1fr;gap:10mm}

  /* Keep small units whole. */
  .brochure .br-pillar,.brochure .br-ds,.brochure .br-tier,.brochure .br-step,.brochure .br-chip{break-inside:avoid}
}
