@import url('/portfolio.css');
:root{--space:#030610;--ice:#dcecff;--cyan:#75f4df;--electric:#698cff;--muted:#a2b2cc;--line:rgba(164,198,245,.18);color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:82px;scroll-snap-type:y proximity;background:var(--space)}
body.immersive{margin:0;background:radial-gradient(ellipse at 76% 25%,#101c3820,transparent 55%),var(--space);color:var(--ice);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:hidden}
.immersive *{box-sizing:border-box}.immersive a{color:inherit;text-decoration:none}.immersive button,.immersive input{font:inherit}.immersive button{cursor:pointer}.immersive button:disabled{cursor:default}.immersive :focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.immersive [hidden]{display:none!important}.immersive .skip-link:focus{z-index:1000;background:#fff;color:#000}
.space-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.space-noise{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 75% 45%,#17397842,transparent 48%)}
.space-header{position:fixed;left:0;right:0;top:0;z-index:25;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #a8c5ef12;background:linear-gradient(#030610ed,#03061099);backdrop-filter:blur(18px)}
.space-brand{font-size:1.15rem;font-weight:650;letter-spacing:-.04em;white-space:nowrap}.space-brand span{color:var(--cyan)}.space-nav{display:flex;gap:30px;align-items:center}.space-nav a{font-size:.875rem;color:#b8c8e0;min-height:44px;display:inline-flex;align-items:center}.space-nav a:hover{color:var(--cyan)}.space-tools{display:flex;gap:12px;align-items:center}.motion-toggle{border:1px solid var(--line);background:#121b2d80;color:#b6c9e4;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1rem}.pdf-link{font-size:.8125rem;border-bottom:1px solid #9cc4fc80;padding:10px 0}.space-progress{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#6c97ff;transform:scaleX(0);transform-origin:left}
.scene{position:relative;z-index:2;min-height:100svh;padding:120px max(6vw,24px) 76px;scroll-snap-align:start;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;column-gap:4vw;border-bottom:1px solid #7696c213;isolation:isolate}.scene::after{content:'';position:absolute;bottom:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#577aac44,transparent)}.scene-copy{max-width:650px;position:relative;z-index:3}.scene-index{font-size:.75rem;color:#89a2c5;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:14px;margin:0 0 28px}.scene-index:before{content:'';width:30px;height:1px;background:var(--cyan)}.immersive .scene h1,.immersive .scene h2{font-weight:550;font-size:clamp(3rem,5.9vw,6.4rem);line-height:1.04;letter-spacing:-.058em;margin:0;color:#f0f6ff}.immersive .scene h1 span,.immersive .scene h2 span{color:#92b9ff}.scene h1 .cyan,.scene h2 .cyan{color:var(--cyan)}.immersive .scene p{margin-bottom:0}.scene-lead{font-size:1.08rem;color:#adbbd0;line-height:1.65;max-width:490px;margin-top:26px}.scene-role{font-size:.875rem;line-height:1.7;color:#c2d0e5;margin-top:24px}.scene-role span{display:block;color:#8298b8;font-size:.8125rem}.scene-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center;margin-top:32px}.space-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;border-radius:7px;padding:13px 20px;border:1px solid #9af5f25e;background:var(--cyan);color:#031619!important;font-size:.875rem;font-weight:600;transition:background .2s,transform .2s}.space-button:hover{background:#b0fff3;transform:translateY(-2px)}.space-button.secondary{background:#14213b70;border-color:#7197d340;color:#d6e5ff!important}.space-button.secondary:hover{background:#203256}.space-text{background:none;border:0;color:#a7bff1!important;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;padding:8px 0}.space-text:hover{color:#fff!important}.scene-foot{position:absolute;bottom:28px;left:max(6vw,24px);right:max(6vw,24px);display:flex;justify-content:space-between;align-items:center;gap:20px;color:#7890b0;font-size:.75rem;line-height:1.5}.scene-foot a{min-height:34px;display:inline-flex;align-items:center;gap:12px;color:#bbcee9}.scene-foot .scroll-mark{border:1px solid #7890b050;border-radius:20px;padding:7px 14px}
.stage-visual{position:relative;min-height:510px;width:100%;align-self:stretch;display:flex;align-items:center;justify-content:center;touch-action:pan-y;z-index:2}.stage-visual::before{content:'';position:absolute;inset:18%;border-radius:50%;background:radial-gradient(ellipse,#2a58b333,transparent 66%);filter:blur(20px);z-index:-1}.visual-caption{position:absolute;bottom:7%;left:0;right:0;text-align:center;font-size:.75rem;color:#718aac;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}.visual-label{position:absolute;min-width:112px;padding:12px 17px;border:1px solid #76bbf748;border-radius:6px;background:linear-gradient(120deg,#122239d9,#070f1ad9);box-shadow:0 10px 40px #0005;backdrop-filter:blur(14px);font-size:.8125rem;color:#b9cfee;z-index:3}.visual-label strong{display:block;color:#e5f3ff;font-size:1.5rem;line-height:1.2;margin-top:5px;letter-spacing:-.03em;font-weight:550}.visual-label.one{left:2%;top:16%}.visual-label.two{right:0;top:30%}.visual-label.three{left:9%;bottom:18%}.visual-label.four{right:3%;bottom:14%}.visual-label button{background:none;border:0;color:inherit;font-size:inherit;padding:0;min-height:28px}.visual-label.active{border-color:#7bffe9;box-shadow:0 0 28px #5dedda1a}.scene-status{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:.875rem;line-height:1.5;color:#a9bfdc}.scene-status strong{color:var(--cyan);font-weight:500}.scene-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--cyan);flex-shrink:0}.scene-status[data-unchecked]::before{background:#bc9cff}
.scene-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:26px}.scene-tab{border:1px solid #7197d340;border-radius:5px;background:#11203970;padding:12px 16px;min-height:44px;color:#b1c5e3;font-size:.875rem}.scene-tab[aria-pressed=true]{background:#6ba6ff1f;border-color:#93c5ff;color:#eef7ff}.scene-tab:hover{border-color:#99bfe8}.tab-result{min-height:96px;padding-top:20px;max-width:490px}.tab-result strong{font-size:1.2rem;color:#deefff;font-weight:500;display:block}.tab-result p{font-size:1rem;color:#9bb0cc;line-height:1.65;margin:10px 0 0}.metric-strip{display:flex;gap:32px;flex-wrap:wrap;margin-top:30px}.metric-strip strong{display:block;font-size:2rem;color:#d2e6ff;font-weight:500;letter-spacing:-.04em}.metric-strip span{font-size:.8125rem;color:#8ca3c3;display:block;margin-top:5px}.result-glass{position:absolute;inset:auto 4% 8%;border:1px solid #7ffff343;border-radius:10px;padding:22px 25px;background:#061b25d9;backdrop-filter:blur(14px)}.result-glass .result-number{font-size:4.3rem;line-height:1;letter-spacing:-.06em;color:var(--cyan);font-weight:500}.result-glass p{font-size:.875rem;color:#a7c6d2;margin:9px 0 0}.result-glass .result-equation{font-size:.8125rem;color:#81a1b8;margin-top:12px}.result-glass .result-state{font-size:.75rem;letter-spacing:.09em;color:#8eb5c5;margin-bottom:12px;text-transform:uppercase}.result-glass.unchecked{background:#191b34d9;border-color:#9690d85e}.result-glass.unchecked .result-number{color:#b5adff}
.scene-controls{margin-top:25px;max-width:420px;padding:20px 0;border-top:1px solid var(--line)}.scene-controls label{display:flex;justify-content:space-between;font-size:.875rem;color:#b8cbe7;gap:18px}.scene-controls output{color:var(--cyan);font-variant-numeric:tabular-nums}.immersive .scene-controls input[type=range]{width:100%;margin:22px 0 10px;accent-color:var(--cyan);height:6px;padding:0;border:0;background:#28374f;cursor:ew-resize}.control-note{font-size:.8125rem;color:#8fa7c7;line-height:1.5;margin:10px 0 0}.scene-pips{display:flex;gap:6px;margin-top:20px}.scene-pips span{height:3px;width:36px;background:#283652}.scene-pips span.active{background:var(--cyan)}
.scene-evidence{grid-template-columns:1fr .9fr}.scene-evidence h2{font-size:clamp(2.8rem,5vw,5rem)!important}.evidence-menu{display:flex;flex-direction:column;gap:0;position:relative;z-index:3;margin:20px 0}.evidence-menu button,.evidence-menu a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;min-height:74px;border:0;border-bottom:1px solid var(--line);background:none;color:#d5e6ff;font-size:1.04rem;text-align:left}.evidence-menu small{display:block;color:#7f97b8;font-size:.8125rem;margin-top:6px}.evidence-menu i{font-style:normal;color:var(--cyan)}.evidence-menu button:hover,.evidence-menu a:hover{color:var(--cyan)}
.scene-dots{position:fixed;right:21px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:20;gap:2px}.scene-dots a{width:28px;height:28px;display:grid;place-items:center}.scene-dots a:before{content:'';width:4px;height:4px;background:#59718e;border-radius:50%;transition:height .3s,background .3s}.scene-dots a[aria-current=true]:before{height:18px;border-radius:8px;background:var(--cyan)}
.direct-contact{margin-top:28px;padding-top:24px;border-top:1px solid #83b4e63d;scroll-margin-top:110px}.contact-label{color:#8fb8de;font-size:.875rem;line-height:1.5;margin:0 0 10px!important}.contact-address{display:block;color:#eff8ff;font-size:clamp(1.2rem,2.15vw,2rem);letter-spacing:-.035em;line-height:1.5;overflow-wrap:anywhere;user-select:all;cursor:text;margin:0!important}.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:19px}.contact-actions .space-button{min-height:46px}.copy-feedback{min-height:1.5em;color:#94ddcf;font-size:.8125rem;line-height:1.5;margin:10px 0 0!important}.intro-contact{display:flex;align-items:center;gap:5px 15px;flex-wrap:wrap;padding-top:0;margin-top:22px;border-top:0}.intro-contact .contact-address{font-size:.9375rem;letter-spacing:0;color:#b0c9e7}.copy-inline{color:#82e9dc;background:none;border:0;border-bottom:1px solid #73b9b95e;font-size:.8125rem;min-height:40px;padding:7px 0}.intro-contact .copy-feedback{flex-basis:100%;min-height:0;margin:0!important}.about-history{position:relative;z-index:3;border-left:1px solid #88a9d033;padding-left:46px;max-width:550px}.about-history .scene-tabs{margin-top:0}.about-history .tab-result{min-height:156px;padding-top:30px}.about-history .tab-result strong{font-size:1.4rem;line-height:1.35}.about-history .tab-result p{margin-top:15px}.about-delivery{border-top:1px solid var(--line);margin-top:32px;padding-top:25px}.about-delivery>span{font-size:.875rem;color:#8ba8ca}.about-delivery p{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;color:#d1e7ff;margin:10px 0!important}.about-delivery small{font-size:.875rem;color:#8da4c2;line-height:1.6}.case-contact-panel{position:relative;z-index:3;border:1px solid #73a6da33;background:linear-gradient(130deg,#11223abe,#060d198c);border-radius:12px;padding:35px;min-width:0}.case-contact-panel h3{font-size:clamp(2rem,3.2vw,3rem);line-height:1.12;font-weight:500;letter-spacing:-.04em;color:#e4f1ff;margin:0}.case-contact-panel .contact-address{font-size:clamp(1.15rem,1.8vw,1.7rem)}
.space-dialog{background:#09111f;color:#d5e3f8;border:1px solid #759acf45;width:min(960px,calc(100% - 32px));max-height:88svh;padding:44px;border-radius:14px;overflow:auto}.space-dialog::backdrop{background:#01030be8;backdrop-filter:blur(14px)}.space-dialog .close-space{position:sticky;float:right;top:0;width:42px;height:42px;border:1px solid #819dbe66;background:#12233d;color:#d9edff;border-radius:50%;font-size:1.5rem;z-index:6}.space-dialog h2{font-size:2rem;letter-spacing:-.03em;line-height:1.15;margin:8px 0 22px}.space-dialog h3{font-size:1.25rem;margin-top:25px;color:#d4e7ff}.space-dialog p{font-size:1rem;line-height:1.7;color:#a4b8d3}.space-dialog .career-timeline strong{color:#d5e7ff}.space-dialog .career-timeline div>span,.space-dialog .career-date{color:#91a7c6}.space-dialog .credentials,.space-dialog .languages{color:#acc9ea!important}.space-dialog a{color:var(--cyan)}.film-dialog{max-width:640px;padding:22px}.film-dialog video{width:100%;max-height:66svh;display:block;background:#000;border-radius:8px}.film-dialog .film-toolbar{display:flex;gap:20px;margin:18px 0;color:#a2bddc}.film-dialog .film-toggle{background:none;border:0;color:#d2e7ff;font-size:.875rem;display:inline-flex;gap:8px}.film-dialog svg{width:20px;height:20px}
.evidence-dialog{background:#f5f8fc;color:#183550;padding:28px;max-width:1100px}.evidence-dialog .close-space{background:#e4ebf5;color:#193652;float:none;margin-left:auto;display:block}.evidence-dialog .detail-zone{padding:10px 4px;max-width:none}.evidence-dialog p,.evidence-dialog h2,.evidence-dialog h3,.evidence-dialog h4{color:inherit}.evidence-dialog a{color:#1261b1}.evidence-dialog .space-dialog-heading{font-size:1.8rem;margin-right:45px}.evidence-dialog .section{min-height:0}.evidence-dialog .case-extra>summary{color:#243951}.evidence-dialog .next-section h2{font-size:2.5rem}.evidence-dialog .case-extra .section-intro{color:#57687e}.evidence-dialog .space-button{color:#032228!important}.immersive #detail-dialog{background:#f7f9fc;color:#253346;z-index:100}.immersive #detail-dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}.immersive #detail-dialog a{color:#1261b1}.immersive #detail-dialog button{font:inherit}.immersive #detail-dialog h2,.immersive #detail-dialog h3{color:#142f50}.immersive #detail-dialog p{color:#536980}.space-hidden-defs{position:absolute;width:0;height:0;overflow:hidden}
.fallback-diagram{display:none;width:84%;border:1px solid #6689ba55;padding:34px;border-radius:14px;background:#10234499}.fallback-diagram strong{font-size:2rem;color:#a0ccff;display:block}.fallback-diagram span{display:block;margin-top:18px;color:#b7c8e2;line-height:1.6}.no-webgl .fallback-diagram{display:block}.no-webgl .visual-caption{display:none}.immersive .static-message{background:#173451;padding:18px;color:#e3f0ff;position:relative;z-index:30}.section-anchor{position:absolute;top:0;left:0}
@media(min-width:1600px){.scene{max-width:1800px;margin:0 auto;padding-inline:120px}}
@media(max-width:1000px){.scene{grid-template-columns:1fr 1fr;column-gap:0;padding-inline:5vw}.immersive .scene h1,.immersive .scene h2{font-size:clamp(3rem,6.6vw,5rem)}.stage-visual{min-height:440px}.visual-label{padding:10px 13px;min-width:96px}.visual-label strong{font-size:1.3rem}.scene-dots{right:6px}.space-nav{gap:20px}.metric-strip{gap:22px}}
@media(max-width:760px){html{scroll-padding-top:68px;scroll-snap-type:none}.space-header{height:66px;padding:0 22px}.space-brand{font-size:1.04rem}.space-nav{gap:16px}.space-nav a{font-size:.8125rem}.space-tools{gap:12px}.pdf-link{display:none}.motion-toggle{width:34px;height:34px}.scene{grid-template-columns:1fr;align-content:start;padding:105px 26px 72px;min-height:100svh;gap:10px}.scene-copy{max-width:none}.scene-index{font-size:.75rem;margin-bottom:20px;letter-spacing:.11em}.immersive .scene h1,.immersive .scene h2{font-size:clamp(2.7rem,10.5vw,4.6rem);line-height:1.06;letter-spacing:-.052em}.scene-lead{font-size:1rem;line-height:1.6;margin-top:19px;max-width:540px}.scene-role{font-size:.875rem;margin-top:19px}.scene-actions{margin-top:23px;gap:12px}.space-button{min-height:46px;font-size:.875rem;padding:12px 17px}.stage-visual{min-height:350px;height:43svh;max-height:460px;align-self:auto;margin-top:5px}.scene-hero .stage-visual{min-height:290px;height:37svh}.visual-label{font-size:.8125rem}.visual-label.one{left:0;top:10%}.visual-label.two{right:0;top:22%}.visual-label.three{left:3%;bottom:10%}.visual-label.four{right:0;bottom:6%}.visual-caption{bottom:2%;font-size:.75rem;letter-spacing:.05em}.scene-foot{left:26px;right:26px;bottom:22px;font-size:.75rem}.scene-foot>span{max-width:70%}.scene-foot .scroll-mark{padding:5px 10px}.scene-dots{display:none}.scene-status{font-size:.875rem;margin-top:22px;padding-top:16px}.scene-tabs{margin-top:22px}.scene-tab{font-size:.875rem;padding:10px 13px}.tab-result{min-height:100px;padding-top:17px}.scene-controls{margin-top:20px;padding-top:17px}.scene-evidence{grid-template-columns:1fr;gap:28px}.scene-evidence .stage-visual{min-height:300px}.evidence-menu{margin:10px 0}.evidence-menu button,.evidence-menu a{padding:19px 0;font-size:1rem}.result-glass{inset:auto 0 0;padding:20px;max-width:210px}.result-glass .result-number{font-size:3.6rem}.visual-label.lifted{top:7%;bottom:auto}.metric-strip{margin-top:22px;gap:20px}.metric-strip strong{font-size:1.7rem}.metric-strip span{font-size:.8125rem}.space-dialog{padding:25px 22px;border-radius:10px;max-height:90svh}.evidence-dialog{padding:18px 15px}.film-dialog{padding:14px}.scene-about .stage-visual{height:34svh;min-height:290px}.scene-section-name{display:none}}
@media(max-width:370px){.space-header{padding-inline:16px}.space-nav{gap:12px}.space-tools{gap:5px}.scene{padding-inline:21px}.immersive .scene h1,.immersive .scene h2{font-size:2.65rem}.scene-foot{left:21px;right:21px}.visual-label{min-width:85px;padding:8px 10px}.visual-label strong{font-size:1.15rem}}
@media(max-width:1000px){.about-history{padding-left:27px}.case-contact-panel{padding:26px}.contact-address{font-size:1.35rem}}
@media(max-width:760px){.scene-about{gap:44px}.about-history{padding-left:0;padding-top:29px;border-left:0;border-top:1px solid var(--line);max-width:none}.about-history .tab-result{min-height:145px}.direct-contact{margin-top:25px;padding-top:21px;scroll-margin-top:90px}.direct-contact-large .contact-address{font-size:clamp(1.15rem,5.7vw,1.8rem)}.intro-contact{margin-top:17px;padding-top:0}.intro-contact .contact-address{font-size:.9375rem}.case-contact-panel{padding:25px}.case-contact-panel .contact-address{font-size:clamp(1.1rem,5vw,1.65rem)}.contact-actions{gap:20px}.scene-about .scene-foot>span{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}.space-button{transition:none}.space-button:hover{transform:none}}
@media print{.space-canvas,.space-header,.scene-dots,.stage-visual,.scene-foot,.space-noise{display:none!important}.scene{min-height:0;display:block;padding:25px;border-bottom:1px solid #ccc;break-inside:avoid}.immersive,.scene{background:#fff!important;color:#173149!important}.immersive .scene h1,.immersive .scene h2{color:#152b48!important;font-size:2.4rem}.scene-lead,.scene-role,.scene-status,.scene-index{color:#38516e!important}}

/* Secondary web work supports the systems cases without becoming a full-screen scene. */
.website-projects{position:relative;z-index:2;padding:72px max(6vw,24px);border-bottom:1px solid var(--line);background:#07101c;scroll-margin-top:80px}.website-heading{max-width:760px;margin-bottom:30px}.website-heading .scene-index{margin-bottom:16px}.website-heading h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;letter-spacing:-.035em;margin:0 0 12px}.website-heading>p:last-child{font-size:1rem;color:var(--muted)}.website-project{max-width:1120px;display:grid;grid-template-columns:.75fr 1.25fr;gap:35px;padding-top:28px;border-top:1px solid var(--line);align-items:center}.website-project-image{display:block;overflow:hidden;border-radius:10px;background:#dcded4}.website-project-image img{display:block;width:100%;height:250px;object-fit:cover;transition:transform .3s}.website-project-image:hover img{transform:scale(1.025)}.website-project-copy h3{font-size:1.625rem;margin:10px 0 14px;font-weight:500;letter-spacing:-.025em}.website-project-copy>p{font-size:1rem;line-height:1.7;color:var(--muted)}.website-project-copy .project-type{font-size:.875rem;color:#9bcac4;margin:0}.project-skills{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:20px 0}.project-skills li{font-size:.8125rem;border:1px solid var(--line);border-radius:40px;padding:6px 12px;color:#b9c9dc}.project-links{display:flex;flex-wrap:wrap;gap:24px}.project-links .space-text{font-size:.9375rem}.project-links .project-original{color:var(--muted)}.website-project-copy .project-stage{font-size:.8125rem;margin:18px 0 0;color:#91a1b9}.about-delivery .space-text{display:inline-block;margin-top:14px;font-size:.875rem}
@media(max-width:760px){.website-projects{padding-block:48px}.website-project{grid-template-columns:1fr;gap:24px}.website-project-image{max-width:480px}.website-project-image img{height:220px}}

.archive-return,.archive-context{position:relative;z-index:2;padding:32px max(6vw,24px);font-size:.9375rem;color:var(--muted)}.archive-context{max-width:900px;line-height:1.7}.space-dialog .earlier-work-link{margin-top:30px;font-size:.875rem;color:var(--muted)}.earlier-work-link a{text-decoration:underline;text-underline-offset:4px}

/* Fewer 3D scenes; document-like surfaces carry the supporting evidence. */
.evidence-panel{position:relative;z-index:3;align-self:center;width:100%;max-width:580px;margin-left:auto;padding:34px;background:linear-gradient(145deg,#101d30e8,#08111fed);border:1px solid #b9d4f027;border-radius:16px;box-shadow:0 24px 70px #0003,inset 0 1px #e3f0ff0d}.panel-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#86a4c7;margin:0 0 20px!important}.evidence-panel h3{font-size:1.65rem;font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0 0 22px}.process-ledger{list-style:none;margin:0;padding:0}.process-ledger li{display:flex;gap:18px;border-top:1px solid var(--line);padding:22px 0}.process-ledger li:last-child{padding-bottom:0}.process-ledger li>span{color:#71b5ba;font-size:.8125rem;font-variant-numeric:tabular-nums;padding-top:3px}.process-ledger strong{font-size:1rem;font-weight:500;color:#deebfa}.process-ledger p,.evidence-panel .panel-note{font-size:.9375rem;line-height:1.65;color:#9fb2cc;margin:8px 0 0}.evidence-panel .panel-note{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.source-ledger{margin:0}.source-ledger>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:19px 0;align-items:baseline}.source-ledger dt{font-size:.9375rem;color:#aabed7}.source-ledger dd{font-size:1.75rem;margin:0;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.source-ledger dd>span:not([data-shipped-label]){font-size:.8125rem;color:#8ba4c3;margin-left:4px}.ledger-result{border-top:1px solid #86ded84a;margin-top:12px;padding-top:24px}.ledger-result .result-number{display:block;font-size:4.6rem;line-height:1.1;color:var(--cyan);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.06em}.ledger-result.unchecked .result-number{color:#baaee1}.ledger-result .result-state{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:#9db2ce;margin:0 0 12px}.ledger-result p{font-size:.875rem;line-height:1.6;color:#a9bfd9;margin-top:8px}.ledger-result .result-equation{color:#8aa4c2}.ownership-record{border-top:1px solid var(--line);padding:24px 0;color:#94b1d1;font-size:.875rem}.ownership-record strong{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.025em;color:#e4effc;margin-top:12px}.rollout-ledger #rollout-label{font-size:.8125rem;color:#96b0ce;letter-spacing:.06em}.rollout-ledger #rollout-label strong{display:block;font-size:2rem;font-weight:500;color:#dceeff;margin-top:12px;letter-spacing:-.04em}.rollout-track{list-style:none;padding:0;margin:0}.rollout-track li{display:flex;align-items:center;gap:18px;padding:20px 16px;border-top:1px solid var(--line);border-left:2px solid transparent;color:#8ca5c4;transition:background .25s,color .25s}.rollout-track li>span{font-size:.8125rem;font-variant-numeric:tabular-nums}.rollout-track strong{font-size:1rem;font-weight:500}.rollout-track .active{background:#6bbca714;border-left-color:#87dac6;color:#e5f9f4}.stage-visual::before{background:radial-gradient(ellipse,#2351881b,transparent 70%);filter:blur(28px)}.visual-label{background:linear-gradient(135deg,#102138d9,#091321ed);border-color:#a8cdf02b;border-radius:10px;box-shadow:0 14px 35px #0003,inset 0 1px #d9ecff0b}.visual-label strong{font-weight:500}.visual-caption{letter-spacing:.055em}.space-noise{background:radial-gradient(ellipse at 75% 25%,#132e502b,transparent 52%)}.website-project+.website-project{margin-top:45px}.project-logo{background:#f9fbfc;display:flex!important;align-items:center;justify-content:center;height:250px;padding:38px}.project-logo img{object-fit:contain!important;height:auto!important;max-width:310px;width:100%}.project-logo:hover img{transform:none}
@media(max-width:1000px){.evidence-panel{padding:25px}}
@media(max-width:760px){.evidence-panel{margin:30px 0 15px;max-width:none;padding:25px}.evidence-panel h3{font-size:1.5rem}.process-ledger li{padding-block:19px}.source-ledger>div{padding-block:15px}.ledger-result .result-number{font-size:3.7rem}.project-logo{height:220px}.stage-visual .visual-label strong{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.rollout-track li{transition:none}}
@media print{.evidence-panel{box-shadow:none;background:white;color:#13283b;border:1px solid #bbb;margin-block:20px}.evidence-panel p,.evidence-panel strong,.evidence-panel h3,.evidence-panel dt,.evidence-panel dd{color:#13283b!important}}

.home-outcome{border-left:2px solid #8cd5c8;padding-left:17px;font-size:1rem;line-height:1.6;color:#d8ede7;max-width:470px;margin-top:25px}.home-outcome>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#8dbfb6;margin-bottom:7px}
/* Blue Line is a short case study, with no hidden proposal or duplicated lab. */
.compact-case{background:#050b16}.compact-case .scene{min-height:0;max-width:1280px;margin-inline:auto;padding:65px max(4vw,24px);display:block;scroll-snap-align:none;border-bottom:1px solid var(--line)}.compact-case .scene:after{display:none}.compact-case .case-intro{padding-top:145px;padding-bottom:60px}.compact-case .case-intro h1{font-size:clamp(2.8rem,5.4vw,5rem);max-width:950px}.case-summary{font-size:1.2rem;line-height:1.65;max-width:850px;margin-top:26px;color:#d0dded}.case-context{max-width:840px;font-size:1rem;line-height:1.65;margin-top:16px;color:#95aac5}.outcome-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:37px}.outcome-cards article{padding:25px;background:#0e1a2d;border:1px solid #98bddd30;border-radius:12px}.outcome-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#9ecdc9;margin:0 0 15px!important}.compact-case .outcome-cards h2{font-size:1.38rem;line-height:1.25;letter-spacing:-.025em;font-weight:550}.outcome-cards article>p:last-child{font-size:.9375rem;line-height:1.65;color:#a8bad1;margin-top:16px}.compact-case .case-block h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.12}.compact-case .case-check{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.compact-case .case-check .stage-visual{min-height:510px}.compact-case .scene-lead{font-size:1rem;max-width:540px;line-height:1.7}.check-source{margin:25px 0 0;max-width:440px}.check-source>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:11px 0;font-size:.9375rem;gap:20px}.check-source dt{color:#93abc8}.check-source dd{margin:0;font-variant-numeric:tabular-nums;color:#dfebfa}.example-note{font-size:.8125rem;line-height:1.6;color:#8fa3be;margin-top:18px}.case-paragraph{font-size:1rem;line-height:1.75;max-width:820px;margin-top:22px;color:#afc0d6}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.before-after article{padding:27px;border-top:2px solid #546782;background:#0c1524}.before-after article:last-child{border-color:#8acebf;background:#0c1d24}.before-after h3{font-size:1.35rem;font-weight:500;line-height:1.3;margin:0}.before-after article>p:last-child{font-size:1rem;line-height:1.7;color:#abc0d5;margin-top:17px}.compact-case .case-adoption,.compact-case .case-closing{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.adoption-outcome{border-left:2px solid #8acebf;padding-left:19px;margin-top:24px;color:#d3ede4;font-size:1.06rem;line-height:1.7}.sop-method{padding:0;margin:0;list-style:none}.sop-method li{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.sop-method li>span{color:#8dbeb6;font-size:.8125rem}.sop-method strong{font-size:1rem;color:#dfebf6;font-weight:500}.sop-method p{font-size:.9375rem;color:#96acc6;line-height:1.65;margin-top:9px}.compact-case .case-closing{padding-bottom:85px}.case-closing .space-button{margin-top:24px}.case-closing .contact-address{font-size:clamp(1.1rem,2vw,1.5rem)}.case-closing .direct-contact{min-width:0}.case-closing .copy-feedback{min-height:28px}.case-closing .direct-contact>.space-text{display:inline-flex;margin-top:20px}
@media(max-width:1000px){.compact-case .case-adoption,.compact-case .case-closing{gap:32px}.compact-case .case-check{gap:15px}}
@media(max-width:760px){.compact-case .scene{padding:44px 25px}.compact-case .case-intro{padding-top:115px}.case-summary{font-size:1.06rem}.outcome-cards{grid-template-columns:1fr;margin-top:27px;gap:12px}.outcome-cards article{padding:22px}.compact-case .case-check,.compact-case .case-adoption,.compact-case .case-closing{grid-template-columns:1fr;gap:27px}.compact-case .case-check .stage-visual{min-height:370px;height:420px;margin-top:0}.before-after{grid-template-columns:1fr;gap:14px}.before-after article{padding:24px}.compact-case .case-block h2{font-size:2.3rem}.compact-case .case-closing{padding-bottom:55px}.compact-case .case-closing .direct-contact{border-top:1px solid var(--line);padding-top:25px}}

/* One aligned block at the lower-left; the name carries the hierarchy. */
.identity-hero {
  display:flex; align-items:flex-end; justify-content:flex-start;
  width:100%; max-width:none; margin-inline:0; min-height:100svh;
  padding:140px 6vw 58px; overflow:hidden; border-bottom:0; background:#000;
}
.identity-hero .hero-art {position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none}
.identity-hero .hero-art img {
  position:absolute; left:50%; top:50%; width:100svh; height:100vw; max-width:none;
  object-fit:cover; transform:translate(-50%,-50%) rotate(90deg);
}
.identity-hero:before {
  content:''; position:absolute; inset:auto 0 0; height:50px; z-index:-1;
  background:linear-gradient(0deg,#030610,transparent);
}
.identity-hero:after {display:none}
.hero-identity {min-width:0; max-width:100%; text-align:left; position:relative; z-index:3}
.immersive .identity-hero h1 {
  font-size:clamp(4rem,11vw,10rem); line-height:1; font-weight:550;
  letter-spacing:-.065em; color:#f5f5f7; white-space:nowrap; text-shadow:0 3px 26px #0006;
}
.immersive .identity-hero h1 span {color:#c8b5ff}
.identity-hero .identity-tagline {
  font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400;
  font-size:clamp(1.4rem,2.2vw,2rem); line-height:1.4; letter-spacing:-.015em;
  color:#d4c5ff; margin:20px 0 0; max-width:760px;
}
.identity-hero .identity-tagline q {quotes:'“' '”' '‘' '’'}
.identity-hero .availability {font-size:1rem; line-height:1.6; font-weight:400; color:#bfc2ce; margin:29px 0 0; max-width:570px}
.identity-hero .hero-identity .scene-index {
  font-size:.8125rem; line-height:1.6; letter-spacing:.015em; text-transform:none;
  color:#a6abba; margin:0 0 12px;
}
.identity-hero .scene-index:before {display:none}
.identity-hero .identity-contact {
  display:flex; align-items:center; flex-wrap:wrap; gap:6px 22px;
  padding:0; margin:9px 0 0; border:0;
}
.identity-hero .identity-contact .contact-address {font-size:1rem; line-height:1.6; color:#dddfe8; letter-spacing:0}
.identity-hero .space-text {font-size:.875rem; color:#b8bbcc!important; min-height:36px; padding:6px 0}
.identity-hero .space-text:hover {color:#fff!important}
@media(max-width:760px) {
  .identity-hero {padding:115px 26px 38px; min-height:100svh}
  .identity-hero .hero-art {top:0}
  .identity-hero .hero-art img {left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; transform:none}
  .immersive .identity-hero h1 {font-size:clamp(3.2rem,14.2vw,6rem)}
  .identity-hero .identity-tagline {font-size:clamp(1.25rem,5.2vw,1.5rem); margin-top:18px}
  .identity-hero .availability {font-size:.9375rem; max-width:365px}
  .identity-hero .identity-contact .contact-address {font-size:.9375rem}
  .identity-hero .identity-contact {column-gap:20px}
}
@media(max-width:370px) {
  .identity-hero {padding-inline:22px}
  .immersive .identity-hero h1 {font-size:13.8vw}
}
@media print {
  .identity-hero {min-height:0; display:block; padding:25px}
  .identity-hero .hero-art,.identity-hero:before {display:none}
  .identity-hero .availability,.identity-hero .identity-tagline,.identity-hero .identity-contact .contact-address {color:#173149}
}


/* A compact, readable notice, consistent with the portfolio. */
.terms-content {width:min(760px,calc(100% - 48px)); margin:0 auto; padding:145px 0 65px}
.terms-content h1 {font-size:clamp(2.7rem,5vw,4rem); line-height:1.1; font-weight:550; letter-spacing:-.045em; color:#f0f6ff; margin:0}
.terms-intro {font-size:1.0625rem; line-height:1.65; color:#95aac5; margin:21px 0 28px}
.terms-content section {padding:24px 0; border-top:1px solid var(--line)}
.terms-content h2 {font-size:1.125rem; line-height:1.4; font-weight:550; color:#dcecff; margin:0 0 12px}
.terms-content section p {font-size:1rem; line-height:1.8; color:#adbed3; margin:0}
.terms-email {color:#e5effb; white-space:nowrap; user-select:all}
.terms-page .space-nav a[aria-current=page] {color:#e0d4ff}
.terms-back {margin-top:13px}
@media(max-width:760px) {.terms-content {padding-top:110px; padding-bottom:44px}.terms-content section {padding-block:22px}.terms-email {white-space:normal; overflow-wrap:anywhere}}

.portfolio-disclosure{position:relative;z-index:2;max-width:1280px;margin-inline:auto;padding:24px max(6vw,24px) 32px;color:#95aac5;font-size:.8125rem;line-height:1.7}.portfolio-disclosure p{margin:0}
