/* DGI manifesto: ultramarine, archival images, and a readable decision tree. */
@media screen {
html:has(body[data-view="home"]){scroll-padding-top:0}
body[data-view="home"]{--page-gutter:clamp(28px,4.5vw,180px);--hero-header:clamp(80px,12svh,126px)}
body[data-view="home"] main{padding:0}
body[data-view="home"] .app-header{position:absolute;inset:0 0 auto;background:transparent;backdrop-filter:none;border:0;color:var(--cover-fg);z-index:5}
body[data-view="home"] .app-header .wrap{max-width:none;min-height:var(--hero-header);height:var(--hero-header);padding:0 var(--page-gutter);flex-wrap:nowrap}
body[data-view="home"] .app-header .brand b{font-size:clamp(2rem,3.4svh,3.2rem)}
body[data-view="home"] .brand-descriptor{color:var(--cover-muted);border-color:var(--cover-line)}
body[data-view="home"] .app-header .nav{flex-basis:auto;margin-left:auto;order:1}
body[data-view="home"] .nav a{color:var(--cover-fg);letter-spacing:.055em;font-size:1rem;padding:10px 17px}
body[data-view="home"] .nav a:hover{background:transparent;text-decoration:underline;text-underline-offset:5px}
body[data-view="home"] .nav a:last-child{background:var(--cover-fg);color:var(--cover-bg);margin-left:24px;padding-inline:20px}
body[data-view="home"] #theme-btn{order:2;color:var(--cover-fg);border:1px solid var(--cover-line);background:transparent;margin-left:12px;min-width:57px}
body[data-view="home"] .app-footer{margin:0;padding-block:28px;border-color:var(--line);color:var(--brand);font:400 .7rem/1.6 var(--mono)}
body[data-view="home"] .app-footer .wrap{max-width:none;padding-inline:var(--page-gutter)}
body[data-view="home"] .app-footer{background:var(--cover-bg);color:var(--cover-muted);border-color:var(--cover-line)}
/* Prata is the open-license alternative selected for the Hermes-inspired serif. */
.landing{--landing-serif:'Prata','Times New Roman',serif;background:var(--bg);color:var(--fg);overflow:clip}
.landing p{margin:0}
.landing .overline,.landing .folio{font:400 .66rem/1.5 var(--mono);letter-spacing:.05em}
.landing-hero{height:100svh;height:100dvh;min-height:0;position:relative;isolation:isolate;display:flex;align-items:center;background:var(--cover-bg);color:var(--cover-fg)}
.hero-content{position:relative;z-index:1;width:100%;margin:0;padding:calc(var(--hero-header) + 2svh) var(--page-gutter) 11svh;pointer-events:none}
.hero-content>*{pointer-events:auto}
.hero-content .overline{margin-bottom:clamp(16px,3svh,36px);font-size:clamp(.75rem,.75vw,.875rem);color:var(--cover-muted);max-width:46%}
.landing h1{font:400 clamp(2.85rem,min(6.55vw,12.2svh),9.5rem)/1.04 var(--landing-serif);font-synthesis:none;letter-spacing:-.025em;text-transform:none;margin:0 0 clamp(20px,3.5svh,42px);max-width:49%}
.hero-title-line{display:block}
.hero-description{font:400 clamp(1.35rem,1.9vw,2.5rem)/1.35 var(--landing-serif);letter-spacing:-.015em;max-width:min(31vw,480px);color:var(--cover-muted)}
.hero-actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:clamp(20px,3.5svh,40px);max-width:48%}
.landing .btn.primary{background:var(--cover-fg);color:var(--cover-bg);border:1px solid var(--cover-fg);min-height:45px;padding:11px 18px;gap:30px;font:400 1.02rem/1.3 var(--display);text-transform:uppercase;letter-spacing:.05em;border-radius:0;box-shadow:none}
.landing .btn.primary:hover{background:transparent;color:var(--cover-fg);transform:none;box-shadow:none}
.landing-hero .btn:focus-visible,.landing-hero .text-link:focus-visible,.corpera-entry .btn:focus-visible{outline-color:var(--cover-fg)}
.text-link{display:inline-flex;gap:18px;align-items:center;justify-content:space-between;padding:6px 0;background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;font:400 .97rem/1.4 var(--display);text-transform:uppercase;letter-spacing:.035em;text-decoration:none;cursor:pointer}
.text-link:hover{opacity:.75}
.link-arrow{font-family:var(--sans);font-size:.9em;display:inline-block;transition:transform .2s;flex:none}
a:hover .link-arrow,button:hover .link-arrow{transform:translate(2px,-2px)}
.hero-art{position:absolute;z-index:0;inset:var(--hero-header) 0 10svh 47%;overflow:hidden;background:var(--cover-bg)}
.hero-art img,.hero-art canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-art img{filter:url(#hero-duotone)}
.hero-filter{position:absolute;width:0;height:0;overflow:hidden}
.hero-art canvas{opacity:0;transition:opacity .8s}
.hero-rail{position:absolute;bottom:3svh;left:var(--page-gutter);right:var(--page-gutter);display:flex;justify-content:space-between;align-items:center;padding-top:2.2svh;border-top:1px solid var(--cover-line);gap:24px;font:400 .63rem/1.5 var(--mono);letter-spacing:.065em}
.motion-control{font:400 .65rem var(--mono);letter-spacing:0;text-transform:uppercase;color:var(--cover-muted);background:transparent;border:0;border-bottom:1px dotted var(--cover-muted);padding:5px 0;cursor:pointer}
.motion-control:disabled{cursor:default;opacity:.7}
.manifesto-ledger{max-width:1600px;margin:auto;padding:clamp(40px,6vw,90px) min(var(--page-gutter),72px) 0;color:var(--brand)}
.manifesto-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(165px,.42fr);gap:clamp(28px,4vw,90px);padding:36px 0;border-top:1px dashed currentColor;align-items:start}
.manifesto-image{position:relative;margin:0;min-width:0;overflow:hidden;background:#0000f2}
.manifesto-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;mix-blend-mode:screen}
.print-dither{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none}
.print-dither.is-ready{opacity:1}
.manifesto-copy{padding-top:12px;max-width:600px;font:400 clamp(.8rem,.85vw,.98rem)/1.55 var(--mono);letter-spacing:-.025em}
.landing .manifesto-copy h2{font:400 1em/1.5 var(--mono);text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;letter-spacing:0;margin:0 0 20px;max-width:38ch}
.manifesto-copy p+p{margin-top:18px}
.manifesto-copy .manifesto-emphasis{margin-top:23px;opacity:.78}
.manifesto-index{display:flex;flex-direction:column;align-items:center;align-self:start;text-align:center;font:400 .875rem/1.65 var(--mono);letter-spacing:.01em;padding-top:12px;gap:2px}
.index-symbol{display:block;position:relative;width:42px;height:42px;margin-top:26px}
.index-symbol-01{border:1px solid currentColor;background:repeating-linear-gradient(90deg,transparent 0 12px,currentColor 12px 13px)}
.index-symbol-02{border:1px solid currentColor;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 8px,currentColor 8px 9px)}
.index-symbol-03{border:1px solid currentColor;transform:rotate(45deg);width:32px;height:32px;margin:31px 0 5px}
.index-symbol-03:before{content:'';position:absolute;inset:5px;border:1px solid currentColor}
.manifesto-lens{display:grid;grid-template-columns:8px 1fr;gap:7px 11px}
.manifesto-lens strong{font-weight:400;font-size:.85em;letter-spacing:.07em}
.manifesto-lens>span:last-child{grid-column:2}
.lens-marker{display:inline-block;width:7px;height:7px;background:currentColor;margin-top:5px}
.system-marker{border-radius:50%}.behaviour-marker{transform:rotate(45deg)}
.leadership-story{width:calc(100% - var(--page-gutter)*2);max-width:1456px;margin:50px auto 0;border-top:1px dashed var(--brand);color:var(--brand);padding-top:45px}
.story-heading{display:grid;grid-template-columns:1fr 1fr;gap:22px 70px;margin-bottom:45px;align-items:start}
.story-heading .folio{grid-column:1/-1}
.landing .story-heading h2{font:400 clamp(2.4rem,3.2vw,4.2rem)/1.08 var(--display);letter-spacing:-.02em;margin:0;max-width:600px}
.story-intro{font:400 .88rem/1.7 var(--mono);max-width:550px;letter-spacing:-.02em}
.story-layout{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.45fr);gap:clamp(50px,8vw,160px);align-items:start}
.story-guide{position:sticky;top:40px;padding-top:16px}
.story-chapters{display:grid;border-top:1px solid currentColor}
.story-chapter{display:grid;grid-template-columns:28px 1fr;gap:18px;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent);padding:17px 0;font:400 .82rem/1.5 var(--mono);cursor:pointer;transition:background .25s,padding .25s}
.story-chapter>span:first-child{font-size:.72rem;opacity:.7}
.story-chapter[aria-pressed="true"]{background:var(--brand);color:var(--bg);padding-inline:13px}
.story-chapter:focus-visible,.story-next:focus-visible,.story-play:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.story-explanation{padding:35px 0 28px;min-height:250px}
.story-explanation h3{font:400 1.8rem/1.15 var(--display);margin:0 0 18px;max-width:350px}
.story-explanation p{font:400 .81rem/1.7 var(--mono);letter-spacing:-.02em;max-width:420px}
.story-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent);padding-top:20px}
.story-progress{font:400 .65rem var(--mono);margin-left:auto}
.story-next{font:400 .73rem var(--mono);background:transparent;color:inherit;padding:6px 0;border:0;cursor:pointer}
.story-play{font-size:.95rem}
.story-map{margin:0;min-width:0}
.story-map-hint{display:none}
.decision-map{display:block;width:100%;height:auto;overflow:visible}
.decision-node rect{fill:var(--bg);stroke:currentColor;stroke-width:1;transition:fill .55s}
.decision-node text{fill:currentColor;transition:fill .55s}
.decision-node-label{font:400 12px var(--mono);letter-spacing:.3px}
.decision-node-text{font:400 18px var(--sans);letter-spacing:-.2px}
.decision-node.is-current rect{fill:var(--brand);stroke:var(--brand)}
.decision-node.is-current text{fill:var(--bg)}
.decision-line{fill:none;stroke:currentColor;stroke-width:1.3;opacity:.38}
.decision-branch{fill:currentColor;font:400 13px var(--mono)}
.decision-connection.is-current .decision-line{opacity:1;stroke-width:2;stroke-dasharray:1;animation:trace-decision 1.1s ease both}
@keyframes trace-decision{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.story-map figcaption{font:400 .65rem/1.6 var(--mono);text-align:right;margin-top:20px;opacity:.7}
.corpera-signature{--signature-font:var(--landing-serif);--signature-mono:'Courier New',Courier,monospace;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;background:var(--cover-bg);color:var(--cover-fg);margin-top:24px;padding:clamp(40px,5svh,72px) var(--page-gutter) 0}
.corpera-entry{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,1.9svh,24px);text-align:center;max-width:880px;width:100%;margin:0 auto clamp(24px,2vw,40px)}
.landing .corpera-entry h2{font:400 clamp(2.2rem,3.7vw,5rem)/1.1 var(--signature-font);font-synthesis:none;letter-spacing:-.01em;margin:0;color:var(--cover-fg);text-wrap:balance}
.corpera-description{font:700 clamp(.875rem,.95vw,1.125rem)/1.65 var(--signature-mono);width:min(100%,56ch);letter-spacing:.075em;text-transform:uppercase;text-wrap:balance}
.corpera-art{position:relative;flex:none;width:min(72vw,1100px);max-width:100%;margin:0 auto}
.corpera-topics{font:700 clamp(.8125rem,.8vw,.9375rem)/1.6 var(--signature-mono);letter-spacing:.11em;color:var(--cover-muted)}
.corpera-entry .btn.primary{font:700 1rem/1.4 var(--signature-mono);letter-spacing:.09em;min-height:52px;min-width:280px;max-width:100%;padding:14px 28px}
.corpera-motion{position:absolute;z-index:2;right:var(--page-gutter);bottom:28px;font:400 .75rem/1.5 var(--mono);color:inherit;background:none;border:0;border-bottom:1px dotted currentColor;padding:6px 0;cursor:pointer}
.corpera-motion:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.corpera-motion:disabled{opacity:.6;cursor:default}
.corpera-scene{display:block;width:100%;height:auto;overflow:hidden}
.corpera-wordmark{font-family:var(--signature-font);font-weight:400;font-synthesis:none;letter-spacing:-.012em;fill:var(--cover-word);opacity:.34}
.corpera-ink{flood-color:var(--cover-fg)}
.corpera-orb-ground{fill:var(--cover-bg)}
.corpera-orb-canvas{position:absolute;z-index:1;display:block;pointer-events:none;opacity:0}
.corpera-orb-canvas.is-ready{opacity:1}
.corpera-engraving,.corpera-orb{pointer-events:none}
.has-reveals .reveal{opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .7s ease}
.has-reveals .reveal.revealed{opacity:1;transform:none}
.hero-content .overline,.hero-content h1,.hero-description,.hero-actions{animation:hero-enter .65s ease both}
.hero-content h1{animation-delay:.06s}.hero-description{animation-delay:.12s}.hero-actions{animation-delay:.18s}
@keyframes hero-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){
  body[data-view="home"] .nav a{padding-inline:10px}body[data-view="home"] .nav a:last-child{margin-left:10px}
  .hero-actions{gap:22px}.hero-description{max-width:37vw}
  .manifesto-row{grid-template-columns:minmax(0,.92fr) minmax(0,1.15fr);gap:32px}
  .manifesto-copy{font-size:.79rem;padding-top:0}.manifesto-index{grid-column:2;grid-row:auto;display:none}
  .story-layout{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:40px}
  .story-explanation{min-height:310px}.story-explanation p{font-size:.77rem}
}
@media(min-width:761px) and (max-height:700px){
  body[data-view="home"]{--hero-header:74px}
  .hero-content{padding-top:90px;padding-bottom:70px}.hero-content .overline{margin-bottom:16px;font-size:.58rem}
  .landing h1{font-size:clamp(2.35rem,min(6vw,10.7svh),5.25rem);margin-bottom:20px}
  .hero-description{font-size:1.2rem;line-height:1.3;max-width:370px}
  .hero-actions{margin-top:20px;gap:22px}.landing .btn.primary{min-height:40px;padding:9px 14px;font-size:.93rem}
  .hero-actions .text-link{font-size:.9rem}.hero-rail{font-size:.56rem}.hero-art{bottom:70px}
}
@media(min-width:761px) and (max-aspect-ratio:3/4){
  .landing-hero{align-items:flex-start}
  .hero-content{padding-top:calc(var(--hero-header) + 3svh);padding-bottom:0}
  .landing h1{font-size:clamp(3.55rem,9.45vw,8.4rem);max-width:90%}
  .hero-content .overline{max-width:100%}
  .hero-description{max-width:520px;font-size:1.65rem}
  .hero-actions{max-width:85%;margin-top:26px}
  .hero-art{top:46svh;left:14%;bottom:10svh}
}
@media(max-width:760px){
  .corpera-signature{padding-top:36px}
  .corpera-art{width:100%}
  .corpera-entry{gap:14px}
  .corpera-topics{font-size:.75rem;letter-spacing:.04em}
  .corpera-description{font-size:.875rem;letter-spacing:.045em}
  .corpera-entry .btn.primary{min-width:0;width:min(100%,280px);font-size:.875rem}
  .corpera-motion{bottom:12px}
  body[data-view="home"]{--page-gutter:28px;--hero-header:82px}
  body[data-view="home"] .app-header .wrap{gap:8px}
  body[data-view="home"] .app-header .brand b{font-size:2.1rem}
  body[data-view="home"] .nav a{font-size:.88rem;padding:8px}
  body[data-view="home"] .nav a:nth-child(2){display:none}
  body[data-view="home"] .nav a:last-child{padding:9px 12px;margin-left:7px}
  body[data-view="home"] #theme-btn{padding:7px 9px;font-size:.85rem;margin-left:0;min-width:44px}
  .landing-hero{height:auto;min-height:100svh;display:flex;flex-direction:column;align-items:stretch}
  .hero-content{order:0;padding:calc(var(--hero-header) + 30px) var(--page-gutter) 0;pointer-events:auto}
  .hero-content .overline{font-size:.6875rem;letter-spacing:.025em;max-width:100%;margin-bottom:24px}
  .landing h1{font-size:clamp(2.25rem,12vw,6.1rem);line-height:1.06;letter-spacing:-.025em;max-width:none;margin-bottom:24px}
  .hero-description{max-width:440px;font-size:1.4rem;line-height:1.3}
  .hero-actions{max-width:none;gap:20px 28px;margin-top:24px}
  .landing .btn.primary{font-size:.97rem;gap:22px}.hero-actions .text-link{font-size:.94rem}
  .hero-art{order:1;position:relative;inset:auto;flex:1;min-height:240px;height:38svh;max-height:440px;width:100%;margin-top:28px;aspect-ratio:1.6}
  .hero-rail{order:2;position:relative;inset:auto;margin:20px var(--page-gutter) 24px;padding-top:18px;font-size:.5rem;letter-spacing:0;gap:10px}
  .motion-control{font-size:.54rem}
  .manifesto-ledger{padding-top:45px}
  .manifesto-row{grid-template-columns:1fr;gap:26px;padding:28px 0 36px}
  .manifesto-image{max-width:none}.manifesto-copy{font-size:.81rem;max-width:none}
  .manifesto-copy p+p{margin-top:18px}.manifesto-copy .manifesto-emphasis{margin-top:20px}
  .landing .manifesto-copy h2{margin-bottom:18px;max-width:none}
  .leadership-story{margin-top:18px;padding-top:32px}
  .story-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}
  .landing .story-heading h2{font-size:2.7rem}.story-intro{font-size:.81rem}
  .story-layout{grid-template-columns:1fr;gap:25px}
  .story-guide{position:static;padding-top:0}
  .story-chapters{grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid currentColor}
  .story-chapter{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:13px 6px;border-bottom:0;font:400 .95rem/1.05 var(--display)}
  .story-chapter>span:first-child{font-size:.65rem;font-family:var(--mono)}
  .story-chapter[aria-pressed="true"]{padding:13px 6px}
  .story-explanation{min-height:0;padding:26px 0;max-width:600px}
  .story-explanation h3{font-size:1.8rem;max-width:none}.story-explanation p{font-size:.8rem;max-width:none}
  .story-controls{padding-top:16px}.story-map figcaption{text-align:left}
}
@media(max-width:500px){
  body[data-view="home"] .nav a:first-child{display:none}
  .story-chapter{font-size:.8rem;gap:7px}
  .story-map{overflow:auto;max-height:66svh;border:1px solid color-mix(in srgb,currentColor 35%,transparent);padding:14px;scrollbar-width:thin;scrollbar-color:var(--brand) var(--bg)}
  .decision-map{min-width:620px}
  .story-map-hint{display:block;font:400 .6rem/1.5 var(--mono);margin-bottom:14px!important}
  .story-map figcaption{min-width:300px}
}
@media(max-width:380px){body[data-view="home"]{--page-gutter:22px}.hero-content .overline{font-size:.53rem}.hero-actions{gap:18px}.hero-art{min-height:220px}.story-chapter{font-size:.74rem;padding-inline:3px}}
@media(prefers-reduced-motion:reduce){.landing *, .landing *::before,.landing *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.has-reveals .reveal{opacity:1;transform:none}}
}
