/* Hunters and Skipper website design system
   Built to Brand Guidelines, Issue One, September 2026.
   Author: Sanjay Sharma, Hunters and Skipper */


/* ---------- Tokens ---------- */
:root{
  /* The four identity colours */
  --navy:#0E2545;        /* Authority. Institutional ground */
  --ivory:#F4F1E9;       /* Intelligence and space. Knowledge ground */
  --pine:#0D793D;        /* Our intellectual property, and nothing else */
  --brass:#C8A860;       /* Distinction. Small type on navy only */
  /* Working tints with defined jobs */
  --deep-brass:#806428;  /* Numerals and marks on ivory only */
  --ink:#16294A;         /* Headlines and labels on ivory, 12.83 to 1 */
  --slate:#4C5A72;       /* Secondary copy on ivory, 6.18 to 1 */
  --muted-blue:#A8B6C9;  /* Secondary type on navy */
  --hair-light:#D7D1C2;  /* Rules on ivory */
  --hair-dark:#27405F;   /* Rules on navy */
  --ivory-deep:#ECE7DB;  /* Empty image slot field on ivory */

  --serif:"Source Serif 4",Cambria,Georgia,serif;
  --sans:"Inter",Aptos,Calibri,"Segoe UI",system-ui,sans-serif;

  --max:1240px;
  --read:680px;
  --gutter:clamp(16px,4vw,56px);
  --section:clamp(52px,7vw,104px);
  --hair:1px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;font-weight:400}
ul,ol{margin:0;padding:0}
::selection{background:var(--navy);color:var(--ivory)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.on-ivory :focus-visible,.ivory :focus-visible{outline-color:var(--navy)}

.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:var(--ivory);padding:12px 18px;z-index:100;font-weight:600}
.skip:focus{left:16px;top:16px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.read{max-width:var(--read)}

/* ---------- Page modes ---------- */
.navy{background:var(--navy);color:var(--ivory)}
.ivory{background:var(--ivory);color:var(--ink)}
.section{padding:var(--section) 0}
.section.tight{padding:clamp(40px,5vw,72px) 0}
.ivory.section+.ivory.section,.ivory.section+.ivory .section,.ivory+.ivory.section{padding-top:clamp(44px,5.5vw,84px)}
.rule-top{border-top:var(--hair) solid var(--hair-light)}
.navy .rule-top,.navy.rule-top{border-top-color:var(--hair-dark)}

/* ---------- Type scale ---------- */
.kicker{font-family:var(--sans);font-size:clamp(15px,1.3vw,17px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 22px;display:block}
.navy .kicker{color:var(--brass)}
.kicker.ip{color:var(--pine)}            /* pine kicker marks proprietary method */
.navy .kicker.ip{color:var(--brass)}     /* pine never sets type on navy */
.display{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.2vw,76px);line-height:1.06;letter-spacing:-.012em}
.h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.8vw,60px);line-height:1.1;letter-spacing:-.01em}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1.15;letter-spacing:-.006em}
.h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2vw,26px);line-height:1.3}
.h4{font-family:var(--sans);font-weight:600;font-size:17px;line-height:1.4}
.standfirst{font-family:var(--sans);font-style:italic;font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--slate);max-width:720px}
.navy .standfirst{color:var(--muted-blue)}
.lede{font-size:clamp(18px,1.5vw,20px);line-height:1.65}
.muted{color:var(--slate)}
.navy .muted{color:var(--muted-blue)}
.pull{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3vw,38px);line-height:1.35;letter-spacing:-.005em}
.closing{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.4}
.numeral{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5vw,64px);line-height:1;color:var(--deep-brass)}
.navy .numeral{color:var(--brass)}
.note{font-size:14px;line-height:1.5;color:var(--slate)}
.navy .note{color:var(--muted-blue)}
.label{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}

/* ---------- Links and actions ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.02em;text-decoration:none;padding:16px 26px;border:1px solid var(--navy);background:var(--navy);color:var(--ivory);transition:background .25s ease,color .25s ease,border-color .25s ease}
.btn:hover{background:var(--ink);border-color:var(--ink)}
.btn.line{background:transparent;color:var(--navy)}
.btn.line:hover{background:var(--navy);color:var(--ivory)}
.navy .btn{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}
.navy .btn:hover{background:transparent;color:var(--ivory)}
.navy .btn.line{background:transparent;color:var(--ivory);border-color:var(--muted-blue)}
.navy .btn.line:hover{border-color:var(--brass);color:var(--brass)}
.arrow::after{content:"";width:22px;height:1px;background:currentColor;display:inline-block;position:relative;transition:width .25s ease}
.arrow:hover::after{width:32px}
.textlink{font-weight:600;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding-bottom:4px}
.textlink:hover{color:var(--slate)}
.navy .textlink:hover{color:var(--brass)}
.actions{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:40px}
.reassure{margin-top:18px;font-size:14px;color:var(--slate)}
.navy .reassure{color:var(--muted-blue)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--ivory);border-bottom:1px solid transparent;transition:border-color .3s ease}
.site-header.scrolled{border-bottom-color:var(--hair-light)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;height:92px;gap:32px}
.brand{display:block;width:196px;color:var(--navy);flex:0 0 auto}
.brand svg,.brand img{width:100%;height:auto}
.nav{display:flex;align-items:center;gap:6px}
.nav>ul{display:flex;list-style:none;gap:2px;align-items:center}
.nav>ul>li{position:relative}
.nav a.top,.nav button.top{white-space:nowrap;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;background:none;border:0;padding:12px 14px;cursor:pointer;display:inline-block;position:relative}
.nav a.top::after,.nav button.top::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav a.top:hover::after,.nav button.top:hover::after,.nav [aria-current="page"]::after,.nav li.open>button.top::after{transform:scaleX(1)}
.nav .cta{margin-left:14px;padding:12px 20px;font-size:14px;white-space:nowrap}
@media (min-width:1081px) and (max-width:1280px){.nav a.top,.nav button.top{padding:12px 9px;font-size:14.5px}.nav a.top::after,.nav button.top::after{left:9px;right:9px}.nav .cta{margin-left:8px;padding:12px 16px}}
.panel{position:absolute;top:100%;left:0;min-width:560px;background:var(--ivory);border:1px solid var(--hair-light);padding:32px 36px;display:none;grid-template-columns:1fr 1fr;gap:28px 40px}
.panel.single{min-width:320px;grid-template-columns:1fr}
.nav li.open>.panel{display:grid}
.panel h4{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin:0 0 12px}
.panel ul{list-style:none}
.panel li a{display:block;text-decoration:none;padding:7px 0;font-size:15px;color:var(--ink);border-bottom:1px solid transparent}
.panel li a:hover{color:var(--slate)}
.panel .intro{font-family:var(--serif);font-size:19px;line-height:1.4;color:var(--ink)}
.panel .intro a{font-family:var(--sans);font-size:14px;font-weight:600;display:inline-block;margin-top:14px}
.menu-toggle{display:none;background:none;border:1px solid var(--navy);color:var(--navy);font:600 14px var(--sans);padding:10px 16px;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(88px,12vw,168px) 0 clamp(72px,9vw,120px)}
.hero .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;align-items:end}
.hero .display{max-width:13ch}
.hero .standfirst{margin-top:32px}
.hero-mark{position:absolute;right:-4vw;top:50%;transform:translateY(-50%);width:min(42vw,560px);color:var(--hair-dark);pointer-events:none}
.hero-mark svg,.hero-mark img,.closing-cta .mark img,.slot .ph .mk img{width:100%;height:auto}
.hero .brassline{width:64px;height:1px;background:var(--brass);margin:0 0 28px}
.page-hero{padding:clamp(72px,9vw,128px) 0 clamp(56px,7vw,96px)}
.page-hero .h1{max-width:20ch}
.page-hero .standfirst{margin-top:28px}
.crumbs{font-size:13px;letter-spacing:.04em;color:var(--slate);margin-bottom:28px;display:flex;flex-wrap:wrap;gap:8px}
.navy .crumbs{color:var(--muted-blue)}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.6}

/* ---------- Evidence strip ---------- */
.evidence{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hair-light);border-bottom:1px solid var(--hair-light)}
.evidence>div{padding:34px 28px 30px 0}
.evidence>div+div{padding-left:28px;border-left:1px solid var(--hair-light)}
.evidence .numeral{font-size:clamp(40px,4.4vw,56px)}
.evidence .what{margin-top:10px;font-size:15px;color:var(--slate);line-height:1.45}
.evidence-note{margin-top:14px}

/* ---------- Layout helpers ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px)}
.split.even{grid-template-columns:1fr 1fr}
.split.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,3.5vw,56px)}
.cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(32px,4vw,72px)}
.cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(24px,3vw,44px)}
.stack>*+*{margin-top:18px}
.head{margin-bottom:clamp(28px,3.5vw,52px);max-width:820px}
.head .standfirst{margin-top:22px}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vw,48px)}

/* ---------- Entries (hairline divided, no cards) ---------- */
.entry{border-top:1px solid var(--hair-light);padding:28px 0 36px}
.navy .entry{border-top-color:var(--hair-dark)}
.entry .num{font-family:var(--serif);font-size:18px;color:var(--deep-brass);display:block;margin-bottom:14px}
.navy .entry .num{color:var(--brass)}
.entry h3{margin-bottom:12px}
.entry p{color:var(--slate);margin-bottom:0}
.navy .entry p{color:var(--muted-blue)}
.entry .more{margin-top:20px;display:inline-flex}
a.entry-link{display:block;text-decoration:none;transition:background .25s ease}
a.entry-link:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.entry ul.items{list-style:none;margin-top:16px}
.entry ul.items li{font-size:15px;color:var(--slate);padding:6px 0;border-top:1px solid var(--hair-light)}
.navy .entry ul.items li{color:var(--muted-blue);border-top-color:var(--hair-dark)}

/* Practice rows (large list with right arrow) */
.rows{border-bottom:1px solid var(--hair-light)}
.navy .rows{border-bottom-color:var(--hair-dark)}
.row{display:grid;grid-template-columns:80px minmax(0,4fr) minmax(0,6fr) 40px;gap:24px;align-items:baseline;padding:30px 0;border-top:1px solid var(--hair-light);text-decoration:none}
.navy .row{border-top-color:var(--hair-dark)}
.row .num{font-family:var(--serif);color:var(--deep-brass);font-size:18px}
.navy .row .num{color:var(--brass)}
.row h3{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);font-weight:400}
.row p{margin:0;color:var(--slate)}
.navy .row p{color:var(--muted-blue)}
.row .go{justify-self:end;width:28px;height:1px;background:currentColor;align-self:center;transition:width .25s ease}
a.row:hover .go{width:40px}
a.row:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}

/* ---------- Method (proprietary, pine) ---------- */
.method{counter-reset:step;display:grid;grid-template-columns:repeat(7,1fr);border-top:2px solid var(--pine)}
.method li{list-style:none;padding:26px 18px 0 0;position:relative}
.method li+li{padding-left:18px;border-left:1px solid var(--hair-light)}
.method .n{font-family:var(--serif);font-size:30px;color:var(--pine);display:block;line-height:1}
.method h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 10px;color:var(--ink)}
.method p{font-size:15px;line-height:1.55;color:var(--slate);margin:0}
.method .when{display:block;margin-top:12px;font-size:13px;font-weight:600;color:var(--pine)}
.ip-tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);border-top:1px solid var(--pine);padding-top:8px}

/* Framework table (knowledge page, working level) */
.table{width:100%;border-collapse:collapse;font-size:15px}
.table th,.table td{text-align:left;padding:16px 18px 16px 0;border-top:1px solid var(--hair-light);vertical-align:top}
.table thead th{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);border-top:0;padding-top:0}
.table td:first-child{font-weight:600;color:var(--ink)}
.table td{color:var(--slate)}
.table-wrap{overflow-x:auto}

/* ---------- Promise page (reference page for the system) ---------- */
.promise .pull{max-width:32ch}
.promise .by{margin-top:28px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600}
.promise .cols-3{margin-top:clamp(56px,6vw,88px)}
.promise .cols-3>div{border-top:1px solid var(--hair-dark);padding-top:24px}
.promise h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}
.promise p{color:var(--muted-blue);margin:0}

/* ---------- Sector index ---------- */
.sector-index{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(28px,3.5vw,56px)}
.sector-index a{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:22px 0;border-top:1px solid var(--hair-light);text-decoration:none;align-items:baseline}
.navy .sector-index a{border-top-color:var(--hair-dark)}
.sector-index .code{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--deep-brass)}
.navy .sector-index .code{color:var(--brass)}
.sector-index .name{font-family:var(--serif);font-size:20px;line-height:1.3}
.sector-index .sub{grid-column:2;font-size:14px;color:var(--slate);line-height:1.5}
.navy .sector-index .sub{color:var(--muted-blue)}
.sector-index a:hover .name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}

/* ---------- Insight cards ---------- */
.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,48px)}
.insight{text-decoration:none;display:flex;flex-direction:column;border-top:1px solid var(--hair-light);padding-top:24px}
.insight .meta{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:14px}
.insight h3{font-family:var(--serif);font-size:clamp(21px,1.9vw,25px);line-height:1.3;font-weight:400}
.insight .by{margin-top:18px;font-size:14px;color:var(--slate)}
.insight:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.insight .slot{margin-bottom:22px}
.featured{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center;text-decoration:none;padding-bottom:clamp(48px,6vw,80px);border-bottom:1px solid var(--hair-light);margin-bottom:clamp(40px,5vw,64px)}
.featured h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1.15;margin:14px 0 18px}
.featured:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.filters button{font:500 14px var(--sans);background:transparent;border:1px solid var(--hair-light);color:var(--ink);padding:9px 16px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--ivory)}

/* ---------- Image slots ---------- */
.slot{position:relative;background:var(--ivory-deep);overflow:hidden;margin:0}
.slot img{width:100%;height:100%;object-fit:cover}
.slot.r169{aspect-ratio:16/9}.slot.r219{aspect-ratio:21/9}.slot.r32{aspect-ratio:3/2}.slot.r45{aspect-ratio:4/5}.slot.r11{aspect-ratio:1/1}.slot.r43{aspect-ratio:4/3}
.slot .ph{display:none}
.slot.empty img{display:none}
html:not(.no-js) .slot:not(.loaded) img{opacity:0}
html:not(.no-js) .slot:not(.loaded) .ph,.slot.empty .ph{display:flex;position:absolute;inset:0;flex-direction:column;justify-content:space-between;padding:18px 20px;color:var(--slate)}
.slot:not(.loaded) .ph .mk{width:44px;color:var(--hair-light);align-self:flex-end}
.slot:not(.loaded) .ph .id{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.slot:not(.loaded) .ph .desc{font-size:13px;line-height:1.45;max-width:36ch}
.navy .slot{background:#132D52}
.navy .slot:not(.loaded) .ph{color:var(--muted-blue)}
.navy .slot:not(.loaded) .ph .mk{color:var(--hair-dark)}
html .slot.portrait:not(.loaded) .ph{justify-content:center;align-items:center;background:var(--navy);color:var(--ivory)}
.slot.portrait:not(.loaded) .ph .initials{font-family:var(--serif);font-size:clamp(44px,5vw,64px);color:var(--ivory);letter-spacing:.02em}
.slot.portrait:not(.loaded) .ph .id{position:absolute;left:16px;bottom:14px;color:var(--muted-blue)}
.band-img{margin-top:0}

/* ---------- People ---------- */
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,4vw,64px) clamp(28px,3.5vw,56px)}
.person h3{font-family:var(--serif);font-size:24px;margin-top:22px}
.person .role{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-top:6px}
.person .cred{font-size:15px;color:var(--slate);margin-top:14px;border-top:1px solid var(--hair-light);padding-top:14px}
.person p{font-size:16px;margin-top:14px}
.person .domain{font-size:14px;color:var(--slate);margin-top:10px}
.person .domain b{font-weight:600;color:var(--ink);letter-spacing:.1em;font-size:12px;text-transform:uppercase;margin-right:8px}

/* ---------- Article ---------- */
.article-head{padding:clamp(64px,8vw,112px) 0 clamp(40px,5vw,64px)}
.article-head .h1{max-width:22ch}
.article-head .standfirst{margin-top:24px}
.byline{display:flex;gap:18px;align-items:center;margin-top:36px;padding-top:22px;border-top:1px solid var(--hair-light);max-width:var(--read)}
.byline .who{font-weight:600}
.byline .when{font-size:14px;color:var(--slate)}
.prose{max-width:var(--read);font-size:18px;line-height:1.75}
.prose p{margin-bottom:1.25em}
.prose h2{font-family:var(--serif);font-size:28px;line-height:1.3;margin:1.8em 0 .7em}
.prose blockquote{margin:1.8em 0;padding:0 0 0 26px;border-left:1px solid var(--navy);font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45}
.prose ul{margin:0 0 1.25em 1.2em}
.prose li{margin-bottom:.5em}
.article-body{display:grid;grid-template-columns:minmax(0,var(--read)) minmax(0,1fr);gap:clamp(40px,6vw,96px)}
.aside{font-size:14px;color:var(--slate)}
.aside .sticky{position:sticky;top:120px;border-top:1px solid var(--hair-light);padding-top:22px}
.aside a{display:block;margin-top:10px;font-weight:600;color:var(--ink)}
.author-box{max-width:var(--read);margin-top:56px;padding-top:28px;border-top:1px solid var(--hair-light);display:grid;grid-template-columns:96px 1fr;gap:24px}
.author-box .slot{width:96px}

/* ---------- Forms ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.form .full{grid-column:1/-1}
.field label{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.field input,.field select,.field textarea{width:100%;font:400 17px var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--slate);padding:10px 0 12px;border-radius:0;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 8px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field textarea{min-height:140px;resize:vertical;border:1px solid var(--slate);padding:14px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 1px 0 0 var(--navy)}
.field input[type=file]{border:1px dashed var(--slate);padding:16px;font-size:15px}
.field .hint{font-size:13px;color:var(--slate);margin-top:8px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--slate)}
.check input{margin-top:5px;width:18px;height:18px;accent-color:var(--navy)}
.field .err{display:none;color:#9B2C2C;font-size:14px;margin-top:8px}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#9B2C2C}
.form-done{display:none;border-top:1px solid var(--hair-light);padding-top:28px}
.form-wrap.sent .form{display:none}
.form-wrap.sent .form-done{display:block}
.direct{border-top:1px solid var(--hair-light);padding-top:24px}
.direct dt{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-top:22px}
.direct dd{margin:6px 0 0;font-size:18px}
.direct dd a{text-decoration:none;border-bottom:1px solid var(--hair-light)}
.direct dd a:hover{border-bottom-color:var(--navy)}
.expect li{list-style:none;padding:14px 0;border-top:1px solid var(--hair-light);font-size:16px}

/* Subscribe band */
.subscribe{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:end}
.subscribe .done{display:none;font-size:16px;padding:14px 0}
.subscribe.sent form{display:none}.subscribe.sent .done{display:block}

/* ---------- Closing CTA ---------- */
.closing-cta{position:relative;overflow:hidden}
.closing-cta .mark{position:absolute;right:-60px;bottom:-120px;width:420px;color:var(--hair-dark);pointer-events:none}
.closing-cta .h2{max-width:22ch}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:var(--ivory);padding:clamp(64px,8vw,104px) 0 36px;font-size:15px}
.site-footer .top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px;padding-bottom:56px;border-bottom:1px solid var(--hair-dark)}
.site-footer .brand{width:210px;color:var(--ivory)}
.site-footer .tag{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--muted-blue);margin-top:28px;max-width:30ch;line-height:1.45}
.site-footer h4{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 16px}
.site-footer ul{list-style:none}
.site-footer li{padding:5px 0}
.site-footer a{text-decoration:none;color:var(--ivory)}
.site-footer a:hover{color:var(--brass)}
.site-footer .contact a{border-bottom:1px solid var(--hair-dark)}
.site-footer .base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:28px;font-size:13px;color:var(--muted-blue)}
.site-footer .base a{color:var(--muted-blue)}

/* ---------- Reveal motion (restrained) ---------- */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s ease-out,transform .5s ease-out}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  *{transition:none!important}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .method{grid-template-columns:repeat(4,1fr);row-gap:32px}
  .method li:nth-child(5){border-left:0;padding-left:0}
  .people{grid-template-columns:repeat(2,1fr)}
  .site-footer .top{grid-template-columns:1fr 1fr}
}
@media (max-width:1080px){
  .menu-toggle{display:inline-block}
  .nav{position:fixed;inset:92px 0 0 0;background:var(--navy);color:var(--ivory);display:none;flex-direction:column;align-items:stretch;padding:24px var(--gutter) 48px;overflow-y:auto}
  .nav.open{display:flex}
  .nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .nav>ul>li{border-bottom:1px solid var(--hair-dark)}
  .nav a.top,.nav button.top{color:var(--ivory);font-family:var(--serif);font-size:24px;padding:18px 0;width:100%;text-align:left}
  .nav a.top::after,.nav button.top::after{display:none}
  .panel{position:static;min-width:0;border:0;background:transparent;padding:0 0 18px;grid-template-columns:1fr;gap:18px}
  .panel h4{color:var(--brass)}
  .panel li a,.panel .intro{color:var(--ivory)}
  .panel .intro{display:none}
  .nav .cta{margin:28px 0 0;justify-content:center;background:var(--ivory);color:var(--navy)}
  body.menu-open{overflow:hidden}
}
@media (max-width:960px){
  .hero .grid,.split,.split.even,.split.rev,.founder,.featured,.subscribe,.article-body{grid-template-columns:1fr}
  .hero-mark{opacity:.55;width:70vw;right:-20vw}
  .cols-3,.sector-index,.insights{grid-template-columns:1fr 1fr}
  .cols-4{grid-template-columns:1fr 1fr}
  .evidence{grid-template-columns:1fr 1fr}
  .evidence>div:nth-child(3){padding-left:0;border-left:0}
  .evidence>div:nth-child(n+3){border-top:1px solid var(--hair-light)}
  .row{grid-template-columns:48px 1fr 28px}
  .row p{grid-column:2/3}
  .row .go{grid-row:1;grid-column:3}
  .aside{display:none}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .site-header .bar{height:76px}
  .nav{inset:76px 0 0 0}
  .brand{width:168px}
  .cols-3,.cols-2,.cols-4,.sector-index,.insights,.people{grid-template-columns:1fr}
  .method{grid-template-columns:1fr}
  .method li,.method li+li{padding:22px 0;border-left:0;border-top:1px solid var(--hair-light)}
  .method li:first-child{border-top:0}
  .form{grid-template-columns:1fr}
  .evidence>div{padding:24px 16px 22px 0}
  .evidence>div+div{padding-left:16px}
  .evidence>div:nth-child(3){padding-left:0}
  .author-box{grid-template-columns:72px 1fr}
  .author-box .slot{width:72px}
  .prose{font-size:17px}
  .closing-cta .mark{width:260px;right:-60px;bottom:-80px}
  .actions .btn{width:100%;justify-content:center}
}
@media print{
  .site-header,.site-footer,.closing-cta,.subscribe{display:none}
  body{background:#fff}
}

/* Compact rows inside a split column */
.split .row{grid-template-columns:48px minmax(0,1fr) 32px;row-gap:10px}
.split .row p{grid-column:2/3}
.split .row .go{grid-row:1;grid-column:3}

/* Review: one page brief and boardroom debate */
.prose .brief{border-top:1px solid var(--navy);margin:1.4em 0 2em}
.prose .brief>div{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--hair-light)}
.prose .brief .label{font-size:12px;color:var(--slate);padding-top:4px}
.prose .brief p{margin:0}
.prose .debate{border:1px solid var(--hair-light);padding:26px 28px;margin:1.8em 0}
.prose .debate-q{font-family:var(--serif);font-size:22px;line-height:1.4}
.prose .debate .cols-2{gap:0 28px}
.prose .debate .label{font-size:12px;color:var(--slate);display:block;margin-bottom:8px}
.prose .debate ul{margin-left:1.1em;font-size:16px}
@media (max-width:640px){.prose .brief>div{grid-template-columns:1fr;gap:4px}.prose .debate{padding:20px}}

/* Section headings (kickers) set larger, as requested */
.promise h3,.site-footer h4{font-size:14px}
/* Justified text only in wide reading columns (articles, biographies, lead paragraphs) on tablet and desktop. Narrow columns, cards and standfirsts stay left aligned so word spacing stays even. Phones are left aligned throughout. */
@media (min-width:768px){
  .prose p,.prose li,.lede,.person p,.author-box p{text-align:justify;text-justify:inter-word;hyphens:none}
  .standfirst,.entry p,.row p,.checks p,.cols-2 p,.cols-3 p,.cols-4 p,dd,.tiers-note{text-align:left}
  .method p,.pull,.closing,blockquote,.prose blockquote,.cols-4 .entry p,.actions p,.reassure,.note,.btn,.textlink,.crumbs,.byline,.insight .by,.insight .meta,.label,.evidence .what,.sector-index .sub,.table td,.table th,.expect li,.items li,.filters,.form .hint,.form .err{text-align:left}
}
/* Industry pages: what we assess */
.assess-block{border-top:1px solid var(--navy);padding-top:34px;margin-top:48px}
.assess-block:first-of-type{margin-top:0}
.assess-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:baseline;margin-bottom:8px}
.assess-head p{margin:0}
.cover-list li,.role-list li{font-size:16px}
@media (max-width:960px){.assess-head{grid-template-columns:1fr;gap:8px}}

/* Industries hub */
.industries .industry{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);padding:40px 0;border-top:1px solid var(--hair-light)}
.industries .industry:last-child{border-bottom:1px solid var(--hair-light)}
.industry .code{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--deep-brass);display:block;margin-bottom:10px}
.industry h2 a{text-decoration:none}.industry h2 a:hover{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.industry .areas{list-style:none;margin:16px 0 22px}
.industry .areas li{font-size:15px;color:var(--slate);padding:6px 0;border-top:1px solid var(--hair-light);text-align:left}
.industry-checks .label{color:var(--slate);display:block;margin-bottom:6px}
.industry-checks .entry{padding:18px 0 22px}
.sector-index .sub b{font-weight:600;color:var(--ink)}
@media (max-width:960px){.industries .industry{grid-template-columns:1fr}}

/* Industry page: where the market is moving, alongside what we assess */
.market-assess{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.market .sticky-col{position:sticky;top:120px}
.assess-title{margin:0 0 8px}
.market-assess .assess-block{border-top:1px solid var(--navy);padding-top:26px;margin-top:36px}
.assess-area{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.3}
.assess-scope{margin:6px 0 10px;font-size:15px}
.checks{list-style:none}
.checks li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--hair-light)}
.checks .num{font-family:var(--serif);font-size:17px;color:var(--deep-brass)}
.checks h4{margin-bottom:4px}
.checks p{margin:0;color:var(--slate)}
@media (max-width:960px){.market-assess{grid-template-columns:1fr}.market .sticky-col{position:static}}

.assess-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,64px);border-top:1px solid var(--navy);padding-top:28px;margin-top:40px}
.assess-row:first-of-type{margin-top:0}
.checks.two{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
@media (max-width:960px){.assess-row{grid-template-columns:1fr}.checks.two{grid-template-columns:1fr}}

/* Founder page */
.founder-hero{padding:clamp(56px,7vw,112px) 0 clamp(64px,8vw,120px)}
.founder-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:center}
.founder-hero .slot.portrait{box-shadow:0 0 0 1px rgba(200,168,96,.55);max-width:460px}
.founder-hero .slot.portrait:not(.loaded) .ph{background:#132d52}
.founder-hero .crumbs,.founder-hero .crumbs a,.founder-hero .crumbs span{color:var(--muted-blue)}
.founder-hero .crumbs{margin-bottom:22px}
.founder-hero .actions{margin-top:36px}

.home-founder .slot.portrait{max-width:420px}
@media (max-width:900px){.founder-grid{grid-template-columns:1fr}.founder-hero .slot.portrait{max-width:320px}}

/* Glossary */
dl.glossary{margin:0;border-top:1px solid var(--hair-light)}
.gloss{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,64px);padding:26px 0;border-bottom:1px solid var(--hair-light)}
.gloss dt{font-family:var(--serif);font-size:clamp(20px,1.9vw,24px);line-height:1.25;color:var(--navy)}
.gloss dd{margin:0;color:var(--ink);font-size:17px;line-height:1.65}
.gloss dd .textlink{margin-left:6px;white-space:nowrap}
@media (max-width:700px){.gloss{grid-template-columns:1fr;gap:8px}}
.perspective h2 a{color:inherit;text-decoration:none}
.perspective h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}

/* Founder career and questions */
ol.career{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair-light)}
ol.career li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(20px,4vw,64px);padding:28px 0;border-bottom:1px solid var(--hair-light)}
ol.career .when{font-family:var(--serif);font-size:clamp(20px,1.8vw,24px);color:var(--deep-brass);line-height:1.3}
ol.career h3{margin:0;color:var(--ink)}
ol.career .where{margin:6px 0 10px;color:var(--slate);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
ol.career p:last-child{margin:0;max-width:760px}
ol.questions{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair-light)}
ol.questions li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--hair-light)}
ol.questions .num{font-family:var(--serif);color:var(--deep-brass);font-size:22px}
ol.questions p{margin:0;font-family:var(--serif);font-size:clamp(19px,1.7vw,22px);line-height:1.4;color:var(--ink);text-align:left}
@media (max-width:700px){ol.career li{grid-template-columns:1fr;gap:6px}}



/* Engagement architecture: four tiers */
.tiers{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}
.tiers li{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px 30px;color:var(--ivory)}
.tiers .lvl{font:600 13px var(--sans);letter-spacing:.18em;text-transform:uppercase}
.tiers b{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2vw,26px);line-height:1.2;margin-top:12px}
.tiers .who{margin-top:auto;padding-top:40px;font-size:15px;opacity:.9}
.tiers .t1{background:#6B7A93;min-height:230px}
.tiers .t2{background:#3E5C82;min-height:265px}
.tiers .t3{background:var(--brass);color:var(--ink);min-height:300px}
.tiers .t4{background:var(--navy);min-height:335px}
.tiers .t4 .lvl{color:var(--brass)}
.tiers-note{margin-top:18px;background:#ECE4D0;padding:20px 26px;color:var(--ink);font-size:16.5px;line-height:1.6}
@media (max-width:900px){.tiers{grid-template-columns:1fr 1fr}.tiers li{min-height:0 !important;padding:28px 18px 22px}.tiers .who{padding-top:22px}}
@media (max-width:520px){.tiers{grid-template-columns:1fr}}
.cols-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:960px){.cols-5{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cols-5{grid-template-columns:1fr}}

/* Page context bar (appears under the header once the page title scrolls away) */
.page-bar{display:none;border-top:1px solid var(--hair-light);background:var(--ivory)}
.site-header.with-bar .page-bar{display:block}
.site-header.with-bar{border-bottom-color:var(--hair-light)}
.page-bar .wrap{display:flex;align-items:center;gap:14px;height:44px;font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.page-bar .pb-page{color:var(--ink)}
.page-bar .pb-sep{width:22px;height:1px;background:var(--deep-brass);flex:none}
.page-bar .pb-section{color:var(--deep-brass);overflow:hidden;text-overflow:ellipsis}
.page-bar .pb-top{margin-left:auto;color:var(--slate);text-decoration:none;letter-spacing:.1em}
.page-bar .pb-top:hover{color:var(--ink)}
@media (max-width:640px){.page-bar .wrap{height:38px;font-size:11px;letter-spacing:.1em}.page-bar .pb-top{display:none}}
@media print{.page-bar{display:none !important}}
body.menu-open .page-bar{display:none !important}
.prose .first-pub{margin-top:40px;padding-top:18px;border-top:1px solid var(--hair-light);font-size:15px;color:var(--slate);text-align:left}
.prose ol{padding-left:1.3em}
.prose ol li{margin:0 0 10px}
.insight[hidden],[data-topic][hidden]{display:none !important}
.slot.monogram .ph{display:flex !important}
.field[hidden]{display:none !important}
.industry-banner .slot{margin-top:0}
.industry-banner{margin-top:calc(-1 * clamp(20px,3vw,48px))}
.sme{margin-top:22px;padding-top:16px;border-top:1px solid var(--hair-light);font-size:16px;color:var(--ink)}
.sme .label{display:block;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--deep-brass);margin-bottom:6px}
.sme a{color:var(--ink);font-weight:600}
.person .role,.person .cred,.person .domain{text-align:justify}
.prose blockquote .quote-by{display:block;margin-top:12px;font-family:var(--sans);font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#6b6b6b)}
.person details.more{margin-top:18px;border-top:1px solid var(--hair-light);padding-top:14px}
.person details.more summary{cursor:pointer;list-style:none;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.person details.more summary::-webkit-details-marker{display:none}
.person details.more summary::after{content:" +";}
.person details.more[open] summary::after{content:" \2212";}
.person details.more .prose p{font-size:15px;margin-top:12px}
.person details.more blockquote{font-size:19px;margin:1.2em 0 0}
@media (min-width:761px){.person .role{min-height:2.9em}}
.subscribe .sub-form{grid-template-columns:1fr 1fr;gap:18px 20px}
.subscribe .done{display:none}
.subscribe.sent .sub-form{display:none}
.subscribe.sent .done{display:block}
.person .write{margin-top:16px}
@media (max-width:760px){.subscribe .sub-form{grid-template-columns:1fr}}
.person details.msg .form{grid-template-columns:1fr;gap:18px;margin-top:18px}
.person details.msg .form-done{margin-top:18px}
.person details.msg .check label{font-size:13px}
@media (min-width:1081px){.people.four{grid-template-columns:repeat(4,1fr);column-gap:clamp(24px,2.4vw,40px)}.people.four .person h3{font-size:22px;min-height:2.6em}}
@media (min-width:1081px){.people.four .person p{text-align:left}}
.phone-row{display:grid;grid-template-columns:92px 1fr;gap:16px}
.phone-row .cc{text-align:left}
.author-box.firm-box{grid-template-columns:1fr;display:block}.author-box.firm-box p{max-width:68ch;text-align:left}
/* Leadership Vanguard sample profile */
.vg-card{max-width:980px;background:#fff;border:1px solid var(--hair-light);border-top:3px solid var(--navy);padding:clamp(24px,3.5vw,48px)}
.vg-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.vg-code{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}
.vg-tag{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);border:1px solid var(--hair-light);padding:6px 10px}
.vg-title{font-family:var(--serif);font-size:clamp(26px,2.8vw,36px);line-height:1.2;margin-top:18px}
.vg-sub{color:var(--slate);margin-top:8px;font-size:17px}
.vg-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 28px;margin-top:28px;padding:22px 0;border-top:1px solid var(--hair-light);border-bottom:1px solid var(--hair-light)}
.vg-facts dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.vg-facts dd{margin:6px 0 0;font-size:15px}
.vg-block{margin-top:26px}
.vg-card .label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.vg-card p{font-size:15.5px;text-align:left}
.vg-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:26px}
.vg-cols.two{grid-template-columns:1fr 1fr}
.vg-note{margin:30px 0 0;padding:18px 0 0 22px;border-left:1px solid var(--navy);font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5}
.vg-note .label{font-family:var(--sans);font-style:normal}
.vg-foot{margin-top:24px;font-size:13px !important;color:var(--slate)}
@media (max-width:760px){.vg-facts,.vg-cols,.vg-cols.two{grid-template-columns:1fr}}
.vg-panel{margin-top:28px;padding:22px 24px;border-left:3px solid var(--navy);background:#fff}
.vg-panel p{margin-top:8px;font-size:16px}
.vg-panel .textlink{margin-top:12px;display:inline-block}
.vg-home .lede{color:inherit}
.hero-vg{margin-top:22px;font-size:15px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;opacity:.95}
.hero-vg .new{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass,#b8955a);border:1px solid currentColor;padding:4px 8px}
.hero-vg a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.hero-vg.top{margin:0 0 clamp(28px,4vw,48px);padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14);max-width:820px;position:relative;z-index:2}
/* Landing page: Leadership Vanguard card on the right */
.hero-card{position:relative;z-index:2;background:rgba(10,24,48,.72);border:1px solid rgba(184,149,90,.55);padding:28px 28px 26px;backdrop-filter:blur(2px)}
.hero-card .new{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass,#b8955a);border:1px solid currentColor;padding:4px 8px}
.hero-card .hc-kicker{display:block;margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass,#b8955a)}
.hero-card .hc-title{font-family:var(--serif);font-size:26px;line-height:1.25;margin-top:10px}
.hero-card .hc-text{font-size:15px;line-height:1.6;margin-top:12px;opacity:.9;text-align:left}
.hero-card .btn{margin-top:22px;width:100%;justify-content:space-between}
.hero-card .hc-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:4px}
@media (min-width:1081px){.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:end}}
@media (max-width:1080px){.hero-card{margin-top:36px;max-width:520px}}
@media (min-width:1081px){.hero-grid{align-items:start}.hero-card{margin-top:96px;padding:24px 26px 22px}.hero-card .hc-title{font-size:24px}.hero-card .hc-text{font-size:14.5px}.hero-card .btn{margin-top:18px}}
/* No decorative dashes: arrows become a true arrow glyph, separators become dots */
.arrow::after{content:"\2192";width:auto;height:auto;background:none;display:inline-block;transition:transform .25s ease}
.arrow:hover::after,a:hover .arrow::after,.btn:hover .arrow::after{width:auto;transform:translateX(3px)}
.hero .brassline{display:none}
.row .go{width:auto;height:auto;background:none}
.row .go::after{content:"\2192"}
.page-bar .pb-sep{width:4px;height:4px;border-radius:50%}
/* Landing page fits one screen on a computer */
@media (min-width:1081px){
  .hero{min-height:calc(100vh - 93px);display:flex;align-items:center;padding:40px 0}
  .hero > .wrap{width:100%}
  .hero .display{font-size:clamp(44px,4.6vw,66px);max-width:15ch}
  .hero .standfirst{margin-top:20px;max-width:58ch}
  .hero .actions{margin-top:28px}
  .hero .reassure{margin-top:16px}
  .hero-grid{align-items:center;grid-template-columns:minmax(0,1fr) 280px}
  .hero-card{margin-top:0}
}
/* Compact Vanguard card */
.hero-card{padding:20px 22px;border:1px solid var(--brass,#b8955a);background:rgba(10,24,48,.8)}
.hero-card .new{display:inline-flex;align-items:center;gap:8px;border:0;padding:0}
.hero-card .dot{width:8px;height:8px;border-radius:50%;background:var(--brass,#b8955a);box-shadow:0 0 0 0 rgba(184,149,90,.6);animation:vgpulse 2.2s ease-out infinite}
@keyframes vgpulse{0%{box-shadow:0 0 0 0 rgba(184,149,90,.6)}70%{box-shadow:0 0 0 10px rgba(184,149,90,0)}100%{box-shadow:0 0 0 0 rgba(184,149,90,0)}}
@media (prefers-reduced-motion:reduce){.hero-card .dot{animation:none}}
.hero-card .hc-kicker{margin-top:12px;font-size:11px}
.hero-card .hc-title{font-size:21px !important;margin-top:6px;line-height:1.3}
.hero-card .hc-cta{display:inline-flex;gap:8px;margin-top:14px;font-size:14px;font-weight:600;color:var(--brass,#b8955a);text-decoration:none}
.hero-card .hc-cta:hover{color:#fff}
@media (max-width:1080px){.hero-card{max-width:360px;margin-top:28px}}
.hero-card p.hc-title{margin:6px 0 0}.hero-card .hc-cta{margin-top:10px}
.nav-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brass,#b8955a);margin-right:8px;vertical-align:middle;position:relative;top:-1px;animation:vgpulse 2.2s ease-out infinite}
@media (prefers-reduced-motion:reduce){.nav-dot{animation:none}}
@media (min-width:1081px) and (max-width:1200px){.nav a.top,.nav button.top{padding:12px 7px;font-size:14px}.nav a.top::after,.nav button.top::after{left:7px;right:7px}.nav-dot{margin-right:6px}.nav .cta{padding:12px 14px}}
.site-footer .seo-line{margin-top:10px;font-size:13px;opacity:.7;max-width:34ch}
/* Four levels of search, as in the engagement architecture */
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end}
.levels .lv{display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px;border:1px solid var(--hair-light);background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s ease}
.levels a.lv:hover{border-color:var(--navy)}
.levels .lv:nth-child(1){min-height:128px}.levels .lv:nth-child(2){min-height:152px}.levels .lv:nth-child(3){min-height:176px}.levels .lv:nth-child(4){min-height:200px}
.levels .lv.on{background:var(--navy);border-color:var(--navy);color:var(--ivory)}
.lv-tier{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--deep-brass)}
.lv.on .lv-tier{color:var(--brass)}
.lv-name{font-family:var(--serif);font-size:21px;line-height:1.25}
.lv-model{font-size:14px;font-weight:600}
.lv-scope{font-size:13.5px;opacity:.75;margin-top:auto}
@media (max-width:760px){.levels{grid-template-columns:1fr 1fr}.levels .lv{min-height:0 !important}}
/* Forms: one typeface and size for all supporting text, justified */
.form,.form input,.form select,.form textarea,.form button,.form-done,.form-wrap{font-family:var(--sans)}
.form .hint,.form .err,.form .check label,.form .send-error,.form-done p{font-size:15px;line-height:1.55;font-style:normal;text-align:justify;text-justify:inter-word;hyphens:none}
.form input::placeholder,.form textarea::placeholder{font-family:var(--sans);font-size:inherit}
#enquiry .standfirst,#subscribe .standfirst,#consider .standfirst,.split .form-wrap ~ aside li{text-align:justify;text-justify:inter-word}
/* Site wide: all running text justified (single line labels, buttons and menus are unaffected) */
body p,body li,body dd,body dt,body blockquote,body td,body th,body figcaption,body label,body .standfirst,body .lede,body .note,body .pull,body .reassure,
.site-footer p,.site-footer li,.form-done p,.prose p,.prose li{text-align:justify !important;text-justify:inter-word;hyphens:none !important}
.tiers li,.tiers li *{text-align:center !important}
/* Titles under names read left aligned */
.person .role,.adv .role,p.role{text-align:left !important}
/* Menus and link lists read left aligned; justification is for running text on pages */
.site-header li,.site-header p,.site-header li *,.nav li,.nav li *,.panel li,.panel p,.panel li *,.site-footer nav li,.site-footer ul li,.crumbs li,.page-bar li{text-align:left !important}
.phone-row{grid-template-columns:minmax(0,260px) minmax(0,1fr)}
.phone-row select.cc{width:100%;min-width:0;text-overflow:ellipsis}
@media (max-width:760px){.phone-row{grid-template-columns:1fr}}
.person details.msg .phone-row{grid-template-columns:1fr}
/* Leadership cards: every row (photo, name, title, credentials, profile, domain, links) lines up across the cards */
@supports (grid-template-rows:subgrid){
  .people .person{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;align-content:start}
  .people.four .person{grid-row:span 7}
  .people .person > *{align-self:start}
  .people .person h3,.people.four .person h3,.people .person .role{min-height:0}
}
.person details.more summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.person details.more summary::after{content:"+";font-size:16px;line-height:1}
.person details.more[open] summary::after{content:"\2212"}
/* Text below the divider runs naturally, left aligned, ending where it ends */
.person .pbody p,.person .pbody .cred,.person .domain{text-align:left !important}
.person details.more summary::after,.person details.more[open] summary::after{content:none}
/* Key figures band: no table lines, the figures stand on spacing alone */
.evidence,.evidence>div,.evidence>div+div,.evidence>div:nth-child(n+3){border:0 !important}
.evidence>div{padding-top:8px;padding-bottom:8px}
/* ===== Review refinements, October 2026 ===== */
/* Long introductory paragraphs read upright; italics are kept for quotations and short lines */
.standfirst{font-style:normal}
/* Forms: required by default, optional fields marked */
.form .form-note{font-size:14px;color:var(--slate);margin:0 0 4px}
.form label .opt{font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--slate);margin-left:6px;font-size:.92em}
.phone-field[hidden]{display:none !important}
/* Home: where would you like to start */
.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,3vw,48px)}
.start-grid a{display:grid;grid-template-columns:1fr 24px;grid-template-rows:auto 1fr;align-items:end;gap:6px 12px;padding:22px 0 20px;border-bottom:1px solid var(--hair-light);text-decoration:none;color:var(--ink)}
.start-grid .k{grid-column:1/3;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.start-grid .t{font-family:var(--serif);font-size:clamp(19px,1.6vw,22px);line-height:1.3}
.start-grid .arrow{justify-self:end;transition:transform .2s ease}
.start-grid a:hover .t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.start-grid a:hover .arrow{transform:translateX(4px)}
@media (max-width:960px){.start-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.start-grid{grid-template-columns:1fr}}
.start-grid .t,.start-grid .k{text-align:left !important}
/* Navigation: one line under Leadership Vanguard explains it */
.nav li.has-sub{position:relative}
.nav .nav-sub{position:absolute;top:calc(100% + 6px);left:8px;white-space:nowrap;background:var(--ivory);border:1px solid var(--hair-light);padding:10px 14px;font-size:13px;font-weight:500;color:var(--slate);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;z-index:5}
.nav li.has-sub:hover .nav-sub,.nav li.has-sub:focus-within .nav-sub{opacity:1;transform:none}
@media (max-width:1080px){
  .nav .nav-sub{position:static;display:block;opacity:1;transform:none;background:none;border:0;padding:6px 0 0 22px;white-space:normal;font-family:var(--sans);font-size:15px;color:var(--muted-blue)}
  /* Shorter menus on phones: the groups sit side by side */
  .panel{grid-template-columns:1fr 1fr;gap:14px 20px}
  .panel li a{font-size:15px}
}
@media (max-width:380px){.panel{grid-template-columns:1fr}}
/* Phones: running text left aligned to avoid wide gaps between words; small text enlarged */
@media (max-width:760px){
  body p,body li,body dd,body dt,body blockquote,body td,body th,body figcaption,body label,body .standfirst,body .lede,body .note,body .pull,body .reassure,
  .site-footer p,.site-footer li,.form-done p,.prose p,.prose li,.person .pbody p{text-align:left !important}
  .note,.form .hint,.form .err,.form .form-note,.person .cred,.person .domain,.evidence .what,.site-footer .base,.site-footer p,.site-footer li,.reassure{font-size:15px !important;line-height:1.6}
  .lede,.standfirst{line-height:1.65}
  .tiers li,.tiers li *{text-align:center !important}
}
/* Ribbon fit with "Leadership Advisory" */
@media (min-width:1081px){.site-header .bar{gap:20px}.nav a.top,.nav button.top{padding:12px 11px}.nav a.top::after,.nav button.top::after{left:11px;right:11px}.nav .cta{margin-left:10px}}
@media (min-width:1081px) and (max-width:1300px){.brand{width:170px}.nav a.top,.nav button.top{padding:12px 7px;font-size:14px}.nav a.top::after,.nav button.top::after{left:7px;right:7px}.nav .cta{margin-left:6px;padding:11px 14px;font-size:14px}.nav .nav-dot{margin-right:5px}}
@media (min-width:1081px) and (max-width:1160px){.site-header .bar{gap:12px}.brand{width:156px}.nav a.top,.nav button.top{padding:12px 6px;font-size:13.5px}.nav .cta{padding:10px 12px;font-size:13.5px}}
.start-grid .k{align-self:start}
/* Home: decisions grid and supporting points */
.start-grid.decisions a{grid-template-rows:auto 1fr;align-items:start;padding:24px 0 22px}
.start-grid.decisions .t{grid-column:1/2;font-size:clamp(20px,1.7vw,23px)}
.start-grid.decisions .d{grid-column:1/2;font-size:15px;line-height:1.55;color:var(--slate);text-align:left !important}
.start-grid.decisions .arrow{grid-column:2;grid-row:1;align-self:center}
.points{display:grid;grid-template-columns:repeat(5,1fr);gap:28px clamp(20px,2.4vw,36px)}
.points>div{border-top:1px solid var(--hair-light);padding-top:18px}
.points .num{font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--pine)}
.points h3{margin-top:10px}
.points p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--slate);text-align:left !important}
@media (max-width:1100px){.points{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.points{grid-template-columns:1fr}}
.home-vg .lede{color:var(--ivory)}
.start-grid.decisions{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.start-grid.decisions{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.start-grid.decisions{grid-template-columns:1fr}}
@media (min-width:1101px){.start-grid.decisions .t{font-size:clamp(18px,1.4vw,20px);min-height:2.7em}.start-grid.decisions .arrow{align-self:start;margin-top:6px}}
.faq{display:grid;gap:0}
.faq-item{border-top:1px solid var(--hair-light);padding:22px 0}
.faq-item:last-child{border-bottom:1px solid var(--hair-light)}
.faq-item p{margin-top:8px}
