/* Typography Lock v39 — restrained cinematic intelligence dossier
   Corrects v38 poster-scale typography: sharper, smaller, calmer, more Bond / MI6.
*/
:root{
  --font-display: "IBM Plex Sans Condensed", "Arial Narrow", "Helvetica Neue Condensed", "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-literary: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-agency: "IBM Plex Sans Condensed", "Arial Narrow", "Inter", ui-sans-serif, system-ui, sans-serif;
  --serif: var(--font-literary);
  --sans: var(--font-body);
  --type-bone: rgba(244,234,216,.94);
  --type-bone-soft: rgba(244,234,216,.74);
  --type-gold: rgba(199,164,90,.96);
}

body{
  font-family:var(--font-body) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Global: calm the display system so the whole site stops shouting */
h1,h2,h3,.display,.display--xl,.display--lg,.display--md,
.pageIntro h1,.sectionHead h2,.projectHero h1,.patronageHero h1,.portraitHero h1{
  font-family:var(--font-display) !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
  line-height:.98 !important;
}
.card h3,.hubCard h3,.timelineTitle{
  font-family:var(--font-literary) !important;
  font-weight:500 !important;
  letter-spacing:-.028em !important;
}
.eyebrow,.kicker,.tag,.chip,.btn,.nav a,.brandKicker,.hubMeta,.bread,
.page--home .topbar .nav--homeMinimal a,.page--home .langSwitch,
.page--home .hero--approved .kicker,
.page--home .section--dossier.section--intelligence-room .orientationLead .eyebrow,
.page--home .section--dossier.section--intelligence-room .bridgeLabel{
  font-family:var(--font-agency) !important;
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  font-weight:650 !important;
}

/* Header: premium, not oversized */
.page--home .topbar{
  min-height:70px !important;
  height:70px !important;
  padding:0 26px !important;
}
.page--home .brand{ gap:16px !important; }
.page--home .brandLogo{ width:52px !important; height:52px !important; }
.page--home .brandText{
  font-family:var(--font-literary) !important;
  font-size:31px !important;
  line-height:.96 !important;
  font-weight:500 !important;
  letter-spacing:-.035em !important;
  color:rgba(244,234,216,.92) !important;
}
.page--home .nav--homeMinimal{ gap:24px !important; }
.page--home .nav--homeMinimal a,
.page--home .langSwitch .langLink,
.page--home .langSwitch .langSep{
  font-family:var(--font-agency) !important;
  font-size:11.5px !important;
  letter-spacing:.105em !important;
  font-weight:650 !important;
  color:rgba(244,234,216,.73) !important;
}

/* HERO: the critical correction — classified title sequence, not theatre poster */
.page--home .hero--approved .heroInner{
  height:430px !important;
  min-height:430px !important;
  padding:0 clamp(34px,5vw,72px) !important;
  grid-template-columns:minmax(0,1fr) minmax(350px,430px) !important;
  gap:clamp(30px,4vw,58px) !important;
  align-items:center !important;
}
.page--home .hero--approved .heroCopy{
  justify-content:center !important;
  padding:0 !important;
  max-width:760px !important;
}
.page--home .hero--approved .kicker{
  margin:0 0 18px !important;
  font-family:var(--font-agency) !important;
  color:var(--type-gold) !important;
  font-size:clamp(10.5px,.76vw,12px) !important;
  letter-spacing:.32em !important;
  font-weight:680 !important;
  line-height:1.15 !important;
  opacity:.92 !important;
}
.page--home .hero--approved h1{
  margin:0 0 20px !important;
  max-width:none !important;
  font-family:var(--font-display) !important;
  color:rgba(244,234,216,.93) !important;
  font-size:clamp(43px,4.2vw,58px) !important;
  line-height:.98 !important;
  font-weight:600 !important;
  letter-spacing:-.018em !important;
  text-wrap:normal !important;
  text-shadow:0 2px 20px rgba(0,0,0,.78), 0 0 18px rgba(199,164,90,.07) !important;
}
.page--home .hero--approved h1 .heroLine{
  display:block;
  white-space:nowrap;
}
.page--home .hero--approved .heroBridge{
  max-width:610px !important;
  margin:0 0 20px !important;
  font-family:var(--font-body) !important;
  color:var(--type-bone-soft) !important;
  font-size:15.5px !important;
  line-height:1.56 !important;
  letter-spacing:-.006em !important;
}
.page--home .hero--approved .metaRow{
  max-width:650px !important;
  gap:9px 10px !important;
}
.page--home .hero--approved .chip{
  min-height:31px !important;
  padding:7px 16px !important;
  font-family:var(--font-agency) !important;
  font-size:11.5px !important;
  letter-spacing:.085em !important;
  font-weight:620 !important;
  color:rgba(244,234,216,.78) !important;
  border-color:rgba(199,164,90,.52) !important;
  background:rgba(6,5,4,.26) !important;
}
.page--home .hero--approved .chip:nth-child(n){ min-width:0 !important; }
.page--home .hero--approved .chip:nth-child(2){ max-width:310px; }

/* Portrait: smaller, darker, more composed */
.page--home .hero--approved .heroMedia{
  height:380px !important;
  min-height:380px !important;
  align-items:center !important;
  overflow:visible !important;
}
.page--home .hero--approved .heroMedia::before{
  width:350px !important;
  height:350px !important;
  bottom:auto !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  border-color:rgba(199,164,90,.45) !important;
  box-shadow:0 0 0 12px rgba(199,164,90,.028), 0 20px 62px rgba(0,0,0,.38), inset 0 0 72px rgba(0,0,0,.48) !important;
}
.page--home .hero--approved .heroMedia::after{
  inset:-10px -26px !important;
  background:radial-gradient(circle at 50% 48%, transparent 0 40%, rgba(3,3,3,.20) 68%, rgba(3,3,3,.42) 100%), linear-gradient(90deg, transparent 0 58%, rgba(91,22,21,.18) 100%) !important;
}
.page--home .hero--approved .heroPortrait{
  width:326px !important;
  height:326px !important;
  transform:none !important;
  object-fit:cover !important;
  object-position:center 45% !important;
  filter:grayscale(100%) contrast(1.06) brightness(.88) !important;
  border:1px solid rgba(244,234,216,.07) !important;
  box-shadow:0 16px 48px rgba(0,0,0,.40) !important;
}

/* Authorial frame: aligned with hero; strong, not gigantic */
.page--home .section--dossier.section--intelligence-room .orientationShell{
  min-height:clamp(650px,62vw,900px) !important;
  padding-top:clamp(44px,5vw,70px) !important;
}
.page--home .section--dossier.section--intelligence-room .orientationLead h2{
  max-width:900px !important;
  font-family:var(--font-display) !important;
  font-size:clamp(42px,4.75vw,68px) !important;
  line-height:.98 !important;
  font-weight:600 !important;
  letter-spacing:-.026em !important;
  color:rgba(244,234,216,.90) !important;
}
.page--home .section--dossier.section--intelligence-room .orientationLead p:not(.eyebrow){
  max-width:820px !important;
  font-size:clamp(15px,1.05vw,18px) !important;
  line-height:1.58 !important;
}
.page--home .section--dossier.section--intelligence-room .orientationQuote{
  font-family:var(--font-literary) !important;
  font-size:clamp(28px,2.7vw,44px) !important;
  line-height:1.08 !important;
  letter-spacing:-.018em !important;
}
.page--home .section--dossier.section--intelligence-room .orientationCard{
  min-height:clamp(190px,15vw,250px) !important;
}
.page--home .section--dossier.section--intelligence-room .orientationCard h3{
  font-family:var(--font-literary) !important;
  font-size:clamp(22px,1.75vw,28px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.028em !important;
}
.page--home .section--dossier.section--intelligence-room .orientationCard p{
  font-size:clamp(13.5px,.95vw,16px) !important;
}
.page--home .section--dossier.section--intelligence-room .bridgeLink{
  font-family:var(--font-display) !important;
  font-size:clamp(38px,4.3vw,68px) !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
}

@media (max-width:1240px){
  .page--home .topbar{padding:0 20px !important;}
  .page--home .brandText{font-size:28px !important;}
  .page--home .nav--homeMinimal{gap:17px !important;}
  .page--home .hero--approved .heroInner{
    height:430px !important;
    min-height:430px !important;
    padding:0 42px !important;
    grid-template-columns:minmax(0,1fr) 360px !important;
    gap:34px !important;
  }
  .page--home .hero--approved h1{font-size:clamp(41px,4.4vw,51px) !important;}
  .page--home .hero--approved .heroBridge{font-size:15px !important; max-width:570px !important;}
  .page--home .hero--approved .heroMedia{height:350px !important; min-height:350px !important;}
  .page--home .hero--approved .heroMedia::before{width:320px !important;height:320px !important;}
  .page--home .hero--approved .heroPortrait{width:296px !important;height:296px !important;}
}
@media (max-width:980px){
  .page--home .hero--approved .heroInner{
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:1fr !important;
    padding:34px 34px 0 !important;
  }
  .page--home .hero--approved h1{font-size:clamp(42px,8vw,56px) !important;}
  .page--home .hero--approved h1 .heroLine{white-space:normal;}
  .page--home .hero--approved .heroMedia{height:270px !important; min-height:270px !important; overflow:hidden !important;}
  .page--home .hero--approved .heroMedia::before{width:280px !important;height:280px !important;}
  .page--home .hero--approved .heroPortrait{width:260px !important;height:260px !important;}
}
@media (max-width:640px){
  .page--home .topbar{height:auto !important; min-height:64px !important; padding:10px 14px !important;}
  .page--home .brandLogo{width:42px !important;height:42px !important;}
  .page--home .brandText{font-size:23px !important;}
  .page--home .hero--approved .heroInner{padding:28px 20px 0 !important;}
  .page--home .hero--approved .kicker{letter-spacing:.23em !important; font-size:10.5px !important;}
  .page--home .hero--approved h1{font-size:clamp(37px,10.2vw,49px) !important; line-height:1 !important;}
  .page--home .hero--approved .heroBridge{font-size:15.2px !important;}
  .page--home .section--dossier.section--intelligence-room .orientationLead h2{font-size:clamp(34px,10.5vw,48px) !important;}
}
