/* =====================================================================
   VISIONARY CITY — Myakala & Akshita
   One continuous dark ground. The renders carry all the colour; the
   interface stays out of their way. Single gold accent, navy-tinted
   shadows, grain to break the digital flatness.
   ===================================================================== */

:root{
  --bg:        #13251D;   /* balanced forest */
  --surface:   #1D3328;
  --raised:    #274437;
  --sunken:    #102018;

  --ivory:     #F2EFE6;   /* light ground for framed / editorial sections */
  --ivory-2:   #E9E4D6;
  --ink:       #14201A;   /* text on ivory */
  --ink-soft:  #5E6B60;

  --gold:      #B79A50;   /* muted brass, desaturated to sit with the greens */
  --gold-lt:   #CBB273;
  --gold-pale: #E8DBB0;
  --gold-dk:   #8A7233;
  --foil: linear-gradient(100deg,#6E5C24 0%,#B79A50 24%,#E8DBB0 47%,#B79A50 70%,#8A7233 100%);

  --fg:        #EDF2EA;
  --fg-soft:   #C4D2C7;
  --fg-faint:  #A2B4A8;

  --line:      rgba(237,242,234,.09);
  --line-2:    rgba(237,242,234,.16);
  --line-gold: rgba(183,154,80,.34);

  --display: "Bodoni Moda", "Didot", Georgia, serif;
  --body:    "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --s1:.5rem; --s2:.875rem; --s3:1.25rem; --s4:2rem;
  --s5:3rem;  --s6:4.5rem;  --s7:7rem;    --s8:10rem;

  --wrap: 1440px;
  --nav-h: 76px;

  --r-sm: 12px; --r: 18px; --r-md: 24px; --r-lg: 32px; --r-pill: 999px;

  /* shadows tinted with the forest hue, single light source from above */
  --sh-1: 0 2px 8px -3px rgba(4,12,8,.5), 0 12px 28px -14px rgba(4,12,8,.62);
  --sh-2: 0 6px 16px -8px rgba(4,12,8,.55), 0 30px 60px -28px rgba(4,12,8,.78);
  --sh-3: 0 50px 110px -50px rgba(4,12,8,.9);

  --ease: cubic-bezier(.22,.8,.28,1);
  --z-nav: 80; --z-fab: 70; --z-lb: 110; --z-skip: 200;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; color-scheme:dark; }
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--body); font-size:16.5px; line-height:1.62;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  -webkit-tap-highlight-color:rgba(183,154,80,.18);
}
img{ max-width:100%; display:block; }
h1,h2,h3{ margin:0; font-weight:400; letter-spacing:-.015em; text-wrap:balance; }
p{ margin:0; text-wrap:pretty; }
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; }
button,a{ touch-action:manipulation; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
address{ font-style:normal; }
table{ border-collapse:collapse; width:100%; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:6px; }
[hidden]{ display:none !important; }
section[id]{ scroll-margin-top:calc(var(--nav-h) + 1.5rem); }

.sr,.sprite{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:-9999px; top:0; z-index:var(--z-skip); background:var(--gold); color:#0C1712;
  padding:.8rem 1.3rem; border-radius:var(--r-pill); font-weight:600; text-decoration:none; }
.skip:focus{ left:1rem; top:1rem; }

/* grain — a fixed overlay that keeps flat surfaces from reading as vector */
.grain{ position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E"); }

.dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; }

/* ---------- LAYOUT ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto;
  padding-inline:max(1.25rem, env(safe-area-inset-left)); }
@media (min-width:900px){ .wrap{ padding-inline:2.75rem; } }

/* optical rhythm — bottom padding runs a little heavier than top */
.sec{ position:relative; padding-block:var(--s6) calc(var(--s6) + 1rem); }
@media (min-width:900px){ .sec{ padding-block:var(--s7) calc(var(--s7) + 1.5rem); } }
.sec--tight{ padding-block:var(--s5) calc(var(--s5) + 1rem); }
.sec--enq{ background:var(--surface); overflow:hidden; }
.sec--enq::before{ content:""; position:absolute; inset:0 0 auto; height:1px;
  background:linear-gradient(90deg,transparent,var(--line-gold) 30%,var(--line-gold) 70%,transparent); }
.sec__bg{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:.58; pointer-events:none;
  filter:brightness(1.2) saturate(1.08) contrast(1.04);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 42%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.24) 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 42%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.24) 100%); }
/* a soft plate behind the copy so brighter art never costs legibility */
.has-bg > .wrap::before{ content:""; position:absolute; inset:-2rem -1.5rem;
  background:radial-gradient(58% 62% at 26% 46%, rgba(13,28,21,.56), rgba(13,28,21,.34) 52%, transparent 82%);
  pointer-events:none; z-index:-1; }
.has-bg > .wrap{ position:relative; z-index:1; }
@media (max-width:900px){ .sec__bg{ opacity:.42; mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.25) 88%); -webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.25) 88%); } }

/* ---------- TYPE ---------- */
.h2{ font-family:var(--body); font-weight:800;
  font-size:clamp(2.05rem,1.1rem + 3.4vw,3.7rem); line-height:1.08;
  font-variation-settings:"opsz" 96; letter-spacing:0; max-width:18ch; color:#F7FAF5;
  text-shadow:0 2px 18px rgba(7,16,9,.42); }
.h2 em{ font-style:normal; color:#F1D98D; }
.h3{ font-family:var(--display); font-weight:400; font-size:clamp(1.3rem,1.1rem + .9vw,1.75rem);
  line-height:1.22; font-variation-settings:"opsz" 32; }

.lede{ margin-top:1.1rem; max-width:56ch; color:#D8E2DA; font-size:1.06rem; line-height:1.75; }
.lede b{ color:var(--gold-lt); font-weight:600; }

.eyebrow{ display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.1rem;
  padding:.42rem .95rem .42rem .7rem; border-radius:var(--r-pill);
  background:rgba(183,154,80,.09); border:1px solid var(--line-gold);
  font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); }

.shead{ margin-bottom:var(--s5); }
@media (min-width:900px){ .shead{ margin-bottom:var(--s6); } }
@media (min-width:1100px){
  .shead{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
          column-gap:var(--s6); align-items:end; }
  .shead > .eyebrow{ grid-column:1; grid-row:1; justify-self:start; }
  .shead > .h2,.shead > .h3{ grid-column:1; grid-row:2; max-width:20ch; }
  .shead > .lede{ grid-column:2; grid-row:2; margin-top:0; padding-bottom:.45rem; max-width:50ch; }
  .shead > .pills{ grid-column:1 / -1; grid-row:3; margin-top:var(--s4); }
}
.shead--sm{ display:block; margin-bottom:var(--s4); }

.cap{ margin-top:.9rem; font-size:.76rem; line-height:1.7; color:var(--fg-faint); }

/* ---------- BUTTONS ---------- */
.btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:.65rem;
  padding:1.05rem 1.9rem; border-radius:var(--r-pill); overflow:hidden;
  font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  text-decoration:none; white-space:nowrap;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background-position .6s var(--ease); }
.btn svg{ width:16px; height:16px; }
.btn__go{ transition:transform .35s var(--ease); }
.btn:hover .btn__go{ transform:translateX(4px); }
.btn--gold{ background:var(--foil); background-size:180% 100%; background-position:0 0; color:#0C1712;
  box-shadow:0 8px 24px -12px rgba(183,154,80,.75); }
.btn--gold:hover{ background-position:100% 0; transform:translateY(-2px); box-shadow:0 16px 36px -14px rgba(183,154,80,.85); }
.btn--gold:active{ transform:translateY(1px) scale(.99); }
.btn--sm{ padding:.72rem 1.25rem; font-size:.68rem; }
.btn--full{ width:100%; }
.btn.is-busy{ pointer-events:none; opacity:.75; }
.btn.is-busy .btn__label{ opacity:.5; }

.linkbtn{ display:inline-flex; align-items:center; gap:.4rem; color:var(--gold-lt);
  border-bottom:1px solid var(--line-gold); padding-bottom:1px; font-size:inherit; }
.linkbtn svg{ width:13px; height:13px; }
.linkbtn:hover{ border-color:var(--gold); }

/* ---------- NAV ---------- */
.nav{ position:fixed; inset:.75rem .75rem auto; z-index:var(--z-nav); height:64px;
  border-radius:var(--r-pill); background:rgba(12,23,18,.72); backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 20px 48px -28px rgba(0,0,0,.9);
  transition:background .4s, box-shadow .4s, height .4s; }
@media (min-width:900px){ .nav{ inset:1rem 1.25rem auto; } }
.nav.is-stuck{ height:64px; background:rgba(12,23,18,.72); backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 20px 48px -28px rgba(0,0,0,.9); }
.nav__progress{ position:absolute; left:1.5rem; right:1.5rem; bottom:0; height:1.5px; border-radius:2px;
  background:var(--foil); transform:scaleX(0); transform-origin:left; opacity:0;
  transition:transform .1s linear, opacity .3s; }
.nav.is-stuck .nav__progress{ opacity:1; }
.nav__in{ height:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:1rem;
  display:flex; align-items:center; gap:var(--s3); }
@media (min-width:900px){ .nav__in{ padding-inline:1.5rem; } }

.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; margin-right:clamp(1rem,3vw,3.2rem); }
.brand__disc{ width:38px; height:38px; flex:none; display:grid; place-content:center; border-radius:50%;
  background:rgba(183,154,80,.1); border:1px solid var(--line-gold); color:var(--gold-lt); }
.brand__disc svg{ width:19px; height:19px; }
.brand__disc--lg{ width:52px; height:52px; }
.brand__disc--lg svg{ width:26px; height:26px; }
.brand__txt{ display:flex; flex-direction:column; line-height:1.14; }
.brand__name{ font-family:var(--display); font-weight:500; font-size:1.1rem; white-space:nowrap; }
.brand__by{ font-size:.56rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-lt); opacity:.72; white-space:nowrap; }

.nav__links{ display:none; gap:.25rem; }
@media (min-width:1150px){ .nav__links{ display:flex; } }
.nav__links a{ text-decoration:none; font-size:.86rem; opacity:.82; padding:.5rem .8rem;
  border-radius:var(--r-pill); transition:opacity .25s, background .25s, color .25s; }
.nav__links a:hover{ opacity:1; background:rgba(237,242,234,.07); }
.nav__links a.is-here{ opacity:1; color:var(--gold-lt); background:rgba(183,154,80,.13); }

.nav__act{ display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.nav__phone{
  display:none;
  align-items:center;
  min-height:38px;
  padding:.55rem .95rem;
  border-radius:var(--r-pill);
  color:#F8D779;
  text-decoration:none;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  border:1px solid rgba(248,215,121,.32);
  background:rgba(7,20,17,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
@media (min-width:1150px){
  .nav__phone{ display:inline-flex; }
}
.burger{ width:42px; height:42px; display:grid; place-content:center; gap:6px;
  border-radius:50%; background:rgba(237,242,234,.07); }
@media (min-width:1150px){ .burger{ display:none; } }
.burger span{ display:block; width:18px; height:1.5px; border-radius:2px; background:currentColor;
  transition:transform .3s var(--ease); }
.burger[aria-expanded="true"] span:first-child{ transform:translateY(3.75px) rotate(45deg); }
.burger[aria-expanded="true"] span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }
@media (max-width:1149px){
  .nav__links.is-open{ display:flex; flex-direction:column; gap:.15rem;
    position:fixed; inset:calc(var(--nav-h) + 1rem) .75rem auto; padding:.9rem;
    background:rgba(12,23,18,.96); backdrop-filter:blur(22px);
    border-radius:var(--r-md); box-shadow:var(--sh-3); }
  .nav__links.is-open a{ padding:.85rem 1rem; font-size:1rem; border-radius:var(--r-sm); }
}

/* ---------- HERO ---------- */
.hero{ position:relative; display:flex; align-items:center; overflow:hidden; background:var(--sunken);
  padding-top:calc(var(--nav-h) + var(--s4)); padding-bottom:var(--s5); }
@media (min-width:900px){ .hero{ min-height:100svh; } }
@media (min-width:900px) and (max-height:860px){
  .hero__h1{ font-size:clamp(2.6rem,.6rem + 5vw,4.5rem); }
  .hero__sub{ margin-top:1rem; font-size:1.08rem; }
  .lead{ padding:1.5rem; }
  .lead__title{ font-size:1.55rem; }
  .fld input,.fld select{ height:54px; }
}

.hero__stack{ position:absolute; inset:0; z-index:0; background:var(--sunken);
  transform:translate3d(0,var(--py,0px),0); will-change:transform; }
.plate{ position:absolute; inset:0; margin:0; opacity:0; z-index:0; transition:opacity 1.4s ease; }
.plate.was-on{ opacity:1; z-index:1; transition:none; }
.plate.is-on{ opacity:1; z-index:2; }
.plate img{ width:100%; height:100%; object-fit:cover; object-position:54% 52%; transform:scale(1.06); }
.plate.is-on img{ animation:drift 9s ease-out both; }
@keyframes drift{ from{ transform:scale(1.02) } to{ transform:scale(1.1) } }

.hero__scrim{ position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(7,16,9,.94) 0%, rgba(7,16,9,.8) 26%, rgba(7,16,9,.42) 48%, rgba(7,16,9,.08) 68%, transparent 82%),
    linear-gradient(180deg, rgba(7,16,9,.6) 0%, transparent 24%, transparent 56%, rgba(7,16,9,.82) 100%); }
.hero__glow{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:radial-gradient(44% 50% at 80% 46%, rgba(183,154,80,.15), transparent 70%); }

.hero__in{ position:relative; z-index:4; width:100%; max-width:none; margin-inline:0;
  padding-inline:max(1.25rem, env(safe-area-inset-left)) 1.25rem; display:grid; gap:var(--s5); align-items:center; }
@media (min-width:900px){ .hero__in{ padding-left:max(3.2rem, env(safe-area-inset-left)); padding-right:2.75rem; } }
@media (min-width:1280px){ .hero__in{ padding-left:max(5rem, env(safe-area-inset-left)); } }
@media (min-width:1040px){ .hero__in{ grid-template-columns:minmax(0,1fr) minmax(380px,410px); gap:var(--s6); } }

.hero__eyebrow{ display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1.25rem;
  padding:.45rem 1rem .45rem .75rem; border-radius:var(--r-pill);
  background:rgba(237,242,234,.08); backdrop-filter:blur(8px); border:1px solid rgba(203,178,115,.2);
  font-size:.64rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lt); }

.hero__h1{ font-family:var(--sans); font-weight:800;
  font-size:clamp(2.05rem,.95rem + 3.7vw,4.05rem); line-height:1.04; letter-spacing:0;
  font-variation-settings:"opsz" 96; max-width:14ch; text-shadow:0 2px 18px rgba(7,16,9,.72); }
.hero__h1 em{ font-style:normal; background:var(--foil);
  -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero__h1 .line{ display:block; overflow:hidden; padding-bottom:.05em; }
.hero__h1 .line>span{ display:block; transform:translateY(105%); animation:rise 1.05s var(--ease) forwards; }
.hero__h1 .line:nth-child(1)>span{ animation-delay:.28s; }
.hero__h1 .line:nth-child(2)>span{ animation-delay:.4s; }
.hero__h1 .line:nth-child(3)>span{ animation-delay:.52s; }
@keyframes rise{ to{ transform:translateY(0) } }

.hero__sub{ margin-top:1.05rem; font-family:var(--sans); font-size:clamp(.98rem,.92rem + .32vw,1.12rem);
  font-weight:600; color:#fff; max-width:34ch; }

.hero__stats{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:var(--s3);
  max-width:min(100%,520px); }
@media (min-width:680px){ .hero__stats{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.hero__stats li{ display:flex; flex-direction:column; gap:.3rem; min-width:0; padding:.74rem .84rem;
  border:1px solid rgba(255,255,255,.26); border-radius:14px; background:rgba(7,16,9,.36);
  backdrop-filter:blur(8px) saturate(1.08); box-shadow:0 12px 24px rgba(0,0,0,.16); }
.hero__stats b{ font-family:var(--sans); font-size:clamp(1.2rem,1rem + .75vw,1.58rem); font-weight:800; line-height:1;
  font-variant-numeric:tabular-nums; letter-spacing:0; color:#fff; background:none;
  -webkit-background-clip:initial; background-clip:initial; }
.hero__stats span{ font-family:var(--sans); font-size:.61rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#FFE7AC; }

.hero__meta{ margin-top:var(--s3); display:flex; flex-wrap:wrap; align-items:center; gap:.9rem var(--s4); }
.hero__fine{ font-size:.7rem; line-height:1.8; color:var(--fg-faint); }
.hero__fine b{ color:var(--gold-lt); font-weight:600; }
.hero__approvals{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:.65rem; max-width:min(100%,720px); }
.hero__approval{ display:inline-flex; align-items:center; gap:.62rem; min-height:2.4rem; padding:.3rem .9rem;
  border-radius:16px; border:1px solid rgba(255,231,172,.7);
  background:rgba(7,16,9,.5); color:#fff; box-shadow:0 12px 26px rgba(0,0,0,.2);
  backdrop-filter:blur(10px) saturate(1.08); text-shadow:0 1px 10px rgba(7,16,9,.72); }
.hero__approval span{ font-family:var(--sans); font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#FFE7AC; white-space:nowrap; }
.hero__approval b{ font-family:var(--sans); font-size:.76rem; font-weight:800; letter-spacing:.03em; color:#fff; white-space:nowrap; }
.hero__frames{ width:fit-content; max-width:min(100%,760px); margin:1.25rem 0 0; display:flex; align-items:center; justify-content:flex-start; gap:.9rem;
  padding:.72rem .9rem; border-radius:var(--r-pill); background:rgba(7,16,9,.5);
  border:1px solid rgba(232,219,176,.34); backdrop-filter:blur(10px) saturate(1.08);
  box-shadow:0 12px 26px rgba(0,0,0,.18); opacity:1; }
.hero__cap{ font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; color:#fff;
  text-shadow:0 1px 10px rgba(7,16,9,.82); white-space:nowrap; }
@media (max-width:600px){ .hero__frames{ border-radius:16px; align-items:flex-start; flex-direction:column; } }
.ticks{ display:flex; gap:.4rem; }
.tick{ width:34px; height:4px; border-radius:2px; background:rgba(237,242,234,.38);
  position:relative; overflow:hidden; transition:background .3s; }
.tick::after{ content:""; position:absolute; inset:0; border-radius:2px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; }
.tick.is-on::after{ animation:fill var(--dwell,6s) linear both; }
@keyframes fill{ to{ transform:scaleX(1) } }
.tick:hover{ background:rgba(237,242,234,.66); }

.hero__eyebrow,.hero__sub,.hero__stats,.hero__meta,.hero__frames{ opacity:0; transform:translateY(16px); animation:up .9s ease forwards; }
.hero__eyebrow{ animation-delay:.1s; }
.hero__sub{ animation-delay:.86s; }
.hero__stats{ animation-delay:.98s; }
.hero__meta{ animation-delay:1.1s; }
.hero__frames{ animation-delay:1.16s; }
@keyframes up{ to{ opacity:1; transform:none } }

/* ---------- LEAD CARD ---------- */
.lead{ position:relative; border-radius:var(--r-lg); padding:1.6rem;
  background:linear-gradient(165deg, rgba(39,68,55,.74), rgba(19,37,29,.82));
  backdrop-filter:blur(26px) saturate(1.4);
  border:1px solid rgba(203,178,115,.2);
  box-shadow:var(--sh-3), inset 0 1px 0 rgba(255,255,255,.08);
  opacity:0; transform:translateY(22px); animation:up 1s var(--ease) .7s forwards; }
@media (min-width:560px){ .lead{ padding:2rem; } }
.lead__top{ margin-bottom:1.4rem; }
.lead__kicker{ display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.85rem;
  padding:.34rem .8rem .34rem .6rem; border-radius:var(--r-pill); background:rgba(183,154,80,.14);
  font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); }
.lead__kicker .dot{ animation:blip 2.4s ease-in-out infinite; }
@keyframes blip{ 0%,100%{ opacity:1 } 50%{ opacity:.3 } }
.lead__title{ font-family:var(--display); font-weight:400; font-size:1.7rem; line-height:1.12; }
.lead__sub{ margin-top:.5rem; font-size:.9rem; line-height:1.6; color:var(--fg-soft); }
.lead__trust{ display:flex; align-items:flex-start; gap:.5rem; margin-top:.9rem;
  font-size:.72rem; line-height:1.55; color:var(--fg-faint); }
.lead__trust svg{ width:14px; height:14px; flex:none; margin-top:.15rem; color:var(--gold); }

/* ---------- FORM ---------- */
.form{ position:relative; }
.fld{ position:relative; margin-bottom:.7rem; }
.fld input,.fld select,.fld textarea{
  width:100%; height:60px; padding:1.6rem .95rem .45rem; border-radius:var(--r-sm);
  font:400 .95rem/1.4 var(--body); color:var(--fg);
  background:rgba(255,255,255,.05); border:1px solid var(--line-2); appearance:none;
  transition:border-color .25s, background .25s, box-shadow .25s; }
.fld textarea{ height:auto; min-height:78px; padding-top:1.7rem; resize:vertical; }
.fld input::placeholder,.fld textarea::placeholder{ color:transparent; }
.fld label{ position:absolute; left:1rem; top:1.15rem; pointer-events:none; transform-origin:left top;
  font-size:.95rem; color:var(--fg-soft); transition:transform .22s var(--ease), color .22s; }
.fld label i{ font-style:normal; opacity:.6; font-size:.8em; }
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:0; border-color:var(--gold); background:rgba(255,255,255,.09);
  box-shadow:0 0 0 3px rgba(183,154,80,.18); }
.fld input:focus + label,
.fld input:not(:placeholder-shown) + label,
.fld textarea:focus + label,
.fld textarea:not(:placeholder-shown) + label,
.fld select:focus + label,
.fld.is-filled label{ transform:translateY(-.72rem) scale(.76); color:var(--gold-lt); }
.fld--sel select{ cursor:pointer; }
.fld__chev{ position:absolute; right:1rem; top:1.35rem; width:15px; height:15px;
  transform:rotate(90deg); color:var(--gold-lt); opacity:.7; pointer-events:none; }
.fld-row{ display:grid; gap:.7rem; }
@media (min-width:520px){ .fld-row{ grid-template-columns:1fr 1fr; } }
.err{ font-size:.75rem; line-height:1.5; color:#E8836F; margin-top:.3rem; padding-left:.2rem; }
.err:empty{ display:none; }
.fld.is-bad input,.fld.is-bad select,.fld.is-bad textarea{ border-color:#C9584A; background:rgba(201,88,74,.08); }

.chipset{ border:0; margin:0 0 .8rem; padding:0; }
.chipset legend{ display:flex; align-items:baseline; gap:.5rem; padding:0; margin-bottom:.6rem;
  font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-lt); }
.chipset legend span{ opacity:.5; letter-spacing:.08em; }
.chipset__row{ display:flex; flex-wrap:wrap; gap:.45rem; }
.sizechip{ position:relative; }
.sizechip input{ position:absolute; inset:0; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.sizechip span{ display:block; padding:.62rem 1rem; border-radius:var(--r-pill);
  font-size:.76rem; font-weight:600; color:var(--fg-soft);
  background:rgba(255,255,255,.05); border:1px solid var(--line-2);
  transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease); }
.sizechip:hover span{ border-color:var(--gold-lt); color:var(--fg); }
.sizechip input:checked + span{ background:var(--foil); color:#0C1712; border-color:transparent; transform:translateY(-1px); }
.sizechip input:focus-visible + span{ outline:2px solid var(--gold); outline-offset:2px; }
.chipset.is-bad .sizechip span{ border-color:#C9584A; }

.ok{ position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:.55rem;
  text-align:center; padding:1.5rem; border-radius:var(--r-md);
  background:linear-gradient(165deg, rgba(39,68,55,.98), rgba(19,37,29,.99)); backdrop-filter:blur(8px);
  animation:up .5s var(--ease) both; }
.ok__ring{ width:62px; height:62px; border-radius:50%; display:grid; place-content:center;
  background:rgba(183,154,80,.14); border:1px solid var(--line-gold); color:var(--gold-lt); }
.ok__ring svg{ width:28px; height:28px; }
.ok h3{ font-family:var(--display); font-size:1.45rem; }
.ok p{ font-size:.9rem; color:var(--fg-soft); max-width:30ch; }

/* ---------- OVERVIEW: numbered zig list ---------- */
.zig{ border-top:1px solid var(--line); }
.zig__row{ display:grid; gap:.5rem 2rem; padding:var(--s4) 0; border-bottom:1px solid var(--line);
  transition:background .4s var(--ease); }
@media (min-width:900px){
  .zig__row{ grid-template-columns:5rem minmax(0,22ch) minmax(0,1fr); align-items:baseline; gap:0 var(--s5); }
  .zig__row:nth-child(even){ padding-left:var(--s5); }
}
.zig__row:hover{ background:rgba(237,242,234,.02); }
.zig__n{ font-size:.72rem; font-weight:700; letter-spacing:.18em; color:var(--gold); opacity:.65;
  font-variant-numeric:tabular-nums; }
.zig__h{ font-family:var(--display); font-weight:400; font-size:clamp(1.25rem,1.05rem + .8vw,1.6rem); }
.zig__p{ color:var(--fg-soft); font-size:.97rem; line-height:1.75; max-width:62ch; }

.chips{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:var(--s5); }
.chips li{ padding:.44rem .95rem; border-radius:var(--r-pill); color:var(--gold-lt);
  font-size:.72rem; font-weight:500; background:rgba(183,154,80,.08); border:1px solid var(--line-gold); }

/* ---------- BANDS ---------- */
.band{ position:relative; overflow:hidden; display:flex; align-items:flex-end;
  min-height:56svh; background:var(--sunken); }
@media (min-width:900px){ .band{ min-height:min(64svh,640px); } .band--tall{ min-height:min(76svh,760px); } }
.band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 54%; }
.band::after{ content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(7,16,9,.92) 0%, rgba(7,16,9,.78) 26%, rgba(7,16,9,.46) 46%, rgba(7,16,9,.12) 66%, transparent 84%),
    linear-gradient(0deg, rgba(7,16,9,.82) 0%, rgba(7,16,9,.22) 44%, transparent 74%); }
.band__in{ position:relative; z-index:1; width:100%; max-width:var(--wrap); margin-inline:auto;
  padding:var(--s5) max(1.25rem, env(safe-area-inset-left)); }
@media (min-width:900px){ .band__in{ padding:var(--s6) 2.75rem; } }
.band__eyebrow{ display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1rem;
  padding:.42rem .95rem .42rem .7rem; border-radius:var(--r-pill);
  background:rgba(237,242,234,.1); backdrop-filter:blur(8px);
  font-size:.64rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); }
.band__q{ font-family:var(--display); font-weight:400; font-size:clamp(1.45rem,1rem + 2vw,2.7rem);
  line-height:1.24; letter-spacing:-.01em; max-width:20ch; font-variation-settings:"opsz" 72;
  text-shadow:0 2px 26px rgba(7,16,9,.7); }

/* ---------- HIGHLIGHTS ---------- */
.hl{ display:grid; gap:1rem; }
@media (min-width:900px){ .hl{ grid-template-columns:1fr 1fr; gap:1.25rem; } }
.hl__grp{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:1.7rem; }
.hl__cat{ display:flex; align-items:baseline; gap:.9rem; padding-bottom:1rem; margin-bottom:.4rem;
  border-bottom:1px solid var(--line);
  font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-lt); }
.hl__cat i{ margin-left:auto; font-style:normal; opacity:.4; font-variant-numeric:tabular-nums; }
.hl__list li{ display:flex; align-items:flex-start; gap:.85rem; padding:.85rem 0;
  font-size:.94rem; line-height:1.6; }
.hl__list li + li{ border-top:1px solid rgba(237,242,234,.05); }
.hl__list li b{ font-weight:600; color:var(--gold-lt); }
.hl__list svg{ width:19px; height:19px; flex:none; color:var(--gold); margin-top:.18rem; }

/* ---------- CLUB V ---------- */
.club__shots{ display:grid; gap:1rem; margin-bottom:var(--s5); }
@media (min-width:820px){
  .club__shots{ grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(0,1fr); }
  .shot--lead{ grid-column:span 2; grid-row:span 2; }
}
.shot{ margin:0; position:relative; overflow:hidden; border-radius:var(--r-md); box-shadow:var(--sh-2);
  background:var(--surface); }
.shot img{ width:100%; height:100%; object-fit:cover; aspect-ratio:16/9; transition:transform 1s var(--ease); }
.shot--lead img{ aspect-ratio:16/10; }
.shot:hover img{ transform:scale(1.05); }
.shot figcaption{ position:absolute; inset:auto .6rem .6rem; padding:.5rem .85rem; border-radius:var(--r-pill);
  background:rgba(7,16,9,.66); backdrop-filter:blur(10px); width:fit-content;
  font-size:.62rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--gold-pale); }

.clubl{ display:grid; gap:.2rem; }
@media (min-width:620px){ .clubl{ grid-template-columns:1fr 1fr; column-gap:2rem; } }
@media (min-width:1100px){ .clubl{ grid-template-columns:repeat(4,1fr); } }
.clubl li{ display:flex; align-items:baseline; gap:.8rem; padding:.75rem .9rem; border-radius:var(--r-sm);
  transition:background .3s, transform .3s var(--ease); }
.clubl li:hover{ background:rgba(183,154,80,.07); transform:translateX(3px); }
.clubl i{ font-style:normal; font-size:.64rem; font-weight:700; color:var(--gold); opacity:.55; flex:none;
  font-variant-numeric:tabular-nums; }
.clubl span{ font-family:var(--display); font-weight:500; font-size:1rem; }
.clubl em{ font-style:normal; font-size:.6rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold-lt); opacity:.7; margin-left:.4rem; }

/* ---------- AMENITIES ---------- */
.pills{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:var(--s4); }
.pill{ display:inline-flex; align-items:center; gap:.5rem; padding:.62rem 1.15rem; border-radius:var(--r-pill);
  background:var(--surface); border:1px solid var(--line-2); color:var(--fg-soft);
  font-size:.74rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  transition:background .28s, color .28s, border-color .28s, transform .28s var(--ease); }
.pill i{ font-style:normal; opacity:.5; font-size:.68rem; font-variant-numeric:tabular-nums; }
.pill:hover{ border-color:var(--gold); color:var(--gold-lt); transform:translateY(-1px); }
.pill.is-on{ background:var(--foil); border-color:transparent; color:#0C1712; }

.amen{ display:grid; gap:1rem; grid-auto-flow:dense; }
@media (min-width:620px){
  .amen{ grid-template-columns:repeat(4,1fr); }
  .am{ grid-column:span 2; }
  .am--wide{ grid-column:span 4; }
  .am--tall{ grid-column:span 2; grid-row:span 2; }
}
@media (min-width:1000px){
  .amen{ grid-template-columns:repeat(6,1fr); gap:1.15rem; }
  .am{ grid-column:span 2; }
  .am--wide{ grid-column:span 4; }
  .am--tall{ grid-column:span 2; grid-row:span 2; }
}
.am{ margin:0; position:relative; overflow:hidden; border-radius:var(--r-md); background:var(--surface);
  box-shadow:var(--sh-1); transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.am:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); }
.am img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; transition:transform 1.1s var(--ease); }
.am--wide img{ aspect-ratio:21/9; }
.am--tall img{ aspect-ratio:3/4; }
.am:hover img{ transform:scale(1.05); }
.am figcaption{ position:absolute; inset:auto 0 0 0; padding:3rem 1.15rem 1.15rem; display:grid; gap:.2rem;
  background:linear-gradient(0deg,rgba(7,16,9,.95) 10%,rgba(7,16,9,.5) 58%,transparent); }
.am figcaption b{ font-family:var(--display); font-weight:500; font-size:1.18rem; color:#fff; }
.am figcaption span{ font-size:.72rem; color:var(--gold-pale); opacity:.8; }
.am.is-hidden{ display:none; }

/* ---------- MASTER PLAN ---------- */
.plan{ display:grid; gap:var(--s5); }
@media (min-width:1080px){ .plan{ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:start; } }
.planwrap{ position:relative; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-3);
  background:#F6F1E4; border:1px solid var(--line); }
.planwrap img{ width:100%; height:auto; }
.spot{ position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%);
  width:26px; height:26px; padding:0; border-radius:50%; overflow:hidden; text-indent:-999em;
  background:rgba(183,154,80,.32); box-shadow:0 0 0 1.5px var(--gold), 0 0 0 6px rgba(183,154,80,.18);
  transition:background .3s, box-shadow .3s, transform .3s var(--ease); }
.spot::after{ content:""; position:absolute; inset:9px; border-radius:50%; background:#fff; }
.spot:hover,.spot:focus-visible,.spot.is-on{ background:var(--gold); transform:translate(-50%,-50%) scale(1.18);
  box-shadow:0 0 0 1.5px #fff, 0 0 0 10px rgba(183,154,80,.28); }
.spot.is-on{ animation:pulse 2.4s ease-in-out infinite; }
@keyframes pulse{
  0%,100%{ box-shadow:0 0 0 1.5px #fff,0 0 0 8px rgba(183,154,80,.28) }
  50%    { box-shadow:0 0 0 1.5px #fff,0 0 0 16px rgba(183,154,80,.04) } }

.plantip{ margin-top:1rem; border-radius:var(--r-sm); padding:1rem 1.2rem;
  background:var(--surface); border:1px solid var(--line-gold); }
.plantip b{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--gold-lt); }
.plantip span{ display:block; font-size:.9rem; color:var(--fg-soft); margin-top:.3rem; }

.plan__use{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:1.7rem; }
.plan__use .h3{ margin-bottom:1.2rem; }
.use th,.use td{ text-align:left; padding:.95rem 0; border-bottom:1px solid var(--line); vertical-align:top; }
.use thead th{ font-size:.6rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); padding-bottom:.6rem; }
.use thead th:not(:first-child),.use tbody td,.use tfoot td{ text-align:right; }
.use tbody th{ font-weight:400; font-size:.94rem; }
.use tbody td{ font-size:.88rem; font-variant-numeric:tabular-nums; color:var(--fg-soft); }
.use tbody td:last-child{ width:30%; }
.use td b{ display:block; font-size:.9rem; font-weight:600; color:var(--gold-lt); font-variant-numeric:tabular-nums; }
.bar{ display:block; height:3px; border-radius:2px; background:rgba(183,154,80,.14);
  margin-top:.55rem; position:relative; overflow:hidden; }
.bar::after{ content:""; position:absolute; inset:0 auto 0 0; width:var(--p); border-radius:2px;
  background:var(--foil); transform:scaleX(0); transform-origin:left; transition:transform 1s var(--ease); }
.use.is-in .bar::after{ transform:scaleX(1); }
.use tfoot th,.use tfoot td{ border-bottom:0; padding-top:1.2rem; }
.use tfoot th{ font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-soft); }

/* ---------- CONNECTIVITY ---------- */
.conn{ display:grid; gap:var(--s4); }
@media (min-width:1000px){ .conn{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:var(--s5); align-items:start; } }
.conn__list{ display:grid; gap:.3rem; }
.cn{ width:100%; display:flex; align-items:baseline; gap:1rem; padding:.95rem 1.1rem; border-radius:var(--r-sm);
  text-align:left; transition:background .28s, transform .28s var(--ease); }
.cn:hover,.cn.is-on{ background:var(--surface); transform:translateX(3px); box-shadow:var(--sh-1); }
.cn__t{ font-size:1.55rem; font-weight:600; line-height:1; font-variant-numeric:tabular-nums;
  color:var(--gold-lt); min-width:2.2ch; text-align:right; }
.cn__u{ font-size:.62rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-faint); }
.cn__n{ font-family:var(--display); font-weight:500; font-size:1.12rem; margin-left:auto; text-align:right; }

.cmap{ width:100%; height:auto; border-radius:var(--r-md); background:var(--surface);
  border:1px solid var(--line); box-shadow:var(--sh-1); }
.cmap__roads path{ stroke:rgba(237,242,234,.08); stroke-width:6; stroke-linecap:round; fill:none; }
.cmap__ring{ fill:none; stroke:rgba(183,154,80,.22); stroke-width:1; stroke-dasharray:3 7; }
.cmap__site circle{ fill:var(--gold); }
.cmap__site text{ font:600 11px var(--body); letter-spacing:.16em; fill:var(--gold-pale); text-anchor:middle; }
.cpin circle{ fill:var(--raised); stroke:var(--fg-faint); stroke-width:1.4; transition:fill .25s, stroke .25s, r .25s; }
.cpin text{ font:500 10.5px var(--body); fill:var(--fg-faint); text-anchor:middle; transition:fill .25s; }
.cpin.is-on circle{ fill:var(--gold); stroke:var(--gold-pale); stroke-width:2.5; r:9; }
.cpin.is-on text{ fill:var(--gold-lt); font-weight:700; }

/* ---------- TRUST ---------- */
.card__ico{ width:46px; height:46px; border-radius:var(--r-sm); display:grid; place-content:center; flex:none;
  background:rgba(183,154,80,.11); border:1px solid var(--line-gold); color:var(--gold-lt); }
.card__ico svg{ width:22px; height:22px; }

.journey{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; margin-bottom:var(--s4); }
.jr{ background:rgba(29,51,40,.82); border:1px solid rgba(237,242,234,.18); border-radius:var(--r-md);
  padding:1.6rem 1rem; text-align:center; }
.jr__n{ display:block; font-size:clamp(1.9rem,1.3rem + 2.3vw,3.2rem); font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums; letter-spacing:-.03em;
  background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; }
.jr__l{ display:block; margin-top:.5rem; font-size:.62rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fg-faint); }

.trust{ display:grid; gap:.8rem; }
@media (min-width:560px){ .trust{ grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .trust{ grid-template-columns:repeat(4,1fr); gap:1rem; } }
.tr{ background:rgba(29,51,40,.82); border:1px solid rgba(237,242,234,.18); border-radius:var(--r-md); padding:1.5rem 1.3rem;
  transition:background .35s, transform .35s var(--ease), border-color .35s; }
.tr:hover{ background:var(--raised); border-color:var(--line-gold); transform:translateY(-4px); }
.tr h3{ font-family:var(--display); font-weight:500; font-size:1.05rem; margin:1rem 0 .35rem; }
.tr p{ font-size:.85rem; color:var(--fg-soft); line-height:1.62; }

.ticker{ margin-top:var(--s6); border-block:1px solid var(--line); overflow:hidden; padding-block:1.2rem; }
.ticker__t{ display:flex; align-items:center; gap:2.6rem; width:max-content; animation:march 32s linear infinite; }
.ticker__t span{ font-family:var(--display); font-weight:400; font-size:clamp(1.4rem,1rem + 1.5vw,2.2rem);
  background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; white-space:nowrap; }
.ticker__t svg{ width:16px; height:16px; color:var(--gold); opacity:.45; flex:none; }
@keyframes march{ to{ transform:translateX(-50%) } }
.ticker:hover .ticker__t{ animation-play-state:paused; }

/* ---------- PORTFOLIO ---------- */
.port{ display:grid; gap:1rem; }
@media (min-width:820px){ .port{ grid-template-columns:1.15fr .95fr .95fr; gap:1.25rem; } }
.port__col{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-md); padding:1.5rem; }
.port__h{ display:flex; align-items:baseline; gap:.7rem; padding-bottom:.8rem; margin-bottom:.3rem;
  border-bottom:1px solid var(--line);
  font-size:.66rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-lt); }
.port__h i{ margin-left:auto; font-style:normal; opacity:.45; font-variant-numeric:tabular-nums; }
.port__l li{ display:flex; align-items:baseline; gap:.7rem; padding:.7rem 0; font-size:.88rem; color:var(--fg-soft); }
.port__l li + li{ border-top:1px solid rgba(237,242,234,.05); }
.port__l b{ margin-left:auto; font-size:.7rem; font-weight:600; color:var(--gold-lt); white-space:nowrap;
  font-variant-numeric:tabular-nums; }
.port__l li.is-this{ color:var(--fg); font-weight:600; }
.port__l li.is-this::before{ content:"\25B8"; color:var(--gold); }

/* ---------- ENQUIRY ---------- */
.enq{ position:relative; z-index:1; display:grid; gap:var(--s5); }
@media (min-width:1000px){ .enq{ grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:var(--s7); align-items:start; } }
.enq__form{ background:rgba(39,68,55,.86); border:1px solid rgba(237,242,234,.22); border-radius:var(--r-lg);
  padding:1.6rem; box-shadow:var(--sh-2); }
@media (min-width:560px){ .enq__form{ padding:2.2rem; } }
.contact{ margin-top:var(--s4); display:grid; gap:1rem; }
.contact li{ display:flex; gap:1rem; align-items:flex-start; }
.contact li > div{ min-width:0; }
.contact__k{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-lt); margin-bottom:.3rem; }
.contact a{ text-decoration:none; border-bottom:1px solid var(--line-gold); font-size:.95rem; word-break:break-word; }
.contact a:hover{ border-color:var(--gold); }
.contact address{ font-size:.92rem; color:var(--fg-soft); line-height:1.65; }

/* ---------- FOOTER ---------- */
.foot{ background:var(--sunken); border-top:1px solid var(--line); padding-top:var(--s6);
  padding-bottom:max(1rem, env(safe-area-inset-bottom)); }
.foot__top{ display:grid; gap:var(--s4); padding-bottom:var(--s5); }
@media (min-width:840px){ .foot__top{ grid-template-columns:1.6fr 1fr 1.4fr; gap:var(--s5); } }
.foot__name{ font-family:var(--display); font-weight:400; font-size:1.6rem; margin-top:.8rem; }
.foot__by{ font-size:.88rem; color:var(--fg-soft); margin-top:.5rem; max-width:38ch; line-height:1.7; }
.foot h3{ font-size:.64rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); margin-bottom:1.1rem; }
.foot__nav,.foot__c{ display:flex; flex-direction:column; gap:.6rem; align-items:flex-start; }
.foot__nav a,.foot__c a{ text-decoration:none; font-size:.9rem; color:var(--fg-soft); transition:color .25s; }
.foot__nav a:hover,.foot__c a:hover{ color:var(--gold-lt); }
.foot__c address{ font-size:.87rem; color:var(--fg-soft); line-height:1.72; margin-top:.3rem; }
.foot__legal{ border-top:1px solid var(--line); padding-top:1.6rem; display:grid; gap:1.2rem; }
@media (min-width:900px){ .foot__legal{ grid-template-columns:auto 1fr; align-items:start; gap:2.5rem; } }
.badges{ display:flex; flex-wrap:wrap; gap:.5rem; align-content:start; }
.badge{ padding:.5rem 1rem; border-radius:var(--r-pill); border:1px solid var(--line); color:var(--fg-soft);
  font-size:.64rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; }
.badge b{ color:var(--gold-lt); font-weight:700; }
.foot__meta{ display:grid; gap:.5rem; }
.foot__cp{ font-size:.75rem; color:var(--fg-soft); }
.foot__disc{ font-size:.72rem; color:var(--fg-faint); max-width:70ch; line-height:1.6; }

/* ---------- FLOATING ACTIONS ---------- */
.fab{ position:fixed; z-index:var(--z-fab); display:flex; flex-direction:column; align-items:flex-end; gap:.55rem;
  right:max(1rem, env(safe-area-inset-right)); bottom:max(1rem, env(safe-area-inset-bottom)); }
@media (min-width:900px){ .fab{ right:1.75rem; bottom:1.75rem; } }
.fab__items{ display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; }
.fab__i{ display:flex; align-items:center; gap:.6rem; padding:.7rem 1.1rem; border-radius:var(--r-pill);
  text-decoration:none; background:rgba(12,23,18,.94); backdrop-filter:blur(12px);
  border:1px solid var(--line-gold); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  opacity:0; transform:translateY(10px) scale(.94); pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), background .25s, color .25s; }
.fab.is-open .fab__i{ opacity:1; transform:none; pointer-events:auto; }
.fab.is-open .fab__i:nth-child(2){ transition-delay:.05s; }
.fab.is-open .fab__i:nth-child(3){ transition-delay:.1s; }
.fab__i:hover{ background:var(--gold); color:#0C1712; }
.fab__i svg{ width:17px; height:17px; }
.fab__i--wa svg{ color:#3DBE6A; }
.fab__i--wa:hover svg{ color:#0C1712; }
.fab__t{ width:58px; height:58px; border-radius:50%; display:grid; place-content:center;
  background:var(--foil); color:#0C1712; box-shadow:0 14px 32px -12px rgba(183,154,80,.75);
  transition:transform .35s var(--ease); }
.fab__t svg{ width:22px; height:22px; transition:transform .35s var(--ease); }
.fab.is-open .fab__t svg{ transform:rotate(45deg); }
.fab__t:hover{ transform:scale(1.07); }

/* ---------- LIGHTBOX ---------- */
.lb{ position:fixed; inset:0; z-index:var(--z-lb); background:rgba(7,16,9,.96); display:grid; place-items:center;
  padding:1.5rem; overflow:auto; overscroll-behavior:contain; animation:fade .3s ease; }
@keyframes fade{ from{ opacity:0 } }
.lb img{ max-width:100%; height:auto; border-radius:var(--r-sm); box-shadow:var(--sh-3); }
.lb__x{ position:fixed; right:1.25rem; top:1.25rem; width:46px; height:46px; border-radius:50%;
  display:grid; place-content:center; color:var(--gold-lt); background:rgba(12,23,18,.9); border:1px solid var(--line-gold); }
.lb__x svg{ width:20px; height:20px; }
body.is-locked{ overflow:hidden; }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }

@media (max-width:760px){
  .plate img{ object-position:48% 56%; }
  .hero .hero__scrim{ background:
    linear-gradient(180deg, rgba(7,16,9,.6) 0%, rgba(7,16,9,.26) 26%, rgba(7,16,9,.56) 58%, rgba(7,16,9,.93) 100%),
    linear-gradient(90deg, rgba(7,16,9,.44) 0%, transparent 74%); }
  .hero__glow{ display:none; }
}
@media (max-width:430px){
  .brand__by{ display:none; }
  .brand__disc{ width:34px; height:34px; }
  .btn--sm{ padding:.62rem .9rem; font-size:.62rem; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important; }
  .hero__h1 .line>span{ transform:none; }
  .hero__eyebrow,.hero__sub,.hero__stats,.hero__meta,.lead,.reveal{ opacity:1; transform:none; }
  .hero__stack{ transform:none; }
  .plate img{ transform:scale(1.02); }
  .tick.is-on::after{ transform:scaleX(1); }
  .grain{ display:none; }
}

/* =====================================================================
   L2 — CENTRED EDITORIAL HERO
   The render stays almost fully visible; the form collapses to one bar.
   ===================================================================== */
.hero--centred .hero__in{ display:block; text-align:left; max-width:none; }
.hero--centred .hero__copy{ display:flex; flex-direction:column; align-items:flex-start; max-width:760px; }
.hero--centred .hero__h1{ max-width:15ch; margin-inline:0; }
.hero--centred .hero__sub{ max-width:44ch; margin-inline:0; }
.hero--centred .hero__stats{ justify-content:start; }
@media (min-width:560px){ .hero--centred .hero__stats li{ align-items:flex-start; } }
.hero--centred .hero__meta{ justify-content:flex-start; align-items:flex-start; flex-direction:column; gap:.9rem; }
/* the scrim only needs to lift type off the base, not mask half the frame */
.hero--centred .hero__scrim{
  background:
    linear-gradient(90deg, rgba(7,16,9,.56) 0%, rgba(7,16,9,.36) 28%, rgba(7,16,9,.12) 54%, rgba(7,16,9,0) 78%),
    linear-gradient(0deg, rgba(7,16,9,.24) 0%, rgba(7,16,9,.04) 44%, rgba(7,16,9,.02) 100%); }
.hero--centred .plate img{ filter:brightness(1.34) saturate(1.12) contrast(1.08); }
/* the type carries its own shadow so the picture can stay bright */
.hero--centred .hero__h1{ text-shadow:0 3px 16px rgba(7,16,9,.82), 0 1px 28px rgba(7,16,9,.58); }
.hero--centred .hero__sub{ color:#fff; font-weight:700; text-shadow:0 2px 12px rgba(7,16,9,.8); }
.hero--centred .hero__stats b{ text-shadow:0 2px 16px rgba(7,16,9,.68); }
.hero--centred .hero__stats span{ color:rgba(255,255,255,.9); text-shadow:0 1px 10px rgba(7,16,9,.85); }
.hero--centred .hero__fine,.hero--centred .hero__cap{ color:rgba(255,255,255,.9); text-shadow:0 1px 10px rgba(7,16,9,.82); }
.hero--centred .hero__glow{ background:radial-gradient(56% 50% at 50% 38%, rgba(183,154,80,.1), transparent 74%); }
@media (max-width:720px){
  .hero--centred .hero__in{ text-align:left; }
  .hero--centred .hero__copy{ max-width:100%; }
  .hero__approval{ width:100%; align-items:flex-start; flex-direction:column; gap:.18rem; border-radius:14px; }
  .hero__approval b{ white-space:normal; overflow-wrap:anywhere; }
}

/* one-line lead bar */
.leadbar{ width:min(100%,620px); margin:.65rem auto 0; padding:.55rem;
  display:grid; gap:.5rem; border-radius:var(--r-lg);
  background:rgba(24,44,32,.62); backdrop-filter:blur(22px) saturate(1.35);
  border:1px solid rgba(203,178,115,.24);
  box-shadow:var(--sh-3), inset 0 1px 0 rgba(255,255,255,.08);
  opacity:0; transform:translateY(20px); animation:up 1s var(--ease) .95s forwards; }
@media (min-width:760px){ .leadbar{ grid-template-columns:1fr 1fr auto; align-items:center; border-radius:var(--r-pill); padding:.5rem .5rem .5rem 1.1rem; } }
.leadbar .fld{ margin:0; }
.leadbar .fld input,.leadbar .fld select{ height:52px; border:0; background:transparent; padding:1.35rem .8rem .3rem; }
.leadbar .fld input:focus,.leadbar .fld select:focus{ box-shadow:none; background:rgba(255,255,255,.06); border-radius:var(--r-sm); }
.leadbar .fld label{ left:.85rem; top:.95rem; font-size:.9rem; }
.leadbar .fld__chev{ top:1.15rem; right:.7rem; }
.leadbar .err{ position:absolute; top:100%; left:.6rem; margin:0; white-space:nowrap; }
@media (min-width:760px){
  .leadbar .fld + .fld{ border-left:1px solid rgba(237,242,234,.12); }
  .leadbar .btn{ padding:1rem 1.6rem; }
}
.leadbar .btn{ width:100%; }
@media (min-width:760px){ .leadbar .btn{ width:auto; } }
.leadbar__note{ grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.35rem 0 .1rem; font-size:.72rem; font-weight:700; color:#fff;
  text-shadow:0 1px 10px rgba(7,16,9,.82); }
.leadbar__note svg{ width:13px; height:13px; color:var(--gold); }
@media (min-width:760px){ .leadbar__note{ display:none; } }
.hero--centred .lead__belt{ width:min(100%,620px); margin:.75rem auto 0; display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:0; border-radius:0; background:transparent;
  border:0; backdrop-filter:none;
  font-size:.76rem; font-weight:800; color:#fff; text-shadow:0 1px 10px rgba(7,16,9,.86);
  opacity:0; animation:up .9s ease 1.2s forwards; }
.hero--centred .lead__belt svg{ width:13px; height:13px; color:var(--gold); }

/* =====================================================================
   L3 — IMAGE-FIRST BAND  (full-bleed, copy in the corner, nothing else)
   ===================================================================== */
.showcase{ position:relative; min-height:78svh; display:flex; align-items:flex-end; overflow:hidden; background:var(--sunken); }
@media (min-width:900px){ .showcase{ min-height:min(88svh,880px); } }
.showcase img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.showcase img{ filter:brightness(1.08) saturate(1.05); }
.showcase::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(7,16,9,.88) 0%, rgba(7,16,9,.1) 46%, transparent 72%); }
.showcase__in{ position:relative; z-index:1; width:100%; max-width:var(--wrap); margin-inline:auto;
  padding:var(--s5) max(1.25rem, env(safe-area-inset-left)) var(--s6); }
@media (min-width:900px){ .showcase__in{ padding:var(--s6) 2.75rem var(--s7); } }
.showcase__h{ font-family:var(--display); font-weight:400; font-size:clamp(1.8rem,1rem + 3vw,3.4rem);
  line-height:1.14; letter-spacing:-.012em; max-width:18ch; font-variation-settings:"opsz" 96;
  text-shadow:0 2px 30px rgba(7,16,9,.75); }
.showcase__h em{ font-style:italic; color:var(--gold-lt); }
.showcase__p{ margin-top:1rem; max-width:52ch; color:rgba(237,242,234,.86); font-size:1rem; }
.showcase__cta{ margin-top:1.6rem; }

/* =====================================================================
   L4 — FRAMED PLATE  (ivory ground, image untouched in its own frame)
   ===================================================================== */
.framed{ background:var(--ivory); color:var(--ink); position:relative; }
.framed .h2{ color:var(--ink); text-shadow:none; }
.framed .lede{ color:var(--ink-soft); }
.framed .eyebrow{ background:rgba(138,114,51,.1); border-color:rgba(138,114,51,.3); color:var(--gold-dk); }
.framed .h2,.framed .h3{ color:var(--ink); }
.framed .h2 em{ color:var(--gold-dk); }
.framed .lede,.framed p{ color:var(--ink-soft); }
.framed .cap{ color:#7C8880; }
.framed__row{ display:grid; gap:var(--s4); align-items:center; }
@media (min-width:900px){
  .framed__row{ grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:var(--s6); }
  .framed__row--flip > .framed__fig{ order:-1; }
}
.framed__fig{ margin:0; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-2); background:var(--ivory-2); }
.framed__fig img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform 1.1s var(--ease); }
.framed__fig:hover img{ transform:scale(1.03); }
.framed__cap{ margin-top:.75rem; font-size:.74rem; color:#7C8880; }
.framed .chips li{ background:rgba(138,114,51,.09); border-color:rgba(138,114,51,.28); color:var(--gold-dk); }
.framed .zig{ border-top-color:rgba(20,32,26,.12); }
.framed .zig__row{ border-bottom-color:rgba(20,32,26,.12); }
.framed .zig__row:hover{ background:rgba(20,32,26,.03); }
.framed .zig__h{ color:var(--ink); }
.framed .zig__p{ color:var(--ink-soft); }
.framed .zig__n{ color:var(--gold-dk); }
/* a framed gallery strip — several plates, no overlay on any of them */
.plates{ display:grid; gap:1.1rem; margin-top:var(--s5); }
@media (min-width:760px){ .plates{ grid-template-columns:repeat(3,1fr); } }
.plates figure{ margin:0; }
.plates img{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--r-md); box-shadow:var(--sh-1); }
.plates figcaption{ margin-top:.7rem; font-size:.76rem; color:#7C8880; }
.plates figcaption b{ display:block; font-family:var(--display); font-size:1.05rem; color:var(--ink); margin-bottom:.15rem; }

/* =====================================================================
   DENSITY PASS — fewer words, more picture
   ===================================================================== */

/* three image-backed pillars replace the five-row text list */
.pillars{ display:grid; gap:1.1rem; }
@media (min-width:820px){ .pillars{ grid-template-columns:repeat(3,1fr); gap:1.25rem; } }
.pillar{ position:relative; overflow:hidden; border-radius:var(--r-md); min-height:330px;
  display:flex; align-items:flex-end; box-shadow:var(--sh-1);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease); }
.pillar:hover{ transform:translateY(-5px); box-shadow:var(--sh-2); }
.pillar > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(1.22) saturate(1.09) contrast(1.04);
  transition:transform 1.1s var(--ease); }
.pillar:hover > img{ transform:scale(1.05); }
.pillar::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(13,28,21,.82) 2%, rgba(13,28,21,.34) 48%, rgba(13,28,21,.04) 82%); }
.pillar__in{ position:relative; z-index:1; padding:1.5rem 1.4rem; }
.pillar__n{ display:block; font-size:clamp(1.7rem,1.3rem + 1.4vw,2.3rem); font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums; letter-spacing:-.02em; margin-bottom:.5rem;
  background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; }
.pillar h3{ font-family:var(--display); font-weight:500; font-size:1.22rem; color:#fff; margin-bottom:.35rem; }
.pillar p{ font-size:.88rem; line-height:1.6; color:rgba(245,248,242,.9); max-width:30ch; }

/* highlights: six marquee points large, the rest as quiet chips */
.hgrid{ display:grid; gap:.6rem; }
@media (min-width:700px){ .hgrid{ grid-template-columns:1fr 1fr; gap:.7rem 2.5rem; } }
@media (min-width:1150px){ .hgrid{ grid-template-columns:repeat(3,1fr); } }
.hgrid li{ display:flex; align-items:flex-start; gap:1rem; padding:1.35rem 1.2rem;
  border-radius:var(--r-md); background:rgba(29,51,40,.78); border:1px solid rgba(237,242,234,.18);
  backdrop-filter:blur(8px) saturate(1.08);
  transition:background .35s, border-color .35s, transform .35s var(--ease); }
.hgrid li:hover{ background:var(--raised); border-color:var(--line-gold); transform:translateY(-3px); }
.hgrid svg{ width:22px; height:22px; flex:none; color:var(--gold); margin-top:.15rem; }
.hgrid b{ display:block; font-family:var(--display); font-weight:500; font-size:1.12rem; color:var(--fg); margin-bottom:.2rem; }
.hgrid span{ font-size:.84rem; color:#D8E1DA; line-height:1.55; }
.hmore{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:var(--s4); }
.hmore li{ padding:.5rem 1rem; border-radius:var(--r-pill); font-size:.78rem; color:var(--fg-soft);
  background:rgba(237,242,234,.04); border:1px solid var(--line); }
.hmore__lead{ width:100%; margin-bottom:.35rem; font-size:.68rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); border:0; background:none; padding:0; }

/* portfolio: lead with the count, name only the marquee projects */
.port__col .port__count{ display:block; font-size:2.6rem; font-weight:600; line-height:1;
  font-variant-numeric:tabular-nums; letter-spacing:-.03em; margin-bottom:.15rem;
  background:var(--foil); -webkit-background-clip:text; background-clip:text; color:transparent; }
.port__col .port__lab{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fg-faint); margin-bottom:1.1rem; }
.port__more{ margin-top:.9rem; font-size:.78rem; color:var(--fg-faint); }

/* ---- contrast repairs after the brightness pass ---- */
/* the gold foil on "Future" washed out against a bright warm plate */
.hero--centred .hero__h1 em{
  background:none; -webkit-background-clip:initial; background-clip:initial;
  color:var(--gold-pale);
  text-shadow:0 2px 14px rgba(7,16,9,.85), 0 1px 40px rgba(7,16,9,.6); }
/* a thin veil at the very top keeps the brand and nav legible over bright sky */
.hero::before{ content:""; position:absolute; inset:0 0 auto; height:160px; z-index:3; pointer-events:none;
  background:linear-gradient(180deg, rgba(7,16,9,.28), transparent); }
.nav:not(.is-stuck) .brand__name,
.nav:not(.is-stuck) .nav__links a{ text-shadow:0 1px 12px rgba(7,16,9,.8); }
.nav:not(.is-stuck) .brand__by{ color:var(--gold-pale); opacity:.9; text-shadow:0 1px 10px rgba(7,16,9,.85); }
.hero__eyebrow{ background:rgba(7,16,9,.32); backdrop-filter:blur(8px); border-color:rgba(232,219,176,.42); color:var(--gold-pale); font-weight:800; }

/* Color option F: cool sky blue and white */
:root{
  --bg:#EAF4F7; --surface:#FFFFFF; --raised:#F8FCFD; --sunken:#14313B;
  --fg:#102B34; --fg-soft:#45636D; --fg-faint:#6F8790;
  --gold:#AF7C21; --gold-lt:#C69435; --gold-pale:#FFE3A2; --gold-dk:#755113;
  --line:rgba(16,43,52,.14); --line-2:rgba(16,43,52,.22); --line-gold:rgba(175,124,33,.38);
  --foil:linear-gradient(100deg,#755113,#AF7C21 34%,#FFE3A2 58%,#AF7C21);
}
html{ color-scheme:light; }
body{ background:var(--bg); color:var(--fg); }
.nav,.nav.is-stuck,.foot{ background:rgba(16,43,52,.88); color:#F7FBFC; }
.sec:not(.hero):not(.showcase):not(.has-bg):not(.sec--enq):not(.framed),.club{ background:linear-gradient(180deg,#EAF4F7,#F8FCFD); }
.h2{ color:var(--fg); text-shadow:none; font-family:var(--body); font-weight:800; }
.h2 em{ color:#0F7895; font-style:normal; }
.lede,.hgrid span,.tr p,.hmore li,.port__l li,.contact address{ color:var(--fg-soft); }
.eyebrow{ background:#FFFFFF; color:#0F7895; border-color:rgba(15,120,149,.22); }
.hgrid li,.jr,.tr,.port__col,.pill,.hl__grp,.plan__use,.cmap,.enq__form{ background:rgba(255,255,255,.94); color:var(--fg); border-color:rgba(16,43,52,.14); box-shadow:0 22px 48px -38px rgba(16,43,52,.38); }
.hgrid b,.tr h3,.port__h,.clubl span{ color:var(--fg); }
.sec__bg{ opacity:.34; filter:brightness(1.3) saturate(1.05) contrast(1.02); }
.has-bg > .wrap::before{ background:linear-gradient(90deg,rgba(234,244,247,.96),rgba(234,244,247,.68) 54%,transparent 84%); }
.sec--enq{ background:#DDECF1; }
.fld input,.fld select,.fld textarea{ background:#F3F8FA; color:var(--fg); border-color:rgba(16,43,52,.16); }

/* Final readability pass for option F */
.has-bg .h2,
.has-bg .lede,
.sec--enq .h2,
.sec--enq .lede{ text-shadow:0 1px 16px rgba(255,255,255,.72); }
.hgrid li,.jr,.tr,.port__col,.pill,.hl__grp,.plan__use,.cmap,.enq__form{
  background:rgba(255,255,255,.96);
  border-color:rgba(16,43,52,.14);
  box-shadow:0 22px 52px -40px rgba(16,43,52,.4);
}
.hgrid li:hover,.tr:hover{ background:#fff; border-color:rgba(175,124,33,.42); }
.hgrid span,.tr p{ color:#45636D; }
.jr__l{ color:#5F7B84; }
.am figcaption,.shot figcaption{
  background:linear-gradient(180deg,transparent,rgba(9,24,30,.82));
  color:#fff;
  text-shadow:0 1px 10px rgba(0,0,0,.72);
}

/* Hero and page balance: warm daylight, sharp image, sharp information */
:root{
  --bg:#F3F1EA;
  --surface:#FFFFFF;
  --raised:#FBFAF6;
  --sunken:#1D352F;
  --fg:#17312F;
  --fg-soft:#536C67;
  --fg-faint:#788985;
  --gold:#A97818;
  --gold-lt:#BE8C2A;
  --gold-pale:#F5D37B;
  --line:rgba(23,49,47,.15);
  --line-2:rgba(23,49,47,.24);
  --line-gold:rgba(169,120,24,.34);
  --foil:linear-gradient(100deg,#7C560E,#A97818 42%,#EBCB74 72%,#9D6B12);
}
body{ background:var(--bg); color:var(--fg); }
.sec:not(.hero):not(.showcase):not(.has-bg):not(.sec--enq):not(.framed),.club{
  background:linear-gradient(180deg,#F3F1EA,#FBFAF6);
}
.hero{ min-height:100svh; background:#D9E8DC; }
.hero__stack{ background:#D9E8DC; }
.plate img{
  object-position:58% 52%;
  transform:none;
  filter:brightness(1.08) saturate(1.05) contrast(1.06);
}
.plate.is-on img{ animation:none; }
.hero--centred .plate img{
  filter:brightness(1.08) saturate(1.05) contrast(1.06);
}
.hero__scrim,
.hero--centred .hero__scrim{
  background:
    linear-gradient(90deg, rgba(246,244,235,.97) 0%, rgba(246,244,235,.92) 32%, rgba(246,244,235,.52) 56%, rgba(246,244,235,.14) 76%, rgba(246,244,235,0) 100%),
    linear-gradient(0deg, rgba(22,45,38,.18) 0%, transparent 34%);
}
.hero__glow,
.hero--centred .hero__glow{ display:none; }
.hero::before{
  height:145px;
  background:linear-gradient(180deg, rgba(22,45,38,.22), transparent);
}
.hero__in{
  padding-top:calc(var(--nav-h) + 1.4rem);
  padding-bottom:2.4rem;
}
@media (min-width:900px){
  .hero__in{ padding-left:max(4.1rem, env(safe-area-inset-left)); padding-right:3rem; }
}
@media (min-width:1280px){
  .hero__in{ padding-left:max(4.6rem, env(safe-area-inset-left)); }
}
.hero--centred .hero__copy{
  max-width:720px;
  padding:1.25rem 0;
}
.hero__eyebrow{
  background:rgba(255,255,255,.86);
  color:#8A6419;
  border-color:rgba(169,120,24,.28);
  box-shadow:0 14px 34px -28px rgba(23,49,47,.45);
  text-shadow:none;
}
.hero__h1,
.hero--centred .hero__h1{
  max-width:14.5ch;
  font-family:var(--sans);
  font-size:clamp(2.25rem,1.2rem + 3.9vw,4.85rem);
  font-weight:850;
  line-height:1.02;
  color:#17312F;
  text-shadow:none;
}
.hero__h1 .line{ overflow:visible; padding-bottom:.02em; }
.hero__h1 .line>span{ transform:none; animation:none; }
.hero__eyebrow,.hero__sub,.hero__stats,.hero__meta,.hero__frames,.leadbar{
  opacity:1;
  transform:none;
  animation:none;
}

/* TRUE FINAL OVERRIDE: clean, aligned, less boxy information sections */
#highlights{
  background:#EEF6F1;
}
#highlights .sec__bg{
  opacity:.72;
  filter:brightness(1.02) saturate(1.12) contrast(1.06);
  mask-image:none;
  -webkit-mask-image:none;
  object-position:center 45%;
}
#highlights.has-bg > .wrap::before{
  inset:-3rem -2rem;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(239,247,243,.9),rgba(239,247,243,.58) 42%,rgba(239,247,243,.74)),
    linear-gradient(90deg,rgba(239,247,243,.92),rgba(239,247,243,.34) 72%);
}
#highlights .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  align-items:end;
  gap:var(--s5);
  margin-bottom:var(--s4);
}
#highlights .eyebrow{
  grid-column:1/-1;
  width:fit-content;
  background:rgba(255,255,255,.76);
  border-color:rgba(19,58,53,.16);
  color:#0E8A80;
}
#highlights .h2{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(2.25rem,1.22rem + 3.7vw,4.7rem);
  font-weight:850;
  line-height:1.04;
  color:#123633;
  text-shadow:none;
}
#highlights .h2 em{
  color:#0E8A80;
  font-style:normal;
}
#highlights .lede{
  max-width:39ch;
  color:#3F625D;
  font-size:clamp(1rem,.92rem + .28vw,1.16rem);
  font-weight:560;
  line-height:1.65;
  text-shadow:none;
}
#highlights .hgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  counter-reset:highlight;
}
#highlights .hgrid li{
  counter-increment:highlight;
  min-height:132px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:.82rem;
  padding:1rem 1.05rem;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.44));
  border:1px solid rgba(19,58,53,.14);
  box-shadow:0 16px 38px -34px rgba(19,58,53,.45);
  backdrop-filter:blur(2px);
}
#highlights .hgrid li::before{
  content:"0" counter(highlight);
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:#123633;
  color:#F5D37B;
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.04em;
  opacity:1;
}
#highlights .hgrid svg{
  display:none;
}
#highlights .hgrid b{
  font-family:var(--sans);
  font-size:clamp(1rem,.95rem + .18vw,1.15rem);
  font-weight:800;
  line-height:1.22;
  color:#143A36;
}
#highlights .hgrid span{
  display:block;
  margin-top:.38rem;
  max-width:34ch;
  color:#476B65;
  font-size:.88rem;
  font-weight:520;
  line-height:1.5;
}
#highlights .hmore{
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
}
#highlights .hmore li{
  background:rgba(255,255,255,.42);
  border-color:rgba(19,58,53,.17);
  color:#42635E;
}
#highlights .hmore__lead{
  width:auto;
  min-width:170px;
  background:rgba(255,255,255,.6);
  color:#0E8A80;
}
#trust{
  background:#17352F;
  padding-bottom:var(--s7);
}
#trust .sec__bg{
  opacity:.74;
  filter:brightness(.98) saturate(1.12) contrast(1.07);
  mask-image:none;
  -webkit-mask-image:none;
  object-position:center;
}
#trust.has-bg > .wrap::before{
  inset:-3rem -2rem;
  background:
    linear-gradient(90deg,rgba(12,33,29,.78),rgba(12,33,29,.48) 48%,rgba(12,33,29,.18) 82%),
    linear-gradient(0deg,rgba(12,33,29,.38),rgba(12,33,29,.08) 52%,rgba(12,33,29,.16));
}
#trust .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  align-items:center;
  gap:var(--s5);
  margin-bottom:var(--s4);
}
#trust .h2{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(2.15rem,1.2rem + 3.5vw,4.45rem);
  font-weight:850;
  line-height:1.05;
}
#trust .h2 em{
  font-style:normal;
}
#trust .journey{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin-bottom:1rem;
}
#trust .jr{
  min-height:108px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1rem;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.78);
  backdrop-filter:blur(2px);
}
#trust .jr__n{
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:#F5D37B;
  font-family:var(--sans);
  font-size:clamp(2.35rem,1.9rem + 1.8vw,3.85rem);
  font-weight:850;
  line-height:.95;
  text-shadow:0 2px 14px rgba(0,0,0,.58);
}
#trust .jr__l{
  margin-top:.5rem;
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
#trust .trust{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
}
#trust .tr{
  min-height:148px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.76);
  backdrop-filter:blur(2px);
}
#trust .ticker{
  position:relative;
  z-index:2;
  width:min(var(--wrap),calc(100% - 2rem));
  margin:1.15rem auto 0;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,31,27,.52);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.8);
}
#trust .ticker__t{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.75rem 1.05rem;
  width:auto;
  padding:.58rem 1rem;
  transform:none;
  animation:none;
}
#trust .ticker__t span{
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#F5D37B;
  white-space:nowrap;
}
#trust .ticker__t svg{
  width:13px;
  height:13px;
  flex:0 0 auto;
  color:rgba(245,211,123,.66);
}
#enquire .enq__form{
  border-radius:22px;
}
@media (max-width:1000px){
  #highlights .shead,
  #trust .shead{
    grid-template-columns:1fr;
  }
  #highlights .hgrid,
  #trust .trust{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  #highlights .hgrid,
  #trust .journey,
  #trust .trust{
    grid-template-columns:1fr;
  }
  #highlights .hmore__lead{
    width:100%;
  }
  #trust .ticker{
    border-radius:16px;
  }
}

/* FINAL 01 polish: aligned information, softer gradients, visible backgrounds */
#highlights{
  background:#EEF6F1;
}
#highlights .sec__bg{
  opacity:.72;
  filter:brightness(1.02) saturate(1.12) contrast(1.06);
  mask-image:none;
  -webkit-mask-image:none;
  object-position:center 45%;
}
#highlights.has-bg > .wrap::before{
  inset:-3rem -2rem;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(239,247,243,.9),rgba(239,247,243,.58) 42%,rgba(239,247,243,.74)),
    linear-gradient(90deg,rgba(239,247,243,.92),rgba(239,247,243,.34) 72%);
}
#highlights .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  align-items:end;
  gap:var(--s5);
  margin-bottom:var(--s4);
}
#highlights .eyebrow{
  grid-column:1/-1;
  width:fit-content;
  background:rgba(255,255,255,.76);
  border-color:rgba(19,58,53,.16);
  color:#0E8A80;
  box-shadow:0 14px 40px -34px rgba(19,58,53,.45);
}
#highlights .h2{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(2.25rem,1.22rem + 3.7vw,4.7rem);
  font-weight:850;
  line-height:1.04;
  color:#123633;
  text-shadow:none;
}
#highlights .h2 em{
  color:#0E8A80;
  font-style:normal;
}
#highlights .lede{
  max-width:39ch;
  color:#3F625D;
  font-size:clamp(1rem,.92rem + .28vw,1.16rem);
  font-weight:560;
  line-height:1.65;
  text-shadow:none;
}
#highlights .hgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  counter-reset:highlight;
}
#highlights .hgrid li{
  counter-increment:highlight;
  min-height:132px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:.82rem;
  padding:1rem 1.05rem;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.44));
  border:1px solid rgba(19,58,53,.14);
  box-shadow:0 16px 38px -34px rgba(19,58,53,.45);
  backdrop-filter:blur(2px);
}
#highlights .hgrid li::before{
  content:"0" counter(highlight);
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:#123633;
  color:#F5D37B;
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.04em;
  opacity:1;
}
#highlights .hgrid svg{
  display:none;
}
#highlights .hgrid b{
  font-family:var(--sans);
  font-size:clamp(1rem,.95rem + .18vw,1.15rem);
  font-weight:800;
  line-height:1.22;
  color:#143A36;
}
#highlights .hgrid span{
  display:block;
  margin-top:.38rem;
  max-width:34ch;
  color:#476B65;
  font-size:.88rem;
  font-weight:520;
  line-height:1.5;
}
#highlights .hmore{
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
}
#highlights .hmore li{
  background:rgba(255,255,255,.42);
  border-color:rgba(19,58,53,.17);
  color:#42635E;
}
#highlights .hmore__lead{
  width:auto;
  min-width:170px;
  background:rgba(255,255,255,.6);
  color:#0E8A80;
}

#trust{
  background:#17352F;
  padding-bottom:var(--s7);
}
#trust .sec__bg{
  opacity:.74;
  filter:brightness(.98) saturate(1.12) contrast(1.07);
  mask-image:none;
  -webkit-mask-image:none;
  object-position:center;
}
#trust.has-bg > .wrap::before{
  inset:-3rem -2rem;
  background:
    linear-gradient(90deg,rgba(12,33,29,.78),rgba(12,33,29,.48) 48%,rgba(12,33,29,.18) 82%),
    linear-gradient(0deg,rgba(12,33,29,.38),rgba(12,33,29,.08) 52%,rgba(12,33,29,.16));
}
#trust .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  align-items:center;
  gap:var(--s5);
  margin-bottom:var(--s4);
}
#trust .eyebrow{
  grid-column:1/-1;
  width:fit-content;
  background:rgba(255,255,255,.88);
  color:#0D7D77;
}
#trust .h2{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(2.15rem,1.2rem + 3.5vw,4.45rem);
  font-weight:850;
  line-height:1.05;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.6);
}
#trust .h2 em{
  color:#F5D37B;
  font-style:normal;
}
#trust .lede{
  max-width:42ch;
  color:rgba(255,255,255,.86);
  font-weight:560;
  line-height:1.65;
  text-shadow:0 1px 12px rgba(0,0,0,.5);
}
#trust .journey{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin-bottom:1rem;
}
#trust .jr{
  min-height:108px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1rem;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.78);
  backdrop-filter:blur(2px);
}
#trust .jr__n{
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:#F5D37B;
  font-family:var(--sans);
  font-size:clamp(2.35rem,1.9rem + 1.8vw,3.85rem);
  font-weight:850;
  line-height:.95;
  text-shadow:0 2px 14px rgba(0,0,0,.58);
}
#trust .jr__l{
  margin-top:.5rem;
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
#trust .trust{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.75rem;
}
#trust .tr{
  min-height:148px;
  padding:1.05rem;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.76);
  backdrop-filter:blur(2px);
}
#trust .ticker{
  position:relative;
  z-index:2;
  width:min(var(--wrap),calc(100% - 2rem));
  margin:1.15rem auto 0;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,31,27,.52);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.8);
}
#trust .ticker__t{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.75rem 1.05rem;
  width:auto;
  padding:.58rem 1rem;
  transform:none;
  animation:none;
}
#trust .ticker__t span{
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#F5D37B;
  white-space:nowrap;
}
#trust .ticker__t svg{
  width:13px;
  height:13px;
  flex:0 0 auto;
  color:rgba(245,211,123,.66);
}
#enquire .enq__form{
  border-radius:22px;
}
@media (max-width:1000px){
  #highlights .shead,
  #trust .shead{
    grid-template-columns:1fr;
  }
  #highlights .hgrid{
    grid-template-columns:1fr 1fr;
  }
  #trust .trust{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  #highlights .hgrid,
  #trust .journey,
  #trust .trust{
    grid-template-columns:1fr;
  }
  #highlights .hmore__lead{
    width:100%;
  }
  #trust .ticker{
    border-radius:16px;
  }
}

/* Enquiry: richer daylight image, clearer copy, less washed-out finish */
#enquire{
  background:#15352F;
  color:#fff;
  overflow:hidden;
}
#enquire .sec__bg{
  opacity:.9;
  filter:brightness(.88) saturate(1.12) contrast(1.08);
  mask-image:none;
  -webkit-mask-image:none;
}
#enquire::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,24,21,.84) 0%,rgba(8,24,21,.62) 37%,rgba(8,24,21,.22) 64%,rgba(8,24,21,.5) 100%),
    linear-gradient(0deg,rgba(8,24,21,.55),rgba(8,24,21,.06) 48%,rgba(8,24,21,.16));
}
#enquire .enq{
  position:relative;
  z-index:1;
  align-items:center;
}
#enquire .eyebrow{
  background:rgba(255,255,255,.92);
  border-color:rgba(245,211,123,.38);
  color:#0D7D77;
  box-shadow:0 18px 40px -32px rgba(0,0,0,.7);
}
#enquire .h2{
  color:#fff;
  text-shadow:0 3px 22px rgba(0,0,0,.62);
}
#enquire .h2 em{
  color:#F5D37B;
}
#enquire .lede{
  max-width:46ch;
  color:rgba(255,255,255,.88);
  font-weight:550;
  text-shadow:0 2px 14px rgba(0,0,0,.52);
}
#enquire .contact{
  width:min(100%,560px);
  gap:.75rem;
}
#enquire .contact li{
  padding:.85rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  background:rgba(10,34,30,.46);
  box-shadow:0 18px 46px -38px rgba(0,0,0,.8);
}
#enquire .card__ico{
  background:rgba(245,211,123,.18);
  border-color:rgba(245,211,123,.36);
  color:#F5D37B;
}
#enquire .contact__k{
  color:#F5D37B;
}
#enquire .contact a,
#enquire .contact address{
  color:#fff;
  text-shadow:0 1px 10px rgba(0,0,0,.48);
}
#enquire .enq__form{
  background:rgba(255,255,255,.93);
  border:1px solid rgba(255,255,255,.46);
  box-shadow:0 34px 86px -46px rgba(0,0,0,.72);
  backdrop-filter:none;
}
#enquire .fld input,
#enquire .fld select,
#enquire .fld textarea{
  background:rgba(246,250,248,.96);
  border-color:rgba(23,49,47,.16);
  color:#17312F;
}
#enquire .fld label{
  color:#647D78;
}
#enquire .chipset legend{
  color:#A97818;
}
#enquire .sizechip span{
  background:#fff;
  border-color:rgba(23,49,47,.18);
  color:#546D68;
}
#enquire .form__fine{
  color:#6D8580;
}
.foot{
  background:linear-gradient(180deg,#173B36 0%,#102D29 100%);
  border-top:1px solid rgba(245,211,123,.18);
  color:#fff;
}
.foot__brand p,
.foot__nav a,
.foot__c a,
.foot__c address,
.foot__cp,
.foot__disc{
  color:rgba(255,255,255,.72);
}
.foot__brand h3,
.foot__head{
  color:#F7FBFC;
}

/* Cleaner mid-page information: softer panels, visible images, no bleeding ticker */
#highlights{
  background:#EEF7F3;
}
#highlights .sec__bg{
  opacity:.7;
  filter:brightness(1.04) saturate(1.08) contrast(1.05);
  object-position:center 42%;
}
#highlights.has-bg > .wrap::before{
  inset:-3rem -2rem;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(239,248,244,.92),rgba(239,248,244,.68) 38%,rgba(239,248,244,.78) 100%),
    linear-gradient(90deg,rgba(239,248,244,.9),rgba(239,248,244,.28) 74%);
}
#highlights .shead{
  align-items:start;
}
#highlights .h2,
#trust .h2{
  font-family:var(--sans);
  font-weight:850;
  letter-spacing:0;
}
#highlights .h2{
  color:#123633;
  text-shadow:none;
}
#highlights .h2 em{
  color:#0E8A80;
  font-style:normal;
}
#highlights .lede{
  color:#3E625F;
  font-weight:560;
  text-shadow:none;
}
#highlights .hgrid{
  gap:.85rem;
}
#highlights .hgrid li{
  min-height:142px;
  padding:1rem 1.1rem;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.48));
  border:1px solid rgba(18,54,51,.16);
  box-shadow:0 18px 44px -36px rgba(18,54,51,.38);
  backdrop-filter:blur(3px);
}
#highlights .hgrid li::before{
  opacity:.14;
}
#highlights .hgrid svg{
  color:#B77B14;
}
#highlights .hgrid b{
  font-family:var(--sans);
  font-size:clamp(1.02rem,.96rem + .22vw,1.2rem);
  font-weight:800;
  color:#143A36;
}
#highlights .hgrid span{
  max-width:36ch;
  color:#4C6C68;
  font-weight:520;
}
#highlights .hmore{
  align-items:center;
  gap:.5rem;
}
#highlights .hmore li{
  background:rgba(255,255,255,.42);
  border-color:rgba(18,54,51,.18);
  color:#426460;
  backdrop-filter:blur(2px);
}
#highlights .hmore__lead{
  width:auto;
  min-width:180px;
  color:#0E8A80;
  background:rgba(255,255,255,.58);
}

#trust{
  background:#17352F;
  padding-bottom:var(--s7);
}
#trust .sec__bg{
  opacity:.72;
  filter:brightness(.98) saturate(1.12) contrast(1.06);
  object-position:center;
}
#trust.has-bg > .wrap::before{
  inset:-3rem -2rem;
  background:
    linear-gradient(90deg,rgba(13,35,31,.78),rgba(13,35,31,.5) 48%,rgba(13,35,31,.18) 82%),
    linear-gradient(0deg,rgba(13,35,31,.42),rgba(13,35,31,.08) 50%,rgba(13,35,31,.18));
}
#trust .shead{
  align-items:center;
}
#trust .journey{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
#trust .jr{
  min-height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:1rem;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 18px 46px -38px rgba(0,0,0,.82);
  backdrop-filter:blur(3px);
}
#trust .jr__n{
  font-size:clamp(2.4rem,1.9rem + 2vw,4rem);
  line-height:.95;
  color:#F5D37B;
}
#trust .jr__l{
  margin-top:.55rem;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
}
#trust .trust{
  gap:.75rem;
}
#trust .tr{
  min-height:150px;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.11));
  backdrop-filter:blur(3px);
}
#trust .ticker{
  position:relative;
  z-index:2;
  width:min(var(--wrap),calc(100% - 2rem));
  margin:1.15rem auto 0;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,31,27,.5);
  box-shadow:0 18px 42px -36px rgba(0,0,0,.8);
}
#trust .ticker__t{
  display:flex;
  align-items:center;
  gap:1.1rem;
  width:max-content;
  padding:.55rem 1rem;
  animation:none;
  transform:none;
}
#trust .ticker__t span{
  font-family:var(--sans);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#F5D37B;
  white-space:nowrap;
}
#trust .ticker__t svg{
  width:14px;
  height:14px;
  flex:0 0 auto;
  color:rgba(245,211,123,.65);
}
@media (max-width:900px){
  #highlights .hmore__lead{ width:100%; }
  #trust .journey{ grid-template-columns:1fr; }
  #trust .ticker{ border-radius:18px; }
  #trust .ticker__t{ flex-wrap:wrap; width:auto; }
}
.hero--centred .hero__h1 em{
  color:#0D7D77;
  text-shadow:none;
}
.hero__sub,
.hero--centred .hero__sub{
  max-width:35ch;
  color:#2F514B;
  font-size:clamp(1rem,.92rem + .35vw,1.22rem);
  font-weight:650;
  line-height:1.55;
  text-shadow:none;
}
.hero__stats{
  max-width:min(100%,650px);
  gap:.58rem;
  margin-top:1.35rem;
}
.hero__stats li{
  min-height:78px;
  justify-content:center;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(23,49,47,.14);
  box-shadow:0 18px 42px -34px rgba(23,49,47,.5);
  backdrop-filter:none;
}
.hero__stats b,
.hero--centred .hero__stats b{
  color:#17312F;
  font-size:clamp(1.22rem,1rem + .78vw,1.7rem);
  text-shadow:none;
}
.hero__stats span,
.hero--centred .hero__stats span{
  color:#6F571D;
  text-shadow:none;
}
.hero__approval{
  background:rgba(255,255,255,.98);
  color:#17312F;
  border-color:rgba(169,120,24,.3);
  box-shadow:0 18px 42px -34px rgba(23,49,47,.48);
  text-shadow:none;
}
.hero__approval span{ color:#8A6419; }
.hero__approval b{ color:#17312F; }
.hero__frames{
  background:rgba(255,255,255,.96);
  border-color:rgba(23,49,47,.14);
  box-shadow:0 18px 42px -34px rgba(23,49,47,.48);
}
.hero__cap,
.hero--centred .hero__cap{
  color:#315A54;
  text-shadow:none;
}
.tick{ background:rgba(23,49,47,.22); }
.tick::after{ background:#A97818; }
.leadbar{
  width:min(100%,600px);
  margin:.75rem 0 0;
  background:rgba(255,255,255,.97);
  border-color:rgba(23,49,47,.13);
  box-shadow:0 18px 48px -34px rgba(23,49,47,.54);
  backdrop-filter:none;
}
.leadbar .fld input,.leadbar .fld select{
  color:#17312F;
  background:rgba(245,247,243,.72);
}
.leadbar .fld input:focus,.leadbar .fld select:focus{
  background:#fff;
}
.leadbar .fld label{ color:#536C67; }
.leadbar__note{
  color:#536C67;
  text-shadow:none;
}
.nav,.nav.is-stuck,.foot{ background:rgba(24,47,43,.9); }
.sec__bg{
  opacity:.5;
  filter:brightness(1.12) saturate(.96) contrast(1.02);
}
.has-bg > .wrap::before{
  background:linear-gradient(90deg,rgba(246,244,235,.96),rgba(246,244,235,.82) 48%,rgba(246,244,235,.42) 74%,transparent 100%);
}
.has-bg .h2,
.has-bg .lede,
.sec--enq .h2,
.sec--enq .lede{ text-shadow:none; }
.h2 em{ color:#0D7D77; }
.eyebrow{ color:#0D7D77; border-color:rgba(13,125,119,.2); }
.hgrid li,.jr,.tr,.port__col,.pill,.hl__grp,.plan__use,.cmap,.enq__form{
  background:rgba(255,255,255,.94);
  border-color:rgba(23,49,47,.13);
}
.cmap{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,252,244,.94));
}

/* Hero rollback: restore the earlier 01/yesterday presentation */
.hero{
  min-height:100svh;
  background:var(--sunken);
  padding-top:calc(var(--nav-h) + var(--s4));
  padding-bottom:var(--s5);
}
.hero__stack{ background:var(--sunken); }
.plate img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:54% 52%;
  transform:scale(1.06);
  filter:none;
}
.plate.is-on img{ animation:drift 9s ease-out both; }
.hero__scrim,
.hero--centred .hero__scrim{
  background:
    linear-gradient(90deg, rgba(7,16,9,.56) 0%, rgba(7,16,9,.36) 28%, rgba(7,16,9,.12) 54%, rgba(7,16,9,0) 78%),
    linear-gradient(0deg, rgba(7,16,9,.24) 0%, rgba(7,16,9,.04) 44%, rgba(7,16,9,.02) 100%);
}
.hero__glow,
.hero--centred .hero__glow{
  display:block;
  background:radial-gradient(56% 50% at 50% 38%, rgba(183,154,80,.1), transparent 74%);
}
.hero::before{
  height:160px;
  background:linear-gradient(180deg, rgba(7,16,9,.28), transparent);
}
.hero__in{
  padding-top:initial;
  padding-bottom:initial;
}
@media (min-width:900px){
  .hero__in{ padding-left:max(3.2rem, env(safe-area-inset-left)); padding-right:2.75rem; }
}
@media (min-width:1280px){
  .hero__in{ padding-left:max(5rem, env(safe-area-inset-left)); }
}
.hero--centred .hero__copy{
  max-width:760px;
  padding:0;
}
.hero__eyebrow{
  background:rgba(7,16,9,.32);
  backdrop-filter:blur(8px);
  border-color:rgba(232,219,176,.42);
  color:var(--gold-pale);
  box-shadow:none;
  text-shadow:none;
}
.hero__h1,
.hero--centred .hero__h1{
  max-width:15ch;
  margin-inline:0;
  font-family:var(--sans);
  font-size:clamp(2.05rem,.95rem + 3.7vw,4.05rem);
  font-weight:800;
  line-height:1.04;
  color:#EDF2EA;
  text-shadow:0 3px 16px rgba(7,16,9,.82), 0 1px 28px rgba(7,16,9,.58);
}
.hero__h1 em,
.hero--centred .hero__h1 em{
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:var(--gold-pale);
  text-shadow:0 2px 14px rgba(7,16,9,.85), 0 1px 40px rgba(7,16,9,.6);
}
.hero__h1 .line{
  display:block;
  overflow:hidden;
  padding-bottom:.05em;
}
.hero__h1 .line>span{
  display:block;
  transform:translateY(105%);
  animation:rise 1.05s var(--ease) forwards;
}
.hero__h1 .line:nth-child(1)>span{ animation-delay:.28s; }
.hero__h1 .line:nth-child(2)>span{ animation-delay:.4s; }
.hero__h1 .line:nth-child(3)>span{ animation-delay:.52s; }
.hero__sub,
.hero--centred .hero__sub{
  max-width:44ch;
  color:#fff;
  font-size:clamp(.98rem,.92rem + .32vw,1.12rem);
  font-weight:700;
  line-height:1.6;
  text-shadow:0 2px 12px rgba(7,16,9,.8);
}
.hero__stats{
  max-width:min(100%,520px);
  gap:.7rem;
  margin-top:var(--s3);
}
.hero__stats li{
  min-height:initial;
  justify-content:flex-start;
  padding:.74rem .84rem;
  background:rgba(7,16,9,.36);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 12px 24px rgba(0,0,0,.16);
  backdrop-filter:blur(8px) saturate(1.08);
}
.hero__stats b,
.hero--centred .hero__stats b{
  color:#fff;
  font-size:clamp(1.2rem,1rem + .75vw,1.58rem);
  text-shadow:0 2px 16px rgba(7,16,9,.68);
}
.hero__stats span,
.hero--centred .hero__stats span{
  color:rgba(255,255,255,.9);
  text-shadow:0 1px 10px rgba(7,16,9,.85);
}
.hero__approval{
  background:rgba(7,16,9,.5);
  color:#fff;
  border-color:rgba(255,231,172,.7);
  box-shadow:0 12px 26px rgba(0,0,0,.2);
  backdrop-filter:blur(10px) saturate(1.08);
  text-shadow:0 1px 10px rgba(7,16,9,.72);
}
.hero__approval span{ color:#FFE7AC; }
.hero__approval b{ color:#fff; }
.hero__frames{
  background:rgba(7,16,9,.5);
  border-color:rgba(232,219,176,.34);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  backdrop-filter:blur(10px) saturate(1.08);
}
.hero__cap,
.hero--centred .hero__cap{
  color:rgba(255,255,255,.9);
  text-shadow:0 1px 10px rgba(7,16,9,.82);
}
.tick{ background:rgba(237,242,234,.38); }
.tick::after{ background:var(--gold); }
.leadbar{
  width:min(100%,620px);
  margin:.65rem auto 0;
  background:rgba(24,44,32,.62);
  border-color:rgba(203,178,115,.24);
  box-shadow:var(--sh-3), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(22px) saturate(1.35);
  opacity:0;
  transform:translateY(20px);
  animation:up 1s var(--ease) .95s forwards;
}
.leadbar .fld input,.leadbar .fld select{
  color:#EDF2EA;
  background:transparent;
}
.leadbar .fld input:focus,.leadbar .fld select:focus{
  background:rgba(255,255,255,.06);
}
.leadbar .fld label{ color:#C4D2C7; }
.leadbar__note{
  color:#fff;
  text-shadow:0 1px 10px rgba(7,16,9,.82);
}
.hero__h1 .line{
  overflow:visible;
}
.hero__h1 .line>span{
  transform:none;
  animation:none;
}

/* Arrival band readability: information first, image second */
.showcase{
  min-height:clamp(620px,78svh,820px);
  align-items:center;
  background:#162D29;
}
.showcase img{
  object-position:58% 50%;
  filter:brightness(1.08) saturate(1.08) contrast(1.05);
  transform:none;
}
.showcase::after{
  background:
    linear-gradient(90deg, rgba(18,39,34,.72) 0%, rgba(18,39,34,.42) 34%, rgba(18,39,34,.12) 64%, rgba(18,39,34,.02) 100%),
    linear-gradient(0deg, rgba(10,24,20,.28), transparent 48%);
}
.showcase__in{
  padding-block:calc(var(--s5) + .5rem);
}
.showcase__panel{
  width:min(100%,560px);
  padding:clamp(1.15rem,.9rem + 1.4vw,1.85rem);
  border-radius:20px;
  background:rgba(12,28,24,.64);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 26px 70px -44px rgba(0,0,0,.66);
}
.showcase .band__eyebrow{
  width:fit-content;
  margin:0 0 1.15rem;
  background:rgba(255,255,255,.9);
  color:#8A6419;
  border-color:rgba(245,211,123,.52);
  text-shadow:none;
}
.showcase__h{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(1.85rem,1.15rem + 2.6vw,3.65rem);
  font-weight:850;
  line-height:1.02;
  color:#fff;
  letter-spacing:0;
  text-shadow:0 2px 18px rgba(0,0,0,.52);
}
.showcase__h em{
  font-style:normal;
  color:#F5D37B;
}
.showcase__p{
  max-width:42ch;
  margin-top:1rem;
  color:rgba(255,255,255,.88);
  font-family:var(--sans);
  font-size:clamp(1rem,.94rem + .28vw,1.16rem);
  font-weight:600;
  line-height:1.65;
  text-shadow:0 1px 12px rgba(0,0,0,.45);
}
.showcase__facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin:1.35rem 0 0;
}
.showcase__facts div{
  min-width:0;
  padding:.78rem .78rem;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.28);
}
.showcase__facts dt{
  font-family:var(--sans);
  font-size:clamp(1.05rem,.95rem + .45vw,1.35rem);
  font-weight:850;
  line-height:1;
  color:#17312F;
}
.showcase__facts dd{
  margin:.35rem 0 0;
  font-family:var(--sans);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7B601D;
}
@media (max-width:680px){
  .showcase{ min-height:720px; }
  .showcase__facts{ grid-template-columns:1fr; }
}

/* Overview cards: keep images rich while making every word readable */
.pillar{
  min-height:360px;
  border:1px solid rgba(23,49,47,.12);
  background:#102B27;
}
.pillar > img{
  filter:brightness(1.04) saturate(1.06) contrast(1.04);
}
.pillar::after{
  background:
    linear-gradient(0deg, rgba(5,18,15,.94) 0%, rgba(5,18,15,.78) 34%, rgba(5,18,15,.38) 62%, rgba(5,18,15,.02) 100%);
}
.pillar__in{
  width:100%;
  margin:0;
  padding:1.35rem 1.45rem 1.45rem;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.pillar__n{
  margin-bottom:.42rem;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:#F5D37B;
  font-family:var(--sans);
  font-size:clamp(1.6rem,1.18rem + 1.35vw,2.25rem);
  font-weight:850;
  text-shadow:0 2px 14px rgba(0,0,0,.72);
}
.pillar h3{
  font-family:var(--sans);
  font-size:1.08rem;
  font-weight:800;
  line-height:1.18;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.72);
}
.pillar p{
  margin-top:.42rem;
  max-width:32ch;
  color:rgba(255,255,255,.9);
  font-size:.9rem;
  font-weight:550;
  line-height:1.55;
  text-shadow:0 1px 10px rgba(0,0,0,.68);
}

/* Highlights: less card mass, more visible aerial background */
#highlights{
  background:#F3F1EA;
  overflow:hidden;
}
#highlights .sec__bg{
  opacity:.64;
  filter:brightness(1.08) saturate(1.08) contrast(1.04);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.7) 78%,rgba(0,0,0,.42));
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.7) 78%,rgba(0,0,0,.42));
}
#highlights.has-bg > .wrap::before{
  inset:-3rem -2rem;
  background:linear-gradient(180deg,rgba(246,244,235,.78),rgba(246,244,235,.48) 45%,rgba(246,244,235,.28));
}
#highlights .shead{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  align-items:end;
  gap:var(--s5);
  margin-bottom:var(--s4);
}
#highlights .eyebrow{
  grid-column:1/-1;
  width:fit-content;
}
#highlights .h2{
  max-width:13ch;
  font-size:clamp(2.4rem,1.25rem + 4vw,5rem);
  line-height:1.02;
}
#highlights .lede{
  max-width:38ch;
  padding-bottom:.45rem;
  color:#315A54;
  font-size:clamp(1rem,.9rem + .35vw,1.18rem);
  font-weight:550;
}
#highlights .hgrid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  counter-reset:highlight;
}
#highlights .hgrid li{
  counter-increment:highlight;
  min-height:142px;
  padding:1.15rem 1.1rem 1.2rem;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:.8rem;
  border-radius:18px;
  background:rgba(255,255,255,.54);
  border:1px solid rgba(23,49,47,.16);
  box-shadow:0 18px 44px -38px rgba(23,49,47,.5);
  backdrop-filter:none;
}
#highlights .hgrid li::before{
  content:"0" counter(highlight);
  display:grid;
  place-items:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:999px;
  background:rgba(22,45,41,.88);
  color:#F5D37B;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.04em;
}
#highlights .hgrid svg{
  display:none;
}
#highlights .hgrid b{
  font-family:var(--sans);
  font-size:1.02rem;
  font-weight:850;
  line-height:1.2;
  color:#17312F;
}
#highlights .hgrid span{
  display:block;
  margin-top:.42rem;
  color:#45635E;
  font-size:.88rem;
  font-weight:500;
  line-height:1.5;
}
#highlights .hmore{
  margin-top:1rem;
}
#highlights .hmore li{
  background:rgba(255,255,255,.32);
  border-color:rgba(23,49,47,.16);
  color:#315A54;
}
#highlights .hmore__lead{
  background:rgba(22,45,41,.76);
  color:#F5D37B;
  border-color:rgba(245,211,123,.28);
}
@media (max-width:1000px){
  #highlights .shead{ grid-template-columns:1fr; }
  #highlights .hgrid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  #highlights .hgrid{ grid-template-columns:1fr; }
}

/* Trust: let the villa background show through */
#trust{
  background:#17312F;
  overflow:hidden;
}
#trust .sec__bg{
  opacity:.82;
  filter:brightness(.92) saturate(1.06) contrast(1.06);
  mask-image:none;
  -webkit-mask-image:none;
}
#trust.has-bg > .wrap::before{
  inset:-3rem -2rem;
  background:
    linear-gradient(90deg,rgba(12,28,24,.72),rgba(12,28,24,.44) 44%,rgba(12,28,24,.12) 72%,transparent),
    linear-gradient(0deg,rgba(12,28,24,.48),rgba(12,28,24,.08) 54%,rgba(12,28,24,.18));
}
#trust .shead{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
  gap:var(--s5);
  align-items:end;
  margin-bottom:var(--s4);
}
#trust .eyebrow{
  grid-column:1/-1;
  width:fit-content;
  background:rgba(255,255,255,.88);
  color:#0D7D77;
}
#trust .h2{
  max-width:13ch;
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}
#trust .h2 em{
  color:#F5D37B;
}
#trust .lede{
  max-width:42ch;
  color:rgba(255,255,255,.86);
  font-weight:550;
  text-shadow:0 1px 12px rgba(0,0,0,.5);
}
#trust .journey{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
  margin-bottom:1rem;
}
#trust .jr{
  padding:1.15rem 1rem;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 22px 54px -38px rgba(0,0,0,.72);
}
#trust .jr__n{
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:#F5D37B;
  font-family:var(--sans);
  font-weight:850;
  text-shadow:0 2px 14px rgba(0,0,0,.58);
}
#trust .jr__l{
  color:rgba(255,255,255,.82);
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
#trust .trust{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
}
#trust .tr{
  min-height:168px;
  padding:1.05rem;
  background:rgba(255,255,255,.2);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 18px 46px -36px rgba(0,0,0,.76);
}
#trust .card__ico{
  width:40px;
  height:40px;
  background:rgba(245,211,123,.18);
  border-color:rgba(245,211,123,.36);
  color:#F5D37B;
}
#trust .tr h3{
  font-family:var(--sans);
  font-weight:800;
  color:#fff;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}
#trust .tr p{
  color:rgba(255,255,255,.82);
  text-shadow:0 1px 8px rgba(0,0,0,.42);
}
#trust .hmore li{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.24);
  color:rgba(255,255,255,.82);
}
#trust .hmore__lead{
  background:rgba(245,211,123,.16);
  color:#F5D37B;
}
@media (max-width:1000px){
  #trust .shead{ grid-template-columns:1fr; }
  #trust .trust{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  #trust .journey,#trust .trust{ grid-template-columns:1fr; }
}
.hero__eyebrow,.hero__sub,.hero__stats,.hero__meta,.hero__frames,.leadbar{
  opacity:1;
  transform:none;
  animation:none;
}

/* EOF polish: this block intentionally wins the older duplicate overrides above. */
html body #highlights .sec__bg{
  opacity:.72;
  filter:brightness(1.02) saturate(1.12) contrast(1.06);
  mask-image:none;
  -webkit-mask-image:none;
}
html body #highlights.has-bg > .wrap::before{
  background:
    linear-gradient(180deg,rgba(239,247,243,.9),rgba(239,247,243,.58) 42%,rgba(239,247,243,.74)),
    linear-gradient(90deg,rgba(239,247,243,.92),rgba(239,247,243,.34) 72%);
}
html body #highlights .hgrid li{
  min-height:132px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.44));
  border-color:rgba(19,58,53,.14);
  box-shadow:0 16px 38px -34px rgba(19,58,53,.45);
}
html body #highlights .hgrid b,
html body #trust .tr h3{
  font-family:var(--sans);
  font-weight:800;
}
html body #highlights .hgrid span{
  color:#476B65;
  font-weight:520;
}
html body #trust .jr,
html body #trust .tr{
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.19),rgba(255,255,255,.1));
  box-shadow:0 18px 42px -36px rgba(0,0,0,.76);
}
html body #trust .jr{
  min-height:108px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
html body #trust .jr__n{
  font-family:var(--sans);
  font-size:clamp(2.35rem,1.9rem + 1.8vw,3.85rem);
  line-height:.95;
}
html body #trust .jr__l{
  margin-top:.5rem;
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}
html body #trust .ticker{
  width:min(var(--wrap),calc(100% - 2rem));
  margin:1.15rem auto 0;
  overflow:hidden;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(10,31,27,.52);
}
html body #trust .ticker__t{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.75rem 1.05rem;
  width:auto;
  padding:.58rem 1rem;
  transform:none;
  animation:none;
}
html body #trust .ticker__t span{
  font-family:var(--sans);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#F5D37B;
  white-space:nowrap;
}
html body #trust .ticker__t svg{
  width:13px;
  height:13px;
  color:rgba(245,211,123,.66);
}

/* Final de-box pass: make image sections feel like single composed screens */
html body .showcase{
  min-height:clamp(600px,76svh,760px);
}
html body .showcase::after{
  background:
    linear-gradient(90deg,rgba(7,24,21,.88) 0%,rgba(7,24,21,.62) 40%,rgba(7,24,21,.16) 72%,rgba(7,24,21,0) 100%),
    linear-gradient(0deg,rgba(7,24,21,.72) 0%,rgba(7,24,21,.2) 48%,rgba(7,24,21,.08) 100%);
}
html body .showcase__h{
  max-width:15ch;
  font-size:clamp(2.35rem,1.45rem + 3.25vw,4.6rem);
  line-height:1.02;
}
html body .showcase__p{
  font-size:clamp(1rem,.92rem + .22vw,1.12rem);
}
html body .showcase__facts{
  max-width:760px;
  gap:1rem 1.6rem;
}
html body .showcase__facts div{
  flex:0 1 auto;
  padding-right:1.55rem;
}
html body .showcase__facts dt{
  font-size:clamp(1.8rem,1.45rem + 1.3vw,3rem);
}

html body #highlights,
html body #trust{
  margin:0;
  padding-block:clamp(5rem,8vw,7rem);
  overflow:hidden;
}
html body #highlights .sec__bg,
html body #trust .sec__bg{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  mask-image:none;
  -webkit-mask-image:none;
}
html body #highlights .sec__bg{
  opacity:.76;
  object-position:center center;
}
html body #trust .sec__bg{
  opacity:.8;
  object-position:center center;
}
html body #highlights.has-bg > .wrap::before{
  inset:0;
  background:
    linear-gradient(90deg,rgba(244,248,242,.92) 0%,rgba(244,248,242,.72) 46%,rgba(244,248,242,.34) 78%,rgba(244,248,242,.18) 100%),
    linear-gradient(0deg,rgba(244,248,242,.76) 0%,rgba(244,248,242,.28) 48%,rgba(244,248,242,.7) 100%);
}
html body #trust.has-bg > .wrap::before{
  inset:0;
  background:
    linear-gradient(90deg,rgba(8,27,24,.84) 0%,rgba(8,27,24,.64) 46%,rgba(8,27,24,.28) 78%,rgba(8,27,24,.16) 100%),
    linear-gradient(0deg,rgba(8,27,24,.72) 0%,rgba(8,27,24,.2) 50%,rgba(8,27,24,.52) 100%);
}
html body #highlights .hgrid,
html body #trust .journey,
html body #trust .trust{
  gap:0;
}
html body #highlights .hgrid li,
html body #trust .jr,
html body #trust .tr{
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
html body #highlights .hgrid li{
  min-height:auto;
  padding:1.05rem 1.15rem 1.1rem 0;
  border-top:1px solid rgba(20,58,54,.22);
}
html body #highlights .hgrid li:nth-child(3n+2),
html body #highlights .hgrid li:nth-child(3n+3){
  padding-left:1.15rem;
  border-left:1px solid rgba(20,58,54,.16);
}
html body #highlights .hgrid li::before{
  width:auto;
  height:auto;
  place-items:start;
  border:0;
  color:#B77B14;
  font-size:.72rem;
}
html body #trust .journey{
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.18);
}
html body #trust .jr{
  min-height:116px;
  padding:1.2rem 1.4rem 1.15rem 0;
  align-items:flex-start;
}
html body #trust .jr + .jr{
  padding-left:1.4rem;
  border-left:1px solid rgba(255,255,255,.18);
}
html body #trust .trust{
  border-top:0;
}
html body #trust .tr{
  min-height:auto;
  padding:1.15rem 1.2rem 1.15rem 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
html body #trust .tr + .tr{
  padding-left:1.2rem;
  border-left:1px solid rgba(255,255,255,.12);
}
html body #trust .card__ico{
  background:transparent;
  border-color:rgba(245,211,123,.38);
}
html body #highlights .hmore,
html body #trust .hmore{
  gap:.35rem .8rem;
}
html body #highlights .hmore li,
html body #trust .hmore li{
  padding:.25rem 0;
  border:0;
  border-radius:0;
  background:transparent;
}
html body #highlights .hmore li:not(.hmore__lead)::after,
html body #trust .hmore li:not(.hmore__lead)::after{
  content:"/";
  margin-left:.8rem;
  opacity:.32;
}
html body #highlights .hmore__lead,
html body #trust .hmore__lead{
  min-width:auto;
  width:100%;
  padding-bottom:.5rem;
  border-bottom:1px solid currentColor;
}
html body #trust .ticker{
  display:none;
}
@media (max-width:1000px){
  html body #highlights .hgrid li:nth-child(n),
  html body #trust .jr,
  html body #trust .tr{
    padding-left:0;
    border-left:0;
  }
}

/* Hero brightness pass: keep the daylight render visible behind readable text */
html body .hero{
  background:#DCEEE8;
}
html body .hero__stack,
html body .plate{
  background:#DCEEE8;
}
html body .plate img,
html body .hero--centred .plate img{
  filter:brightness(1.18) saturate(1.12) contrast(1.04);
  opacity:1;
  object-position:56% 52%;
}
html body .hero__scrim,
html body .hero--centred .hero__scrim{
  background:
    linear-gradient(90deg, rgba(7,18,13,.42) 0%, rgba(7,18,13,.24) 30%, rgba(7,18,13,.07) 56%, rgba(7,18,13,0) 82%),
    linear-gradient(0deg, rgba(7,18,13,.16) 0%, rgba(7,18,13,.02) 48%, rgba(7,18,13,0) 100%);
}
html body .hero::before{
  background:linear-gradient(180deg, rgba(7,18,13,.16), transparent);
}
html body .hero__glow,
html body .hero--centred .hero__glow{
  display:block;
  background:radial-gradient(60% 54% at 58% 36%, rgba(255,255,255,.18), transparent 70%);
}
html body .hero__h1,
html body .hero--centred .hero__h1{
  color:#fff;
  text-shadow:0 3px 16px rgba(7,18,13,.7), 0 1px 34px rgba(7,18,13,.46);
}
html body .hero__h1 em,
html body .hero--centred .hero__h1 em{
  color:#FFE08A;
  text-shadow:0 2px 16px rgba(7,18,13,.62), 0 1px 34px rgba(7,18,13,.4);
}
html body .hero__sub,
html body .hero--centred .hero__sub{
  text-shadow:0 2px 12px rgba(7,18,13,.62);
}
html body .tick.is-on::after{
  animation-duration:4.5s;
}

/* Contact + brand polish */
html body .brand__by{
  color:#F8D779;
  opacity:1;
}
html body .nav__links a{
  color:#F7FBFC;
  opacity:1;
  font-weight:700;
}
html body .nav__links a:hover,
html body .nav__links a.is-here{
  color:#F8D779;
  background:rgba(248,215,121,.16);
}
html body .btn--gold,
html body .fab__t{
  background:linear-gradient(135deg,#FFE18A 0%,#C98D18 55%,#9D6908 100%);
  color:#071A17;
  box-shadow:0 18px 44px -24px rgba(157,105,8,.7);
}
html body .fab__i{
  background:rgba(255,255,255,.92);
  border-color:rgba(248,215,121,.62);
  color:#123633;
  box-shadow:0 18px 42px -30px rgba(0,0,0,.62);
}
html body .fab__i span{
  color:#123633;
  opacity:1;
  font-weight:850;
}
html body .fab__i--wa svg{
  color:#17A65B;
}
html body .fab__i:hover{
  background:#FFE18A;
  color:#071A17;
}
html body #enquire .enq__form{
  background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(255,255,255,.38));
  border:1px solid rgba(255,255,255,.42);
  border-radius:28px 8px 28px 8px;
  box-shadow:0 28px 70px -48px rgba(0,0,0,.68);
  backdrop-filter:blur(10px) saturate(1.12);
  padding:clamp(1.15rem,2.8vw,2rem);
}
html body #enquire .form{
  gap:.82rem;
}
html body #enquire .fld input,
html body #enquire .fld textarea{
  height:58px;
  border:0;
  border-radius:0;
  border-bottom:1px solid rgba(18,54,51,.28);
  background:rgba(255,255,255,.42);
  color:#123633;
  box-shadow:none;
}
html body #enquire .fld textarea{
  min-height:94px;
}
html body #enquire .fld input:focus,
html body #enquire .fld textarea:focus{
  background:rgba(255,255,255,.64);
  border-bottom-color:#B77B14;
}
html body #enquire .sizechip span{
  border:1px solid rgba(18,54,51,.22);
  background:rgba(255,255,255,.38);
  color:#123633;
  box-shadow:none;
}
html body #enquire .sizechip input:checked + span{
  background:#123633;
  border-color:#123633;
  color:#F8D779;
}
html body #enquire .btn--full{
  border-radius:999px;
}
html body #enquire .lead__trust{
  color:#405E5A;
}
html body .foot__by strong{
  color:#F8D779;
  font-weight:850;
}

/* Final requested refinements: brand balance, clearer cards, non-boxy curved form */
html body .brand{
  align-items:flex-start;
  gap:.72rem;
}
html body .brand__disc{
  margin-top:.08rem;
}
html body .brand__txt{
  line-height:1;
  transform:translateY(-.08rem);
}
html body .brand__name{
  font-family:var(--display);
  font-size:1.16rem;
  line-height:.96;
}
html body .brand__by{
  margin-top:.22rem;
  font-size:.55rem;
  line-height:1;
}
html body .pillar:nth-child(2) > img{
  filter:brightness(1.16) saturate(1.14) contrast(1.08);
  object-position:48% 54%;
}
html body .pillar:nth-child(2)::after{
  background:
    linear-gradient(0deg,rgba(4,16,14,.92) 0%,rgba(4,16,14,.62) 42%,rgba(4,16,14,.16) 72%,rgba(4,16,14,0) 100%),
    linear-gradient(90deg,rgba(4,16,14,.56),rgba(4,16,14,.08) 70%);
}
html body .pillar:nth-child(2) .pillar__n{
  font-size:clamp(1.55rem,1.1rem + 1.1vw,2rem);
  color:#FFE18A;
}
html body .pillar:nth-child(2) h3,
html body .pillar:nth-child(2) p{
  text-shadow:0 2px 14px rgba(0,0,0,.82);
}
html body #enquire .enq{
  grid-template-columns:minmax(0,.78fr) minmax(330px,.48fr);
  gap:clamp(2rem,6vw,5rem);
}
html body #enquire .enq__form{
  position:relative;
  overflow:hidden;
  padding:clamp(1.2rem,2.4vw,1.8rem);
  border:1px solid rgba(255,255,255,.48);
  border-radius:42px 10px 42px 10px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.4)),
    linear-gradient(90deg,rgba(248,215,121,.18),rgba(255,255,255,0));
  box-shadow:0 26px 70px -54px rgba(0,0,0,.72);
  backdrop-filter:blur(12px) saturate(1.1);
}
html body #enquire .enq__form::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#FFE18A,#B77B14);
}
html body #enquire .fld-row{
  grid-template-columns:1fr;
}
html body #enquire .fld input{
  height:62px;
  padding:1.45rem 1rem .45rem;
  border-radius:999px;
  border:1px solid rgba(18,54,51,.2);
  background:rgba(255,255,255,.5);
}
html body #enquire .fld label{
  left:1rem;
}
html body #enquire .btn--full{
  margin-top:.35rem;
  min-height:60px;
  border-radius:999px;
}
html body #enquire .lead__trust{
  margin-top:.75rem;
  font-size:.72rem;
  line-height:1.45;
}
@media (max-width:1000px){
  html body #enquire .enq{
    grid-template-columns:1fr;
  }
}

/* Integrated screen pass: remove isolated box/card feeling across image sections */
html body .showcase{
  align-items:flex-end;
  min-height:clamp(600px,76svh,760px);
  background:#12332D;
}
html body .showcase img{
  object-position:62% 50%;
  filter:brightness(1.06) saturate(1.12) contrast(1.06);
}
html body .showcase::after{
  background:
    linear-gradient(90deg,rgba(7,24,21,.88) 0%,rgba(7,24,21,.62) 40%,rgba(7,24,21,.16) 72%,rgba(7,24,21,0) 100%),
    linear-gradient(0deg,rgba(7,24,21,.72) 0%,rgba(7,24,21,.2) 48%,rgba(7,24,21,.08) 100%);
}
html body .showcase__in{
  padding:var(--s6) 2rem var(--s7);
}
html body .showcase__panel{
  width:min(100%,760px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body .showcase .band__eyebrow{
  background:rgba(255,255,255,.88);
  border-color:rgba(245,211,123,.38);
  box-shadow:0 16px 38px -34px rgba(0,0,0,.65);
}
html body .showcase__h{
  max-width:15ch;
  font-size:clamp(2.35rem,1.45rem + 3.25vw,4.6rem);
  line-height:1.02;
  text-shadow:0 4px 24px rgba(0,0,0,.62);
}
html body .showcase__p{
  max-width:46ch;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 16px rgba(0,0,0,.62);
}
html body .showcase__facts{
  display:flex;
  flex-wrap:wrap;
  max-width:760px;
  gap:1rem 1.6rem;
  margin-top:1.6rem;
}
html body .showcase__facts div{
  min-width:0;
  padding:0 1.55rem 0 0;
  border:0;
  border-right:1px solid rgba(255,255,255,.26);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body .showcase__facts div:last-child{
  border-right:0;
}
html body .showcase__facts dt{
  color:#F5D37B;
  font-family:var(--sans);
  font-size:clamp(1.8rem,1.45rem + 1.3vw,3rem);
  font-weight:850;
  line-height:1;
  text-shadow:0 3px 18px rgba(0,0,0,.58);
}
html body .showcase__facts dd{
  margin-top:.36rem;
  color:rgba(255,255,255,.86);
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.58);
}

html body #highlights,
html body #trust{
  margin:0;
  padding-block:clamp(4.8rem,7.5vw,6.8rem);
  overflow:hidden;
}
html body #highlights .sec__bg,
html body #trust .sec__bg{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  mask-image:none;
  -webkit-mask-image:none;
}
html body #highlights .sec__bg{
  opacity:.76;
  object-position:center center;
}
html body #trust .sec__bg{
  opacity:.8;
  object-position:center center;
}

html body #highlights.has-bg > .wrap::before{
  background:
    linear-gradient(90deg,rgba(244,248,242,.92) 0%,rgba(244,248,242,.72) 46%,rgba(244,248,242,.34) 78%,rgba(244,248,242,.18) 100%),
    linear-gradient(0deg,rgba(244,248,242,.76) 0%,rgba(244,248,242,.28) 48%,rgba(244,248,242,.7) 100%);
}
html body #highlights .hgrid li{
  border-radius:0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(19,58,53,.18);
  box-shadow:none;
  backdrop-filter:none;
}
html body #highlights .hgrid li:nth-child(3n+2),
html body #highlights .hgrid li:nth-child(3n+3){
  padding-left:1.15rem;
  border-left:1px solid rgba(20,58,54,.16);
}
html body #highlights .hgrid li::before{
  background:transparent;
  border:0;
  color:#A46E11;
}
html body #highlights .hmore li{
  padding:.25rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html body #trust .jr,
html body #trust .tr{
  border-radius:0;
  background:transparent;
  border:0;
  border-top:1px solid rgba(255,255,255,.22);
  box-shadow:none;
  backdrop-filter:none;
}
html body #trust .jr{
  align-items:flex-start;
}
html body #trust .trust{
  border-top:0;
}
html body #trust .ticker{
  display:none;
}
html body #trust .hmore li{
  padding:.25rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body #enquire .enq__form{
  border-radius:0;
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 70px -52px rgba(0,0,0,.72);
}
html body .plan__use,
html body .port__col,
html body .hl__grp{
  border-radius:0;
  box-shadow:none;
}
@media (max-width:640px){
  html body .showcase__in{
    padding-inline:1.25rem;
  }
  html body .showcase__facts{
    gap:.9rem;
  }
  html body .showcase__facts div{
    width:100%;
    padding:0 0 .85rem;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.22);
  }
}

/* Page-composition lock: image and copy behave as one screen, not layered boxes */
html body .showcase,
html body #highlights,
html body #trust,
html body #enquire{
  min-height:100svh;
  display:flex;
  align-items:center;
  margin:0;
  overflow:hidden;
}
html body .showcase img,
html body #highlights .sec__bg,
html body #trust .sec__bg,
html body #enquire .sec__bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:1;
  mask-image:none;
  -webkit-mask-image:none;
}
html body .showcase img,
html body #enquire .sec__bg{
  object-position:66% center;
  filter:brightness(1.03) saturate(1.14) contrast(1.06);
}
html body #highlights .sec__bg{
  object-position:58% center;
  filter:brightness(1.08) saturate(1.08) contrast(1.04);
}
html body #trust .sec__bg{
  object-position:64% center;
  filter:brightness(1.02) saturate(1.12) contrast(1.06);
}
html body .showcase::after,
html body #enquire::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,22,19,.92) 0%,rgba(6,22,19,.7) 38%,rgba(6,22,19,.2) 70%,rgba(6,22,19,0) 100%),
    linear-gradient(0deg,rgba(6,22,19,.62),rgba(6,22,19,.12) 52%,rgba(6,22,19,.18));
}
html body #highlights.has-bg > .wrap::before{
  inset:0;
  background:
    linear-gradient(90deg,rgba(245,248,241,.96) 0%,rgba(245,248,241,.78) 45%,rgba(245,248,241,.34) 74%,rgba(245,248,241,.12) 100%),
    linear-gradient(0deg,rgba(245,248,241,.72),rgba(245,248,241,.24) 54%,rgba(245,248,241,.68));
}
html body #trust.has-bg > .wrap::before{
  inset:0;
  background:
    linear-gradient(90deg,rgba(6,22,19,.9) 0%,rgba(6,22,19,.68) 42%,rgba(6,22,19,.22) 72%,rgba(6,22,19,.08) 100%),
    linear-gradient(0deg,rgba(6,22,19,.7),rgba(6,22,19,.18) 54%,rgba(6,22,19,.28));
}
html body .showcase__in,
html body #highlights > .wrap,
html body #trust > .wrap,
html body #enquire > .wrap{
  position:relative;
  z-index:1;
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding:clamp(4.5rem,7vw,6.5rem) 2rem;
}
html body .showcase__panel{
  width:min(100%,720px);
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body .showcase .band__eyebrow,
html body #highlights .eyebrow,
html body #trust .eyebrow,
html body #enquire .eyebrow{
  background:rgba(255,255,255,.88);
  border:0;
  box-shadow:none;
}
html body .showcase__h{
  max-width:15ch;
  font-size:clamp(2.2rem,1.35rem + 3vw,4.25rem);
  line-height:1.03;
}
html body #highlights .h2,
html body #trust .h2,
html body #enquire .h2{
  max-width:15ch;
  font-family:var(--sans);
  font-size:clamp(2.15rem,1.35rem + 3.2vw,4.55rem);
  font-weight:850;
  line-height:1.04;
  letter-spacing:0;
}
html body #highlights .shead,
html body #trust .shead{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(280px,.72fr);
  align-items:end;
  gap:var(--s5);
  margin-bottom:clamp(2rem,4vw,3.2rem);
}
html body #highlights .shead > .eyebrow,
html body #trust .shead > .eyebrow{
  grid-column:1/-1;
}
html body #highlights .shead > .h2,
html body #trust .shead > .h2{
  grid-column:1;
}
html body #highlights .shead > .lede,
html body #trust .shead > .lede{
  grid-column:2;
  max-width:40ch;
  padding-bottom:.45rem;
}
html body #highlights .hgrid,
html body #trust .journey,
html body #trust .trust{
  display:grid;
  gap:0;
}
html body #highlights .hgrid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
html body #trust .journey{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:clamp(1.4rem,3vw,2.2rem);
}
html body #trust .trust{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
html body #highlights .hgrid li,
html body #trust .jr,
html body #trust .tr{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
html body #highlights .hgrid li{
  min-height:0;
  padding:1rem 1.15rem 1.15rem 0;
  border-top:1px solid rgba(18,54,51,.22);
}
html body #highlights .hgrid li:nth-child(3n+2),
html body #highlights .hgrid li:nth-child(3n+3){
  padding-left:1.15rem;
  border-left:1px solid rgba(18,54,51,.16);
}
html body #trust .jr{
  min-height:104px;
  align-items:flex-start;
  padding:1rem 1.4rem 1rem 0;
  border-top:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.16);
}
html body #trust .jr + .jr{
  padding-left:1.4rem;
  border-left:1px solid rgba(255,255,255,.16);
}
html body #trust .tr{
  min-height:0;
  padding:1.1rem 1rem 1.1rem 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
html body #trust .tr + .tr{
  padding-left:1rem;
  border-left:1px solid rgba(255,255,255,.12);
}
html body #trust .ticker{
  display:none;
}
html body #highlights .hmore,
html body #trust .hmore{
  margin-top:1.4rem;
  gap:.35rem .85rem;
}
html body #highlights .hmore li,
html body #trust .hmore li{
  padding:.24rem 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
html body #highlights .hmore__lead,
html body #trust .hmore__lead{
  width:100%;
  min-width:0;
  padding-bottom:.5rem;
  border-bottom:1px solid currentColor;
}
html body #enquire .enq{
  grid-template-columns:minmax(0,.82fr) minmax(320px,.56fr);
  align-items:center;
}
html body #enquire .contact li{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:.75rem 0;
  border-top:1px solid rgba(255,255,255,.2);
}
html body #enquire .enq__form{
  border-radius:0;
  background:rgba(255,255,255,.86);
  border:0;
  box-shadow:none;
}

/* Restore the original three-card rhythm; only improve image clarity. */
html body .pillars{
  display:grid;
  gap:1.25rem;
}
@media (min-width:820px){
  html body .pillars{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
html body .pillar{
  min-height:330px;
  border-radius:var(--r-md);
}
html body .pillar > img{
  filter:brightness(1.16) saturate(1.12) contrast(1.08);
  image-rendering:auto;
}
html body .pillar:nth-child(1) > img{ object-position:50% 48%; }
html body .pillar:nth-child(2) > img{ object-position:50% 50%; }
html body .pillar:nth-child(3) > img{ object-position:52% 50%; }
@media (max-width:1000px){
  html body #highlights .shead,
  html body #trust .shead,
  html body #enquire .enq{
    grid-template-columns:1fr;
  }
  html body #highlights .shead > .lede,
  html body #trust .shead > .lede{
    grid-column:1;
  }
  html body #highlights .hgrid,
  html body #trust .trust{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  html body .showcase,
  html body #highlights,
  html body #trust,
  html body #enquire{
    min-height:auto;
  }
  html body .showcase__in,
  html body #highlights > .wrap,
  html body #trust > .wrap,
  html body #enquire > .wrap{
    padding-inline:1.25rem;
  }
  html body #highlights .hgrid,
  html body #trust .journey,
  html body #trust .trust{
    grid-template-columns:1fr;
  }
  html body #highlights .hgrid li:nth-child(n),
  html body #trust .jr,
  html body #trust .tr{
    padding-left:0;
    border-left:0;
  }
}

/* =====================================================================
   ██  M O B I L E   L A N D I N G   ██
   Not the desktop page reflowed — a different page built from the same
   content. Structure follows the lead-magnet pattern: hook, then the
   form within one thumb-scroll, then proof, with the ask repeated.
   ===================================================================== */
@media (max-width: 768px){

  :root{
    --mg: 20px;                                   /* one gutter, everywhere */
    --tap: 48px;
    --bar: calc(66px + env(safe-area-inset-bottom));
    --m-card: #12211A;
    --m-line: rgba(237,242,234,.13);
  }

  body{ font-size:16px; line-height:1.58; }
  main{ padding-bottom:var(--bar); }
  .wrap{ padding-inline:var(--mg); }

  /* desktop furniture that has no job on a phone */
  .fab,.hero__frames,.lead__belt,.hero__glow,.nav__progress{ display:none !important; }

  /* ---------- 1 · HEADER — one action, no menu ----------
     A nav on a landing page is an exit. The only header action is Call. */
  .nav{ position:fixed; inset:0 0 auto; height:58px; border-radius:0;
    background:rgba(8,17,12,.86); backdrop-filter:blur(16px);
    border-bottom:1px solid var(--m-line); }
  .nav.is-stuck{ background:rgba(8,17,12,.96); }
  .nav__in{ height:100%; padding-inline:var(--mg); gap:.6rem; }
  .nav__links{ display:none !important; }
  .burger{ display:none !important; }
  .brand__disc{ width:30px; height:30px; }
  .brand__name{ font-size:1rem; }
  .brand__by{ font-size:.47rem; letter-spacing:.18em; }
  .nav .btn,.nav .btn--gold,.nav .btn--sm{
    display:inline-flex !important; min-height:38px; padding:.5rem 1rem;
    font-size:.66rem; letter-spacing:.1em; }

  /* ---------- 2 · HERO — picture, promise, proof ---------- */
  .hero{ min-height:auto; padding:0; display:block; }
  .hero__stack{ position:relative; height:56svh; min-height:340px; transform:none !important; }
  .hero__scrim{ background:linear-gradient(0deg,
      rgba(8,17,12,.96) 0%, rgba(8,17,12,.55) 32%, rgba(8,17,12,.12) 62%, rgba(8,17,12,.5) 100%) !important; }
  .hero__in{ position:absolute; inset:auto 0 0 0; z-index:4; padding:0 var(--mg) 20px; display:block; }
  .hero__copy{ display:block; }

  .hero .hero__eyebrow{ margin:0 0 .7rem; padding:.34rem .7rem; border-radius:999px;
    background:rgba(183,154,80,.18); border:1px solid rgba(183,154,80,.34);
    font-size:.58rem; letter-spacing:.16em; color:var(--gold-pale); }
  .hero .hero__eyebrow .dot{ display:none; }
  .hero .hero__h1{ font-size:clamp(2.05rem,8.6vw,2.6rem); line-height:1.08; max-width:14ch;
    letter-spacing:-.01em; }
  .hero .hero__sub{ margin-top:.6rem; font-size:.95rem; max-width:32ch; color:rgba(255,255,255,.86); }

  /* facts read as a single hairline row, not four cards */
  .hero .hero__stats{ display:flex !important; width:100%; gap:0 !important; margin-top:1rem;
    border-top:1px solid rgba(255,255,255,.18); }
  .hero .hero__stats li{ flex:1; min-width:0; padding:.7rem .5rem .1rem 0 !important;
    background:none !important; border:0 !important; border-radius:0 !important;
    box-shadow:none !important; backdrop-filter:none !important; }
  .hero .hero__stats li:nth-child(4){ display:none; }        /* three is enough here */
  .hero .hero__stats b{ font-size:1.12rem; }
  .hero .hero__stats span{ font-size:.5rem; letter-spacing:.1em; color:rgba(255,255,255,.66); }
  .hero .hero__meta{ display:none; }                          /* moves to the trust strip */

  /* ---------- 3 · LEAD CARD — the point of the page ----------
     Sits on solid ground directly under the hero so it is the first
     thing after the promise, not something to hunt for. */
  .mlead{ background:var(--m-card); padding:22px var(--mg) 24px;
    border-bottom:1px solid var(--m-line); }
  .mlead__h{ font-family:var(--display); font-weight:400; font-size:1.42rem;
    line-height:1.2; color:#F2F6EF; }
  .mlead__p{ margin-top:.35rem; font-size:.85rem; color:rgba(237,242,234,.62); }
  .mlead .leadbar{
    display:grid !important; grid-template-columns:1fr 1fr; gap:10px;
    width:100%; margin-top:14px; padding:0;
    background:none; border:0; box-shadow:none; backdrop-filter:none; border-radius:0; }
  .mlead .fld{ margin:0; min-width:0; }
  .mlead .fld + .fld{ border-left:0; }
  .mlead .fld input{
    height:52px; width:100%; padding:1.05rem .8rem .3rem; font-size:16px;
    background:rgba(255,255,255,.06); border:1px solid rgba(237,242,234,.2);
    border-radius:11px; color:#F2F6EF; }
  .mlead .fld input:focus{ background:rgba(255,255,255,.1); border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(183,154,80,.22); }
  .mlead .fld label{ left:.8rem; top:.9rem; font-size:.85rem; color:rgba(237,242,234,.6); }
  .mlead .fld input:focus + label,
  .mlead .fld input:not(:placeholder-shown) + label{ transform:translateY(-.58rem) scale(.72); }
  .mlead .err{ position:static; margin-top:.28rem; font-size:.68rem; white-space:normal; }
  .mlead .btn{ grid-column:1/-1; width:100%; min-height:54px; font-size:.76rem; }
  .mlead .leadbar__note{ display:flex !important; grid-column:1/-1; gap:.4rem; margin:0;
    font-size:.66rem; color:rgba(237,242,234,.5); }
  .mlead .leadbar__note svg{ width:12px; height:12px; color:var(--gold); flex:none; }
  .mlead .ok{ border-radius:12px; }

  /* ---------- 4 · TRUST STRIP ---------- */
  .mtrust{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none;
    padding:14px var(--mg); background:#0B1610; border-bottom:1px solid var(--m-line); }
  .mtrust::-webkit-scrollbar{ display:none; }
  .mtrust li{ flex:none; display:flex; flex-direction:column; gap:1px;
    padding:.5rem .85rem; border-radius:9px;
    background:rgba(183,154,80,.09); border:1px solid rgba(183,154,80,.24); }
  .mtrust b{ font-size:.56rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold-lt); }
  .mtrust span{ font-size:.72rem; color:rgba(237,242,234,.8); white-space:nowrap; }

  /* ---------- 5 · SECTIONS ---------- */
  .sec{ padding-block:44px !important; }
  .shead{ display:block !important; margin-bottom:20px; }
  .shead .eyebrow{ margin-bottom:.7rem; font-size:.6rem; letter-spacing:.18em; }
  .h2{ font-size:clamp(1.6rem,6.6vw,2rem) !important; line-height:1.16; max-width:17ch; }
  .lede{ margin-top:.7rem; font-size:.95rem; line-height:1.62; max-width:none; }
  .cap,.note,.plan__cap{ font-size:.72rem; }

  /* swipe rails: browsing is a thumb gesture, not a scroll marathon */
  .amen,.gallery,.plates,.club__shots,.pillars,.trust,.hgrid{
    display:grid !important; grid-auto-flow:column !important;
    grid-auto-columns:80% !important; grid-template-columns:none !important;
    gap:10px !important; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scrollbar-width:none;
    margin-inline:calc(var(--mg) * -1); padding:2px var(--mg) 12px; }
  .amen::-webkit-scrollbar,.gallery::-webkit-scrollbar,.plates::-webkit-scrollbar,
  .club__shots::-webkit-scrollbar,.pillars::-webkit-scrollbar,
  .trust::-webkit-scrollbar,.hgrid::-webkit-scrollbar{ display:none; }
  .amen>*,.gallery>*,.plates>*,.club__shots>*,.pillars>*,.trust>*,.hgrid>*{
    scroll-snap-align:center; min-width:0; }
  .am--wide,.am--tall,.shot--lead,.shot--wide{ grid-column:auto !important; grid-row:auto !important; }
  .am img,.shot img,.plates img,.gallery img{ aspect-ratio:4/3 !important; }
  .pillar{ min-height:280px; }
  .tr,.hgrid li{ height:100%; }

  .railhint{ display:flex; align-items:center; gap:.45rem; margin:-4px 0 8px;
    font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold-lt); opacity:.8; }
  .railhint::after{ content:""; flex:1; height:1px;
    background:linear-gradient(90deg,currentColor,transparent); opacity:.35; }

  /* chips scroll rather than wrap into a wall */
  .chips,.hmore,.pills{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto;
    gap:8px; scrollbar-width:none; margin-inline:calc(var(--mg) * -1);
    padding-inline:var(--mg); }
  .chips::-webkit-scrollbar,.hmore::-webkit-scrollbar,.pills::-webkit-scrollbar{ display:none; }
  .chips li,.hmore li,.pill{ flex:none; }
  .pill{ min-height:44px; }

  /* ---------- 6 · INLINE CTA BANDS — the ask, repeated ---------- */
  .mcta{ margin:0; padding:26px var(--mg); background:var(--m-card);
    border-block:1px solid var(--m-line); text-align:center; }
  .mcta__h{ font-family:var(--display); font-weight:400; font-size:1.3rem; line-height:1.22;
    color:#F2F6EF; max-width:20ch; margin-inline:auto; }
  .mcta__p{ margin-top:.4rem; font-size:.82rem; color:rgba(237,242,234,.6); }
  .mcta__row{ display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:14px; }
  .mcta .btn{ min-height:50px; width:100%; font-size:.7rem; padding-inline:.6rem; }
  .mcta .btn--ghost{ color:#F2F6EF; box-shadow:inset 0 0 0 1px rgba(237,242,234,.28); }

  /* ---------- 7 · DISCLOSURE for the long lists ---------- */
  details.m-fold{ border-top:1px solid var(--m-line); }
  details.m-fold > summary{ list-style:none; cursor:pointer; min-height:var(--tap);
    display:flex; align-items:center; gap:.8rem; padding:.9rem 0;
    font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--gold-lt); }
  details.m-fold > summary::-webkit-details-marker{ display:none; }
  details.m-fold > summary .m-fold__n{ margin-left:auto; opacity:.5; }
  details.m-fold > summary::after{ content:""; width:8px; height:8px; flex:none;
    border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px); transition:transform .3s var(--ease); }
  details.m-fold[open] > summary::after{ transform:rotate(-135deg) translateY(-2px); }
  details.m-fold > *:not(summary){ padding-bottom:1rem; }

  /* ---------- 8 · MASTER PLAN ---------- */
  .plan{ display:block !important; }
  .planwrap{ position:relative; }
  .planwrap img{ width:100%; }
  .plan__use{ margin-top:18px; }
  .plan-open{ position:absolute; inset:auto .55rem .55rem auto; z-index:2;
    display:inline-flex; align-items:center; gap:.4rem; min-height:40px; padding:.5rem .85rem;
    border-radius:999px; background:rgba(8,17,12,.88); backdrop-filter:blur(10px);
    border:1px solid rgba(183,154,80,.42); color:var(--gold-pale);
    font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
  .plan-open svg{ width:13px; height:13px; }
  .use th,.use td{ padding:.7rem 0; font-size:.82rem; }
  .spot{ width:30px; height:30px; }

  /* ---------- 9 · FORMS lower down ---------- */
  .enq{ display:block !important; }
  .enq__form,.form{ margin-top:20px; padding:18px; }
  .fld input,.fld select,.fld textarea{ font-size:16px; min-height:50px; }
  .fld-row{ grid-template-columns:1fr !important; }
  .sizechip span{ min-height:44px; display:flex; align-items:center; }
  .chipset__row{ display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none;
    margin-inline:-18px; padding-inline:18px; }
  .chipset__row::-webkit-scrollbar{ display:none; }
  .sizechip{ flex:none; }

  /* ---------- 10 · BANDS + FOOTER ---------- */
  .band,.showcase{ min-height:52svh; }
  .band__q,.showcase__h{ font-size:1.4rem !important; line-height:1.24; max-width:19ch; }
  .split,.framed__row,.club__grid,.conn{ display:block !important; }
  .split .plate,.framed__fig{ margin-bottom:18px; }
  .foot{ padding-bottom:calc(1.5rem + var(--bar)); }
  .foot__top{ display:block !important; }
  .foot__nav,.foot__c{ margin-top:22px; }
  .foot__nav a,.foot__c a{ min-height:44px; display:flex; align-items:center; }
  .foot__legal{ display:block !important; }
  .badges{ flex-wrap:wrap; }
}

/* ---------- STICKY ACTION BAR ---------- */
.abar{ display:none; }
@media (max-width: 768px){
  .abar{ position:fixed; z-index:95; inset:auto 0 0 0;
    display:grid; grid-template-columns:1fr 1fr 1.5fr;
    background:rgba(8,17,12,.95); backdrop-filter:blur(18px);
    border-top:1px solid rgba(183,154,80,.3);
    padding-bottom:env(safe-area-inset-bottom);
    transform:translateY(112%); transition:transform .32s var(--ease); }
  .abar.is-up{ transform:none; }
  .abar__i{ display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:.2rem; min-height:66px; text-decoration:none; color:#EDF2EA;
    font-size:.6rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
    border-right:1px solid rgba(237,242,234,.1); }
  .abar__i:last-child{ border-right:0; }
  .abar__i svg{ width:18px; height:18px; }
  .abar__i:active{ background:rgba(237,242,234,.09); }
  .abar__i--cta{ background:var(--foil); color:#0C1712; }
}

/* full-screen master plan */
.planfs{ position:fixed; inset:0; z-index:130; background:#07100B; display:none; }
.planfs.is-open{ display:block; }
.planfs__scroll{ position:absolute; inset:0; overflow:auto; display:grid; place-items:center; }
.planfs__scroll img{ width:260%; max-width:none; }
.planfs__x{ position:absolute; top:calc(env(safe-area-inset-top) + 10px); right:10px; z-index:2;
  width:46px; height:46px; border-radius:50%; display:grid; place-content:center;
  background:rgba(8,17,12,.92); border:1px solid rgba(183,154,80,.42); color:var(--gold-pale); }
.planfs__x svg{ width:19px; height:19px; }
.planfs__tip{ position:absolute; left:0; right:0; bottom:calc(env(safe-area-inset-bottom) + 14px);
  text-align:center; font-size:.62rem; letter-spacing:.13em; text-transform:uppercase;
  color:rgba(237,242,234,.55); }

@media (prefers-reduced-motion:reduce){ .abar{ transition:none; } }
