/* =========================================================
   TOKENS
   ========================================================= */
:root{
  --ink: #0b1930;
  --ink-2: #071021;
  --ink-70: rgba(11,25,48,.72);
  --ink-50: rgba(11,25,48,.5);
  --ink-30: rgba(11,25,48,.3);
  --ink-14: rgba(11,25,48,.14);
  --ink-08: rgba(11,25,48,.08);

  --gold: #c69238;
  --gold-light: #e8d3af;
  --gold-deep: #8a6627;
  --gold-14: rgba(198,146,56,.14);

  --paper: #faf8f2;
  --paper-70: rgba(250,248,242,.72);
  --paper-50: rgba(250,248,242,.5);
  --bone: #fffefb;
  --line-on-ink: rgba(250,248,242,.18);

  --font-display: 'Playfair Display', serif;
  --font-script: 'Cormorant', serif;
  --font-body: 'Manrope', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  --sidebar-w: 260px;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.6rem;
  --space-4: 2.6rem;
  --space-5: 4.2rem;
  --space-6: 6.5rem;

  --dur: 260ms;
  --ease: cubic-bezier(.16,.84,.24,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{transition-duration:.001ms !important; animation-duration:.001ms !important;} }

body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--gold); color:var(--paper); }

/* paper grain */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:300; opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.1; margin:0 0 var(--space-2); letter-spacing:-.01em; }
h1{ font-size:clamp(2.6rem,5.6vw,4.6rem); font-weight:500; }
h2{ font-size:clamp(1.9rem,3.4vw,2.7rem); }
h3{ font-size:1.28rem; }
p{ margin:0 0 var(--space-2); color:var(--ink-70); }
.lede{ font-size:1.2rem; color:var(--ink-70); max-width:58ch; }

.folio{ font-family:var(--font-body); font-size:.68rem; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-deep); display:flex; align-items:center; gap:.8em; margin-bottom:var(--space-3); }
.folio::after{ content:""; flex:1; height:1px; background:var(--ink-14); }
.folio.on-ink{ color:var(--gold-light); }
.folio.on-ink::after{ background:var(--line-on-ink); }

.script-line{ font-family:var(--font-script); font-style:italic; color:var(--gold-deep); font-size:1.15rem; }

/* =========================================================
   LAYOUT SHELL — fixed masthead sidebar + content column
   ========================================================= */
.shell{ display:flex; min-height:100vh; }

.masthead{
  width:var(--sidebar-w); flex-shrink:0; position:fixed; top:0; left:0; bottom:0;
  background:var(--ink); color:var(--paper); display:flex; flex-direction:column;
  padding:var(--space-4) var(--space-3) var(--space-3); z-index:100;
  border-right:1px solid var(--line-on-ink);
}
.masthead-logo{ margin-bottom:var(--space-5); }
.masthead-logo img{ width:100%; height:auto; max-width:170px; }
.masthead-nav{ flex:1; }
.masthead-nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.15rem; }
.masthead-nav li{ counter-increment: navitem; }
.masthead-nav{ counter-reset: navitem; }
.masthead-nav a{
  display:flex; align-items:baseline; gap:.7em; padding:.62rem 0; font-family:var(--font-display);
  font-size:1.02rem; color:var(--paper-70); border-top:1px solid var(--line-on-ink);
  transition:color var(--dur) var(--ease), padding-left var(--dur) var(--ease);
}
.masthead-nav li:last-child a{ border-bottom:1px solid var(--line-on-ink); }
.masthead-nav a::before{ content: counter(navitem, decimal-leading-zero); font-family:var(--font-body); font-size:.68rem; letter-spacing:.05em; color:var(--gold); }
.masthead-nav a:hover, .masthead-nav a[aria-current="page"]{ color:var(--paper); padding-left:.4em; }
.masthead-nav a[aria-current="page"]{ color:var(--gold-light); }

.masthead-cta{ margin-top:var(--space-4); }
.masthead-cta .btn{ width:100%; justify-content:center; }
.masthead-contact{ margin-top:var(--space-3); padding-top:var(--space-3); border-top:1px solid var(--line-on-ink); font-size:.78rem; color:var(--paper-50); line-height:1.9; }
.masthead-contact a{ color:var(--paper-70); }
.masthead-contact a:hover{ color:var(--gold-light); }

.masthead-toggle{ display:none; }

.content{ margin-left:var(--sidebar-w); flex:1; min-width:0; }

.page-topbar{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.4em;
  padding:1.1rem var(--space-5); background:var(--bone); border-bottom:1px solid var(--ink-14);
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-50);
}

/* mobile top bar (hidden on desktop) */
.topbar{ display:none; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; gap:.6em; padding:.95em 1.7em; border-radius:1px;
  font-family:var(--font-body); font-size:.76rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  cursor:pointer; border:1px solid transparent; white-space:nowrap;
  transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
}
.btn:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.btn-gold{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 10px 26px -10px rgba(198,146,56,.6); }
.btn-line{ background:transparent; color:var(--ink); border-color:var(--ink-30); }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-deep); }
.btn-line-ink{ background:transparent; color:var(--paper); border-color:var(--line-on-ink); }
.btn-line-ink:hover{ border-color:var(--gold-light); color:var(--gold-light); }

/* =========================================================
   HERO (masthead editorial — text-led, no image watermark)
   ========================================================= */
.hero{ padding:var(--space-6) var(--space-5) var(--space-5); border-bottom:1px solid var(--ink-14); }
.hero-grid{ display:grid; grid-template-columns: 1.5fr 1fr; gap:var(--space-5); align-items:end; }
.hero h1{ margin-bottom:0; }
.hero h1 em{ font-style:italic; color:var(--gold-deep); }
.hero-marginalia{ border-left:1px solid var(--ink-14); padding-left:var(--space-3); }
.hero-marginalia p{ font-family:var(--font-script); font-style:italic; font-size:1.3rem; color:var(--ink-70); line-height:1.45; margin-bottom:var(--space-3); }
.hero-cta{ display:flex; gap:var(--space-2); flex-wrap:wrap; margin-top:var(--space-4); }
.hero-stats{ display:flex; gap:var(--space-5); margin-top:var(--space-5); }
.hero-stats div{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-50); }
.hero-stats strong{ display:block; font-family:var(--font-display); font-style:italic; font-size:1.6rem; color:var(--gold-deep); margin-top:.15em; }

/* =========================================================
   SECTIONS
   ========================================================= */
.sect{ padding:var(--space-6) var(--space-5); border-bottom:1px solid var(--ink-14); }
.sect.tight{ padding-top:var(--space-5); padding-bottom:var(--space-5); }
.sect-head{ max-width:680px; margin-bottom:var(--space-5); }
.band-ink{ background:var(--ink); color:var(--paper); }
.band-ink p{ color:var(--paper-70); }
.band-ink h2,.band-ink h3{ color:var(--paper); }
.band-ink .lede{ color:var(--paper-70); }

/* first-letter drop cap, used once per page on the lede intro paragraph */
.dropcap::first-letter{
  font-family:var(--font-display); font-style:italic; font-weight:700; color:var(--gold-deep);
  float:left; font-size:4.6rem; line-height:.78; padding-right:.12em; padding-top:.06em;
}

/* =========================================================
   INDEX / TOC list — used for expertise + services + industries
   ========================================================= */
.toc{ border-top:1px solid var(--ink-14); }
.toc-row{
  display:grid; grid-template-columns: 70px 1fr auto; gap:var(--space-3); align-items:baseline;
  padding:var(--space-3) 0; border-bottom:1px solid var(--ink-14);
  transition: background var(--dur) var(--ease);
}
.toc-row:hover{ background:var(--gold-14); }
.toc-num{ font-family:var(--font-display); font-style:italic; color:var(--gold-deep); font-size:1.1rem; }
.toc-body h3{ margin-bottom:.35em; }
.toc-body p{ margin:0; max-width:64ch; }
.toc-tags{ display:none; }
.toc-dots{ display:none; }
.toc-meta{ font-family:var(--font-body); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-50); white-space:nowrap; align-self:start; padding-top:.3em; }

.incl-list{ list-style:none; margin:.9em 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.4em .5em; }
.incl-list li{ font-size:.85rem; color:var(--ink-50); position:relative; padding-left:1.1em; }
.incl-list li::before{ content:"–"; position:absolute; left:0; color:var(--gold-deep); }

/* featured / lead entry gets larger treatment */
.toc-row.featured{ grid-template-columns:1fr; padding:var(--space-4) 0; }
.toc-row.featured .toc-num{ font-size:1.4rem; }
.toc-row.featured h3{ font-size:2rem; }
.toc-row.featured p{ font-size:1.08rem; max-width:70ch; }

/* =========================================================
   MARGINALIA / PULL QUOTE
   ========================================================= */
.marginalia-quote{ display:grid; grid-template-columns: 1fr 2fr; gap:var(--space-4); align-items:center; }
.marginalia-quote .tag{ font-family:var(--font-body); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.marginalia-quote blockquote{ margin:0; font-family:var(--font-display); font-style:italic; font-weight:500; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.35; }
.marginalia-quote cite{ display:block; margin-top:var(--space-2); font-style:normal; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); }
.band-ink .marginalia-quote cite{ color:var(--gold-light); }

/* =========================================================
   VALUES / MARKS list
   ========================================================= */
.marks{ display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-5); padding:0; margin:0; list-style:none; }
.marks li{ font-family:var(--font-display); font-style:italic; font-size:1.05rem; position:relative; padding-left:1.3em; }
.marks li::before{ content:"§"; position:absolute; left:0; color:var(--gold); font-style:normal; }

/* =========================================================
   TWO COLUMN body (about page)
   ========================================================= */
.cols2{ display:grid; grid-template-columns: 1.3fr 1fr; gap:var(--space-5); }
.cols2 .side{ border-left:1px solid var(--ink-14); padding-left:var(--space-3); }
.side .folio{ margin-bottom:var(--space-2); }
.side h4{ font-family:var(--font-display); font-style:italic; font-size:1.15rem; margin:0 0 .3em; color:var(--gold-deep); }
.side p{ font-size:.94rem; margin-bottom:var(--space-3); }

/* =========================================================
   TIMELINE (Method / Process) — running-head chapter style
   ========================================================= */
.chapters{ counter-reset: chap; }
.chapter{ counter-increment:chap; display:grid; grid-template-columns:110px 1fr; gap:var(--space-3); padding:var(--space-4) 0; border-bottom:1px solid var(--ink-14); }
.chapter:first-child{ padding-top:0; }
.chapter-num{ font-family:var(--font-display); font-style:italic; font-size:2.2rem; color:var(--gold-light); -webkit-text-stroke:1px var(--gold-deep); color:transparent; }
.chapter-num::before{ content: counter(chap, decimal-leading-zero); }
.chapter h3{ margin-bottom:.35em; }
.chapter p{ margin:0; max-width:60ch; }

/* =========================================================
   INDUSTRIES chip field
   ========================================================= */
.chip-row{ display:flex; flex-wrap:wrap; gap:.6em; }
.chip{ border:1px solid var(--ink-14); border-radius:1px; padding:.55em 1.1em; font-size:.83rem; color:var(--ink-70); transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease); }
.chip:hover{ background:var(--ink); color:var(--paper); border-color:var(--ink); }

/* =========================================================
   FAQ — "Notes" — styled as marginal Q/A columns
   ========================================================= */
.note-item{ border-bottom:1px solid var(--ink-14); }
.note-q{ width:100%; text-align:left; background:none; border:none; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:var(--space-2); align-items:center; padding:var(--space-3) 0; font-family:var(--font-display); font-size:1.15rem; }
.note-q .mark{ font-family:var(--font-body); font-size:1.1rem; color:var(--gold); transition:transform var(--dur) var(--ease); }
.note-item[open] .note-q .mark{ transform:rotate(45deg); }
.note-a{ padding:0 0 var(--space-3); max-width:66ch; }
.note-item summary{ list-style:none; cursor:pointer; }
.note-item summary::-webkit-details-marker{ display:none; }

/* =========================================================
   FORMS — Begin (contact)
   ========================================================= */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-3); }
.field{ display:flex; flex-direction:column; gap:.5em; margin-bottom:var(--space-3); }
.field.full{ grid-column:1/-1; }
.field label{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-50); }
.field input, .field select, .field textarea{
  font-family:var(--font-body); font-size:.95rem; padding:.85em 0; background:transparent; border:none; border-bottom:1px solid var(--ink-30); color:var(--ink); border-radius:0;
  transition:border-color var(--dur) var(--ease);
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold-deep); }
.field textarea{ resize:vertical; min-height:110px; }

.contact-panel{ background:var(--ink); color:var(--paper); padding:var(--space-4); }
.contact-panel .row{ display:flex; flex-direction:column; gap:.2em; margin-bottom:var(--space-3); }
.contact-panel .k{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-light); }
.contact-panel .v{ color:var(--paper-70); font-size:.95rem; }
.contact-panel a.v{ color:var(--paper); }
.contact-panel a.v:hover{ color:var(--gold-light); }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ padding:var(--space-5); background:var(--ink); color:var(--paper-70); font-size:.85rem; }
.site-footer .foot-top{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-3); flex-wrap:wrap; padding-bottom:var(--space-3); border-bottom:1px solid var(--line-on-ink); margin-bottom:var(--space-3); }
.site-footer .foot-logo img{ height:34px; width:auto; }
.site-footer .foot-links{ display:flex; gap:var(--space-4); flex-wrap:wrap; }
.site-footer .foot-links a{ color:var(--paper-50); }
.site-footer .foot-links a:hover{ color:var(--gold-light); }
.site-footer .foot-legal{ color:var(--paper-50); font-size:.75rem; max-width:70ch; }
.site-footer .foot-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-3); font-size:.72rem; color:var(--paper-50); }

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

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1080px){
  .cols2{ grid-template-columns:1fr; }
  .cols2 .side{ border-left:none; border-top:1px solid var(--ink-14); padding-left:0; padding-top:var(--space-3); }
  .hero-grid{ grid-template-columns:1fr; }
  .marginalia-quote{ grid-template-columns:1fr; }
}

@media (max-width:900px){
  .masthead{ position:fixed; top:0; left:0; right:0; bottom:auto; width:100%; height:auto; flex-direction:row; align-items:center; justify-content:space-between; padding:.8rem 1.2rem; border-right:none; border-bottom:1px solid var(--line-on-ink); z-index:200; }
  .masthead-logo{ margin-bottom:0; }
  .masthead-logo img{ max-width:150px; }
  .masthead-nav, .masthead-cta, .masthead-contact{ display:none; }
  .masthead.open .masthead-nav{ display:block; position:fixed; top:64px; left:0; right:0; bottom:0; background:var(--ink); padding:var(--space-3) 1.2rem; overflow-y:auto; }
  .masthead.open .masthead-nav ul{ gap:0; }
  .masthead.open .masthead-cta{ display:block; position:fixed; left:1.2rem; right:1.2rem; bottom:1.2rem; z-index:201; }
  .masthead-toggle{
    display:flex; align-items:center; justify-content:center; width:40px; height:40px;
    background:none; border:1px solid var(--line-on-ink); cursor:pointer; flex-shrink:0;
  }
  .masthead-toggle span, .masthead-toggle span::before, .masthead-toggle span::after{
    content:""; display:block; width:18px; height:1.5px; background:var(--paper); position:relative; transition:all var(--dur) var(--ease);
  }
  .masthead-toggle span::before{ position:absolute; top:-6px; }
  .masthead-toggle span::after{ position:absolute; top:6px; }
  .content{ margin-left:0; margin-top:64px; }
  .page-topbar{ padding:.9rem 1.2rem; font-size:.6rem; }
  .hero, .sect{ padding-left:1.2rem; padding-right:1.2rem; }
}

@media (max-width:640px){
  .hero{ padding-top:var(--space-5); }
  .hero-stats{ gap:var(--space-3); flex-wrap:wrap; }
  .toc-row{ grid-template-columns:44px 1fr; }
  .toc-meta{ display:none; }
  .chapter{ grid-template-columns:60px 1fr; }
  .chapter-num{ font-size:1.5rem; }
  .form-grid{ grid-template-columns:1fr; }
  .site-footer .foot-top{ flex-direction:column; align-items:flex-start; }
  body{ font-size:15px; }
  .dropcap::first-letter{ font-size:3.4rem; }
}

/* =========================================================
   2026 PREMIUM EDITORIAL / CINEMATIC REDESIGN
   ========================================================= */
:root{
  --header-h:88px;
  --max:1440px;
  --paper:#f5f0e7;
  --bone:#fbf8f1;
  --ink:#081426;
  --ink-2:#050d18;
  --gold:#b8893f;
  --gold-light:#ddc79d;
  --gold-deep:#7d5c27;
}
body{background:var(--paper);font-size:15px;}
body::before{opacity:.022}
.shell{display:block}.content{margin:0;min-width:0}.page-topbar{display:none}
.masthead{position:fixed;inset:0 0 auto 0;width:100%;height:var(--header-h);padding:0 clamp(1.25rem,4vw,4.5rem);display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;align-items:center;gap:2rem;background:rgba(8,20,38,.94);backdrop-filter:blur(18px);border:0;border-bottom:1px solid rgba(255,255,255,.1);z-index:250}
.masthead>div:first-child{display:block!important}.masthead-logo{margin:0}.masthead-logo img{width:205px;max-width:100%;max-height:48px;object-fit:contain;object-position:left center}
.masthead-nav{display:block;justify-self:center}.masthead-nav ul{display:flex;flex-direction:row;gap:clamp(.9rem,2vw,2.2rem)}.masthead-nav a{border:0!important;padding:.4rem 0!important;font-family:var(--font-body);font-size:.67rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,248,242,.64);position:relative}.masthead-nav a::before{display:none}.masthead-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .35s var(--ease)}.masthead-nav a:hover,.masthead-nav a[aria-current=page]{color:#fff}.masthead-nav a:hover::after,.masthead-nav a[aria-current=page]::after{right:0}
.masthead-cta{margin:0}.masthead-cta .btn{width:auto}.masthead-contact{display:none}.masthead-toggle{display:none}
.content{padding-top:var(--header-h)}
.btn{border-radius:999px;padding:1.05em 1.65em;letter-spacing:.12em}.btn-gold{background:var(--gold);color:var(--ink)}.btn-line{border-color:rgba(8,20,38,.22)}.btn-line-ink{border-color:rgba(255,255,255,.25)}
.hero{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,5.5rem);min-height:calc(100vh - var(--header-h));display:flex;align-items:center;background:var(--ink);color:var(--paper);border:0;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 38%,rgba(184,137,63,.12),transparent 25%),linear-gradient(115deg,transparent 58%,rgba(255,255,255,.025) 58.2%,transparent 58.4%);pointer-events:none}.hero::after{content:"";position:absolute;width:44vw;height:44vw;min-width:440px;min-height:440px;border:1px solid rgba(221,199,157,.17);border-radius:50%;right:-12vw;top:50%;transform:translateY(-50%);box-shadow:0 0 0 70px rgba(221,199,157,.025),0 0 0 140px rgba(221,199,157,.015)}
.hero-grid{width:100%;max-width:var(--max);margin:auto;grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr);align-items:center;gap:clamp(3rem,7vw,8rem);position:relative;z-index:2}.hero h1{font-size:clamp(4rem,8.6vw,8.8rem);line-height:.89;letter-spacing:-.055em;font-weight:500;color:var(--paper);max-width:9ch}.hero h1 .gold{color:var(--gold-light);font-style:italic}.hero .folio{color:var(--gold-light)}.hero .folio::after{background:rgba(255,255,255,.16)}.hero-copy{max-width:470px;border-left:1px solid rgba(255,255,255,.18);padding-left:2rem}.hero-copy .kicker{font-family:var(--font-display);font-size:clamp(1.4rem,2vw,2rem);font-style:italic;color:var(--paper);line-height:1.35;margin-bottom:1.5rem}.hero-copy p{color:rgba(250,248,242,.62)}.hero-cta{margin-top:2.2rem}.hero-disciplines{margin-top:3.2rem;display:flex;gap:.6rem 1.5rem;flex-wrap:wrap;color:rgba(250,248,242,.5);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.hero-disciplines span::before{content:"/";color:var(--gold);margin-right:.65rem}
.sect{padding:clamp(5rem,8vw,8.5rem) clamp(1.25rem,5vw,5.5rem);border-bottom:1px solid rgba(8,20,38,.12)}.sect>*{max-width:var(--max);margin-left:auto;margin-right:auto}.sect-head{max-width:800px;margin-left:auto;margin-right:auto}.sect h2{font-size:clamp(2.6rem,5vw,5.2rem);line-height:.98;letter-spacing:-.04em;font-weight:500}.lede{font-size:clamp(1.05rem,1.6vw,1.35rem)}
.triad{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-14)}.triad-card{padding:2.4rem 2.4rem 3rem 0;border-bottom:1px solid var(--ink-14);position:relative}.triad-card+.triad-card{border-left:1px solid var(--ink-14);padding-left:2.4rem}.triad-num{font-family:var(--font-display);font-style:italic;color:var(--gold-deep);font-size:1rem}.triad-card h3{font-size:clamp(2rem,3vw,3.2rem);margin:1.4rem 0 .8rem}.triad-card p{max-width:32ch}.triad-card .arrow{display:inline-block;margin-top:1rem;color:var(--gold-deep);font-size:1.4rem;transition:transform .25s}.triad-card:hover .arrow{transform:translateX(8px)}
.work-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,8rem);align-items:start}.work-intro{position:sticky;top:calc(var(--header-h) + 3rem)}.work-list{border-top:1px solid var(--ink-14)}.work-item{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--ink-14);transition:padding .3s,background .3s}.work-item:hover{padding-left:1rem;background:rgba(184,137,63,.07)}.work-item .n{font-family:var(--font-display);font-style:italic;color:var(--gold-deep)}.work-item h3{font-size:clamp(1.45rem,2.3vw,2.25rem);margin:0 0 .35rem}.work-item p{margin:0;max-width:58ch}.work-item small{display:block;margin-top:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-50);font-size:.62rem}
.band-ink{background:var(--ink);color:var(--paper);border:0}.band-ink>*{max-width:var(--max)}.band-ink h2{color:var(--paper)}.statement{min-height:68vh;display:flex;align-items:center}.statement blockquote{font-family:var(--font-display);font-size:clamp(3rem,6vw,6.6rem);line-height:.98;letter-spacing:-.045em;margin:0;max-width:15ch}.statement blockquote em{color:var(--gold-light);font-weight:400}.statement-meta{margin-top:2.2rem;color:rgba(250,248,242,.5);text-transform:uppercase;letter-spacing:.16em;font-size:.65rem}
.journey{display:grid;grid-template-columns:repeat(6,1fr);margin-top:4rem;border-top:1px solid var(--ink-14)}.journey-step{padding:2rem 1.25rem 1rem 0;position:relative}.journey-step::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--gold);position:absolute;top:-5px;left:0}.journey-step:not(:last-child)::after{content:"";position:absolute;top:-1px;left:9px;right:0;height:1px;background:var(--gold)}.journey-step b{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.journey-step span{display:block;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);margin-bottom:.6rem}
.worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);margin-top:3rem}.world{background:var(--ink);padding:2.2rem;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}.world:hover{background:#0d203a}.world .no{color:var(--gold);font-family:var(--font-display);font-style:italic}.world h3{font-size:1.6rem;color:var(--paper);margin:2rem 0 0}
.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink-14);margin-top:3rem}.standard{padding:1.8rem 1.6rem 1.8rem 0;border-bottom:1px solid var(--ink-14)}.standard:nth-child(n+2){padding-left:1.6rem;border-left:1px solid var(--ink-14)}.standard b{display:block;font-family:var(--font-display);font-size:1.35rem;font-weight:500;margin-bottom:.45rem}.standard span{color:var(--ink-50);font-size:.82rem}
.final-cta{text-align:left;min-height:72vh;display:flex;align-items:center}.final-cta .inner{max-width:var(--max);width:100%}.final-cta h2{max-width:12ch;font-size:clamp(3.8rem,7.5vw,8rem)}.final-cta p{max-width:52ch;margin:1.5rem 0 2.2rem}.final-cta .script-line{color:var(--gold-light)}
.site-footer{padding:4rem clamp(1.25rem,5vw,5.5rem);background:var(--ink-2)}.site-footer>*{max-width:var(--max);margin-left:auto;margin-right:auto}.site-footer .foot-logo img{height:44px}.site-footer .foot-links{gap:2rem}.site-footer .foot-legal{max-width:85ch}
/* Upgrade legacy inner pages without changing their semantic content */
body:not(.home-premium) .hero{min-height:62vh;background:var(--bone);color:var(--ink);padding-top:7rem}.content>.page-topbar+main .hero h1{color:var(--ink);font-size:clamp(3.5rem,7vw,7rem);max-width:12ch}.content>.page-topbar+main .hero::before{background:radial-gradient(circle at 80% 30%,rgba(184,137,63,.12),transparent 30%)}.content>.page-topbar+main .hero::after{border-color:rgba(8,20,38,.1);box-shadow:0 0 0 70px rgba(8,20,38,.02),0 0 0 140px rgba(8,20,38,.012)}
.dropcap::first-letter{float:none;font-size:inherit;line-height:inherit;padding:0;color:inherit;font-style:inherit;font-weight:inherit}
.toc-row{padding:1.8rem 0}.toc-row:hover{background:rgba(184,137,63,.06)}.chapter{padding:2.2rem 0}.chip{border-radius:999px;padding:.7em 1.2em}.contact-panel{border-radius:2px}.field input,.field select,.field textarea{padding:1em 0}
@media(max-width:1050px){.masthead{grid-template-columns:200px 1fr auto}.masthead-nav ul{gap:1rem}.masthead-nav a{font-size:.61rem}.journey{grid-template-columns:repeat(3,1fr)}.standard-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){:root{--header-h:68px}.masthead{height:var(--header-h);display:flex;padding:.7rem 1.1rem}.masthead>div:first-child{display:flex!important;align-items:center;justify-content:space-between;width:100%}.masthead-logo img{max-width:165px}.masthead-toggle{display:flex}.masthead-nav,.masthead-cta{display:none}.masthead.open .masthead-nav{display:block;top:var(--header-h);padding:2rem 1.2rem 7rem}.masthead.open .masthead-nav ul{display:flex;flex-direction:column}.masthead.open .masthead-nav a{font-family:var(--font-display);font-size:1.55rem;text-transform:none;letter-spacing:0;padding:1rem 0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.masthead.open .masthead-cta{display:block}.content{margin:0;padding-top:var(--header-h)}.hero{padding-top:5rem}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.8rem,15vw,6.4rem)}.hero-copy{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:2rem 0 0}.work-stage{grid-template-columns:1fr}.work-intro{position:static}.triad{grid-template-columns:1fr}.triad-card+.triad-card{border-left:0;padding-left:0}.journey{grid-template-columns:repeat(2,1fr)}.worlds{grid-template-columns:1fr 1fr}.standard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sect{padding-top:4.5rem;padding-bottom:4.5rem}.hero{min-height:auto;padding-top:4.5rem;padding-bottom:4.5rem}.hero h1{font-size:clamp(3.4rem,16vw,5rem)}.hero-disciplines{gap:.5rem 1rem}.journey{grid-template-columns:1fr}.worlds{grid-template-columns:1fr}.standard-grid{grid-template-columns:1fr}.standard:nth-child(n+2){padding-left:0;border-left:0}.statement{min-height:auto}.statement blockquote{font-size:clamp(2.7rem,12vw,4rem)}.final-cta{min-height:auto}.site-footer .foot-top{align-items:flex-start;flex-direction:column}.site-footer .foot-links{gap:.8rem 1.4rem}}

/* =========================================================
   COMPLETE SITE PASS — denser editorial rhythm, 2026-08
   ========================================================= */
:root{--section-y:clamp(4.25rem,6.2vw,6.75rem);--soft:#eee7da;--soft-2:#f0eadf}
.sect{padding-top:var(--section-y);padding-bottom:var(--section-y)}
body:not(.home-premium) .hero{min-height:48vh;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(3.5rem,5.5vw,5.5rem)!important;align-items:flex-end}
body:not(.home-premium) .hero h1{margin-bottom:1.1rem}
body:not(.home-premium) main>.hero .lede{max-width:62ch}
body:not(.home-premium) main>.hero .folio{margin-bottom:1.2rem}
.content>nav.folio{max-width:var(--max);margin:0 auto;padding-left:clamp(1.25rem,5vw,5.5rem)!important;padding-right:clamp(1.25rem,5vw,5.5rem)!important}
.band-soft{background:var(--soft-2)}

/* Homepage density */
.signal-strip{background:var(--bone);border-bottom:1px solid var(--ink-14);padding:1rem clamp(1.25rem,5vw,5.5rem)}
.signal-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.signal-inner span{font-size:.61rem;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-50);padding:.45rem 1rem;border-left:1px solid var(--ink-14);text-align:center}
.signal-inner span:first-child{border-left:0}
.artifact-section{background:var(--bone)}
.artifact-head{display:grid;grid-template-columns:1.05fr .65fr;gap:clamp(2rem,7vw,8rem);align-items:end;margin-bottom:3rem}
.artifact-head h2{max-width:12ch}.artifact-head .lede{margin:0}
.artifact-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:1rem}
.artifact-card{min-height:390px;border:1px solid var(--ink-14);background:var(--paper);padding:1.2rem;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.artifact-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px -42px rgba(8,20,38,.55)}
.artifact-label,.artifact-card footer{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--ink-50)}
.artifact-card footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--ink-14)}
.paper-sheet{margin:2.2rem auto;width:87%;background:#fffdf7;border:1px solid var(--ink-14);padding:2rem 1.8rem;box-shadow:0 18px 30px -28px rgba(8,20,38,.5);font-family:'Courier New',monospace;font-size:.73rem;transform:rotate(-1.2deg)}
.paper-sheet small{font-size:.64rem}.paper-sheet p{font-family:'Courier New',monospace;font-size:.72rem;color:var(--ink);margin:1.35rem 0}.paper-sheet .indent{padding-left:20%}.paper-sheet .dialogue{text-align:center}.paper-sheet .dialogue span{display:block;margin-top:.4rem}
.lyric-art{background:var(--ink);color:var(--paper)}.lyric-art .artifact-label,.lyric-art footer{color:rgba(250,248,242,.52)}.lyric-art footer{border-color:rgba(255,255,255,.12)}
.lyric-lines{display:grid;gap:.8rem;margin:auto 0;padding:2rem 1rem}.lyric-lines i{display:block;height:1px;background:rgba(255,255,255,.2);width:100%}.lyric-lines i:nth-of-type(2),.lyric-lines i:nth-of-type(4){width:68%}.lyric-lines b{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,4rem);font-style:italic;font-weight:400;color:var(--gold-light);line-height:.8}
.pitch-frame{margin:auto 0;border:1px solid var(--ink-14);padding:2rem;background:linear-gradient(145deg,#f8f2e7,#ece2d1)}.pitch-frame>span{font-size:.6rem;letter-spacing:.16em;color:var(--gold-deep)}.pitch-frame strong{display:block;font-family:var(--font-display);font-weight:500;font-size:2rem;line-height:1.08;margin:1.4rem 0 2rem}.pitch-tags{display:flex;flex-wrap:wrap;gap:.45rem}.pitch-tags em{font-style:normal;border:1px solid var(--ink-14);border-radius:999px;padding:.5rem .75rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}
.statement{min-height:54vh}.final-cta{min-height:56vh}.fit-section{background:var(--paper)}.fit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem);align-items:start}.fit-grid h2{max-width:13ch}.fit-list{border-top:1px solid var(--ink-14)}.fit-list>div{display:grid;grid-template-columns:46px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--ink-14)}.fit-list span{font-family:var(--font-display);font-style:italic;color:var(--gold-deep)}.fit-list p{margin:0}.fit-list b{font-family:var(--font-display);font-size:1.2rem;color:var(--ink);font-weight:500}

/* About */
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-14)}
.principle-grid article{padding:1.7rem 1.5rem 1.7rem 0;border-bottom:1px solid var(--ink-14)}.principle-grid article+article{padding-left:1.5rem;border-left:1px solid var(--ink-14)}
.principle-grid span{font-family:var(--font-display);font-style:italic;color:var(--gold-deep)}.principle-grid h3{font-size:1.55rem;margin:.8rem 0 .5rem}.principle-grid p{font-size:.88rem;margin:0}
.before-after{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:2rem}.before-after ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink-14)}.before-after li{padding:.85rem 0;border-bottom:1px solid var(--ink-14);font-family:var(--font-display);font-size:1.15rem}.arrow-column{text-align:center;font-family:var(--font-display);font-size:3rem;color:var(--gold-deep)}

/* Services */
.service-jump{background:var(--ink);padding:.8rem clamp(1.25rem,5vw,5.5rem);border-top:1px solid rgba(255,255,255,.08)}.service-jump-inner{max-width:var(--max);margin:auto;display:flex;gap:.45rem;flex-wrap:wrap}.service-jump a{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(250,248,242,.62);border:1px solid rgba(255,255,255,.12);padding:.6rem .8rem;border-radius:999px}.service-jump a:hover{border-color:var(--gold);color:var(--gold-light)}
#service-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink-14)}
#service-list .toc-row{display:block;padding:2rem 2rem 2rem 0;border-bottom:1px solid var(--ink-14);min-height:100%}
#service-list .toc-row:nth-child(even){padding-left:2rem;padding-right:0;border-left:1px solid var(--ink-14)}
#service-list .toc-row.featured{grid-column:1/-1;background:var(--ink);color:var(--paper);padding:2.4rem;margin:0;border:0}
#service-list .toc-row.featured p,#service-list .toc-row.featured li{color:rgba(250,248,242,.68)}#service-list .toc-row.featured h3{color:var(--paper)}#service-list .toc-row.featured .toc-num{color:var(--gold-light)}
#service-list .toc-meta{margin-top:1rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-50)}
#service-list .toc-body h3{font-size:clamp(1.5rem,2.3vw,2.2rem)}
.incl-list{padding-left:1.1rem;color:var(--ink-70);font-size:.84rem}.incl-list li{margin:.25rem 0}
.deliverable-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-14)}.deliverable-grid>div{padding:1.7rem 1.5rem 1.7rem 0;border-bottom:1px solid var(--ink-14)}.deliverable-grid>div+div{padding-left:1.5rem;border-left:1px solid var(--ink-14)}.deliverable-grid b{display:block;font-family:var(--font-display);font-size:1.4rem;font-weight:500;margin-bottom:.5rem}.deliverable-grid span{font-size:.85rem;color:var(--ink-50)}

/* Process */
.phase-bar{background:var(--bone);border-bottom:1px solid var(--ink-14);padding:1.5rem clamp(1.25rem,5vw,5.5rem)}.phase-bar-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.phase-bar-inner>div{padding:0 1.2rem;border-left:1px solid var(--ink-14)}.phase-bar-inner>div:first-child{padding-left:0;border-left:0}.phase-bar span{display:block;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-deep)}.phase-bar b{display:block;font-family:var(--font-display);font-weight:500;font-size:1.25rem;margin:.2rem 0}.phase-bar small{color:var(--ink-50);font-size:.67rem}
.chapter{grid-template-columns:64px 1fr;padding:1.5rem 0}.chapter h3{font-size:1.45rem;margin-bottom:.4rem}.chapter p{margin:0}.chapter-num::before{font-size:1.2rem}.chapter-num{font-size:1.2rem}
.method-rule-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink-14)}.method-rule-grid article{display:grid;grid-template-columns:45px 1fr;column-gap:1rem;padding:1.6rem 1.6rem 1.6rem 0;border-bottom:1px solid var(--ink-14)}.method-rule-grid article:nth-child(even){padding-left:1.6rem;border-left:1px solid var(--ink-14)}.method-rule-grid span{grid-row:1/3;color:var(--gold-deep);font-family:var(--font-display);font-style:italic}.method-rule-grid h3{font-size:1.4rem;margin:0 0 .35rem}.method-rule-grid p{margin:0;font-size:.88rem}

/* Industries */
.brief-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-14);border:1px solid var(--ink-14)}.brief-grid article{background:var(--bone);padding:2rem;min-height:190px}.brief-grid span{font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-deep)}.brief-grid p{font-family:var(--font-display);font-size:1.55rem;line-height:1.2;color:var(--ink);margin:2.4rem 0 0}.cross-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,8vw,9rem);align-items:end}.cross-grid h2{max-width:12ch}.cross-grid .btn{margin-top:1rem}

/* FAQ */
.answer-strip{background:var(--ink);color:var(--paper);padding:1.5rem clamp(1.25rem,5vw,5.5rem)}.answer-strip-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.answer-strip-inner>div{padding:0 1.2rem;border-left:1px solid rgba(255,255,255,.13)}.answer-strip-inner>div:first-child{padding-left:0;border-left:0}.answer-strip b{display:block;font-family:var(--font-display);font-weight:500;color:var(--gold-light);font-size:1.05rem}.answer-strip span{display:block;color:rgba(250,248,242,.55);font-size:.7rem;margin-top:.25rem}.note-item{padding:0}.note-q{padding:1.3rem 0;font-family:var(--font-display);font-size:1.22rem}.note-a{padding:0 3rem 1.2rem 0}.note-a p{max-width:70ch}.first-message-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.first-message-grid h2{max-width:10ch}.first-message-grid ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink-14)}.first-message-grid li{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--ink-14);font-family:var(--font-display);font-size:1.2rem}.first-message-grid li span{color:var(--gold-deep);font-style:italic}

/* Contact */
.contact-panel{padding:2rem 2.2rem}.contact-panel .row{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1rem}.field{margin-bottom:1.15rem}.field input,.field select,.field textarea{background:rgba(255,255,255,.16)}.field textarea{min-height:135px}.expect-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-14)}.expect-grid>div{padding:1.7rem 1.5rem 1.7rem 0;border-bottom:1px solid var(--ink-14)}.expect-grid>div+div{padding-left:1.5rem;border-left:1px solid var(--ink-14)}.expect-grid span{font-family:var(--font-display);font-style:italic;color:var(--gold-deep)}.expect-grid h3{font-size:1.35rem;margin:.8rem 0 .4rem}.expect-grid p{font-size:.84rem;margin:0}.choice-grid{display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:center}.choice-grid h2{max-width:10ch}.direct-card{background:var(--ink);padding:2.2rem;color:var(--paper);display:grid;gap:.6rem}.direct-card small{color:var(--gold-light);text-transform:uppercase;letter-spacing:.13em;font-size:.58rem;margin-top:.6rem}.direct-card a{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,2rem);color:var(--paper)}.direct-card p{color:rgba(250,248,242,.5);margin:1rem 0 0}

/* Footer: stronger close without more height */
.site-footer{padding-top:3.2rem;padding-bottom:2.4rem}.site-footer .foot-top{align-items:center}.site-footer .foot-links a{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:1050px){
  .signal-inner{grid-template-columns:repeat(3,1fr)}.signal-inner span:nth-child(4){border-left:0}
  .artifact-grid{grid-template-columns:1fr 1fr}.artifact-card:first-child{grid-column:1/-1}.principle-grid{grid-template-columns:repeat(2,1fr)}.principle-grid article:nth-child(3){border-left:0;padding-left:0}.deliverable-grid,.expect-grid{grid-template-columns:repeat(2,1fr)}.deliverable-grid>div:nth-child(3),.expect-grid>div:nth-child(3){border-left:0;padding-left:0}.brief-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:780px){
  .artifact-head,.fit-grid,.before-after,.cross-grid,.first-message-grid,.choice-grid{grid-template-columns:1fr}.before-after{gap:1rem}.arrow-column{transform:rotate(90deg)}
  #service-list{grid-template-columns:1fr}#service-list .toc-row:nth-child(even){padding-left:0;border-left:0}#service-list .toc-row.featured{grid-column:auto}
  .phase-bar-inner{grid-template-columns:1fr 1fr;gap:1.2rem 0}.phase-bar-inner>div:nth-child(3){border-left:0;padding-left:0}
  .answer-strip-inner{grid-template-columns:1fr 1fr;gap:1rem 0}.answer-strip-inner>div:nth-child(3){border-left:0;padding-left:0}
  .method-rule-grid{grid-template-columns:1fr}.method-rule-grid article:nth-child(even){padding-left:0;border-left:0}
}
@media(max-width:600px){
  :root{--section-y:3.9rem}.signal-inner{grid-template-columns:1fr 1fr}.signal-inner span{border-left:1px solid var(--ink-14)!important}.signal-inner span:nth-child(odd){border-left:0!important;text-align:left}.signal-inner span:nth-child(even){text-align:left}
  .artifact-grid{grid-template-columns:1fr}.artifact-card:first-child{grid-column:auto}.artifact-card{min-height:330px}.paper-sheet{margin:1.5rem auto;padding:1.5rem}
  .principle-grid,.deliverable-grid,.expect-grid,.brief-grid{grid-template-columns:1fr}.principle-grid article+article,.deliverable-grid>div+div,.expect-grid>div+div{padding-left:0;border-left:0}
  .phase-bar-inner,.answer-strip-inner{grid-template-columns:1fr}.phase-bar-inner>div,.answer-strip-inner>div{padding:.75rem 0;border-left:0;border-top:1px solid var(--ink-14)}.phase-bar-inner>div:first-child,.answer-strip-inner>div:first-child{border-top:0}
  .service-jump-inner{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}.service-jump a{flex:0 0 auto}
  .brief-grid article{min-height:145px}.brief-grid p{margin-top:1.5rem}
}

/* Curated editorial photography — deliberately sparse */

/* =========================================================
   REFINED DENSITY + CLEAR BRAND LOCKUP — 2026-08-19
   ========================================================= */
:root{
  --header-h:82px;
  --section-y:clamp(3.6rem,5vw,5.4rem);
}
.masthead{grid-template-columns:minmax(250px,320px) 1fr auto;gap:clamp(1rem,2.5vw,2.5rem)}
.masthead-logo{display:inline-flex!important;align-items:center;gap:.85rem;min-width:0;color:#fff}
.masthead-logo .brand-mark{width:42px;height:42px;object-fit:contain;flex:0 0 42px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}
.brand-copy{display:grid;grid-template-columns:auto auto;column-gap:.5rem;align-items:baseline;line-height:1;color:#fff;white-space:nowrap}
.brand-copy strong{font-family:var(--font-display);font-size:1rem;letter-spacing:.08em;font-weight:600;color:#fff}
.brand-copy em{font-family:var(--font-body);font-size:.55rem;letter-spacing:.22em;font-style:normal;color:var(--gold-light)}
.brand-copy small{grid-column:1/-1;margin-top:.34rem;font-family:var(--font-script);font-style:italic;font-size:.78rem;letter-spacing:.035em;color:rgba(255,255,255,.64)}
.masthead-nav ul{gap:clamp(.72rem,1.45vw,1.55rem)}
.masthead-nav a{font-size:.62rem;letter-spacing:.13em}
.masthead-cta .btn{padding:.9em 1.3em;font-size:.67rem}

/* Deliberate, not empty: tighter section rhythm and stronger content anchoring */
.sect{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.sect-head{margin-bottom:clamp(2.3rem,3.8vw,3.6rem)}
.hero{min-height:clamp(610px,78vh,820px);padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:clamp(4rem,6vw,6.5rem)}
.hero-grid{gap:clamp(2.5rem,5vw,5.8rem)}
.hero h1{font-size:clamp(3.8rem,7.35vw,7.6rem)}
.hero-disciplines{margin-top:2.3rem}
.hero-copy{padding-left:1.7rem}
.statement{min-height:54vh}
.final-cta{min-height:56vh}
.world{min-height:150px;padding:1.8rem}
.artifact-card{min-height:330px}
.fit-section,.artifact-section{padding-top:clamp(3.8rem,5vw,5.2rem);padding-bottom:clamp(3.8rem,5vw,5.2rem)}

/* Editorial rails fill wide screens without clutter */
.sect:not(.band-ink){position:relative}
.sect:not(.band-ink)::before{content:"";position:absolute;top:0;bottom:0;left:clamp(1.25rem,5vw,5.5rem);width:1px;background:linear-gradient(to bottom,transparent 0,rgba(8,20,38,.07) 12%,rgba(8,20,38,.07) 88%,transparent 100%);pointer-events:none}
.sect:not(.band-ink)::after{content:"";position:absolute;top:0;bottom:0;right:clamp(1.25rem,5vw,5.5rem);width:1px;background:linear-gradient(to bottom,transparent 0,rgba(8,20,38,.05) 12%,rgba(8,20,38,.05) 88%,transparent 100%);pointer-events:none}
.signal-strip{padding-top:.75rem;padding-bottom:.75rem}
.standard-grid{margin-top:2.1rem}
.journey{margin-top:2.8rem}

/* Inner pages: remove false cinematic emptiness */
body:not(.home-premium) .hero{min-height:360px!important;padding-top:clamp(3.25rem,5vw,5rem)!important;padding-bottom:clamp(2.75rem,4vw,4rem)!important}
body:not(.home-premium) .hero h1{font-size:clamp(3rem,5.8vw,5.8rem)!important;max-width:15ch!important}
body:not(.home-premium) .hero::after{width:32vw;height:32vw;min-width:290px;min-height:290px;right:-8vw}
body:not(.home-premium) .sect{padding-top:clamp(3.4rem,4.7vw,5rem);padding-bottom:clamp(3.4rem,4.7vw,5rem)}
body:not(.home-premium) .toc-row{padding:1.35rem 0}
body:not(.home-premium) .chapter{padding:1.65rem 0}

/* Slightly richer section surfaces instead of blank paper fields */
.artifact-section,.band-soft,.first-message,.contact-expect,.deliverable-section,.method-rules,.cross-medium{background-image:linear-gradient(135deg,rgba(184,137,63,.028) 0,rgba(184,137,63,0) 42%),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(8,20,38,.018) 80px)}

@media(max-width:1180px){
  .masthead{grid-template-columns:minmax(215px,250px) 1fr auto;gap:1rem}
  .brand-copy strong{font-size:.9rem}.brand-copy small{font-size:.7rem}.masthead-logo .brand-mark{width:38px;height:38px;flex-basis:38px}
  .masthead-nav ul{gap:.75rem}.masthead-nav a{font-size:.56rem;letter-spacing:.1em}
  .masthead-cta .btn{font-size:.6rem;padding:.85em 1.05em}
}
@media(max-width:900px){
  :root{--header-h:70px}
  .masthead{height:var(--header-h);padding:.65rem 1rem}
  .masthead-logo{gap:.65rem}.masthead-logo .brand-mark{width:36px;height:36px;flex-basis:36px}
  .brand-copy strong{font-size:.84rem}.brand-copy em{font-size:.48rem}.brand-copy small{font-size:.66rem;margin-top:.22rem}
  .masthead.open .masthead-nav a{font-size:1.35rem!important}
  .hero{min-height:auto;padding-top:4rem;padding-bottom:4rem}
  .sect:not(.band-ink)::before,.sect:not(.band-ink)::after{display:none}
}
@media(max-width:520px){
  .brand-copy em{display:none}.brand-copy strong{font-size:.78rem}.brand-copy small{font-size:.6rem}
  .hero h1{font-size:clamp(3.15rem,15vw,4.7rem)}
}

/* =========================================================
   QUIET LUXURY REFINEMENT — centered 75% desktop composition
   ========================================================= */
:root{
  --gold:#a98247;
  --gold-light:#d7c4a0;
  --gold-deep:#725a34;
  --section-y:clamp(3.25rem,4.4vw,4.8rem);
}

/* Quieter overall visual voice */
body{font-size:15px;line-height:1.68}
body::before{opacity:.014}
h1{font-size:clamp(2.5rem,4.6vw,4.15rem)}
h2{font-size:clamp(1.9rem,3vw,2.55rem)}
.lede{font-size:clamp(1rem,1.25vw,1.18rem);max-width:56ch}
.folio{letter-spacing:.22em;color:var(--gold-deep)}
.btn{padding:.88em 1.4em;font-size:.68rem;letter-spacing:.1em}
.btn-gold{box-shadow:none}
.btn-gold:hover{transform:translateY(-1px);box-shadow:none}

/* Remove decorative noise added in the previous pass */
.sect:not(.band-ink)::before,
.sect:not(.band-ink)::after{display:none!important}
.artifact-section,.band-soft,.first-message,.contact-expect,.deliverable-section,.method-rules,.cross-medium{background-image:none!important}
.hero::before{opacity:.55}
.hero::after{opacity:.48;box-shadow:0 0 0 62px rgba(221,199,157,.014),0 0 0 122px rgba(221,199,157,.008)}

/* Exact middle 75% composition on large desktop */
@media (min-width:1200px){
  .masthead{padding-left:12.5vw;padding-right:12.5vw;grid-template-columns:minmax(220px,275px) 1fr auto}
  .hero,.sect,.site-footer,.answer-strip,.phase-bar,.signal-strip,.service-jump{padding-left:12.5vw!important;padding-right:12.5vw!important}
  .hero-grid,.sect>*,.band-ink>*,.site-footer>*,.answer-strip-inner,.phase-bar-inner,.signal-inner,.service-jump-inner{width:100%;max-width:none!important;margin-left:auto;margin-right:auto}
}

/* Between desktop and tablet, keep the composition calm but usable */
@media (min-width:901px) and (max-width:1199px){
  .masthead{padding-left:4vw;padding-right:4vw}
  .hero,.sect,.site-footer,.answer-strip,.phase-bar,.signal-strip,.service-jump{padding-left:6vw!important;padding-right:6vw!important}
}

/* Header: readable, not dominant */
.masthead{height:78px;background:rgba(8,20,38,.965);backdrop-filter:blur(12px)}
.content{padding-top:78px}
.masthead-logo .brand-mark{width:36px;height:36px;flex-basis:36px}
.brand-copy strong{font-size:.9rem;letter-spacing:.07em}
.brand-copy em{font-size:.5rem;letter-spacing:.18em}
.brand-copy small{font-size:.69rem;color:rgba(255,255,255,.55)}
.masthead-nav a{font-size:.58rem;letter-spacing:.11em;color:rgba(250,248,242,.58)}
.masthead-nav a::after{background:rgba(215,196,160,.8)}
.masthead-nav a[aria-current=page]{color:rgba(255,255,255,.92)}

/* Home hero: editorial rather than theatrical */
.hero{min-height:clamp(540px,68vh,700px);padding-top:clamp(3.8rem,5.6vw,5.8rem);padding-bottom:clamp(3.5rem,5vw,5rem)}
.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(280px,.72fr);gap:clamp(2.6rem,4.5vw,4.8rem)}
.hero h1{font-size:clamp(3.35rem,6vw,6.25rem);line-height:.93;letter-spacing:-.045em;max-width:10ch}
.hero-copy{max-width:420px;padding-left:1.45rem}
.hero-copy .kicker{font-size:clamp(1.2rem,1.55vw,1.55rem);margin-bottom:1.15rem}
.hero-cta{margin-top:1.7rem}
.hero-disciplines{margin-top:1.8rem;gap:.45rem 1.1rem;letter-spacing:.11em}

/* Inner page heroes: compact and composed */
body:not(.home-premium) .hero{min-height:315px!important;padding-top:3.25rem!important;padding-bottom:3rem!important}
body:not(.home-premium) .hero h1{font-size:clamp(2.75rem,4.8vw,4.8rem)!important;line-height:.96!important}
body:not(.home-premium) .hero::after{opacity:.34}

/* Sections: deliberate breathing room, no giant voids */
.sect{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.sect.tight{padding-top:clamp(2.5rem,3.6vw,3.6rem);padding-bottom:clamp(2.5rem,3.6vw,3.6rem)}
.sect-head{max-width:680px;margin-bottom:clamp(2rem,3vw,2.9rem)}
.sect h2{font-size:clamp(2.15rem,3.8vw,3.85rem);line-height:1.02;letter-spacing:-.03em}

/* Reduce card / component volume */
.triad-card{padding-top:1.8rem;padding-bottom:2.2rem}
.triad-card h3{font-size:clamp(1.65rem,2.4vw,2.4rem);margin-top:1rem}
.work-stage{gap:clamp(2.2rem,4.5vw,4.8rem)}
.work-item{padding:1.25rem 0}
.work-item h3{font-size:clamp(1.3rem,1.9vw,1.85rem)}
.journey{margin-top:2.25rem}
.journey-step{padding-top:1.5rem}
.statement{min-height:43vh}
.statement blockquote{font-size:clamp(2.35rem,4.5vw,4.65rem);line-height:1.02;max-width:17ch}
.final-cta{min-height:44vh}
.artifact-card{min-height:285px}
.world{min-height:128px;padding:1.5rem}

/* Lists and internal content density */
.toc-row{padding:1.15rem 0}
.toc-row.featured{padding:1.8rem 0}
.toc-row.featured h3{font-size:1.7rem}
.chapter{grid-template-columns:86px 1fr;padding:1.4rem 0}
.chapter-num{font-size:1.75rem}
.note-q{padding:1.05rem 0;font-size:1.12rem}
.note-a{padding-bottom:1rem}

/* Dark sections become quieter punctuation rather than spectacle */
.band-ink{background:#0b1729}
.band-ink p{color:rgba(250,248,242,.66)}
.statement-meta{margin-top:1.6rem;color:rgba(250,248,242,.42)}

/* Footer calmer and aligned to the same content field */
.site-footer{padding-top:2.7rem;padding-bottom:2rem}
.site-footer .foot-logo img{height:30px}
.site-footer .foot-links{gap:1.8rem}

@media(max-width:900px){
  :root{--header-h:70px}
  .masthead{height:70px}
  .content{padding-top:70px}
  .hero{min-height:auto;padding-top:3.5rem;padding-bottom:3.5rem}
  .hero h1{font-size:clamp(3rem,13vw,4.4rem)}
  .statement,.final-cta{min-height:auto}
}

/* Official boxed Anhad Vakya logo */
.masthead-logo .boxed-brand-logo{width:188px!important;max-width:22vw!important;height:50px!important;max-height:50px!important;object-fit:contain!important;object-position:left center!important;display:block}
.site-footer .foot-logo{display:inline-flex;align-items:center;background:#f4efe4;padding:.55rem .7rem;border-radius:2px}
.site-footer .foot-logo .boxed-footer-logo{width:210px!important;height:auto!important;max-height:none!important;display:block}
@media(max-width:900px){.masthead-logo .boxed-brand-logo{width:164px!important;max-width:52vw!important;height:44px!important}.site-footer .foot-logo .boxed-footer-logo{width:190px!important}}
@media(max-width:480px){.masthead-logo .boxed-brand-logo{width:146px!important;max-width:48vw!important;height:40px!important}}

/* =========================================================
   2026-08 composition refinement — quieter, fuller, deliberate
   ========================================================= */

/* Official logo: give the supplied artwork enough physical size for its fine tagline */
@media (min-width:1200px){
  .masthead{height:84px;grid-template-columns:minmax(205px,230px) 1fr auto}
  .content{padding-top:84px}
  .masthead-logo .boxed-brand-logo{width:212px!important;height:58px!important;max-width:100%!important;max-height:58px!important}
}
@media (min-width:901px) and (max-width:1199px){
  .masthead-logo .boxed-brand-logo{width:200px!important;height:54px!important;max-width:100%!important}
}

/* Replace the mock-artefact treatment with a restrained editorial format system */
.artifact-head{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(2.5rem,5vw,5rem);margin-bottom:2.35rem}
.artifact-head h2{max-width:13ch}
.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink-14);border-bottom:1px solid var(--ink-14)}
.format-card{min-height:330px;padding:1.8rem 1.7rem 1.55rem;display:flex;flex-direction:column;border-right:1px solid var(--ink-14);background:rgba(255,255,255,.18);position:relative;overflow:hidden}
.format-card:last-child{border-right:0}
.format-card::after{content:attr(data-letter);position:absolute;right:-.05em;bottom:-.25em;font-family:var(--font-display);font-style:italic;font-size:10rem;line-height:1;color:rgba(11,25,48,.025);pointer-events:none}
.format-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.15rem;border-bottom:1px solid var(--ink-14)}
.format-no{font-family:var(--font-display);font-style:italic;color:var(--gold-deep);font-size:1rem}
.format-type{font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-50)}
.format-card h3{font-size:clamp(1.55rem,2.2vw,2.2rem);line-height:1.08;font-weight:500;margin:2.35rem 0 1rem;max-width:12ch}
.format-card p{font-size:.93rem;line-height:1.7;max-width:32ch;margin-bottom:2rem}
.format-bottom{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--ink-14);display:flex;gap:.6rem 1rem;flex-wrap:wrap}
.format-bottom span{font-size:.56rem;text-transform:uppercase;letter-spacing:.15em;color:var(--ink-50)}
.format-card-dark{background:#101c2d;color:var(--paper);border-right-color:rgba(255,255,255,.12)}
.format-card-dark .format-top,.format-card-dark .format-bottom{border-color:rgba(255,255,255,.13)}
.format-card-dark .format-type,.format-card-dark .format-bottom span{color:rgba(250,248,242,.5)}
.format-card-dark .format-no{color:var(--gold-light)}
.format-card-dark h3{color:var(--paper)}
.format-card-dark p{color:rgba(250,248,242,.66)}

/* Point-of-view section: use the right-hand field instead of leaving an empty stage */
.statement{min-height:auto!important}
.statement-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.62fr);gap:clamp(3rem,7vw,7.5rem);align-items:end;width:100%}
.statement-main blockquote{font-size:clamp(2.35rem,4vw,4.35rem);max-width:15.5ch;margin-bottom:0}
.statement-aside{border-top:1px solid rgba(250,248,242,.2);padding-top:1.35rem;padding-bottom:.35rem;max-width:360px}
.statement-aside>span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-light);margin-bottom:1rem}
.statement-aside p{font-size:.92rem;line-height:1.72;color:rgba(250,248,242,.62);margin-bottom:1.2rem}
.statement-aside a{font-size:.61rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(250,248,242,.86)}
.statement-aside a b{color:var(--gold-light);font-weight:400;margin-left:.25rem}

/* Final CTA: balanced two-column close instead of an intentionally empty half-screen */
.final-cta{min-height:auto!important}
.final-cta-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:clamp(4rem,9vw,9rem);align-items:end;width:100%}
.final-cta-main h2{max-width:10.5ch;font-size:clamp(2.7rem,4.6vw,4.9rem)}
.final-cta-main>p:not(.script-line){max-width:48ch}
.final-cta-aside{border-top:1px solid rgba(250,248,242,.2);padding-top:1.25rem}
.final-cta-aside .folio{margin-bottom:1.2rem}
.brief-lines{border-top:1px solid rgba(250,248,242,.11);margin-bottom:1.3rem}
.brief-lines span{display:grid;grid-template-columns:32px 1fr;gap:.6rem;padding:.8rem 0;border-bottom:1px solid rgba(250,248,242,.11);font-size:.78rem;color:rgba(250,248,242,.76)}
.brief-lines b{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--gold-light)}
.final-cta-aside .small-note{font-size:.76rem;line-height:1.65;color:rgba(250,248,242,.46);max-width:38ch}
.text-link-on-dark{display:inline-block;margin-top:.3rem;font-size:.59rem;text-transform:uppercase;letter-spacing:.15em;color:var(--gold-light)}

/* The logo artwork contains very fine typography; avoid washing it out */
.boxed-brand-logo{opacity:1!important;filter:none!important}

@media(max-width:900px){
  .artifact-head,.statement-grid,.final-cta-grid{grid-template-columns:1fr}
  .format-grid{grid-template-columns:1fr}
  .format-card{min-height:auto;border-right:0;border-bottom:1px solid var(--ink-14)}
  .format-card:last-child{border-bottom:0}
  .statement-aside,.final-cta-aside{max-width:520px}
}


/* === Brand + composition correction pass === */
@media (min-width: 1101px){
  .masthead-logo .boxed-brand-logo{
    width:230px!important;
    height:64px!important;
    max-width:230px!important;
    max-height:64px!important;
  }
  .masthead-inner,.masthead{
    min-height:94px;
  }
}

/* The supplied SVG already contains its own cream field: never frame it twice. */
.site-footer .foot-logo{
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.site-footer .foot-logo .boxed-footer-logo{
  width:205px!important;
  height:auto!important;
  display:block!important;
}

/* Make the method rail compact and intentional rather than a tall empty band. */
.journey{
  margin-top:2.25rem!important;
}
.journey-step{
  padding:1.35rem .8rem .55rem 0!important;
}
.sect:has(.journey){
  padding-bottom:clamp(3.25rem,5vw,5rem)!important;
}
.sect:has(.journey) .btn-line{
  margin-top:0!important;
}
.sect:has(.journey) > .reveal[style]{
  margin-top:1.6rem!important;
}

/* Use the final CTA as a true two-column composition. */
.final-cta-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)!important;
  gap:clamp(3rem,6vw,6rem)!important;
  align-items:center!important;
}
.final-cta-main h2{
  max-width:12.5ch!important;
}
.final-cta-aside{
  align-self:center;
}

@media (max-width:1100px){
  .final-cta-grid{grid-template-columns:1fr!important}
}


/* === Official logo: +25% from previous desktop treatment === */
@media (min-width:1101px){
  .masthead-logo .boxed-brand-logo{
    width:288px!important;
    height:80px!important;
    max-width:288px!important;
    max-height:80px!important;
  }
  .masthead,.masthead-inner{min-height:108px!important}
}


/* === Manrope body/UI typography tuning === */
body{
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:-0.008em;
}
p,.lede,.small-note,.foot-legal,.foot-bottom{
  letter-spacing:-0.006em;
}
.masthead-nav a,.btn,.folio,.work-item small,.journey-step span{
  font-family:var(--font-body);
}
.masthead-nav a{
  font-weight:500;
  letter-spacing:.01em;
}
.btn{
  font-weight:600;
  letter-spacing:.015em;
}
.folio,.work-item small,.journey-step span{
  font-weight:600;
}


/* =========================================================
   THE STUDIO — COMPLETE REDESIGN
   ========================================================= */
.studio-section{
  width:min(75%, 1180px);
  margin-inline:auto;
}
.studio-hero{
  padding:clamp(4.5rem,7vw,7rem) 0 clamp(3.5rem,6vw,5.5rem);
}
.studio-hero-inner{max-width:980px}
.studio-kicker{margin-bottom:1.2rem}
.studio-hero h1{
  margin:0;
  color:var(--ink);
  font-family:var(--font-display);
  font-size:clamp(3.3rem,6vw,6.4rem);
  line-height:.94;
  font-weight:400;
  letter-spacing:-.045em;
  max-width:11.5ch;
}
.studio-hero h1 em{
  color:#9a6f33;
  font-family:var(--font-script);
  font-weight:500;
}
.studio-hero-copy{
  margin:2rem 0 0;
  max-width:680px;
  font-size:clamp(1.08rem,1.35vw,1.32rem);
  line-height:1.65;
  color:var(--ink-70);
}
.studio-hero-rule{
  height:1px;
  background:var(--ink-14);
  margin:2.4rem 0 1.25rem;
}
.studio-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.8rem;
  color:var(--ink-50);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.studio-intro{
  padding:clamp(4.5rem,7vw,7rem) 0;
  border-top:1px solid var(--ink-14);
}
.studio-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.72fr);
  gap:clamp(4rem,8vw,8rem);
  align-items:start;
}
.studio-intro-main h2,
.studio-two-column h2,
.studio-output-copy h2,
.studio-beliefs-head h2,
.studio-next h2,
.studio-band-head h2{
  margin:.7rem 0 1.5rem;
  font-family:var(--font-display);
  font-size:clamp(2.25rem,4vw,4rem);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.035em;
}
.studio-intro-main p,
.studio-two-column p,
.studio-output-copy p,
.studio-next-grid p{
  font-size:1.03rem;
  line-height:1.75;
  color:var(--ink-72);
}
.studio-lead{
  font-size:clamp(1.2rem,1.65vw,1.48rem)!important;
  line-height:1.62!important;
  color:var(--ink)!important;
}
.studio-principles{
  border-left:1px solid var(--ink-14);
  padding-left:2rem;
}
.studio-principle{
  padding:0 0 2rem;
  margin-bottom:2rem;
  border-bottom:1px solid var(--ink-14);
}
.studio-principle:last-child{margin-bottom:0}
.studio-principle span{
  display:block;
  margin-bottom:.8rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#8d6735;
}
.studio-principle p{
  margin:0;
  font-family:var(--font-display);
  font-size:1.42rem;
  line-height:1.35;
  color:var(--ink);
}
.studio-principle-accent p{
  font-family:var(--font-script);
  font-size:1.6rem;
  font-style:italic;
  color:#8d6735;
}

.studio-band{
  width:100%;
  max-width:none;
  background:var(--ink);
  color:var(--paper);
  padding:clamp(4rem,6vw,6rem) 12.5%;
}
.studio-band-head{
  max-width:760px;
  margin-bottom:3rem;
}
.studio-band-head h2{color:var(--paper)}
.studio-value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.16);
}
.studio-value-grid article{
  padding:2.2rem 2.4rem 1rem 0;
  min-height:230px;
}
.studio-value-grid article:not(:last-child){
  border-right:1px solid rgba(255,255,255,.13);
  margin-right:2.4rem;
}
.studio-value-grid article > span{
  font-size:.72rem;
  color:#c89a55;
  letter-spacing:.16em;
}
.studio-value-grid h3{
  margin:1.3rem 0 .8rem;
  font-family:var(--font-display);
  font-size:2.25rem;
  font-weight:400;
}
.studio-value-grid p{
  color:rgba(255,255,255,.68);
  line-height:1.7;
}

.studio-two-column{
  padding:clamp(4.5rem,7vw,7rem) 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);
  gap:clamp(4rem,8vw,8rem);
  align-items:center;
}
.studio-list-panel{
  border-top:1px solid var(--ink-20);
  border-bottom:1px solid var(--ink-20);
  padding:1.6rem 0;
}
.studio-list-panel > span{
  display:block;
  margin-bottom:1rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8d6735;
}
.studio-list-panel ul{
  list-style:none;
  margin:0;
  padding:0;
}
.studio-list-panel li{
  padding:.82rem 0;
  border-top:1px solid var(--ink-10);
  font-family:var(--font-display);
  font-size:1.18rem;
}

.studio-output-section{
  padding:clamp(4rem,6vw,6rem) 0;
  border-top:1px solid var(--ink-14);
  border-bottom:1px solid var(--ink-14);
}
.studio-output-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,1fr);
  gap:clamp(4rem,8vw,8rem);
  align-items:start;
}
.studio-output-copy .btn{margin-top:1.3rem}
.studio-output-stack{
  border-top:1px solid var(--ink-20);
}
.studio-output-stack > div{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:1rem;
  padding:1.25rem 0;
  border-bottom:1px solid var(--ink-14);
}
.studio-output-stack b{
  grid-row:1 / 3;
  font-size:.68rem;
  letter-spacing:.12em;
  color:#9a6f33;
}
.studio-output-stack span{
  font-family:var(--font-display);
  font-size:1.25rem;
}
.studio-output-stack small{
  margin-top:.25rem;
  color:var(--ink-55);
  font-size:.88rem;
}

.studio-beliefs{
  padding:clamp(4.5rem,7vw,7rem) 0;
}
.studio-beliefs-head{max-width:800px}
.studio-beliefs-grid{
  margin-top:3rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--ink-20);
}
.studio-beliefs-grid > div{
  padding:1.7rem 1.9rem 2rem 0;
  border-bottom:1px solid var(--ink-14);
}
.studio-beliefs-grid > div:not(:nth-child(3n)){
  border-right:1px solid var(--ink-12);
  margin-right:1.9rem;
}
.studio-beliefs-grid span{
  display:block;
  margin-bottom:.7rem;
  font-family:var(--font-display);
  font-size:1.35rem;
}
.studio-beliefs-grid p{
  margin:0;
  color:var(--ink-60);
  line-height:1.65;
  font-size:.94rem;
}

.studio-quote-band{
  width:100%;
  max-width:none;
  background:var(--ink);
  color:var(--paper);
  padding:clamp(4.5rem,7vw,7rem) 12.5%;
}
.studio-quote-grid{
  display:grid;
  grid-template-columns:180px minmax(0,1.2fr) minmax(260px,.6fr);
  gap:3rem;
  align-items:start;
}
.studio-quote-grid blockquote{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(2.7rem,5vw,5rem);
  line-height:1.02;
  letter-spacing:-.035em;
}
.studio-quote-grid blockquote em{
  font-family:var(--font-script);
  color:#d2ae73;
  font-weight:500;
}
.studio-quote-grid > p:last-child{
  margin:0;
  align-self:end;
  color:rgba(255,255,255,.68);
  line-height:1.7;
}

.studio-next{
  padding:clamp(4.5rem,7vw,7rem) 0;
}
.studio-next-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);
  gap:clamp(4rem,8vw,8rem);
  align-items:end;
}
.studio-next-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1.4rem;
  margin-top:1.8rem;
}

@media(max-width:1000px){
  .studio-section{width:min(88%, 1180px)}
  .studio-band,.studio-quote-band{padding-left:6%;padding-right:6%}
  .studio-intro-grid,.studio-two-column,.studio-output-grid,.studio-next-grid{grid-template-columns:1fr}
  .studio-principles{border-left:0;border-top:1px solid var(--ink-14);padding:2rem 0 0}
  .studio-value-grid{grid-template-columns:1fr}
  .studio-value-grid article{min-height:0}
  .studio-value-grid article:not(:last-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.13);margin-right:0}
  .studio-beliefs-grid{grid-template-columns:1fr 1fr}
  .studio-beliefs-grid > div:not(:nth-child(3n)){border-right:0;margin-right:0}
  .studio-quote-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .studio-section{width:90%}
  .studio-hero{padding-top:3.2rem}
  .studio-hero h1{font-size:clamp(3rem,14vw,4.3rem)}
  .studio-hero-meta{display:grid;grid-template-columns:1fr 1fr}
  .studio-band,.studio-quote-band{padding-left:5%;padding-right:5%}
  .studio-beliefs-grid{grid-template-columns:1fr}
}


/* =========================================================
   PREMIUM SITE-WIDE MOTION / DEPTH SYSTEM
   ========================================================= */
:root{
  --premium-shadow:0 18px 45px rgba(7,18,32,.08);
  --premium-shadow-strong:0 28px 70px rgba(7,18,32,.14);
  --premium-ease:cubic-bezier(.2,.75,.2,1);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
a,.btn,.work-item,.world,.triad-card,.premium-card{
  transition:transform .45s var(--premium-ease), box-shadow .45s var(--premium-ease),
             border-color .35s ease, color .35s ease, background-color .35s ease, opacity .35s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(7,18,32,.14)}
.btn-gold:hover{box-shadow:0 14px 34px rgba(184,139,70,.26)}
.masthead{
  box-shadow:0 8px 30px rgba(3,12,24,.08);
  backdrop-filter:saturate(120%) blur(8px);
}
.masthead-nav a{position:relative}
.masthead-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);
  transition:right .35s var(--premium-ease);
}
.masthead-nav a:hover::after,.masthead-nav a[aria-current="page"]::after{right:0}
.work-item:hover,.world:hover,.triad-card:hover{
  transform:translateY(-5px);
  box-shadow:var(--premium-shadow);
}
.site-footer{box-shadow:0 -18px 45px rgba(3,12,24,.08)}

/* global reveal choreography */
.premium-reveal,.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--premium-ease), transform .8s var(--premium-ease);
}
.premium-reveal.in,.reveal.in{
  opacity:1;
  transform:none;
}
.premium-reveal[data-delay="1"]{transition-delay:.08s}
.premium-reveal[data-delay="2"]{transition-delay:.16s}
.premium-reveal[data-delay="3"]{transition-delay:.24s}
.premium-link{position:relative}
.premium-link::after{
  content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;
  transform:scaleX(.18);transform-origin:left;opacity:.4;transition:transform .35s var(--premium-ease),opacity .35s ease
}
.premium-link:hover::after{transform:scaleX(1);opacity:1}

/* Studio page */
.studio-section{width:min(75%,1180px);margin-inline:auto}
.studio-hero{padding:clamp(5rem,8vw,8rem) 0 clamp(4rem,7vw,6.5rem)}
.studio-hero-stage{
  position:relative;min-height:600px;display:flex;align-items:center;
  border:1px solid rgba(7,18,32,.08);border-radius:28px;padding:clamp(2.5rem,5vw,5.5rem);
  background:linear-gradient(145deg,rgba(255,255,255,.56),rgba(246,241,231,.82));
  box-shadow:var(--premium-shadow);overflow:hidden;
}
.studio-hero-stage::before{
  content:"";position:absolute;inset:-30% -10% auto auto;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(184,139,70,.11);box-shadow:inset 0 0 80px rgba(184,139,70,.04)
}
.studio-hero-copywrap{position:relative;z-index:2;max-width:760px}
.studio-hero h1{
  margin:.8rem 0 0;font-family:var(--font-display);font-weight:400;color:var(--ink);
  font-size:clamp(3.8rem,6.8vw,7.2rem);line-height:.9;letter-spacing:-.05em
}
.studio-hero h1 span{font-family:var(--font-script);font-style:italic;color:#9b7139}
.studio-hero-sub{
  margin:1.7rem 0 .6rem;font-family:var(--font-display);font-size:clamp(1.45rem,2vw,2rem);color:var(--ink)
}
.studio-hero-copy{max-width:650px;font-size:1.08rem;line-height:1.75;color:var(--ink-65)}
.studio-hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}
.studio-annotations{position:absolute;inset:0;pointer-events:none}
.studio-annotations .note{
  position:absolute;font-size:.66rem;font-weight:700;letter-spacing:.12em;color:rgba(126,88,39,.34);
  transform:rotate(-3deg);text-transform:uppercase
}
.studio-annotations .n1{top:14%;right:12%}
.studio-annotations .n2{top:29%;right:7%;text-transform:none;font-family:var(--font-script);font-size:1rem;letter-spacing:0}
.studio-annotations .n3{top:48%;right:12%;transform:rotate(2deg)}
.studio-annotations .n4{bottom:28%;right:10%;font-family:var(--font-script);font-size:1rem;letter-spacing:0;text-transform:none}
.studio-annotations .n5{bottom:16%;right:16%}
.studio-annotations .n6{top:65%;right:3%;transform:rotate(-5deg)}

.studio-philosophy{padding:clamp(5rem,8vw,8rem) 0}
.studio-philosophy-grid{display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(4rem,8vw,8rem);align-items:end}
.studio-philosophy h2{font-family:var(--font-display);font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.02;font-weight:400;letter-spacing:-.04em;margin:.8rem 0}
.studio-philosophy h2 em{font-family:var(--font-script);color:#9b7139}
.studio-philosophy-copy p{font-size:1.02rem;line-height:1.8;color:var(--ink-65)}

.studio-journey{position:relative;padding:1rem 0 6rem}
.studio-journey-line{position:absolute;left:34px;top:20px;bottom:55px;width:1px;background:linear-gradient(var(--gold),rgba(184,139,70,.12))}
.studio-journey-step{display:grid;grid-template-columns:70px 1fr;gap:2rem;padding:2.2rem 0;position:relative}
.studio-journey-step>span{
  width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--paper);
  border:1px solid rgba(184,139,70,.35);box-shadow:0 10px 30px rgba(7,18,32,.07);z-index:1;
  font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#9b7139
}
.studio-journey-step h3{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3.1rem);font-weight:400;margin:.3rem 0 .7rem}
.studio-journey-step p:last-child{max-width:760px;color:var(--ink-60);line-height:1.75}

.studio-manifesto{width:100%;background:var(--ink);color:var(--paper);padding:clamp(5rem,8vw,8rem) 0;box-shadow:inset 0 24px 60px rgba(0,0,0,.12)}
.studio-manifesto blockquote{margin:1.2rem 0;font-family:var(--font-display);font-size:clamp(3rem,6vw,6.3rem);line-height:.98;letter-spacing:-.04em}
.studio-manifesto blockquote em{font-family:var(--font-script);color:#d4b27a}
.studio-manifesto-tag{margin-top:2rem;font-size:.72rem;letter-spacing:.18em;color:rgba(255,255,255,.55)}

.studio-mission{padding:clamp(5rem,8vw,8rem) 0}
.studio-mission-grid{display:grid;grid-template-columns:120px 1fr;gap:2.2rem;padding:2.8rem 0;border-top:1px solid var(--ink-14)}
.studio-mission-grid:last-child{border-bottom:1px solid var(--ink-14)}
.studio-mission-number{font-family:var(--font-display);font-size:3.2rem;color:rgba(155,113,57,.35)}
.studio-mission h2{font-family:var(--font-display);font-size:clamp(2.3rem,4.2vw,4.4rem);line-height:1.04;font-weight:400;letter-spacing:-.035em;margin:.5rem 0 1rem}
.studio-mission p:last-child{max-width:760px;color:var(--ink-62);line-height:1.75}

.studio-pillars{padding:0 0 clamp(5rem,8vw,8rem)}
.studio-pillars-head{max-width:760px;margin-bottom:2.4rem}
.studio-pillars-head h2{font-family:var(--font-display);font-size:clamp(2.6rem,4vw,4.2rem);font-weight:400;margin:.6rem 0}
.studio-pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.premium-card{
  padding:2rem;border:1px solid var(--ink-12);border-radius:18px;background:rgba(255,255,255,.38);box-shadow:0 10px 30px rgba(7,18,32,.045)
}
.premium-card:hover{transform:translateY(-7px);box-shadow:var(--premium-shadow-strong);border-color:rgba(184,139,70,.35)}
.premium-card>span{font-size:.7rem;letter-spacing:.14em;color:#9b7139;font-weight:700}
.premium-card h3{font-family:var(--font-display);font-size:2.2rem;font-weight:400;margin:1.1rem 0 .6rem}
.premium-card p{color:var(--ink-60);line-height:1.7}

.studio-arrive{padding:clamp(5rem,8vw,8rem) 0;border-top:1px solid var(--ink-14)}
.studio-arrive-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(4rem,8vw,8rem)}
.studio-arrive h2{font-family:var(--font-display);font-size:clamp(2.6rem,4.5vw,4.7rem);line-height:1.03;font-weight:400;margin:.6rem 0 1rem}
.studio-arrive-list{border-top:1px solid var(--ink-18)}
.studio-arrive-list span{display:block;padding:1.05rem 0;border-bottom:1px solid var(--ink-12);font-family:var(--font-display);font-size:1.12rem;transition:padding-left .3s var(--premium-ease),color .3s ease}
.studio-arrive-list span:hover{padding-left:.6rem;color:#9b7139}

.studio-standard{padding:0 0 clamp(5rem,8vw,8rem)}
.studio-standard-head{max-width:760px;margin-bottom:2.5rem}
.studio-standard-head h2{font-family:var(--font-display);font-size:clamp(2.6rem,4.5vw,4.6rem);line-height:1.05;font-weight:400;margin:.6rem 0}
.studio-standard-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-18)}
.studio-standard-grid article{padding:1.8rem 1.8rem 2rem 0;border-bottom:1px solid var(--ink-12)}
.studio-standard-grid article:not(:nth-child(3n)){border-right:1px solid var(--ink-10);margin-right:1.8rem}
.studio-standard-grid b{font-size:.68rem;color:#9b7139;letter-spacing:.12em}
.studio-standard-grid span{display:block;font-family:var(--font-display);font-size:1.45rem;margin:.75rem 0 .45rem}
.studio-standard-grid p{margin:0;color:var(--ink-58);line-height:1.65}

.studio-fade{width:100%;background:linear-gradient(135deg,#061326,#0b1a2e);color:var(--paper);padding:clamp(5rem,8vw,8rem) 0;box-shadow:inset 0 18px 55px rgba(0,0,0,.18)}
.studio-fade-inner{display:grid;grid-template-columns:180px 1fr;gap:3rem}
.studio-script{font-family:monospace;font-size:.82rem;letter-spacing:.08em;color:#d5b477}
.studio-fade-copy>p{font-family:monospace;color:rgba(255,255,255,.62);line-height:1.7}
.studio-fade h2{font-family:var(--font-display);font-size:clamp(3.2rem,6vw,6.2rem);line-height:.96;font-weight:400;letter-spacing:-.04em;margin:2rem 0}

@media(max-width:1000px){
  .studio-section{width:min(88%,1180px)}
  .studio-philosophy-grid,.studio-arrive-grid{grid-template-columns:1fr}
  .studio-pillars-grid,.studio-standard-grid{grid-template-columns:1fr 1fr}
  .studio-annotations{opacity:.45}
}
@media(max-width:700px){
  .studio-section{width:90%}
  .studio-hero-stage{min-height:560px;padding:2rem}
  .studio-annotations{display:none}
  .studio-hero-actions{align-items:flex-start;flex-direction:column}
  .studio-mission-grid{grid-template-columns:65px 1fr}
  .studio-pillars-grid,.studio-standard-grid{grid-template-columns:1fr}
  .studio-standard-grid article:not(:nth-child(3n)){border-right:0;margin-right:0}
  .studio-fade-inner{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .premium-reveal,.reveal{opacity:1!important;transform:none!important}
}


:root{
  --ink-10:rgba(7,18,32,.10);
  --ink-12:rgba(7,18,32,.12);
  --ink-18:rgba(7,18,32,.18);
  --ink-20:rgba(7,18,32,.20);
  --ink-55:rgba(7,18,32,.55);
  --ink-58:rgba(7,18,32,.58);
  --ink-60:rgba(7,18,32,.60);
  --ink-62:rgba(7,18,32,.62);
  --ink-65:rgba(7,18,32,.65);
  --ink-72:rgba(7,18,32,.72);
}


/* =========================================================
   INTERNAL PAGE DESIGN SYSTEM — UNIFIED TYPE + COMPOSITION
   Home page intentionally excluded from these selectors.
   ========================================================= */
:root{
  --int-display:clamp(3.55rem,5.35vw,6.1rem);
  --int-h2:clamp(2.35rem,3.55vw,3.95rem);
  --int-h3:clamp(1.35rem,1.75vw,1.75rem);
  --int-lead:clamp(1.08rem,1.25vw,1.22rem);
  --int-body:1rem;
  --int-small:.78rem;
  --int-line:1.72;
  --int-section-y:clamp(4.5rem,7vw,7rem);
}
.int-shell{width:min(75%,1180px);margin-inline:auto}
.int-section{padding:var(--int-section-y) 0}
.int-hero{padding:clamp(4.8rem,7vw,7rem) 0 clamp(4rem,6vw,5.8rem)}
.int-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.64fr);
  gap:clamp(4rem,8vw,8rem);align-items:end
}
.int-hero h1{
  font-family:var(--font-display);font-size:var(--int-display);line-height:.96;letter-spacing:-.045em;
  font-weight:400;color:var(--ink);margin:.65rem 0 0;max-width:11.4ch
}
.int-hero h1 em,.int-dark h2 em{font-family:var(--font-script);font-weight:500;color:#9a703a}
.int-hero-side{
  border-left:1px solid var(--ink-14);padding-left:2rem;padding-bottom:.5rem
}
.int-hero-side p{font-size:var(--int-lead);line-height:var(--int-line);color:var(--ink-65);margin:0 0 1.5rem}
.int-section-head{max-width:800px;margin-bottom:2.8rem}
.int-section-head.split{
  max-width:none;display:grid;grid-template-columns:1fr minmax(280px,.58fr);gap:clamp(3rem,7vw,7rem);align-items:end
}
.int-section-head h2,.int-dark h2,.int-cta h2,.contact-form-head h2{
  font-family:var(--font-display);font-size:var(--int-h2);line-height:1.04;letter-spacing:-.035em;
  font-weight:400;margin:.55rem 0 0;color:var(--ink)
}
.int-section-head>p:last-child{
  font-size:var(--int-body);line-height:var(--int-line);color:var(--ink-62);margin:0
}
.eyebrow,.folio{
  font-family:var(--font-body);font-size:var(--int-small)!important;font-weight:700!important;
  letter-spacing:.14em!important;text-transform:uppercase
}
.eyebrow{color:#966b34;margin:0 0 .35rem}
.int-strip{border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12)}
.int-strip-grid{
  display:grid;grid-template-columns:repeat(8,1fr)
}
.int-strip-grid span{
  padding:1.05rem .8rem 1rem 0;font-size:.73rem;font-weight:600;letter-spacing:.06em;color:var(--ink-55)
}
.int-dark{
  width:100%;background:linear-gradient(135deg,#071525,#0a1a2d);color:var(--paper);
  padding:var(--int-section-y) 0;box-shadow:inset 0 24px 70px rgba(0,0,0,.12)
}
.int-dark-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);gap:clamp(4rem,8vw,8rem);align-items:center
}
.int-dark h2{color:var(--paper);margin-top:.6rem}
.int-dark-grid>div:last-child>p{
  color:rgba(255,255,255,.66);font-size:var(--int-body);line-height:1.75
}
.int-cta{
  width:100%;padding:clamp(4rem,6vw,6rem) 0;background:#f0eadf;border-top:1px solid rgba(7,18,32,.08)
}
.int-cta-grid{
  display:grid;grid-template-columns:1fr minmax(280px,.56fr);gap:clamp(4rem,8vw,8rem);align-items:end
}
.int-cta-grid>div:last-child p{color:var(--ink-60);line-height:1.7;margin:0 0 1.2rem}

/* Services */
.service-system{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem
}
.service-panel{
  display:grid;grid-template-columns:52px 1fr;gap:1.2rem;padding:1.8rem!important;
  border-radius:16px;background:rgba(255,255,255,.36)
}
.service-panel:hover{transform:translateY(-5px);box-shadow:var(--premium-shadow)}
.service-no{font-size:.7rem;letter-spacing:.12em;color:#9a703a;padding-top:.2rem}
.service-copy h3{
  font-family:var(--font-display);font-size:var(--int-h3);font-weight:400;margin:.25rem 0 .65rem
}
.service-copy>p:not(.eyebrow){font-size:var(--int-body);line-height:1.68;color:var(--ink-62);margin:0}
.service-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.service-tags span{
  font-size:.68rem;letter-spacing:.04em;padding:.42rem .65rem;border:1px solid var(--ink-12);border-radius:999px;color:var(--ink-55)
}
.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink-18)}
.entry-grid article{padding:1.7rem 2rem 1.7rem 0;border-bottom:1px solid var(--ink-12)}
.entry-grid article:not(:last-child){border-right:1px solid var(--ink-10);margin-right:2rem}
.entry-grid span{font-size:.68rem;color:#9a703a;letter-spacing:.12em}
.entry-grid h3{font-family:var(--font-display);font-size:var(--int-h3);font-weight:400;margin:.8rem 0 .5rem}
.entry-grid p{font-size:var(--int-body);line-height:1.68;color:var(--ink-60);margin:0}

/* Method */
.method-phases{
  display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-18);border-bottom:1px solid var(--ink-18)
}
.method-phases article{padding:1.7rem 1.7rem 1.7rem 0}
.method-phases article:not(:last-child){border-right:1px solid var(--ink-10);margin-right:1.7rem}
.method-phases span{font-size:.68rem;letter-spacing:.12em;color:#9a703a;font-weight:700}
.method-phases h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin:.75rem 0 .45rem}
.method-phases p{font-size:.9rem;line-height:1.6;color:var(--ink-56);margin:0}
.method-timeline{position:relative}
.method-timeline::before{content:"";position:absolute;left:27px;top:0;bottom:0;width:1px;background:linear-gradient(#b58a50,rgba(181,138,80,.12))}
.method-timeline article{display:grid;grid-template-columns:56px 1fr;gap:1.5rem;padding:1.45rem 0;position:relative}
.method-timeline article>b{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid rgba(181,138,80,.35);
  z-index:1;font-size:.67rem;letter-spacing:.08em;color:#9a703a;box-shadow:0 8px 24px rgba(7,18,32,.055)
}
.method-timeline h3{font-family:var(--font-display);font-size:var(--int-h3);font-weight:400;margin:.18rem 0 .35rem}
.method-timeline article p:last-child{font-size:var(--int-body);line-height:1.65;color:var(--ink-60);margin:0;max-width:760px}
.principle-list{display:grid;gap:.75rem}
.principle-list span{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--font-display);font-size:1.25rem;color:rgba(255,255,255,.82)}

/* Industries */
.medium-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.medium-card{padding:1.9rem!important;border-radius:16px;min-height:260px}
.medium-card>span{float:right;font-size:.68rem;color:#9a703a;letter-spacing:.12em}
.medium-card h3{font-family:var(--font-display);font-size:var(--int-h3);font-weight:400;margin:.25rem 0 .7rem}
.medium-card p:not(.eyebrow){font-size:var(--int-body);line-height:1.7;color:var(--ink-60)}
.medium-card small{display:block;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--ink-10);font-size:.7rem;letter-spacing:.06em;color:var(--ink-50)}
.audience-matrix{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}
.audience-matrix div{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.13)}
.audience-matrix span{display:block;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#d2ae73;margin-bottom:.3rem}
.audience-matrix b{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:rgba(255,255,255,.85)}
.crossflow{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.5rem}
.crossflow span{font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.8rem);padding:.65rem 0}
.crossflow i{font-style:normal;color:#a2763c}
.crossflow-note{max-width:700px;color:var(--ink-60);line-height:1.7;margin-top:1.4rem}

/* FAQ */
.faq-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink-18);border-bottom:1px solid var(--ink-18)}
.faq-facts div{padding:1.3rem 1.3rem 1.3rem 0}
.faq-facts div:not(:last-child){border-right:1px solid var(--ink-10);margin-right:1.3rem}
.faq-facts span{display:block;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase;color:#956b34;margin-bottom:.4rem}
.faq-facts b{font-family:var(--font-display);font-size:1.04rem;font-weight:400;line-height:1.4}
.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.faq-index{position:sticky;top:130px;display:grid;gap:.2rem}
.faq-index a{padding:.65rem 0;border-bottom:1px solid var(--ink-10);font-size:.88rem;color:var(--ink-58)}
.faq-index a:hover{color:#956b34;padding-left:.3rem}
.faq-group{margin-bottom:3.6rem;scroll-margin-top:140px}
.faq-item{border-top:1px solid var(--ink-14)}
.faq-item:last-child{border-bottom:1px solid var(--ink-14)}
.faq-item summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 30px;gap:1rem;align-items:center;
  padding:1.15rem 0;font-family:var(--font-display);font-size:1.2rem
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{text-align:right;color:#9a703a;transition:transform .25s ease}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item>p{padding:0 3rem 1.25rem 0;margin:0;color:var(--ink-60);line-height:1.7}

/* Contact */
.contact-direct{font-family:var(--font-display)!important;color:var(--ink)!important;font-size:1.12rem!important}
.contact-stage{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:clamp(3rem,7vw,7rem);
  padding:0 0 var(--int-section-y)
}
.contact-form-card{
  border:1px solid var(--ink-10);border-radius:20px;padding:clamp(2rem,4vw,3.4rem);
  background:rgba(255,255,255,.42);box-shadow:var(--premium-shadow)
}
.contact-form-head{max-width:680px;margin-bottom:2rem}
.contact-form-head>p:last-child{color:var(--ink-60);line-height:1.7}
.refined-form input,.refined-form select,.refined-form textarea{
  border:1px solid var(--ink-14)!important;border-radius:8px!important;background:rgba(255,255,255,.7)!important;
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease
}
.refined-form input:focus,.refined-form select:focus,.refined-form textarea:focus{
  outline:none;border-color:rgba(154,112,58,.55)!important;box-shadow:0 0 0 4px rgba(154,112,58,.08);background:#fff!important
}
.contact-side{padding-top:1rem}
.contact-side-block{padding:0 0 1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ink-12)}
.contact-side-block h3{font-family:var(--font-display);font-size:1.35rem;font-weight:400;margin:.25rem 0 .45rem}
.contact-side-block p:last-child{font-size:.92rem;line-height:1.65;color:var(--ink-58);margin:0}
.form-note{font-size:.78rem!important;color:var(--ink-50)!important;line-height:1.5!important;margin-top:1rem}
.contact-dark-grid{display:grid;grid-template-columns:1fr minmax(320px,.6fr);gap:clamp(4rem,8vw,8rem);align-items:start}
.contact-details>div{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-details span{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#d0ad74;margin-bottom:.4rem}
.contact-details a,.contact-details p{color:rgba(255,255,255,.82);font-family:var(--font-display);font-size:1.18rem;margin:0;text-decoration:none}

/* Normalize the Studio page to the same type rhythm */
.studio-hero h1{font-size:var(--int-display)!important}
.studio-philosophy h2,.studio-manifesto blockquote,.studio-mission h2,.studio-pillars-head h2,
.studio-arrive h2,.studio-standard-head h2,.studio-fade h2{
  font-size:var(--int-h2)!important;line-height:1.04!important
}
.studio-journey-step h3,.premium-card h3{font-size:var(--int-h3)!important}
.studio-hero-copy,.studio-philosophy-copy p,.studio-journey-step p:last-child,.studio-mission p:last-child,
.premium-card p,.studio-arrive-list span,.studio-standard-grid p{font-size:var(--int-body)!important}
.studio-hero-sub{font-size:var(--int-lead)!important}

/* Motion stays premium and restrained */
.service-panel,.medium-card,.contact-form-card,.faq-item,.method-phases article,.entry-grid article{
  transition:transform .4s var(--premium-ease),box-shadow .4s var(--premium-ease),border-color .3s ease,background .3s ease
}
.method-phases article:hover,.entry-grid article:hover{transform:translateY(-3px)}
.faq-item:hover{border-color:rgba(154,112,58,.28)}

@media(max-width:1050px){
  .int-shell{width:min(88%,1180px)}
  .int-hero-grid,.int-section-head.split,.int-dark-grid,.int-cta-grid,.contact-dark-grid{grid-template-columns:1fr}
  .int-hero-side{border-left:0;border-top:1px solid var(--ink-14);padding:1.5rem 0 0}
  .int-strip-grid{grid-template-columns:repeat(4,1fr)}
  .service-system,.medium-grid{grid-template-columns:1fr}
  .method-phases{grid-template-columns:1fr 1fr}
  .faq-facts{grid-template-columns:1fr 1fr}
  .faq-layout{grid-template-columns:1fr}
  .faq-index{position:static;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}
  .contact-stage{grid-template-columns:1fr}
}
@media(max-width:680px){
  :root{
    --int-display:clamp(3rem,13vw,4.2rem);
    --int-h2:clamp(2.1rem,9vw,3rem);
    --int-h3:1.35rem;
  }
  .int-shell{width:90%}
  .int-hero{padding-top:3.6rem}
  .int-strip-grid{grid-template-columns:repeat(2,1fr)}
  .entry-grid,.method-phases,.faq-facts{grid-template-columns:1fr}
  .entry-grid article:not(:last-child),.method-phases article:not(:last-child),.faq-facts div:not(:last-child){
    border-right:0;margin-right:0
  }
  .service-panel{grid-template-columns:38px 1fr;padding:1.4rem!important}
  .faq-index{grid-template-columns:1fr}
  .contact-form-card{padding:1.5rem}
  .studio-section{width:90%!important}
}

:root{--ink-56:rgba(7,18,32,.56)}


/* =========================================================
   INTERNAL HEADER → BREADCRUMB → HERO RHYTHM
   Keeps Home untouched.
   ========================================================= */
.int-breadcrumb{
  width:min(75%,1180px);
  margin:0 auto;
  padding:1.65rem 0 0!important;
  line-height:1;
}
.int-breadcrumb ol{
  margin:0!important;
  padding:0!important;
}
.int-breadcrumb a{
  color:inherit;
  transition:color .25s ease;
}
.int-breadcrumb a:hover{color:#9a703a}

/* The old internal hero top padding created the large dead band. */
main .int-hero{
  padding-top:clamp(2.15rem,3.1vw,3rem)!important;
}

/* Studio has its own hero class, so normalize it separately. */
main .studio-hero{
  padding-top:clamp(2.15rem,3.1vw,3rem)!important;
}

/* Keep a clear but compact visual hand-off after breadcrumb. */
.int-breadcrumb + main{
  margin-top:0;
}

/* Tablet/mobile: maintain usable margins without recreating the gap. */
@media(max-width:1050px){
  .int-breadcrumb{width:min(88%,1180px);padding-top:1.35rem!important}
  main .int-hero,main .studio-hero{padding-top:2rem!important}
}
@media(max-width:680px){
  .int-breadcrumb{width:90%;padding-top:1.15rem!important}
  main .int-hero,main .studio-hero{padding-top:1.7rem!important}
}


/* =========================================================
   INTERNAL HEADER / NAVIGATION COMPACTING
   Home page remains visually unchanged.
   ========================================================= */

/* Reduce the vertical mass of the desktop header */
@media (min-width:1101px){
  body:not(.home-page) .masthead{
    min-height:92px!important;
    height:92px!important;
    padding-top:0!important;
    padding-bottom:0!important;
    align-items:center!important;
  }

  body:not(.home-page) .masthead > div:first-child{
    height:92px!important;
    align-items:center!important;
  }

  body:not(.home-page) .masthead-logo{
    display:flex!important;
    align-items:center!important;
    height:92px!important;
    margin:0!important;
  }

  body:not(.home-page) .masthead-logo .boxed-brand-logo{
    width:260px!important;
    height:72px!important;
    max-width:260px!important;
    max-height:72px!important;
    object-fit:contain!important;
  }

  body:not(.home-page) .masthead-nav{
    display:flex!important;
    align-items:center!important;
    height:92px!important;
  }

  body:not(.home-page) .masthead-nav ul{
    align-items:center!important;
  }

  body:not(.home-page) .masthead-nav a{
    padding:.35rem 0!important;
    line-height:1.1!important;
  }

  body:not(.home-page) .masthead-cta{
    display:flex!important;
    align-items:center!important;
    height:92px!important;
  }

  body:not(.home-page) .masthead-cta .btn{
    padding:.9rem 1.45rem!important;
  }

  /* Give the breadcrumb its own breathing line below the navy header */
  body:not(.home-page) .int-breadcrumb{
    padding-top:1.1rem!important;
    padding-bottom:.25rem!important;
  }

  /* Bring hero closer to breadcrumb, but not stuck to it */
  body:not(.home-page) main .int-hero,
  body:not(.home-page) main .studio-hero{
    padding-top:1.75rem!important;
  }
}

/* Tablet */
@media (max-width:1100px) and (min-width:681px){
  body:not(.home-page) .int-breadcrumb{
    padding-top:1.05rem!important;
    padding-bottom:.2rem!important;
  }
  body:not(.home-page) main .int-hero,
  body:not(.home-page) main .studio-hero{
    padding-top:1.6rem!important;
  }
}

/* Mobile */
@media (max-width:680px){
  body:not(.home-page) .int-breadcrumb{
    padding-top:.9rem!important;
    padding-bottom:.15rem!important;
  }
  body:not(.home-page) main .int-hero,
  body:not(.home-page) main .studio-hero{
    padding-top:1.35rem!important;
  }
}

/* Final top rhythm: no secondary breadcrumb/navigation strip */
main .int-hero,
main .studio-hero{
  padding-top:clamp(2.4rem,3.5vw,3.5rem)!important;
}
@media(max-width:680px){
  main .int-hero,
  main .studio-hero{padding-top:2rem!important}
}


/* =========================================================
   STUDIO-STYLE SYSTEM FOR ALL INTERNAL PAGES
   ========================================================= */

/* Keep all internal pages aligned to the same 75% visual field */
.studio-section{width:min(75%,1180px);margin-inline:auto}

/* Slight page-specific annotation variation */
.page-work .studio-hero-stage::before{transform:translate(6%,-10%) scale(.92)}
.page-method .studio-hero-stage::before{transform:translate(10%,-6%) scale(.86)}
.page-industries .studio-hero-stage::before{transform:translate(8%,-4%) scale(1.04)}
.page-notes .studio-hero-stage::before{transform:translate(2%,-12%) scale(.82)}
.page-contact .studio-hero-stage::before{transform:translate(10%,-2%) scale(.96)}

/* FAQ in Studio language */
.faq-studio{padding:clamp(4.5rem,7vw,7rem) 0}
.faq-studio-group{margin-bottom:3.8rem}
.faq-studio-group>.folio{margin-bottom:1rem}
.faq-item{
  border-top:1px solid var(--ink-14);
  transition:border-color .3s ease,background .3s ease,padding .3s ease
}
.faq-item:last-child{border-bottom:1px solid var(--ink-14)}
.faq-item:hover{border-color:rgba(154,112,58,.34)}
.faq-item summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr 32px;gap:1rem;align-items:center;
  padding:1.15rem 0;font-family:var(--font-display);font-size:var(--int-h3)
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary span{text-align:right;color:#9a703a;transition:transform .25s ease}
.faq-item[open] summary span{transform:rotate(45deg)}
.faq-item>p{padding:0 3rem 1.25rem 0;margin:0;color:var(--ink-60);line-height:1.72;font-size:var(--int-body)}

/* Contact page in Studio language */
.contact-studio{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.5fr);
  gap:clamp(3rem,7vw,7rem);padding:clamp(4.5rem,7vw,7rem) 0
}
.contact-form-card{
  border:1px solid var(--ink-10);border-radius:22px;padding:clamp(2rem,4vw,3.4rem);
  background:rgba(255,255,255,.44);box-shadow:var(--premium-shadow)
}
.contact-form-head{max-width:680px;margin-bottom:2rem}
.contact-form-head h2{
  font-family:var(--font-display);font-size:var(--int-h2);line-height:1.04;font-weight:400;margin:.55rem 0 1rem
}
.contact-form-head>p:last-child{color:var(--ink-60);line-height:1.7}
.refined-form input,.refined-form select,.refined-form textarea{
  border:1px solid var(--ink-14)!important;border-radius:8px!important;background:rgba(255,255,255,.72)!important;
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease
}
.refined-form input:focus,.refined-form select:focus,.refined-form textarea:focus{
  outline:none;border-color:rgba(154,112,58,.55)!important;box-shadow:0 0 0 4px rgba(154,112,58,.08);background:#fff!important
}
.contact-studio-side{padding-top:.8rem}
.contact-studio-side>div{padding:0 0 1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--ink-12)}
.contact-studio-side span{font-size:.68rem;color:#9a703a;letter-spacing:.12em}
.contact-studio-side h3{font-family:var(--font-display);font-size:var(--int-h3);font-weight:400;margin:.4rem 0 .25rem}
.contact-studio-side p{margin:0;color:var(--ink-58)}

/* Keep internal first section spacing consistent now breadcrumb is gone */
main .studio-hero{padding-top:clamp(2.6rem,3.8vw,3.8rem)!important}

@media(max-width:1000px){
  .studio-section{width:min(88%,1180px)}
  .contact-studio{grid-template-columns:1fr}
}
@media(max-width:680px){
  .studio-section{width:90%}
}


/* =========================================================
   CLOSING SECTION COMPOSITION BALANCE
   Studio + Work: fill the right side without visual clutter
   ========================================================= */
.studio-fade{
  padding:clamp(4.5rem,6.5vw,6.5rem) 0!important;
}
.studio-fade-balanced{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr) minmax(260px,.58fr)!important;
  gap:clamp(2.5rem,5vw,5rem)!important;
  align-items:center!important;
}
.studio-fade-balanced .studio-fade-copy{
  max-width:620px;
}
.studio-fade-aside{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:clamp(1.5rem,2.5vw,2.5rem);
  border-left:1px solid rgba(255,255,255,.14);
}
.studio-fade-aside .folio{
  margin-bottom:1.1rem;
  color:#d2ae73!important;
}
.fade-aside-list{
  display:grid;
  gap:.2rem;
}
.fade-aside-list span{
  font-family:var(--font-display);
  font-size:clamp(1.45rem,2.1vw,2rem);
  line-height:1.25;
  color:rgba(255,255,255,.88);
}
.fade-aside-note{
  margin:1.4rem 0 0!important;
  max-width:280px;
  font-family:var(--font-body)!important;
  font-size:.86rem!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.48)!important;
}

@media(max-width:1000px){
  .studio-fade-balanced{
    grid-template-columns:110px minmax(0,1fr)!important;
  }
  .studio-fade-aside{
    grid-column:2;
    margin-top:1.5rem;
    padding:1.5rem 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
}
@media(max-width:680px){
  .studio-fade-balanced{
    grid-template-columns:1fr!important;
  }
  .studio-fade-aside{
    grid-column:auto;
  }
}


/* =========================================================
   METHOD MANIFESTO — BALANCED TWO-COLUMN COMPOSITION
   ========================================================= */
.studio-manifesto-balanced{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr)!important;
  gap:clamp(3.5rem,7vw,7rem)!important;
  align-items:center!important;
}
.studio-manifesto-main blockquote{
  max-width:900px;
}
.studio-manifesto-aside{
  padding-left:clamp(1.5rem,2.5vw,2.5rem);
  border-left:1px solid rgba(255,255,255,.14);
}
.studio-manifesto-aside .folio{
  margin-bottom:1.1rem;
  color:#d2ae73!important;
}
.manifesto-aside-list{
  display:grid;
  gap:.35rem;
}
.manifesto-aside-list span{
  font-family:var(--font-display);
  font-size:clamp(1.35rem,1.9vw,1.8rem);
  line-height:1.25;
  color:rgba(255,255,255,.88);
}
.manifesto-aside-note{
  max-width:300px;
  margin:1.4rem 0 0;
  font-size:.86rem;
  line-height:1.65;
  color:rgba(255,255,255,.48);
}

@media(max-width:900px){
  .studio-manifesto-balanced{
    grid-template-columns:1fr!important;
  }
  .studio-manifesto-aside{
    padding:1.5rem 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
}


/* =========================================================
   UNIQUE LOWER-HALF COMPOSITIONS
   Where We Write / Notes / Contact
   ========================================================= */

/* Where We Write */
.industries-lower{padding:clamp(4.5rem,7vw,7rem) 0}
.industries-lower-head{max-width:760px;margin-bottom:2.7rem}
.industries-lower-head h2{
  font-family:var(--font-display);font-size:var(--int-h2);line-height:1.04;font-weight:400;margin:.55rem 0
}
.attention-grid{
  display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink-18)
}
.attention-grid>div{padding:1.8rem 2rem 1.8rem 0;border-bottom:1px solid var(--ink-12)}
.attention-grid>div:nth-child(odd){border-right:1px solid var(--ink-10);margin-right:2rem}
.attention-grid span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#9a703a}
.attention-grid b{display:block;font-family:var(--font-display);font-size:1.55rem;font-weight:400;margin:.55rem 0}
.attention-grid p{margin:0;color:var(--ink-58);line-height:1.65}
.industries-end{
  background:linear-gradient(135deg,#071525,#0a1a2d);color:var(--paper);
  padding:clamp(4rem,6vw,6rem) 0
}
.industries-end-grid{display:grid;grid-template-columns:1fr .65fr;gap:clamp(4rem,8vw,8rem);align-items:end}
.industries-end h2{
  color:var(--paper);font-family:var(--font-display);font-size:var(--int-h2);font-weight:400;margin:.55rem 0
}
.industries-end-grid>div:last-child p{color:rgba(255,255,255,.62);line-height:1.7;margin:0 0 1.2rem}

/* Notes */
.faq-closing{padding:clamp(4.5rem,7vw,7rem) 0;border-top:1px solid var(--ink-14)}
.faq-closing-grid{display:grid;grid-template-columns:1fr .75fr;gap:clamp(4rem,8vw,8rem);align-items:start}
.faq-closing h2{
  font-family:var(--font-display);font-size:var(--int-h2);line-height:1.04;font-weight:400;margin:.55rem 0 1rem
}
.faq-closing-grid>div:first-child>p:last-child{color:var(--ink-60);line-height:1.72;max-width:680px}
.faq-first-message{border-top:1px solid var(--ink-18)}
.faq-first-message>span{
  display:grid;grid-template-columns:38px 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--ink-12);
  font-family:var(--font-display);font-size:1.1rem
}
.faq-first-message>span b{font-family:var(--font-body);font-size:.68rem;color:#9a703a;letter-spacing:.1em}
.faq-first-message .text-link{display:inline-block;margin-top:1.2rem}

/* Contact */
.contact-end{
  background:linear-gradient(135deg,#061326,#0a1a2c);color:var(--paper);
  padding:clamp(4.5rem,7vw,7rem) 0
}
.contact-end-grid{display:grid;grid-template-columns:1fr .72fr;gap:clamp(4rem,8vw,8rem);align-items:start}
.contact-end h2{
  font-family:var(--font-display);font-size:var(--int-h2);line-height:1.04;font-weight:400;color:var(--paper);margin:.55rem 0
}
.contact-end h2 em{font-family:var(--font-script);color:#d2ae73;font-weight:500}
.contact-end-details>div{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-end-details span{
  display:block;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:#d2ae73;margin-bottom:.35rem
}
.contact-end-details a,.contact-end-details p{
  color:rgba(255,255,255,.84);font-family:var(--font-display);font-size:1.15rem;margin:0;text-decoration:none
}

@media(max-width:900px){
  .attention-grid,.industries-end-grid,.faq-closing-grid,.contact-end-grid{grid-template-columns:1fr}
  .attention-grid>div:nth-child(odd){border-right:0;margin-right:0}
}

/* Contact form phone revamp */
.phone-input-group{
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  gap:.65rem;
}
.phone-input-group select,
.phone-input-group input{
  width:100%;
}
.phone-input-group #country-code{
  padding-left:.85rem;
  padding-right:2rem;
  cursor:pointer;
}
@media(max-width:560px){
  .phone-input-group{grid-template-columns:112px minmax(0,1fr);gap:.5rem}
}


/* =========================================================
   FINAL FORM + BUTTON POLISH
   One control rhythm across the complete website
   ========================================================= */

/* Contact form: proper internal breathing room */
#contact-form .field input,
#contact-form .field select,
#contact-form .field textarea{
  box-sizing:border-box!important;
  width:100%!important;
  font-family:var(--font-body)!important;
  font-size:.96rem!important;
  line-height:1.45!important;
  color:var(--ink)!important;
  padding:0 1rem!important;
  border:1px solid rgba(7,18,32,.15)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.78)!important;
}
#contact-form .field input,
#contact-form .field select{
  height:52px!important;
}
#contact-form .field textarea{
  min-height:168px!important;
  padding:1rem!important;
  resize:vertical;
}
#contact-form .field input::placeholder,
#contact-form .field textarea::placeholder{
  color:rgba(7,18,32,.42)!important;
  opacity:1!important;
}
#contact-form .field input:focus,
#contact-form .field select:focus,
#contact-form .field textarea:focus{
  outline:none!important;
  border-color:rgba(169,124,61,.72)!important;
  box-shadow:0 0 0 4px rgba(169,124,61,.09)!important;
  background:#fff!important;
}
#contact-form .field label{
  display:block;
  margin-bottom:.15rem;
  font-size:.69rem!important;
  font-weight:600!important;
  line-height:1.2;
  letter-spacing:.13em!important;
  color:rgba(7,18,32,.52)!important;
}

/* Country-code + phone form one visual control group */
#contact-form .phone-input-group{
  display:grid!important;
  grid-template-columns:122px minmax(0,1fr)!important;
  gap:.65rem!important;
}
#contact-form .phone-input-group #country-code{
  height:52px!important;
  padding:0 2rem 0 .9rem!important;
}
#contact-form .phone-input-group #phone{
  height:52px!important;
  padding-left:1rem!important;
}

/* ---------- Universal premium button system ---------- */
.btn{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  width:auto!important;
  padding:0 1.45rem!important;
  border-radius:999px!important;
  font-family:var(--font-body)!important;
  font-size:.70rem!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:translateY(0);
  transition:
    transform .32s var(--premium-ease),
    box-shadow .32s var(--premium-ease),
    background-color .28s ease,
    border-color .28s ease,
    color .28s ease!important;
}

/* Primary action */
.btn-gold{
  background:#b98a45!important;
  color:#071220!important;
  border:1px solid #b98a45!important;
  box-shadow:0 5px 14px rgba(7,18,32,.08)!important;
}
.btn-gold:hover{
  background:#c79a57!important;
  border-color:#c79a57!important;
  color:#071220!important;
  transform:translateY(-2px)!important;
  box-shadow:0 11px 24px rgba(104,70,24,.18)!important;
}

/* Light-page secondary action */
.btn-line{
  background:transparent!important;
  color:var(--ink)!important;
  border:1px solid rgba(7,18,32,.22)!important;
  box-shadow:none!important;
}
.btn-line:hover{
  color:#8b632f!important;
  border-color:rgba(139,99,47,.65)!important;
  background:rgba(169,124,61,.045)!important;
  transform:translateY(-1px)!important;
}

/* Dark-page secondary action */
.btn-line-ink{
  background:transparent!important;
  color:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  box-shadow:none!important;
}
.btn-line-ink:hover{
  color:#e0bf87!important;
  border-color:rgba(224,191,135,.7)!important;
  background:rgba(255,255,255,.035)!important;
  transform:translateY(-1px)!important;
}

.btn:focus-visible{
  outline:2px solid #c79a57!important;
  outline-offset:3px!important;
}

/* Navigation CTA should match the same button proportions */
.masthead-cta .btn{
  min-height:46px!important;
  padding:0 1.55rem!important;
}

/* Form submit should not become an oversized full-width block */
#contact-form button.btn{
  margin-top:.35rem!important;
  min-width:148px!important;
}

/* Keep paired actions evenly aligned */
.studio-hero-actions,
.studio-next-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1rem!important;
}

/* Text links remain deliberately quieter than buttons */
.text-link{
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.015em;
}

@media(max-width:680px){
  #contact-form .phone-input-group{
    grid-template-columns:108px minmax(0,1fr)!important;
    gap:.5rem!important;
  }
  .btn{
    min-height:44px!important;
    padding:0 1.2rem!important;
    font-size:.67rem!important;
  }
}


/* =========================================================
   CONTACT-FIRST CONVERSION PASS
   ========================================================= */

/* Contact page: form visible immediately, top-right */
.contact-hero-top{
  width:min(75%,1180px);
  margin:0 auto;
  padding:clamp(3rem,5vw,5rem) 0 clamp(4rem,6vw,6rem);
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);
  gap:clamp(3.5rem,7vw,7rem);
  align-items:start;
}
.contact-hero-left{
  padding-top:clamp(1rem,2vw,2rem);
  position:sticky;
  top:120px;
}
.contact-hero-left h1{
  margin:.65rem 0 1.2rem;
  font-family:var(--font-display);
  font-size:var(--int-display);
  line-height:.94;
  letter-spacing:-.045em;
  font-weight:400;
  color:var(--ink);
}
.contact-hero-left h1 span{
  font-family:var(--font-script);
  font-style:italic;
  color:#9a703a;
}
.contact-hero-sub{
  margin:0 0 .65rem;
  font-family:var(--font-display);
  font-size:var(--int-lead);
  color:var(--ink);
}
.contact-hero-copy{
  max-width:560px;
  color:var(--ink-62);
  line-height:1.75;
  margin:0 0 1.5rem;
}
.contact-top-form{
  scroll-margin-top:110px;
  border:1px solid var(--ink-10);
  border-radius:22px;
  padding:clamp(1.8rem,3vw,2.7rem);
  background:rgba(255,255,255,.64);
  box-shadow:0 22px 55px rgba(7,18,32,.10);
}
.contact-top-form .contact-form-head{
  margin-bottom:1.6rem;
}
.contact-top-form .contact-form-head h2{
  font-size:clamp(2rem,3.2vw,3.2rem);
}

/* Slightly more compact form now that it sits above the fold */
.contact-top-form #contact-form .form-grid{
  gap:.2rem 1rem;
}
.contact-top-form #contact-form .field{
  margin-bottom:.9rem;
}
.contact-top-form #contact-form .field textarea{
  min-height:140px!important;
}

/* Floating email button across site */
.floating-email{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  min-height:46px;
  padding:0 .95rem 0 1.15rem;
  border-radius:999px;
  background:#0a1728;
  color:#f5efe4;
  text-decoration:none;
  box-shadow:0 12px 32px rgba(3,12,24,.22);
  border:1px solid rgba(255,255,255,.12);
  transition:transform .3s var(--premium-ease),box-shadow .3s var(--premium-ease),background .3s ease;
}
.floating-email span{
  font-family:var(--font-body);
  font-size:.70rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.floating-email b{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#b98a45;
  color:#071220;
  font-size:.8rem;
  font-weight:400;
}
.floating-email:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(3,12,24,.28);
  background:#0d1d31;
}

/* No phone UI anywhere */
.phone-field,
.phone-input-group{
  display:none!important;
}

@media(max-width:1000px){
  .contact-hero-top{
    width:min(88%,1180px);
    grid-template-columns:1fr;
  }
  .contact-hero-left{
    position:static;
    padding-top:0;
  }
}
@media(max-width:680px){
  .contact-hero-top{width:90%}
  .floating-email{
    right:14px;
    bottom:14px;
    min-height:44px;
  }
  .floating-email span{display:none}
  .floating-email{
    width:48px;
    padding:0;
    justify-content:center;
  }
}


/* =========================================================
   CTA CLARITY + NAVIGATION LEGIBILITY + QUILL CURSOR
   ========================================================= */

/* Navigation text: a modest increase, not a redesign */
@media (min-width:1101px){
  .masthead-nav a{
    font-size:.70rem!important;
    letter-spacing:.075em!important;
    font-weight:600!important;
  }
}

/* Branded navigation interaction: quill cursor + tiny ink mark */
.masthead-nav a{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M27 3C19 4 11 10 7 18c-2 4-2 7-2 9 2-3 5-6 8-8l-4 1 6-4-4 1c4-5 9-9 16-14Z' fill='%23d2ae73' stroke='%23071220' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M6 27c5-7 10-12 17-18' fill='none' stroke='%23071220' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E") 4 28, pointer!important;
  position:relative;
}
.masthead-nav a::before{
  content:"";
  position:absolute;
  left:-13px;
  top:50%;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#d2ae73;
  box-shadow:0 0 0 3px rgba(210,174,115,.08);
  opacity:0;
  transform:translateY(-50%) scale(.4);
  transition:opacity .28s ease, transform .32s var(--premium-ease);
}
.masthead-nav a:hover::before,
.masthead-nav a[aria-current="page"]::before{
  opacity:1;
  transform:translateY(-50%) scale(1);
}

/* Keep the quill limited to navigation so normal site interactions remain familiar */
.masthead-nav a:hover{
  color:#f2dfbb!important;
}

/* Clearer CTA semantics visually: body CTA buttons indicate an action,
   while text links remain for exploration/navigation. */
main .btn{
  letter-spacing:.075em!important;
}

.web3forms-botcheck{display:none!important}


/* Restore enquiry phone field only; business mobile number remains removed site-wide */
#contact-form .phone-field{
  display:flex!important;
}
#contact-form .phone-input-group{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:.65rem!important;
}
#contact-form .phone-input-group select,
#contact-form .phone-input-group input{
  width:100%!important;
  height:52px!important;
  box-sizing:border-box!important;
}
#contact-form .phone-input-group #country-code{
  padding:0 2rem 0 .9rem!important;
}
#contact-form .phone-input-group #phone{
  padding:0 1rem!important;
}
@media(max-width:560px){
  #contact-form .phone-input-group{
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:.5rem!important;
  }
}


/* Web3Forms inline success state */
.form-success-message{
  margin-top:1.35rem;
  padding:1rem 1.1rem;
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  border:1px solid rgba(154,112,58,.24);
  border-radius:12px;
  background:rgba(185,138,69,.07);
  color:var(--ink);
}
.form-success-message[hidden]{display:none!important}
.form-success-mark{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#b98a45;
  color:#071220;
  font-weight:700;
}
.form-success-message strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.12rem;
  font-weight:500;
  margin:.05rem 0 .2rem;
}
.form-success-message p{
  margin:0;
  color:var(--ink-58);
  font-size:.86rem;
  line-height:1.55;
}
.form-success-message.is-error{
  border-color:rgba(130,45,45,.22);
  background:rgba(130,45,45,.05);
}
#contact-form button[type="submit"]:disabled{
  opacity:.65;
  cursor:wait!important;
  transform:none!important;
}


/* =========================================================
   HOME HERO — refined editorial scale and sober leading
   ========================================================= */
@media (min-width:1101px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(4.15rem,5.35vw,5.75rem)!important;
    line-height:.98!important;
    letter-spacing:-.047em!important;
    max-width:8.8ch!important;
    text-wrap:balance;
  }
  .hero .hero-grid > .reveal:first-child h1 em{
    font-size:.96em!important;
    line-height:inherit!important;
  }
}
@media (min-width:721px) and (max-width:1100px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.55rem,6.3vw,4.75rem)!important;
    line-height:1.01!important;
    letter-spacing:-.043em!important;
    max-width:9.4ch!important;
    text-wrap:balance;
  }
}
@media (max-width:720px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3rem,13vw,4rem)!important;
    line-height:1.01!important;
    letter-spacing:-.04em!important;
    max-width:10ch!important;
    text-wrap:balance;
  }
}


/* =========================================================
   HOME HERO — compact, balanced, less vertical dead space
   ========================================================= */

/* Remove the dead band below the header on Home only */
.content > main#main > .hero{
  padding-top:clamp(2.2rem,3.2vw,3.2rem)!important;
  min-height:auto!important;
}

/* Better first-screen composition */
.hero .hero-grid{
  align-items:center!important;
  min-height:auto!important;
  padding-bottom:clamp(2.8rem,4.5vw,4.5rem)!important;
}

/* Headline: premium editorial, but not oversized */
@media (min-width:1101px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.8rem,4.75vw,5.15rem)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    max-width:8.1ch!important;
    margin-top:1.4rem!important;
    margin-bottom:1.8rem!important;
  }
}

/* Right copy: slightly tighter and more balanced */
.hero-copy{
  padding-top:.3rem!important;
}
.hero-copy .kicker{
  font-size:clamp(1.25rem,1.45vw,1.55rem)!important;
  line-height:1.38!important;
  margin-bottom:1.2rem!important;
}
.hero-copy > p:not(.kicker):not(.script-line){
  font-size:.98rem!important;
  line-height:1.62!important;
  margin-bottom:.9rem!important;
}
.hero-copy .script-line{
  margin-top:1.3rem!important;
}

/* CTA row closer to headline */
.hero-cta{
  margin-top:0!important;
  gap:.8rem!important;
}

/* Discipline strip less detached */
.hero-disciplines{
  margin-top:1.5rem!important;
}

/* Keep the top folio closer to content */
.hero .folio{
  margin-bottom:.4rem!important;
}

/* Remove oversized decorative height feeling */
.hero::before,
.hero::after{
  opacity:.7;
}

@media (min-width:721px) and (max-width:1100px){
  .content > main#main > .hero{
    padding-top:2rem!important;
  }
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.3rem,5.7vw,4.4rem)!important;
    line-height:.98!important;
    max-width:8.6ch!important;
  }
}

@media (max-width:720px){
  .content > main#main > .hero{
    padding-top:1.7rem!important;
  }
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(2.9rem,12vw,3.8rem)!important;
    line-height:.99!important;
    max-width:9.2ch!important;
    margin-top:1rem!important;
    margin-bottom:1.35rem!important;
  }
}


/* =========================================================
   HOME HERO — remove dead middle corridor
   ========================================================= */
@media (min-width:1101px){
  .hero .hero-grid{
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.78fr)!important;
    gap:clamp(2.4rem,3.5vw,3.8rem)!important;
    align-items:center!important;
  }

  .hero .hero-grid > .reveal:first-child{
    max-width:none!important;
    padding-right:.5rem!important;
  }

  .hero .hero-grid > .reveal:first-child h1{
    max-width:9.4ch!important;
    font-size:clamp(3.65rem,4.55vw,4.95rem)!important;
    line-height:.97!important;
  }

  .hero-copy{
    max-width:520px!important;
    padding-left:1.65rem!important;
    border-left:1px solid rgba(255,255,255,.16)!important;
    justify-self:start!important;
  }

  .hero-copy .kicker{
    max-width:460px!important;
  }

  .hero-copy > p:not(.kicker):not(.script-line){
    max-width:450px!important;
  }
}

/* Make the composition tighter at medium desktop widths too */
@media (min-width:850px) and (max-width:1100px){
  .hero .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important;
    gap:2.2rem!important;
  }

  .hero .hero-grid > .reveal:first-child h1{
    max-width:9.2ch!important;
  }

  .hero-copy{
    padding-left:1.4rem!important;
  }
}


/* HOME HERO — three-word line composition */
@media (min-width:1101px){
  .hero .hero-grid > .reveal:first-child h1{
    max-width:12.2ch!important;
    font-size:clamp(3.55rem,4.35vw,4.75rem)!important;
    line-height:.98!important;
    letter-spacing:-.043em!important;
  }
}
@media (min-width:721px) and (max-width:1100px){
  .hero .hero-grid > .reveal:first-child h1{
    max-width:12ch!important;
    font-size:clamp(3.2rem,5.4vw,4.2rem)!important;
    line-height:1!important;
  }
}


/* HOME HERO — natural continuous headline wrapping */
.hero .hero-grid > .reveal:first-child h1{
  max-width:none!important;
  width:100%!important;
  text-wrap:wrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media (min-width:1101px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.45rem,4.15vw,4.55rem)!important;
    line-height:.99!important;
    letter-spacing:-.042em!important;
  }
}
@media (min-width:721px) and (max-width:1100px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.15rem,5.15vw,4.1rem)!important;
    line-height:1!important;
  }
}


/* HOME HERO — slightly larger headline with calmer vertical spacing */
@media (min-width:1101px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.65rem,4.35vw,4.8rem)!important;
    line-height:1.055!important;
    letter-spacing:-.041em!important;
  }
}
@media (min-width:721px) and (max-width:1100px){
  .hero .hero-grid > .reveal:first-child h1{
    font-size:clamp(3.3rem,5.35vw,4.3rem)!important;
    line-height:1.045!important;
  }
}


/* =========================================================
   HOME HERO — vertically center the complete composition
   Header and lower services strip remain outside the centering.
   ========================================================= */
@media (min-width:1101px){
  .content > main#main > .hero{
    box-sizing:border-box!important;
    min-height:calc(100vh - var(--header-h, 118px) - 88px)!important;
    padding-top:0!important;
    padding-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  .content > main#main > .hero > .wrap{
    width:100%!important;
  }

  .hero .hero-grid{
    min-height:0!important;
    padding-top:clamp(1.4rem,2vh,2rem)!important;
    padding-bottom:clamp(1.4rem,2vh,2rem)!important;
    align-items:center!important;
  }
}

/* Keep centering sensible on shorter laptop screens */
@media (min-width:1101px) and (max-height:820px){
  .content > main#main > .hero{
    min-height:calc(100vh - 105px - 76px)!important;
  }
  .hero .hero-grid{
    padding-top:1rem!important;
    padding-bottom:1rem!important;
  }
}


/* =========================================================
   MOBILE / PRO MAX PRODUCTION PASS
   320px → 430px phones, tablets, safe areas, touch ergonomics
   ========================================================= */
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{
  min-width:320px;
  overflow-x:hidden;
}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
.skip-link{
  position:fixed;
  left:1rem;
  top:calc(.75rem + var(--safe-top));
  z-index:2000;
  transform:translateY(-180%);
  padding:.7rem 1rem;
  border-radius:999px;
  background:#faf8f2;
  color:#071220;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font:600 .8rem var(--font-body);
}
.skip-link:focus{transform:none}

/* Reliable mobile viewport behavior */
@supports (height:100svh){
  .masthead.open .masthead-nav{min-height:calc(100svh - var(--header-h))}
}

/* Tablets and phone landscape */
@media (max-width:900px){
  :root{--header-h:76px}
  .masthead{
    height:calc(var(--header-h) + var(--safe-top))!important;
    min-height:calc(var(--header-h) + var(--safe-top))!important;
    padding:calc(.65rem + var(--safe-top)) calc(1rem + var(--safe-right)) .65rem calc(1rem + var(--safe-left))!important;
  }
  .masthead>div:first-child{height:auto!important}
  .masthead-logo{height:auto!important}
  .masthead-logo .boxed-brand-logo,
  .masthead-logo img{
    width:auto!important;
    height:54px!important;
    max-width:min(215px,70vw)!important;
    max-height:54px!important;
  }
  .masthead-toggle{
    width:46px!important;
    height:46px!important;
    border-radius:50%!important;
    flex:0 0 46px;
  }
  .masthead.open .masthead-nav{
    top:calc(var(--header-h) + var(--safe-top))!important;
    padding:1rem calc(1.2rem + var(--safe-right)) calc(7rem + var(--safe-bottom)) calc(1.2rem + var(--safe-left))!important;
  }
  .masthead.open .masthead-nav a{
    min-height:54px;
    display:flex!important;
    align-items:center!important;
    font-size:clamp(1.35rem,5vw,1.7rem)!important;
    line-height:1.15!important;
  }
  .masthead.open .masthead-cta{
    left:calc(1rem + var(--safe-left))!important;
    right:calc(1rem + var(--safe-right))!important;
    bottom:calc(1rem + var(--safe-bottom))!important;
  }
  .masthead.open .masthead-cta .btn{width:100%!important}
  .content{padding-top:calc(var(--header-h) + var(--safe-top))!important}

  .studio-section,
  .int-shell,
  .contact-hero-top{
    width:min(88%,1180px)!important;
  }

  .studio-hero-stage{
    min-height:0!important;
    border-radius:20px!important;
    padding:clamp(1.8rem,5vw,3rem)!important;
  }
  .studio-annotations{display:none!important}
  .studio-philosophy-grid,
  .studio-arrive-grid,
  .studio-mission-grid,
  .studio-next-grid,
  .studio-manifesto-balanced,
  .studio-fade-balanced,
  .contact-hero-top,
  .contact-studio,
  .industries-end-grid,
  .faq-closing-grid,
  .contact-end-grid{
    grid-template-columns:1fr!important;
  }
  .studio-manifesto-aside,
  .studio-fade-aside{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    padding:1.4rem 0 0!important;
    margin-top:1rem!important;
  }
  .studio-fade-aside{grid-column:auto!important}

  .studio-pillars-grid,
  .studio-standard-grid,
  .attention-grid{
    grid-template-columns:1fr!important;
  }
  .attention-grid>div:nth-child(odd){
    border-right:0!important;
    margin-right:0!important;
  }

  .contact-hero-left{
    position:static!important;
    padding-top:0!important;
  }
  .contact-top-form{
    border-radius:18px!important;
    padding:clamp(1.35rem,4vw,2rem)!important;
  }
}

/* Phones incl. iPhone Pro Max-class 430px viewport */
@media (max-width:600px){
  :root{--header-h:72px}
  body{font-size:16px;line-height:1.65}

  .masthead{
    padding-left:calc(.8rem + var(--safe-left))!important;
    padding-right:calc(.8rem + var(--safe-right))!important;
  }
  .masthead-logo .boxed-brand-logo,
  .masthead-logo img{
    height:48px!important;
    max-width:min(200px,68vw)!important;
  }
  .masthead-toggle{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;
  }

  .hero{
    min-height:auto!important;
    padding:2.6rem calc(1rem + var(--safe-right)) 3rem calc(1rem + var(--safe-left))!important;
    display:block!important;
  }
  .hero-grid{
    grid-template-columns:1fr!important;
    gap:2.25rem!important;
    padding:0!important;
  }
  .hero .folio{
    font-size:.67rem!important;
    line-height:1.5!important;
    letter-spacing:.11em!important;
  }
  .hero .hero-grid > .reveal:first-child h1,
  .hero h1{
    font-size:clamp(2.85rem,13.2vw,3.75rem)!important;
    line-height:1.035!important;
    letter-spacing:-.042em!important;
    max-width:none!important;
    width:auto!important;
    margin:1rem 0 1.35rem!important;
  }
  .hero-copy{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.17)!important;
    padding:1.5rem 0 0!important;
    max-width:none!important;
  }
  .hero-copy .kicker{
    font-size:clamp(1.15rem,5.3vw,1.42rem)!important;
    line-height:1.4!important;
  }
  .hero-copy>p:not(.kicker):not(.script-line){
    font-size:.98rem!important;
    line-height:1.68!important;
  }
  .hero-cta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.65rem!important;
  }
  .hero-cta .btn{width:100%!important}
  .hero-disciplines{
    margin-top:1.2rem!important;
    display:flex!important;
    gap:.45rem .85rem!important;
  }
  .hero-disciplines span{font-size:.67rem!important}

  .signal-strip{overflow:hidden}
  .signal-inner{
    display:flex!important;
    width:auto!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:0 calc(1rem + var(--safe-right)) 0 calc(1rem + var(--safe-left))!important;
  }
  .signal-inner::-webkit-scrollbar{display:none}
  .signal-inner span{
    flex:0 0 auto!important;
    min-width:150px;
    scroll-snap-align:start;
    padding:1rem!important;
    border-right:1px solid var(--ink-14);
  }

  .sect,
  .studio-hero,
  .studio-philosophy,
  .studio-pillars,
  .studio-arrive,
  .studio-standard,
  .faq-studio,
  .industries-lower,
  .faq-closing{
    padding-top:3.6rem!important;
    padding-bottom:3.6rem!important;
  }
  .studio-section,
  .int-shell,
  .contact-hero-top{
    width:auto!important;
    margin-left:calc(1rem + var(--safe-left))!important;
    margin-right:calc(1rem + var(--safe-right))!important;
  }
  .studio-hero-stage{padding:1.45rem!important}
  .studio-hero h1,
  .contact-hero-left h1{
    font-size:clamp(2.8rem,13vw,3.8rem)!important;
    line-height:1!important;
  }
  .studio-philosophy h2,
  .studio-manifesto blockquote,
  .studio-mission h2,
  .studio-pillars-head h2,
  .studio-arrive h2,
  .studio-standard-head h2,
  .studio-fade h2,
  .industries-lower-head h2,
  .faq-closing h2,
  .contact-end h2{
    font-size:clamp(2.15rem,9.4vw,3rem)!important;
    line-height:1.06!important;
  }
  .studio-journey-step{
    grid-template-columns:48px 1fr!important;
    gap:1rem!important;
    padding:1.45rem 0!important;
  }
  .studio-journey-line{left:23px!important}
  .studio-journey-step>span{
    width:48px!important;height:48px!important;
  }
  .studio-journey-step h3{font-size:1.35rem!important}

  .premium-card{padding:1.35rem!important;border-radius:14px!important}
  .studio-mission-grid{
    gap:1rem!important;
    padding:2rem 0!important;
  }
  .studio-mission-number{font-size:2.2rem!important}

  .contact-top-form #contact-form .form-grid,
  .form-grid{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #contact-form .field{grid-column:1/-1!important;margin-bottom:.85rem!important}
  #contact-form .field input,
  #contact-form .field select,
  #contact-form .field textarea{
    font-size:16px!important; /* prevents iOS form zoom */
  }
  #contact-form .phone-input-group{
    grid-template-columns:96px minmax(0,1fr)!important;
  }
  #contact-form .field textarea{min-height:150px!important}
  #contact-form button.btn{width:100%!important}

  .btn{
    min-height:48px!important;
    font-size:.70rem!important;
  }
  .text-link{min-height:44px;display:inline-flex;align-items:center}
  .faq-item summary{min-height:54px;font-size:1.12rem!important}

  .site-footer .foot-top,
  .site-footer .foot-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:1rem!important;
  }
  .site-footer{padding-bottom:calc(5rem + var(--safe-bottom))!important}

  .floating-email{
    right:calc(.75rem + var(--safe-right))!important;
    bottom:calc(.75rem + var(--safe-bottom))!important;
    width:50px!important;
    height:50px!important;
    min-height:50px!important;
  }
  .floating-email span{display:none!important}
}

/* Narrow phones */
@media (max-width:360px){
  .masthead-logo .boxed-brand-logo,
  .masthead-logo img{max-width:178px!important}
  .hero .hero-grid > .reveal:first-child h1,
  .hero h1{font-size:2.7rem!important}
  .studio-hero h1,.contact-hero-left h1{font-size:2.65rem!important}
}

/* No hover elevation on touch-only devices */
@media (hover:none){
  .premium-card:hover,
  .work-item:hover,
  .world:hover,
  .triad-card:hover,
  .btn:hover{
    transform:none!important;
  }
}


/* =========================================================
   FINAL APPROVED TYPOGRAPHY + FOOTER + FLOATING EMAIL
   Restores the approved font system on desktop and mobile.
   ========================================================= */
:root{
  --font-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-script:'Cormorant', Georgia, 'Times New Roman', serif;
  --font-body:'Manrope','Helvetica Neue',Arial,sans-serif;
}

/* Approved typography roles */
html,body{
  font-family:var(--font-body)!important;
}
body,p,li,input,select,textarea,button,
.masthead-nav a,.btn,.folio,.eyebrow,.text-link,
.foot-links a,.foot-legal,.foot-bottom{
  font-family:var(--font-body)!important;
}
h1,h2,h3,h4,h5,h6,
.hero h1,.studio-hero h1,.contact-hero-left h1,
.studio-philosophy h2,.studio-manifesto blockquote,
.studio-fade h2,.contact-end h2{
  font-family:var(--font-display)!important;
}
h1 em,h2 em,h3 em,
.hero h1 em,.studio-hero h1 span,.contact-hero-left h1 span,
.studio-manifesto em,.studio-fade em,.contact-end h2 em,
.script-line,.studio-script{
  font-family:var(--font-script)!important;
}

/* Navigation stays Manrope, not serif */
.masthead-nav a{
  font-family:var(--font-body)!important;
  font-weight:600!important;
}

/* ---------- Premium footer ---------- */
.site-footer{
  position:relative;
  z-index:2;
  background:#050d18!important;
  color:rgba(250,248,242,.74)!important;
  padding:clamp(2.8rem,4vw,4rem) clamp(1.25rem,5vw,5.5rem) 2.3rem!important;
  border-top:1px solid rgba(221,199,157,.12)!important;
}
.site-footer>*{
  width:min(100%,1440px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.site-footer .foot-top{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:clamp(2rem,6vw,6rem)!important;
  padding-bottom:1.7rem!important;
  margin-bottom:1.5rem!important;
  border-bottom:1px solid rgba(250,248,242,.12)!important;
}
.site-footer .foot-logo{
  display:inline-flex!important;
  align-items:center!important;
}
.site-footer .foot-logo img{
  width:auto!important;
  height:64px!important;
  max-width:260px!important;
  opacity:1!important;
  filter:none!important;
}
.site-footer .foot-links{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:.75rem 2rem!important;
}
.site-footer .foot-links a{
  color:rgba(250,248,242,.72)!important;
  font-size:.72rem!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
  transition:color .25s ease!important;
}
.site-footer .foot-links a:hover{
  color:#ddc79d!important;
}
.site-footer .foot-legal{
  max-width:1000px!important;
  margin:0!important;
  color:rgba(250,248,242,.52)!important;
  font-size:.74rem!important;
  line-height:1.72!important;
}
.site-footer .foot-bottom{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:1rem 2rem!important;
  margin-top:1.35rem!important;
  color:rgba(250,248,242,.58)!important;
  font-size:.72rem!important;
  line-height:1.55!important;
}
.site-footer .foot-bottom span:last-child{
  text-align:right;
}

/* ---------- Premium floating email ---------- */
.floating-email{
  position:fixed!important;
  right:clamp(1rem,2vw,1.5rem)!important;
  bottom:clamp(1rem,2vw,1.5rem)!important;
  z-index:950!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.65rem!important;
  min-width:108px!important;
  height:46px!important;
  padding:0 .9rem 0 1.05rem!important;
  border-radius:999px!important;
  background:rgba(5,13,24,.94)!important;
  color:#f7f2e8!important;
  border:1px solid rgba(221,199,157,.34)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  transition:transform .28s var(--ease),border-color .28s ease,box-shadow .28s ease!important;
}
.floating-email span{
  display:inline!important;
  font-family:var(--font-body)!important;
  font-size:.68rem!important;
  font-weight:700!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.floating-email b{
  position:relative!important;
  display:block!important;
  width:18px!important;
  height:14px!important;
  background:transparent!important;
  border:1px solid #c69238!important;
  border-radius:2px!important;
  font-size:0!important;
  color:transparent!important;
}
.floating-email b::before,
.floating-email b::after{
  content:""!important;
  position:absolute!important;
  top:3px!important;
  width:9px!important;
  height:1px!important;
  background:#c69238!important;
}
.floating-email b::before{
  left:1px!important;
  transform:rotate(34deg)!important;
  transform-origin:left center!important;
}
.floating-email b::after{
  right:1px!important;
  transform:rotate(-34deg)!important;
  transform-origin:right center!important;
}
.floating-email:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(221,199,157,.72)!important;
  box-shadow:0 16px 36px rgba(0,0,0,.28)!important;
}

/* ---------- Footer + floating email on mobile ---------- */
@media(max-width:680px){
  .site-footer{
    padding:
      2.2rem
      calc(1rem + var(--safe-right,0px))
      calc(5.8rem + var(--safe-bottom,0px))
      calc(1rem + var(--safe-left,0px))!important;
  }
  .site-footer .foot-top{
    grid-template-columns:1fr!important;
    gap:1.5rem!important;
    padding-bottom:1.4rem!important;
    margin-bottom:1.3rem!important;
  }
  .site-footer .foot-logo img{
    height:58px!important;
    max-width:235px!important;
  }
  .site-footer .foot-links{
    justify-content:flex-start!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:.35rem .8rem!important;
  }
  .site-footer .foot-links a{
    min-height:40px!important;
    display:flex!important;
    align-items:center!important;
    font-size:.69rem!important;
    border-bottom:1px solid rgba(250,248,242,.08)!important;
  }
  .site-footer .foot-legal{
    font-size:.72rem!important;
    line-height:1.68!important;
    color:rgba(250,248,242,.48)!important;
  }
  .site-footer .foot-bottom{
    flex-direction:column!important;
    gap:.45rem!important;
    margin-top:1.15rem!important;
    font-size:.7rem!important;
    color:rgba(250,248,242,.56)!important;
  }
  .site-footer .foot-bottom span:last-child{
    text-align:left!important;
  }

  .floating-email{
    right:calc(.8rem + var(--safe-right,0px))!important;
    bottom:calc(.8rem + var(--safe-bottom,0px))!important;
    width:auto!important;
    min-width:92px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 .78rem 0 .9rem!important;
    gap:.55rem!important;
    border-color:rgba(221,199,157,.42)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.24)!important;
  }
  .floating-email span{
    display:inline!important;
    font-size:.64rem!important;
  }
  .floating-email b{
    width:16px!important;
    height:12px!important;
  }
}

@media(max-width:360px){
  .site-footer .foot-links{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   MOBILE NAVIGATION — TOP-ALIGNED FULL-SCREEN DRAWER
   Fixes menu appearing centered in the viewport.
   ========================================================= */
@media (max-width:900px){
  .masthead{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:1200!important;
  }

  .masthead.open{
    background:#081426!important;
  }

  .masthead.open .masthead-nav{
    display:block!important;
    position:fixed!important;
    top:calc(var(--header-h) + var(--safe-top,0px))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:
      1.2rem
      calc(1.15rem + var(--safe-right,0px))
      calc(7.2rem + var(--safe-bottom,0px))
      calc(1.15rem + var(--safe-left,0px))!important;
    background:#081426!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    transform:none!important;
    inset-inline:auto 0!important;
  }

  .masthead.open .masthead-nav ul{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }

  .masthead.open .masthead-nav li{
    width:100%!important;
    margin:0!important;
  }

  .masthead.open .masthead-nav a{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:.8rem .15rem!important;
    border-bottom:1px solid rgba(250,248,242,.10)!important;
    font-family:var(--font-body)!important;
    font-size:1.16rem!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    color:rgba(250,248,242,.90)!important;
  }

  .masthead.open .masthead-nav a[aria-current="page"]{
    color:#ddc79d!important;
  }

  .masthead.open .masthead-nav a::before{
    display:none!important;
  }

  .masthead.open .masthead-cta{
    display:block!important;
    position:fixed!important;
    left:calc(1rem + var(--safe-left,0px))!important;
    right:calc(1rem + var(--safe-right,0px))!important;
    bottom:calc(1rem + var(--safe-bottom,0px))!important;
    z-index:1202!important;
    margin:0!important;
  }

  .masthead.open .masthead-cta .btn{
    width:100%!important;
    min-height:50px!important;
  }

  .masthead-toggle{
    position:relative!important;
    z-index:1203!important;
  }

  body.nav-open{
    overflow:hidden!important;
    touch-action:none!important;
  }
}

@media (max-width:600px){
  .masthead.open .masthead-nav{
    padding-top:.9rem!important;
  }

  .masthead.open .masthead-nav a{
    min-height:54px!important;
    font-size:1.08rem!important;
  }
}


/* =========================================================
   MOBILE HEADER LOGO — ENLARGED
   ========================================================= */
@media (max-width:900px){
  .masthead .brand,
  .masthead .logo,
  .masthead-logo{
    flex:0 0 auto!important;
  }

  .masthead .brand img,
  .masthead .logo img,
  .masthead-logo img{
    width:auto!important;
    height:clamp(64px,10.5vw,78px)!important;
    max-width:min(68vw,300px)!important;
    object-fit:contain!important;
  }
}

@media (max-width:480px){
  .masthead .brand img,
  .masthead .logo img,
  .masthead-logo img{
    height:68px!important;
    max-width:72vw!important;
  }
}


/* =========================================================
   FINAL MOBILE NAV — FULL WIDTH / TOP ALIGNED / PREMIUM
   Authoritative override for all legacy mobile nav rules.
   ========================================================= */
@media (max-width:900px){

  .masthead{
    position:fixed!important;
    inset:0 0 auto 0!important;
    z-index:1500!important;
    width:100%!important;
  }

  .masthead > div:first-child{
    position:relative!important;
    z-index:1503!important;
    width:100%!important;
  }

  .masthead-toggle{
    position:relative!important;
    z-index:1504!important;
    border-radius:50%!important;
  }

  /* Full-width panel directly below header */
  .masthead .masthead-nav,
  .masthead.open .masthead-nav{
    position:fixed!important;
    top:calc(var(--header-h) + var(--safe-top, 0px))!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
    translate:none!important;
    inset-inline:0!important;
    background:#081426!important;
    box-shadow:none!important;
    border:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .masthead .masthead-nav{
    display:none!important;
  }

  .masthead.open .masthead-nav{
    display:block!important;
    padding:
      .65rem
      calc(1.15rem + var(--safe-right,0px))
      calc(1.25rem + var(--safe-bottom,0px))
      calc(1.15rem + var(--safe-left,0px))!important;
    animation:mobileNavIn .28s var(--ease) both!important;
  }

  .masthead.open .masthead-nav ul{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
  }

  .masthead.open .masthead-nav li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .masthead.open .masthead-nav a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:.72rem .1rem!important;
    border:0!important;
    border-bottom:1px solid rgba(250,248,242,.095)!important;
    font-family:var(--font-body)!important;
    font-size:1.04rem!important;
    font-weight:600!important;
    line-height:1.2!important;
    letter-spacing:.005em!important;
    text-transform:none!important;
    color:rgba(250,248,242,.78)!important;
  }

  .masthead.open .masthead-nav a::before{
    display:none!important;
  }

  .masthead.open .masthead-nav a::after{
    content:""!important;
    position:absolute!important;
    left:.1rem!important;
    bottom:-1px!important;
    width:0!important;
    height:2px!important;
    background:#c69238!important;
    opacity:0!important;
    transition:width .22s ease,opacity .22s ease!important;
  }

  .masthead.open .masthead-nav a[aria-current="page"]{
    color:#faf8f2!important;
  }

  .masthead.open .masthead-nav a[aria-current="page"]::after{
    width:42px!important;
    opacity:1!important;
  }

  /* CTA follows nav links, not floating across the top */
  .masthead .masthead-cta{
    display:none!important;
  }

  .masthead.open .masthead-cta{
    display:block!important;
    position:fixed!important;
    left:calc(1.15rem + var(--safe-left,0px))!important;
    right:calc(1.15rem + var(--safe-right,0px))!important;
    bottom:calc(1rem + var(--safe-bottom,0px))!important;
    z-index:1503!important;
    margin:0!important;
    padding:0!important;
  }

  .masthead.open .masthead-cta .btn{
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
  }

  /* Hamburger becomes close icon */
  .masthead.open .masthead-toggle span{
    background:transparent!important;
  }
  .masthead.open .masthead-toggle span::before{
    top:0!important;
    transform:rotate(45deg)!important;
  }
  .masthead.open .masthead-toggle span::after{
    top:0!important;
    transform:rotate(-45deg)!important;
  }

  /* Hide floating email while nav is open */
  body.nav-open .floating-email{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
  }

  body.nav-open{
    overflow:hidden!important;
    position:fixed!important;
    width:100%!important;
  }

  @keyframes mobileNavIn{
    from{opacity:0;transform:translateY(-8px)}
    to{opacity:1;transform:none}
  }
}

@media (max-width:600px){
  .masthead.open .masthead-nav a{
    min-height:52px!important;
    font-size:1rem!important;
  }
}


/* =========================================================
   FINAL MOBILE NAV — RIGHT-SIDE DRAWER
   ========================================================= */
@media (max-width:900px){

  /* Closed mobile header */
  .masthead{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:1600!important;
    width:100%!important;
    overflow:visible!important;
  }

  .masthead > div:first-child{
    position:relative!important;
    z-index:1603!important;
    width:100%!important;
  }

  .masthead .masthead-cta{
    display:none!important;
  }

  .masthead-toggle{
    display:flex!important;
    position:relative!important;
    z-index:1605!important;
  }

  /* Drawer hidden off-canvas by default */
  .masthead .masthead-nav{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(86vw,360px)!important;
    max-width:360px!important;
    height:100dvh!important;
    min-height:100svh!important;
    margin:0!important;
    padding:
      calc(var(--header-h) + var(--safe-top,0px) + 1rem)
      calc(1.2rem + var(--safe-right,0px))
      calc(6rem + var(--safe-bottom,0px))
      1.2rem!important;
    background:#081426!important;
    border-left:1px solid rgba(250,248,242,.08)!important;
    box-shadow:-24px 0 48px rgba(0,0,0,.28)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    transform:translateX(105%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:
      transform .34s var(--ease),
      opacity .24s ease,
      visibility .24s ease!important;
    z-index:1602!important;
  }

  /* Open drawer */
  .masthead.open .masthead-nav{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .masthead .masthead-nav ul,
  .masthead.open .masthead-nav ul{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
  }

  .masthead .masthead-nav li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .masthead .masthead-nav a,
  .masthead.open .masthead-nav a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:56px!important;
    margin:0!important;
    padding:.8rem 0!important;
    border:0!important;
    border-bottom:1px solid rgba(250,248,242,.095)!important;
    font-family:var(--font-body)!important;
    font-size:1.06rem!important;
    font-weight:600!important;
    line-height:1.2!important;
    letter-spacing:.005em!important;
    text-transform:none!important;
    color:rgba(250,248,242,.78)!important;
  }

  .masthead .masthead-nav a::before{
    display:none!important;
  }

  .masthead .masthead-nav a::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:-1px!important;
    width:0!important;
    height:2px!important;
    background:#c69238!important;
    opacity:0!important;
    transition:width .22s ease,opacity .22s ease!important;
  }

  .masthead .masthead-nav a[aria-current="page"]{
    color:#faf8f2!important;
  }

  .masthead .masthead-nav a[aria-current="page"]::after{
    width:42px!important;
    opacity:1!important;
  }

  /* CTA sits at drawer bottom */
  .masthead.open .masthead-cta{
    display:block!important;
    position:fixed!important;
    right:calc(1.2rem + var(--safe-right,0px))!important;
    left:auto!important;
    bottom:calc(1rem + var(--safe-bottom,0px))!important;
    width:min(calc(86vw - 2.4rem),336px)!important;
    max-width:336px!important;
    margin:0!important;
    padding:0!important;
    z-index:1604!important;
  }

  .masthead.open .masthead-cta .btn{
    width:100%!important;
    min-height:50px!important;
    justify-content:center!important;
  }

  /* Scrim behind right-side drawer */
  .masthead::after{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(2,8,16,.52)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .28s ease,visibility .28s ease!important;
    z-index:1601!important;
  }

  .masthead.open::after{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Hamburger -> close icon */
  .masthead.open .masthead-toggle span{
    background:transparent!important;
  }
  .masthead.open .masthead-toggle span::before{
    top:0!important;
    transform:rotate(45deg)!important;
  }
  .masthead.open .masthead-toggle span::after{
    top:0!important;
    transform:rotate(-45deg)!important;
  }

  body.nav-open{
    overflow:hidden!important;
  }

  body.nav-open .floating-email{
    opacity:0!important;
    pointer-events:none!important;
  }
}

@media (max-width:520px){
  .masthead .masthead-nav{
    width:min(88vw,350px)!important;
  }

  .masthead.open .masthead-cta{
    width:min(calc(88vw - 2.4rem),326px)!important;
  }

  .masthead .masthead-nav a,
  .masthead.open .masthead-nav a{
    min-height:54px!important;
    font-size:1rem!important;
  }
}


/* =========================================================
   MOBILE HEADER + RIGHT DRAWER — CLEAN AUTHORITATIVE LAYER
   ========================================================= */
@media (max-width:900px){

  html, body{
    overflow-x:hidden!important;
  }

  /* HEADER: logo left, menu button right */
  .masthead{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    background:#0d192b!important;
    z-index:3000!important;
  }

  .masthead .wrap,
  .masthead > div:first-child{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:min(100% - 28px, 1200px)!important;
    height:86px!important;
    min-height:86px!important;
    margin:0 auto!important;
    padding:8px 0!important;
    overflow:visible!important;
  }

  .masthead .brand,
  .masthead .logo,
  .masthead-logo{
    display:flex!important;
    align-items:center!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    flex:0 1 auto!important;
    z-index:3004!important;
  }

  .masthead .brand img,
  .masthead .logo img,
  .masthead-logo img{
    display:block!important;
    width:auto!important;
    height:68px!important;
    max-width:270px!important;
    object-fit:contain!important;
  }

  /* Never show desktop CTA in closed mobile header */
  .masthead .masthead-cta{
    display:none!important;
  }

  .masthead-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:3010!important;
  }

  /* RIGHT DRAWER */
  .masthead .masthead-nav{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(82vw,350px)!important;
    max-width:350px!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:100svh!important;
    margin:0!important;
    padding:
      calc(96px + env(safe-area-inset-top))
      calc(24px + env(safe-area-inset-right))
      calc(92px + env(safe-area-inset-bottom))
      24px!important;
    box-sizing:border-box!important;
    background:#071426!important;
    border:0!important;
    border-left:1px solid rgba(255,255,255,.09)!important;
    box-shadow:-24px 0 60px rgba(0,0,0,.35)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translate3d(105%,0,0)!important;
    translate:none!important;
    opacity:1!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .32s ease, visibility .32s ease!important;
    z-index:3006!important;
  }

  .masthead.open .masthead-nav{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .masthead .masthead-nav ul,
  .masthead.open .masthead-nav ul{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
    transform:none!important;
  }

  .masthead .masthead-nav li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    position:static!important;
  }

  .masthead .masthead-nav a,
  .masthead.open .masthead-nav a{
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:13px 0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-family:var(--font-body)!important;
    font-size:17px!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    text-transform:none!important;
    white-space:normal!important;
    color:rgba(250,248,242,.78)!important;
    background:none!important;
    transform:none!important;
  }

  .masthead .masthead-nav a::before{
    display:none!important;
    content:none!important;
  }

  .masthead .masthead-nav a::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:-1px!important;
    width:0!important;
    height:2px!important;
    background:#c69238!important;
  }

  .masthead .masthead-nav a[aria-current="page"]{
    color:#fffaf0!important;
  }

  .masthead .masthead-nav a[aria-current="page"]::after{
    width:40px!important;
  }

  /* Drawer CTA: separate from header and only visible when open */
  .masthead.open .masthead-cta{
    display:block!important;
    position:fixed!important;
    right:calc(24px + env(safe-area-inset-right))!important;
    bottom:calc(18px + env(safe-area-inset-bottom))!important;
    left:auto!important;
    top:auto!important;
    width:min(calc(82vw - 48px),302px)!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    z-index:3008!important;
  }

  .masthead.open .masthead-cta .btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
  }

  /* Backdrop */
  .masthead::after{
    content:""!important;
    display:block!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(3,8,16,.58)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .28s ease, visibility .28s ease!important;
    z-index:3005!important;
  }

  .masthead.open::after{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Keep toggle above drawer and convert to X */
  .masthead.open .masthead-toggle{
    position:fixed!important;
    top:calc(20px + env(safe-area-inset-top))!important;
    right:calc(20px + env(safe-area-inset-right))!important;
    z-index:3010!important;
  }

  .masthead.open .masthead-toggle span{
    background:transparent!important;
  }

  .masthead.open .masthead-toggle span::before{
    top:0!important;
    transform:rotate(45deg)!important;
  }

  .masthead.open .masthead-toggle span::after{
    top:0!important;
    transform:rotate(-45deg)!important;
  }

  body.nav-open{
    overflow:hidden!important;
  }

  body.nav-open .floating-email{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

@media (max-width:480px){
  .masthead .wrap,
  .masthead > div:first-child{
    width:calc(100% - 24px)!important;
    height:82px!important;
    min-height:82px!important;
  }

  .masthead .brand img,
  .masthead .logo img,
  .masthead-logo img{
    height:62px!important;
    max-width:245px!important;
  }

  .masthead .masthead-nav{
    width:84vw!important;
    max-width:340px!important;
  }

  .masthead.open .masthead-cta{
    width:calc(84vw - 48px)!important;
    max-width:292px!important;
  }
}
