:root{
    --paper:#0d0c0a;
    --paper-2:#120f0b;
    --paper-3:#17120c;
    --ink:#e9e3d6;
    --ink-soft:#a39d8e;
    --ink-faint:#6c665a;
    --line:rgba(233,227,214,0.12);
    --line-soft:rgba(233,227,214,0.06);
    --green:#0a0908;
    --green-2:#15120d;
    --green-line:rgba(201,162,74,0.22);
    --brass:#c9a24a;
    --brass-2:#e6c477;
    --gold-deep:#9a7328;
    --serif:"Cormorant Garamond",Georgia,serif;
    --sans:"Instrument Sans",system-ui,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
    --maxw:1240px;
    --pad:clamp(20px,5vw,72px);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  ::selection{background:var(--brass);color:#16120a;}
  a{color:inherit;text-decoration:none;}
  img{display:block;max-width:100%;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--brass);
    display:inline-flex;align-items:center;gap:10px;
  }
  .eyebrow::before{content:"";width:22px;height:1px;background:var(--brass);display:inline-block;}
  .eyebrow.center::before{display:none;}

  h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-0.005em;line-height:1.05;}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    transition:background .35s ease, border-color .35s ease, backdrop-filter .35s ease;
    border-bottom:1px solid transparent;
  }
  header.nav.scrolled{
    background:rgba(13,12,10,0.82);
    backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid var(--line-soft);
  }
  .nav-inner{
    max-width:var(--maxw);margin:0 auto;padding:18px var(--pad);
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .brand{display:flex;align-items:center;gap:13px;}
  .brand .mark{width:40px;height:26px;flex:none;position:relative;}
  .brand .mark svg{width:100%;height:100%;display:block;}
  .brand-text{display:flex;flex-direction:column;line-height:1;}
  .brand .name{font-family:"Cinzel",serif;font-weight:600;font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
  .brand .sub{font-family:var(--mono);font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);margin-top:4px;}
  .nav-links{display:flex;align-items:center;gap:30px;}
  .nav-links a{
    font-size:14.5px;color:var(--ink-soft);position:relative;padding:4px 0;
    transition:color .2s;
  }
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--ink);transition:width .25s ease;
  }
  .nav-links a:hover{color:var(--ink);}
  .nav-links a:hover::after,.nav-links a.active::after{width:100%;}
  .nav-links a.active{color:var(--ink);}
  .btn{
    font-family:var(--sans);font-size:14.5px;font-weight:500;
    display:inline-flex;align-items:center;gap:9px;
    padding:11px 20px;border-radius:999px;cursor:pointer;border:1px solid transparent;
    transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  }
  .btn{white-space:nowrap;}
  .btn .arr{transition:transform .25s ease;}
  .btn:hover .arr{transform:translateX(3px);}
  .btn-dark{background:linear-gradient(135deg,#e6c477,#c9a24a 55%,#9a7328);color:#15110a;font-weight:600;box-shadow:0 8px 24px -12px rgba(201,162,74,.6);}
  .btn-dark:hover{filter:brightness(1.08);transform:translateY(-1px);}
  .btn-ghost{border-color:var(--green-line);color:var(--ink);}
  .btn-ghost:hover{border-color:var(--brass);color:var(--brass);}
  .btn-paper{background:var(--brass);color:#15110a;}
  .btn-paper:hover{transform:translateY(-2px);}
  .btn-outline-light{border-color:var(--green-line);color:var(--ink);}
  .btn-outline-light:hover{background:var(--brass);color:#15110a;border-color:var(--brass);}
  .nav-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{padding-top:clamp(130px,17vh,180px);padding-bottom:clamp(54px,7vw,90px);position:relative;}
  .hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(28px,4vw,64px);align-items:end;}
  .hero h1{font-size:clamp(40px,6.1vw,82px);letter-spacing:-0.022em;}
  .hero h1 em{font-style:italic;color:var(--brass);}
  .logo-frame{position:relative;border-radius:5px;overflow:hidden;background:#100f0d;border:1px solid var(--green-line);box-shadow:0 30px 70px -40px rgba(0,0,0,.9);}
  .logo-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px rgba(0,0,0,.55);}
  .logo-frame img{display:block;width:100%;height:auto;}
  .hero .lede{
    margin-top:26px;font-size:clamp(17px,1.4vw,20px);color:var(--ink-soft);max-width:40ch;line-height:1.55;
  }
  .hero-cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .hero-aside{padding-bottom:8px;}
  .hero-meta{
    margin-top:24px;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);
  }
  .hero-meta .row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;}
  .hero-meta .row span:first-child{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
  .hero-meta .row span:last-child{color:var(--ink-soft);text-align:right;}

  .marquee-strip{
    margin-top:clamp(40px,5vw,68px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:18px 0;overflow:hidden;
  }
  .marquee-strip .label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);}
  .frame-list{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:14px;}
  .frame-list .chip{
    font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ink-soft);
    border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:rgba(233,227,214,0.03);
    transition:border-color .2s,color .2s;
  }
  .frame-list .chip:hover{border-color:var(--brass);color:var(--ink);}

  /* ---------- SECTION SCAFFOLD ---------- */
  section{position:relative;}
  .band{padding:clamp(64px,9vw,120px) 0;}
  .band-paper2{background:var(--paper-2);}
  .sec-head{max-width:760px;}
  .sec-head h2{font-size:clamp(30px,4vw,52px);margin-top:18px;letter-spacing:-0.018em;}
  .sec-head p{margin-top:18px;color:var(--ink-soft);font-size:clamp(16px,1.3vw,18.5px);max-width:62ch;}

  /* ---------- POSITIONING ---------- */
  .pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,40px);margin-top:clamp(40px,5vw,64px);}
  .pos-grid .item{border-top:1px solid var(--line);padding-top:22px;}
  .pos-grid .item .n{font-family:var(--mono);font-size:12px;color:var(--brass);letter-spacing:.1em;}
  .pos-grid .item h3{font-size:23px;margin-top:14px;}
  .pos-grid .item p{margin-top:10px;color:var(--ink-soft);font-size:15.5px;line-height:1.55;}

  /* ---------- SERVICES ---------- */
  .svc-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,4vw,68px);margin-top:clamp(40px,5vw,60px);align-items:start;}
  .svc-rail{position:sticky;top:96px;display:flex;flex-direction:column;}
  .svc-tab{
    text-align:left;width:100%;background:none;border:none;cursor:pointer;font-family:var(--sans);
    padding:20px 0;border-top:1px solid var(--line);display:flex;gap:16px;align-items:flex-start;
    color:var(--ink-faint);transition:color .25s;
  }
  .svc-rail .svc-tab:last-child{border-bottom:1px solid var(--line);}
  .svc-tab .idx{font-family:var(--mono);font-size:12px;padding-top:5px;letter-spacing:.04em;flex:none;width:28px;}
  .svc-tab .ttl{font-family:var(--serif);font-size:clamp(20px,2.1vw,27px);line-height:1.1;letter-spacing:-0.01em;transition:color .25s;}
  .svc-tab:hover{color:var(--ink-soft);}
  .svc-tab.active{color:var(--ink);}
  .svc-tab.active .ttl{color:var(--ink);}
  .svc-tab.active .idx{color:var(--brass);}

  .svc-panel{
    background:var(--paper-2);border:1px solid var(--green-line);border-radius:6px;overflow:hidden;
    box-shadow:0 30px 60px -40px rgba(0,0,0,.9);
  }
  .svc-panel .pic{position:relative;height:clamp(170px,22vw,250px);background:var(--green);overflow:hidden;}
  .svc-panel .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) sepia(.45) saturate(.95) brightness(.5) contrast(1.05);}
  .svc-panel .pic .duo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.15),rgba(10,9,8,.78));}
  .svc-panel .pic .tag{
    position:absolute;left:18px;top:16px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--ink);background:rgba(10,9,8,.55);backdrop-filter:blur(4px);border:1px solid var(--green-line);
    padding:5px 11px;border-radius:999px;
  }
  .svc-panel .pic .dur{
    position:absolute;right:18px;bottom:16px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;
    color:var(--brass-2);text-shadow:0 1px 6px rgba(0,0,0,.7);
  }
  .svc-body{padding:clamp(24px,3vw,38px);}
  .svc-body h3{font-size:clamp(24px,2.6vw,33px);}
  .svc-body .who{margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--brass);text-transform:uppercase;}
  .svc-body .desc{margin-top:18px;color:var(--ink-soft);font-size:16px;line-height:1.6;max-width:54ch;}
  .deliv-h{margin-top:26px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);}
  .deliv{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;}
  .deliv li{list-style:none;display:flex;gap:10px;font-size:14.5px;color:var(--ink);line-height:1.4;align-items:flex-start;}
  .deliv li::before{content:"";width:6px;height:6px;margin-top:7px;flex:none;background:var(--brass);border-radius:1px;transform:rotate(45deg);}
  .svc-fade{animation:svcfade .45s ease;}
  @keyframes svcfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

  /* ---------- RETAINERS ---------- */
  .ret-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2vw,22px);margin-top:clamp(40px,5vw,56px);}
  .ret-card{
    border:1px solid var(--line);border-radius:6px;padding:clamp(24px,2.6vw,34px);background:rgba(233,227,214,0.025);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .ret-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -34px rgba(0,0,0,.85);border-color:var(--brass);}
  .ret-card .k{font-family:var(--mono);font-size:12px;color:var(--brass);letter-spacing:.06em;}
  .ret-card h3{font-size:24px;margin-top:14px;}
  .ret-card p{margin-top:12px;color:var(--ink-soft);font-size:15px;line-height:1.55;}

  /* ---------- SECTORS (dark band) ---------- */
  .dark{background:#070605;color:var(--ink);border-top:1px solid var(--green-line);border-bottom:1px solid var(--green-line);}
  .dark .eyebrow{color:var(--brass-2);}
  .dark .eyebrow::before{background:var(--brass-2);}
  .dark .sec-head p{color:rgba(244,241,234,.72);}
  .sector-list{margin-top:clamp(36px,4.5vw,56px);border-top:1px solid var(--green-line);}
  .sector{
    border-bottom:1px solid var(--green-line);display:grid;grid-template-columns:48px 1.1fr 1.5fr auto;
    gap:clamp(16px,3vw,40px);align-items:center;padding:clamp(22px,2.6vw,34px) 0;cursor:default;
    transition:background .3s ease,padding-left .3s ease;
  }
  .sector:hover{background:var(--green-2);padding-left:18px;padding-right:18px;}
  .sector .num{font-family:var(--mono);font-size:13px;color:var(--brass-2);}
  .sector h3{font-size:clamp(22px,2.3vw,30px);}
  .sector .pitch{color:rgba(244,241,234,.74);font-size:15.5px;line-height:1.55;max-width:46ch;}
  .sector .buyers{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(244,241,234,.5);text-align:right;white-space:nowrap;}
  @media(max-width:880px){.sector .buyers{display:none;}}

  /* ---------- HOW WE WORK ---------- */
  .work-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);margin-top:clamp(40px,5vw,60px);align-items:start;}
  .steps{counter-reset:step;}
  .step{display:flex;gap:22px;padding:22px 0;border-top:1px solid var(--line);}
  .steps .step:last-child{border-bottom:1px solid var(--line);}
  .step .dot{
    flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;color:var(--brass);
  }
  .step h3{font-size:20px;}
  .step p{margin-top:7px;color:var(--ink-soft);font-size:15px;line-height:1.55;}
  .evidence{
    background:#0a0908;color:var(--ink);border:1px solid var(--green-line);border-radius:6px;padding:clamp(26px,3vw,40px);position:sticky;top:96px;
  }
  .evidence .eyebrow{color:var(--brass-2);}
  .evidence .eyebrow::before{background:var(--brass-2);}
  .evidence h3{font-size:clamp(22px,2.4vw,30px);margin-top:16px;color:var(--ink);}
  .evidence p{margin-top:14px;color:rgba(244,241,234,.7);font-size:15px;line-height:1.6;}
  .ev-list{margin-top:22px;display:flex;flex-direction:column;}
  .ev-list .e{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid rgba(244,241,234,.13);font-size:14px;}
  .ev-list .e:first-child{border-top:none;}
  .ev-list .e span:first-child{color:var(--ink);}
  .ev-list .e span:last-child{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:rgba(244,241,234,.45);text-align:right;}

  /* ---------- CONTACT ---------- */
  .contact{padding:clamp(72px,10vw,140px) 0;}
  .contact-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(30px,5vw,70px);align-items:end;}
  .contact h2{font-size:clamp(34px,5.2vw,72px);letter-spacing:-0.02em;}
  .contact h2 em{font-style:italic;color:var(--brass);}
  .contact .sub{margin-top:22px;color:var(--ink-soft);font-size:18px;max-width:42ch;}
  .contact-card{border:1px solid var(--green-line);border-radius:6px;padding:clamp(24px,2.6vw,34px);background:rgba(233,227,214,0.03);}
  .contact-card .r{padding:14px 0;border-top:1px solid var(--line-soft);}
  .contact-card .r:first-child{border-top:none;padding-top:0;}
  .contact-card .r .l{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);}
  .contact-card .r .v{margin-top:5px;font-size:16px;}
  .contact-card .btn{margin-top:18px;width:100%;justify-content:center;}

  footer{border-top:1px solid var(--line);padding:40px 0;}
  .foot-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .foot-inner .small{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-faint);line-height:1.6;}
  .foot-links{display:flex;gap:22px;}
  .foot-links a{font-size:13.5px;color:var(--ink-soft);}
  .foot-links a:hover{color:var(--ink);}

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
  .reveal.in{opacity:1;transform:none;}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

  /* ---------- RESPONSIVE ---------- */
  @media(max-width:980px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-aside{order:-1;max-width:420px;}
    .svc-layout{grid-template-columns:1fr;}
    .svc-rail{position:static;}
    .work-grid{grid-template-columns:1fr;}
    .evidence{position:static;}
    .contact-inner{grid-template-columns:1fr;align-items:start;}
    .pos-grid{grid-template-columns:1fr;gap:0;}
    .pos-grid .item{padding-bottom:8px;}
  }
  @media(max-width:760px){
    body{font-size:16px;}
    .nav-links{display:none;}
    .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);padding:18px var(--pad);gap:16px;border-bottom:1px solid var(--line);}
    .nav-toggle{display:inline-flex;}
    .ret-grid{grid-template-columns:1fr;}
    .deliv{grid-template-columns:1fr;}
    .sector{grid-template-columns:30px 1fr;gap:8px 16px;}
    .sector .pitch{grid-column:2;}
  }

/* ---------- MULTI-PAGE EXTENSIONS ---------- */
.page-main { padding-top: 96px; }
.page-hero {
  min-height: 56vh;
  display: grid;
  align-items: end;
  padding-top: clamp(80px, 12vw, 150px);
  padding-bottom: clamp(56px, 9vw, 110px);
  position: relative;
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(201,162,74,.10), transparent 34%),
    linear-gradient(180deg, rgba(13,12,10,.35), rgba(13,12,10,0));
}
.page-hero > * { position: relative; }
.page-hero h1 {
  font-size: clamp(42px, 7vw, 92px);
  max-width: 980px;
  margin-top: 22px;
}
.page-hero .lede { max-width: 820px; margin-top: 26px; }
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(320px, .42fr);
  gap: clamp(36px, 6vw, 90px);
  align-items: start;
}
.content-copy p + p { margin-top: 18px; }
.content-copy h2 { font-size: clamp(34px, 4.5vw, 58px); margin-bottom: 20px; }
.content-copy h3 { font-size: 30px; margin: 34px 0 12px; }
.quiet-card {
  border: 1px solid var(--green-line);
  background: linear-gradient(180deg, rgba(23,18,12,.78), rgba(13,12,10,.92));
  padding: clamp(24px, 4vw, 42px);
  border-radius: 2px;
  box-shadow: 0 24px 80px -50px rgba(0,0,0,.8);
}
.quiet-card h3 { font-size: 30px; margin-bottom: 12px; }
.quiet-list { list-style: none; margin-top: 20px; }
.quiet-list li {
  border-top: 1px solid var(--line-soft);
  padding: 14px 0;
  color: var(--ink-soft);
}
.quiet-list li:first-child { border-top: 0; }
.insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
}
.insight-card {
  background: var(--paper-2);
  padding: clamp(26px, 4vw, 42px);
  min-height: 310px;
  display: flex;
  flex-direction: column;
}
.insight-card h2 { font-size: clamp(28px, 3vw, 42px); margin: 18px 0 16px; }
.insight-card p { color: var(--ink-soft); }
.insight-card .meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-top: auto;
  padding-top: 28px;
}
.article-main { padding-top: 96px; }
.article-hero { padding-top: clamp(80px, 12vw, 150px); padding-bottom: 56px; }
.article-hero h1 { font-size: clamp(42px, 7vw, 84px); max-width: 980px; margin-top: 22px; }
.article-body {
  max-width: 820px;
  padding-bottom: clamp(70px, 10vw, 140px);
}
.article-body p { color: var(--ink-soft); margin: 18px 0; }
.article-body h2 { font-size: clamp(30px, 4vw, 52px); margin: 48px 0 16px; }
.article-body ul { margin: 20px 0 20px 22px; color: var(--ink-soft); }
.article-body li { margin: 10px 0; }
.edit-note {
  font-family: var(--mono);
  color: var(--ink-faint);
  font-size: 12px;
  letter-spacing: .02em;
  margin-top: 18px;
}
@media (max-width: 900px) {
  .content-grid { grid-template-columns: 1fr; }
  .insight-grid { grid-template-columns: 1fr; }
}

/* ---------- IMAGE SYSTEM (shared duotone treatment) ---------- */
.duo-img { filter: grayscale(.28) sepia(.34) saturate(.92) brightness(.5) contrast(1.05); }

/* ---------- HOMEPAGE: capability strip ---------- */
.cap-strip { display:flex; flex-wrap:wrap; align-items:center; gap:14px 28px; }
.cap-strip .label {
  font-family: var(--mono); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--ink-faint); white-space: nowrap;
}
.cap-strip .caps { display:flex; flex-wrap:wrap; gap:8px 10px; }
.cap-strip .caps span {
  font-family: var(--mono); font-size: 12px; letter-spacing: .02em; color: var(--ink-soft);
  border: 1px solid var(--line); border-radius: 999px; padding: 6px 13px;
  background: rgba(233,227,214,0.03); transition: border-color .2s, color .2s;
}
.cap-strip .caps span:hover { border-color: var(--brass); color: var(--ink); }

/* ---------- CINEMATIC STATEMENT BAND ---------- */
.cinematic {
  position: relative; overflow: hidden;
  min-height: clamp(360px, 50vw, 540px);
  display: grid; align-items: center;
  border-top: 1px solid var(--green-line); border-bottom: 1px solid var(--green-line);
}
.cinematic .bg { position: absolute; inset: 0; }
.cinematic .bg img { width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.2) sepia(.26) saturate(.9) brightness(.4) contrast(1.06); }
.cinematic .veil { position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(7,6,5,.94), rgba(7,6,5,.55) 58%, rgba(7,6,5,.82)); }
.cinematic .vignette { position: absolute; inset: 0; box-shadow: inset 0 0 200px rgba(0,0,0,.7); pointer-events: none; }
.cinematic .inner { position: relative; }
.cinematic blockquote {
  font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 4.2vw, 54px);
  line-height: 1.12; letter-spacing: -.012em; max-width: 22ch;
}
.cinematic blockquote em { font-style: italic; color: var(--brass); }
.cinematic .attr {
  margin-top: 26px; font-family: var(--mono); font-size: 12px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--ink-faint);
  display: inline-flex; align-items: center; gap: 12px;
}
.cinematic .attr::before { content: ""; width: 28px; height: 1px; background: var(--brass); }

/* ---------- INSIGHTS: card thumbnails ---------- */
.insight-card { padding-top: 0; overflow: hidden; }
.insight-card .thumb {
  position: relative; height: 188px; overflow: hidden;
  margin: 0 calc(-1 * clamp(26px, 4vw, 42px)) clamp(24px, 3vw, 30px);
}
.insight-card .thumb img { width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(.3) sepia(.34) saturate(.9) brightness(.5) contrast(1.05);
  transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.insight-card:hover .thumb img { transform: scale(1.05); }
.insight-card .thumb::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,9,8,.08), rgba(18,15,11,.9)); }
.insight-card .thumb .tag {
  position: absolute; left: 16px; bottom: 14px; z-index: 1;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--brass-2);
}
.insight-card h2 a { transition: color .2s; }
.insight-card h2 a:hover { color: var(--brass); }

/* ---------- ABOUT / ARTICLE: framed environmental image ---------- */
.frame-figure {
  position: relative; overflow: hidden; border: 1px solid var(--green-line);
  border-radius: 2px; box-shadow: 0 34px 90px -55px rgba(0,0,0,.92);
}
.frame-figure img { width: 100%; height: clamp(260px, 40vw, 480px); object-fit: cover;
  filter: grayscale(.25) sepia(.3) saturate(.9) brightness(.52) contrast(1.05); }
.frame-figure figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 24px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-soft); background: linear-gradient(0deg, rgba(7,6,5,.9), transparent);
}
.about-figure-band { padding: 0 0 clamp(20px, 4vw, 40px); }

/* ---------- ABOUT: credential strip ---------- */
.cred-strip {
  margin-top: clamp(40px, 6vw, 70px);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: clamp(26px, 4vw, 38px) 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 48px);
}
.cred-strip .c .n { font-family: var(--serif); font-size: clamp(28px, 3vw, 40px); color: var(--ink); line-height: 1; }
.cred-strip .c .t { margin-top: 12px; font-size: 14.5px; color: var(--ink-soft); line-height: 1.5; }
@media (max-width: 760px) { .cred-strip { grid-template-columns: 1fr; gap: 22px; } }

/* ---------- ARTICLE: hero banner ---------- */
.article-figure { margin: 8px 0 clamp(20px, 4vw, 44px); position: relative; overflow: hidden;
  border-top: 1px solid var(--green-line); border-bottom: 1px solid var(--green-line); }
.article-figure img { width: 100%; height: clamp(220px, 30vw, 360px); object-fit: cover;
  filter: grayscale(.28) sepia(.32) saturate(.9) brightness(.46) contrast(1.06); }
.article-figure::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(7,6,5,.25), rgba(7,6,5,.6)); }

/* ---------- BESPOKE LINE ART (replaces stock photography) ---------- */
img.art { filter: none !important; background: #0b0a08; }
.cinematic .bg img.art { filter: none !important; }
.insight-card .thumb img.art { filter: none !important; }

/* ---------- HOMEPAGE: situations ---------- */
.sit-grid {
  margin-top: clamp(40px, 5vw, 64px);
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1px; background: var(--line-soft); border: 1px solid var(--line-soft);
}
.sit-card {
  background: var(--paper); padding: clamp(26px, 3.4vw, 44px);
  display: flex; flex-direction: column; gap: 14px;
}
.sit-card .k {
  font-family: var(--mono); font-size: 11px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--brass);
}
.sit-card h3 { font-size: clamp(21px, 2vw, 26px); line-height: 1.2; }
.sit-card p { color: var(--ink-soft); font-size: 15.5px; line-height: 1.6; }
.sit-card .res {
  margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line-soft);
  font-size: 14px; color: var(--ink-faint);
}
.sit-card .res strong { color: var(--ink-soft); font-weight: 500; }
@media (max-width: 860px) { .sit-grid { grid-template-columns: 1fr; } }

/* ---------- ABOUT: principal ---------- */
.principal-grid {
  display: grid; grid-template-columns: minmax(260px, 380px) 1fr;
  gap: clamp(30px, 5vw, 70px); align-items: start;
  margin-top: clamp(36px, 5vw, 56px);
}
.portrait-frame {
  position: relative; overflow: hidden; border: 1px solid var(--green-line);
  border-radius: 2px; box-shadow: 0 34px 90px -55px rgba(0,0,0,.92);
  aspect-ratio: 5 / 6;
}
.portrait-frame img { width: 100%; height: 100%; object-fit: cover; }
.principal-copy h2 { font-size: clamp(30px, 3.6vw, 46px); }
.principal-copy .role {
  margin-top: 12px; font-family: var(--mono); font-size: 12px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--brass);
}
.principal-copy p { margin-top: 18px; color: var(--ink-soft); line-height: 1.65; }
.principal-marks {
  margin-top: 26px; border-top: 1px solid var(--line);
  display: flex; flex-direction: column;
}
.principal-marks .m {
  display: flex; justify-content: space-between; gap: 18px;
  padding: 12px 0; border-bottom: 1px solid var(--line-soft); font-size: 14px;
}
.principal-marks .m span:first-child {
  font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-faint); white-space: nowrap;
}
.principal-marks .m span:last-child { color: var(--ink-soft); text-align: right; }
@media (max-width: 860px) { .principal-grid { grid-template-columns: 1fr; } .portrait-frame { max-width: 380px; } }

/* ---------- FOOTER: legal line ---------- */
.foot-legal {
  margin-top: 10px; font-size: 12.5px; color: var(--ink-faint); line-height: 1.6;
}
.foot-bottom { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
.foot-bottom a { color: var(--ink-faint); transition: color .2s; }
.foot-bottom a:hover { color: var(--ink-soft); }

/* ---------- ARTICLE: byline ---------- */
.article-byline {
  margin-top: 20px; font-family: var(--mono); font-size: 12px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-faint);
  display: inline-flex; align-items: center; gap: 12px;
}
.article-byline::before { content: ""; width: 24px; height: 1px; background: var(--brass); }
