:root{--white:#fff;--grey-50:#fbfbfd;--grey-100:#f5f5f7;--grey-200:#e8e8ed;--grey-300:#d2d2d7;--grey-500:#86868b;--grey-600:#6e6e73;--grey-700:#424245;--grey-800:#1d1d1f;--black:#000;--blue:#0071e3;--blue-hover:#0077ed;--blue-link:#06c;--bg:var(--white);--bg-alt:var(--grey-100);--bg-elevated:var(--white);--bg-inset:var(--grey-50);--ink:var(--grey-800);--ink-muted:var(--grey-600);--ink-subtle:var(--grey-500);--line:#0000001a;--line-strong:#0000002e;--accent:var(--blue);--accent-hover:var(--blue-hover);--accent-link:var(--blue-link);--accent-ink:#fff;--button-bg:var(--grey-800);--button-bg-hover:var(--black);--button-ink:var(--white);--linkedin:#0a66c2;--linkedin-hover:#004182;--nav-bg:#ffffffb8;--mobile-menu-bg:#fbfbfdfa;--nav-ink:#1d1d1fe0;--card-shadow:0 4px 24px #0000000f;--card-shadow-hover:0 18px 48px #0000001f;--chip-bg:#0000000d;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Inter, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--rail:980px;--rail-wide:1200px;--gutter:22px;--section-y:clamp(72px, 9vw, 130px);--radius-sm:12px;--radius:18px;--radius-lg:28px;--radius-xl:36px;--ease:cubic-bezier(.28, .11, .32, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);font-family:var(--font-sans);font-synthesis:none;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--bg:var(--black);--bg-alt:#101012;--bg-elevated:#1d1d1f;--bg-inset:#161617;--ink:#f5f5f7;--ink-muted:#a1a1a6;--ink-subtle:#86868b;--line:#ffffff21;--line-strong:#ffffff3d;--accent:#0a84ff;--accent-hover:#409cff;--accent-link:#2997ff;--accent-ink:#fff;--button-bg:#f5f5f7;--button-bg-hover:#fff;--button-ink:#1d1d1f;--linkedin:#0a66c2;--linkedin-hover:#378fe9;--nav-bg:#161617b8;--mobile-menu-bg:#101012fa;--nav-ink:#f5f5f7e0;--card-shadow:0 4px 24px #00000080;--card-shadow-hover:0 18px 48px #000000a6;--chip-bg:#ffffff14}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{min-width:320px;color:var(--ink);background:var(--bg);letter-spacing:-.022em;margin:0;font-size:17px;font-weight:400;line-height:1.47059}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.05}h1{letter-spacing:-.03em;font-size:clamp(2.6rem,6.2vw,4.2rem);font-weight:600;line-height:1.0417}h2{letter-spacing:-.028em;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.0834}h3{letter-spacing:-.02em;font-size:1.4rem;line-height:1.2}p{margin:0 0 1em}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}::selection{background:color-mix(in srgb, var(--accent) 26%, transparent)}:focus-visible{outline:2px solid var(--accent-link);outline-offset:4px;border-radius:4px}.container{width:min(var(--rail-wide), calc(100% - 2 * var(--gutter)));margin:0 auto}.skip-link{z-index:200;color:var(--accent-ink);background:var(--accent);transition:transform .2s var(--ease);border-radius:980px;padding:12px 20px;font-size:.94rem;font-weight:500;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}header[data-site-header]{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);transition:border-color .25s var(--ease), background .25s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}header[data-site-header][data-scrolled=true]{border-bottom-color:var(--line)}header[data-site-header] nav{letter-spacing:-.01em;justify-content:space-between;align-items:center;gap:16px;min-height:48px;font-size:.75rem;display:flex}.logo{z-index:2;color:var(--nav-ink);letter-spacing:-.02em;transition:opacity .2s var(--ease);font-size:.95rem;font-weight:600;position:relative}.logo:hover{opacity:.72}.nav-links{color:var(--nav-ink);align-items:center;gap:28px;display:flex}.nav-links>a{opacity:.88;transition:opacity .2s var(--ease);font-size:.75rem;font-weight:400}.nav-links>a:hover{opacity:1}.nav-cv{align-items:center;gap:2px;display:inline-flex}.language-switch{background:var(--chip-bg);border-radius:980px;align-items:center;gap:2px;padding:2px;font-size:.68rem;font-weight:500;display:inline-flex}.language-switch a{color:var(--ink-muted);transition:color .2s var(--ease), background .2s var(--ease);border-radius:980px;padding:4px 10px}.language-switch a:hover{color:var(--ink)}.language-switch a.active{color:var(--ink);background:var(--bg-elevated);box-shadow:0 1px 3px #0000001a}@media (prefers-color-scheme:dark){.language-switch a.active{box-shadow:none;background:#ffffff29}}.menu-toggle{z-index:2;cursor:pointer;background:0 0;border:0;border-radius:8px;width:34px;height:34px;padding:0;display:none;position:relative}.menu-toggle span{background:var(--nav-ink);width:16px;height:1px;transition:transform .3s var(--ease), opacity .2s var(--ease);position:absolute;left:9px}.menu-toggle span:first-child{top:13px}.menu-toggle span:nth-child(2){opacity:0;top:17px}.menu-toggle span:nth-child(3){top:21px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-4px)rotate(-45deg)}@media (width<=833px){.menu-toggle{display:block}.nav-links{max-height:0;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--mobile-menu-bg);-webkit-backdrop-filter:saturate(180%)blur(32px);transition:max-height .4s var(--ease), padding .4s var(--ease);flex-direction:column;align-items:stretch;gap:0;position:fixed;inset:48px 0 auto;overflow:hidden;box-shadow:0 24px 48px #0000002e}.nav-links[data-open=true]{max-height:calc(100dvh - 48px);padding:8px var(--gutter) 28px}.nav-links>a{border-bottom:1px solid var(--line);letter-spacing:-.02em;padding:15px 4px;font-size:1.4rem;font-weight:500}.language-switch{align-self:flex-start;margin-top:20px;font-size:.8rem}}.eyebrow,.section-kicker{color:var(--accent-link);letter-spacing:-.01em;margin:0 0 12px;font-size:1.05rem;font-weight:600}.button{letter-spacing:-.01em;cursor:pointer;min-height:44px;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;padding:11px 22px;font-size:1.0625rem;font-weight:400;line-height:1.2;display:inline-flex}.button:active{transform:scale(.97)}.button-primary,.button-secondary{color:var(--button-ink);border-color:var(--button-bg);background:var(--button-bg)}.button-primary:hover,.button-secondary:hover{color:var(--button-ink);border-color:var(--button-bg-hover);background:var(--button-bg-hover)}.button-linkedin{color:#fff;border-color:var(--linkedin);background:var(--linkedin)}.button-linkedin:hover{color:#fff;border-color:var(--linkedin-hover);background:var(--linkedin-hover)}.buttons,.contact-actions{flex-wrap:wrap;gap:14px;display:flex}.section-heading{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end;gap:24px 56px;margin-bottom:48px;display:grid}.section-heading>p{color:var(--ink-muted);margin:0;font-size:1.05rem;line-height:1.5}main>section{padding:var(--section-y) 0;position:relative}main>section+section{border-top:1px solid var(--line)}main>section.band{background:var(--bg-alt)}main>section.band,main>section.band+section{border-top:0}.band .experience-card,.band .skill-group,.band .principles-card,.band .project-card{background:var(--bg-elevated);box-shadow:var(--card-shadow)}.band .experience-card:hover{background:var(--bg-elevated);box-shadow:var(--card-shadow-hover)}.band .skill{background:var(--bg-alt);box-shadow:none}@media (prefers-color-scheme:dark){.band .experience-card,.band .skill-group,.band .principles-card,.band .project-card{border:1px solid var(--line);box-shadow:none}.band .skill{background:#ffffff14}}.hero{text-align:center;justify-content:center;align-items:center;min-height:calc(100svh - 48px);padding:clamp(72px,9vw,112px) 0 clamp(124px,13vw,154px);display:flex}.hero-content{max-width:860px;margin:0 auto}.hero h1{letter-spacing:-.035em;text-wrap:balance;margin-bottom:22px;font-size:clamp(2.7rem,6.6vw,4.5rem);font-weight:600;line-height:1.05}.hero .highlight{background:linear-gradient(92deg, var(--accent-link) 0%, color-mix(in srgb, var(--accent-link) 55%, #bf5af2) 100%);color:#0000;background-clip:text;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block}.availability{background:var(--chip-bg);color:var(--ink-muted);letter-spacing:-.005em;border-radius:980px;align-items:center;gap:8px;margin-bottom:20px;padding:7px 16px;font-size:.85rem;display:inline-flex}.availability:before{content:"";background:#30d158;border-radius:50%;width:7px;height:7px}.hero .intro{max-width:660px;color:var(--ink-muted);text-wrap:pretty;margin:0 auto 34px;font-size:1.2rem;line-height:1.5}.hero .buttons{justify-content:center}.scroll-cue{color:var(--ink-muted);letter-spacing:.01em;transition:color .18s var(--ease), opacity .9s var(--ease-out), transform .9s var(--ease-out);white-space:nowrap;flex-direction:column;align-items:center;gap:9px;font-size:.8rem;font-weight:500;display:inline-flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-cue:hover{color:var(--ink)}.scroll-cue-arrow{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--ink);animation:scroll-nudge 2.2s var(--ease-out) infinite;border-radius:50%;place-items:center;font-size:1.05rem;line-height:1;display:grid}@keyframes scroll-nudge{0%,65%,to{transform:translateY(0)}78%{transform:translateY(4px)}88%{transform:translateY(-1px)}}.hero-with-image{text-align:left;flex-direction:column;gap:34px}.hero-with-image .hero-content{margin:0}.hero-with-image .intro,.hero-with-image .buttons{justify-content:flex-start;margin-inline:0}@media (width>=900px){.hero-with-image{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:48px;display:grid}}.hero-visual{border-radius:var(--radius-lg);min-width:0;transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);display:block}.hero-visual:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-6px)}.hero-figure{border-radius:var(--radius-lg);background:var(--bg-alt);margin:0;position:relative;overflow:hidden}.hero-figure img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}.hero-figure:after{pointer-events:none;content:"";background:linear-gradient(#0000,#000000e6);position:absolute;inset:34% 0 0}.hero-figure-caption{z-index:1;color:#fff;text-shadow:0 1px 12px #0000008c;gap:5px;padding:28px;display:grid;position:absolute;bottom:0;left:0;right:0}.hero-figure-caption strong{letter-spacing:-.025em;font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.08}.hero-figure-caption>span:last-child{color:#ffffffbd;font-size:.82rem;line-height:1.35}.hero-figure-label{color:#79b8ff;letter-spacing:.01em;text-transform:uppercase;font-size:.78rem;font-weight:600}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:22px;display:grid}.project-card{border-radius:var(--radius-lg);background:var(--bg-alt);height:100%;box-shadow:var(--card-shadow);transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-6px)}.project-media{aspect-ratio:16/9;background:var(--bg-inset);margin:0;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.project-card:hover .project-media img{transform:scale(1.04)}.project-media-contain img{object-fit:contain}.project-content{flex-direction:column;flex:1;padding:32px 34px 34px;display:flex}.project-top{color:var(--ink-subtle);letter-spacing:-.005em;align-items:baseline;gap:12px;margin-bottom:14px;font-size:.8rem;display:flex}.project-number{font-family:var(--font-mono);color:var(--accent-link);font-size:.72rem}.project-category{color:var(--ink-subtle)}.project-meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:.78rem;display:flex}.project-meta>span{background:var(--chip-bg);color:var(--ink-muted);border-radius:980px;padding:5px 11px}.project-metric{font-weight:500;color:var(--ink)!important}.project-card h3{letter-spacing:-.025em;margin-bottom:12px;font-size:1.7rem}.project-content>p{color:var(--ink-muted);margin-bottom:20px;font-size:1rem;line-height:1.5}.highlight-list{color:var(--ink-muted);gap:10px;margin:0 0 24px;padding:0;font-size:.94rem;line-height:1.45;list-style:none;display:grid}.highlight-list li{padding-left:22px;position:relative}.highlight-list li:before{background:var(--accent-link);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:4px}.project-link{color:var(--accent-link);margin-top:auto;font-size:1rem}.project-card:hover .project-link{text-underline-offset:3px;text-decoration:underline}.experience-list{gap:18px;display:grid}.experience-card{border-radius:var(--radius-lg);background:var(--bg-alt);transition:background .3s var(--ease);grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:28px 56px;padding:40px 40px 42px;display:grid}.experience-card:hover{background:color-mix(in srgb, var(--bg-alt) 80%, var(--ink) 6%)}.experience-card-compact{padding:30px 40px 32px}.experience-period{color:var(--accent-link);margin-bottom:10px;font-size:.85rem;font-weight:500}.experience-summary h3{letter-spacing:-.024em;text-wrap:balance;margin-bottom:8px;font-size:1.5rem}.experience-summary>p:last-child{color:var(--ink-subtle);margin:0;font-size:.92rem}.experience-company{margin-bottom:12px;font-size:1.05rem;font-weight:500}.experience-details>p{color:var(--ink-muted);line-height:1.5}.experience-highlights{color:var(--ink-muted);gap:10px;margin:0 0 20px;padding:0;font-size:.96rem;line-height:1.45;list-style:none;display:grid}.experience-highlights li{padding-left:22px;position:relative}.experience-highlights li:before{background:var(--accent-link);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:4px}.tool-list{flex-wrap:wrap;gap:8px;display:flex}.tool-list span{border:1px solid var(--line);color:var(--ink-muted);border-radius:980px;padding:6px 13px;font-size:.8rem}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,.78fr);align-items:start;gap:56px;display:grid}.portrait{float:none;border-radius:var(--radius-lg);background:var(--bg-alt);max-width:320px;margin:0 0 28px;overflow:hidden}.portrait img{width:100%;height:auto}@media (width>=700px){.portrait{float:left;width:260px;margin:4px 28px 16px 0}}.about-grid>div:after{clear:both;content:"";display:block}.about-text{color:var(--ink-muted);font-size:1.08rem;line-height:1.55}.principles-card{border-radius:var(--radius-lg);background:var(--bg-alt);padding:36px 34px;position:sticky;top:84px}.principles-title{letter-spacing:-.01em;margin-bottom:24px;font-size:1.05rem;font-weight:600}.principles-list{gap:26px;display:grid}.principles-list h3{margin-bottom:7px;font-size:1.08rem;font-weight:600}.principles-list p{color:var(--ink-muted);margin:0;font-size:.96rem;line-height:1.5}.skill-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;display:grid}.skill-group{border-radius:var(--radius-lg);background:var(--bg-alt);flex-direction:column;padding:32px 30px 30px;display:flex}.skill-group h3{margin-bottom:18px;font-size:1.2rem;font-weight:600}.skills{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.skill{background:var(--bg-elevated);color:var(--ink-muted);border-radius:980px;padding:7px 14px;font-size:.84rem;box-shadow:0 1px 2px #0000000d}@media (prefers-color-scheme:dark){.skill{box-shadow:none;background:#ffffff14}}.skill-evidence{color:var(--accent-link);margin-top:auto;font-size:.94rem}.skill-evidence:hover{text-underline-offset:3px;text-decoration:underline}.contact{text-align:center}.contact h2{text-wrap:balance;margin-bottom:18px}.contact>p{max-width:700px;color:var(--ink-muted);margin:0 auto 32px;font-size:1.12rem;line-height:1.5}.contact-actions{justify-content:center}.case-study{width:min(var(--rail), calc(100% - 2 * var(--gutter)));padding:48px 0 var(--section-y)}.back-link{color:var(--accent-link);align-items:center;gap:6px;margin-bottom:40px;font-size:.98rem;display:inline-flex}.back-link:hover{text-underline-offset:3px;text-decoration:underline}.case-study-hero{max-width:760px;margin-bottom:44px}.case-study-hero h1{text-wrap:balance;margin-bottom:22px}.case-study-lead{color:var(--ink-muted);text-wrap:pretty;font-size:1.25rem;line-height:1.5}.status-pill{background:var(--chip-bg);color:var(--ink-muted);border-radius:980px;margin:0;padding:7px 15px;font-size:.84rem;display:inline-block}.case-study-cover{border-radius:var(--radius-lg);background:var(--bg-alt);margin:0 0 40px;overflow:hidden}.case-study-cover img,.case-study-cover video{width:100%;height:auto}.case-study-cover-contain img{object-fit:contain;padding:24px}.case-study-cover figcaption,.case-study-media figcaption{color:var(--ink-subtle);padding:14px 20px 18px;font-size:.88rem;line-height:1.45}.fact-grid{margin:0 0 var(--section-y);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1px;display:grid;overflow:hidden}.fact-grid>div{background:var(--bg-alt);padding:26px 24px}.fact-grid dt{color:var(--ink-subtle);letter-spacing:.01em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem;font-weight:400}.fact-grid dd{letter-spacing:-.015em;margin:0;font-size:1.08rem;font-weight:500}.case-study-body{gap:var(--section-y);display:grid}.case-study-section h2{text-wrap:balance;margin-bottom:26px;font-size:clamp(1.7rem,3.4vw,2.4rem)}.case-study-section p{color:var(--ink-muted);font-size:1.08rem;line-height:1.6}.case-study-list{color:var(--ink-muted);gap:12px;margin:0 0 24px;padding:0;font-size:1.02rem;line-height:1.55;list-style:none;display:grid}.case-study-list li{padding-left:24px;position:relative}.case-study-list li:before{background:var(--accent-link);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.66em;left:5px}.case-study-table-wrap{border-radius:var(--radius);border:1px solid var(--line);margin:0 0 28px;overflow-x:auto}.case-study-table{border-collapse:collapse;width:100%;font-size:.96rem}.case-study-table th{border-bottom:1px solid var(--line);background:var(--bg-alt);color:var(--ink);text-align:left;white-space:nowrap;padding:15px 18px;font-weight:500}.case-study-table td{border-bottom:1px solid var(--line);color:var(--ink-muted);vertical-align:top;padding:15px 18px}.case-study-table tr:last-child td{border-bottom:0}.case-study-media{border-radius:var(--radius);background:var(--bg-alt);margin:0 0 28px;overflow:hidden}.case-study-media img,.case-study-media video{width:100%;height:auto}.case-study-media-cad img{object-fit:contain;padding:20px}.limitations{margin-top:var(--section-y);border-radius:var(--radius-lg);background:var(--bg-alt);padding:36px 36px 30px}.limitations h2{margin-bottom:16px;font-size:1.5rem}.limitations p{color:var(--ink-muted)}.limitations ul{color:var(--ink-muted);gap:12px;margin:0;padding:0;font-size:.98rem;line-height:1.5;list-style:none;display:grid}.limitations li{padding-left:24px;position:relative}.limitations li:before{background:var(--ink-subtle);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:5px}.next-project{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;margin-top:56px;padding-top:32px;display:flex}.next-project p{color:var(--ink-subtle);margin:0;font-size:.92rem}.next-project a{color:var(--accent-link);letter-spacing:-.02em;font-size:1.4rem;font-weight:500}.next-project a:hover{text-underline-offset:4px;text-decoration:underline}.legal{width:min(720px, calc(100% - 2 * var(--gutter)));padding:64px 0 var(--section-y)}.legal h1{margin-bottom:20px;font-size:clamp(2.2rem,5vw,3rem)}.legal-intro{color:var(--ink-muted);font-size:1.12rem;line-height:1.5}.legal-updated{color:var(--ink-subtle);margin-bottom:48px;font-size:.88rem}.legal-section{border-top:1px solid var(--line);margin-top:34px;padding-top:34px}.legal-section h2{letter-spacing:-.02em;margin-bottom:16px;font-size:1.4rem}.legal-section p,.legal-section li{color:var(--ink-muted);font-size:1rem;line-height:1.6}.legal-section a{color:var(--accent-link)}.legal-section a:hover{text-underline-offset:3px;text-decoration:underline}.legal-section address{color:var(--ink-muted);gap:3px;margin-bottom:18px;font-style:normal;display:grid}.legal-section ul{margin:0 0 18px;padding-left:20px}.legal-section li{margin-bottom:8px}.not-found{text-align:center;place-items:center;min-height:68vh;padding:80px 0;display:grid}.not-found-content{max-width:620px}.not-found-code{color:var(--ink-subtle);font-family:var(--font-mono);letter-spacing:.06em;margin-bottom:14px;font-size:.82rem}.not-found h1{text-wrap:balance;margin-bottom:18px;font-size:clamp(2rem,5vw,3rem)}.not-found p{color:var(--ink-muted);font-size:1.08rem}.not-found .buttons{justify-content:center;margin-top:28px}.site-footer{border-top:1px solid var(--line);background:var(--bg-alt);color:var(--ink-subtle);padding:34px 0 44px;font-size:.75rem;line-height:1.5}.footer-grid{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:32px 48px;padding-bottom:26px;display:grid}.footer-name{color:var(--ink);margin-bottom:6px;font-size:.88rem;font-weight:600}.footer-tagline{max-width:34ch;margin:0}.footer-col-title{color:var(--ink);margin-bottom:12px;font-size:.75rem;font-weight:600}.footer-col ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.footer-col a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.footer-built{color:var(--ink-subtle)}.footer-email .cf-safe{word-break:break-word}.footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:20px;display:flex}[data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(28px)}[data-reveal][data-revealed=true]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}@media (width<=980px){.section-heading{grid-template-columns:1fr;align-items:start;gap:16px}.about-grid{grid-template-columns:1fr;gap:36px}.principles-card{position:static}.experience-card{grid-template-columns:1fr;gap:18px;padding:32px 30px 34px}}@media (width<=640px){body{font-size:16px}.hero{min-height:auto;padding:44px 0 62px}.hero-with-image{gap:26px}.hero-content,.hero-visual{width:100%}.hero .eyebrow{margin-bottom:14px;font-size:.95rem;line-height:1.35}.hero h1{margin-bottom:18px;font-size:clamp(2.15rem,10.4vw,2.55rem);line-height:1.03}.availability{margin-bottom:16px;padding:7px 13px;font-size:.78rem;line-height:1.35}.hero .intro{margin-bottom:22px;font-size:1.05rem;line-height:1.45}.hero .buttons{flex-wrap:nowrap;gap:10px}.hero .buttons .button{flex:1 1 0;width:auto;min-height:42px;padding:10px 12px;font-size:.9rem}.hero-figure{border-radius:20px}.hero-figure img{aspect-ratio:16/9}.hero-figure-caption{gap:4px;padding:19px}.hero-figure-caption strong{font-size:1.16rem}.hero-figure-caption>span:last-child{font-size:.75rem}.scroll-cue{margin:0 auto;position:static;transform:none}.project-content{padding:26px 24px 28px}.skill-group,.principles-card,.limitations{padding:26px 24px}.footer-grid{grid-template-columns:1fr;gap:26px}.case-study-table thead{display:none}.case-study-table,.case-study-table tbody,.case-study-table tr,.case-study-table td{width:100%;display:block}.case-study-table tr{border-bottom:1px solid var(--line);padding:8px 0}.case-study-table td{border:0;padding:7px 18px}.case-study-table td:before{color:var(--ink-subtle);text-transform:uppercase;content:attr(data-label);margin-bottom:3px;font-size:.76rem;display:block}.buttons .button,.contact-actions .button{width:100%}}@media print{header[data-site-header],.site-footer,.skip-link{display:none}body{color:#000;background:#fff}}
