@font-face{font-family:'Newsreader';font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/Newsreader-normal-300_600.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300 500;font-display:swap;src:url(fonts/Newsreader-italic-300_500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/IBMPlexSans-var.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-normal-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-normal-500.woff2) format('woff2')}

:root{
  --paper:#f3f0e8;
  --paper-2:#e8e3d6;
  --ink:#0d1b2a;
  --ink-2:#34414f;
  --ink-3:#5f6975;
  --rule:rgba(13,27,42,.17);
  --teal:#11a095;
  --teal-ink:#0a7169;
  --navy:#0d1b2a;
  --on-navy:#ece8de;
  --on-navy-2:#a4aeb9;
  --teal-on-navy:#45c7bc;
  --rule-navy:rgba(236,232,222,.2);
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:clamp(20px,4vw,56px);
  --gap:clamp(16px,2vw,28px);
  --max:1360px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink-2);font:400 16px/1.62 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
h1,h2,h3,h4,p,ol,ul,dl,dd,blockquote,figure{margin:0}
ol,ul{padding:0;list-style:none}
::selection{background:var(--ink);color:var(--paper)}

.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:10}
.skip:focus{left:8px}

.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}

.label{font:500 11.5px/1.45 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}
.label b{font-weight:500;color:var(--ink)}
.navy .label{color:var(--on-navy-2)}
.navy .label b{color:var(--on-navy)}

h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:350;font-optical-sizing:auto;text-wrap:balance}
h2{font-size:clamp(34px,4.4vw,62px);line-height:1.03;letter-spacing:-.018em}
h2 em,h1 em{font-style:italic;font-weight:300}
.navy h2,.navy h3{color:var(--on-navy)}

.lede{font-size:clamp(19px,1.6vw,22px);line-height:1.5;color:var(--ink)}

/* ---------- Brand ---------- */
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand svg{width:38px;height:38px;flex:none}
.brand-word{display:flex;flex-direction:column;line-height:1}
.brand-word strong{font:600 17px/1 var(--sans);letter-spacing:.2em}
.brand-word small{font:400 8.5px/1 var(--mono);letter-spacing:.46em;margin-top:5px}
.mark-line{stroke:currentColor}
.mark-pad{fill:var(--paper);stroke:currentColor}
.mark-node{fill:var(--teal);stroke:var(--paper)}
.navy .mark-pad{fill:var(--navy)}
.navy .mark-node{fill:var(--teal-on-navy);stroke:var(--navy)}

/* ---------- Masthead ---------- */
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px;border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);font-size:14px}
.nav a{text-decoration:none;color:var(--ink-2)}
.nav a:hover{color:var(--ink);text-decoration:underline}
.nav .nav-doc{color:var(--ink);text-decoration:underline}
.menu-btn{display:none;background:none;border:0;padding:6px 0;font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);cursor:pointer}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(56px,9vw,128px) 0}
.hero h1{grid-column:1/12;font-size:clamp(46px,8.4vw,128px);line-height:.95;letter-spacing:-.034em;font-weight:300;text-wrap:initial}
.hero-kicker{grid-column:1/-1;margin-bottom:clamp(28px,4vw,48px)}
.hero-body{margin-top:clamp(48px,7vw,96px);align-items:end}
.hero-facts{grid-column:1/5;display:grid;gap:18px}
.hero-facts dd{font-size:15px;color:var(--ink);margin-top:2px}
.hero-copy{grid-column:6/12}
.hero-links{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:28px;font-size:15px}
.hero-links a{color:var(--ink)}
.arrow::after{content:" \2192";font-family:var(--sans)}
.down::after{content:" \2193";font-family:var(--sans)}

/* focus areas: a plain typographic run, not a tab bar */
.domains{margin-top:clamp(56px,8vw,112px);padding-top:18px;border-top:1px solid var(--ink);display:flex;flex-wrap:wrap;gap:6px 0;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.domains li:not(:last-child)::after{content:"/";color:var(--ink-3);margin:0 .9em}

/* ---------- Sections ---------- */
.section{padding-block:clamp(84px,11vw,160px)}
.section.flush{padding-top:0}
.sec-no{font:400 13px/1 var(--mono);color:var(--ink-3);letter-spacing:.06em}
.sec-no::before{content:"";display:inline-block;width:28px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}
.band{background:var(--paper-2)}
.navy{background:var(--navy);color:var(--on-navy-2)}
.navy .sec-no{color:var(--on-navy-2)}

/* Overview */
.ov-head{grid-column:1/4;padding-top:10px}
.ov-body{grid-column:4/13}
.ov-body h2{max-width:14em}
.ov-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:clamp(36px,4vw,56px)}
.ov-cols .lede{grid-column:1/-1;max-width:34em}

.ambition{grid-column:2/12;margin-block:clamp(72px,9vw,128px)}
.ambition p{font:300 clamp(28px,3.3vw,46px)/1.18 var(--serif);color:var(--ink);letter-spacing:-.01em;margin-top:18px;text-indent:-.42em}

.snapshot{grid-column:4/13;display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gap)}
.snapshot-head{grid-column:1/4}
.snapshot div{border-top:1px solid var(--rule);padding:14px 0 20px;display:grid;grid-template-columns:9.5rem 1fr;gap:14px}
.snapshot dd{font-size:15px;color:var(--ink);line-height:1.5}

/* Positioning */
.pos-title{grid-column:1/11;margin-top:28px}
.pos-figure{grid-column:1/8;margin-top:clamp(48px,6vw,80px)}
.pos-text{grid-column:9/13;margin-top:clamp(48px,6vw,80px);align-self:center}
.figure-scroll{overflow-x:auto}
.figure-scroll svg{display:block;min-width:520px;width:100%;height:auto}
.dia text{font-family:var(--sans);font-size:14px;fill:var(--ink)}
.dia .t-mono{font-family:var(--mono);font-size:11px;letter-spacing:.1em;fill:var(--ink-3)}
.dia .ln{fill:none;stroke:var(--ink);stroke-width:1.4}

/* client journey: one routed line, echoing the mark */
.journey{margin-top:22px;font:400 13px/1.3 var(--mono);color:var(--ink);position:relative;padding-left:26px}
.journey::before{content:"";position:absolute;left:4px;top:8px;bottom:8px;border-left:1px solid var(--ink)}
.journey li{position:relative;padding:5px 0}
.journey li::before{content:"";position:absolute;left:-25px;top:50%;width:7px;height:7px;margin-top:-4px;background:var(--paper);border:1px solid var(--ink);transform:rotate(45deg)}
.journey li:first-child{color:var(--teal-ink)}
.journey li:first-child::before{background:var(--teal);border-color:var(--teal)}

.principles{grid-column:1/-1;margin-top:clamp(80px,10vw,140px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.principles>.label{grid-column:1/4}
.principles ol{grid-column:4/13;columns:2;column-gap:var(--gap);counter-reset:p}
.principles li{break-inside:avoid;padding:0 0 30px 44px;position:relative;counter-increment:p}
.principles li::before{content:counter(p,upper-roman);position:absolute;left:0;top:4px;font:400 12px/1 var(--mono);color:var(--ink-3)}
.principles h3{font-size:23px;line-height:1.2;margin-bottom:6px}
.principles li p{font-size:15px}

/* Vision band */
.vmp{grid-column:1/-1;margin-top:clamp(40px,5vw,64px)}
.vmp>div{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);padding-block:clamp(26px,3vw,40px);border-top:1px solid var(--rule)}
.vmp dt{grid-column:1/4;font:italic 300 clamp(26px,2.6vw,36px)/1 var(--serif);color:var(--ink)}
.vmp dd{grid-column:4/12;font:350 clamp(21px,2vw,28px)/1.32 var(--serif);color:var(--ink)}
/* values: a glossary, not a feature grid */
.values{grid-column:1/-1;margin-top:clamp(64px,8vw,112px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.values>.label{grid-column:1/4;padding-top:16px}
.values dl{grid-column:4/13;border-bottom:1px solid var(--ink)}
.values div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:var(--gap);padding:15px 0 16px;border-top:1px solid var(--rule);align-items:baseline}
.values div:first-child{border-top-color:var(--ink)}
.values dt{font:400 21px/1.2 var(--serif);color:var(--ink)}
.values dd{font-size:15px;line-height:1.55}

/* Services index */
.svc-head{grid-column:1/8}
.svc-intro{grid-column:9/13;align-self:end}
.svc{grid-column:1/-1;margin-top:clamp(48px,6vw,80px);border-bottom:1px solid var(--ink)}
.svc li{display:grid;grid-template-columns:3.2rem minmax(0,5fr) minmax(0,7fr);column-gap:var(--gap);padding:22px 0 24px;border-top:1px solid var(--rule);align-items:baseline}
.svc li:first-child{border-top-color:var(--ink)}
.svc .n{font:400 12px/1 var(--mono);color:var(--ink-3)}
.svc h3{font-size:clamp(23px,2.2vw,31px);line-height:1.1;transition:color .2s}
.svc p{font-size:15px;max-width:44em}
.svc li:hover h3{color:var(--teal-ink)}

.families{grid-column:1/-1;margin-top:clamp(80px,10vw,140px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.families>header{grid-column:1/5;align-self:start;position:sticky;top:32px}
.families>header h3{font-size:clamp(28px,2.8vw,40px);line-height:1.08;margin-top:14px;max-width:9em}
.families ol{grid-column:6/13}
.families li{padding:18px 0 20px;border-top:1px solid var(--rule)}
.families li:first-child{border-top:0;padding-top:4px}
.families h4{margin:0 0 6px;font:600 16px/1.3 var(--sans);color:var(--ink)}
.families p{font:400 13px/1.7 var(--mono);color:var(--ink-3)}

/* Industries: run-in entries flowing through columns */
.ind-head{grid-column:1/10}
.ind-note{grid-column:7/13;margin-top:clamp(28px,3vw,40px);font-size:14px;line-height:1.6}
.ind-note .label{display:block;margin-bottom:8px;color:var(--ink)}
.ind{grid-column:1/-1;margin-top:clamp(48px,6vw,72px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--ink);columns:3;column-gap:clamp(28px,3.5vw,56px)}
.ind li{break-inside:avoid;margin-bottom:24px;font-size:14.5px;line-height:1.6;color:var(--ink-3)}
.ind h3{display:inline;font-size:20px;line-height:1.3}
.ind h3::after{content:"\2002"}
.ind p{display:inline}

/* Method (navy) */
.m-head{grid-column:1/8}
.m-intro{grid-column:9/13;align-self:end;color:var(--on-navy-2)}
.cycle{grid-column:1/-1;margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative}
.cycle li{position:relative;padding:34px 18px 0 0}
.cycle li::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:1px solid var(--rule-navy)}
.cycle li::after{content:"";position:absolute;left:0;top:0;width:10px;height:10px;background:var(--navy);border:1px solid var(--on-navy);transform:rotate(45deg)}
.cycle li:last-child::after{background:var(--teal-on-navy);border-color:var(--teal-on-navy)}
.cycle .n{font:400 11px/1 var(--mono);color:var(--on-navy-2);letter-spacing:.08em}
.cycle h3{font-size:27px;line-height:1.1;margin:10px 0}
.cycle p{font-size:13.5px;line-height:1.55}
.loop{grid-column:1/-1;position:relative;height:56px;margin-top:28px}
.loop::before{content:"";position:absolute;left:5px;right:calc(100% / 7 - 5px);top:0;height:26px;border:1px solid var(--on-navy-2);border-top:0}
.loop::after{content:"";position:absolute;left:1px;top:-2px;border:4px solid transparent;border-bottom:7px solid var(--on-navy-2);border-top:0}
.loop span{position:absolute;left:calc(100% / 7 * 3);top:18px;background:var(--navy);padding:0 12px}
.delivery{grid-column:1/-1;margin-top:clamp(72px,9vw,120px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.delivery>header{grid-column:1/5}
.delivery>header h3{font-size:clamp(28px,2.8vw,40px);line-height:1.08;margin-top:14px}
.delivery dl{grid-column:6/13}
.delivery div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap);padding:14px 0;border-top:1px solid var(--rule-navy)}
.delivery dt{color:var(--on-navy);font-weight:500;font-size:15px}
.delivery dd{font-size:15px}

/* Innovation */
.inn-side{grid-column:1/5;align-self:start;position:sticky;top:32px}
.inn-side h2{margin-top:28px;font-size:clamp(32px,3.4vw,48px)}
.inn-standard{margin-top:40px;font:italic 300 21px/1.4 var(--serif);color:var(--ink);max-width:17em}
.inn-standard .label{display:block;font-style:normal;margin-bottom:10px}
.themes{grid-column:6/13;counter-reset:t}
.themes li{counter-increment:t;display:grid;grid-template-columns:2.6rem 1fr;padding:24px 0 26px;border-top:1px solid var(--rule)}
.themes li:first-child{border-top-color:var(--ink)}
.themes li::before{content:counter(t,decimal-leading-zero);font:400 12px/2.2 var(--mono);color:var(--ink-3)}
.themes h3{font-size:clamp(22px,2vw,27px);line-height:1.15;margin-bottom:6px}
.themes p{font-size:15px}

/* Trust */
.trust-title{grid-column:1/10;margin-top:28px}
.trust-lede{grid-column:1/7;margin-top:36px}
.commit{grid-column:1/9;margin-top:clamp(48px,6vw,72px);columns:2;column-gap:clamp(28px,3.5vw,56px)}
.commit li{break-inside:avoid;position:relative;padding-left:22px;margin-bottom:22px;font-size:15px}
.commit li::before{content:"";position:absolute;left:1px;top:.62em;width:6px;height:6px;background:var(--teal);transform:rotate(45deg)}
.trust-aside{grid-column:10/13;margin-top:clamp(48px,6vw,72px);font-size:14px;padding-top:16px;border-top:1px solid var(--ink)}
.trust-aside .label{display:block;margin-bottom:10px}

.diff{grid-column:1/-1;margin-top:clamp(88px,11vw,150px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.diff>header{grid-column:1/5}
.diff>header h3{font-size:clamp(28px,2.8vw,40px);line-height:1.08;margin-top:14px;max-width:10em}
.diff>header p:not(.label){margin-top:18px;font-size:15px;max-width:26em}
.diff dl{grid-column:6/13;columns:2;column-gap:clamp(28px,3.5vw,56px);padding-top:6px}
.diff div{break-inside:avoid;margin-bottom:22px;font-size:14.5px;line-height:1.6}
.diff dt{display:inline;font-weight:600;color:var(--ink)}
.diff dt::after{content:"\2002"}
.diff dd{display:inline}

/* Roadmap */
.rm-head{grid-column:1/9}
.rm-note{grid-column:1/6;margin-top:22px;font-size:14px;color:var(--ink-3)}
.road{grid-column:1/-1;margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.track{position:relative;height:118px}
.track .ln{position:absolute;left:0;right:0;top:var(--y);border-top:1.5px solid var(--ink)}
.track .rise{position:absolute;left:0;top:var(--y);height:24px;border-left:1.5px solid var(--ink)}
.track .node{position:absolute;left:-6px;top:calc(var(--y) - 5.5px);width:12px;height:12px;background:var(--paper);border:1.5px solid var(--ink);transform:rotate(45deg)}
.road li:last-child .node{background:var(--teal);border-color:var(--teal)}
.road li:last-child .ln{right:-2px}
.road li:last-child .ln::after{content:"";position:absolute;right:-1px;top:-5px;border:4px solid transparent;border-left:8px solid var(--ink);border-right:0}
.yr{padding-right:clamp(14px,2vw,30px)}
.yr .year{font:300 clamp(38px,4.2vw,60px)/1 var(--serif);color:var(--ink);letter-spacing:-.02em}
.yr h3{font:600 15px/1.3 var(--sans);color:var(--ink);margin:10px 0 14px}
.yr .focus{font-size:14px;color:var(--ink);line-height:1.5;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:14px}
.yr .ms{font-size:13.5px;line-height:1.55;color:var(--ink-3)}
.discipline{grid-column:3/11;margin-top:clamp(64px,8vw,104px);font:300 clamp(22px,2.2vw,30px)/1.35 var(--serif);color:var(--ink)}
.discipline .label{display:block;margin-bottom:12px}

/* Close */
.close-quote{grid-column:1/12;font:300 clamp(34px,4.9vw,72px)/1.06 var(--serif);letter-spacing:-.02em;color:var(--on-navy);margin-top:32px}
.close-quote em{font-style:italic}
.close-cite{grid-column:1/-1;margin-top:28px}
.close-cite::before{content:"";display:inline-block;width:40px;height:2px;background:var(--teal-on-navy);vertical-align:middle;margin-right:14px}
.impact{grid-column:1/-1;margin-top:clamp(72px,9vw,120px);padding-top:28px;border-top:1px solid var(--rule-navy);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
.impact>.label{grid-column:1/4}
.impact dl{grid-column:4/13;columns:2;column-gap:clamp(28px,3.5vw,56px)}
.impact div{break-inside:avoid;margin-bottom:18px;font-size:15px;line-height:1.6}
.impact dt{display:inline;color:var(--on-navy);font:italic 400 19px/1.3 var(--serif)}
.impact dt::after{content:"\2002"}
.impact dd{display:inline}

/* Footer */
.footer{background:var(--navy);color:var(--on-navy-2);border-top:1px solid var(--rule-navy);padding-block:56px 40px;font-size:14px}
.footer .brand{color:var(--on-navy)}
.f-brand{grid-column:1/5}
.f-brand p{margin-top:22px;max-width:24em}
.f-col{grid-column:span 2}
.f-col .label{display:block;margin-bottom:12px}
.f-col li{margin-bottom:6px}
.f-col a{text-decoration:none;color:var(--on-navy)}
.f-col a:hover{text-decoration:underline}
.f-note{grid-column:9/13}
.f-note p{margin-top:12px;font-size:13px;line-height:1.6}
.f-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:56px;padding-top:20px;border-top:1px solid var(--rule-navy)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .ind{columns:2}
  .cycle{grid-template-columns:1fr;padding-left:6px}
  .cycle li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);column-gap:var(--gap);padding:0 0 28px 30px}
  .cycle li::before{left:4px;right:auto;top:0;bottom:0;border-top:0;border-left:1px solid var(--rule-navy)}
  .cycle li:last-child::before{display:none}
  .cycle li>*{grid-column:1}
  .cycle li p{grid-column:2;grid-row:1/3;padding-top:4px}
  .cycle h3{margin:6px 0 0}
  .loop{display:none}
  .road{grid-template-columns:1fr;border-left:1.5px solid var(--ink);margin-left:6px}
  .track{display:none}
  .yr{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);column-gap:var(--gap);padding:0 0 36px 28px;position:relative}
  .yr::before{content:"";position:absolute;left:-7.5px;top:14px;width:12px;height:12px;background:var(--paper);border:1.5px solid var(--ink);transform:rotate(45deg)}
  .road li:last-child .yr::before{background:var(--teal);border-color:var(--teal)}
  .yr>.year,.yr>h3{grid-column:1}
  .yr>.focus,.yr>.ms{grid-column:2}
  .yr>.focus{grid-row:1/3;align-self:start;padding-top:8px}
}
@media (max-width:900px){
  .nav{display:none}
  .menu-btn{display:block}
  .nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:14px;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:20px var(--gutter) 28px;border-bottom:1px solid var(--ink);z-index:5;font-size:16px}
  .masthead{position:relative}
  .hero h1,.hero-facts,.hero-copy{grid-column:1/-1}
  .hero-copy{order:-1;margin-bottom:40px}
  .ov-head,.ov-body,.snapshot-head,.snapshot,.pos-title,.pos-figure,.pos-text,.svc-head,.svc-intro,.ind-head,.ind-note,.m-head,.m-intro,.rm-head,.rm-note,.inn-side,.themes,.trust-title,.trust-lede,.commit,.trust-aside,.discipline,.close-quote,.ambition{grid-column:1/-1}
  .ov-body{margin-top:24px}
  .snapshot{margin-top:18px;grid-template-columns:1fr}
  .svc-intro,.m-intro,.pos-text{margin-top:28px}
  .inn-side,.families>header{position:static}
  .themes{margin-top:48px}
  .principles>.label,.principles ol,.values>.label,.values dl,.families>header,.families ol,.delivery>header,.delivery dl,.diff>header,.diff dl,.impact>.label,.impact dl{grid-column:1/-1}
  .principles ol,.values dl,.families ol,.delivery dl,.diff dl,.impact dl{margin-top:28px}
  .families li:first-child{border-top:1px solid var(--rule);padding-top:18px}
  .principles ol{columns:1}
  .vmp dt,.vmp dd{grid-column:1/-1}
  .vmp dd{margin-top:12px}
  .svc li{grid-template-columns:2.4rem minmax(0,1fr)}
  .svc p{grid-column:2;margin-top:10px}
  .f-brand,.f-note{grid-column:1/-1}
  .f-col{grid-column:span 6;margin-top:36px}
  .f-note{margin-top:36px}
}
@media (max-width:640px){
  .ov-cols{grid-template-columns:1fr}
  .commit,.diff dl,.impact dl,.ind{columns:1}
  .snapshot div,.values div{grid-template-columns:1fr;gap:4px}
  .cycle li,.yr{grid-template-columns:1fr}
  .cycle li p,.yr>.focus,.yr>.ms{grid-column:1;grid-row:auto}
  .cycle li p,.yr>.focus{padding-top:0;margin-top:8px}
  .principles li{padding-left:36px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.svc h3{transition:none}}
