/* Frontier Range Holdings — site.css
   Brand tokens: Midnight Navy, Evergreen, Slate, Warm Sand, Off-White, Copper. Source Serif 4 headlines, IBM Plex Sans body and labels, IBM Plex Mono for small data captions.
   Oct 27, 2026 pass: white grounds, sentence-case serif headlines, far fewer words above the fold.
   Photo pass (same day): real photography and an aerial hero loop, warm film-like grade; motifs are a copper-engraved
   ridgeline, a faint topographic texture on dark bands and copper hairline rules. Everything else stays quiet. */
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/assets/fonts/ibm-plex-sans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/assets/fonts/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --navy:#0D1B2A; --evergreen:#1F3D2E; --slate:#5A636B; --sand:#DCC6AE; --off:#F6F3EF; --copper:#B87343;
  --white:#FFFFFF;
  --copper-ink:#8A522C;           /* copper darkened for text on light grounds (AA) */
  --copper-lite:#E2A57A;          /* copper lightened for text on navy (AA) */
  --sand-soft:#F6F3EF;            /* the quiet alternate band is now the brand off-white */
  --paper:#FBFAF8;
  --line:#E3DED7;
  --line-strong:#CFC7BC;
  --line-dark:#24364A;
  --mute-dark:#C3CAD1;
  --ink:var(--navy);
  --text:#25313D;
  --measure:66ch;
  --gutter:clamp(1rem,4vw,3rem);
  --wrap:80rem;
  --hh:4.75rem;
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:clamp(4.5rem,9vw,8rem);
  --serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --display:var(--serif);
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --track:.18em;
  --ease:cubic-bezier(.2,.65,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 1rem)}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.65;font-feature-settings:"kern","liga","calt";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html.menu-open{overflow:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--evergreen);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .2s,text-decoration-color .2s}
a:hover{color:var(--navy);text-decoration-color:var(--copper)}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:var(--white);padding:.75rem 1rem;z-index:100;font-weight:600}
.skip:focus{left:1rem;top:1rem;color:var(--white)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.12;letter-spacing:-.012em;margin:0 0 var(--s2);color:var(--navy);text-wrap:balance}
h1{font-size:clamp(2.35rem,1.55rem + 2.7vw,4.1rem);line-height:1.06;letter-spacing:-.02em}
h2{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.6rem)}
h3{font-size:clamp(1.18rem,1.08rem + .35vw,1.38rem);font-weight:600;letter-spacing:-.005em;line-height:1.25}
h4{font-family:var(--body);font-weight:600;font-size:1.0625rem;margin:0 0 .35rem}
p{margin:0 0 var(--s2);max-width:var(--measure)}
.lede{font-size:clamp(1.1rem,1rem + .35vw,1.27rem);line-height:1.6;max-width:54ch;color:var(--navy)}
.lede-sm{font-size:1.15rem;line-height:1.6;color:var(--navy)}
.muted{color:var(--slate)}
small,.small{font-size:.9rem}
ul,ol{padding-left:1.2rem;max-width:var(--measure)}
li{margin:.3rem 0}
strong{font-weight:600}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--s6) 0;position:relative}
.section + .section{padding-top:0}
.section.tint,.section.dark,.section.green,.section.pillars-band,.tint + .section,.dark + .section,.green + .section,.pillars-band + .section,.portal-hero + .section,.page-head + .section{padding-top:var(--s6)}
.tint{background:var(--off)}
.dark{background:var(--navy);color:var(--off)}
.green{background:var(--evergreen);color:var(--off)}
.dark h1,.dark h2,.dark h3,.green h1,.green h2,.green h3{color:var(--off)}
.dark a,.green a{color:var(--sand)}
.dark a:hover,.green a:hover{color:var(--off);text-decoration-color:var(--copper)}
.dark .muted,.green .muted{color:var(--mute-dark)}
.dark .lede,.green .lede{color:#E7E1D8}
.dark p,.green p{color:#DDD6CC}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--white);color:var(--navy);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 12px 28px -26px rgba(13,27,42,.55)}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:var(--hh)}
.brand{display:flex;align-items:center;gap:.7rem;min-height:44px;text-decoration:none;color:var(--navy);flex:none;margin-right:auto}
.brand img{width:auto;height:40px}
/* Wordmark lockup: two lines whose cap-top and baseline line up with the top and foot of the "FRH" letters in the mark. */
.wordmark{display:flex;flex-direction:column;font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:.735rem;line-height:1.24;letter-spacing:.14em;color:var(--navy);margin-top:.19rem}
.brand:hover{color:var(--navy)}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;align-items:center;max-width:none}
.nav-list > li{margin:0;position:relative}
.dd-btn,.nav-link{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .8rem;font:inherit;font-size:.95rem;color:var(--navy);background:none;border:0;cursor:pointer;text-decoration:none;position:relative;border-radius:2px}
.dd-btn::after,.nav-link::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.35rem;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.dd-btn:hover::after,.nav-link:hover::after,.nav-link[aria-current="page"]::after,.dd.is-active .dd-btn::after,.dd-btn[aria-expanded="true"]::after{transform:scaleX(1)}
.nav-link:hover{color:var(--navy)}
.chev{width:10px;height:6px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.dd-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.dd-panel{position:absolute;top:100%;left:-.25rem;min-width:19.5rem;padding:.5rem;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--navy);box-shadow:0 24px 48px -30px rgba(13,27,42,.45);visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .18s var(--ease),visibility 0s .18s;z-index:60}
.dd-panel ul{list-style:none;margin:0;padding:0;max-width:none}
.dd-panel li{margin:0}
.dd-panel a{display:block;padding:.7rem .85rem;text-decoration:none;color:var(--navy);border-radius:2px}
.dd-panel a span{display:block;font-weight:600;font-size:.95rem;line-height:1.3}
.dd-panel a small{display:block;color:var(--slate);font-size:.84rem;line-height:1.4;margin-top:.1rem}
.dd-panel a:hover,.dd-panel a:focus-visible{background:var(--off)}
.dd-panel a[aria-current="page"] span{color:var(--copper-ink)}
/* Without JavaScript the groups open on hover and keyboard focus; with it, site.js manages aria-expanded. */
html:not(.js) .dd:hover .dd-panel,html:not(.js) .dd:focus-within .dd-panel,.dd.open .dd-panel{visibility:visible;opacity:1;transform:none;transition:opacity .18s,transform .18s var(--ease),visibility 0s}
.bar-actions{display:flex;gap:.6rem;align-items:center;flex:none}
.hbtn{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.05rem;font-size:.9rem;font-weight:600;text-decoration:none;border-radius:2px;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.hbtn-line{border:1px solid var(--line-strong);color:var(--navy)}
.hbtn-line:hover,.hbtn-line[aria-current="page"]{border-color:var(--navy);color:var(--navy)}
.hbtn-solid{background:var(--navy);color:var(--white);border:1px solid var(--navy)}
.hbtn-solid:hover,.hbtn-solid[aria-current="page"]{background:var(--evergreen);border-color:var(--evergreen);color:var(--white)}
.menu{display:none}
@media (max-width:1023px){
  .nav{display:none}
  .menu{display:block}
  .menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:flex;align-items:center;gap:.6rem;padding:.5rem .85rem;border:1px solid var(--line-strong);border-radius:2px;font-size:.92rem;font-weight:600;color:var(--navy)}
  .menu summary::-webkit-details-marker{display:none}
  .burger{position:relative;width:18px;height:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transition:border-color .2s}
  .burger::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor;transition:transform .25s var(--ease)}
  .menu[open] .burger{border-color:transparent}
  .menu[open] .burger::before,.menu[open] .burger::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor}
  .menu[open] .burger::before{transform:rotate(45deg)}
  .menu[open] .burger::after{transform:rotate(-45deg)}
  .menu[open] summary{background:var(--off)}
  .menu:not([open]) .menu-panel{display:none}
  .menu-panel{position:fixed;left:0;right:0;top:var(--hh);bottom:0;background:var(--white);overflow-y:auto;overscroll-behavior:contain;padding:1.25rem var(--gutter) 2.5rem;border-top:1px solid var(--line)}
  .m-groups{max-width:40rem;margin:0 auto;display:grid;gap:1.6rem}
  .m-group h2{font-family:var(--body);font-size:.84rem;font-weight:600;letter-spacing:.02em;color:var(--slate);margin:0 0 .25rem}
  .m-group ul{list-style:none;margin:0;padding:0;max-width:none}
  .m-group li{margin:0;border-bottom:1px solid var(--line)}
  .m-group a{display:block;padding:.7rem 0;color:var(--navy);text-decoration:none;font-family:var(--serif);font-size:1.32rem;line-height:1.3}
  .m-group a:hover,.m-group a[aria-current="page"]{color:var(--copper-ink)}
  .menu-actions{display:grid;gap:.75rem;max-width:40rem;margin:1.75rem auto 0}
  .menu-actions .btn{text-align:center}
  .menu-mail{max-width:40rem;margin:1.25rem auto 0;font-size:.95rem}
  .menu-mail a{display:inline-block;padding:.6rem 0}
  @media (prefers-reduced-motion:no-preference){.menu[open] .menu-panel{animation:panel .3s var(--ease)}@keyframes panel{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}
}
@media (max-width:600px){.bar-actions{display:none}.bar{gap:.75rem}}
@media (max-width:380px){.brand img{height:34px}.wordmark{font-size:.64rem}.brand{gap:.5rem}}

/* ---------- Buttons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--s3)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.45rem;font-weight:600;font-size:.98rem;letter-spacing:.005em;line-height:1.2;text-decoration:none;border:1px solid var(--navy);color:var(--navy);background:transparent;border-radius:2px;cursor:pointer;font-family:var(--body);transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--navy);color:var(--white)}
.btn.primary{background:var(--navy);color:var(--white)}
.btn.primary:hover{background:var(--evergreen);border-color:var(--evergreen);color:var(--white)}
.pillars-band .btn,.dark .btn,.green .btn,.site-footer .btn{border-color:rgba(220,198,174,.7);color:var(--off)}
.pillars-band .btn:hover,.dark .btn:hover,.green .btn:hover,.site-footer .btn:hover{background:var(--off);border-color:var(--off);color:var(--navy)}
.pillars-band .btn.primary,.dark .btn.primary,.green .btn.primary,.site-footer .btn.primary{background:var(--copper);border-color:var(--copper);color:var(--navy)}
.pillars-band .btn.primary:hover,.dark .btn.primary:hover,.green .btn.primary:hover,.site-footer .btn.primary:hover{background:var(--sand);border-color:var(--sand);color:var(--navy)}
.btn.is-disabled,.btn:disabled{cursor:not-allowed;opacity:.55}
.btn.is-disabled:hover,.btn:disabled:hover{background:transparent;color:var(--navy)}

/* ---------- Hero (home): split, white ground, media panel right ---------- */
.hero{background:var(--off)}
.eyebrow{font-family:var(--body);font-size:.76rem;font-weight:500;letter-spacing:var(--track);text-transform:uppercase;color:var(--copper-ink);margin:0 0 1.1rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr)}
.hero-copy{padding:clamp(2.75rem,8vw,4rem) var(--gutter) clamp(2.25rem,6vw,3rem)}
.hero h1{max-width:none;font-size:clamp(2.3rem,1.5rem + 2.3vw,3.55rem);margin-bottom:var(--s3)}
.hero .lede{color:var(--text);max-width:42ch;margin-bottom:0}
.hero-media{position:relative;overflow:hidden;min-height:clamp(220px,58vw,360px);
  background:radial-gradient(36% 24% at 70% 45%,rgba(201,139,92,.3),rgba(201,139,92,0) 70%),linear-gradient(180deg,#0E2033 0%,#172E46 44%,#3F4E5D 68%,#7A6556 100%)}
.hero-media .landscape,.hero-video{position:absolute;inset:0;width:100%;height:100%}
.hero-video{object-fit:cover}
@media (min-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:clamp(34rem,calc(100svh - var(--hh) - 3rem),46rem)}
  .hero-copy{align-self:center;padding:var(--s5) clamp(2rem,5vw,5rem) var(--s5) max(var(--gutter),calc((100vw - var(--wrap)) / 2 + var(--gutter)))}
  .hero-media{min-height:0}
}
.landscape-panel .sun{fill:#C98B5C;opacity:.78}
.landscape-panel .l-far .mass{fill:#2C4259}
.landscape-panel .l-far .crest{fill:none;stroke:var(--sand);stroke-opacity:.55;stroke-width:1.2;vector-effect:non-scaling-stroke}
.landscape-panel .l-mid .mass{fill:#1E344B}
.landscape-panel .l-near .mass{fill:#1A3328}
.landscape-panel .l-near .contour{fill:none;stroke:#2A4A3B;stroke-width:1;vector-effect:non-scaling-stroke}
.landscape-panel .l-front .mass{fill:#0F2130}
.landscape-panel .l-front .crest{fill:none;stroke:var(--copper);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.landscape .layer{will-change:transform}
@media (prefers-reduced-motion:no-preference){
  .landscape-panel .rise{animation:rise 1.5s var(--ease) both}
  .landscape-panel .l-far .rise{animation-delay:.05s}
  .landscape-panel .l-mid .rise{animation-delay:.18s}
  .landscape-panel .l-near .rise{animation-delay:.3s}
  .landscape-panel .l-front .rise{animation-delay:.4s}
  .landscape-panel .l-front .crest{stroke-dasharray:1000;stroke-dashoffset:1000;animation:draw 2.4s var(--ease) .5s forwards}
  .hero-copy > *{animation:fadein .9s var(--ease) both}
  .hero-copy > :nth-child(2){animation-delay:.08s}
  .hero-copy > :nth-child(3){animation-delay:.16s}
  @keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
  @keyframes draw{to{stroke-dashoffset:0}}
  @keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* ---------- Inner page head: light, quiet ---------- */
.page-head{position:relative;background:var(--off);color:var(--navy);overflow:hidden}
.page-head .wrap{position:relative;z-index:2;padding-top:clamp(2.25rem,5vw,4rem);padding-bottom:clamp(3.5rem,7vw,5.5rem)}
.page-head h1{max-width:22ch;font-size:clamp(2.1rem,1.5rem + 2.1vw,3.4rem)}
.page-head .lede{color:var(--text)}
.page-head .muted{color:var(--slate)}
.head-ridge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(28px,4.5vw,64px);pointer-events:none}
.head-ridge .mass{fill:var(--white)}
.head-ridge .crest{fill:none;stroke:var(--line-strong);stroke-width:1.2;vector-effect:non-scaling-stroke}
.crumbs{font-size:.86rem;margin-bottom:var(--s3);color:var(--slate)}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem;max-width:none}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line-strong)}
.crumbs a{display:inline-block;min-width:44px;padding:.75rem .2rem;margin:-.75rem -.2rem;text-align:center;color:var(--slate)}
.crumbs a:hover{color:var(--navy)}
.article-meta{color:var(--slate);font-size:.95rem;margin-top:var(--s2)}
.article-meta a{color:var(--evergreen)}

/* ---------- Layout helpers ---------- */
.rail{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3)}
@media (min-width:900px){.rail{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s5)}}
.rail > header h2{margin-bottom:.85rem}
.rail > header p{color:var(--slate);font-size:1rem}
.dark .rail > header p,.green .rail > header p{color:var(--mute-dark)}
@media (min-width:900px){.sticky-head{position:sticky;top:calc(var(--hh) + 2rem);align-self:start}}
.section-intro{max-width:46rem;margin-bottom:var(--s4)}
.section-intro p{color:var(--slate)}
.split{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}}
.more{margin-top:var(--s4)}
/* Section head: title and one line on the left, the "see all" link on the right */
.sec-head{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem var(--s4);margin-bottom:clamp(1.75rem,4vw,3rem);align-items:end}
.sec-head h2{margin-bottom:.35rem}
.sec-head p{color:var(--slate);margin:0;max-width:52ch}
.sec-head .sec-link{margin-top:.5rem}
.sec-link a,.more-link a{font-weight:600;text-decoration-color:var(--line-strong)}
.sec-link a:hover,.more-link a:hover{text-decoration-color:var(--copper)}
@media (min-width:860px){.sec-head{grid-template-columns:minmax(0,1fr) auto}.sec-head h2,.sec-head > p:not(.sec-link){grid-column:1}.sec-head .sec-link{grid-column:2;grid-row:1 / span 2;margin:0 0 .2rem;align-self:end}}

/* Reveal: only blocks that start below the fold, and only with motion allowed */
@media (prefers-reduced-motion:no-preference){
  .reveal{transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .reveal.is-pending{opacity:0;transform:translateY(18px)}
  .reveal.is-pending.is-in{opacity:1;transform:none}
}

/* ---------- Home ---------- */
.why .wrap{padding-top:0}
.statement{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.45rem);line-height:1.28;letter-spacing:-.012em;max-width:32ch;color:var(--navy);margin:0 0 var(--s3);text-wrap:balance}
.why{padding-bottom:clamp(3rem,6vw,5rem)}
.why + .section{padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}
.more-link{margin:0}

.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4) var(--s3);max-width:none}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{margin:0;position:relative}
.card-media{aspect-ratio:16/10;overflow:hidden;background:var(--off);border-radius:2px;margin-bottom:1.1rem}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card h3{margin:0 0 .45rem}
.card h3 a{color:var(--navy);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card:hover h3 a{text-decoration:underline;text-decoration-color:var(--copper)}
@media (prefers-reduced-motion:no-preference){.card:hover .card-media img{transform:scale(1.025)}}
.card p{color:var(--slate);font-size:.98rem;margin:0}

.pillars-band{background:var(--navy);color:var(--off)}
.pillars-band h2{color:var(--white)}
.pillars-band .sec-head p{color:var(--mute-dark)}
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--s4);counter-reset:pillar;max-width:none}
@media (min-width:860px){.pillars{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pillars li{margin:0 0 var(--s4);padding:.2rem 0 .2rem 1.5rem;border-left:1px solid rgba(220,198,174,.4);counter-increment:pillar;position:relative}
.pillars li::before{content:counter(pillar);display:block;font-family:var(--serif);font-size:1rem;color:var(--copper-lite);margin-bottom:.9rem}
.pillars li::after{content:"";position:absolute;left:-1px;top:0;width:1px;height:2.4rem;background:var(--copper)}
.pillars h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.65rem,1.3rem + 1vw,2.2rem);letter-spacing:-.015em;color:var(--white);margin:0 0 .8rem}
.pillars p{color:#C9D0D7;margin:0;max-width:38ch}

.mapx-lite + .legend{margin-top:1rem}
/* Principles teaser (dark) */
.tenets{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:none;border-top:1px solid var(--navy)}
@media (min-width:640px){.tenets{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tenets li{margin:0;padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line)}
@media (min-width:640px){.tenets li:nth-child(odd){border-right:1px solid var(--line)}.tenets li:nth-child(even){padding-left:var(--s3)}}
.tenets h3{font-size:1.2rem;margin-bottom:.45rem}
.tenets h3 a{color:var(--navy);text-decoration:none}
.tenets h3 a:hover{color:var(--copper-ink)}
.tenets p{color:var(--slate);margin:0;font-size:.98rem}

/* Founder */
.founder{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:960px){.founder{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5)}}
.portrait{position:relative;padding:0 1.1rem 1.1rem 0;max-width:440px}
.portrait::before{content:"";position:absolute;top:1.1rem;left:1.1rem;right:0;bottom:0;border:1px solid var(--line-strong);z-index:0}
.portrait picture,.portrait img{position:relative;z-index:1;width:100%}
.founder-copy .lede{margin-bottom:var(--s3)}
.creds{list-style:none;padding:0;margin:var(--s3) 0 var(--s3);display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:none}
@media (min-width:600px){.creds{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}}
.creds li{margin:0;padding:1rem 0 1.1rem;border-top:1px solid var(--line-strong)}
.creds strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.08rem;color:var(--navy);margin-bottom:.25rem}
.creds span{display:block;color:var(--slate);font-size:.94rem;line-height:1.5}
.dark .creds li{border-color:var(--line-dark)}.dark .creds strong{color:var(--off)}.dark .creds span{color:var(--mute-dark)}

/* Founder letter */
.letter{position:relative;background:var(--white);border:1px solid var(--line);padding:clamp(1.75rem,5vw,4rem) clamp(1.25rem,5vw,4.25rem);margin-top:var(--s5);max-width:48rem}
.letter::before{content:"";position:absolute;top:-1px;left:clamp(1.25rem,5vw,4.25rem);width:4rem;height:3px;background:var(--copper)}
.note-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);margin-top:var(--s5);align-items:start}
.note-row .letter{margin-top:0}
.note-row-flush{margin-top:0}
.sticky-head .lede-sm{font-family:var(--serif);font-size:clamp(1.3rem,1.1rem + .7vw,1.65rem);line-height:1.35;max-width:22ch}
.pull{display:none}
@media (min-width:960px){
  .note-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5)}
  .note-row .letter{max-width:none}
  .pull{display:block;position:sticky;top:calc(var(--hh) + 3rem);font-family:var(--display);font-size:clamp(1.5rem,1rem + 1.3vw,2.2rem);line-height:1.3;color:var(--navy);margin:var(--s5) 0 0;padding-top:var(--s3);border-top:1px solid var(--copper);max-width:16ch}
}
.letter h2{font-size:clamp(1.4rem,1.15rem + 1vw,1.95rem);margin-bottom:var(--s3)}
.letter p{font-size:1.08rem;line-height:1.78;color:#24323F}
.sign{margin-top:var(--s4);display:flex;flex-direction:column;gap:.15rem}
.sig{font-family:var(--serif);font-size:1.5rem;font-style:normal;color:var(--copper-ink)}
.sign span:last-child{color:var(--slate);font-size:.94rem}

/* Partner band */
.partner-band{position:relative}
.partner-band .wrap > .pb-grid{border-top:1px solid var(--navy);padding-top:var(--s4)}
.pb-grid{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:900px){.pb-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s5)}}
.partner-band h2{font-size:clamp(2rem,1.4rem + 2vw,3.1rem)}
.partner-band .lede{margin:0}
.partner-band .actions{margin-top:0}
.partner-band .actions .btn{flex:1 1 15rem}
.partner-notice{font-size:.86rem;line-height:1.55;color:var(--slate);margin:var(--s3) 0 0;max-width:52ch}
.dark .partner-notice{color:var(--mute-dark)}
.partner-notice.boxed{margin:0 0 var(--s5);padding:1rem 1.25rem;border-left:2px solid var(--copper);background:var(--off);color:var(--navy);font-size:.95rem;max-width:none}

/* Contact routes */
.routes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:none}
@media (min-width:640px){.routes{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}}
@media (min-width:1100px){.routes{grid-template-columns:repeat(4,minmax(0,1fr))}}
.routes li{margin:0}
.route{display:flex;flex-direction:column;gap:.4rem;height:100%;padding:var(--s3) 0 var(--s3);border-top:1px solid var(--navy);text-decoration:none;color:var(--navy);transition:border-color .3s}
.route strong{font-family:var(--serif);font-weight:600;font-size:1.22rem}
.route span{color:var(--slate);font-size:.98rem}
.route em{font-style:normal;font-weight:600;color:var(--evergreen);margin-top:auto;padding-top:.4rem;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:var(--line);transition:text-decoration-color .3s}
.route:hover{color:var(--navy);border-top-color:var(--copper)}
.route:hover em{text-decoration-color:var(--copper)}

/* ---------- Principles page ---------- */
.principles{list-style:none;padding:0;margin:0;max-width:none;counter-reset:none}
.principle{margin:0;padding:var(--s4) 0;border-top:1px solid var(--line)}
.principle:first-child{border-top:1px solid var(--navy);padding-top:var(--s3)}
.principle h2{font-size:clamp(1.4rem,1.15rem + 1vw,1.95rem);margin-bottom:.75rem}
.principle p{font-size:1.1rem;line-height:1.72;color:#2C3A47;max-width:60ch;margin:0}
.principle:target h2{color:var(--copper-ink)}

/* ---------- Partner page ---------- */
.expect{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--s4);max-width:none}
@media (min-width:700px){.expect{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.expect{grid-template-columns:repeat(3,minmax(0,1fr))}}
.expect li{margin:0;padding:var(--s3) 0 var(--s4);border-top:1px solid var(--navy)}
.expect h3{font-size:1.22rem;margin-bottom:.55rem}
.expect p{color:#3D4852;margin:0}
.steps{list-style:none;padding:0;margin:0;counter-reset:step;max-width:none}
.steps li{counter-increment:step;margin:0;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:0 1rem;padding:var(--s3) 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:counter(step);grid-row:span 2;font-family:var(--serif);font-size:2rem;line-height:1;color:var(--copper-ink)}
.steps h3{font-size:1.25rem;margin-bottom:.35rem}
.steps p{margin:0;color:var(--slate)}
.join-sec{background:radial-gradient(60% 60% at 0 100%,rgba(31,61,46,.6),rgba(31,61,46,0) 70%),var(--navy)}

/* ---------- Portal ---------- */
.portal-hero{position:relative;overflow:hidden;background:var(--off)}
.portal-hero .wrap{position:relative;z-index:2;padding-top:clamp(2.25rem,5vw,4rem);padding-bottom:clamp(4rem,8vw,6rem)}
.portal-grid{display:grid;gap:var(--s5);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:960px){.portal-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
@media (max-width:959px){.portal-card{order:-1}}
.portal-hero h1{font-size:clamp(2.1rem,1.5rem + 2.1vw,3.4rem)}
.portal-hero .lede{color:var(--text)}
.portal-feats{list-style:none;padding:0;margin:var(--s4) 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--s4);max-width:none}
@media (min-width:600px){.portal-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.portal-feats li{margin:0;padding:1rem 0 1.1rem;border-top:1px solid var(--line-strong)}
.portal-feats h2{font-family:var(--body);font-size:1rem;font-weight:600;letter-spacing:0;color:var(--navy);margin-bottom:.25rem}
.portal-feats p{color:var(--slate);font-size:.95rem;margin:0}
.portal-card{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--navy);padding:clamp(1.5rem,4vw,2.75rem);border-radius:2px}
.portal-card h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem);margin-bottom:.5rem}
.lock{width:42px;height:42px;fill:none;stroke:var(--copper-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:var(--s3)}
.portal-actions{display:grid;gap:.75rem;margin-top:var(--s3)}
.signin-note{font-size:.9rem;color:var(--slate);margin:.75rem 0 0}
.secure{font-size:.9rem;margin:var(--s3) 0 0;padding-top:var(--s2);border-top:1px solid var(--line);color:var(--slate)}

/* ---------- About ---------- */
.about-intro .founder-copy h2{margin-bottom:var(--s3)}
.timeline{list-style:none;padding:0;margin:0;max-width:none}
.timeline li{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem var(--s3);padding:var(--s3) 0 var(--s3) 1.5rem;border-left:1px solid var(--copper);position:relative}
.timeline li::before{content:"";position:absolute;left:-5px;top:calc(var(--s3) + .5rem);width:9px;height:9px;border-radius:50%;background:var(--white);border:1.5px solid var(--copper-ink)}
.timeline li:last-child::before{background:var(--copper);border-color:var(--copper)}
@media (min-width:700px){.timeline li{grid-template-columns:8.5rem minmax(0,1fr)}}
.timeline .when{font-family:var(--serif);color:var(--copper-ink);font-size:1.05rem;margin:0;padding-top:.15rem}
.timeline h3{font-size:1.3rem;margin-bottom:.2rem}
.timeline .role{font-size:.95rem;color:var(--slate);margin-bottom:.5rem}
.timeline .lesson{font-style:italic;color:#2C3A47;margin:0}
.timeline .lesson span{font-style:normal;font-weight:600;color:var(--navy)}

/* ---------- Legacy components (strategy, markets, insights) ---------- */
.ledger{list-style:none;padding:0;margin:0;max-width:none}
.ledger > li{margin:0;display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--line)}
.ledger > li:last-child{border-bottom:1px solid var(--line)}
.ledger .no{font-family:var(--serif);color:var(--copper-ink);font-size:1.5rem;line-height:1.2}
.ledger h3{margin-bottom:.35rem}
.ledger p{margin-bottom:.5rem}
.ledger .tags{font-size:.92rem;color:var(--slate);margin:0}
.strategy{padding:var(--s5) 0;border-top:1px solid var(--line)}
.strategy:first-of-type{border-top:0;padding-top:0}
.strategy-grid{display:grid;gap:var(--s3)}
@media (min-width:900px){.strategy-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s5)}}
.strat-figure{aspect-ratio:16/10;overflow:hidden;border-radius:2px;background:var(--off);margin-bottom:var(--s3)}
.strat-figure img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){.strategy-grid > header{position:sticky;top:calc(var(--hh) + 2rem);align-self:start}}
.bb-head{display:flex;align-items:center;gap:1rem;margin:var(--s4) 0 .25rem}
.bb-head:first-child{margin-top:0}
.bb-head h3{margin:0}
.bb-img{width:96px;aspect-ratio:16/10;height:auto;object-fit:cover;border-radius:2px;flex:none}
.facts{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:var(--s3) 0;max-width:var(--measure)}
@media (min-width:600px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}}
.facts div{padding:.8rem 0;border-top:1px solid var(--line)}
.facts dt{font-size:.88rem;color:var(--slate);margin-bottom:.15rem}
.facts dd{margin:0;font-weight:600}
.dark .facts div{border-color:var(--line-dark)}.dark .facts dt{color:var(--mute-dark)}
.audiences{display:grid;gap:0;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--navy)}
@media (min-width:720px){.audiences{grid-template-columns:repeat(2,minmax(0,1fr))}}
.audiences article{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line)}
.audiences h3{margin-bottom:.4rem}
.audiences p{color:var(--slate);margin-bottom:.6rem}

.prose{max-width:var(--measure)}
.prose h2{font-size:clamp(1.35rem,1.15rem + .8vw,1.8rem);margin-top:var(--s4)}
.prose h3{margin-top:var(--s3)}
.prose p,.prose li{font-size:1.0938rem;line-height:1.74}
.prose blockquote{margin:var(--s3) 0;padding:.25rem 0 .25rem 1.25rem;border-left:2px solid var(--copper);font-family:var(--serif);font-size:1.25rem;line-height:1.45;color:var(--navy)}
.article-foot{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);font-size:.95rem;color:var(--slate)}
.posts{list-style:none;padding:0;margin:0;max-width:none}
.posts li{margin:0;padding:var(--s4) 0;border-top:1px solid var(--line)}
.posts li:first-child{border-top-color:var(--navy)}
.posts li:last-child{border-bottom:1px solid var(--line)}
.posts h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.8rem);margin-bottom:.5rem}
.posts h2 a{color:var(--navy);text-decoration:none}
.posts h2 a:hover{text-decoration:underline;text-decoration-color:var(--copper)}
.posts p{color:var(--slate);margin-bottom:.4rem}
.posts .meta{font-size:.9rem;color:var(--slate)}

/* FAQ */
.faq-group{margin-bottom:var(--s5)}
.faq-group h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);padding-bottom:.6rem;border-bottom:1px solid var(--navy);margin-bottom:0}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq-group details:first-child{border-top:0}
.faq summary{cursor:pointer;padding:1.15rem 2.25rem 1.15rem 0;font-weight:600;list-style:none;position:relative;max-width:var(--measure);transition:color .2s}
.faq summary:hover{color:var(--evergreen)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1rem;font-family:var(--serif);font-size:1.4rem;color:var(--copper-ink);line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding:0 0 1.2rem}
.faq details > div p{color:#3D4852}

/* Checklist, notes, promise */
.checklist{list-style:none;padding:0}
.checklist li{padding-left:1.6rem;position:relative;margin:.55rem 0}
.checklist li::before{content:"";position:absolute;left:0;top:.72em;width:.85rem;height:1px;background:var(--copper)}
.note{border-left:2px solid var(--copper);padding:.25rem 0 .25rem 1.1rem;max-width:var(--measure)}
.promise{display:grid;gap:0;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--navy);margin:var(--s3) 0}
@media (min-width:640px){.promise{grid-template-columns:repeat(2,minmax(0,1fr))}}
.promise div{padding:var(--s3) var(--s3) var(--s3) 0;border-bottom:1px solid var(--line)}
.promise strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.1rem;max-width:42rem;position:relative}
.form .row{display:grid;gap:1.1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.form .row{grid-template-columns:repeat(2,minmax(0,1fr))}}
label{display:block;font-weight:600;font-size:.94rem;margin-bottom:.35rem}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--navy);background:#fff;border:1px solid #767E86;border-radius:2px;padding:.75rem .85rem;min-height:48px;transition:border-color .2s,box-shadow .2s}
textarea{min-height:9rem;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--copper);outline-offset:1px;border-color:var(--navy)}
.checks{border:0;padding:0;margin:0;display:grid;gap:.1rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.checks{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.1rem}}
.checks legend{font-weight:600;font-size:.94rem;margin-bottom:.35rem;padding:0}
.checks label{display:flex;align-items:center;gap:.65rem;font-weight:400;min-height:44px;margin:0;cursor:pointer;line-height:1.35}
.checks input{width:22px;height:22px;min-height:0;flex:none;margin:0;accent-color:var(--copper);background:transparent;border:2px solid var(--sand)}
.form .hp label{color:var(--navy)}
.form-status{font-size:.95rem;color:var(--evergreen);min-height:1.4em;margin:0;overflow-wrap:anywhere}
.form-status.is-error{color:var(--copper-ink);font-weight:600}
.form-fine{font-size:.86rem;color:var(--slate);margin:0}
.form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{min-height:48px}
.form-dark label,.form-dark legend{color:var(--off)}
.form-dark input:not([type=checkbox]),.form-dark select,.form-dark textarea{border-color:#8D96A0}
.form-dark .form-status{color:var(--sand)}
.form-dark .form-status.is-error{color:var(--copper-lite)}
.form-dark .form-fine{color:var(--mute-dark)}

/* ---------- Markets map ---------- */
.mapx{position:relative}
.mapx-stage{position:relative;border:1px solid var(--line);background:var(--paper);overflow:hidden;border-radius:2px}
.mapx-full .mapx-stage{aspect-ratio:16/9}
.mapx-lite .mapx-stage{aspect-ratio:2/1}
.map-figure{margin:0}
.map-static{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.map-static svg{width:100%;height:100%}
.mapx.is-live .map-static{visibility:hidden}
.mapx .mapx-canvas{position:absolute;inset:0}
.mapx-canvas[hidden]{display:none}
.map-figure .reach{fill:var(--sand);opacity:.35}
.map-figure .grat{stroke:var(--line);stroke-width:1;fill:none;stroke-dasharray:2 6}
.map-figure .pt{stroke:var(--white);stroke-width:2.5}
.map-figure .pt.core{fill:var(--navy)}
.map-figure .pt.sec{fill:var(--white);stroke:var(--navy);stroke-width:2.5}
.map-figure .pt.focus{fill:var(--copper)}
.map-figure .pt.gds{fill:var(--evergreen)}
.map-figure text{font-family:var(--body);font-size:19px;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round;fill:var(--navy)}
.map-figure a text{text-decoration:underline;text-decoration-color:var(--copper)}
.map-figure a:hover text{fill:var(--evergreen)}
.map-figure a:focus-visible circle{stroke:var(--copper);stroke-width:4}
@media (max-width:640px){.map-figure text{display:none}.map-figure text.lf{display:inline;font-size:34px;stroke-width:6px}}
@media (max-width:759px){.mapx-full .mapx-stage{aspect-ratio:4/5}.mapx-lite .mapx-stage{aspect-ratio:4/3}}
.legend{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.9rem;color:var(--slate);margin:1rem 0 0;padding:0;list-style:none;max-width:none}
.legend li{display:flex;align-items:center;gap:.5rem;margin:0}
.legend i.r{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--sand);opacity:.6}
.tier-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 1.5px var(--white),0 0 0 2.5px var(--line-strong)}
.t-focus{background:var(--copper)}.t-core{background:var(--navy)}.t-sec{background:var(--white);box-shadow:inset 0 0 0 2px var(--navy)}.t-gds{background:var(--evergreen)}
.map-note{font-size:.88rem;color:var(--slate);margin:.75rem 0 0}
/* MapLibre markers: real buttons, so the map is keyboard reachable */
.mk{position:relative;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}
.mk-dot{display:block;width:14px;height:14px;border-radius:50%;border:2px solid var(--white);background:var(--navy);box-shadow:0 1px 3px rgba(13,27,42,.4);transition:transform .2s var(--ease),box-shadow .2s}
.mk-focus .mk-dot{width:18px;height:18px;background:var(--copper)}
.mk-sec .mk-dot{background:var(--white);border-color:var(--navy)}
.mk-gds .mk-dot{background:var(--evergreen)}
.mk:hover .mk-dot,.mk.is-selected .mk-dot{transform:scale(1.3)}
.mk.is-selected .mk-dot{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--navy)}
.mk:focus-visible{outline:2px solid var(--copper);outline-offset:0}
.mk-tip{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translateX(-50%);white-space:nowrap;background:var(--navy);color:var(--white);font:600 .76rem/1.2 var(--body);padding:.3rem .5rem;border-radius:2px;pointer-events:none;opacity:0;transition:opacity .15s}
.mk:hover .mk-tip,.mk:focus-visible .mk-tip{opacity:1}
.mk.is-selected .mk-tip{opacity:0}
.mapx-panel{position:absolute;z-index:3;top:1rem;right:1rem;max-height:calc(100% - 2rem);width:min(22rem,calc(100% - 2rem));overflow-y:auto;background:var(--white);border:1px solid var(--line);border-top:2px solid var(--navy);box-shadow:0 24px 50px -30px rgba(13,27,42,.5);padding:1.4rem 1.4rem 1.2rem}
.mapx-panel[hidden]{display:none}
.mapx-panel h3{font-size:1.6rem;font-weight:300;margin:0 2rem .35rem 0;letter-spacing:-.015em}
.mapx-close{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--navy);border-radius:2px}
.mapx-close svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.6;fill:none}
.mapx-close:hover{background:var(--off)}
@media (max-width:759px){.mapx-panel{position:relative;top:auto;right:auto;bottom:auto;width:auto;border:1px solid var(--line);border-top:2px solid var(--navy);box-shadow:none;margin-top:-1px}}
.mc-tier{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--slate);margin:0 0 .9rem}
.dps{list-style:none;padding:0;margin:0 0 1rem;max-width:none}
.dps li{margin:0;padding:.7rem 0;border-top:1px solid var(--line)}
.dps .dp{display:block;font-size:.95rem;line-height:1.45;color:var(--text)}
.dps .dp strong{font-family:var(--serif);font-weight:600;font-size:1.12rem;color:var(--navy);letter-spacing:-.005em}
.dps .src{display:block;font-size:.76rem;color:var(--slate);margin-top:.2rem}
.mc-link{margin:0;font-weight:600;font-size:.95rem}
/* Home (lite) popups */
.maplibregl-popup.frh-pop .maplibregl-popup-content{padding:.85rem 2.4rem .85rem 1rem;border-radius:2px;box-shadow:0 18px 40px -24px rgba(13,27,42,.5);font-family:var(--body);color:var(--navy)}
.frh-pop strong{display:block;font-family:var(--serif);font-weight:600;font-size:1.1rem;line-height:1.25}
.frh-pop span{display:block;font-size:.84rem;color:var(--slate);margin:.15rem 0 .4rem}
.frh-pop a{font-weight:600;font-size:.9rem}
.frh-pop .maplibregl-popup-close-button{width:36px;height:36px;font-size:1.2rem;color:var(--navy)}
.mapx .maplibregl-ctrl-attrib{font-size:.7rem}
/* Metro list (/markets) */
.metro-index{display:grid;gap:var(--s4) var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.metro-index{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1150px){.metro-index{grid-template-columns:repeat(4,minmax(0,1fr))}}
.tier-group h3{display:flex;align-items:center;gap:.6rem;font-size:1.12rem;padding-bottom:.65rem;border-bottom:1px solid var(--navy);margin:0}
.tier-group .group-note{font-size:.86rem;color:var(--slate);margin:.6rem 0 .2rem}
.tier-group ul{list-style:none;padding:0;margin:0;max-width:none}
.tier-group li{margin:0;border-bottom:1px solid var(--line)}
.tier-group summary{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-height:44px;padding:.7rem 0;cursor:pointer;list-style:none}
.tier-group summary::-webkit-details-marker{display:none}
.tier-group summary .mn{font-weight:600;color:var(--navy)}
.tier-group summary .ms{font-size:.84rem;color:var(--slate);display:flex;align-items:center;gap:.6rem}
.tier-group summary .ms::after{content:"+";font-family:var(--serif);font-size:1.2rem;line-height:1;color:var(--copper-ink);transition:transform .25s var(--ease)}
.tier-group details[open] summary .ms::after{transform:rotate(45deg)}
.tier-group summary:hover .mn{color:var(--evergreen)}
.tier-group .metro-card{padding:0 0 1rem}
.tier-group li.is-selected summary .mn{color:var(--copper-ink)}

/* ---------- CTA band (inner pages): light, ruled ---------- */
.cta-band{position:relative;background:var(--off)}
.cta-band .wrap{padding-top:var(--s5);padding-bottom:calc(var(--s5) + clamp(30px,4.5vw,64px));display:grid;gap:var(--s3);grid-template-columns:minmax(0,1fr);align-items:end}
@media (min-width:860px){.cta-band .wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.cta-band h2{margin-bottom:.6rem}
.cta-band p{color:var(--slate);margin:0}
.cta-band .actions{margin-top:0}
@media (min-width:860px){.cta-band .actions{justify-content:flex-end}}

/* ---------- Footer ---------- */
.site-footer{position:relative;background:var(--navy);color:var(--mute-dark);font-size:.95rem}
.foot-ridge{position:absolute;left:0;bottom:calc(100% - 1px);width:100%;height:clamp(30px,4.5vw,64px)}
.foot-ridge .mass{fill:var(--navy)}
.foot-ridge .crest{fill:none;stroke:var(--copper);stroke-width:1.6;vector-effect:non-scaling-stroke}
.site-footer .wrap{padding-top:var(--s5);padding-bottom:var(--s4)}
.foot-top{display:grid;gap:var(--s4);grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.foot-top{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s5)}}
.foot-brand img{width:96px;margin-bottom:var(--s3)}
.foot-line{font-family:var(--serif);color:var(--off);font-size:1.2rem;line-height:1.4;max-width:28ch}
.foot-brand .actions{margin-top:var(--s3)}
.foot-cols{display:grid;gap:var(--s3);grid-template-columns:minmax(0,1fr)}
@media (min-width:600px){.foot-cols{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.35fr)}}
.site-footer h2{font-family:var(--body);font-size:.95rem;font-weight:600;letter-spacing:.01em;color:var(--sand);margin-bottom:.6rem}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:0}
.site-footer li a{display:inline-block;min-width:44px;padding:.6rem 0;overflow-wrap:anywhere}
.site-footer a{color:var(--off);text-decoration-color:rgba(220,198,174,.4)}
.site-footer a:hover{color:var(--sand);text-decoration-color:var(--copper)}
.disclaimer{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line-dark);font-size:.85rem;line-height:1.6;max-width:none}
.disclaimer p{max-width:110ch}

.notfound{min-height:50vh}
@media print{
  .site-header,.cta-band,.ridge,.landscape,.foot-ridge,.head-ridge,.menu,.skip,.form,.foot-brand img,.partner-band .actions,.hero-media,.mapx-canvas{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .hero,.page-head,.portal-hero,.dark,.green,.tint,.pillars-band,.site-footer{background:#fff!important;color:#000!important}
  .dark *,.green *,.pillars-band *,.site-footer *{color:#000!important}
  .hero-copy,.page-head .wrap,.portal-hero .wrap{padding-top:1rem;padding-bottom:1rem}
  .mapx.is-live .map-static{visibility:visible}
  .section{padding:1.5rem 0}
  .reveal{opacity:1!important;transform:none!important}
  a{color:#000}
  .prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;overflow-wrap:anywhere}
  h1,h2,h3{break-after:avoid}
  img,figure,li,.strategy,.letter{break-inside:avoid}
}

/* ---------- Oct 27 additions: fact row, process strip, sticky in-page tabs ---------- */
.facts-row{border-bottom:1px solid var(--line);background:var(--white)}
.vfacts{list-style:none;margin:0;padding:clamp(1.75rem,4vw,2.5rem) 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem var(--s3);max-width:none}
@media (min-width:860px){.vfacts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.vfacts li{margin:0;padding:.15rem 0 .15rem 1.1rem;border-left:1px solid var(--line-strong)}
.vfacts strong{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,1.3rem + 1.2vw,2.4rem);line-height:1.1;color:var(--navy);letter-spacing:-.01em}
.vfacts span{display:block;font-size:.88rem;color:var(--slate);margin-top:.3rem}
.process{margin-top:var(--s3)}
.process-label{font-size:.84rem;color:var(--slate);margin:0 0 .6rem}
.process-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 0;max-width:none}
.process-steps li{margin:0;display:flex;align-items:center;font-size:.92rem;font-weight:600;color:var(--navy)}
.process-steps li + li::before{content:"";width:clamp(1rem,2.5vw,2.25rem);height:1px;background:var(--line-strong);margin:0 .7rem}
.process-dark{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid rgba(220,198,174,.25)}
.process-dark .process-label{color:var(--mute-dark)}
.process-dark .process-steps li{color:var(--off)}
.process-dark .process-steps li + li::before{background:rgba(220,198,174,.45)}
.subnav{position:sticky;top:var(--hh);z-index:40;background:var(--white);border-bottom:1px solid var(--line)}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;overflow-x:auto;scrollbar-width:none;max-width:none}
.subnav ul::-webkit-scrollbar{display:none}
.subnav li{margin:0;flex:none}
.subnav a{display:block;padding:.85rem 0;font-size:.9rem;color:var(--slate);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.subnav a:hover{color:var(--navy)}
.subnav a[aria-current="true"]{color:var(--navy);border-bottom-color:var(--navy)}
html:has(.subnav){scroll-padding-top:calc(var(--hh) + 4rem)}
.subnav + .section{padding-top:var(--s5)}
@media print{.subnav,.facts-row{display:none!important}}

/* =====================================================================================
   Photo pass (Oct 27, 2026): photography, aerial hero loop, Plex type, brand motifs
   ===================================================================================== */
/* Labels: IBM Plex Sans uppercase, wide tracking (echoes the HOLDINGS / MIDWEST & MOUNTAIN WEST lockups) */
.process-label,.mc-tier,.dd-panel small,.m-group h2,.site-footer h2,.crumbs{letter-spacing:.02em}
.process-label,.site-footer h2,.m-group h2{text-transform:uppercase;letter-spacing:var(--track);font-size:.74rem;font-weight:500}
.dps .src,.inline-photo figcaption,.map-note{font-family:var(--mono);font-size:.74rem;letter-spacing:0;line-height:1.5}
.vfacts span{font-family:var(--body);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:500}

/* Copper hairline rule above section headings */
.sec-head h2::before,.section-intro h2::before{content:"";display:block;width:2.5rem;height:1px;background:var(--copper);margin-bottom:1.15rem}
.pillars-band .sec-head h2::before{background:var(--copper-lite)}

/* Faint topographic texture on dark bands (4-6%) */
.pillars-band,.dark,.site-footer{position:relative;isolation:isolate}
.pillars-band::after,.section.dark::after,.site-footer::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url("/assets/img/topo.svg") center/900px repeat;opacity:.05}

/* Hero media: poster picture underneath, video fades in once playing, copper-engraved ridgeline on top */
.hero-media[data-kind="video"]{background:var(--navy)}
.hero-poster,.hero-poster img{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-poster img{object-fit:cover;object-position:50% 50%}
.hero-video{opacity:0;transition:opacity 1.2s var(--ease)}
.hero-video.is-playing{opacity:1}
.hero-media[data-kind="video"]::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(13,27,42,.18) 0%,rgba(13,27,42,0) 30%,rgba(13,27,42,0) 62%,rgba(13,27,42,.42) 100%)}
.hero-ridge{position:absolute;left:0;right:0;bottom:0;z-index:2;width:100%;height:clamp(36px,7vw,90px);pointer-events:none}
.hero-ridge path{fill:none;stroke:var(--copper);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}
@media (min-width:900px){.hero-media{min-height:0}}
@media (max-width:899px){.hero-media[data-kind="video"]{aspect-ratio:16/10;min-height:0}}

/* Photographic inner page head */
.photo-head{background:var(--navy);color:var(--off);min-height:clamp(22rem,52vh,34rem);display:flex;flex-direction:column;justify-content:flex-end}
.photo-head .ph-media,.photo-head .ph-media picture,.photo-head .ph-media img{position:absolute;inset:0;width:100%;height:100%;display:block}
.photo-head .ph-media img{object-fit:cover}
.photo-head .ph-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(13,27,42,.88) 0%,rgba(13,27,42,.66) 42%,rgba(13,27,42,.18) 78%,rgba(13,27,42,.1) 100%),
             linear-gradient(0deg,rgba(13,27,42,.55) 0%,rgba(13,27,42,0) 45%)}
.photo-head .wrap{padding-top:clamp(5rem,12vw,9rem);width:100%}
.photo-head h1{color:var(--white)}
.photo-head .lede{color:#E9E4DD;max-width:50ch}
.photo-head .muted{color:var(--mute-dark)}
.photo-head .crumbs,.photo-head .crumbs a{color:#D3D8DD}
.photo-head .crumbs a:hover{color:var(--white)}
.photo-head .btn{border-color:rgba(220,198,174,.75);color:var(--off)}
.photo-head .btn:hover{background:var(--off);color:var(--navy)}
.photo-head .btn.primary{background:var(--copper);border-color:var(--copper);color:var(--navy)}
.photo-head .btn.primary:hover{background:var(--sand);border-color:var(--sand)}
.photo-head .head-ridge{z-index:2}
.photo-head .head-ridge .crest{stroke:var(--copper);stroke-width:1.4}
@media (max-width:640px){.photo-head .ph-media::after{background:linear-gradient(0deg,rgba(13,27,42,.92) 0%,rgba(13,27,42,.72) 55%,rgba(13,27,42,.3) 100%)}}

/* Dark bands carrying an atmospheric photograph */
.has-photo{position:relative;overflow:hidden;isolation:isolate}
.band-photo,.band-photo picture,.band-photo img{position:absolute;inset:0;width:100%;height:100%;display:block}
.band-photo{z-index:-2}
.band-photo img{object-fit:cover}
.pillars-band .band-photo img{opacity:.5;filter:saturate(.85)}
.pillars-band .band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,27,42,.62) 0%,rgba(13,27,42,.78) 45%,rgba(13,27,42,.9) 100%)}
.portal-hero .band-photo img{opacity:.16;filter:grayscale(.3)}
.portal-hero .band-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,243,239,.97) 0%,rgba(246,243,239,.9) 55%,rgba(246,243,239,.55) 100%)}

/* Partner band: navy, photograph flush right */
.partner-band.dark{padding:0;overflow:hidden}
.partner-band .pb-photo{position:relative;aspect-ratio:16/9}
.partner-band .pb-photo picture,.partner-band .pb-photo img{position:absolute;inset:0;width:100%;height:100%;display:block}
.partner-band .pb-photo img{object-fit:cover}
.partner-band .wrap{padding-top:var(--s5);padding-bottom:var(--s5)}
.partner-band .wrap > .pb-grid{border-top:0;padding-top:0;grid-template-columns:minmax(0,1fr);align-items:start}
.partner-band h2{color:var(--white)}
.partner-band .lede{color:#E9E4DD;margin-bottom:var(--s3)}
.partner-band .partner-notice{color:var(--mute-dark)}
.partner-band .eyebrow{color:var(--copper-lite)}
@media (min-width:900px){
  .partner-band.dark{min-height:34rem;display:flex;align-items:center}
  .partner-band .pb-photo{position:absolute;top:0;right:0;bottom:0;width:48%;aspect-ratio:auto}
  .partner-band .pb-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--navy) 0%,rgba(13,27,42,0) 30%)}
  .partner-band .wrap{width:100%;padding-top:var(--s6);padding-bottom:var(--s6)}
  .partner-band .pb-grid{max-width:min(36rem,46%)}
  .partner-band .actions .btn{flex:0 1 auto}
}

/* Brand attributes row */
.attrs{list-style:none;margin:0 0 var(--s4);padding:0;display:flex;flex-wrap:wrap;gap:.35rem 0;max-width:none;
  font-family:var(--body);font-size:.74rem;font-weight:500;letter-spacing:var(--track);text-transform:uppercase;color:var(--slate)}
.attrs li{margin:0;display:inline-flex;align-items:center}
.attrs li + li::before{content:"";display:inline-block;width:1.4rem;height:1px;background:var(--copper);margin:0 .8rem;vertical-align:middle}
.attrs-light{color:var(--sand);margin:var(--s3) 0 0}

/* Strategy imagery */
.strat-figure{background:var(--navy)}
.strat-figure picture,.card-media picture{display:block;width:100%;height:100%}
.inline-photo{margin:var(--s4) 0 0}
.inline-photo picture,.inline-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:2px}
.inline-photo figcaption{color:var(--slate);margin-top:.6rem}
.bb-head picture{flex:none;line-height:0}

/* Credits */
.credits{list-style:none;margin:0 0 var(--s3);padding:0;columns:2 18rem;column-gap:var(--s4);font-size:.88rem;max-width:none}
.credits li{margin:0 0 .45rem;break-inside:avoid;color:var(--slate)}
.credits li span{color:var(--text)}
.photo-credit{display:block;margin-top:.35rem;font-size:.82rem;color:var(--mute-dark)}
.photo-credit a{color:var(--mute-dark)}
@media print{.band-photo,.ph-media,.pb-photo,.hero-ridge{display:none!important}.photo-head{background:#fff!important;color:#000!important;min-height:0}.photo-head h1,.photo-head .lede{color:#000!important}}
@media (max-width:699px){
  .attrs{gap:.55rem 1.1rem}
  .attrs li::before,.attrs li + li::before{content:"";display:inline-block;width:.9rem;height:1px;background:var(--copper);margin:0 .55rem 0 0}
}
