/* Editorial design system: precise type, generous rhythm, engineering drawings.
   Component interactions and their accessible fallbacks stay in style.css. */
:root{--ink:#20231f;--muted:#646b64;--line:#d5d8d0;--paper:#f7f7f2;--wash:#edeee7;--night:#182224;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
body{-webkit-font-smoothing:antialiased}
.section-wrap,.header,.footer{width:min(1280px,calc(100% - 112px))}
.section-label,.eyebrow,.project-kicker,.hero-meta,.practice-strip,.visual-heading,.system-tags,.education-year{font-family:var(--mono);font-size:11px;line-height:1.6;letter-spacing:.035em}
.section-label{color:var(--muted);margin-bottom:17px}
.header{height:96px}.brand{font-size:15px;gap:14px}.brand-mark{font-size:19px}.header nav{gap:36px;font-size:13px}
.hero{padding-top:30px;padding-bottom:64px}
.hero-meta{gap:30px}.hero-meta span:last-child{font-size:11px}
.hero h1{font-size:clamp(88px,16.1vw,224px);letter-spacing:-.065em;line-height:1.12;margin:32px 0 48px}
.hero-intro{gap:72px;margin-top:0}
.hero-intro h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:-.05em;line-height:1.12}
.hero-intro h2 span{color:var(--blue)}
.hero-intro p{font-size:16px;line-height:1.7}.hero-intro p+p{margin-top:12px}
.hero-actions{gap:32px;font-size:13px;margin-top:26px}
.practice-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);margin-top:58px;padding-top:17px;color:var(--muted)}
.practice-strip span+span{border-left:1px solid var(--line);padding-left:24px}
.work-heading{align-items:flex-end;padding:40px 0 24px;gap:32px}
.work-heading h2,.section-heading h2,.section-intro h2{font-size:clamp(30px,3.1vw,42px);letter-spacing:-.05em}
.work-heading .section-label{margin-bottom:12px}
.project-tabs{gap:24px;flex:none}
.project-tabs button{padding:12px 0;min-height:44px;border-radius:0;font-size:13px;transition:color .2s ease}
.project-tabs button:hover,.project-tabs [aria-selected=true],.project-tabs [aria-selected=true]:hover{background:none;color:var(--blue)}
.feature{gap:72px;padding:48px 0 88px;min-height:0}
.feature-copy{padding-top:12px}
.feature h3{font-size:clamp(36px,3.8vw,52px);letter-spacing:-.055em;margin:23px 0 28px;line-height:1.06;text-wrap:balance}
.feature-copy .feature-lead{font-size:20px;line-height:1.45;margin-bottom:18px}
.feature-details{margin-top:30px}
summary{padding:19px 0;min-height:48px;font-size:13px}
summary span{position:relative;display:block;width:12px;height:12px;flex:none;font-size:0;line-height:1}
summary span::before,summary span::after{content:"";position:absolute;background:currentColor;left:0;top:5px;width:12px;height:1px}
summary span::after{transform:rotate(90deg);transition:transform .2s ease}
details[open]>summary span{transform:none}details[open]>summary span::after{transform:rotate(0)}
.expanded-grid{grid-template-columns:1fr 1fr;gap:24px;padding:8px 0 24px}
.expanded-grid h4,.system-details h4{font-size:14px;font-weight:500;margin-bottom:8px;line-height:1.45}
.expanded-grid p,.system-details p{line-height:1.7}
.systems-section,.tool-section{padding:40px 0 88px;border-top:1px solid var(--ink)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:48px}
.section-heading>p{font-size:14px;max-width:350px;padding-bottom:3px;margin-top:0}
.systems-grid{grid-template-columns:1fr;gap:56px;margin-top:0}
.system-card{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:32px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;overflow:visible;background:none}
.system-art{display:flex;align-items:center;margin:0;min-height:340px;aspect-ratio:auto;overflow:hidden;border:1px solid var(--line);background:#eceee7}
.system-art svg{height:auto}.agent-art{background:var(--night);border-color:var(--night)}
.system-copy{min-width:0;display:flex;flex-direction:column;padding:12px 0}
.system-card-head .project-kicker{font-size:10px;max-width:none}
.system-card h3{font-size:42px;letter-spacing:-.05em;margin:22px 0 24px;line-height:1.1}
.system-copy>p{color:var(--muted);font-size:16px;line-height:1.7;max-width:540px}
.system-card .system-tags{padding:0;margin:26px 0;color:var(--muted);font-size:10px;letter-spacing:0;gap:9px 0}
.system-tags span{padding:0 12px 0 0;margin-right:12px;border-right:1px solid var(--line);border-radius:0;background:none}
.system-tags span:last-child{padding-right:0;margin-right:0;border:0}
.system-card details{margin-top:auto}.system-card summary{padding:18px 0}
.system-details{padding:0 0 18px}.system-details p+h4{margin-top:22px}
.system-card::before{inset:0;width:auto;height:auto;transform:none;background:radial-gradient(260px circle at var(--spot-x,0px) var(--spot-y,0px),rgba(37,70,237,.045),transparent)}
.tool-grid{display:grid;grid-template-columns:1fr;margin-top:0}
.tool{display:grid;grid-template-columns:170px 280px minmax(0,1fr);gap:0 40px;padding:30px 0}
.tool>.project-kicker{grid-column:1;grid-row:1/3;font-size:10px;padding-top:4px}
.tool>h3{grid-column:2;grid-row:1/3;font-size:25px;letter-spacing:-.035em;line-height:1.2;max-width:270px;margin:0}
.tool>p{grid-column:3;font-size:15px}
.tool>details{grid-column:3;margin-top:12px}.tool summary{padding:8px 0;min-height:44px}.tool details>p{padding:8px 0 10px}
.experience,.about{padding:44px 0 88px}
.experience-list{margin-top:40px}
.experience-date{font-size:13px}.experience-date span{margin-top:7px}
.experience-entry h3{font-size:25px;letter-spacing:-.035em}
.experience-company{margin-top:9px}.experience-company span{font-size:11px;margin-left:14px}
.experience-entry p:last-child:not(.experience-company){font-size:15px;line-height:1.7;margin-top:16px;max-width:66ch}
.about-body{gap:72px;margin-top:40px}
.about-copy p{font-size:18px;line-height:1.65;color:var(--ink);max-width:580px}
.about-copy p+p{font-size:16px;color:var(--muted);margin-top:24px}
.about-links{gap:32px;font-size:13px;margin-top:30px}
.education{padding-left:40px}.education .eyebrow{color:var(--muted)}.education>div{margin-top:30px;padding-right:54px}.education h3{font-size:22px;letter-spacing:-.035em}.education p{margin-top:8px}
.contact{background:var(--night);color:var(--paper);padding:48px 48px 56px;margin-bottom:48px;border:0}
.contact .eyebrow{color:#a8bab9}
.contact-main{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end;margin-top:32px}
.contact h2{font-size:clamp(46px,5.4vw,76px);line-height:1.04;letter-spacing:-.055em}
.contact-main>div{padding-bottom:6px}.contact-main p{font-size:15px;color:#b4c2c1;line-height:1.7}
.contact-button{display:inline-block;font-size:13px;border-bottom:1px solid #a9baff;color:#c6d2ff;margin-top:28px;padding:0 0 4px;background:none;border-radius:0}
.email-link{font:500 clamp(17px,1.8vw,24px)/1.4 var(--display);letter-spacing:-.025em;margin-top:20px}.email-link::after{background:#a9baff}
.footer{padding:0 0 32px;font-size:11px;border:0}.footer .brand{font-size:13px}.footer p{display:block;font-size:11px}
@media(max-width:1100px){
 .section-wrap,.header,.footer{width:calc(100% - 72px)}
 .hero-intro,.feature,.system-card,.about-body{gap:40px}
 .work-heading{align-items:flex-start;flex-direction:column;gap:24px}
 .feature h3{font-size:40px}.feature-visual{padding:22px}
 .ai-actions{flex-wrap:wrap}.ai-actions button{flex-basis:40%}
 .tool{grid-template-columns:140px 230px minmax(0,1fr);gap:0 28px}
 .system-card h3{font-size:36px}.system-art{min-height:330px}
 .contact{padding:40px}.contact-main{gap:36px}.contact h2{font-size:56px}
}
@media(max-width:760px){
 .section-wrap,.header,.footer{width:calc(100% - 40px)}
 .header{height:78px}.brand{font-size:14px;gap:10px}.header nav{font-size:12px;gap:20px}
 .header nav a[href='#about'],.nav-contact{display:none}
 .hero{padding-top:22px;padding-bottom:40px}.hero-meta{font-size:9px;gap:20px;flex-direction:row}.hero-meta span:first-child{max-width:60%}.hero-meta span:last-child{text-align:right;font-size:9px}
 .hero h1{font-size:clamp(58px,15.5vw,116px);margin:42px 0 36px;letter-spacing:-.065em}
 .tech-text{--tech-pad:16px;inset:-32px calc(-1 * var(--tech-pad))}
 .hero-intro{grid-template-columns:1fr;gap:28px}.hero-intro h2{font-size:36px}.hero-intro p{font-size:16px}
 .hero-actions{margin-top:22px}.practice-strip{margin-top:34px;grid-template-columns:1fr;gap:8px;padding-top:16px;font-size:10px}.practice-strip span+span{padding:0;border:0}
 .work-heading{padding:28px 0 0;gap:18px}.work-heading h2,.section-heading h2,.section-intro h2{font-size:32px}
 .section-label{font-size:10px;margin-bottom:13px}.project-tabs{gap:28px;width:auto;justify-content:flex-start;max-width:100%}.project-tabs button{font-size:12px;padding:13px 0}
 .feature{grid-template-columns:1fr;gap:30px;padding:32px 0 52px}.feature-copy{padding:0}.feature h3{font-size:36px;margin:19px 0 23px}.feature-copy .feature-lead{font-size:18px}
 .feature-details{margin-top:25px}.expanded-grid{grid-template-columns:1fr;gap:22px}.expanded-grid p,.system-details p{font-size:15px}
 .feature-visual{padding:22px 20px}.visual-heading,.visual-heading span:last-child{font-size:9px;gap:12px;flex-wrap:wrap}.visual-readout{min-height:126px}
 .local-boundary{padding:26px 12px 18px}.ai-sources{gap:12px}.ai-actions{gap:9px}.ai-actions button{flex-basis:40%;font-size:13px}.ai-visual button{font-size:13px}.ai-core{padding:17px 10px}.boundary-label{font-size:9px;left:12px}
 .rf-node text,.rf-center text{font-size:28px}
 .systems-section,.tool-section{padding:28px 0 50px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section-heading>p{font-size:15px}
 .systems-grid{gap:38px}.system-card{grid-template-columns:1fr;gap:24px;padding:24px 0 0}.system-art{min-height:0;aspect-ratio:1.6;margin:0}.system-copy{padding:0}.system-card h3{font-size:36px;margin:18px 0 22px}.system-copy>p{font-size:16px}.system-card .system-tags{margin:24px 0;font-size:10px;line-height:1.8}.system-card-head .project-kicker{font-size:10px;max-width:none}
 .tool{grid-template-columns:1fr;gap:13px;padding:26px 0}.tool>.project-kicker,.tool>h3,.tool>p,.tool>details{grid-column:auto;grid-row:auto}.tool>.project-kicker{padding:0}.tool>h3{font-size:27px;max-width:100%}.tool>p,.tool details>p{font-size:16px}.tool>details{margin:0}
 .experience,.about{padding:28px 0 50px}.experience-list{margin-top:28px;--spine-x:5px}.experience-entry{grid-template-columns:1fr;gap:14px;padding:28px 0 28px 28px}.experience-date{font-size:12px}.experience-date span{display:block;font-size:11px;margin:5px 0 0}.experience-entry h3{font-size:22px;line-height:1.18}.experience-entry p:last-child:not(.experience-company){font-size:16px;margin-top:15px}
 .about-body{grid-template-columns:1fr;gap:36px;margin-top:28px}.about-copy p{font-size:18px}.about-copy p+p{font-size:16px}.education{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.education h3{font-size:21px}
 .contact{padding:30px 24px 36px;margin-bottom:30px}.contact-main{grid-template-columns:1fr;gap:32px;margin-top:26px}.contact h2{font-size:clamp(38px,9.5vw,58px)}.contact .eyebrow{font-size:9px}.contact-main p{font-size:15px}.contact-button{margin-top:22px}.email-link{font-size:20px}
 .footer{flex-wrap:wrap;gap:18px;padding-bottom:26px}.footer p{display:none}.footer .brand-mark{display:none}.footer .brand{font-size:12px}.desktop-break{display:none}
}
@media(max-width:360px){
 .hero-meta{flex-direction:column;gap:4px}.hero-meta span:first-child{max-width:100%}.hero-meta span:last-child{text-align:left}
 .hero h1{font-size:15.3vw;margin-top:36px}.hero-intro h2{font-size:31px}
 .work-heading h2,.section-heading h2,.section-intro h2{font-size:29px}.feature h3{font-size:34px}.system-card h3{font-size:32px}
 .feature-visual{padding:20px 16px}.ai-sources{gap:8px}.ai-visual button{font-size:12px;padding-inline:6px}.email-link{font-size:18px}
}

/* Selected work: a readable project brief, not a conceptual interface. */
.feature{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;padding:52px 0 80px}
.feature-copy{padding:0;min-width:0}
.feature h3{max-width:none;margin:24px 0 28px}
.feature-copy>p:not(.project-kicker){max-width:46ch}
.feature-scope{min-width:0}
.scope-label{font:10px/1.6 var(--mono);letter-spacing:.06em;color:var(--muted);padding:0 0 22px}
.feature-scope .expanded-grid{display:block;padding:0}
.feature-scope .expanded-grid>div{padding:20px 0;border-top:1px solid var(--line)}
.feature-scope .expanded-grid>div:first-child{padding-top:20px}
.feature-scope .expanded-grid>div:last-child{padding-bottom:0}
.feature-scope h4{font:500 19px/1.3 var(--display);letter-spacing:-.025em;margin-bottom:8px}
.feature-scope p:not(.scope-label){font-size:14px;line-height:1.65;max-width:58ch}
@media(max-width:1100px){.feature{gap:48px}}
@media(max-width:760px){
 .feature{grid-template-columns:1fr;gap:34px;padding:32px 0 52px}
 .feature h3{max-width:15ch;margin:19px 0 23px}
 .scope-label{padding-bottom:16px;font-size:9px}
 .feature-scope .expanded-grid>div{padding:18px 0}
 .feature-scope h4{font-size:20px}
 .feature-scope p:not(.scope-label){font-size:15px}
}
