/* =============================================================================
   PONTIFEX INFRASTRUCTURE — standalone stylesheet.

   SELF-CONTAINED ON PURPOSE. This site shares no files with pontifex.fund: it
   has its own domain, its own consent banner and its own policies. Nothing here
   is loaded from the housing site, and nothing here is loaded BY it.

   The palette and type are the same "Ink & Oxblood" system the group uses, but
   the values are declared here rather than imported — so this folder can be
   lifted into its own repository and deployed on its own with no edits.

   Consequence worth knowing: a fix to the shared corporate stylesheet does NOT
   reach this file. If you change a token or a button there, change it here too.
   ============================================================================= */

:root{
  --charcoal:#15171B; --ink:#1A1C20; --cream:#F5F1EA; --cream-deep:#EBE3D6; --warm-white:#FFFEFC;
  --forest:#2A2724; --forest-dark:#1B1916; --sage:#9A9183; --sage-light:#B8AFA0;
  --sand:#E9E1D4; --sand-dark:#D8CDBC; --line:#E2D9CB;
  --slate:#2B2926; --slate-light:#5C574E; --muted:#8C857A;
  --terracotta:#8B2E26; --terracotta-light:#A23A31; --terracotta-dark:#651E18;
  --gold:#8F734D; --gold-light:#B0894C;
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-body:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --maxw:1300px; --gutter:40px;
  --ease:cubic-bezier(0.16,1,0.3,1); --ease-soft:cubic-bezier(0.4,0,0.2,1);
  --shadow-sm:0 4px 24px rgba(21,23,27,0.05); --shadow-md:0 18px 50px rgba(21,23,27,0.09);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}}
body{font-family:var(--font-body);background:var(--cream);color:var(--slate);line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
a{color:inherit;} button{font-family:inherit;}
::selection{background:var(--terracotta);color:#fff;}
h1,h2,h3{font-family:var(--font-serif);font-weight:500;}
.stat-num,.brand-mark,.sec-num,.pillar-n{font-weight:600;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--terracotta);outline-offset:3px;}
.skip-link{position:absolute;left:-999px;top:0;z-index:3000;background:var(--terracotta);color:#fff;padding:12px 20px;font-weight:600;}
.skip-link:focus{left:12px;top:12px;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.section{padding:140px 0;position:relative;}
.sec-head{display:flex;align-items:center;gap:18px;margin-bottom:26px;}
.sec-num{font-family:var(--font-serif);font-size:15px;color:var(--terracotta);letter-spacing:1px;}
.sec-head::after{content:"";flex:1;height:1px;background:var(--line);}
.section-label{font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate-light);}
.section-title{font-size:clamp(38px,5.4vw,76px);line-height:1.04;letter-spacing:-0.005em;color:var(--ink);}
.section-title em{font-style:italic;color:var(--terracotta);}
.section-intro{max-width:620px;margin-top:26px;font-size:18px;line-height:1.7;color:var(--slate-light);}

/* Buttons — sharp corners, no border-radius. */
.btn-primary,.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-size:13px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;cursor:pointer;
  text-decoration:none;transition:all .5s var(--ease);border:none;white-space:nowrap;}
.btn-primary{background:var(--terracotta);color:#fff;padding:19px 40px;}
.btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:18px 36px;}
.btn-outline:hover{background:var(--ink);color:var(--cream);}
.btn-block{width:100%;}
/* the outline button sits on ink in the hero, so it has to invert */
.btn-on-dark{color:var(--warm-white);border-color:rgba(245,241,234,.45);}
.btn-on-dark:hover{background:var(--warm-white);color:var(--ink);border-color:var(--warm-white);}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:30px var(--gutter);display:flex;
  align-items:center;justify-content:space-between;transition:all .5s var(--ease);}
.nav.scrolled{background:rgba(250,246,241,0.85);backdrop-filter:blur(14px);padding:16px var(--gutter);border-bottom:1px solid var(--line);}
.brand{display:flex;flex-direction:column;gap:1px;text-decoration:none;line-height:1;}
.brand-mark{font-family:var(--font-serif);font-size:25px;color:var(--ink);letter-spacing:.2px;}
.brand-sub{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--terracotta);font-weight:600;}
.nav-links{display:flex;gap:34px;align-items:center;}
.nav-link{font-size:13px;font-weight:500;color:var(--slate);text-decoration:none;letter-spacing:.4px;
  transition:color .4s var(--ease);position:relative;}
.nav-link:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;
  background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease);}
.nav-link:not(.nav-cta):hover::after{transform:scaleX(1);}
.nav-link:hover{color:var(--terracotta);}
.nav-link.nav-cta{background:var(--terracotta);color:#fff;padding:12px 22px;font-weight:600;
  text-transform:uppercase;font-size:12px;letter-spacing:1px;}
.nav-link.nav-cta:hover{background:var(--terracotta-dark);color:#fff;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:6px;padding:6px;}
.nav-toggle span{width:28px;height:1.5px;background:var(--ink);transition:all .4s var(--ease);}
.mobile-menu{display:none;}
.lang{display:inline-flex;gap:2px;margin-left:10px;}
.lang button{background:none;border:none;cursor:pointer;font:inherit;font-size:12px;font-weight:600;
  letter-spacing:.5px;color:var(--sage);padding:4px 6px;line-height:1;transition:color .2s;}
.lang button:hover{color:var(--terracotta);}
.lang button.on{color:var(--ink);text-decoration:underline;text-underline-offset:4px;}
.lang-mobile{margin-top:22px;}
/* This hero is dark, unlike the housing site's cream one, so the transparent
   nav has to invert. Once .scrolled paints the cream backdrop, dark type is
   correct again. */
.nav:not(.scrolled) .brand-mark{color:var(--warm-white);}
.nav:not(.scrolled) .brand-sub{color:var(--gold);}
.nav:not(.scrolled) .nav-link:not(.nav-cta){color:#D5CEC2;}
.nav:not(.scrolled) .nav-link:not(.nav-cta):hover{color:var(--warm-white);}
.nav:not(.scrolled) .lang button{color:#8E8779;}
.nav:not(.scrolled) .lang button.on{color:var(--warm-white);}
.nav:not(.scrolled) .nav-toggle span{background:var(--warm-white);}

/* Hero — vector artwork, not photography (see index.html) */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--ink);}
.hero-art{position:absolute;inset:0;overflow:hidden;}
.hero-art svg{display:none;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.8);opacity:.72;}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,25,.92) 0%,rgba(20,22,25,.7) 45%,rgba(20,22,25,.35) 100%);}
.hero .container{position:relative;z-index:2;width:100%;}
.hero-inner{max-width:760px;padding:120px 0 60px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:30px;}
.hero-eyebrow::before{content:"";width:40px;height:1px;background:var(--gold);display:inline-block;}
.hero-title{font-size:clamp(58px,9vw,128px);line-height:.96;letter-spacing:-0.01em;
  color:var(--warm-white);font-weight:600;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-title .ln{display:block;overflow:hidden;}
.hero-title .ln>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease);}
.hero.in .hero-title .ln:nth-child(1)>span{transition-delay:.15s;transform:none;}
.hero.in .hero-title .ln:nth-child(2)>span{transition-delay:.30s;transform:none;}
.hero-fade{opacity:0;transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.hero.in .hero-fade{opacity:1;transform:none;}
.hero.in .hero-tagline{transition-delay:.5s;}
.hero.in .hero-btns{transition-delay:.65s;}
.hero.in .hero-trust{transition-delay:.8s;}
.hero-tagline{margin-top:30px;font-size:19px;line-height:1.7;color:#C6BFB3;max-width:600px;}
.hero-btns{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap;}
.hero-trust{margin-top:38px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--sage);font-weight:600;}

/* Stats */
.stats{background:var(--cream-deep);padding:64px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stats-3{grid-template-columns:repeat(3,1fr);}
.stat{text-align:center;padding:8px 16px;border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat-num{font-family:var(--font-serif);font-size:clamp(30px,3.6vw,50px);line-height:1;color:var(--ink);}
.stat-label{margin-top:12px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}
/* sits inside its own .container so it lines up with the stat columns;
   max-width alone would centre it, because .container sets margin:0 auto */
.stats-note{margin:26px 0 0;font-size:12px;line-height:1.7;color:var(--muted);max-width:760px;}

/* Problem pillars — four, not the housing site's five */
.approach{background:var(--warm-white);}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:54px;
  background:var(--line);border:1px solid var(--line);}
.pillar{background:var(--warm-white);padding:34px 26px;transition:background .5s var(--ease);}
.pillar:hover{background:var(--cream);}
.pillar-n{font-family:var(--font-serif);font-size:22px;color:var(--terracotta);}
.pillar h4{margin-top:16px;font-size:18px;font-family:var(--font-body);font-weight:600;color:var(--ink);}
.pillar p{margin-top:10px;font-size:14px;line-height:1.6;color:var(--slate-light);}

/* Process steps — squares, never circles */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:54px;}
.step{position:relative;padding-top:56px;}
.step::before{content:"";position:absolute;top:22px;left:0;right:-34px;height:1px;background:var(--line);}
.step:last-child::before{right:0;}
.step-n{position:absolute;top:0;left:0;width:44px;height:44px;border:1px solid var(--terracotta);
  background:var(--warm-white);color:var(--terracotta);font-family:var(--font-serif);font-size:18px;
  font-weight:600;display:flex;align-items:center;justify-content:center;}
.step h4{font-size:21px;font-family:var(--font-serif);font-weight:600;color:var(--ink);}
.step p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--slate-light);}

/* Market cards */
.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;}
.mk-card{background:var(--warm-white);border:1px solid var(--line);padding:36px 32px 32px;
  display:flex;flex-direction:column;transition:all .6s var(--ease);}
.mk-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.mk-cc{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);}
.mk-card h3{margin-top:12px;font-size:30px;line-height:1.1;color:var(--ink);}
.mk-card p{margin-top:16px;font-size:14.5px;line-height:1.7;color:var(--slate-light);flex:1;}
.mk-cap{display:flex;gap:32px;margin-top:26px;}
.mk-cap div strong{display:block;font-family:var(--font-serif);font-size:40px;font-weight:600;line-height:1;color:var(--ink);}
.mk-cap div.hi strong{color:var(--terracotta);}
.mk-cap div span{display:block;margin-top:8px;font-size:10.5px;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--muted);font-weight:600;}
.mk-bar{margin-top:20px;height:6px;background:var(--sand);position:relative;}
.mk-bar i{position:absolute;inset:0 auto 0 0;background:var(--terracotta);display:block;}
.mk-stage{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--terracotta);}
.mk-note{margin-top:26px;font-size:12.5px;color:var(--muted);}

/* Screening grid */
.scr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:54px;
  background:var(--line);border:1px solid var(--line);}
.scr{background:var(--cream);padding:34px 30px;transition:background .5s var(--ease);}
.scr:hover{background:var(--warm-white);}
.scr-n{font-family:var(--font-serif);font-size:15px;color:var(--terracotta);letter-spacing:1px;}
.scr h4{margin-top:10px;font-size:22px;font-family:var(--font-serif);font-weight:600;color:var(--ink);}
.scr p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--slate-light);}

/* Gates — dark band */
.gates-sec{background:var(--forest);color:var(--cream);}
.gates-sec .section-title{color:var(--warm-white);}
.gates-sec .section-label{color:var(--sage-light);}
.gates-sec .sec-num{color:var(--terracotta-light);}
.gates-sec .sec-head::after{background:rgba(255,255,255,.18);}
.gates-sec .section-intro{color:var(--sage-light);}
.gates{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;margin-top:54px;}
/* flex column + margin-top:auto keeps the spend bars on one line even though
   the descriptions are different lengths */
.gate{border-top:2px solid var(--gold);padding-top:20px;display:flex;flex-direction:column;}
.gate-n{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.gate h4{margin-top:10px;font-size:22px;font-family:var(--font-serif);font-weight:600;color:var(--warm-white);}
.gate p{margin-top:10px;font-size:13.5px;line-height:1.65;color:var(--sage-light);}
.gate-sp{margin-top:auto;padding-top:18px;font-size:10px;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--sage);font-weight:600;}
.gate-bar{margin-top:8px;height:5px;background:rgba(255,255,255,.14);position:relative;}
.gate-bar i{position:absolute;inset:0 auto 0 0;background:var(--gold);display:block;}

/* Origin / why us */
.why-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;}
.why-grid blockquote{margin-top:34px;padding-left:26px;border-left:2px solid var(--terracotta);
  font-family:var(--font-serif);font-size:25px;font-style:italic;color:var(--forest);line-height:1.4;}
.why-facts{border-top:1px solid var(--line);}
.wf{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  padding:18px 0;border-bottom:1px solid var(--line);}
.wf span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);
  font-weight:600;flex:0 0 40%;}
.wf strong{font-size:16px;color:var(--ink);font-weight:600;text-align:right;}

/* Contact */
.contact{background:var(--cream-deep);}
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;align-items:start;}
.contact-details{margin-top:36px;display:flex;flex-direction:column;gap:18px;}
.contact-details p{display:flex;flex-direction:column;gap:4px;font-size:17px;color:var(--ink);}
.contact-details span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}
.contact-details a{color:var(--ink);text-decoration:none;transition:color .4s var(--ease);}
.contact-details a:hover{color:var(--terracotta);}
.form{background:var(--warm-white);padding:44px;border:1px solid var(--line);}
.field{margin-bottom:20px;}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;
  color:var(--slate);margin-bottom:9px;}
.field input,.field select,.field textarea{width:100%;padding:15px 16px;border:1px solid var(--line);
  background:var(--cream);font-family:inherit;font-size:15px;color:var(--ink);transition:border-color .4s var(--ease);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);outline:none;}
.field textarea{resize:vertical;min-height:110px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-success{display:none;text-align:center;padding:40px;}
.form-success.show{display:block;}
.form-success .ic{width:70px;height:70px;margin:0 auto 22px;border-radius:50%;background:var(--forest);
  display:flex;align-items:center;justify-content:center;}
.form-success .ic svg{stroke:#fff;width:32px;height:32px;fill:none;}
.form-success h3{font-size:32px;color:var(--ink);}
.form-success p{margin-top:12px;color:var(--slate-light);}

/* Footer */
.footer{background:var(--ink);color:var(--sage-light);padding:90px 0 40px;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px;}
.footer .brand-mark{color:var(--cream);font-size:30px;}
.footer-blurb{margin-top:22px;font-size:14px;max-width:360px;line-height:1.7;}
.footer h5{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--sage);margin-bottom:20px;}
.footer a{display:block;color:var(--sage-light);text-decoration:none;font-size:14px;margin-bottom:12px;
  transition:color .4s var(--ease);}
.footer a:hover{color:var(--terracotta-light);}
.footer-contact p{font-size:14px;margin-bottom:12px;line-height:1.6;}
.footer-disclaimer{margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);
  font-size:12px;line-height:1.7;color:var(--sage);max-width:900px;}
.footer-bottom{margin-top:26px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:12px;color:var(--sage);}
.footer-bottom a{display:inline;color:var(--sage);}
.footer-bottom a:hover{color:var(--terracotta-light);}


/* Reveal */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 1.05s var(--ease),transform 1.05s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal-stagger>*{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal-stagger.in>*{opacity:1;transform:none;}
.reveal-stagger.in>*:nth-child(1){transition-delay:.04s;}
.reveal-stagger.in>*:nth-child(2){transition-delay:.12s;}
.reveal-stagger.in>*:nth-child(3){transition-delay:.20s;}
.reveal-stagger.in>*:nth-child(4){transition-delay:.28s;}
.reveal-stagger.in>*:nth-child(5){transition-delay:.36s;}
.reveal-stagger.in>*:nth-child(6){transition-delay:.44s;}

/* Responsive */
@media (max-width:1024px){
  .hero-inner{max-width:100%;}
  .steps{grid-template-columns:repeat(2,1fr);gap:40px 34px;}
  .step:nth-child(2)::before{right:0;}
  .mk-grid{grid-template-columns:1fr;}
  .scr-grid{grid-template-columns:repeat(2,1fr);}
  .gates{grid-template-columns:repeat(2,1fr);gap:34px;}
  .why-grid,.contact-grid{grid-template-columns:1fr;gap:50px;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:30px 0;}
  .stat:nth-child(3){border-left:none;}
  .section{padding:104px 0;}
}
@media (max-width:768px){
  :root{--gutter:22px;}
  .nav{padding:18px var(--gutter);}
  .nav.scrolled{padding:14px var(--gutter);}
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .mobile-menu{display:none;position:fixed;inset:0;z-index:1500;background:var(--cream);
    flex-direction:column;align-items:center;justify-content:center;gap:26px;}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{font-size:26px;font-family:var(--font-serif);color:var(--ink);text-decoration:none;}
  .mobile-close{position:absolute;top:22px;right:22px;background:none;border:none;font-size:34px;
    color:var(--slate);cursor:pointer;}
  .hero{align-items:flex-start;}
  .hero-inner{padding:104px 0 70px;}
  .hero-title{font-size:clamp(52px,15vw,84px);}
  .section{padding:80px 0;}
  .section-title{font-size:clamp(34px,9vw,46px);}
  .pillars,.steps,.scr-grid,.gates{grid-template-columns:1fr;}
  .step::before{right:0;}
  .mk-cap div strong{font-size:34px;}
  .footer-grid{grid-template-columns:1fr;gap:36px;}
  .field-row{grid-template-columns:1fr;}
  .wf{flex-direction:column;gap:6px;}
  .wf span{flex:none;}
  .wf strong{text-align:left;}
}
@media (max-width:480px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:28px 0;}
  .hero-btns{flex-direction:column;width:100%;}
  .hero-btns .btn-primary,.hero-btns .btn-outline{width:100%;}
}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger>*{opacity:1!important;transform:none!important;}
  .hero-title .ln>span{transform:none!important;}
}

/* ---- Pipeline by stage (12 Sept 2026) ---- */
.ladder-title{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--terracotta);margin:0 0 30px;}
.ladder-grid{display:grid;grid-template-columns:repeat(5,1fr);}
.stat-step{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.stat-num.zero{color:var(--muted);opacity:.55;}
/* ---- Who we work with ---- */
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:54px;}
.aud{background:var(--cream);border-top:2px solid var(--terracotta);padding:40px 40px 44px;display:flex;flex-direction:column;}
.aud-k{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);}
.aud h3{margin-top:12px;font-size:30px;line-height:1.1;color:var(--ink);}
.aud ul{list-style:none;margin:22px 0 0;padding:0;flex:1;}
.aud li{padding:13px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--slate-light);}
.aud .btn-outline{margin-top:28px;align-self:flex-start;}
/* ---- Team ---- */
.team{border-top:1px solid var(--line);}
.tm{padding:22px 0;border-bottom:1px solid var(--line);}
.tm-name{font-family:var(--font-serif);font-size:26px;font-weight:600;line-height:1.1;color:var(--ink);}
.tm-role{margin-top:5px;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--terracotta);}
.tm p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--slate-light);}
@media (max-width:1024px){.ladder-grid{grid-template-columns:repeat(3,1fr);gap:28px 0;}.ladder-grid .stat:nth-child(4){border-left:none;}}
@media (max-width:768px){.aud-grid{grid-template-columns:1fr;gap:24px;}.aud{padding:30px 26px 34px;}.ladder-grid{grid-template-columns:repeat(2,1fr);}.ladder-grid .stat:nth-child(3),.ladder-grid .stat:nth-child(5){border-left:none;}.ladder-grid .stat:nth-child(4){border-left:1px solid var(--line);}}

/* ---- Photography, map, insights (12 Sept 2026) ---- */
.band{margin:0;position:relative;height:clamp(300px,42vw,560px);overflow:hidden;background:var(--ink);}
.band img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85);}
.band-dark img{filter:saturate(.6) brightness(.85);}
.band figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px var(--gutter);font-size:12.5px;letter-spacing:.3px;color:#E8E1D6;background:linear-gradient(to top,rgba(20,22,25,.78),rgba(20,22,25,0));}
.band figcaption{max-width:none;}
.mk-lead{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start;margin-top:10px;}
.mk-lead .section-intro{margin-top:26px;}
.mk-photo{margin:34px 0 0;}
.mk-photo img{width:100%;height:300px;object-fit:cover;display:block;border:1px solid var(--line);}
.mk-photo figcaption{margin-top:8px;font-size:12px;color:var(--muted);}
.mk-map{padding-top:10px;}
.pt-map{width:100%;max-width:360px;height:auto;display:block;margin:0 auto;}
.pt-pin circle{fill:var(--terracotta);}
.pt-pin .halo{fill:var(--terracotta);opacity:.14;}
.pt-pin text{font-family:var(--font-body);font-size:13px;font-weight:600;fill:var(--ink);}
.pt-pin text.sub{font-size:10px;font-weight:500;fill:var(--muted);letter-spacing:.4px;}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:54px;}
.ins{background:var(--warm-white);border:1px solid var(--line);border-top:2px solid var(--gold);padding:34px 30px 30px;display:flex;flex-direction:column;}
.ins-k{font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);}
.ins h3{margin-top:12px;font-size:24px;line-height:1.15;color:var(--ink);}
.ins p{margin-top:16px;font-size:14.5px;line-height:1.7;color:var(--slate-light);flex:1;}
.ins-src{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.6px;color:var(--muted);}
@media (max-width:1024px){.ins-grid{grid-template-columns:1fr;}.mk-lead{grid-template-columns:1fr;gap:30px;}.pt-map{max-width:300px;margin:0;}}

/* ---- 19 Sept 2026: briefing rebuild ---------------------------------------------------- */
.ladder-grid.six{grid-template-columns:repeat(6,1fr);}
@media (max-width:1024px){.ladder-grid.six{grid-template-columns:repeat(3,1fr);gap:28px 0;}.ladder-grid.six .stat:nth-child(4){border-left:none;}}
@media (max-width:768px){.ladder-grid.six{grid-template-columns:repeat(2,1fr);}.ladder-grid.six .stat:nth-child(odd){border-left:none;}.ladder-grid.six .stat:nth-child(even){border-left:1px solid var(--line);}}
.section-intro + .section-intro{margin-top:18px;}
.wont{list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--line);max-width:920px;}
.wont li{padding:20px 0 20px 34px;border-bottom:1px solid var(--line);font-family:var(--font-serif);font-size:24px;line-height:1.3;color:var(--ink);position:relative;}
.wont li::before{content:"";position:absolute;left:0;top:33px;width:16px;height:2px;background:var(--terracotta);}
.pt-details{margin-top:34px;max-width:920px;border-top:1px solid var(--line);padding-top:18px;}
.pt-details summary{cursor:pointer;font-size:11px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--terracotta);}
.pt-details p{margin-top:14px;font-size:15.5px;line-height:1.7;color:var(--slate-light);}
#partner .btn-outline,#capital .btn-outline{margin-top:34px;display:inline-block;}
@media (max-width:768px){.wont li{font-size:20px;}}

.updates{list-style:none;margin:54px 0 0;padding:0;border-top:1px solid var(--line);}
.updates li{display:grid;grid-template-columns:130px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);}
.up-d{font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--terracotta);padding-top:6px;}
.updates h4{font-family:var(--font-serif);font-size:24px;line-height:1.2;color:var(--ink);font-weight:600;}
.updates p{margin-top:8px;font-size:15px;line-height:1.65;color:var(--slate-light);max-width:860px;}
.up-s{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.4px;color:var(--muted);}
.entity-line{margin:26px auto 0;padding:0 var(--gutter);font-size:10.5px;letter-spacing:.3px;color:var(--muted);opacity:.8;text-align:center;}
@media (max-width:768px){.updates li{grid-template-columns:1fr;gap:6px;}.updates h4{font-size:21px;}}
