/* Ben Bassett — v3 design system. Winter tundra: white and ice, black ink, pale green and glacier blue. Line art, hairlines, lots of air. */
:root{
  --ink:#0b0f0e;
  --ink-2:#3a4442;
  --muted:#6f7a77;
  --paper:#ffffff;
  --ice:#f3f7f8;
  --ice-2:#e9f0f2;
  --line:rgba(11,15,14,0.14);
  --line-strong:rgba(11,15,14,0.4);
  --moss:#3f7a57;
  --moss-pale:#dcefe3;
  --glacier:#8fc0cf;
  --glacier-pale:#e3f0f4;
  --radius:10px;
  --shadow:0 20px 50px rgba(11,15,14,0.08);
  --font-display:'Instrument Serif', 'Times New Roman', serif;
  --font-text:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, Menlo, monospace;
  --measure:62ch;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html{background:var(--paper);}
html,body{background-color:transparent;color:var(--ink);font-family:var(--font-text);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;}
::selection{background:var(--moss-pale);}
.wrap{width:min(1200px, 100% - clamp(32px, 8vw, 96px));margin:0 auto;}
.display{font-family:var(--font-display);font-weight:400;letter-spacing:-0.01em;line-height:1;}
.display em{font-style:italic;color:var(--moss);}
.eyebrow{font-size:0.74rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--moss);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--moss);}
.muted{color:var(--muted);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ---------- header / footer ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,0.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.site-header .header-bar{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 24px;}
.header-center{display:flex;align-items:center;gap:22px;}
@media (max-width:900px){.site-header .header-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;height:auto;padding:0 16px;row-gap:0;}
  .site-header .wordmark{height:56px;display:flex;align-items:center;}
  .header-center{width:100%;gap:0;}
  .site-nav{width:100%;overflow-x:auto;scrollbar-width:none;gap:18px;padding:0 0 10px;}
  .site-nav::-webkit-scrollbar{display:none;}
  .site-nav a{font-size:0.84rem;padding:4px 0;}
  .deck-main{inset:96px 0 0 0;}
  .band-spacer{height:calc(40vh - 96px);}
  .report-sky{min-height:calc(100vh - 96px);}}
.wordmark{font-family:var(--font-display);font-size:1.45rem;text-decoration:none;white-space:nowrap;flex-shrink:0;}
.site-nav{display:flex;gap:clamp(12px, 1.8vw, 26px);}
.site-nav a{position:relative;text-decoration:none;font-weight:600;font-size:0.88rem;color:var(--ink-2);padding:6px 0;white-space:nowrap;}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.site-nav a:hover{color:var(--ink);}
.site-nav a:hover::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1);}
.site-nav a[aria-current="page"]{color:var(--ink);}
.site-footer{margin-top:clamp(64px, 9vw, 120px);border-top:1px solid var(--line);padding:36px 0 56px;color:var(--muted);font-size:0.9rem;}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;align-items:center;}
.small-print{display:block;margin-top:6px;font-size:0.72rem;color:var(--muted);max-width:60ch;line-height:1.5;}
.site-footer a{color:var(--ink-2);font-weight:600;text-decoration:none;}
.site-footer a:hover{color:var(--moss);}
.footer-links{display:flex;gap:22px;flex-wrap:wrap;}
.title-block{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));border:1px solid var(--line-strong);margin-bottom:28px;}
.title-block div{padding:10px 14px;border-right:1px solid var(--line);display:grid;gap:2px;}
.title-block div:last-child{border-right:none;}
.title-block span{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.title-block strong{font-size:0.86rem;color:var(--ink);font-weight:600;}
/* elevation rail */
.rail{position:fixed;right:22px;top:120px;bottom:120px;width:1px;z-index:30;}
.rail-line{position:absolute;inset:0;background:var(--line-strong);}
.rail-ticks{position:absolute;inset:0;}
.rail-tick{position:absolute;right:0;width:9px;height:1px;background:var(--ink);transform:translateY(-0.5px);text-decoration:none;}
.rail-tick span{position:absolute;right:16px;top:-7px;font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;opacity:0;transition:opacity .2s ease;}
.rail-tick.active span,.rail:hover .rail-tick span{opacity:1;}
.rail-tick.active span{color:var(--ink);}
.rail-dot{position:absolute;left:-3px;top:0;width:7px;height:7px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 2px #fff;transform:translateY(-50%);transition:top .08s linear;}
@media (max-width:1100px){.rail{display:none;}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:0.92rem;padding:12px 20px;border-radius:999px;border:1px solid var(--ink);transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{background:#243230;border-color:#243230;}
.btn-ghost{border-color:var(--line-strong);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--ink);}
.arrow{display:inline-block;transition:transform .15s ease;}
.btn:hover .arrow,.more:hover .arrow,.card-foot a:hover .arrow{transform:translateX(3px);}

/* ---------- hero with 3D contour model ---------- */
.hero{position:relative;overflow:clip;border-bottom:1px solid var(--line);}
.hero-grid{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);gap:clamp(24px, 4vw, 64px);align-items:center;padding:clamp(28px, 5vh, 64px) 0 clamp(28px, 5vh, 56px);min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);}
.hero-block{max-width:560px;}
.avatar{width:88px;height:88px;border-radius:24px;object-fit:cover;border:1px solid var(--line-strong);margin-bottom:22px;background:#fff;}
.hero h1{font-size:clamp(3.2rem, 6.4vw, 6rem);margin:14px 0 16px;line-height:0.95;}
.lede{font-size:clamp(1.1rem, 1.5vw, 1.35rem);line-height:1.45;color:var(--ink-2);max-width:36ch;}
.rotator{display:inline-block;min-width:11ch;color:var(--moss);border-bottom:1px solid var(--moss);font-weight:600;transition:opacity .35s ease;}
.rotator.fade{opacity:0;}
.now{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:0.9rem;color:var(--ink-2);border:1px solid var(--line);padding:7px 14px 7px 11px;border-radius:999px;background:#fff;}
.now .dot{width:8px;height:8px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 rgba(63,122,87,0.5);animation:pulse 2.4s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,122,87,0.5);}100%{box-shadow:0 0 0 10px rgba(63,122,87,0);}}
.now strong{font-weight:700;color:var(--ink);}
.edu{list-style:none;margin-top:20px;display:grid;gap:6px;padding-top:16px;border-top:1px solid var(--line);font-size:0.9rem;color:var(--ink-2);}
.edu li{display:flex;flex-wrap:wrap;gap:4px 12px;}
.edu strong{color:var(--ink);font-weight:700;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.hero-model{position:relative;}
.hero-block > *{animation:rise .7s ease both;}
.hero-block > *:nth-child(2){animation-delay:.08s;} .hero-block > *:nth-child(3){animation-delay:.16s;} .hero-block > *:nth-child(4){animation-delay:.24s;} .hero-block > *:nth-child(5){animation-delay:.32s;} .hero-block > *:nth-child(6){animation-delay:.4s;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.hero-model{animation:settle 1.2s cubic-bezier(.2,.7,.2,1) both;}
@keyframes settle{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:none;}}

/* ---------- sections ---------- */
.section{padding:clamp(56px, 8vw, 110px) 0;}
.section.tint{background:var(--ice);position:relative;}
.section.tint::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20viewBox=%270%200%201200%20840%27%20fill=%27none%27%20stroke=%27white%27%20stroke-opacity=%270.06%27%20stroke-width=%271%27%3E%3Cpath%20d=%27M659,420%20L655,423%20L651,425%20L648,427%20L646,430%20L645,432%20L645,435%20L646,438%20L646,441%20L646,444%20L646,447%20L644,450%20L641,453%20L638,455%20L633,456%20L629,456%20L624,455%20L619,454%20L615,453%20L611,452%20L608,452%20L605,451%20L602,452%20L598,453%20L595,454%20L591,455%20L588,456%20L583,457%20L579,457%20L576,456%20L572,455%20L570,452%20L568,450%20L566,447%20L565,444%20L565,441%20L563,439%20L562,437%20L559,436%20L556,434%20L551,433%20L546,431%20L540,429%20L534,427%20L529,424%20L525,420%20L523,416%20L522,412%20L524,408%20L527,405%20L532,402%20L539,400%20L545,399%20L552,398%20L558,398%20L564,398%20L568,398%20L571,397%20L573,396%20L575,394%20L577,391%20L578,388%20L580,385%20L583,383%20L586,381%20L590,380%20L594,380%20L598,381%20L602,383%20L605,386%20L608,389%20L610,392%20L611,395%20L613,396%20L615,397%20L618,397%20L622,397%20L627,395%20L633,394%20L640,392%20L647,391%20L655,391%20L661,392%20L667,394%20L671,397%20L673,401%20L673,405%20L671,409%20L668,413%20L664,417Z%27/%3E%3Cpath%20d=%27M732,420%20L732,427%20L731,433%20L729,440%20L725,446%20L721,452%20L715,457%20L709,462%20L702,466%20L694,469%20L686,472%20L678,474%20L670,476%20L661,477%20L653,477%20L646,477%20L638,477%20L632,477%20L626,477%20L620,478%20L614,479%20L609,481%20L603,484%20L597,487%20L590,491%20L582,494%20L573,497%20L564,499%20L555,501%20L545,501%20L536,499%20L528,496%20L522,492%20L516,487%20L512,481%20L510,475%20L508,468%20L508,462%20L507,455%20L507,450%20L506,445%20L504,440%20L501,435%20L497,430%20L493,425%20L488,420%20L484,414%20L480,408%20L478,401%20L477,395%20L478,388%20L481,382%20L486,376%20L493,372%20L501,368%20L510,365%20L519,363%20L528,362%20L536,361%20L544,360%20L551,359%20L558,358%20L564,356%20L570,354%20L576,352%20L583,349%20L589,347%20L596,346%20L604,344%20L611,344%20L618,345%20L626,346%20L632,348%20L639,351%20L645,354%20L650,357%20L655,361%20L661,364%20L666,367%20L672,370%20L678,373%20L684,376%20L691,379%20L698,383%20L705,386%20L712,391%20L718,396%20L723,401%20L727,407%20L730,413Z%27/%3E%3Cpath%20d=%27M739,420%20L736,427%20L734,434%20L733,440%20L733,448%20L734,455%20L735,463%20L736,472%20L735,481%20L733,490%20L730,498%20L724,506%20L717,513%20L708,519%20L698,524%20L687,528%20L675,531%20L664,534%20L652,536%20L641,537%20L629,539%20L617,540%20L606,540%20L594,541%20L582,541%20L571,540%20L559,538%20L548,536%20L537,533%20L526,529%20L516,525%20L506,520%20L497,515%20L488,509%20L480,504%20L471,498%20L463,492%20L454,486%20L446,479%20L439,472%20L433,464%20L428,456%20L425,447%20L425,438%20L426,429%20L430,420%20L437,412%20L444,404%20L453,397%20L462,391%20L470,386%20L478,381%20L484,376%20L489,370%20L492,364%20L495,356%20L497,348%20L499,339%20L502,330%20L506,320%20L512,311%20L520,302%20L530,296%20L542,291%20L554,288%20L567,287%20L581,288%20L594,291%20L606,295%20L618,299%20L628,304%20L639,308%20L649,311%20L660,314%20L671,316%20L682,317%20L694,319%20L707,321%20L720,324%20L732,328%20L743,334%20L751,341%20L758,349%20L762,358%20L763,368%20L762,378%20L759,387%20L754,396%20L749,405%20L744,413Z%27/%3E%3Cpath%20d=%27M828,420%20L828,431%20L826,443%20L824,454%20L822,466%20L819,477%20L815,489%20L811,501%20L805,512%20L797,523%20L787,533%20L775,542%20L761,549%20L745,554%20L728,556%20L710,557%20L691,555%20L674,552%20L658,548%20L643,544%20L630,541%20L617,539%20L606,539%20L594,541%20L582,545%20L568,550%20L553,557%20L536,563%20L517,568%20L497,572%20L478,573%20L458,571%20L441,567%20L426,559%20L414,550%20L405,538%20L399,525%20L396,512%20L394,499%20L394,486%20L394,474%20L394,462%20L393,452%20L390,441%20L387,431%20L383,420%20L379,409%20L376,397%20L374,385%20L375,374%20L379,362%20L385,351%20L395,341%20L406,333%20L420,326%20L434,320%20L449,315%20L464,311%20L477,307%20L490,303%20L502,298%20L514,293%20L525,287%20L537,280%20L549,274%20L563,267%20L577,262%20L592,258%20L608,255%20L624,255%20L640,256%20L655,260%20L670,265%20L684,271%20L696,278%20L708,286%20L718,294%20L729,301%20L740,308%20L750,315%20L761,323%20L772,330%20L783,338%20L794,346%20L803,355%20L812,365%20L818,375%20L823,386%20L827,397%20L828,409Z%27/%3E%3Cpath%20d=%27M878,420%20L876,434%20L874,448%20L870,461%20L865,475%20L858,488%20L850,500%20L840,512%20L828,523%20L816,533%20L803,543%20L789,552%20L775,560%20L761,568%20L746,576%20L731,583%20L715,590%20L699,597%20L683,603%20L665,608%20L647,613%20L629,615%20L610,617%20L590,616%20L572,614%20L553,611%20L535,607%20L518,601%20L501,596%20L485,589%20L469,583%20L453,577%20L436,571%20L419,565%20L402,558%20L384,551%20L366,542%20L349,533%20L333,522%20L319,510%20L308,497%20L299,482%20L295,467%20L294,451%20L296,435%20L302,420%20L310,405%20L320,392%20L332,379%20L343,367%20L355,356%20L366,345%20L377,334%20L387,324%20L396,313%20L406,303%20L416,292%20L427,282%20L439,272%20L453,263%20L467,255%20L483,248%20L500,242%20L518,238%20L536,235%20L554,233%20L573,232%20L591,232%20L609,232%20L627,232%20L646,232%20L665,233%20L684,234%20L704,236%20L723,238%20L743,242%20L762,247%20L781,254%20L798,262%20L814,272%20L828,283%20L840,295%20L850,308%20L858,321%20L864,335%20L869,350%20L873,364%20L875,378%20L877,392%20L878,406Z%27/%3E%3Cpath%20d=%27M937,420%20L932,437%20L924,453%20L915,468%20L905,483%20L895,497%20L885,511%20L875,525%20L866,540%20L857,555%20L848,570%20L839,586%20L827,602%20L814,617%20L798,631%20L780,644%20L759,654%20L736,662%20L711,667%20L686,669%20L661,668%20L636,666%20L612,661%20L589,656%20L566,650%20L545,644%20L524,638%20L504,633%20L483,629%20L462,624%20L440,619%20L419,613%20L398,606%20L378,597%20L360,587%20L344,575%20L331,561%20L321,546%20L314,530%20L309,513%20L306,497%20L305,481%20L304,465%20L303,450%20L301,435%20L299,420%20L295,405%20L290,389%20L286,372%20L282,354%20L280,336%20L280,318%20L284,299%20L291,281%20L302,264%20L317,249%20L335,236%20L356,225%20L378,216%20L402,209%20L426,204%20L451,200%20L475,197%20L498,195%20L521,193%20L544,192%20L567,191%20L589,190%20L611,191%20L633,192%20L655,194%20L677,197%20L698,202%20L719,208%20L739,215%20L758,223%20L776,232%20L794,241%20L811,251%20L828,261%20L845,272%20L861,283%20L878,295%20L893,308%20L907,322%20L919,336%20L929,352%20L936,369%20L939,386%20L940,403Z%27/%3E%3Cpath%20d=%27M945,420%20L947,437%20L950,455%20L953,474%20L954,493%20L953,513%20L950,532%20L944,552%20L935,571%20L922,589%20L907,605%20L888,621%20L868,634%20L845,646%20L821,656%20L796,664%20L770,671%20L744,676%20L718,681%20L691,684%20L665,686%20L639,687%20L613,687%20L587,687%20L561,685%20L535,683%20L510,681%20L484,677%20L458,673%20L432,668%20L406,662%20L380,655%20L354,647%20L328,638%20L303,626%20L280,613%20L258,599%20L240,582%20L224,564%20L213,544%20L205,524%20L201,502%20L202,481%20L206,460%20L214,439%20L224,420%20L235,402%20L247,384%20L259,368%20L270,352%20L280,336%20L290,321%20L299,305%20L307,288%20L316,272%20L326,255%20L338,238%20L352,221%20L368,206%20L386,192%20L407,179%20L430,169%20L454,160%20L480,153%20L506,148%20L533,145%20L559,143%20L586,141%20L614,140%20L641,139%20L669,139%20L697,140%20L726,141%20L755,145%20L783,149%20L811,157%20L838,166%20L862,178%20L884,193%20L902,210%20L917,229%20L928,249%20L935,269%20L940,290%20L942,310%20L942,330%20L942,349%20L942,368%20L942,385%20L943,403Z%27/%3E%3Cpath%20d=%27M1006,420%20L1009,441%20L1012,462%20L1016,484%20L1018,506%20L1019,530%20L1017,554%20L1012,578%20L1004,602%20L990,624%20L973,645%20L950,664%20L924,679%20L895,692%20L863,701%20L830,707%20L797,710%20L764,712%20L732,713%20L702,714%20L672,715%20L643,717%20L615,719%20L585,723%20L555,726%20L524,730%20L492,732%20L459,732%20L427,729%20L395,723%20L365,713%20L338,700%20L314,684%20L294,665%20L278,644%20L265,623%20L255,601%20L247,579%20L240,558%20L233,538%20L225,518%20L217,499%20L207,480%20L197,461%20L186,441%20L176,420%20L168,398%20L163,376%20L161,353%20L164,330%20L171,308%20L183,286%20L198,266%20L217,247%20L237,230%20L260,215%20L284,200%20L308,186%20L332,173%20L357,160%20L382,148%20L407,135%20L433,123%20L461,112%20L490,102%20L520,94%20L551,88%20L584,84%20L616,83%20L649,85%20L681,90%20L712,97%20L741,107%20L770,118%20L796,130%20L822,144%20L845,158%20L868,173%20L888,189%20L908,206%20L925,223%20L941,241%20L955,260%20L967,279%20L977,299%20L985,319%20L991,339%20L995,359%20L999,380%20L1003,400Z%27/%3E%3Cpath%20d=%27M1100,420%20L1108,446%20L1114,472%20L1116,499%20L1113,526%20L1106,552%20L1093,578%20L1075,602%20L1052,623%20L1026,643%20L997,660%20L965,674%20L933,686%20L900,696%20L867,705%20L835,713%20L803,720%20L772,726%20L741,732%20L710,738%20L679,744%20L648,749%20L616,754%20L584,757%20L551,759%20L517,759%20L483,758%20L449,755%20L415,750%20L381,744%20L348,735%20L315,724%20L284,711%20L254,697%20L226,680%20L200,662%20L176,642%20L156,620%20L139,596%20L126,572%20L116,547%20L110,521%20L107,495%20L107,470%20L110,445%20L115,420%20L121,396%20L128,372%20L135,349%20L143,326%20L152,303%20L162,280%20L173,256%20L185,233%20L200,211%20L218,189%20L238,169%20L262,150%20L288,133%20L317,118%20L348,106%20L380,96%20L414,88%20L448,82%20L482,78%20L516,76%20L549,74%20L583,73%20L617,72%20L651,72%20L685,73%20L719,75%20L754,79%20L788,85%20L821,94%20L853,104%20L883,118%20L910,134%20L935,152%20L957,172%20L975,193%20L992,215%20L1006,237%20L1018,260%20L1030,282%20L1042,304%20L1054,326%20L1066,349%20L1078,372%20L1089,395Z%27/%3E%3Cpath%20d=%27M1148,420%20L1155,448%20L1159,477%20L1159,506%20L1155,535%20L1146,563%20L1132,590%20L1112,616%20L1089,640%20L1062,662%20L1032,681%20L1000,698%20L967,714%20L934,727%20L900,740%20L866,751%20L831,761%20L797,771%20L762,779%20L727,787%20L691,793%20L655,798%20L618,801%20L581,802%20L544,801%20L507,798%20L471,793%20L434,787%20L399,779%20L363,769%20L329,758%20L295,746%20L262,732%20L229,716%20L198,699%20L169,680%20L142,660%20L118,637%20L97,613%20L79,587%20L65,560%20L54,533%20L47,505%20L42,476%20L41,448%20L41,420%20L44,392%20L48,364%20L54,336%20L61,309%20L71,281%20L83,254%20L98,228%20L116,202%20L138,178%20L164,156%20L193,137%20L225,120%20L260,107%20L297,96%20L334,88%20L371,82%20L408,78%20L444,75%20L479,72%20L514,69%20L548,64%20L583,59%20L618,54%20L654,48%20L692,42%20L732,39%20L773,37%20L814,39%20L855,44%20L894,54%20L930,67%20L964,85%20L993,106%20L1018,130%20L1038,155%20L1055,182%20L1068,209%20L1079,236%20L1090,263%20L1099,289%20L1109,315%20L1119,341%20L1129,366%20L1139,393Z%27/%3E%3Cpath%20d=%27M1193,420%20L1193,450%20L1191,480%20L1185,510%20L1177,539%20L1166,568%20L1152,597%20L1136,625%20L1116,652%20L1094,679%20L1070,704%20L1044,729%20L1015,752%20L984,774%20L950,794%20L915,812%20L877,829%20L837,842%20L795,853%20L753,861%20L709,865%20L665,866%20L622,864%20L579,859%20L537,851%20L497,841%20L458,830%20L420,818%20L384,805%20L348,792%20L313,778%20L277,765%20L242,750%20L206,735%20L171,718%20L137,700%20L104,679%20L74,657%20L48,631%20L26,604%20L9,575%20L-2,544%20L-8,513%20L-8,482%20L-4,450%20L4,420%20L15,391%20L27,362%20L40,334%20L54,307%20L67,280%20L80,253%20L93,226%20L107,198%20L122,170%20L139,142%20L160,114%20L184,87%20L211,62%20L243,39%20L278,19%20L317,2%20L358,-11%20L401,-20%20L446,-26%20L490,-28%20L535,-28%20L578,-25%20L621,-20%20L663,-14%20L704,-6%20L744,3%20L784,13%20L822,24%20L860,36%20L897,50%20L932,65%20L966,82%20L998,101%20L1028,122%20L1056,144%20L1081,168%20L1104,193%20L1124,220%20L1141,247%20L1155,274%20L1168,303%20L1178,332%20L1185,361%20L1190,390Z%27/%3E%3Cpath%20d=%27M1297,420%20L1291,455%20L1280,489%20L1263,522%20L1242,552%20L1216,581%20L1188,609%20L1159,634%20L1130,658%20L1101,682%20L1073,706%20L1046,730%20L1019,755%20L991,780%20L961,805%20L929,830%20L893,853%20L854,873%20L812,890%20L767,902%20L720,910%20L672,912%20L624,910%20L577,904%20L531,895%20L487,883%20L444,870%20L403,856%20L363,843%20L322,830%20L282,817%20L241,804%20L199,789%20L159,773%20L119,754%20L82,733%20L49,708%20L21,681%20L-2,650%20L-18,618%20L-28,585%20L-33,551%20L-33,517%20L-31,484%20L-27,452%20L-23,420%20L-20,389%20L-18,357%20L-18,325%20L-18,292%20L-17,258%20L-14,223%20L-8,187%20L4,152%20L22,118%20L47,86%20L79,57%20L116,33%20L160,14%20L206,-0%20L256,-10%20L305,-15%20L355,-17%20L403,-17%20L449,-16%20L493,-15%20L537,-14%20L579,-15%20L621,-15%20L664,-17%20L707,-17%20L751,-17%20L796,-15%20L841,-10%20L886,-2%20L929,10%20L970,25%20L1009,43%20L1046,64%20L1079,87%20L1111,111%20L1140,137%20L1168,164%20L1194,193%20L1218,222%20L1241,252%20L1260,284%20L1277,316%20L1289,350%20L1296,385Z%27/%3E%3Cpath%20d=%27M1319,420%20L1303,455%20L1285,489%20L1266,522%20L1247,554%20L1230,585%20L1213,616%20L1197,648%20L1180,681%20L1162,714%20L1142,747%20L1118,780%20L1090,812%20L1057,841%20L1020,868%20L977,891%20L932,909%20L883,924%20L832,935%20L781,942%20L729,945%20L677,946%20L625,945%20L575,942%20L524,938%20L475,932%20L425,924%20L377,914%20L329,902%20L283,888%20L239,870%20L198,849%20L160,826%20L125,800%20L94,772%20L67,742%20L43,711%20L22,680%20L3,649%20L-14,617%20L-30,585%20L-46,553%20L-60,521%20L-73,488%20L-85,454%20L-94,420%20L-100,385%20L-102,349%20L-100,313%20L-93,277%20L-80,242%20L-63,207%20L-42,174%20L-17,142%20L11,112%20L41,82%20L74,54%20L109,27%20L145,1%20L184,-24%20L225,-47%20L269,-69%20L315,-87%20L364,-103%20L415,-114%20L468,-120%20L521,-121%20L574,-117%20L626,-108%20L675,-95%20L722,-79%20L766,-61%20L808,-41%20L848,-22%20L887,-3%20L925,14%20L965,31%20L1005,46%20L1048,62%20L1091,79%20L1135,97%20L1178,118%20L1219,142%20L1256,169%20L1287,200%20L1311,234%20L1328,270%20L1336,307%20L1337,345%20L1331,383Z%27/%3E%3Cpath%20d=%27M1356,420%20L1344,457%20L1332,494%20L1319,530%20L1305,566%20L1291,601%20L1275,636%20L1258,672%20L1238,707%20L1215,742%20L1189,776%20L1158,808%20L1124,839%20L1085,867%20L1043,893%20L998,917%20L950,937%20L900,955%20L848,970%20L794,981%20L740,990%20L684,995%20L628,997%20L572,995%20L517,990%20L463,980%20L411,967%20L361,950%20L314,930%20L270,908%20L228,883%20L190,858%20L153,832%20L118,806%20L83,779%20L49,753%20L14,726%20L-20,699%20L-54,671%20L-88,640%20L-119,608%20L-146,574%20L-169,538%20L-186,500%20L-196,460%20L-199,420%20L-194,380%20L-183,341%20L-166,303%20L-144,266%20L-119,232%20L-91,198%20L-63,166%20L-35,134%20L-7,103%20L22,71%20L51,39%20L83,6%20L116,-26%20L154,-56%20L196,-84%20L242,-109%20L292,-129%20L346,-144%20L402,-153%20L459,-155%20L516,-152%20L573,-144%20L627,-132%20L678,-117%20L728,-101%20L775,-85%20L821,-69%20L866,-54%20L912,-40%20L959,-27%20L1007,-14%20L1056,-0%20L1105,16%20L1155,34%20L1202,57%20L1245,83%20L1284,112%20L1316,146%20L1341,182%20L1359,221%20L1369,261%20L1373,302%20L1371,342%20L1365,381Z%27/%3E%3C/svg%3E") no-repeat right -200px top -120px / 1200px auto;opacity:.5;pointer-events:none;}
.section.tint > .wrap{position:relative;}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(28px, 4vw, 48px);}
.section-head h2{font-size:clamp(2.2rem, 4.2vw, 3.6rem);margin-top:12px;}
.section-head p{max-width:46ch;color:var(--muted);}
.section-head .more{white-space:nowrap;font-weight:700;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;}

/* ---------- journey: sticky line-art globe ---------- */
.journey{border-top:1px solid var(--line);}
.journey-grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(320px, 44%);gap:clamp(32px, 6vw, 96px);align-items:start;}
.journey-side{position:sticky;top:84px;align-self:start;padding-top:8px;}
#globe{width:100%;max-width:min(520px, calc(100vh - 290px));aspect-ratio:1;position:relative;margin:0 auto;}
#globe svg{width:100%;height:100%;display:block;cursor:grab;overflow:visible;}
#globe svg:active{cursor:grabbing;}
.globe-caption{text-align:center;margin-top:18px;min-height:60px;}
.globe-caption .place{font-family:var(--font-display);font-size:clamp(1.5rem, 2.2vw, 2rem);}
.globe-caption .when{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.journey-controls{display:flex;gap:10px;justify-content:center;margin-top:14px;}
.journey-controls button{background:transparent;color:var(--ink);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;}
.journey-controls button:hover{border-color:var(--ink);}
.globe-hint{text-align:center;font-size:0.78rem;color:var(--muted);margin-top:10px;}
.journey-list{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:8px;}
.journey-item{position:relative;padding:20px 20px 20px 40px;border-top:1px solid var(--line);cursor:pointer;transition:background .25s ease, padding-left .25s ease;}
.journey-item:last-child{border-bottom:1px solid var(--line);}
.journey-item::before{content:"";position:absolute;left:12px;top:30px;width:9px;height:9px;border-radius:50%;border:1px solid var(--ink);background:#fff;transition:background .25s ease, box-shadow .25s ease;}
.journey-item:hover{background:var(--ice);}
.journey-item.active{background:var(--ice);padding-left:46px;}
.journey-item.active::before{background:var(--moss);border-color:var(--moss);box-shadow:0 0 0 4px var(--moss-pale);}
.journey-item .when{font-size:0.74rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.journey-item .role{font-weight:700;margin-top:2px;}
.journey-item .org{font-size:0.9rem;color:var(--ink-2);}
.journey-item .detail{display:block;margin-top:8px;font-size:0.92rem;line-height:1.55;color:var(--ink-2);max-width:56ch;opacity:.6;transition:opacity .25s ease;}
.journey-item.active .detail{opacity:1;}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));gap:18px;}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px;min-height:280px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;overflow:hidden;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong);}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--moss);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.card:hover::before{transform:scaleX(1);}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.card-logo{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#fff;border:1px solid var(--line);filter:grayscale(1);transition:filter .3s ease;}
.card:hover .card-logo{filter:none;}
.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.tag{font-size:0.66rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:#fff;}
.tag-controls{border-color:var(--moss);color:var(--moss);}
.tag-ml{border-color:var(--glacier);color:#2f6f80;}
.tag-embedded,.tag-hardware{border-color:var(--line-strong);color:var(--ink);}
.tag-energy{background:var(--moss-pale);border-color:var(--moss-pale);color:var(--moss);}
.tag-policy{background:var(--glacier-pale);border-color:var(--glacier-pale);color:#2f6f80;}
.tag-confidential{background:var(--ice);border-color:var(--ice);color:var(--muted);display:inline-flex;align-items:center;gap:5px;}
.card h3{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.15;}
.card .org{font-size:0.88rem;color:var(--muted);margin-top:-6px;}
.card p{font-size:0.94rem;color:var(--ink-2);}
.card-foot{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:0.9rem;}
.card-foot a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:1px;}
.card-foot button{background:none;border:none;font:inherit;font-weight:700;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0;}
.card-foot button:hover{color:var(--ink);}
.card.is-soon{border-style:dashed;background:transparent;justify-content:center;align-items:center;text-align:center;color:var(--muted);}
.card.is-soon::before{display:none;}
.legend-icon{display:inline-block;width:18px;height:18px;vertical-align:-2px;margin-right:8px;color:var(--moss);}
.legend-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.card{border-radius:4px;}
.card::after{content:"";position:absolute;inset:6px;pointer-events:none;background:
  linear-gradient(var(--line-strong),var(--line-strong)) left top/8px 1px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) left top/1px 8px no-repeat,
  linear-gradient(var(--line-strong),var(--line-strong)) right top/8px 1px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) right top/1px 8px no-repeat,
  linear-gradient(var(--line-strong),var(--line-strong)) left bottom/8px 1px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) left bottom/1px 8px no-repeat,
  linear-gradient(var(--line-strong),var(--line-strong)) right bottom/8px 1px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) right bottom/1px 8px no-repeat;opacity:0;transition:opacity .25s ease;}
.card:hover::after{opacity:1;}

/* ---------- publication ---------- */
.pub{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px, 3vw, 36px);display:grid;grid-template-columns:auto 1fr;gap:20px 28px;align-items:start;}
.pub .year{font-family:var(--font-display);font-size:3rem;color:var(--moss);line-height:1;}
.pub .authors{color:var(--muted);font-size:0.92rem;}
.pub h3{font-family:var(--font-display);font-weight:400;font-size:1.7rem;line-height:1.2;margin:6px 0;}
.pub .venue{font-style:italic;color:var(--ink-2);}
.pub a{color:var(--ink);font-weight:700;text-decoration:none;display:inline-block;margin-top:12px;border-bottom:1px solid var(--ink);}

/* ---------- media shelves ---------- */
.shelf{margin-top:clamp(28px, 4vw, 48px);}
.shelf h3{font-family:var(--font-display);font-weight:400;font-size:2rem;margin-bottom:18px;display:flex;align-items:baseline;gap:14px;}
.shelf h3 span{font-family:var(--font-text);font-size:0.82rem;font-weight:600;color:var(--muted);}
.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:22px;}
.media-card{text-decoration:none;display:block;}
.media-card img{aspect-ratio:2/3;object-fit:cover;border-radius:8px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(11,15,14,0.10);transition:transform .2s ease, box-shadow .2s ease;}
.media-card:hover img{transform:translateY(-4px);box-shadow:var(--shadow);}
.media-card .t{font-weight:700;margin-top:12px;line-height:1.3;}
.media-card .s{font-size:0.86rem;color:var(--muted);}

/* ---------- simple pages ---------- */
.page-head{position:relative;padding:clamp(40px, 6vw, 80px) 0 clamp(24px, 3vw, 40px);overflow:clip;}
.page-head h1{font-size:clamp(2.8rem, 6vw, 5rem);margin-top:12px;}
.page-head p{margin-top:16px;max-width:var(--measure);color:var(--ink-2);font-size:1.06rem;}
.page-head .wrap{position:relative;z-index:1;}
.contours{position:absolute;right:-10%;top:-20%;width:70%;height:140%;fill:none;stroke:var(--ink);stroke-opacity:.16;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 55%);mask-image:linear-gradient(90deg, transparent, #000 55%);}
.contours ellipse{vector-effect:non-scaling-stroke;}
.report-hero{position:relative;}
.report-hero .contours{right:-20%;top:-30%;width:60%;height:160%;stroke-opacity:.11;}
.report-hero > *:not(.contours){position:relative;z-index:1;}
.status{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--moss);color:var(--moss);font-weight:700;font-size:0.84rem;padding:6px 14px;border-radius:999px;}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--moss);}
.soon-panel{margin-top:30px;background:#fff;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:clamp(28px, 4vw, 48px);max-width:720px;}
.soon-panel h2{font-family:var(--font-display);font-weight:400;font-size:2rem;margin-top:14px;}
.soon-panel p{margin-top:10px;color:var(--ink-2);}

.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(32px, 6vw, 80px);align-items:start;}
.contact-side p{color:var(--ink-2);}
.contact-links{list-style:none;margin-top:22px;display:grid;gap:10px;}
.contact-links a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;font-weight:600;transition:border-color .2s ease;}
.contact-links a:hover{border-color:var(--ink);}
.contact-links small{color:var(--muted);font-weight:500;}
.form{display:grid;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px, 3vw, 36px);}
.field{display:grid;gap:6px;}
.field label{font-weight:700;font-size:0.88rem;}
.field input,.field textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--ice);color:var(--ink);}
.field input:focus,.field textarea:focus{outline:2px solid var(--moss-pale);border-color:var(--moss);background:#fff;}
.field textarea{min-height:160px;resize:vertical;}
.hp{position:absolute;left:-9999px;}
.form-note{font-size:0.85rem;color:var(--muted);}

.report-hero{display:grid;grid-template-columns:minmax(200px, 300px) 1fr;gap:clamp(28px, 5vw, 64px);align-items:center;padding:clamp(40px, 6vw, 80px) 0;}
.report-hero.no-cover{grid-template-columns:1fr;}
.report-hero img{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:2/3;object-fit:cover;}
.report-hero h1{font-size:clamp(2.4rem, 4.6vw, 4rem);margin-top:12px;line-height:1.05;}
.report-hero .sub{margin-top:12px;font-size:1.08rem;color:var(--ink-2);}
.report-hero .sub em{color:var(--muted);}
.glance{margin-top:30px;display:grid;grid-template-columns:max-content 1fr;gap:12px 22px;max-width:760px;border-top:1px solid var(--line);padding-top:22px;}
.glance dt{color:var(--moss);font-weight:700;font-size:0.74rem;letter-spacing:0.1em;text-transform:uppercase;padding-top:4px;}
.glance dd{color:var(--ink-2);}
.glance dd.cite{color:var(--muted);font-size:0.95rem;}
.note{margin-top:18px;color:var(--muted);max-width:var(--measure);}

/* ---------- dialog ---------- */
dialog.confidential{border:1px solid var(--line);border-radius:var(--radius);padding:0;max-width:440px;width:calc(100% - 32px);box-shadow:var(--shadow);background:#fff;color:var(--ink);}
dialog.confidential::backdrop{background:rgba(243,247,248,0.7);backdrop-filter:blur(8px);}
dialog.confidential .inner{padding:34px 30px 30px;text-align:center;}
dialog.confidential svg{width:28px;height:28px;color:var(--ink);margin:0 auto 12px;display:block;}
dialog.confidential h2{font-family:var(--font-display);font-weight:400;font-size:1.9rem;}
dialog.confidential p{margin:10px 0 22px;color:var(--ink-2);}
dialog.confidential .close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted);}

/* ---------- reveals ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal-stagger > *{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal-stagger.in > *{opacity:1;transform:none;}
.reveal-stagger.in > *:nth-child(2){transition-delay:.07s;}
.reveal-stagger.in > *:nth-child(3){transition-delay:.14s;}
.reveal-stagger.in > *:nth-child(4){transition-delay:.21s;}
.reveal-stagger.in > *:nth-child(n+5){transition-delay:.28s;}

@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger > *{opacity:1;transform:none;transition:none;}
  .hero-block > *,.now .dot,.hero-model{animation:none;}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;min-height:0;padding-top:36px;}
  .hero-model{margin:84px -2% 0;}
  .topo{--lift:9px;}
  .topo .pin-stem{height:44px;}
  .topo .pin-label{bottom:44px;font-size:10px;padding:3px 6px;}
  .avatar{width:72px;height:72px;border-radius:20px;}
  .journey-grid{grid-template-columns:1fr;gap:0;}
  .journey-side{order:-1;position:sticky;top:64px;z-index:3;background:rgba(255,255,255,0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;padding:10px 0 12px;border-bottom:1px solid var(--line);}
  #globe{max-width:140px;margin:0;}
  .globe-caption{text-align:left;margin-top:0;min-height:0;}
  .globe-caption .place{font-size:1.25rem;}
  .globe-caption .when{font-size:0.7rem;}
  .journey-controls,.globe-hint{display:none;}
  .journey-list{margin-top:16px;}
  .contact-grid{grid-template-columns:1fr;}
  .report-hero{grid-template-columns:1fr;}
  .report-hero img{max-width:240px;}
  .pub{grid-template-columns:1fr;}
  .section-head{flex-direction:column;align-items:flex-start;}
}
@media (max-width:640px){
  .site-nav{gap:14px;}
  .site-nav a{font-size:0.84rem;}
  .wordmark{font-size:1.2rem;}
  .glance{grid-template-columns:1fr;gap:4px;}
  .glance dd{margin-bottom:10px;}
  .edu li{flex-direction:column;gap:0;}
  .topo-caption{font-size:0.62rem;}
  .title-block{grid-template-columns:1fr 1fr;}
}
/* ---------- 3D terrain ---------- */
.terrain{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg, #ffffff 0%, #f3f7f8 40%, #e6eff2 100%);}
.terrain canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.callouts{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.watermark{position:absolute;top:88px;right:var(--gutter);text-align:right;font-family:var(--font-mono);font-size:0.74rem;letter-spacing:0.06em;line-height:1.5;color:var(--ink);pointer-events:none;}
@media (max-width:900px){.watermark{display:none;}}
.callout{position:absolute;left:0;top:0;width:0;height:0;transition:opacity .3s ease;}
.callout-stem{position:absolute;left:0;bottom:0;width:1px;height:46px;background:var(--ink);}
.callout-stem::after{content:"";position:absolute;left:-3px;bottom:-3px;width:5px;height:5px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 1px #fff;}
.callout-text{position:absolute;left:0;bottom:46px;transform:translateX(-1px);white-space:nowrap;font-family:var(--font-mono);display:grid;line-height:1.25;padding:3px 7px 3px 8px;border-left:1px solid var(--ink);background:rgba(255,255,255,0.75);}
.callout-text b{font-weight:500;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);}
.callout-text i{font-style:normal;font-size:10px;color:var(--muted);letter-spacing:0.04em;}
.callout.near .callout-stem{height:64px;}
.callout.near .callout-text{bottom:64px;}
.callout.near .callout-text b{font-size:12px;}
.callout.place .callout-stem{height:28px;background:var(--muted);}
.callout.place .callout-stem::after{background:var(--muted);}
.callout.place .callout-text{bottom:28px;padding:2px 6px;border-left-color:var(--muted);background:rgba(255,255,255,0.6);}
.callout.place .callout-text i{font-style:italic;font-size:10px;color:var(--ink-2);}
.callout.water .callout-text i{color:#2a6a7e;}
.callout.focus .callout-text{background:var(--ink);color:#fff;border-color:var(--ink);}
.callout.focus .callout-text b,.callout.focus .callout-text i{color:#fff;}

/* ---------- deck: one full-screen view per section ---------- */
:root{--gutter:clamp(24px, 3vw, 44px);}
.site-header{background:rgba(255,255,255,0.55);border-bottom:1px solid rgba(11,15,14,0.08);}
.position{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:5px 10px 5px 8px;background:rgba(255,255,255,0.8);}
.position i{width:8px;height:8px;background:var(--moss);clip-path:polygon(50% 0, 100% 100%, 0 100%);display:inline-block;}
.position .ft{color:var(--muted);}
body.deck{overflow:hidden;height:100vh;height:100svh;}
.deck-main{position:fixed;inset:64px 0 0 0;}
.slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0, min(46%, 720px)) 1fr;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s ease, visibility 0s .45s;}
.slide.active{opacity:1;visibility:visible;transition:opacity .9s ease 1.9s, visibility 0s 1.9s;}
.slide-content{pointer-events:auto;overflow-y:auto;overscroll-behavior:contain;max-height:100%;padding:clamp(18px, 4vh, 44px) 28px clamp(48px, 10vh, 110px) var(--gutter);scrollbar-width:thin;scrollbar-color:rgba(11,15,14,0.25) transparent;transform:translateY(18px);transition:transform .9s ease 1.9s;}
.slide.active .slide-content{transform:none;}
@media (min-width:901px){.slide-content{background:linear-gradient(90deg, rgba(255,255,255,0.80) 0%, rgba(255,255,255,0.72) 70%, rgba(255,255,255,0) 100%);}}
.slide .section-head{margin-bottom:clamp(18px, 3vh, 32px);flex-direction:column;align-items:flex-start;gap:10px;}
.slide .section-head .note{margin-top:4px;}
.slide .note + .note{margin-top:14px;color:var(--ink-2);max-width:52ch;}
.slide .section-head h2{font-size:clamp(1.9rem, 3.4vw, 3rem);}
.slide .cards{grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px;}
.card .when{font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin:2px 0 8px;}
.slide .card{min-height:0;padding:18px;background:rgba(255,255,255,0.86);}
.slide .card h3{font-size:1.3rem;}
.slide .pub,.slide .soon-panel,.slide .form,.slide .contact-links a{background:rgba(255,255,255,0.86);}
.slide .journey-list{max-width:620px;}
.slide .journey-item{background:transparent;}
.slide .journey-item .detail{opacity:.8;}
.slide .journey-item:hover{background:rgba(255,255,255,0.6);}
.slide .shelf{margin-top:18px;}
.slide .shelf h3{font-size:1.5rem;margin-bottom:12px;}
.slide .shelf-grid{grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));gap:14px;}
.slide .media-card .t{font-size:0.9rem;}
.slide .contact-grid{grid-template-columns:1fr;gap:22px;}
.title-block.compact{margin:22px 0 10px;grid-template-columns:repeat(3, 1fr);}
.hero-block{max-width:560px;}
.hero h1,.slide .hero-block h1{font-size:clamp(3rem, 6vw, 5.6rem);margin:12px 0 14px;line-height:0.95;}
.lede{font-size:clamp(1.1rem, 1.5vw, 1.35rem);line-height:1.45;color:var(--ink-2);max-width:36ch;}
.rotator{display:inline-block;min-width:11ch;color:var(--moss);border-bottom:1px solid var(--moss);font-weight:600;transition:opacity .35s ease;}
.rotator.fade{opacity:0;}
.now{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:0.9rem;color:var(--ink-2);border:1px solid var(--line);padding:7px 14px 7px 11px;border-radius:999px;background:rgba(255,255,255,0.8);}
.now .dot{width:8px;height:8px;border-radius:50%;background:var(--moss);box-shadow:0 0 0 0 rgba(63,122,87,0.5);animation:pulse 2.4s ease-out infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,122,87,0.5);}100%{box-shadow:0 0 0 10px rgba(63,122,87,0);}}
.now strong{font-weight:700;color:var(--ink);}
.edu{list-style:none;margin-top:18px;display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--line);font-size:0.9rem;color:var(--ink-2);}
.edu li{display:flex;flex-wrap:wrap;gap:4px 12px;}
.edu strong{color:var(--ink);font-weight:700;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.avatar{width:84px;height:84px;border-radius:24px;object-fit:cover;border:1px solid var(--line-strong);margin-bottom:18px;background:#fff;}
.slide-index{position:fixed;right:var(--gutter);bottom:84px;display:grid;gap:5px;z-index:5;justify-items:end;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,0.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.slide-index a{display:grid;grid-template-columns:auto 22px;gap:0 10px;align-items:baseline;text-align:right;text-decoration:none;font-family:var(--font-mono);font-size:0.64rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-2);line-height:1.3;}
.slide-index a .n{order:2;}
.slide-index a .t{order:1;}
.slide-index a .p{grid-column:1;order:3;font-size:0.58rem;letter-spacing:0.04em;text-transform:none;color:var(--moss);max-height:0;overflow:hidden;transition:max-height .3s ease;}
.slide-index a:hover{color:var(--ink);}
.slide-index a.active{color:var(--ink);}
.slide-index a.active .n{color:var(--moss);}
.slide-index a.active .p{max-height:16px;}
.deck-controls{position:fixed;right:var(--gutter);bottom:22px;display:flex;gap:8px;z-index:5;}
.deck-controls button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:rgba(255,255,255,0.75);color:var(--ink);font:inherit;font-size:1rem;cursor:pointer;transition:background .15s ease, border-color .15s ease;}
.deck-controls button:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.deck-hint{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-2);z-index:5;transition:opacity .5s ease;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,0.7);}
body:not([data-slide="top"]) .deck-hint{opacity:0;}
body.deck .site-footer{display:none;}
/* static pages: the terrain is a sky band at the top */
body:not(.deck){position:relative;}
.terrain-static{position:absolute;top:0;left:0;right:0;height:100vh;height:100svh;z-index:-1;}
.terrain-static.terrain-band{height:56vh;}
.band-spacer{height:calc(56vh - 64px);}
.report-sky{min-height:calc(100vh - 64px);display:flex;align-items:flex-start;padding-top:clamp(28px, 6vh, 64px);}
.report-title{max-width:640px;}
.report-title .back{display:inline-block;font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--muted);margin-bottom:18px;}
.report-title h1{font-size:clamp(2.2rem, 4.4vw, 3.8rem);margin-top:12px;line-height:1.05;}
.report-title .sub{margin-top:12px;font-size:1.05rem;color:var(--ink-2);}
.report-title .sub em{color:var(--muted);}
.report-body{background:#fff;border-top:1px solid var(--line);padding:clamp(36px, 6vw, 72px) 0 clamp(64px, 9vw, 120px);}
.report-body .report-hero{padding:0;align-items:start;}
.report-body .glance{margin-top:0;border-top:none;padding-top:0;}
body.band-page .report-body{display:none;}
@media (max-width:900px){
  .slide,.slide.wide{grid-template-columns:1fr;}
  .slide-content{max-height:62%;padding-left:16px;padding-right:16px;padding-bottom:40px;-webkit-mask-image:linear-gradient(180deg, #000 88%, transparent);mask-image:linear-gradient(180deg, #000 88%, transparent);}
  .slide .cards{grid-template-columns:1fr;}
  .slide-index{display:none;}
  .deck-hint{bottom:76px;}
  .position{display:none;}
  .callout-text b{font-size:10px;}
  .terrain-static.terrain-band{height:40vh;}
  .band-spacer{height:calc(40vh - 64px);}
}
