/* Sovereign chrome — the front's base stylesheet + Sovereign overrides for subpages.
   Hand-maintained since 9 Sep 2026 (was generated by restyle-site.py).
   The interior design language lives in sovereign-interior.css, imported here so every
   subpage that links this file gets it. */
@import url("/assets/front/sovereign-interior.css");

  html { scroll-behavior:smooth; }
  body { margin:0; background:#050609; color:#EEF0F4; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
  a { color:#E9D3A0; text-decoration:none; }
  a:hover { color:#F5E6C4; }
  ::selection { background:#C9A24A; color:#050609; }
  @keyframes e5-cue { 0%,100% { transform:translateY(0); opacity:.35; } 50% { transform:translateY(8px); opacity:1; } }
  @keyframes e5-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(63,107,216,.55); } 60% { box-shadow:0 0 0 7px rgba(63,107,216,0); } }
  @keyframes e5-shimmer { from { background-position:0% 50%; } to { background-position:200% 50%; } }
  @keyframes e5-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
  @keyframes e5-drift { 0%,100% { transform:translate3d(0,0,0) scale(1.04); } 50% { transform:translate3d(-1.5%,-1%,0) scale(1.08); } }
  @media (prefers-reduced-motion: reduce) { * { animation:none !important; } }
  /* Viewport breakpoints cannot be expressed inline; these are the only responsive rules. */
  @media (max-width: 1180px) {
    [data-m~="hidemd"] { display:none !important; }
    [data-m~="herotext"] { top:auto !important; bottom:72px !important; transform:none !important; width:auto !important; right:clamp(20px,5vw,48px); }
    [data-m~="hero"] { height:auto !important; min-height:100svh !important; max-height:none !important; }
    [data-m~="heroside"] { display:none !important; }
  }
  @media (max-width: 900px) {
    [data-m~="hide"] { display:none !important; }
    [data-m~="stack"] { grid-template-columns:minmax(0,1fr) !important; }
    [data-m~="col"] { flex-direction:column !important; align-items:stretch !important; }
    [data-m~="left"] { text-align:left !important; }
    [data-m~="nob"] { border-right:none !important; border-bottom:1px solid #1A2030; }
    [data-m~="herotext"] { top:auto !important; bottom:72px !important; transform:none !important; width:auto !important; right:clamp(20px,5vw,48px); }
    [data-m~="hero"] { height:auto !important; min-height:100svh !important; max-height:none !important; }
    [data-m~="stage"] { height:52vh !important; }
    [data-m~="mapband"] { height:70vh !important; }
    [data-m~="scan"] { overflow-x:auto; }
    [data-m~="two"] { grid-template-columns:1fr 1fr !important; }
  }

  /* hover rules generated from the design's style-hover attributes */
  .h1:hover { color:#E9D3A0 !important; }
  .h2:hover { animation:e5-shimmer 1.6s linear infinite !important; }
  .h3:hover { background:#E9D3A0 !important; }
  .h4:hover { border-color:#3F6BD8 !important;color:#E9D3A0 !important; }
  .h5:hover { transform:scale(1.06) !important; }
  .h6:hover { background:rgba(14,20,40,.85) !important; }
  .h7:hover { transform:scale(1.05) !important; }
  .h8:hover { background:rgba(11,19,48,.3) !important; }
  .h9:hover { background:rgba(14,20,40,.8) !important; }
  .h10:hover { background:linear-gradient(160deg,rgba(80,62,22,.6),rgba(14,24,60,.5)) !important; }
  .h-foot:hover { color:#E9D3A0 !important; }
  /* map pins: the fact opens on hover, focus, or tap (e5-map-3d toggles .is-open) */
  [data-pin]:hover .pin-fact, [data-pin].is-open .pin-fact, [data-pin]:focus-visible .pin-fact { display:block !important; }
  [data-pin]:hover, [data-pin].is-open { background:rgba(5,6,9,.96) !important; }
  [data-pin]:focus-visible { outline:1px solid #C9A24A; outline-offset:2px; }


/* ============================================================
   Sovereign chrome for the editorial chassis (vc-*) and the
   neighbourhood pages (nb-*). Tokens first: the pages paint
   everything from these variables.
   ============================================================ */
html, html[data-palette="editorial"], html[data-palette="original"], html:not([data-palette]) {
  --vc-bone:#050609 !important; --vc-bone-2:#06070B !important; --vc-bone-3:#0B0D14 !important;
  --vc-ink:#EEF0F4 !important; --vc-ink-2:#C8CDD8 !important; --vc-ink-3:#9AA1B4 !important;
  --vc-ink-rgb:238,240,244 !important;
  --vc-oxblood:#C9A24A !important; --vc-oxblood-2:#E9D3A0 !important;
  --vc-gold:#C9A24A !important; --vc-gold-2:#E9D3A0 !important; --vc-gold-text:#E9D3A0 !important;
  --vc-muted:#7E869A !important; --vc-rule:#1A2030 !important; --vc-rule-2:#1A2030 !important; --vc-rule-3:#2A3348 !important;
  --vc-text:'IBM Plex Sans',system-ui,sans-serif !important;
  --vc-display:'Cormorant Garamond',Georgia,serif !important;
  color-scheme: dark;
}
html, body { background:#050609 !important; color:#EEF0F4 !important; }
body { font-family:'IBM Plex Sans',system-ui,sans-serif; }
main a:not([class]), .nb-wrap a:not([class]) { color:#E9D3A0; }
main a:not([class]):hover, .nb-wrap a:not([class]):hover { color:#F5E6C4; }
::selection { background:#C9A24A; color:#050609; }

/* old chrome, in case any survives */
.vc-nav, .vc-masthead, .vc-sub-masthead, .vc-palette-toggle, .vc-counter, .vc-skip, .nb-top, .nb-foot { display:none !important; }

/* buttons — the gold-leaf finish itself ships in the chrome partial (scripts/chrome/head.html);
   here only the layout of the neighbourhood CTA row. */
.nb-cta a { display:inline-flex; padding:13px 18px; margin:10px 10px 0 0; font-size:11px; line-height:1; }
.nb-cta { display:flex; flex-wrap:wrap; align-items:flex-start; }
.nb-cta p { flex:0 0 100%; }
.vc-cta-link { color:#9AA1B4; }
.vc-cta-link em, .vc-cta-link:hover { color:#E9D3A0; }

/* section grounds that were painted in bone */
.vc-pillars, .vc-pull, .vc-values, .vc-record, .vc-feat, .vc-letter, .vc-r246, .vc-mech, .vc-covenant, .section, .vc-page-head {
  background-color:transparent !important;
}
.vc-pull::before { background:radial-gradient(ellipse at 30% 30%, rgba(201,162,74,.16), transparent 55%), radial-gradient(ellipse at 70% 70%, rgba(63,107,216,.10), transparent 60%) !important; }
.vc-foundation {
  background:radial-gradient(ellipse 55% 80% at var(--gleam-x,50%) 50%, rgba(201,162,74,.22), transparent 72%), #06070B !important;
  border-top:1px solid #6E5220 !important; border-bottom:1px solid #1A2030 !important;
}
.vc-foundation::before, .vc-foundation::after { background:#1A2030 !important; }
h1.vc-foundation-m, .vc-foundation-mark { color:#F5F6F8 !important; }
.vc-wordmark .word { -webkit-text-fill-color:#F5F6F8 !important; color:#F5F6F8 !important; background:none !important; }
.vc-wordmark .em5 { color:#E9D3A0 !important; }
.vc-pillars-grid { border-color:#6E5220 !important; background:rgba(8,10,16,.72) !important; }
.vc-record-card, .vc-pillar { border-color:#1A2030 !important; }
.vc-cover-rail hr { border-top-color:#6E5220 !important; }

/* forms (coalition apply, contact, newsletter) */
input, select, textarea { background:#0A0D14 !important; color:#EEF0F4 !important; border:1px solid #2A3348 !important; border-radius:0 !important; }
input:focus, select:focus, textarea:focus { outline:1px solid #C9A24A !important; outline-offset:0; border-color:#C9A24A !important; }
::placeholder { color:#7E869A; }

/* neighbourhood pages */
.nb-wrap { padding-top:24px; }
.nb-note { background:rgba(11,19,48,.35) !important; border-left-color:#C9A24A !important; }
.nb-rule, .nb-facts, .nb-facts div, .nb-src { border-color:#1A2030 !important; }
.nb-cta { border-top-color:#6E5220 !important; }

/* blueprint plan grid under the editorial page head (same recipe as .e5-plan in the chrome partial) */
.vc-page-head { position:relative; }
.vc-page-head::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.6;
  background:
    repeating-linear-gradient(90deg, rgba(201,162,74,.09) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(0deg,  rgba(201,162,74,.09) 0 1px, transparent 1px 24px),
    repeating-linear-gradient(90deg, rgba(233,211,160,.16) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(0deg,  rgba(233,211,160,.16) 0 1px, transparent 1px 120px);
  -webkit-mask-image:radial-gradient(ellipse 72% 64% at 62% 42%, #000 18%, transparent 78%); mask-image:radial-gradient(ellipse 72% 64% at 62% 42%, #000 18%, transparent 78%); }
.vc-page-head > * { position:relative; z-index:1; }

/* the injected chrome must sit above page backgrounds */
.sov-chrome { position:relative; z-index:40; }
main, .nb-wrap { position:relative; z-index:1; }
