/* ══════════════════════════════════════════════════════════════
   Erisha Real Estates LLC
   Theme: golden light — warm ivory ground, brass rules, navy anchor
   ══════════════════════════════════════════════════════════════ */

:root{
  /* ground */
  --sun:      #FFFCF4;
  --ivory:    #FAF4E8;
  --champ:    #F4E7CB;
  --sand:     #EBDCBB;

  /* metal */
  --gold:     #C9A84C;
  --gold-dp:  #9A7A1C;
  --gold-lt:  #E9D08A;
  --gold-pale:#F7ECCF;

  /* anchor */
  --navy:     #0D1F3C;
  --navy-2:   #16305A;
  --navy-3:   #234373;

  /* text */
  --ink:      #1D2129;
  --body:     #4B505A;
  --mute:     #7E828C;
  --on-dark:  #EFE7D6;
  --on-dark-2:#B9BFCC;

  --line:     rgba(13,31,60,.11);
  --gline:    rgba(201,168,76,.42);
  --gline-2:  rgba(201,168,76,.20);

  --display:'Fraunces','Iowan Old Style',Georgia,serif;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --pad: clamp(18px,4.4vw,60px);
  --maxw: 1280px;
  --ease: cubic-bezier(.22,.68,.32,1);
  --nav-h: 76px;

  --shadow-1: 0 2px 10px rgba(60,44,10,.06), 0 10px 34px rgba(60,44,10,.07);
  --shadow-2: 0 6px 20px rgba(60,44,10,.10), 0 24px 60px rgba(60,44,10,.13);
  --shadow-g: 0 10px 34px rgba(154,122,28,.20);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 14px); -webkit-text-size-adjust:100%; }

body{
  margin:0;
  background:var(--sun);
  color:var(--body);
  font-family:var(--sans);
  font-size:clamp(15px,.5vw + 13.6px,16.5px);
  line-height:1.68;
  font-weight:380;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* the sunlight — a fixed warm wash behind everything */
body::before{
  content:''; position:fixed; top:0; right:0; bottom:0; left:0; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(1100px 700px at 88% -8%,  rgba(233,208,138,.42), transparent 62%),
    radial-gradient(820px 620px at 4% 8%,     rgba(244,231,203,.55), transparent 60%),
    linear-gradient(180deg,#FFFDF7 0%,#FFFCF4 40%,#FDF8EE 100%);
}

img,svg,video{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; }
::selection{ background:var(--gold); color:#fff; }
:focus-visible{ outline:2.5px solid var(--gold-dp); outline-offset:3px; border-radius:2px; }

.sr{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:absolute; left:-9999px; top:10px; z-index:400; background:var(--gold); color:#fff; padding:11px 18px; border-radius:3px; font-weight:600; }
.skip:focus{ left:14px; }

.wrap{ width:100%; max-width:var(--maxw); margin-left:auto; margin-right:auto; margin-inline:auto; padding-left:var(--pad); padding-right:var(--pad); padding-inline:var(--pad); }
.wrap-wide{ max-width:1520px; }
.wrap-narrow{ max-width:900px; }

/* ── Type ──────────────────────────────────────────────────── */
h1,h2,h3,h4,h5{
  font-family:var(--display);
  font-weight:400;
  font-variation-settings:'SOFT' 24,'WONK' 0,'opsz' 40;
  color:var(--navy);
  line-height:1.08;
  letter-spacing:-.014em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{ font-size:clamp(2.5rem,6.2vw,5rem); font-weight:500; }
h2{ font-size:clamp(1.95rem,3.7vw,3.15rem); }
h3{ font-size:clamp(1.25rem,1.7vw,1.6rem); font-weight:500; font-variation-settings:'SOFT' 20,'WONK' 0,'opsz' 20; }
h4{ font-size:1.075rem; font-weight:600; font-variation-settings:'SOFT' 12,'WONK' 0,'opsz' 14; }
p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }
em{ font-style:italic; }
strong{ font-weight:600; color:var(--ink); }

.mono{ font-family:var(--mono); font-size:.84em; letter-spacing:-.012em; }

.eyebrow{
  font-family:var(--sans); font-size:.7rem; font-weight:650;
  letter-spacing:.22em; text-transform:uppercase;
  font-stretch:88%; color:var(--gold-dp);
  display:flex; align-items:center; gap:.75em; margin:0 0 1.05rem;
}
.eyebrow::before{ content:''; width:30px; height:2px; background:linear-gradient(90deg,var(--gold),var(--gold-lt)); flex:none; }
.eyebrow.centre{ justify-content:center; }

.lede{ font-size:clamp(1.02rem,1.25vw,1.22rem); line-height:1.62; color:var(--body); max-width:64ch; }
.gold-word{ color:var(--gold-dp); font-style:italic; }

/* ── Sections ──────────────────────────────────────────────── */
.sec{ padding-block:clamp(58px,7.6vw,116px); position:relative; }
.sec-tight{ padding-block:clamp(26px,3.4vw,48px); }
.sec-ivory{ background:linear-gradient(180deg,rgba(250,244,232,0) 0%,#FAF4E8 8%,#FAF4E8 92%,rgba(250,244,232,0) 100%); }
.sec-champ{ background:linear-gradient(160deg,#F7EDD6 0%,#F2E2C0 55%,#F6E9CE 100%); }
.sec-navy{ background:var(--navy); color:var(--on-dark-2); }
.sec-navy h2,.sec-navy h3,.sec-navy h4{ color:#fff; }
.sec-navy .eyebrow{ color:var(--gold-lt); }
.sec-navy .lede{ color:var(--on-dark); }

.sec-head{ max-width:74ch; margin-bottom:clamp(30px,3.6vw,52px); }
.sec-head.centre{ margin-left:auto; margin-right:auto; margin-inline:auto; text-align:center; }
.sec-head.centre .lede{ margin-left:auto; margin-right:auto; margin-inline:auto; }
.head-row{ display:flex; gap:28px; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; margin-bottom:clamp(28px,3.4vw,48px); }
.head-row .sec-head{ margin-bottom:0; }

/* ── Buttons ───────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:.86em 1.6em; border-radius:2px;
  font-size:.845rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  font-stretch:92%; line-height:1; text-align:center;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .25s, color .25s, border-color .25s;
  border:1.5px solid transparent; cursor:pointer;
}
.btn:hover{ transform:translateY(-2px); }
.btn-gold{ background:linear-gradient(135deg,#D8B85C 0%,#C9A84C 45%,#AE8C2C 100%); color:#fff; box-shadow:var(--shadow-g); }
.btn-gold:hover{ box-shadow:0 14px 40px rgba(154,122,28,.34); }
.btn-navy{ background:var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-2); }
.btn-line{ border-color:var(--gline); color:var(--navy); background:rgba(255,255,255,.5); }
.btn-line:hover{ border-color:var(--gold); background:#fff; }
.btn-ghost{ border-color:rgba(233,208,138,.5); color:var(--gold-lt); }
.btn-ghost:hover{ border-color:var(--gold-lt); background:rgba(233,208,138,.1); }
.btn-sm{ padding:.68em 1.15em; font-size:.74rem; }
.btn-line[aria-pressed="true"]{ background:var(--navy); color:var(--gold-lt); border-color:var(--navy); }
.btn-row{ display:flex; gap:12px; flex-wrap:wrap; }
.btn-row.centre{ justify-content:center; }

.link-gold{
  display:inline-flex; align-items:center; gap:.5em;
  color:var(--gold-dp); font-weight:600; font-size:.85rem;
  letter-spacing:.09em; text-transform:uppercase; font-stretch:92%;
  border-bottom:1.5px solid var(--gline); padding-bottom:3px;
  transition:gap .25s var(--ease), border-color .25s;
}
.link-gold:hover{ gap:.9em; border-color:var(--gold); }
.link-gold::after{ content:'→'; }

/* ══ HEADER ═══════════════════════════════════════════════════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:120;
  height:var(--nav-h);
  transition:background .35s var(--ease), box-shadow .35s var(--ease), height .35s var(--ease);
}
.nav::after{ content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(9,20,38,.62),rgba(9,20,38,0)); transition:opacity .35s; }
.nav.solid{ background:rgba(255,252,244,.94); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 1px 0 var(--gline-2), 0 6px 26px rgba(60,44,10,.08); height:66px; }
.nav.solid::after{ opacity:0; }
.nav-in{ height:100%; max-width:1520px; margin-left:auto; margin-right:auto; margin-inline:auto; padding-left:var(--pad); padding-right:var(--pad); padding-inline:var(--pad); display:flex; align-items:center; gap:22px; }

.brand{ display:flex; align-items:center; flex:none; }
.brand img{ height:40px; width:auto; transition:height .35s var(--ease); }
.nav.solid .brand img{ height:36px; }
.brand .lg-dark{ display:none; }
.nav.solid .brand .lg-light{ display:none; }
.nav.solid .brand .lg-dark{ display:block; }

.nav-links{ margin-left:auto; display:flex; align-items:center; gap:clamp(14px,1.7vw,30px); }
.nav-links a{
  font-size:.78rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
  font-stretch:90%; color:rgba(255,252,244,.9); padding:6px 0; position:relative; white-space:nowrap;
  transition:color .25s;
}
.nav.solid .nav-links a{ color:var(--navy); }
.nav-links a::after{ content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--gold); transition:right .3s var(--ease); }
.nav-links a:hover::after,.nav-links a[aria-current]::after{ right:0; }
.nav-links a[aria-current]{ color:var(--gold-lt); }
.nav.solid .nav-links a[aria-current]{ color:var(--gold-dp); }
.nav-cta{ flex:none; margin-left:14px; padding:.74em 1.25em; font-size:.74rem; }
.nav-links .btn::after{ display:none; }

.nav-tel{ margin-left:22px; display:flex; align-items:center; gap:.5em; font-family:var(--mono); font-size:.8rem; color:rgba(255,252,244,.92); white-space:nowrap; }
.nav.solid .nav-tel{ color:var(--navy-2); }
.nav-tel svg{ width:15px; height:15px; opacity:.8; }

.nav-toggle{ display:none; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.nav-toggle span{ display:block; width:23px; height:1.8px; background:#FFFCF4; transition:transform .3s var(--ease), opacity .2s; }
.nav.solid .nav-toggle span{ background:var(--navy); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.8px) rotate(-45deg); }

@media (max-width:1080px){
  .nav-tel{ display:none; }
  .nav-toggle{ display:flex; margin-left:6px; }
  .nav-links{
    position:fixed; top:0; right:0; bottom:0; left:auto; inset:0 0 0 auto; width:min(360px,86vw);
    background:var(--navy); flex-direction:column; align-items:stretch; justify-content:flex-start;
    gap:0; padding:calc(var(--nav-h) + 22px) 30px 40px;
    transform:translateX(102%); transition:transform .42s var(--ease);
    box-shadow:-20px 0 60px rgba(9,20,38,.3); overflow-y:auto;
  }
  .nav-links.open{ transform:none; }
  .nav .nav-links a,.nav.solid .nav-links a{ color:var(--on-dark); padding:15px 0;
    border-bottom:1px solid rgba(233,208,138,.14); font-size:.86rem; }
  .nav-links a::after{ display:none; }
  .nav .nav-links a[aria-current],.nav.solid .nav-links a[aria-current]{ color:var(--gold-lt); }
  .nav-cta{ margin-left:auto; }
  .nav-toggle{ margin-left:6px; }
  .nav .nav-mob-tel{ display:block; margin-top:18px; font-family:var(--mono); font-size:.85rem;
    color:var(--gold-lt); border-bottom:0; }
}
.nav-mob-tel{ display:none; }
.nav-scrim{ position:fixed; top:0; right:0; bottom:0; left:0; inset:0; background:rgba(9,20,38,.5); opacity:0; pointer-events:none; transition:opacity .35s; z-index:110; }
.nav-scrim.on{ opacity:1; pointer-events:auto; }

/* ══ HERO ═════════════════════════════════════════════════════ */
.hero{ position:relative; min-height:min(92vh,880px); display:flex; align-items:flex-end; overflow:hidden; }
.hero-sub{ min-height:min(58vh,520px); }
.hero-slides{ position:absolute; top:0; right:0; bottom:0; left:0; inset:0; }
.hero-slides img{ position:absolute; top:0; right:0; bottom:0; left:0; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.5s var(--ease), transform 9s linear; transform:scale(1.06); }
.hero-slides img.on{ opacity:1; transform:scale(1); }
.hero::after{
  content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; pointer-events:none;
  background:
    /* bottom band only as dark as the text needs, clearing by 55% height */
    linear-gradient(to top,
      rgba(8,18,36,.80) 0%,
      rgba(8,18,36,.50) 22%,
      rgba(8,18,36,.22) 45%,
      rgba(8,18,36,.05) 62%,
      rgba(8,18,36,0)   80%,
      rgba(8,18,36,.32) 100%),
    /* soft left rail so the headline holds against a bright facade */
    linear-gradient(90deg,
      rgba(8,18,36,.52) 0%,
      rgba(8,18,36,.24) 30%,
      rgba(8,18,36,.04) 55%,
      rgba(8,18,36,0)   72%);
}
/* sub-page heroes keep a firmer wash — they carry text across the full width */
.hero-sub::after{
  background:
    linear-gradient(to top,rgba(8,18,36,.84) 0%,rgba(8,18,36,.52) 40%,rgba(8,18,36,.22) 75%,rgba(8,18,36,.40) 100%),
    linear-gradient(100deg,rgba(8,18,36,.48) 0%,rgba(8,18,36,.06) 60%);
}
.hero-in{ position:relative; z-index:2; width:100%; max-width:1520px; margin-left:auto; margin-right:auto; margin-inline:auto;
  padding:calc(var(--nav-h) + 26px) var(--pad) clamp(38px,5vw,74px); }

.hero h1{ color:#fff; max-width:15ch; margin-bottom:.34em; text-shadow:0 1px 2px rgba(8,18,36,.5), 0 3px 34px rgba(8,18,36,.62); }
.hero h1 em{ color:var(--gold-lt); font-style:italic; }
.hero .kicker{
  font-size:.72rem; font-weight:650; letter-spacing:.26em; text-transform:uppercase;
  font-stretch:88%; color:var(--gold-lt); margin:0 0 1.15rem;
  display:flex; align-items:center; gap:.7em; flex-wrap:wrap;
}
.hero .kicker .dot{ width:4px; height:4px; border-radius:50%; background:var(--gold); }
.hero .kicker{ text-shadow:0 1px 14px rgba(8,18,36,.7); }
.hero-lede{ color:rgba(255,252,244,.94); font-size:clamp(1rem,1.15vw,1.18rem); max-width:56ch; margin-bottom:1.9rem; text-shadow:0 1px 18px rgba(8,18,36,.6); }
.hero .btn-row{ margin-bottom:clamp(26px,3.4vw,46px); }

.hero-dots{ position:absolute; right:calc(var(--pad) - 4px); top:50%; transform:translateY(-50%); z-index:3;
  display:flex; flex-direction:column; gap:10px; }
.hero-dots button{ width:3px; height:32px; background:rgba(255,252,244,.3); transition:background .3s, height .3s; }
.hero-dots button[aria-current="true"]{ height:46px; }
@media (max-width:900px){ .hero-dots{ display:none; } }
.hero-dots button[aria-current="true"]{ background:var(--gold-lt); }

/* hero quick-search */
.qsearch{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:1px;
  background:rgba(233,208,138,.3); border:1px solid rgba(233,208,138,.45);
  border-radius:3px; overflow:hidden; max-width:1000px;
  backdrop-filter:blur(12px); box-shadow:0 20px 60px rgba(8,18,36,.35);
}
.qsearch label{ display:block; background:rgba(255,252,244,.94); padding:11px 15px; }
.qsearch span{ display:block; font-size:.62rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:var(--gold-dp); margin-bottom:2px; font-stretch:88%; }
.qsearch select,.qsearch input{ width:100%; border:0; background:none; font-size:.9rem; font-weight:500; color:var(--navy); padding:2px 0; outline:none; }
.qsearch .btn{ border-radius:0; padding-left:1.9em; padding-right:1.9em; padding-inline:1.9em; }
@media (max-width:860px){
  .qsearch{ grid-template-columns:1fr 1fr; }
  .qsearch .btn{ grid-column:1/-1; padding-block:1em; }
}

/* stat strip */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:rgba(233,208,138,.22); border-top:1px solid rgba(233,208,138,.3); margin-top:clamp(26px,3.2vw,44px); }
.stats > div{ background:rgba(8,18,36,.30); backdrop-filter:blur(7px); padding:18px 20px; }
.stats dt{ font-size:.66rem; font-weight:650; letter-spacing:.18em; text-transform:uppercase; color:rgba(233,208,138,.9); font-stretch:88%; margin-bottom:5px; }
.stats dd{ margin:0; font-family:var(--display); font-size:clamp(1.5rem,2.3vw,2.1rem); font-weight:500; color:#fff; line-height:1; font-variation-settings:'SOFT' 20,'WONK' 0; }

/* light stat band */
.statband{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:clamp(18px,2.4vw,40px); }
.statband div{ border-left:2px solid var(--gline); padding-left:18px; }
.statband dt{ font-size:.68rem; font-weight:650; letter-spacing:.17em; text-transform:uppercase; color:var(--gold-dp); font-stretch:88%; margin-bottom:6px; }
.statband dd{ margin:0; font-family:var(--display); font-size:clamp(1.7rem,2.6vw,2.5rem); color:var(--navy); line-height:1; }
.statband small{ display:block; font-size:.78rem; color:var(--mute); margin-top:7px; letter-spacing:.01em; }

.sec-navy .statband div{ border-left-color:rgba(233,208,138,.42); }
.sec-navy .statband dt{ color:var(--gold-lt); }
.sec-navy .statband dd{ color:#fff; }
.sec-navy .statband small{ color:var(--on-dark-2); }
.sec-navy .form-note,.sec-navy .desk-count{ color:var(--on-dark-2); }
.sec-navy .step{ border-color:rgba(233,208,138,.18); }
.sec-navy .step:last-child{ border-bottom-color:rgba(233,208,138,.18); }
.sec-navy .field select{ background:rgba(255,255,255,.07); border-color:rgba(233,208,138,.3); color:#fff; }
.sec-navy .field select option{ color:#1D2129; }
.sec-navy .field::after{ border-color:var(--gold-lt); }

/* ══ MARQUEE / trust strip ════════════════════════════════════ */
.trust{ background:var(--navy); color:var(--on-dark-2); padding:15px 0; overflow:hidden; }
.trust-in{ display:flex; align-items:center; flex-wrap:wrap; justify-content:center;
  font-size:.72rem; font-weight:600; letter-spacing:.19em; text-transform:uppercase; font-stretch:88%; text-align:center; }
.trust-in span{ display:inline-block; padding:2px clamp(14px,2.2vw,30px); position:relative; }
.trust-in span + span::before{ content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:4px; height:4px; border-radius:50%; background:var(--gold); }
.trust-in b{ color:var(--gold-lt); font-weight:600; }

/* ══ CARD GRIDS ═══════════════════════════════════════════════ */
.grid{ display:grid; gap:clamp(16px,2vw,26px); }
.g-2{ grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.g-3{ grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); }
.g-4{ grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); }

/* asset-class tiles */
.tiles{ display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(10px,1.2vw,16px); }
@media (max-width:1080px){ .tiles{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .tiles{ grid-template-columns:repeat(2,1fr); } }
.tile{ position:relative; display:block; overflow:hidden; border-radius:3px; aspect-ratio:.62; box-shadow:var(--shadow-1); }
.tile img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease), filter .5s; }
.tile:hover img{ transform:scale(1.09); }
.tile::after{ content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; background:linear-gradient(to top,rgba(8,18,36,.86) 4%,rgba(8,18,36,.22) 42%,rgba(201,168,76,.10) 100%); }
.tile-txt{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px 14px; }
.tile-txt h3{ color:#fff; font-size:clamp(.95rem,1.15vw,1.2rem); margin:0 0 3px; }
.tile-txt p{ margin:0; font-size:.68rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-lt); font-stretch:88%; }
.tile::before{ content:''; position:absolute; top:7px; right:7px; bottom:7px; left:7px; inset:7px; border:1px solid rgba(233,208,138,0); z-index:3; transition:border-color .4s; pointer-events:none; }
.tile:hover::before{ border-color:rgba(233,208,138,.55); }

/* generic card */
.card{
  background:#fff; border:1px solid var(--line); border-radius:3px; overflow:hidden;
  box-shadow:var(--shadow-1); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;
  display:flex; flex-direction:column;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); border-color:var(--gline); }
.card-body{ padding:clamp(20px,2vw,28px); flex:1; display:flex; flex-direction:column; }
.card-num{ font-family:var(--mono); font-size:.74rem; color:var(--gold-dp); letter-spacing:.06em; margin-bottom:10px; display:block; }

/* icon card */
.icard{ background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:3px; padding:clamp(22px,2.2vw,32px); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s, background .3s; }
.icard:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:var(--gline); background:#fff; }
.icard .ico{ width:46px; height:46px; display:grid; place-items:center; border:1.5px solid var(--gline); border-radius:50%; margin-bottom:18px; color:var(--gold-dp); }
.icard .ico svg{ width:21px; height:21px; }
.icard h3{ margin-bottom:.5em; }
.icard p{ font-size:.94rem; }
.sec-navy .icard{ background:rgba(255,255,255,.045); border-color:rgba(233,208,138,.18); }
.sec-navy .icard:hover{ background:rgba(255,255,255,.08); border-color:rgba(233,208,138,.42); }
.sec-navy .icard .ico{ border-color:rgba(233,208,138,.42); color:var(--gold-lt); }

/* split feature */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,4vw,68px); align-items:center; }
.split.narrow-img{ grid-template-columns:1.05fr .95fr; }
@media (max-width:900px){ .split,.split.narrow-img{ grid-template-columns:1fr; } }
.frame{ position:relative; border-radius:3px; overflow:hidden; box-shadow:var(--shadow-2); }
.frame img{ width:100%; height:100%; object-fit:cover; }
.frame::after{ content:''; position:absolute; top:9px; right:9px; bottom:9px; left:9px; inset:9px; border:1px solid rgba(255,252,244,.34); pointer-events:none; }
.frame-gold::after{ border-color:rgba(233,208,138,.6); }
.frame-tall{ aspect-ratio:4/5; }
.frame-wide{ aspect-ratio:16/10; }

/* checklist */
.checks{ list-style:none; margin:0; padding:0; }
.checks li{ position:relative; padding-left:31px; font-size:.95rem; margin-bottom:13px; }
.checks li:last-child{ margin-bottom:0; }
.checks li::before{
  content:''; position:absolute; left:0; top:4px; width:19px; height:19px; border-radius:50%;
  background:var(--gold-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A7A1C' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat;
  border:1px solid var(--gline);
}
.sec-navy .checks li::before{ background-color:rgba(233,208,138,.16); border-color:rgba(233,208,138,.4);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E9D08A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); }

/* numbered process */
.steps{ counter-reset:s; display:grid; gap:0; }
.step{ counter-increment:s; display:grid; grid-template-columns:78px 1fr; gap:clamp(16px,2.4vw,34px); padding:clamp(20px,2.4vw,30px) 0; border-top:1px solid var(--line); align-items:start; }
.step:last-child{ border-bottom:1px solid var(--line); }
.step::before{ content:counter(s,decimal-leading-zero); font-family:var(--mono); font-size:1.5rem; color:var(--gold); font-weight:500; line-height:1; padding-top:4px; }
.step h3{ margin-bottom:.35em; }
.step p{ font-size:.95rem; margin:0; max-width:70ch; }
@media (max-width:600px){ .step{ grid-template-columns:52px 1fr; } .step::before{ font-size:1.15rem; } }

/* ══ PROPERTY DESK ════════════════════════════════════════════ */
.desk-bar{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-bottom:22px; }
.modes{ display:inline-flex; background:rgba(255,255,255,.7); border:1px solid var(--gline); border-radius:3px; padding:4px; gap:3px; }
.modes button{
  padding:.66em 1.35em; font-size:.76rem; font-weight:650; letter-spacing:.13em; text-transform:uppercase;
  font-stretch:90%; color:var(--navy-2); border-radius:2px; transition:background .28s, color .28s, box-shadow .28s;
}
.modes button[aria-pressed="true"]{ background:linear-gradient(135deg,#D8B85C,#AE8C2C); color:#fff; box-shadow:0 3px 12px rgba(154,122,28,.3); }

.filters{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.field{ position:relative; }
.field select,.field input[type="search"]{
  appearance:none; background:rgba(255,255,255,.8); border:1px solid var(--line); border-radius:2px;
  padding:.68em 2.3em .68em .95em; font-size:.83rem; font-weight:500; color:var(--navy); min-width:132px;
  transition:border-color .25s, background .25s;
}
.field input[type="search"]{ padding-right:.95em; min-width:190px; }
.field select:hover,.field input:hover{ border-color:var(--gline); background:#fff; }
.field::after{ content:''; position:absolute; right:12px; top:50%; width:7px; height:7px; border-right:1.6px solid var(--gold-dp); border-bottom:1.6px solid var(--gold-dp); transform:translateY(-70%) rotate(45deg); pointer-events:none; }
.field.no-caret::after{ display:none; }
.fx-toggle{ display:inline-flex; border:1px solid var(--gline); border-radius:2px; overflow:hidden; }
.fx-toggle button{ padding:.62em .9em; font-family:var(--mono); font-size:.76rem; font-weight:500; color:var(--navy-2); transition:background .25s,color .25s; }
.fx-toggle button[aria-pressed="true"]{ background:var(--navy); color:var(--gold-lt); }

.desk-count{ font-family:var(--mono); font-size:.8rem; color:var(--mute); }
.desk-count b{ color:var(--gold-dp); font-weight:500; }

.plist{ display:grid; grid-template-columns:repeat(auto-fill,minmax(316px,1fr)); gap:clamp(16px,1.8vw,24px); }
.pcard{ background:#fff; border:1px solid var(--line); border-radius:3px; overflow:hidden; box-shadow:var(--shadow-1);
  display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;
  animation:pop .45s var(--ease) both; }
@keyframes pop{ from{ opacity:0; transform:translateY(14px); } }
.pcard:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:var(--gline); }
.pcard-img{ position:relative; aspect-ratio:16/11; overflow:hidden; background:var(--champ); }
.pcard-img img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.pcard:hover .pcard-img img{ transform:scale(1.07); }
.pcard-tags{ position:absolute; top:11px; left:11px; display:flex; gap:6px; flex-wrap:wrap; z-index:2; }
.chip{ font-size:.6rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; font-stretch:88%;
  padding:.42em .72em; border-radius:2px; background:rgba(255,252,244,.94); color:var(--navy); backdrop-filter:blur(4px); }
.chip-gold{ background:linear-gradient(135deg,#D8B85C,#AE8C2C); color:#fff; }
.chip-navy{ background:rgba(13,31,60,.9); color:var(--gold-lt); }
.pfav{ position:absolute; top:9px; right:9px; z-index:2; width:34px; height:34px; border-radius:50%;
  background:rgba(255,252,244,.9); display:grid; place-items:center; backdrop-filter:blur(4px); transition:background .25s, transform .25s; }
.pfav:hover{ transform:scale(1.1); }
.pfav svg{ width:16px; height:16px; stroke:var(--navy-2); fill:none; stroke-width:1.9; transition:fill .25s, stroke .25s; }
.pfav[aria-pressed="true"] svg{ fill:var(--gold); stroke:var(--gold-dp); }

.pcard-body{ padding:17px 18px 19px; flex:1; display:flex; flex-direction:column; }
.pref{ font-family:var(--mono); font-size:.68rem; color:var(--mute); letter-spacing:.04em; }
.pcard-body h3{ font-size:1.12rem; margin:5px 0 4px; }
.ploc{ font-size:.82rem; color:var(--mute); margin:0 0 13px; display:flex; align-items:center; gap:.42em; }
.ploc svg{ width:13px; height:13px; flex:none; color:var(--gold-dp); }
.pheadline{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:11px 0; margin-bottom:12px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.pprice{ font-family:var(--display); font-size:1.42rem; color:var(--navy); font-weight:500; line-height:1.1; font-variation-settings:'SOFT' 20,'WONK' 0; }
.pprice small{ font-family:var(--sans); font-size:.66rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); display:block; margin-bottom:2px; font-stretch:88%; }
.pyield{ text-align:right; font-family:var(--mono); font-size:1.05rem; color:var(--gold-dp); font-weight:500; }
.pyield small{ display:block; font-family:var(--sans); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); font-weight:650; font-stretch:88%; }
.pspecs{ list-style:none; margin:0 0 15px; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.79rem; color:var(--body); }
.pspecs li{ display:flex; align-items:center; gap:.4em; }
.pspecs svg{ width:14px; height:14px; color:var(--gold-dp); flex:none; }
.pcard-foot{ margin-top:auto; display:flex; gap:8px; }
.pcard-foot .btn{ flex:1; }

.empty{ text-align:center; padding:70px 20px; border:1px dashed var(--gline); border-radius:3px; background:rgba(255,255,255,.5); }
.empty h3{ margin-bottom:.4em; }

/* detail drawer */
.drawer{ position:fixed; top:0; right:0; bottom:0; left:0; inset:0; z-index:200; display:grid; grid-template-columns:1fr min(680px,100%); pointer-events:none; }
.drawer-scrim{ background:rgba(9,20,38,.6); opacity:0; transition:opacity .4s; }
.drawer-panel{ background:var(--sun); overflow-y:auto; transform:translateX(102%); transition:transform .48s var(--ease); box-shadow:-24px 0 70px rgba(9,20,38,.3); }
.drawer.open{ pointer-events:auto; }
.drawer.open .drawer-scrim{ opacity:1; }
.drawer.open .drawer-panel{ transform:none; }
.drawer-close{ position:absolute; top:16px; right:16px; z-index:5; width:42px; height:42px; border-radius:50%; background:rgba(255,252,244,.94); display:grid; place-items:center; box-shadow:var(--shadow-1); }
.drawer-close svg{ width:17px; height:17px; }
.drawer-hero{ aspect-ratio:16/9; overflow:hidden; }
.drawer-hero img{ width:100%; height:100%; object-fit:cover; }
.drawer-in{ padding:clamp(22px,3vw,36px); }
.dl-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin:20px 0; }
.dl-grid div{ background:var(--sun); padding:13px 15px; }
.dl-grid dt{ font-size:.63rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-dp); font-stretch:88%; margin-bottom:4px; }
.dl-grid dd{ margin:0; font-size:.94rem; color:var(--navy); font-weight:500; }

/* ══ CALCULATOR ═══════════════════════════════════════════════ */
.calc{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3vw,44px); align-items:start; }
@media (max-width:860px){ .calc{ grid-template-columns:1fr; } }
.calc-inputs{ display:grid; gap:17px; }
.crow label{ display:block; font-size:.7rem; font-weight:650; letter-spacing:.15em; text-transform:uppercase; color:var(--gold-lt); font-stretch:88%; margin-bottom:7px; }
.crow .cval{ float:right; font-family:var(--mono); font-size:.82rem; color:#fff; letter-spacing:0; text-transform:none; }
.crow input[type="range"]{ width:100%; -webkit-appearance:none; appearance:none; height:3px; border-radius:2px; background:rgba(233,208,138,.28); outline:none; }
.crow input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:linear-gradient(135deg,#E9D08A,#C9A84C); cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.35); border:2px solid #fff2; }
.crow input[type="range"]::-moz-range-thumb{ width:18px; height:18px; border:2px solid #fff3; border-radius:50%; background:#C9A84C; cursor:pointer; }
.calc-out{ background:rgba(255,255,255,.055); border:1px solid rgba(233,208,138,.28); border-radius:3px; padding:clamp(20px,2.4vw,30px); }
.calc-out .big{ display:flex; align-items:baseline; gap:.35em; margin-bottom:4px; }
.calc-out .big b{ font-family:var(--display); font-size:clamp(2.6rem,6vw,3.8rem); font-weight:500; color:var(--gold-lt); line-height:1; }
.calc-out .big span{ font-family:var(--display); font-size:1.6rem; color:var(--gold-lt); }
.calc-out .cap{ font-size:.68rem; font-weight:650; letter-spacing:.17em; text-transform:uppercase; color:var(--on-dark-2); font-stretch:88%; }
.calc-lines{ list-style:none; margin:22px 0 0; padding:0; }
.calc-lines li{ display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid rgba(233,208,138,.16); font-size:.88rem; }
.calc-lines li b{ font-family:var(--mono); color:#fff; font-weight:500; }
.disclaim{ font-size:.76rem; color:var(--on-dark-2); opacity:.72; margin-top:16px; line-height:1.55; }

/* ══ CHART ════════════════════════════════════════════════════ */
.chart-tabs{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.chart-tabs button{ padding:.55em 1em; font-size:.73rem; font-weight:650; letter-spacing:.11em; text-transform:uppercase;
  font-stretch:90%; border:1px solid var(--gline-2); border-radius:2px; color:var(--body); transition:all .25s; }
.chart-tabs button[aria-pressed="true"]{ background:var(--navy); color:var(--gold-lt); border-color:var(--navy); }
.chart-wrap{ background:rgba(255,255,255,.7); border:1px solid var(--line); border-radius:3px; padding:clamp(16px,2vw,28px); }
.chart-wrap svg{ width:100%; height:auto; overflow:visible; }

/* ══ MARKETS ══════════════════════════════════════════════════ */
.mkt{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--gline-2); border:1px solid var(--gline-2); }
@media (max-width:800px){ .mkt{ grid-template-columns:1fr; } }
.mkt > div{ background:rgba(255,255,255,.76); padding:clamp(22px,2.4vw,34px); transition:background .3s; }
.mkt > div:hover{ background:#fff; }
.mkt .flag{ font-family:var(--mono); font-size:.72rem; letter-spacing:.2em; color:var(--gold-dp); text-transform:uppercase; margin-bottom:12px; }
.mkt h3{ margin-bottom:.45em; }
.mkt p{ font-size:.92rem; margin-bottom:1em; }
.mkt ul{ list-style:none; margin:0; padding:0; font-size:.85rem; }
.mkt ul li{ padding:6px 0; border-top:1px dashed var(--gline-2); display:flex; justify-content:space-between; gap:12px; }
.mkt ul li span{ color:var(--mute); }
.mkt ul li b{ font-family:var(--mono); font-weight:500; color:var(--navy); }

/* desks / languages */
.desks{ display:flex; flex-wrap:wrap; gap:9px; }
.desk-pill{ display:inline-flex; align-items:center; gap:.55em; padding:.6em 1.05em; border:1px solid rgba(233,208,138,.3);
  border-radius:100px; font-size:.8rem; background:rgba(255,255,255,.05); transition:border-color .3s, background .3s; }
.desk-pill:hover{ border-color:var(--gold-lt); background:rgba(233,208,138,.09); }
.desk-pill b{ color:var(--gold-lt); font-weight:600; }
.desk-pill span{ color:var(--on-dark-2); font-size:.74rem; }

/* ══ FORMS ════════════════════════════════════════════════════ */
.enq{ background:#fff; border:1px solid var(--line); border-top:3px solid var(--gold); border-radius:3px; padding:clamp(24px,2.8vw,40px); box-shadow:var(--shadow-1); }
.enq h3{ margin-bottom:.3em; }
.enq .sub{ font-size:.92rem; color:var(--mute); margin-bottom:24px; }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-grid .full{ grid-column:1/-1; }
@media (max-width:620px){ .form-grid{ grid-template-columns:1fr; } }
.fg label{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--navy-2); font-stretch:88%; margin-bottom:6px; }
.fg label .req{ color:var(--gold-dp); }
.fg input,.fg select,.fg textarea{
  width:100%; padding:.78em .9em; border:1px solid var(--line); border-radius:2px; background:var(--sun);
  font-size:.92rem; color:var(--ink); transition:border-color .25s, background .25s, box-shadow .25s;
}
.fg textarea{ min-height:118px; resize:vertical; }
.fg input:focus,.fg select:focus,.fg textarea:focus{ outline:none; border-color:var(--gold); background:#fff; box-shadow:0 0 0 3px rgba(201,168,76,.14); }
.fg input[aria-invalid="true"],.fg select[aria-invalid="true"],.fg textarea[aria-invalid="true"]{ border-color:#C0392B; background:#FDF3F2; }
.err{ display:none; font-size:.76rem; color:#C0392B; margin-top:5px; }
.err.on{ display:block; }
.hp{ position:absolute!important; left:-9999px; opacity:0; height:0; width:0; }
.consent{ display:flex; gap:10px; align-items:flex-start; font-size:.82rem; color:var(--mute); line-height:1.5; }
.consent input{ width:17px; height:17px; margin-top:2px; flex:none; accent-color:var(--gold-dp); }
.form-note{ font-size:.78rem; color:var(--mute); margin-top:14px; }
.form-ok{ display:none; margin-top:16px; padding:14px 16px; border-left:3px solid var(--gold); background:var(--gold-pale); font-size:.9rem; color:var(--navy); border-radius:2px; }
.form-ok.on{ display:block; }

/* ══ CONTACT ══════════════════════════════════════════════════ */
.cinfo{ display:grid; gap:0; }
.cinfo a,.cinfo div{ display:flex; gap:15px; align-items:flex-start; padding:18px 0; border-bottom:1px solid rgba(233,208,138,.16); transition:padding-left .3s var(--ease); }
.cinfo a:hover{ padding-left:8px; }
.cinfo .ci-ico{ width:38px; height:38px; flex:none; border:1px solid rgba(233,208,138,.32); border-radius:50%; display:grid; place-items:center; color:var(--gold-lt); }
.cinfo .ci-ico svg{ width:16px; height:16px; }
.cinfo dt,.cinfo strong{ display:block; font-size:.65rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-lt); font-stretch:88%; margin-bottom:4px; }
.cinfo p{ margin:0; color:var(--on-dark); font-size:.95rem; }

/* ══ FOOTER ═══════════════════════════════════════════════════ */
.foot{ background:#0A1830; color:var(--on-dark-2); padding-top:clamp(48px,5.5vw,80px); border-top:3px solid var(--gold); }
.foot-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:clamp(24px,3vw,48px); padding-bottom:clamp(34px,4vw,54px); }
@media (max-width:980px){ .foot-top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .foot-top{ grid-template-columns:1fr; } }
.foot img.flogo{ display:block; width:auto; height:52px; max-width:100%; margin:0 0 20px; }
@media (max-width:560px){ .foot img.flogo{ height:44px; } }
.foot p{ font-size:.9rem; line-height:1.65; }
.foot h4{ color:var(--gold-lt); font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-stretch:88%; margin-bottom:16px; }
.foot ul{ list-style:none; margin:0; padding:0; }
.foot ul li{ margin-bottom:9px; }
.foot ul a{ font-size:.9rem; color:var(--on-dark-2); transition:color .25s, padding-left .25s; }
.foot ul a:hover{ color:var(--gold-lt); padding-left:5px; }
.foot address{ font-style:normal; font-size:.9rem; line-height:1.7; }
.foot address a:hover{ color:var(--gold-lt); }

.socials{ display:flex; gap:9px; margin-top:20px; flex-wrap:wrap; }
.socials a{ width:38px; height:38px; border:1px solid rgba(233,208,138,.28); border-radius:50%; display:grid; place-items:center;
  color:var(--on-dark-2); transition:all .3s var(--ease); }
.socials a:hover{ background:linear-gradient(135deg,#D8B85C,#AE8C2C); border-color:transparent; color:#fff; transform:translateY(-3px); }
.socials svg{ width:16px; height:16px; }

.foot-bar{ border-top:1px solid rgba(233,208,138,.16); padding:20px 0 26px; display:flex; flex-wrap:wrap; gap:12px 26px; justify-content:space-between; align-items:center; font-size:.79rem; }
.foot-bar a:hover{ color:var(--gold-lt); }
.foot-bar .legal{ color:#7C879B; }

/* floating actions */
.fab{ position:fixed; right:16px; bottom:16px; z-index:130; display:flex; flex-direction:column; gap:10px; }
.fab a,.fab button{ width:50px; height:50px; border-radius:50%; display:grid; place-items:center; box-shadow:0 6px 24px rgba(9,20,38,.24); transition:transform .3s var(--ease); }
.fab a:hover,.fab button:hover{ transform:translateY(-3px) scale(1.05); }
.fab .wa{ background:#25D366; color:#fff; }
.fab .wa svg{ width:26px; height:26px; }
.fab .top{ background:var(--navy); color:var(--gold-lt); opacity:0; pointer-events:none; transition:opacity .3s, transform .3s; }
.fab .top.on{ opacity:1; pointer-events:auto; }
.fab .top svg{ width:18px; height:18px; }

/* breadcrumbs */
.crumbs{ padding-top:calc(var(--nav-h) + 20px); font-size:.76rem; color:var(--mute); font-family:var(--mono); }
.crumbs a{ color:var(--gold-dp); }
.crumbs a:hover{ text-decoration:underline; }

/* page header (sub-pages) */
.phead{ position:relative; z-index:0; padding-top:calc(var(--nav-h) + clamp(48px,6vw,92px)); padding-bottom:clamp(40px,5vw,78px); overflow:hidden; }
.phead-bg{ position:absolute; top:0; right:0; bottom:0; left:0; inset:0; z-index:0; }
.phead-bg img{ width:100%; height:100%; object-fit:cover; }
.phead > .wrap{ position:relative; z-index:2; }
.phead::before{ content:''; position:absolute; top:0; right:0; bottom:0; left:0; inset:0; z-index:1;
  background:linear-gradient(to top,rgba(8,18,36,.92),rgba(8,18,36,.66) 60%,rgba(8,18,36,.72)),radial-gradient(700px 380px at 82% 12%,rgba(233,208,138,.22),transparent 70%); }
.phead h1{ color:#fff; max-width:19ch; }
.phead .lede{ color:rgba(255,252,244,.88); }
.phead .eyebrow{ color:var(--gold-lt); }
.phead .crumbs{ padding-top:0; margin-bottom:24px; color:rgba(255,252,244,.6); }
.phead .crumbs a{ color:var(--gold-lt); }

/* accordion */
.acc{ border-top:1px solid var(--line); }
.acc-item{ border-bottom:1px solid var(--line); }
.acc-q{ width:100%; text-align:left; display:flex; gap:18px; align-items:center; justify-content:space-between; padding:19px 0; font-family:var(--display); font-size:1.06rem; color:var(--navy); font-weight:500; font-variation-settings:'SOFT' 18,'WONK' 0; }
.acc-q .pm{ flex:none; width:22px; height:22px; position:relative; }
.acc-q .pm::before,.acc-q .pm::after{ content:''; position:absolute; background:var(--gold-dp); transition:transform .3s var(--ease); }
.acc-q .pm::before{ left:0; right:0; top:10px; height:1.6px; }
.acc-q .pm::after{ top:0; bottom:0; left:10px; width:1.6px; }
.acc-q[aria-expanded="true"] .pm::after{ transform:scaleY(0); }
.acc-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .38s var(--ease); }
.acc-a > div{ overflow:hidden; }
.acc-item.open .acc-a{ grid-template-rows:1fr; }
.acc-a p{ padding-bottom:20px; font-size:.94rem; max-width:78ch; }

/* pull quote */
.pull{ border-left:3px solid var(--gold); padding:6px 0 6px 26px; font-family:var(--display); font-size:clamp(1.2rem,2vw,1.65rem);
  line-height:1.42; color:var(--navy); font-variation-settings:'SOFT' 26,'WONK' 0; }
.sec-navy .pull{ color:#fff; }

/* mosaic */
.mosaic{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:clamp(110px,13vw,180px); gap:clamp(8px,1vw,14px); }
.mosaic .frame{ box-shadow:var(--shadow-1); }
.mosaic .m-a{ grid-column:span 2; grid-row:span 2; }
.mosaic .m-b{ grid-column:span 2; grid-row:span 1; }
.mosaic .m-c{ grid-column:span 1; grid-row:span 1; }
@media (max-width:760px){
  .mosaic{ grid-template-columns:repeat(2,1fr); }
  .mosaic .m-a{ grid-column:span 2; }
  .mosaic .m-b{ grid-column:span 2; }
}

/* reveal */
.rv{ opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.rv.in{ opacity:1; transform:none; }
.rv-d1{ transition-delay:.09s; } .rv-d2{ transition-delay:.18s; } .rv-d3{ transition-delay:.27s; }
.rv-d4{ transition-delay:.36s; } .rv-d5{ transition-delay:.45s; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  .rv{ opacity:1; transform:none; }
  .hero-slides img{ transform:none; }
}

@media print{
  .nav,.fab,.hero-dots,.drawer,.nav-scrim{ display:none!important; }
  body::before{ display:none; }
  body{ background:#fff; color:#000; }
}

/* ══ NEWSROOM, OFFERS & SOCIAL ════════════════════════════════
   Added with the control panel. Everything below is fed from
   /data/*.json via assets/js/content.js, which the admin panel
   regenerates on every save.
   ═════════════════════════════════════════════════════════════ */

/* ── the register: dated news entries ─────────────────────── */
.register{ border-top:1px solid var(--gline); }
.reg-row{
  display:grid; grid-template-columns:132px 1fr auto; gap:clamp(16px,2.4vw,38px);
  align-items:start; padding:clamp(20px,2.4vw,30px) 0;
  border-bottom:1px solid var(--line); text-decoration:none;
  transition:background .3s var(--ease), padding-left .3s var(--ease);
}
a.reg-row:hover{ background:linear-gradient(90deg,rgba(247,236,207,.7),rgba(247,236,207,0) 70%); padding-left:14px; }
.reg-date{
  font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.06em;
  color:var(--gold-dp); text-transform:uppercase; padding-top:.35em; white-space:nowrap;
}
.reg-date b{ display:block; font-family:var(--sans); font-size:.6rem; font-weight:700;
  letter-spacing:.17em; color:var(--mute); margin-top:6px; }
.reg-body h3{ font-size:clamp(1.05rem,1.5vw,1.35rem); margin:0 0 .4em; color:var(--navy); }
.reg-body p{ margin:0; font-size:.92rem; max-width:72ch; }
.reg-thumb{ width:clamp(96px,12vw,168px); aspect-ratio:4/3; object-fit:cover; border-radius:2px; }
@media (max-width:760px){
  .reg-row{ grid-template-columns:1fr; gap:12px; }
  .reg-date b{ display:inline; margin:0 0 0 10px; }
  .reg-thumb{ width:100%; aspect-ratio:16/9; order:-1; }
}

/* ── offers ───────────────────────────────────────────────── */
.offers{ display:grid; grid-template-columns:repeat(auto-fit,minmax(288px,1fr)); gap:clamp(16px,2vw,26px); }
.offer{
  position:relative; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--gline-2); border-top:3px solid var(--gold);
  padding:clamp(22px,2.4vw,32px); box-shadow:var(--shadow-1);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.offer:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); }
.offer .tagline{
  font-family:var(--mono); font-size:.66rem; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--gold-dp); margin:0 0 12px;
}
.offer h3{ font-size:clamp(1.1rem,1.5vw,1.4rem); margin:0 0 .45em; color:var(--navy); }
.offer p{ margin:0 0 18px; font-size:.92rem; }
.offer .terms{ font-size:.74rem; color:var(--mute); line-height:1.55; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
.offer .btn{ align-self:flex-start; margin-bottom:16px; }
.offer-expiry{
  display:inline-flex; align-items:center; gap:7px; font-size:.7rem; font-weight:650;
  letter-spacing:.1em; text-transform:uppercase; color:var(--gold-dp);
  background:var(--gold-pale); padding:5px 11px; border-radius:2px; margin-bottom:14px;
}

/* ── social wall ──────────────────────────────────────────── */
.wall{ display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:14px; }
.post{
  display:flex; flex-direction:column; gap:12px; text-decoration:none;
  background:rgba(255,255,255,.55); border:1px solid var(--gline-2);
  padding:20px 20px 18px; transition:border-color .3s, background .3s, transform .35s var(--ease);
}
.post:hover{ border-color:var(--gold); background:#fff; transform:translateY(-2px); }
.post-head{ display:flex; align-items:center; gap:9px; }
.post-head svg{ width:17px; height:17px; flex:none; color:var(--navy); }
.post-head span{ font-family:var(--mono); font-size:.7rem; letter-spacing:.04em; color:var(--mute); }
.post-head time{ margin-left:auto; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mute); }
.post p{ margin:0; font-size:.89rem; line-height:1.6; color:var(--ink); }
.post img{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:2px; }
.post .go{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-dp); }
.sec-navy .post{ background:rgba(255,255,255,.05); border-color:rgba(233,208,138,.22); }
.sec-navy .post:hover{ background:rgba(255,255,255,.09); border-color:var(--gold-lt); }
.sec-navy .post p{ color:var(--on-dark); }
.sec-navy .post-head svg{ color:var(--gold-lt); }

/* ── empty state ──────────────────────────────────────────── */
.nothing-yet{
  border:1px dashed var(--gline); padding:clamp(28px,4vw,54px); text-align:center;
  color:var(--mute); font-size:.9rem;
}

/* ── category landing intro ───────────────────────────────── */
.cat-note{
  border-left:2px solid var(--gold); padding:2px 0 2px 18px; margin:0 0 clamp(26px,3vw,40px);
  max-width:86ch; font-size:.95rem;
}
