/* ============================================================================
   AyalaPrime v0.6.0 — "Cinema & Dossier" Editorial Design System
   ----------------------------------------------------------------------------
   A complete visual replacement for the v0.5.0 card system.

   THE IDEA
   A listing reads like a documentary about an address. Chapters alternate
   between cinematic dark bands (photography, edge-to-edge, full-bleed) and
   bright dossier sections (plans, tables, specifications on white sheets).
   That contrast carries the brand authority.

   MEDIA POLICY — TWO EXPLICIT CLASSES, NEVER MIXED
   .frame-doc    object-fit: contain. Floor plans, site plans, master plans,
                 availability matrices, parking plans, diagrams. Complete image
                 always visible, never cropped, always enlargeable.
   .frame-film   object-fit: cover. Lifestyle photography, renders, amenity and
                 interior shots only. No informational content is lost by
                 filling the frame.
   Technical drawings must never receive .frame-film.
   ========================================================================== */

/* ── TOKENS ──────────────────────────────────────────────────────────────── */
:root{
  --black:#08090a;
  --near:#101315;
  --coal:#181c1f;
  --ink:#14181b;
  --bone:#f4f1ea;
  --bone-2:#e9e4d9;
  --white:#fff;
  --grey:#8d9499;
  --grey-2:#5d6469;
  --line:rgba(20,24,27,.12);
  --line-dark:rgba(255,255,255,.14);

  --brass:#c9a96a;
  --brass-deep:#9d8144;

  /* Brand tier identities — deliberately distinct, not accent shifts */
  --alp:#2e3a2c;      --alp-2:#4d5f47;      --alp-tint:#e8ebe4;
  --alv:#0e2a3d;      --alv-2:#2b6383;      --alv-tint:#e3ebf0;
  --avi:#5c3f22;      --avi-2:#a5733c;      --avi-tint:#f2e9dd;

  --tier:var(--alv);
  --tier-2:var(--alv-2);
  --tier-tint:var(--alv-tint);

  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --d1:clamp(3.2rem,10vw,9rem);
  --d2:clamp(2.4rem,6.4vw,5.4rem);
  --d3:clamp(1.9rem,3.8vw,3.2rem);
  --d4:clamp(1.35rem,2.1vw,1.9rem);
  --body:clamp(1rem,.97rem + .2vw,1.12rem);
  --lead:clamp(1.12rem,1rem + .6vw,1.45rem);
  --micro:.7rem;

  --max:1320px;
  --text:74ch;
  --gutter:clamp(20px,5vw,72px);
  --bar:0px;
}

body.brand-tier-flagship{--tier:var(--alp);--tier-2:var(--alp-2);--tier-tint:var(--alp-tint)}
body.brand-tier-core{--tier:var(--alv);--tier-2:var(--alv-2);--tier-tint:var(--alv-tint)}
body.brand-tier-broadener{--tier:var(--avi);--tier-2:var(--avi-2);--tier-tint:var(--avi-tint)}

/* ── BASE ────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bone);color:var(--ink);
  font-family:var(--sans);font-size:var(--body);line-height:1.7;
  -webkit-font-smoothing:antialiased;padding-bottom:var(--bar);overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px}

h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.028em;margin:0;text-wrap:balance}
h1{font-size:var(--d1)}
h2{font-size:var(--d2)}
h3{font-size:var(--d4)}
p{margin:0}

.shell{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.measure{max-width:var(--text)}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:999;background:var(--white);padding:12px 18px}

/* Editorial label — the recurring typographic signature */
.label{
  font-family:var(--sans);font-size:var(--micro);font-weight:700;
  text-transform:uppercase;letter-spacing:.28em;color:var(--brass);
  margin:0 0 20px;display:flex;align-items:center;gap:14px;
}
.label::before{content:"";width:32px;height:1px;background:currentColor;flex:none}
.label.no-rule::before{display:none}
.eyebrow{font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--brass);margin:0 0 18px}
.eyebrow.dark{color:var(--brass-deep)}

.lead{font-size:var(--lead);line-height:1.5;font-family:var(--display);letter-spacing:-.015em}
.muted{color:var(--grey)}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ── DARK / LIGHT BANDS ──────────────────────────────────────────────────── */
.band{padding:clamp(72px,11vw,160px) 0;position:relative}
.band--dark{background:var(--black);color:var(--white)}
.band--coal{background:var(--coal);color:var(--white)}
.band--tier{background:var(--tier);color:var(--white)}
.band--light{background:var(--bone)}
.band--paper{background:var(--white)}
.band--dark .muted,.band--coal .muted,.band--tier .muted{color:rgba(255,255,255,.6)}
.band--tight{padding:clamp(48px,6vw,84px) 0}

/* ── BUTTONS ─────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:0 32px;border:1px solid transparent;border-radius:0;
  font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  cursor:pointer;position:relative;overflow:hidden;
  transition:background-color .3s,color .3s,border-color .3s;
}
.btn--sm{min-height:46px;padding:0 22px;font-size:.7rem;letter-spacing:.14em}
.btn--solid{background:var(--white);color:var(--black)}
.btn--solid:hover{background:var(--brass);color:var(--black)}
.btn--ink{background:var(--ink);color:var(--white)}
.btn--ink:hover{background:var(--tier)}
.btn--brass{background:var(--brass);color:var(--black)}
.btn--brass:hover{background:var(--white)}
.btn--line{border-color:rgba(255,255,255,.34);color:var(--white)}
.btn--line:hover{background:var(--white);color:var(--black);border-color:var(--white)}
.btn--line-dark{border-color:var(--line);color:var(--ink)}
.btn--line-dark:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}

.arrow-link{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  padding-bottom:6px;border-bottom:1px solid currentColor;
}
.arrow-link span{transition:transform .3s}
.arrow-link:hover span{transform:translateX(6px)}
.link-btn{background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer;color:var(--brass-deep)}

/* ── HEADER ──────────────────────────────────────────────────────────────── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  transition:background-color .4s,border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent;padding:10px 0;
  /* Always-on scrim: the bar stays legible over pale renders and bright skies,
     not only once the visitor has scrolled. */
  background:rgba(8,9,10,.42);
  backdrop-filter:blur(8px) saturate(1.2);
}
.site-header::before{
  content:"";position:absolute;inset:0 0 -28px 0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,9,10,.5),transparent);
}
.site-header.is-solid{background:rgba(8,9,10,.94);backdrop-filter:blur(18px) saturate(1.4);border-bottom-color:var(--line-dark)}
.site-header.is-solid::before{opacity:0}
/* Pages that open on a light background get a light bar instead of a dark one. */
body.header-light .site-header:not(.is-solid){background:rgba(244,241,234,.72)}
body.header-light .site-header:not(.is-solid)::before{background:linear-gradient(180deg,rgba(244,241,234,.6),transparent)}
body.header-light .site-header.is-solid{background:rgba(244,241,234,.96)}
body.header-light .site-header.is-solid .brand-mark,
body.header-light .site-header.is-solid .nav-brand,
body.header-light .site-header.is-solid .header-phone,
body.header-light .site-header.is-solid .nav-cta,
body.header-light .site-header.is-solid .nav-toggle{color:var(--ink)}
body.header-light .site-header.is-solid .nav-cta{border-color:var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:58px}
.brand-mark{font-family:var(--display);font-size:1.32rem;letter-spacing:.02em;color:var(--white);white-space:nowrap}
.brand-mark .brand-accent{color:var(--brass)}
.main-nav{display:flex;align-items:center;gap:34px}
.nav-brand{
  font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.2em;
  color:rgba(255,255,255,.72);padding:6px 0;position:relative;transition:color .3s;
}
.nav-brand::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nav-brand:hover,.nav-brand.is-current{color:var(--white)}
.nav-brand:hover::after,.nav-brand.is-current::after{transform:scaleX(1)}
.header-phone{font-size:var(--micro);font-weight:700;letter-spacing:.16em;color:rgba(255,255,255,.72)}
.header-phone:hover{color:var(--white)}
.nav-cta{border:1px solid rgba(255,255,255,.36);padding:13px 24px;font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--white);transition:background-color .3s,color .3s}
.nav-cta:hover{background:var(--white);color:var(--black)}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;color:var(--white)}
.nav-toggle-bars{display:block;width:26px;height:1px;background:currentColor;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0;width:26px;height:1px;background:currentColor;transition:transform .3s}
.nav-toggle-bars::before{top:-8px}
.nav-toggle-bars::after{top:8px}
.nav-toggle[aria-expanded=true] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded=true] .nav-toggle-bars::before{transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .nav-toggle-bars::after{transform:translateY(-8px) rotate(-45deg)}
.nav-toggle-text{display:none}
/* Light-background pages need a dark header from the start */
body.header-light .site-header:not(.is-solid) .brand-mark,
body.header-light .site-header:not(.is-solid) .nav-brand,
body.header-light .site-header:not(.is-solid) .header-phone,
body.header-light .site-header:not(.is-solid) .nav-cta,
body.header-light .site-header:not(.is-solid) .nav-toggle{color:var(--ink)}
body.header-light .site-header:not(.is-solid) .nav-cta{border-color:var(--line)}
body.header-light .site-header:not(.is-solid) .brand-mark .brand-accent{color:var(--brass-deep)}

/* ── STAGING FLAG ────────────────────────────────────────────────────────── */
.staging-flag{
  position:fixed;left:0;right:0;bottom:0;z-index:120;margin:0;
  background:var(--brass);color:var(--black);
  font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  text-align:center;padding:8px 16px;
}
.staging-flag a{text-decoration:underline}
body:has(.staging-flag) .sticky-cta{bottom:32px}

/* ── CINEMATIC HERO ──────────────────────────────────────────────────────── */
.cine{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--black);color:var(--white);overflow:hidden}
.cine-bg{position:absolute;inset:0;z-index:0}
.cine-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.cine-bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,9,10,.72) 0%,rgba(8,9,10,.18) 34%,rgba(8,9,10,.5) 68%,rgba(8,9,10,.95) 100%),
    linear-gradient(96deg,rgba(8,9,10,.76) 0%,rgba(8,9,10,.24) 58%,transparent 100%);
}
.cine-inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(48px,7vw,96px);padding-top:140px}
.cine-crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:var(--micro);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:clamp(28px,5vw,56px)}
.cine-crumbs a:hover{color:var(--white)}
.cine-crumbs [aria-current]{color:var(--brass)}
.cine-tier{display:inline-flex;align-items:center;gap:14px;margin-bottom:26px}
.cine-tier-name{font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.28em;color:var(--brass)}
.cine-tier-rule{width:56px;height:1px;background:rgba(255,255,255,.34)}
.cine-tier-role{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.62)}
.cine h1{font-size:var(--d1);max-width:16ch;margin-bottom:28px}
.cine-lead{font-size:var(--lead);max-width:58ch;color:rgba(255,255,255,.8);line-height:1.5}
.cine-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(30px,4vw,44px)}
.cine-meta{
  display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(38px,5vw,64px);
  border-top:1px solid var(--line-dark);
}
.cine-meta div{flex:1 1 180px;padding:22px 26px 4px 0;min-width:0}
.cine-meta dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5);margin-bottom:8px}
.cine-meta dd{margin:0;font-family:var(--display);font-size:1.18rem;line-height:1.3}
.cine-scroll{position:absolute;bottom:26px;right:var(--gutter);z-index:3;display:flex;align-items:center;gap:12px;font-size:var(--micro);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.cine-scroll::after{content:"";width:1px;height:44px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);animation:drop 2.4s infinite}
@keyframes drop{0%{opacity:0;transform:scaleY(.2)}45%{opacity:1}100%{opacity:0;transform:scaleY(1)}}


/* ── CHAPTER RAIL ────────────────────────────────────────────────────────── */
.rail{position:fixed;left:22px;top:50%;transform:translateY(-50%);z-index:60;display:none}
.rail ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rail a{display:flex;align-items:center;gap:12px;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grey);transition:color .3s}
.rail-dot{width:22px;height:1px;background:currentColor;transition:width .3s}
.rail-name{opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s;white-space:nowrap}
.rail a:hover,.rail a.is-active{color:var(--brass)}
.rail a:hover .rail-name,.rail a.is-active .rail-name{opacity:1;transform:none}
.rail a.is-active .rail-dot{width:38px}
body.on-dark .rail a{color:rgba(255,255,255,.42)}
body.on-dark .rail a:hover,body.on-dark .rail a.is-active{color:var(--brass)}

/* ── CHAPTER HEADS ───────────────────────────────────────────────────────── */
.chapter{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:clamp(38px,6vw,72px)}
.chapter-num{font-family:var(--mono);font-size:var(--micro);letter-spacing:.24em;color:var(--brass);display:block;margin-bottom:16px}
.chapter h2{font-size:var(--d2)}
.chapter-note{font-size:1.02rem;line-height:1.65;color:var(--grey-2);max-width:46ch}
.band--dark .chapter-note,.band--coal .chapter-note,.band--tier .chapter-note{color:rgba(255,255,255,.62)}

/* ── FULL-BLEED FILM BANDS ───────────────────────────────────────────────── */
.bleed{position:relative;width:100vw;margin-left:50%;transform:translateX(-50%)}
.film-band{position:relative;height:clamp(340px,62vh,680px);overflow:hidden;background:var(--near)}
.film-band img{width:100%;height:100%;object-fit:cover;object-position:center}
.film-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,10,.42),transparent 40%,rgba(8,9,10,.72))}
.film-band-cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(24px,4vw,52px) var(--gutter);z-index:2;color:var(--white)}
.film-band-cap strong{display:block;font-family:var(--display);font-size:var(--d4);font-weight:400;margin-bottom:6px}
.film-band-cap span{font-size:.9rem;color:rgba(255,255,255,.7);max-width:60ch;display:block}

/* Frames — the two media policies */
.frame-film{position:relative;overflow:hidden;background:var(--near)}
.frame-film.is-contain{background:linear-gradient(160deg,#1a1f22,#0f1315)}
.frame-film.is-contain img{object-fit:contain}
.frame-film.is-contain:hover img{transform:none}
.band--light .frame-film.is-contain,.band--paper .frame-film.is-contain{background:linear-gradient(160deg,#efece5,#e4e0d8)}

.frame-film img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.frame-film:hover img{transform:scale(1.045)}
.frame-doc{
  position:relative;background:var(--white);display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
}
.frame-doc img{width:100%;height:100%;object-fit:contain;object-position:center;padding:clamp(12px,2vw,26px)}

/* ── EDITORIAL SPLIT ─────────────────────────────────────────────────────── */
.split-ed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.split-ed--wide-left{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.split-ed--wide-right{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.split-ed .frame-film{aspect-ratio:16/9}
.split-ed p{color:var(--grey-2)}
.band--dark .split-ed p,.band--coal .split-ed p{color:rgba(255,255,255,.68)}

/* ── STATEMENT ───────────────────────────────────────────────────────────── */
.statement{font-family:var(--display);font-size:var(--d3);line-height:1.16;letter-spacing:-.02em;max-width:22ch}
.statement-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}

/* ── STORY NUMBERS ───────────────────────────────────────────────────────── */
.stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line-dark)}
.story{padding:clamp(28px,3.4vw,48px) clamp(20px,2.4vw,40px) clamp(28px,3.4vw,48px) 0;border-right:1px solid var(--line-dark)}
.story:last-child{border-right:0}
.story-n{font-family:var(--mono);font-size:var(--micro);letter-spacing:.24em;color:var(--brass);display:block;margin-bottom:20px}
.story h3{font-size:var(--d4);margin-bottom:14px}
.story p{color:rgba(255,255,255,.62);font-size:.96rem}
.band--light .stories,.band--paper .stories{border-top-color:var(--line)}
.band--light .story,.band--paper .story{border-right-color:var(--line)}
.band--light .story p,.band--paper .story p{color:var(--grey-2)}

/* ── FACTS TICKER ────────────────────────────────────────────────────────── */
.facts{background:var(--coal);color:var(--white);border-block:1px solid var(--line-dark)}
.facts-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.facts-row>div{padding:clamp(24px,3vw,38px) clamp(16px,2vw,30px);border-right:1px solid var(--line-dark)}
.facts-row>div:last-child{border-right:0}
.facts-row dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.46);margin-bottom:10px}
.facts-row dd{margin:0;font-family:var(--display);font-size:1.3rem;line-height:1.25}
.facts-row small{display:block;margin-top:8px;font-family:var(--sans);font-size:.72rem;color:rgba(255,255,255,.44);letter-spacing:.02em}
.facts-extra{display:flex;flex-wrap:wrap;gap:0 40px;padding:16px 0 22px;border-top:1px solid var(--line-dark)}
.facts-extra div{display:flex;gap:10px;align-items:baseline;font-size:.84rem;color:rgba(255,255,255,.72)}
.facts-extra dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.4);margin:0}
.facts-extra dd{margin:0;font-family:var(--sans);font-size:.84rem}

/* ── UNIT MODULES — editorial, alternating ───────────────────────────────── */
.units{display:grid;gap:clamp(56px,9vw,140px)}
.unit{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(26px,5vw,76px);align-items:center;scroll-margin-top:100px}
.unit:nth-child(even) .unit-visual{order:2}
.unit[hidden]{display:none}
.unit-visual{min-width:0;position:relative}
.unit-visual .frame-doc{aspect-ratio:4/3}
.unit-visual .frame-film{aspect-ratio:var(--frame,16/9)}
.unit-tag{
  position:absolute;top:0;left:0;z-index:3;
  background:var(--ink);color:var(--white);
  font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;
  padding:9px 16px;
}
.unit-tag--ref{background:var(--brass);color:var(--black)}
.unit-src{margin-top:12px;font-size:.78rem;color:var(--grey);line-height:1.55}
.unit-pending{aspect-ratio:4/3;border:1px dashed var(--line);display:grid;align-content:center;justify-items:center;gap:10px;padding:32px;text-align:center;background:var(--white)}
.unit-pending strong{font-family:var(--display);font-size:1.24rem;font-weight:400}
.unit-pending small{font-size:.84rem;color:var(--grey);max-width:34ch}

.unit-body{min-width:0}
.unit-index{font-family:var(--mono);font-size:var(--micro);letter-spacing:.24em;color:var(--brass);display:block;margin-bottom:14px}
.unit-type{font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--grey);margin:0 0 12px}
.unit-body h3{font-size:var(--d3);margin-bottom:20px}
.unit-context{color:var(--grey-2);margin-bottom:26px;max-width:52ch}
.unit-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 28px;border-top:1px solid var(--line)}
.unit-specs>div{padding:18px 18px 18px 0;border-right:1px solid var(--line)}
.unit-specs>div:last-child{border-right:0;padding-right:0}
.unit-specs dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.18em;color:var(--grey);margin-bottom:8px}
.unit-specs dd{margin:0;font-size:.95rem;font-weight:600;line-height:1.4}

.unit-price{border-top:1px solid var(--ink);padding-top:22px;margin-bottom:28px}
.unit-price-k{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:var(--grey);display:block;margin-bottom:12px}
.unit-price-v{font-family:var(--display);font-size:clamp(2rem,3.6vw,3.1rem);line-height:1;letter-spacing:-.03em;display:block}
.unit-price-v--req{font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.55;letter-spacing:0;max-width:40ch}
.unit-price-n{display:block;margin-top:12px;font-size:.85rem;color:var(--grey-2)}
.unit-price-s{display:block;margin-top:6px;font-size:.76rem;color:var(--grey);font-style:italic}
.unit-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Filter */
.filter{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:clamp(40px,6vw,72px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chip{
  background:none;border:0;border-right:1px solid var(--line);cursor:pointer;
  padding:18px 24px;font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  color:var(--grey);transition:background-color .3s,color .3s;display:flex;align-items:center;gap:9px;
}
.chip:last-child{border-right:0}
.chip sup{font-family:var(--mono);font-size:.62rem;color:var(--brass);top:-.4em}
.chip:hover{color:var(--ink)}
.chip.is-active{background:var(--ink);color:var(--white)}
.chip.is-active sup{color:var(--brass)}
.filter-status{width:100%;padding:12px 0;font-size:.84rem;color:var(--grey);border-top:1px solid var(--line)}
.units-empty{padding:40px 0;text-align:center;color:var(--grey)}

/* ── TABLES (dossier) ────────────────────────────────────────────────────── */
.doss{background:var(--white);border:1px solid var(--line)}
.doss-head{padding:clamp(20px,2.6vw,34px);border-bottom:1px solid var(--line)}
.doss-head h3{font-size:var(--d4);margin-bottom:8px}
.doss-head p{font-size:.88rem;color:var(--grey)}
table.data{min-width:680px;font-size:.88rem}
table.data th,table.data td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.data thead th{background:var(--bone);font-family:var(--sans);font-size:var(--micro);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--grey-2)}
table.data tbody th{font-weight:600}
table.data tbody tr:last-child th,table.data tbody tr:last-child td{border-bottom:0}
table.data tr[hidden]{display:none}
table.data td strong{display:block;font-weight:600}
table.data td small{display:block;margin-top:4px;font-size:.76rem;color:var(--grey);line-height:1.5}
.nowrap{white-space:nowrap}

details.fold{background:var(--white);border:1px solid var(--line);margin-top:22px}
details.fold summary{padding:20px 26px;cursor:pointer;list-style:none;font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.16em;display:flex;justify-content:space-between;gap:16px}
details.fold summary::-webkit-details-marker{display:none}
details.fold summary::after{content:"+";color:var(--brass);font-size:1.1rem;line-height:1}
details.fold[open] summary::after{content:"–"}
details.fold .scroll-x{border-top:1px solid var(--line)}

/* ── INVENTORY ───────────────────────────────────────────────────────────── */
.inv{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:1px solid var(--line-dark)}
.inv>article{padding:clamp(24px,3vw,38px) 26px clamp(24px,3vw,38px) 0;border-right:1px solid var(--line-dark)}
.inv>article:last-child{border-right:0}
.inv dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.46);margin-bottom:12px}
.inv-count{font-family:var(--display);font-size:2.4rem;line-height:1;display:block;margin-bottom:10px}
.inv-range{display:block;font-size:.9rem;color:var(--brass)}
.inv-note{display:block;margin-top:8px;font-size:.7rem;color:rgba(255,255,255,.42);font-style:italic}

/* ── GALLERY GRIDS (film) ────────────────────────────────────────────────── */
.mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px)}
.mosaic--count-1{grid-template-columns:minmax(0,900px)}
.mosaic--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mosaic--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.mosaic--count-3,.mosaic--count-5,.mosaic--count-6{grid-template-columns:repeat(3,minmax(0,1fr))}
.strip--count-1,.strip--count-2,.strip--count-3{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}
.strip--count-1{grid-template-columns:minmax(0,900px)}
.strip--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.strip--count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.strip--count-1 figcaption,.strip--count-2 figcaption,.strip--count-3 figcaption{position:absolute;inset:auto 0 0 0}
.mosaic figure{margin:0;position:relative;overflow:hidden}
.mosaic .frame-film{width:100%;aspect-ratio:var(--frame,16/9)}
.mosaic figcaption{
  position:absolute;inset:auto 0 0 0;padding:20px;z-index:2;color:var(--white);
  background:linear-gradient(0deg,rgba(8,9,10,.88),transparent);
  opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;
}
.mosaic figure:hover figcaption,.mosaic figure:focus-within figcaption{opacity:1;transform:none}
.mosaic figcaption strong{display:block;font-family:var(--display);font-size:1.05rem;font-weight:400}
.mosaic figcaption span{display:block;margin-top:4px;font-size:.8rem;color:rgba(255,255,255,.72)}
.mosaic figure.no-media{display:none}

/* ── PLANS (dossier grid) ────────────────────────────────────────────────── */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.plans--count-1{grid-template-columns:minmax(0,860px)}
.plans--count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.plans--count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan-item{margin:0}
.plan-item .frame-doc{aspect-ratio:4/3}
.plan-item figcaption{padding:16px 2px 0;display:grid;gap:6px}
.plan-item figcaption strong{font-size:.95rem;font-weight:600}
.plan-item figcaption span{font-size:.83rem;color:var(--grey)}
.plan-ref{width:fit-content;background:var(--brass);color:var(--black);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;padding:5px 10px}
.zoom-hint{position:absolute;right:12px;bottom:12px;z-index:2;background:rgba(8,9,10,.76);color:#fff;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:7px 11px;pointer-events:none}

/* ── VIDEO ───────────────────────────────────────────────────────────────── */
.vid{margin:0}
.vid-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--black)}
.vid-frame video,.vid-frame iframe{width:100%;height:100%;border:0;display:block;object-fit:cover;background:var(--black)}
.vid-facade{background-size:cover;background-position:center;cursor:pointer}
.vid-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,10,.5),rgba(8,9,10,.12))}
.vid-play{position:absolute;inset:0;z-index:3;width:100%;height:100%;background:none;border:0;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;cursor:pointer}
.vid-play-ring{width:76px;height:76px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;transition:background-color .35s,border-color .35s,transform .35s}
.vid-play-ring::after{content:"";border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;margin-left:4px;transition:border-color .35s}
.vid-play:hover .vid-play-ring{background:var(--white);border-color:var(--white);transform:scale(1.08)}
.vid-play:hover .vid-play-ring::after{border-left-color:var(--black)}
.vid-play-t{font-size:var(--micro);text-transform:uppercase;letter-spacing:.24em;font-weight:700}
.vid-cap{padding:16px 0 0;display:grid;gap:6px}
.vid-kind{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:var(--brass);font-weight:700}
.vid-cap strong{font-family:var(--display);font-size:1.1rem;font-weight:400}
.vid-cap span{font-size:.85rem;color:var(--grey)}
.band--dark .vid-cap span,.band--coal .vid-cap span{color:rgba(255,255,255,.6)}
.vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.vid-unavailable{
  position:absolute;inset:0;z-index:4;display:grid;place-content:center;gap:8px;
  text-align:center;padding:24px;background:var(--coal);color:rgba(255,255,255,.7);
}
.vid-unavailable strong{font-family:var(--display);font-size:1.05rem;font-weight:400;color:rgba(255,255,255,.86)}
.vid-unavailable span{font-size:.8rem}
.vid-unavailable a{text-decoration:underline}
.vid[hidden]{display:none}
.vid-out{
  display:inline-flex;align-items:center;gap:7px;margin-top:6px;
  font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  color:var(--brass);border-bottom:1px solid currentColor;padding-bottom:3px;width:fit-content;
}
.vid-out:hover{color:var(--white)}
.band--light .vid-out:hover,.band--paper .vid-out:hover{color:var(--ink)}
a.vid-facade{display:block;text-decoration:none}
.vid-noscript{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;color:#fff;text-decoration:underline}

/* ── LOCATION ────────────────────────────────────────────────────────────── */
.loc{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:2px}
.map{min-height:clamp(360px,54vh,600px);background:var(--coal);filter:grayscale(1) contrast(1.1) invert(.92) hue-rotate(180deg)}
.map iframe{width:100%;height:100%;min-height:clamp(360px,54vh,600px);border:0;display:block}
.near{display:grid;align-content:start;background:var(--coal)}
.near>div{padding:16px 24px;border-bottom:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.near>div:last-child{border-bottom:0}
.near dt{margin:0;font-size:.88rem;color:rgba(255,255,255,.86)}
.near dd{margin:0;font-family:var(--mono);font-size:.74rem;color:var(--brass);white-space:nowrap}

/* ── PRICING / RESERVATION ───────────────────────────────────────────────── */
.price-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2px}
.price-cell{padding:clamp(30px,4vw,56px);background:var(--coal)}
.price-cell--alt{background:var(--tier)}
.price-tag{font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--brass);display:block;margin-bottom:22px}
.price-big{font-family:var(--display);font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.05;letter-spacing:-.03em;display:block;margin-bottom:16px}
.price-big--req{font-family:var(--sans);font-size:1.05rem;font-weight:600;line-height:1.6;letter-spacing:0}
.price-cell p{color:rgba(255,255,255,.68);font-size:.92rem}
.transparency{margin-top:28px;padding-top:24px;border-top:1px solid var(--line-dark)}
.transparency dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5);margin-bottom:14px}
.transparency ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.transparency li{position:relative;padding-left:22px;font-size:.88rem;color:rgba(255,255,255,.74);line-height:1.6}
.transparency li::before{content:"";position:absolute;left:0;top:.66em;width:11px;height:1px;background:var(--brass)}
.examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:28px;background:var(--line-dark)}
.examples>div{background:var(--coal);padding:18px 20px}
.examples dt{font-size:var(--micro);text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.46);margin-bottom:8px}
.examples dd{margin:0;font-family:var(--display);font-size:1.2rem}
.examples small{display:block;margin-top:6px;font-size:.72rem;color:rgba(255,255,255,.46);line-height:1.5}
.terms{display:grid;gap:1px;margin:24px 0;background:rgba(255,255,255,.16)}
.terms>div{display:flex;justify-content:space-between;gap:18px;padding:14px 18px;background:var(--tier)}
.terms dt{margin:0;font-size:.86rem;color:rgba(255,255,255,.68)}
.terms dd{margin:0;font-size:.88rem;font-weight:600;text-align:right}
.steps{counter-reset:s;margin:26px 0;padding:0;list-style:none;display:grid;gap:20px}
.steps li{counter-increment:s;position:relative;padding-left:46px;font-size:.9rem;color:rgba(255,255,255,.74);line-height:1.6}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--mono);font-size:.72rem;color:var(--brass);letter-spacing:.1em}
.steps strong{color:var(--white);font-weight:600}
.fineprint{margin-top:clamp(26px,3vw,40px);font-size:.82rem;color:rgba(255,255,255,.5);max-width:96ch;line-height:1.7}
.band--light .fineprint,.band--paper .fineprint{color:var(--grey)}

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{padding:26px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;font-family:var(--display);font-size:var(--d4);font-weight:400;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brass);font-size:1.3rem;line-height:1;flex:none;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 0 28px;max-width:76ch;color:var(--grey-2)}

/* ── PROPERTY CARDS (index/related) ──────────────────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.card{display:flex;flex-direction:column;background:none}
.card-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--near);display:block}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.card:hover .card-media img{transform:scale(1.05)}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,10,.8),transparent 52%)}
.card-badge{position:absolute;top:18px;left:18px;z-index:2;background:rgba(8,9,10,.7);color:#fff;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:8px 13px}
.card-over{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff}
.card-over h3{font-size:var(--d4);margin-bottom:6px}
.card-over span{font-size:var(--micro);text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72)}
.card-body{padding:20px 0 0}
.card-body p{color:var(--grey-2);font-size:.94rem;margin-bottom:16px}
.band--dark .card-body p,.band--coal .card-body p{color:rgba(255,255,255,.62)}

/* ── BRAND LADDER ────────────────────────────────────────────────────────── */
.ladder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.rung{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(380px,48vh,540px);padding:clamp(26px,3.4vw,46px);overflow:hidden;color:#fff;isolation:isolate}
.rung::before{content:"";position:absolute;inset:0;z-index:-1;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.rung--flagship::before{background:linear-gradient(165deg,var(--alp-2),var(--alp))}
.rung--core::before{background:linear-gradient(165deg,var(--alv-2),var(--alv))}
.rung--broadener::before{background:linear-gradient(165deg,var(--avi-2),var(--avi))}
.rung:hover::before{transform:scale(1.06)}
.rung-rank{position:absolute;top:26px;right:30px;font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:rgba(255,255,255,.44)}
.rung-role{font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:var(--brass);margin-bottom:14px}
.rung h3{font-size:var(--d3);margin-bottom:14px}
.rung p{color:rgba(255,255,255,.76);font-size:.95rem;max-width:36ch;margin-bottom:22px}
.rung-count{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;color:rgba(255,255,255,.56);margin-bottom:18px}

/* ── LOT MODULES ─────────────────────────────────────────────────────────── */
.lots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.lot{position:relative;overflow:hidden;color:#fff;min-height:clamp(400px,50vh,560px);display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;scroll-margin-top:100px}
.lot .frame-film{position:absolute;inset:0;z-index:-2}
.lot::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,9,10,.92),rgba(8,9,10,.28) 58%,rgba(8,9,10,.42))}
.lot-body{padding:clamp(24px,3vw,38px)}
.lot-n{font-family:var(--mono);font-size:var(--micro);letter-spacing:.22em;color:var(--brass);display:block;margin-bottom:12px}
.lot h3{font-size:var(--d4);margin-bottom:10px}
.lot p{font-size:.9rem;color:rgba(255,255,255,.74);margin-bottom:16px}
.lot-range{display:block;font-family:var(--mono);font-size:.76rem;letter-spacing:.1em;color:var(--brass);margin-bottom:20px}

/* ── FORMS ───────────────────────────────────────────────────────────────── */
.inq{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,6vw,90px);align-items:start}
.inq-intro h2{margin-bottom:24px}
.inq-intro p{color:rgba(255,255,255,.7);max-width:46ch}
.assur{margin:30px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.assur li{position:relative;padding-left:26px;font-size:.9rem;color:rgba(255,255,255,.72)}
.assur li::before{content:"";position:absolute;left:0;top:.7em;width:13px;height:1px;background:var(--brass)}
.inq-phone{display:inline-grid;gap:4px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line-dark)}
.inq-phone span{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.inq-phone strong{font-family:var(--display);font-size:1.5rem;font-weight:400}

.form{display:grid;gap:20px}
.form--panel{background:rgba(255,255,255,.045);border:1px solid var(--line-dark);padding:clamp(24px,3.4vw,44px)}
.form--page{background:var(--white);border:1px solid var(--line);padding:clamp(24px,3.4vw,44px)}
.form label>span:first-child{display:block;font-size:var(--micro);font-weight:700;text-transform:uppercase;letter-spacing:.16em;margin-bottom:10px;color:var(--grey)}
.form--panel label>span:first-child{color:rgba(255,255,255,.6)}
.form input[type=text],.form input[type=email],.form select,.form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:12px 0;outline:none;border-radius:0;transition:border-color .3s;
}
.form--panel input,.form--panel select,.form--panel textarea{border-bottom-color:var(--line-dark);color:var(--white)}
.form--panel select option{background:var(--coal);color:var(--white)}
.form input:focus,.form select:focus,.form textarea:focus{border-bottom-color:var(--brass)}
.form textarea{resize:vertical;min-height:92px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:auto;margin-top:5px;flex:none;accent-color:var(--brass)}
.check span{font-size:.86rem;line-height:1.6;color:var(--grey-2);font-weight:400;text-transform:none;letter-spacing:0}
.form--panel .check span{color:rgba(255,255,255,.68)}
.check a{text-decoration:underline}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chip-ctx{padding:14px 18px;background:var(--tier-tint);font-size:.88rem}
.form--panel .chip-ctx{background:rgba(255,255,255,.07);color:rgba(255,255,255,.86)}
.form-note{font-size:.78rem;line-height:1.65;color:var(--grey)}
.form--panel .form-note{color:rgba(255,255,255,.46)}
.inq-submit{width:100%}
.notice{padding:22px 26px;margin-bottom:28px;border-left:2px solid}
.notice.success{background:#eaf0ea;border-color:#4a7a52}
.notice.error{background:#f6e9e4;border-color:#a8543c}
.notice p{margin-top:6px;font-size:.9rem}
.ctx-summary{padding:24px 28px;background:var(--white);border-left:2px solid var(--tier);margin-bottom:30px;display:grid;gap:6px}
.ctx-summary strong{font-family:var(--display);font-size:1.3rem;font-weight:400}
.ctx-summary>span{font-size:.88rem;color:var(--grey)}

/* ── STICKY BAR ──────────────────────────────────────────────────────────── */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:75;
  background:rgba(8,9,10,.96);backdrop-filter:blur(18px);color:#fff;
  border-top:1px solid var(--line-dark);
  transform:translateY(110%);transition:transform .45s cubic-bezier(.4,0,.2,1);
  padding-bottom:env(safe-area-inset-bottom,0);
}
.sticky-cta.is-visible{transform:none}
.sticky-cta[hidden]{display:none}
.sticky-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;flex-wrap:wrap}
.sticky-id{display:grid;gap:3px;min-width:0}
.sticky-brand{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.24em;color:var(--brass)}
.sticky-name{font-family:var(--display);font-size:1.16rem;line-height:1.2}
.sticky-price{font-size:.78rem;color:rgba(255,255,255,.62)}
.sticky-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sticky-actions select{
  background:transparent;border:1px solid rgba(255,255,255,.26);color:#fff;
  padding:13px 16px;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;
  max-width:280px;cursor:pointer;border-radius:0;
}
.sticky-actions select option{background:var(--coal)}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
.site-footer{background:var(--black);color:#fff}
.site-footer a{color:rgba(255,255,255,.66);transition:color .3s}
.site-footer a:hover{color:#fff}
.foot-lead{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,6vw,90px);padding:clamp(64px,9vw,120px) 0;border-bottom:1px solid var(--line-dark);align-items:start}
.foot-lead h2{margin-bottom:20px}
.foot-lead>div>p{color:rgba(255,255,255,.66);max-width:46ch}
.footer-phone{display:inline-grid;gap:4px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line-dark)}
.footer-phone span{font-size:var(--micro);text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.5)}
.footer-phone strong{font-family:var(--display);font-size:1.5rem;font-weight:400;color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:clamp(30px,5vw,70px);padding:clamp(52px,7vw,90px) 0}
.foot-grid a{display:block;margin:10px 0;font-size:.9rem}
.foot-title{font-family:var(--sans);font-size:var(--micro);text-transform:uppercase;letter-spacing:.22em;color:var(--brass);margin-bottom:8px;font-weight:700}
.foot-grid p{color:rgba(255,255,255,.56);font-size:.88rem}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-top:1px solid var(--line-dark);font-size:.76rem;color:rgba(255,255,255,.44)}

/* ── LIGHTBOX ────────────────────────────────────────────────────────────── */
.zoomable-image{cursor:zoom-in}
.image-lightbox{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;gap:18px;background:rgba(5,6,7,.97);padding:clamp(16px,4vw,56px)}
.image-lightbox.is-open{display:flex}
body.image-lightbox-open{overflow:hidden}
.image-lightbox-stage{margin:0;max-width:min(1300px,94vw);display:grid;gap:16px}
.image-lightbox-image{max-width:100%;max-height:78vh;object-fit:contain;margin:0 auto;background:#fff}
.image-lightbox-caption{color:rgba(255,255,255,.8);text-align:center;font-size:.88rem}
.image-lightbox-counter{position:absolute;top:24px;left:28px;font-family:var(--mono);color:rgba(255,255,255,.6);font-size:.74rem}
.image-lightbox-close{position:absolute;top:18px;right:24px;width:46px;height:46px;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.4rem;cursor:pointer}
.image-lightbox-nav{width:52px;height:52px;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;cursor:pointer;flex:none}
.image-lightbox-nav:hover,.image-lightbox-close:hover{background:rgba(255,255,255,.14)}

/* ── PROSE ───────────────────────────────────────────────────────────────── */
.prose h2{font-size:var(--d4);margin:44px 0 14px}
.prose p{color:var(--grey-2);margin-bottom:14px;max-width:var(--text)}
.page-head{padding:clamp(140px,16vw,220px) 0 clamp(40px,6vw,70px)}
.page-head h1{font-size:var(--d2);margin-bottom:24px}
.page-head .lead{color:var(--grey-2);max-width:58ch}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media(min-width:1280px){ .rail{display:block} }

@media(max-width:1080px){
  .split-ed,.split-ed--wide-left,.split-ed--wide-right,.statement-wrap,.chapter,.loc,.price-grid,.inq,.foot-lead{grid-template-columns:minmax(0,1fr)}
  .unit{grid-template-columns:minmax(0,1fr);gap:28px}
  .unit:nth-child(even) .unit-visual{order:0}
  .cards,.ladder,.lots,.plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mosaic figcaption{opacity:1;transform:none;position:static;background:none;color:inherit;padding:12px 0 0}
  .mosaic figcaption span{color:var(--grey)}
  .band--dark .mosaic figcaption span,.band--coal .mosaic figcaption span{color:rgba(255,255,255,.6)}
  .map,.map iframe{min-height:340px}
}

@media(max-width:860px){
  .nav-toggle{display:block}
  .main-nav{
    position:fixed;inset:0;z-index:90;background:var(--black);
    display:none;flex-direction:column;align-items:flex-start;justify-content:center;
    gap:8px;padding:var(--gutter);
  }
  .main-nav.open{display:flex}
  .main-nav .nav-brand{font-size:1.6rem;font-family:var(--display);text-transform:none;letter-spacing:-.02em;color:#fff;padding:14px 0}
  .main-nav .nav-brand::after{display:none}
  .main-nav .header-phone{font-size:1rem;letter-spacing:.06em;padding:14px 0}
  .main-nav .nav-cta{margin-top:20px}
  .nav-toggle{position:relative;z-index:95}
  .facts-row,.stories,.unit-specs,.examples{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story{border-right:0;border-bottom:1px solid var(--line-dark);padding-right:0}
  .band--light .story,.band--paper .story{border-bottom-color:var(--line)}
  .vids{grid-template-columns:minmax(0,1fr)}
  .cine h1{max-width:none}
}

@media(max-width:620px){
  :root{--bar:0px}
  .cards,.ladder,.lots,.plans,.mosaic,.facts-row,.stories,.unit-specs,.examples,.row2,.foot-grid{grid-template-columns:minmax(0,1fr)}
  .filter{border-bottom:0}
  .chip{border-right:0;border-bottom:1px solid var(--line);width:100%;justify-content:space-between}
  .unit-specs>div{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  .unit-actions .btn{width:100%}
  .facts-row>div{border-right:0;border-bottom:1px solid var(--line-dark)}
  .inv>article{border-right:0;border-bottom:1px solid var(--line-dark);padding-right:0}
  .sticky-inner{flex-direction:column;align-items:stretch;gap:10px}
  .sticky-actions{display:grid;gap:8px}
  .sticky-actions select,.sticky-actions .btn{width:100%;max-width:none}
  .foot-bottom{flex-direction:column}
}

/* ── MOTION & PRINT ──────────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}
  .frame-film:hover img,.card:hover .card-media img,.rung:hover::before{transform:none}
}
@media print{
  .site-header,.sticky-cta,.site-footer,.rail,.image-lightbox,.cine-scroll{display:none}
  body{background:#fff;color:#000;padding:0}
  .band{padding:18px 0;break-inside:avoid}
  .band--dark,.band--coal,.band--tier{background:#fff;color:#000}
  .unit{break-inside:avoid}
}
