/* ============================================================
   GO PROPRIETARY: interior editorial system
   Loaded only by Firm, Sector Focus, For Owners, and Partners.
   The homepage does not reference this file.
   ============================================================ */

body.page-interior{
  --paper:#F8FAFC;
  --paper-soft:#F0F4F3;
  --paper-deep:#E7EEEC;
  --rule:rgba(30,41,59,.16);
  --rule-strong:rgba(30,41,59,.30);
  --teal-ink:#0B403C;
  background:var(--paper);
}

body.page-interior.menu-open{
  overflow:hidden;
}

.page-interior .wrap{
  max-width:1360px;
}

.page-interior .site-header{
  padding-top:22px;
  padding-bottom:22px;
}

.page-interior .site-header.scrolled{
  background:rgba(248,250,252,.96);
}

/* ---------------- editorial masthead ---------------- */
.page-interior .hero.interior-hero{
  min-height:clamp(600px,76svh,820px);
  display:flex;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), var(--rule) calc(100% - 1px)),
    var(--paper);
  border-bottom:1px solid var(--rule-strong);
}

.page-interior .interior-hero::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:min(32vw,460px);
  height:9px;
  background:var(--accent);
}

.page-interior .masthead-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(126px,1.1fr) minmax(0,5.4fr) minmax(260px,2.3fr);
  grid-template-rows:1fr auto;
  column-gap:clamp(32px,5vw,82px);
  padding-top:clamp(150px,18vh,190px);
  padding-bottom:clamp(56px,8vh,86px);
}

.page-interior .page-rail{
  grid-column:1;
  grid-row:1 / span 2;
  border-right:1px solid var(--rule);
  padding-right:clamp(22px,3vw,40px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:360px;
}

.page-interior .page-index{
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.72rem;
  letter-spacing:.22em;
}

.page-interior .page-name{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:'Jost',sans-serif;
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.26em;
  text-transform:uppercase;
}

.page-interior .hero-copy{
  grid-column:2;
  grid-row:1;
  align-self:center;
}

.page-interior .hero-copy .eyebrow{
  margin-bottom:clamp(24px,4vh,38px);
}

.page-interior .hero-copy h1{
  max-width:11.5ch;
  font-size:clamp(3.2rem,6vw,6.35rem);
  line-height:.98;
  letter-spacing:-.035em;
  text-wrap:balance;
}

.page-interior .hero-copy h1 .accent{
  display:block;
  color:var(--accent);
  font-style:normal;
}

.page-interior .hero-side{
  grid-column:3;
  grid-row:1;
  align-self:end;
  padding-bottom:clamp(8px,3vh,28px);
}

.page-interior .hero-side .lead{
  margin:0;
  max-width:34ch;
  color:var(--gray);
  font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.65;
}

.page-firm .masthead-grid{
  grid-template-columns:minmax(126px,1.1fr) minmax(0,4.5fr) minmax(340px,3.2fr);
}

.page-firm .hero-copy h1{
  max-width:9.5ch;
  font-size:clamp(3.2rem,5.7vw,6rem);
}

.page-firm .firm-positioning{
  align-self:center;
  padding:0 0 0 clamp(24px,3vw,40px);
  border-left:1px solid var(--rule-strong);
}

.page-firm .firm-positioning .lead{
  max-width:40ch;
  color:var(--ink);
  font-size:clamp(1.04rem,1.35vw,1.2rem);
  font-weight:400;
  line-height:1.55;
}

.page-firm .firm-positioning .hero-support{
  max-width:46ch;
  margin:20px 0 0;
  color:var(--gray);
  font-size:clamp(.9rem,1.05vw,1rem);
  font-weight:300;
  line-height:1.65;
}

.page-interior .masthead-strip{
  grid-column:2 / 4;
  grid-row:2;
  align-self:end;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--rule-strong);
  margin-top:clamp(52px,8vh,86px);
}

.page-interior .masthead-strip span{
  padding:18px 18px 0 0;
  font-family:'Jost',sans-serif;
  color:var(--muted);
  font-size:.66rem;
  letter-spacing:.16em;
  line-height:1.55;
  text-transform:uppercase;
}

.page-interior .masthead-strip span + span{
  border-left:1px solid var(--rule);
  padding-left:18px;
}

/* ---------------- long-form section navigation ---------------- */
.page-interior .section-nav{
  position:fixed;
  z-index:35;
  top:clamp(104px,16vh,148px);
  left:max(clamp(22px,5vw,72px),calc((100vw - 1360px)/2 + 72px));
  width:clamp(88px,7.4vw,106px);
  max-height:calc(100vh - 180px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s;
}

.page-interior .section-nav.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}

.page-interior.menu-open .section-nav{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.page-interior .section-nav-title{
  display:block;
  margin-bottom:14px;
  font-family:'Jost',sans-serif;
  color:var(--muted);
  font-size:.59rem;
  font-weight:500;
  letter-spacing:.18em;
  line-height:1.4;
  text-transform:uppercase;
}

.page-interior .section-nav-list{
  margin:0;
  padding:0;
  border-top:1px solid var(--rule-strong);
  list-style:none;
}

.page-interior .section-nav-link{
  position:relative;
  display:grid;
  grid-template-columns:19px minmax(0,1fr);
  gap:7px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid var(--rule);
  color:#536578;
  font-family:'Jost',sans-serif;
  font-size:.62rem;
  font-weight:400;
  letter-spacing:.08em;
  line-height:1.38;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .2s ease;
}

.page-interior .section-nav-link::before{
  content:"";
  position:absolute;
  top:9px;
  bottom:9px;
  left:-12px;
  width:2px;
  background:var(--accent);
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .22s ease;
}

.page-interior .section-nav-link:hover,
.page-interior .section-nav-link:focus-visible,
.page-interior .section-nav-link.is-active{
  color:var(--teal-ink);
}

.page-interior .section-nav-link:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:5px;
}

.page-interior .section-nav-link.is-active{
  font-weight:500;
}

.page-interior .section-nav-link.is-active::before{
  transform:scaleY(1);
}

.page-interior .section-nav-no{
  color:var(--accent);
  font-size:.56rem;
  letter-spacing:.08em;
}

.page-interior.section-nav-ready.page-firm .chapter-rail-inner,
.page-interior.section-nav-ready.page-owners .chapter-rail-inner,
.page-interior.section-nav-ready.page-sectors #directory .chapter-rail-inner{
  visibility:hidden;
}

.page-interior .chapter[id],
.page-interior .contact-chapter[id],
.page-interior .sector-family[id]{
  scroll-margin-top:104px;
}

/* ---------------- chapters ---------------- */
.page-interior .chapter{
  position:relative;
  padding:clamp(84px,10vw,138px) 0;
  border-bottom:1px solid var(--rule);
  overflow:clip;
}

.page-interior .chapter.soft{
  background:var(--paper-soft);
}

.page-interior .chapter-frame{
  display:grid;
  grid-template-columns:minmax(126px,1.1fr) minmax(0,7.7fr);
  column-gap:clamp(32px,5vw,82px);
}

.page-interior .chapter-rail{
  border-right:1px solid var(--rule);
  padding-right:clamp(22px,3vw,40px);
}

.page-interior .chapter-rail-inner{
  position:sticky;
  top:104px;
}

.page-interior .chapter-no{
  display:block;
  margin-bottom:15px;
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.68rem;
  letter-spacing:.22em;
}

.page-interior .chapter-label{
  display:block;
  font-family:'Jost',sans-serif;
  color:#536578;
  font-size:.68rem;
  letter-spacing:.2em;
  line-height:1.5;
  text-transform:uppercase;
}

.page-interior .chapter-main{
  min-width:0;
}

.page-interior .chapter-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.72fr);
  gap:clamp(34px,6vw,92px);
  align-items:end;
  margin-bottom:clamp(42px,6vw,72px);
}

.page-interior .chapter-head.single{
  grid-template-columns:minmax(0,1fr);
}

.page-interior .chapter-head h2{
  margin:0;
  max-width:18ch;
  font-size:clamp(2.25rem,4.6vw,4.4rem);
  line-height:1.04;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.page-interior .chapter-head p{
  max-width:44ch;
  color:var(--muted);
  font-size:1rem;
  font-weight:300;
}

.page-interior .chapter-note{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.65;
}

/* ---------------- evidence and buyer network ---------------- */
.page-interior .evidence-grid{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr);
  border-top:1px solid var(--rule-strong);
  border-bottom:1px solid var(--rule-strong);
}

.page-interior .metric-lockup{
  padding:clamp(36px,5vw,64px) clamp(28px,4vw,54px) clamp(36px,5vw,64px) 0;
  border-right:1px solid var(--rule);
}

.page-interior .metric-value{
  display:block;
  font-family:'Playfair Display',serif;
  color:var(--accent);
  font-size:clamp(4.1rem,8.5vw,8rem);
  line-height:.86;
  letter-spacing:-.055em;
}

.page-interior .metric-caption{
  display:block;
  max-width:24ch;
  margin-top:24px;
  color:var(--gray);
  font-size:.9rem;
  line-height:1.6;
}

.page-interior .evidence-list{
  padding:clamp(20px,3vw,38px) 0 clamp(20px,3vw,38px) clamp(28px,4vw,54px);
}

.page-interior .evidence-row{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--rule);
}

.page-interior .evidence-row:last-child{
  border-bottom:0;
}

.page-interior .evidence-row strong{
  font-family:'Jost',sans-serif;
  color:var(--ink);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.page-interior .evidence-row span{
  color:var(--muted);
  font-size:.94rem;
  line-height:1.65;
}

/* ---------------- GPX signal panel ---------------- */
.page-interior .signal-panel{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:clamp(40px,7vw,96px);
  padding:clamp(46px,7vw,86px);
  overflow:hidden;
  color:#CDE0DC;
  background:var(--teal-ink);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  box-shadow:0 42px 90px -64px rgba(15,74,69,.85);
}

.page-interior .signal-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(90deg,transparent 6%,#000 58%,#000 100%);
}

.page-interior .signal-copy,
.page-interior .gpx-console{
  position:relative;
  z-index:1;
}

.page-interior .signal-copy .k{
  color:#8FB5AF;
}

.page-interior .signal-copy .k::before{
  background:var(--accent-2);
}

.page-interior .signal-copy h2{
  max-width:14ch;
  margin:24px 0 22px;
  color:#fff;
  font-size:clamp(2.35rem,4.8vw,4.7rem);
  line-height:1.03;
  letter-spacing:-.03em;
}

.page-interior .signal-copy > p{
  max-width:47ch;
  color:#B4CBC7;
  font-weight:300;
}

.page-interior .signal-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:38px;
}

.page-interior .signal-point{
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.2);
}

.page-interior .signal-point strong{
  display:block;
  margin-bottom:8px;
  font-family:'Jost',sans-serif;
  color:var(--accent-2);
  font-size:.69rem;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.page-interior .signal-point p{
  color:#9FBDB8;
  font-size:.88rem;
  line-height:1.65;
}

.page-interior .gpx-console{
  align-self:center;
  padding:28px;
  background:rgba(5,26,24,.48);
  border:1px solid rgba(255,255,255,.14);
  border-radius:6px;
}

.page-interior .console-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-family:'Jost',sans-serif;
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.page-interior .console-head strong{
  color:#fff;
  font-size:1rem;
  font-weight:400;
  letter-spacing:.2em;
}

.page-interior .console-head span{
  color:var(--accent-2);
}

.page-interior .console-row{
  display:grid;
  grid-template-columns:16px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.11);
}

.page-interior .console-row:last-child{
  border-bottom:0;
}

.page-interior .console-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent-2);
  box-shadow:0 0 12px rgba(45,212,191,.65);
}

.page-interior .console-row b{
  color:#D8E7E4;
  font-size:.84rem;
  font-weight:400;
}

.page-interior .console-row small{
  color:#779D97;
  font-size:.64rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.page-interior .intelligence-chain{
  position:relative;
  z-index:1;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.2);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.page-interior .intelligence-step{
  min-width:0;
  padding:22px 22px 22px 0;
}

.page-interior .intelligence-step + .intelligence-step{
  padding-left:22px;
  border-left:1px solid rgba(255,255,255,.14);
}

.page-interior .intelligence-step span,
.page-interior .intelligence-step strong,
.page-interior .intelligence-step small{
  display:block;
}

.page-interior .intelligence-step span{
  margin-bottom:15px;
  color:var(--accent-2);
  font-family:'Jost',sans-serif;
  font-size:.58rem;
  letter-spacing:.18em;
}

.page-interior .intelligence-step strong{
  margin-bottom:7px;
  color:#E5F0EE;
  font-family:'Playfair Display',serif;
  font-size:1.08rem;
  font-weight:500;
}

.page-interior .intelligence-step small{
  color:#87AAA5;
  font-size:.72rem;
  line-height:1.5;
}

/* ---------------- ruled ledgers ---------------- */
.page-interior .ledger{
  border-top:1px solid var(--rule-strong);
}

.page-interior .ledger-row{
  display:grid;
  grid-template-columns:74px minmax(190px,.72fr) minmax(0,1.35fr);
  gap:clamp(22px,4vw,58px);
  padding:clamp(26px,3.5vw,42px) 0;
  border-bottom:1px solid var(--rule);
  transition:padding-left .3s ease,background .3s ease;
}

.page-interior .ledger-row:hover{
  padding-left:12px;
  background:linear-gradient(90deg,rgba(15,118,110,.045),transparent 72%);
}

.page-interior .ledger-no{
  padding-top:3px;
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.7rem;
  letter-spacing:.18em;
}

.page-interior .ledger-title{
  font-family:'Playfair Display',serif;
  color:var(--ink);
  font-size:clamp(1.3rem,2.1vw,1.85rem);
  line-height:1.2;
}

.page-interior .ledger-copy{
  color:var(--muted);
  font-size:.94rem;
  font-weight:300;
}

.page-interior .ledger-copy a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:15px;
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-size:.68rem;
  letter-spacing:.15em;
  text-decoration:none;
  text-transform:uppercase;
}

.page-interior .ledger-copy a::before{
  content:"";
  width:26px;
  height:1px;
  background:var(--accent);
}

.page-interior .ledger-row[id]{
  scroll-margin-top:104px;
}

/* ---------------- mandate map ---------------- */
.page-interior .mandate-map{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  border-top:1px solid var(--rule-strong);
  border-left:1px solid var(--rule);
}

.page-interior .mandate-map caption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.page-interior .mandate-map thead{
  background:var(--teal-ink);
  color:#CDE0DC;
}

.page-interior .mandate-map thead th{
  padding:15px 18px;
  border-right:1px solid rgba(255,255,255,.14);
  font-family:'Jost',sans-serif;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.45;
  text-transform:uppercase;
}

.page-interior .mandate-map th:first-child{
  width:20%;
}

.page-interior .mandate-map tbody tr{
  background:var(--paper);
}

.page-interior .mandate-map tbody tr:nth-child(even){
  background:var(--paper-soft);
}

.page-interior .mandate-map tbody th,
.page-interior .mandate-map tbody td{
  min-width:0;
  margin:0;
  padding:clamp(23px,3vw,36px) 18px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}

.page-interior .mandate-map tbody th{
  color:var(--ink);
  font-family:'Playfair Display',serif;
  font-size:clamp(1.15rem,1.7vw,1.48rem);
  font-weight:500;
  line-height:1.25;
}

.page-interior .mandate-map tbody td{
  color:var(--muted);
  font-size:.82rem;
  font-weight:300;
  line-height:1.55;
}

.page-interior .mandate-map tbody td span{
  display:none;
}

/* ---------------- decision factors and advisory inset ---------------- */
.page-interior .factor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--rule-strong);
  border-left:1px solid var(--rule);
}

.page-interior .factor{
  min-height:170px;
  padding:28px;
  border-right:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}

.page-interior .factor span{
  display:block;
  margin-bottom:28px;
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.68rem;
  letter-spacing:.18em;
}

.page-interior .factor strong{
  font-family:'Playfair Display',serif;
  color:var(--ink);
  font-size:clamp(1.15rem,1.8vw,1.5rem);
  font-weight:500;
}

.page-interior .advisory-inset{
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,6vw,86px);
  padding:clamp(38px,6vw,70px);
  background:var(--paper-deep);
  border-left:5px solid var(--accent);
}

.page-interior .advisory-inset h2,
.page-interior .advisory-inset h3{
  max-width:13ch;
  margin:0;
  font-size:clamp(1.8rem,3.2vw,2.8rem);
  line-height:1.08;
}

.page-interior .advisory-inset p{
  max-width:54ch;
  color:var(--gray);
  font-weight:300;
}

.page-interior .advisory-inset .fine{
  display:block;
  margin-top:16px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.6;
}

/* ---------------- sector directory ---------------- */
.page-interior .sector-directory{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  padding:1px;
  background:var(--rule);
}

.page-interior .sector-family{
  position:relative;
  min-width:0;
  min-height:clamp(180px,18vw,240px);
  display:flex;
  align-items:stretch;
  padding:clamp(34px,4.5vw,62px);
  background:var(--paper);
  overflow:hidden;
}

.page-interior .sector-family:nth-child(odd){
  background:var(--paper-soft);
}

.page-interior .family-summary{
  width:100%;
  display:grid;
  grid-template-columns:minmax(96px,.28fr) minmax(0,1fr) 18px;
  gap:clamp(24px,4vw,60px);
  align-items:center;
}

.page-interior .family-no{
  align-self:start;
  padding-top:.5em;
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.68rem;
  letter-spacing:.18em;
}

.page-interior .family-summary h3{
  max-width:25ch;
  margin:0;
  font-family:'Playfair Display',serif;
  color:var(--ink);
  font-size:clamp(2rem,3.7vw,3.65rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.page-interior .family-mark{
  width:4px;
  height:clamp(52px,6vw,76px);
  justify-self:end;
  background:var(--accent);
}

/* ---------------- leadership roster ---------------- */
.page-interior .leadership-roster{
  border-top:1px solid var(--rule-strong);
}

.page-interior .profile-row{
  display:grid;
  grid-template-columns:minmax(180px,300px) minmax(0,1fr) auto;
  gap:clamp(34px,6vw,84px);
  align-items:center;
  padding:clamp(32px,4vw,54px) 0;
  border-bottom:1px solid var(--rule);
}

.page-interior .profile-portrait{
  position:relative;
  aspect-ratio:4 / 3;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16),transparent 58%),
    var(--teal-ink);
}

.page-interior .profile-portrait::before,
.page-interior .profile-portrait::after{
  content:"";
  position:absolute;
  border:1px solid rgba(45,212,191,.24);
  border-radius:50%;
}

.page-interior .profile-portrait::before{
  width:76%;
  aspect-ratio:1;
}

.page-interior .profile-portrait::after{
  width:48%;
  aspect-ratio:1;
}

.page-interior .profile-initials{
  position:relative;
  z-index:1;
  font-family:'Playfair Display',serif;
  color:#fff;
  font-size:clamp(2.2rem,4vw,4.1rem);
  letter-spacing:.04em;
}

.page-interior .profile-role{
  display:block;
  margin-bottom:14px;
  font-family:'Jost',sans-serif;
  color:var(--accent);
  font-size:.69rem;
  font-weight:500;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.page-interior .profile-name{
  font-family:'Playfair Display',serif;
  color:var(--ink);
  font-size:clamp(2rem,4vw,3.8rem);
  line-height:1.05;
}

.page-interior .profile-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-size:.68rem;
  letter-spacing:.16em;
  text-decoration:none;
  text-transform:uppercase;
}

.page-interior .profile-link::before{
  content:"";
  width:32px;
  height:1px;
  background:var(--accent);
}

/* ---------------- contact and footer ---------------- */
.page-interior .contact-chapter{
  padding:clamp(82px,10vw,132px) 0;
  background:var(--paper);
}

.page-interior .contact-panel{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:clamp(40px,7vw,100px);
  align-items:end;
  padding:clamp(42px,6vw,74px) 0;
  border-top:1px solid var(--rule-strong);
  border-bottom:1px solid var(--rule-strong);
}

.page-interior .contact-panel h2{
  max-width:14ch;
  margin:0;
  font-size:clamp(2.5rem,5vw,4.8rem);
  line-height:1.02;
  letter-spacing:-.03em;
}

.page-interior .contact-copy p{
  max-width:42ch;
  margin-bottom:28px;
  color:var(--muted);
  font-weight:300;
}

.page-interior .contact-link{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-width:min(100%,280px);
  padding:16px 0;
  border-top:1px solid var(--rule-strong);
  border-bottom:1px solid var(--rule-strong);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-size:.75rem;
  letter-spacing:.14em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .25s,padding .25s;
}

.page-interior .contact-link:hover{
  padding-left:10px;
  padding-right:10px;
  color:var(--accent);
}

.page-interior .site-footer{
  padding:54px 0 30px;
}

.page-interior .footer-mark{
  display:none;
}

.page-interior .footer-disclosure{
  max-width:88ch;
  margin-top:42px;
  padding-top:24px;
  border-top:1px solid var(--dline);
  color:#B7CCC8;
  font-size:.72rem;
  line-height:1.7;
}

.page-interior .footer-base{
  margin-top:24px;
  color:#B7CCC8;
}

/* ---------------- responsive ---------------- */
@media(max-width:1040px){
  .page-interior .masthead-grid{
    grid-template-columns:94px minmax(0,1fr);
    grid-template-rows:auto auto auto;
  }

  .page-interior .page-rail{
    grid-column:1;
    grid-row:1 / 4;
  }

  .page-interior .hero-copy{
    grid-column:2;
    grid-row:1;
  }

  .page-interior .hero-side{
    grid-column:2;
    grid-row:2;
    max-width:54ch;
    margin-top:36px;
    padding:0;
  }

  .page-firm .masthead-grid{
    grid-template-columns:94px minmax(0,1fr);
  }

  .page-firm .firm-positioning{
    max-width:64ch;
    padding:28px 0 0;
    border-top:1px solid var(--rule-strong);
    border-left:0;
  }

  .page-firm .firm-positioning .lead,
  .page-firm .firm-positioning .hero-support{
    max-width:58ch;
  }

  .page-interior .masthead-strip{
    grid-column:2;
    grid-row:3;
  }

  .page-interior .chapter-frame{
    grid-template-columns:94px minmax(0,1fr);
  }

  .page-interior .signal-panel{
    grid-template-columns:1fr;
  }

  .page-interior .gpx-console{
    max-width:720px;
  }

  .page-interior .intelligence-chain{
    grid-template-columns:1fr 1fr;
  }

  .page-interior .intelligence-step:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }

  .page-interior .intelligence-step:nth-child(4){
    border-top:1px solid rgba(255,255,255,.14);
  }

  .page-interior .profile-row{
    grid-template-columns:minmax(180px,260px) minmax(0,1fr);
  }

  .page-interior .profile-link{
    grid-column:2;
    justify-self:start;
  }
}

@media(max-width:780px){
  .page-interior .site-header{
    padding:14px 20px;
  }

  .page-interior .hero.interior-hero{
    min-height:auto;
  }

  .page-interior .masthead-grid{
    display:block;
    padding-top:126px;
    padding-bottom:58px;
  }

  .page-interior .page-rail{
    min-height:0;
    margin-bottom:42px;
    padding:0 0 16px;
    border-right:0;
    border-bottom:1px solid var(--rule);
    flex-direction:row;
  }

  .page-interior .page-name{
    writing-mode:horizontal-tb;
    transform:none;
  }

  .page-interior .hero-copy h1{
    max-width:14ch;
    font-size:clamp(2.7rem,11vw,4.4rem);
  }

  .page-interior .hero-side{
    margin-top:30px;
  }

  .page-firm .firm-positioning{
    margin-top:32px;
    padding-top:24px;
  }

  .page-firm .firm-positioning .hero-support{
    margin-top:16px;
  }

  .page-interior .masthead-strip{
    grid-template-columns:1fr;
    margin-top:44px;
  }

  .page-interior .masthead-strip span{
    padding:13px 0;
    border-bottom:1px solid var(--rule);
  }

  .page-interior .masthead-strip span + span{
    padding-left:0;
    border-left:0;
  }

  .page-interior .chapter{
    padding:72px 0;
  }

  .page-interior .chapter-frame{
    display:block;
  }

  .page-interior .chapter-rail{
    margin-bottom:38px;
    padding:0 0 16px;
    border-right:0;
    border-bottom:1px solid var(--rule);
  }

  .page-interior .chapter-rail-inner{
    position:static;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }

  .page-interior .chapter-no{
    margin:0;
  }

  .page-interior .chapter-head{
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:40px;
  }

  .page-interior .chapter-head h2{
    font-size:clamp(2rem,9vw,3.2rem);
  }

  .page-interior .evidence-grid,
  .page-interior .advisory-inset,
  .page-interior .contact-panel{
    grid-template-columns:1fr;
  }

  .page-interior .metric-lockup{
    padding-right:0;
    border-right:0;
    border-bottom:1px solid var(--rule);
  }

  .page-interior .evidence-list{
    padding-left:0;
  }

  .page-interior .ledger-row{
    grid-template-columns:46px minmax(0,1fr);
    gap:18px;
  }

  .page-interior .ledger-copy{
    grid-column:2;
  }

  .page-interior .mandate-map,
  .page-interior .mandate-map tbody,
  .page-interior .mandate-map tr,
  .page-interior .mandate-map th,
  .page-interior .mandate-map td{
    display:block;
    width:100%;
  }

  .page-interior .mandate-map thead{
    display:none;
  }

  .page-interior .mandate-map tbody tr{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .page-interior .mandate-map tbody th:first-child{
    grid-column:1 / -1;
    width:100%;
    padding-bottom:22px;
    background:var(--teal-ink);
    color:#fff;
  }

  .page-interior .mandate-map tbody td{
    min-height:118px;
  }

  .page-interior .mandate-map tbody td span{
    display:block;
    margin-bottom:9px;
    color:var(--accent);
    font-family:'Jost',sans-serif;
    font-size:.58rem;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .page-interior .factor-grid{
    grid-template-columns:1fr 1fr;
  }

  .page-interior .advisory-inset{
    border-left-width:4px;
  }

  .page-interior .profile-row{
    grid-template-columns:minmax(140px,210px) minmax(0,1fr);
    gap:28px;
  }

  .page-interior .profile-name{
    font-size:clamp(1.8rem,7vw,2.8rem);
  }

  .page-interior .contact-panel{
    align-items:start;
  }
}

@media(max-width:540px){
  .page-interior .hero-copy h1{
    font-size:clamp(2.35rem,12vw,3.25rem);
  }

  .page-interior .interior-hero::after{
    width:44vw;
    height:6px;
  }

  .page-interior .evidence-row{
    grid-template-columns:1fr;
    gap:8px;
  }

  .page-interior .signal-panel{
    padding:32px 24px;
  }

  .page-interior .signal-copy h2{
    font-size:clamp(2.1rem,10vw,3rem);
  }

  .page-interior .signal-points{
    grid-template-columns:1fr;
  }

  .page-interior .intelligence-chain{
    grid-template-columns:1fr;
  }

  .page-interior .intelligence-step{
    padding:19px 0;
  }

  .page-interior .intelligence-step + .intelligence-step,
  .page-interior .intelligence-step:nth-child(3){
    padding-left:0;
    border-top:1px solid rgba(255,255,255,.14);
    border-left:0;
  }

  .page-interior .mandate-map tbody tr{
    grid-template-columns:1fr;
  }

  .page-interior .mandate-map tbody th{
    grid-column:1;
  }

  .page-interior .mandate-map tbody td{
    min-height:0;
  }

  .page-interior .gpx-console{
    padding:20px;
  }

  .page-interior .console-row{
    grid-template-columns:14px 1fr;
  }

  .page-interior .console-row small{
    grid-column:2;
  }

  .page-interior .factor-grid{
    grid-template-columns:1fr;
  }

  .page-interior .factor{
    min-height:132px;
  }

  .page-interior .profile-row{
    grid-template-columns:1fr;
  }

  .page-interior .profile-portrait{
    max-width:260px;
  }

  .page-interior .profile-link{
    grid-column:1;
  }

  .page-interior .footer-nav{
    gap:18px 24px;
  }
}

@media(max-width:1040px){
  .page-interior .section-nav{
    display:none;
  }

  .page-interior.section-nav-ready.page-firm .chapter-rail-inner,
  .page-interior.section-nav-ready.page-owners .chapter-rail-inner,
  .page-interior.section-nav-ready.page-sectors #directory .chapter-rail-inner{
    visibility:visible;
  }

  .page-interior .chapter[id],
  .page-interior .contact-chapter[id],
  .page-interior .sector-family[id]{
    scroll-margin-top:84px;
  }
}

@media(max-width:780px){
  .page-interior .sector-family{
    min-height:164px;
    padding:30px 26px;
  }

  .page-interior .family-summary{
    grid-template-columns:minmax(0,1fr) 4px;
    grid-template-rows:auto 1fr;
    column-gap:24px;
    row-gap:22px;
    align-items:start;
  }

  .page-interior .family-no{
    grid-column:1;
    grid-row:1;
    padding-top:0;
  }

  .page-interior .family-summary h3{
    grid-column:1;
    grid-row:2;
    align-self:end;
    font-size:clamp(1.75rem,7.8vw,2.45rem);
  }

  .page-interior .family-mark{
    grid-column:2;
    grid-row:1 / span 2;
    width:4px;
    height:100%;
    min-height:76px;
  }
}

@media(prefers-reduced-motion:reduce){
  .page-interior .ledger-row,
  .page-interior .contact-link,
  .page-interior .section-nav,
  .page-interior .section-nav-link,
  .page-interior .section-nav-link::before{
    transition:none;
  }
}
