.story{background:var(--bg);color:var(--fg);font-family:var(--body);container-type:inline-size}.story .act{min-height:100vh;padding:18vh var(--gutter);border-top:1px solid var(--line);position:relative}.story .act-label{align-items:baseline;gap:16px;margin-bottom:6vh;display:flex}.story .act-label .num{color:var(--accent)}.hero{min-height:100svh;padding:24px var(--gutter) 40px;grid-template-rows:auto 1fr auto;gap:24px;display:grid}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.hero-top a{color:var(--accent);text-decoration:none}.hero-name{overflow-wrap:anywhere;align-self:center;font-size:clamp(56px,19cqi,320px);line-height:.95}.hero-name .line{animation:1.1s cubic-bezier(.2,.7,0,1) both st-rise;display:block}.hero-name .line+.line{animation-delay:.12s}@keyframes st-rise{0%{opacity:0;transform:translateY(40%)}}.hero-bottom{grid-template-columns:1fr 1fr auto;align-items:end;gap:24px;display:grid}.hero-role{font-size:clamp(20px,2.4cqi,32px);font-weight:700}.scroll-cue{animation:2s ease-in-out infinite st-bob}@keyframes st-bob{50%{transform:translateY(6px)}}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.stat{background:var(--bg);flex-direction:column;gap:12px;min-width:0;padding:32px 24px;display:flex}.stat b{overflow-wrap:anywhere;font-size:clamp(44px,6cqi,112px);font-weight:400}.iceberg{max-width:22ch;margin:12vh 0 32px;font-size:clamp(22px,3cqi,40px);font-weight:500}.iceberg .display{font-size:2.6em;display:block}.split{border:1px solid var(--line);height:72px;display:flex}.split>div{white-space:nowrap;align-items:center;min-width:0;padding:0 12px;display:flex;overflow:hidden}.split-pub{background:var(--fg);color:var(--bg)}.split-priv{background:repeating-linear-gradient(-45deg, var(--accent) 0 10px, transparent 10px 20px);color:var(--fg)}.split-priv span{background:var(--bg);padding:2px 6px}.story .act-clients{padding-left:0;padding-right:0}.act-clients .act-label,.client-list{padding:0 var(--gutter)}.marquee{border-block:1px solid var(--line);padding:2vh 0;overflow:hidden}.marquee-track{width:max-content;font-size:clamp(56px,10cqi,160px);animation:40s linear infinite st-slide;display:flex}.client{white-space:nowrap;padding-right:.4em}.client i{color:var(--accent);padding-left:.4em;font-style:normal}@keyframes st-slide{to{transform:translate(-50%)}}.client-list{margin-top:8vh;list-style:none}.client-list li{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr auto;align-items:center;gap:16px;padding:18px 0;font-size:clamp(18px,2cqi,26px);display:grid}.timeline{list-style:none}.tl-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,30%) 1fr;gap:32px;padding:6vh 0;display:grid}.tl-year{align-self:start;font-size:clamp(56px,8cqi,120px);position:sticky;top:10vh}.tl-year span{font-size:.4em}.tl-body{gap:12px;max-width:60ch;display:grid}.tl-body h3{font-size:clamp(22px,2.4cqi,32px)}.chips{flex-wrap:wrap;gap:8px;display:flex}.projects{gap:4vh;display:grid}.project{border:1px solid var(--line);align-content:center;gap:18px;min-height:70vh;padding:clamp(24px,4cqi,56px);display:grid;position:relative}.project.vis-nda{background:repeating-linear-gradient(135deg,#0000 0 22px,#ffffff06 22px 44px)}.project-meta{align-items:center;gap:20px;display:flex}.project-title{overflow-wrap:anywhere;max-width:14ch;font-size:clamp(40px,7cqi,112px)}.project-blurb{max-width:52ch;font-size:clamp(18px,1.8cqi,24px)}.redacted{flex-wrap:wrap;gap:10px;display:flex}.redacted span{background:var(--redact);color:#0000;user-select:none;cursor:help;padding:0 6px;transition:background .3s,color .3s}.redacted span:hover{background:var(--accent);color:var(--accent-ink)}.redacted span:hover:after{content:" — classified"}.impact{flex-wrap:wrap;gap:8px 32px;list-style:none;display:flex}.impact li{color:var(--accent);font-size:clamp(26px,3.2cqi,48px)}.project-link{color:var(--accent)}.big{margin-bottom:4vh;font-size:clamp(48px,9cqi,150px)}.big span{font-size:.3em}.heat{grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:3px;padding-bottom:8px;display:grid;overflow-x:auto}.heat i{aspect-ratio:1;background:var(--line);width:clamp(6px,1.4cqi,18px)}.heat .l1{background:color-mix(in srgb, var(--accent) 25%, var(--bg))}.heat .l2{background:color-mix(in srgb, var(--accent) 50%, var(--bg))}.heat .l3{background:color-mix(in srgb, var(--accent) 75%, var(--bg))}.heat .l4{background:var(--accent)}.years{gap:10px;margin:8vh 0;display:grid}.yr{grid-template-columns:60px 1fr 130px;align-items:center;gap:16px;display:grid}.yr-bar{height:20px;display:flex}.yr-bar .pub{background:var(--fg)}.yr-bar .priv{background:var(--accent)}.platforms{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;list-style:none;display:grid}.platforms li{border-top:4px solid var(--accent);gap:4px;padding-top:16px;display:grid}.platforms .display{font-size:64px}.edu-skills{grid-template-columns:1fr 1fr;gap:8cqi;display:grid}.edu{align-content:start;gap:40px;list-style:none;display:grid}.edu h3{margin:6px 0;font-size:clamp(24px,2.6cqi,36px);line-height:1.1}.skills{align-content:start;gap:32px;display:grid}.skill-items{font-size:clamp(22px,2.4cqi,34px);font-weight:500;line-height:1.25}.credits{min-height:100svh;padding:18vh var(--gutter);border-top:1px solid var(--line);text-align:center;place-content:center;gap:32px;display:grid}.credits h2{overflow-wrap:anywhere;font-size:clamp(44px,10cqi,180px)}.credits ul{flex-wrap:wrap;justify-content:center;gap:24px;list-style:none;display:flex}.credits a{color:var(--accent)}@container (width<=760px){.hero-bottom{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.tl-item{grid-template-columns:1fr;gap:12px}.tl-year{position:static}.client-list li{grid-template-columns:1fr auto}.client-list li .muted{display:none}.yr{grid-template-columns:48px 1fr}.yr>:last-child{display:none}.edu-skills{grid-template-columns:1fr}.platforms .display{font-size:48px}}@media (prefers-reduced-motion:reduce){.marquee-track,.scroll-cue,.hero-name .line{animation:none}}.story.is-preview .reveal{opacity:1;transition:none;transform:none}.story.is-preview .hero-name .line{animation:none}.story.is-preview .hero,.story.is-preview .credits{min-height:0;padding-block:64px}.story.is-preview .act{min-height:0;padding-block:72px}.story.is-preview .project{min-height:0}.story.is-preview .tl-year{position:static}.story.is-preview [data-section]{cursor:pointer;transition:box-shadow .15s}.story.is-preview [data-section]:hover{box-shadow:inset 0 0 0 2px var(--accent)}.story.is-preview [data-section].is-active{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 9999px color-mix(in srgb, var(--accent) 4%, transparent)}.ed{--panel:#111110;--panel-2:#181816;--field:#0d0d0c;--warn:#ffb020;--err:#ff5a4f;background:var(--bg);color:var(--fg);grid-template:"top top top"56px"nav form preview"1fr/220px minmax(360px,460px) 1fr;font-size:15px;display:grid;position:fixed;inset:0}.ed button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.ed button:disabled{opacity:.3;cursor:default}.ed :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ed-top{border-bottom:1px solid var(--line);background:var(--panel);grid-area:top;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.ed-logo{letter-spacing:.01em;font-size:26px;text-decoration:none}.ed-sep{background:var(--line);width:1px;height:24px}.ed-status{color:var(--muted);white-space:nowrap;font-size:11px}.ed-status.saved:before{content:"● ";color:var(--accent)}.ed-status.saving:before{content:"◌ "}.ed-status.off{color:var(--warn)}.ed-top-mid{flex:1;justify-content:center;display:flex}.ed-top-right{align-items:center;gap:8px;display:flex}.ed-btn{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:9px 14px;font-family:var(--mono)!important;background:var(--accent)!important;color:var(--accent-ink)!important;font-size:12px!important}.ed-btn.ghost{box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)!important;background:0 0!important}.ed-btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--muted)}.ed-icon{width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--line);font-size:18px}.ed-icon:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.ed-menu-wrap{position:relative}.ed-menu{z-index:30;background:var(--panel-2);border:1px solid var(--line);min-width:260px;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 20px 60px #000a}.ed-menu button{text-align:left;width:100%;padding:9px 10px;display:block}.ed-menu button:hover{background:var(--line)}.ed-menu hr{border:0;border-top:1px solid var(--line);margin:6px 0}.ed-menu-h{color:var(--muted);padding:6px 10px;font-size:11px}.ed-seg{box-shadow:inset 0 0 0 1px var(--line);display:inline-flex}.ed-seg>*{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;color:var(--muted);align-items:center;gap:6px;padding:8px 12px;font-size:12px;display:inline-flex}.ed-seg>:hover{color:var(--fg)}.ed-seg>.on{background:var(--fg);color:var(--bg)!important}.ed-seg input{opacity:0;pointer-events:none;position:absolute}.ed-seg.small>*{padding:7px 10px}.ed-mtabs{display:none}.ed-nav{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;grid-area:nav;min-height:0;display:flex}.ed-ready{border-bottom:1px solid var(--line);padding:16px;position:relative}.ed-ready-btn{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.ed-ready-btn>span:last-child{display:grid}.ed-ring{--v:0;background:conic-gradient(var(--accent) calc(var(--v) * 1%), var(--line) 0);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid}.ed-ring b{background:var(--panel);width:36px;height:36px;font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;display:grid}.ed-todo{min-width:0;left:12px;right:12px}.ed-nav ol{flex:1;padding:8px;list-style:none;overflow:auto}.ed-nav li button{text-align:left;border-left:2px solid #0000;grid-template-columns:42px 1fr auto;align-items:center;gap:6px;width:100%;padding:11px 10px;display:grid}.ed-nav li button:hover{background:var(--panel-2)}.ed-nav li button.on{background:var(--panel-2);border-left-color:var(--accent)}.ed-nav li button.on .ed-act{color:var(--accent)}.ed-act{color:var(--muted);font-size:10px}.ed-short{display:none}.ed-badge{background:var(--err);color:#000;min-width:20px;height:20px;font:600 11px var(--mono);border-radius:10px;place-items:center;padding:0 6px;display:grid}.ed-nav-foot{border-top:1px solid var(--line);gap:8px;padding:14px 16px;font-size:11px;display:grid}.ed-nav-foot a{text-decoration:none}.ed-warn{color:var(--warn)}.ed-form{border-right:1px solid var(--line);background:var(--bg);grid-area:form;padding:28px 24px 120px;overflow:auto}.ed-form-head{margin-bottom:24px}.ed-form-head h2{margin-top:4px;font-size:52px}.ed-form-next{justify-content:flex-end;margin-top:32px;display:flex}.ed-lead{color:var(--muted);margin-bottom:18px;font-size:14px}.ed-sub{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:28px 0 12px;font-size:11px;font-weight:400}.ed-grid{grid-template-columns:1fr 1fr;gap:14px 12px;display:grid}.ed-grid>.wide,.ed-field.wide{grid-column:1/-1}.ed-field{align-content:start;gap:6px;min-width:0;display:grid}.ed-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px}.ed-hint{color:var(--muted);font-size:12px}.ed-error{color:var(--err);font-size:12px}.ed-input{background:var(--field);width:100%;color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:0;padding:10px 12px;transition:border-color .15s}.ed-input:hover{border-color:#3a3935}.ed-input:focus{border-color:var(--accent);outline:none}.ed-field.has-error .ed-input,.ed-field.has-error .ed-chips{border-color:var(--err)}.ed-area{resize:vertical;min-height:64px;line-height:1.45}.ed-area.over{border-color:var(--warn)}.ed-code{font-family:var(--mono);font-size:13px}.ed-now{color:var(--accent);font-family:var(--mono);padding:10px 0;font-size:13px}.ed-toggle{cursor:pointer;align-items:center;gap:12px;padding:4px 0;display:flex}.ed-toggle input{opacity:0;position:absolute}.ed-switch{background:var(--line);flex:none;width:38px;height:22px;transition:background .2s;position:relative}.ed-switch:after{content:"";background:var(--fg);width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.ed-toggle input:checked+.ed-switch{background:var(--accent)}.ed-toggle input:checked+.ed-switch:after{background:var(--accent-ink);transform:translate(16px)}.ed-toggle input:focus-visible+.ed-switch{outline:2px solid var(--accent);outline-offset:2px}.ed-toggle>span:last-child{display:grid}.ed-toggle-label{font-size:14px}.ed-chips{background:var(--field);border:1px solid var(--line);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px;display:flex}.ed-chips:focus-within{border-color:var(--accent)}.ed-chips input{min-width:100px;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:4px}.ed-chip{background:var(--panel-2);border:1px solid var(--line);align-items:center;gap:4px;padding:3px 4px 3px 9px;font-size:13px;display:inline-flex}.ed-chip button{width:18px;height:18px;line-height:1;color:var(--muted)!important}.ed-chip button:hover{color:var(--err)!important}.ed-themes{flex-wrap:wrap;gap:8px;display:flex}.ed-themes button{box-shadow:inset 0 0 0 1px var(--line);align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:14px;display:flex}.ed-themes button.on{box-shadow:inset 0 0 0 2px var(--sw)}.ed-swatch{background:var(--sw);width:22px;height:22px}.ed-list{gap:8px;display:grid}.ed-empty{text-align:center;color:var(--muted);border:1px dashed var(--line);padding:28px 16px;font-size:14px}.ed-card{background:var(--panel);border:1px solid var(--line);transition:border-color .15s,opacity .15s}.ed-card.open{border-color:#3a3935}.ed-card.invalid{border-left:3px solid var(--err)}.ed-card.dragging{opacity:.4}.ed-card.drop{border-color:var(--accent);box-shadow:0 -3px 0 var(--accent)}.ed-card-head{align-items:center;min-height:48px;display:flex}.ed-grip{color:var(--muted);cursor:grab;letter-spacing:-3px;user-select:none;padding:0 6px 0 10px;font-size:14px}.ed-grip:active{cursor:grabbing}.ed-card-title{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:12px 6px;display:flex}.ed-card-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ed-card-name em{color:var(--muted);font-weight:400}.ed-card-meta{font-family:var(--mono);color:var(--muted);white-space:nowrap;margin-left:auto;font-size:11px}.ed-card-tools{opacity:0;padding-right:6px;transition:opacity .15s;display:flex}.ed-card:hover .ed-card-tools,.ed-card.open .ed-card-tools,.ed-card-tools:focus-within{opacity:1}.ed-card-tools button{width:28px;height:28px;color:var(--muted)!important}.ed-card-tools button:not(:disabled):hover{background:var(--line);color:var(--fg)!important}.ed-card-tools .danger:hover{color:var(--err)!important}.ed-card-body{border-top:1px solid var(--line);padding:16px 14px}.ed-pill{font-family:var(--mono);text-transform:uppercase;border:1px solid var(--muted);color:var(--muted);padding:2px 6px;font-size:10px}.ed-pill.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ed-add{text-transform:uppercase;letter-spacing:.05em;width:100%;margin-top:4px;padding:13px;border:1px dashed var(--line)!important;font-family:var(--mono)!important;color:var(--muted)!important;font-size:12px!important}.ed-add:hover{border-color:var(--accent)!important;color:var(--accent)!important}.ed-table{gap:6px;margin-bottom:8px;display:grid}.ed-tr{grid-template-columns:80px 1fr 1fr 60px 28px;align-items:center;gap:8px;display:grid}.ed-th{font-family:var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:.06em;font-size:10px}.ed-tr input[type=checkbox]{accent-color:var(--accent);justify-self:center;width:16px;height:16px}.ed-tr .ed-input{padding:8px}.ed-x{color:var(--muted)!important}.ed-x:hover{color:var(--err)!important}.ed-bar{grid-column:1/-1;height:4px;margin-bottom:6px;display:flex}.ed-bar .pub{background:var(--fg)}.ed-bar .priv{background:var(--accent)}.ed-preview{background:radial-gradient(circle at 1px 1px,#ffffff10 1px,#0000 0) 0 0/18px 18px,#050505;flex-direction:column;grid-area:preview;align-items:center;min-width:0;padding:24px;display:flex;position:relative;overflow:auto}.ed-frame{box-shadow:0 0 0 1px var(--line), 0 30px 80px #000;background:var(--bg);flex:none;position:relative}.dev-phone .ed-frame{border-radius:36px;margin-top:12px;overflow:hidden;box-shadow:0 0 0 10px #1c1c1a,0 0 0 11px #333,0 30px 80px #000}.dev-tablet .ed-frame{border-radius:18px;margin-top:14px;overflow:hidden;box-shadow:0 0 0 12px #1c1c1a,0 0 0 13px #333,0 30px 80px #000}.ed-notch{z-index:5;justify-content:center;height:0;display:flex;position:sticky;top:0}.ed-notch:before{content:"";background:#000;border-radius:0 0 16px 16px;width:110px;height:28px}.ed-preview-cap{padding:14px 0 4px;font-size:11px;position:sticky;bottom:0}.ed-link{text-underline-offset:3px;text-align:left;font-size:14px;text-decoration:underline;color:var(--accent)!important;padding:0!important}.ed-gh-input{border:1px solid var(--line);background:var(--field);align-items:center;display:flex}.ed-gh-input:focus-within{border-color:var(--accent)}.ed-gh-input>span{padding-left:12px;font-size:13px}.ed-gh-input .ed-input{border:0;padding-left:2px}.ed-modal-box code{font-family:var(--mono);background:var(--line);padding:1px 4px;font-size:12px}.ed-modal-box .ed-hint a{color:var(--accent)}.ed-menu .ed-menu-gh{background:color-mix(in srgb, var(--accent) 12%, transparent)}.ed-notes{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);margin-bottom:24px;padding:14px 16px}.ed-notes-head{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.ed-notes-head p{font-size:11px}.ed-notes ul{gap:6px;padding-left:18px;font-size:14px;display:grid}.ed-busy{z-index:75;background:#000d;place-items:center;font-size:clamp(40px,8vw,120px);animation:1.2s ease-in-out infinite ed-pulse;display:grid;position:fixed;inset:0}@keyframes ed-pulse{50%{opacity:.55}}.ed-toast{z-index:60;background:var(--fg);color:var(--bg);align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:12px 16px;font-size:12px;animation:.25s ease-out ed-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #000}.ed-toast button{text-transform:uppercase;font-weight:600;text-decoration:underline;color:var(--bg)!important}@keyframes ed-in{0%{opacity:0;transform:translate(-50%,12px)}}.ed-modal{z-index:70;background:#000c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.ed-modal-box{background:var(--panel);border:1px solid var(--line);gap:14px;width:min(640px,100%);padding:28px;display:grid}.ed-modal-box h3{font-size:40px}.ed-modal-actions{flex-wrap:wrap;gap:8px;display:flex}.ed-drop{z-index:80;pointer-events:none;border:3px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, #000d);color:var(--accent);place-items:center;font-size:10vw;display:grid;position:fixed;inset:12px}@media (width<=1280px){.ed{grid-template-columns:64px minmax(340px,420px) 1fr}.ed-nav li button{grid-template-columns:1fr;justify-items:center;padding:14px 2px;position:relative}.ed-nav li button .ed-act,.ed-nav li button .ed-long{display:none}.ed-nav li button .ed-short{text-transform:uppercase;font-size:10px;display:block}.ed-nav li button.on .ed-short{color:var(--accent)}.ed-nav li button .ed-badge{min-width:16px;height:16px;font-size:10px;position:absolute;top:4px;right:4px}.ed-ready{padding:10px 9px}.ed-ready-btn>span:last-child,.ed-nav-foot{display:none}.ed-todo{min-width:260px;left:8px;right:auto}}@media (width<=900px){.ed{grid-template-columns:56px 1fr;grid-template-areas:"top top""nav main"}.ed-form,.ed-preview{border:0;grid-area:main}.ed-tab-edit .ed-preview,.ed-tab-preview .ed-form,.ed-devices,.ed-status,.hide-sm,.ed-sep{display:none}.ed-mtabs{display:inline-flex}.ed-top{gap:8px;padding:0 8px}.ed-logo{font-size:20px}.ed-form{padding:20px 16px 120px}.ed-form-head h2{font-size:40px}.ed-preview{padding:0}.ed-frame{box-shadow:none}.ed-preview-cap{display:none}}@media (width<=520px){.ed-grid{grid-template-columns:1fr}.ed-top-right .ed-icon{display:none}.ed-menu-wrap .ed-btn{text-overflow:ellipsis;max-width:120px;overflow:hidden}}
