@layer theme{:root,:host{--font-sans:"Portfolio Sans", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.hidden{display:none}}@font-face{font-family:Portfolio Sans;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");font-style:normal;font-weight:300 700;font-display:swap}:root{--bg:#f5eee1;--ink:#2a2b2f;--muted:#665f58;--line:#d6c9b9;--surface:#ece2d4;--brand:#b05a36;--accent:#9b492a;--accent-ink:#fff;--accent-soft:#ebd8c9;--contact:#eadbca;--frame:#8c7562;--frame-shadow:#d8c6b2;--button-shadow:#2a2b2f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--wrap:1320px}:root[data-theme=dark]{--bg:#121619;--ink:#faf7f3;--muted:#bbb3a8;--line:#3d3833;--surface:#1b2024;--brand:#e1a17e;--accent:#e1a17e;--accent-ink:#211710;--accent-soft:#35261e;--contact:#251e19;--frame:#76604f;--frame-shadow:#36291f;--button-shadow:#000;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Portfolio Sans,Arial,sans-serif;transition:background-color .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{background:0 0}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}svg{flex-shrink:0}img{max-width:100%;display:block}.wrap{width:calc(100% - 112px);max-width:var(--wrap);margin-inline:auto}.skip{background:var(--bg);z-index:100;padding:14px;position:fixed;top:-70px;left:20px}.skip:focus{top:10px}.header{border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:42px;max-width:1500px;height:96px;margin:auto;padding:0 56px;display:flex;position:relative}.wordmark{letter-spacing:-2px;font-size:31px;font-weight:700}.mark-dot{color:var(--accent)}.navigation{align-items:center;gap:36px;margin-left:auto;font-size:14px;display:flex}.navigation>a{padding:14px 0;position:relative}.navigation>a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:7px;left:0}.navigation>a:hover:after{width:100%}.nav-contact{align-items:center;gap:12px;margin-left:25px;display:flex}.nav-tools{gap:12px;display:flex}.theme-toggle,.menu-toggle{border:1px solid var(--line);border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s,transform .2s;display:grid}.theme-toggle:hover{background:var(--accent-soft);transform:rotate(15deg)}.menu-toggle{display:none}.hero{flex-direction:column;min-height:calc(100svh - 96px);padding-top:35px;display:flex}.hero-kicker{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.hero-edition{margin-left:auto;font-size:12px}.hero-heading{flex:1;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px;padding-block:30px 35px;display:grid}.hero h1{letter-spacing:-.085em;font-size:clamp(105px,13.1vw,195px);font-weight:500;line-height:.85}.hero-line{padding:0 10px 12px 0;display:block;overflow:visible}.hero-line>span{display:block}.surname{margin-left:11.5%}.name-period{color:var(--accent)}.hero-aside{max-width:420px;padding-left:20px}.system-diagram{width:310px;height:230px;color:var(--accent);margin:-10px 0 18px 10px;position:relative}.system-diagram svg{stroke-width:.7px;width:100%;height:100%;overflow:visible}.diagram-orbit{opacity:.2}.diagram-inner{opacity:.4}.diagram-label{letter-spacing:.04em;background:var(--bg);padding:4px 6px;font-size:10px;position:absolute}.label-a{top:78px;left:0}.label-b{top:80px;right:-7px}.label-c{bottom:-2px;left:140px}.hero-intro{letter-spacing:-.035em;font-size:clamp(18px,1.7vw,25px);line-height:1.5}.hero-actions{align-items:center;gap:24px;margin-top:30px;display:flex}.button{justify-content:center;align-items:center;gap:25px;min-height:49px;padding:14px 20px;font-size:13px;transition:background .2s,transform .2s;display:inline-flex}.primary{background:var(--brand);color:var(--accent-ink);border:1px solid var(--accent)}[data-theme=dark] .primary{color:var(--accent-ink)}.button:hover{filter:brightness(1.08);transform:translateY(-3px)}.text-link{align-items:center;gap:10px;min-height:44px;font-size:13px;display:inline-flex}.text-link:hover{color:var(--accent)}.hero-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:24px 0 26px;font-size:12px;display:flex}.scroll-link{align-items:center;gap:20px;min-height:44px;display:flex}.scroll-link:hover{color:var(--accent)}.socials{gap:6px;display:flex}.socials a{border-radius:50%;place-items:center;width:44px;height:44px;transition:color .2s,background .2s;display:grid}.socials a:hover{color:var(--accent);background:var(--surface)}.work{padding-block:120px 130px}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px;display:flex}.eyebrow{color:var(--muted);margin-bottom:21px;font-size:12px;line-height:1.5}.section-heading h2,h2{letter-spacing:-.055em;font-size:clamp(35px,4.5vw,64px);font-weight:500;line-height:1.1}.section-heading>p{color:var(--muted);padding-bottom:3px;font-size:14px;line-height:1.7}.small-count{vertical-align:top;letter-spacing:0;margin-left:14px;font-size:14px;position:relative;top:7px}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:64px 32px;display:grid}.project{grid-column:span 6;min-width:0}.project-0{grid-column:span 7}.project-1,.project-2{grid-column:span 5}.project-3{grid-column:span 7}.project-image{aspect-ratio:1.6;background:var(--surface);border:1px solid var(--line);display:block;position:relative;overflow:hidden}.project-image>div{height:100%;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.project-image:hover>div{transform:scale(1.035)}.project-open{background:var(--bg);width:44px;height:44px;color:var(--ink);opacity:0;border-radius:50%;place-items:center;transition:opacity .2s,transform .2s;display:grid;position:absolute;top:18px;right:18px;transform:translateY(8px)}.project-image:hover .project-open,.project-image:focus-visible .project-open{opacity:1;transform:none}.project-meta{color:var(--muted);justify-content:space-between;gap:12px;margin:19px 0 13px;font-size:10px;display:flex}.project-title{justify-content:space-between;align-items:start;gap:15px;min-height:44px;display:flex}.project-title h3{letter-spacing:-.04em;font-size:clamp(22px,2.2vw,30px);font-weight:500;line-height:1.22}.project-title>svg{margin-top:3px;transition:transform .2s}.project-title:hover{color:var(--accent)}.project-title:hover>svg{transform:translate(3px,-3px)}.project-description{color:var(--muted);max-width:54ch;margin-top:10px;font-size:13px;line-height:1.75}.stack{flex-wrap:wrap;gap:6px;margin-top:17px;display:flex}.stack span{border:1px solid var(--line);border-radius:3px;padding:5px 9px;font-size:10px;line-height:1.4}.brand-visual{color:#b5cbf9;background:#111a27;flex-direction:column;justify-content:space-between;padding:25px 30px;display:flex}.visual-corner{opacity:.75;font-size:10px}.brand-type{letter-spacing:-.06em;font-size:clamp(30px,5vw,75px);font-weight:600;line-height:1}.brand-type>span{letter-spacing:.24em;font-size:.45em;font-weight:400}.brand-baseline{border-top:1px solid #455165;justify-content:space-between;padding-top:14px;font-size:11px;display:flex}.concept{color:#294364;background:#e8eff9;flex-direction:column;padding:22px;display:flex}.mock-top,.mock-bottom{flex-shrink:0;align-items:center;gap:8px;font-size:9px;display:flex}.mock-top{border-color:#bdcadb;border-bottom-style:solid;border-bottom-width:1px;padding-bottom:15px}.mock-right{opacity:.7;margin-left:auto;font-size:8px}.mock-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.mock-bottom{opacity:.8;border-top:1px solid #bdcadb;justify-content:space-between;padding-top:12px}.workflow{flex:1;min-height:120px;position:relative}.workflow>svg{stroke:#90a5c3;stroke-width:1px;fill:none;width:100%;height:100%;position:absolute;inset:0}.node{background:#f9fbff;border:1px solid #afc2dc;border-radius:5px;min-width:73px;padding:11px 9px;font-size:9px;position:absolute;box-shadow:0 6px 12px #2b47720a}.node>span{opacity:.6;margin-top:5px;font-size:7px;display:block}.node-input{top:40%;left:1%}.node-research{top:12%;left:40%}.node-tool{top:65%;left:40%}.node-output{top:40%;right:0}.sensors{color:#386b55;background:#e5eee8}.sensor-map{flex:1;width:100%;min-height:0}.sensors .mock-top,.sensors .mock-bottom{border-color:#b3ccbd}.learning{color:#55503f;background:#f0ece2}.learn-content{flex:1;align-items:center;gap:20px;padding:18px 0;display:flex}.learn-sidebar{border-inline-end:1px solid #d5cdbc;flex-direction:column;justify-content:center;align-self:stretch;width:28%;padding-inline-end:14px;font-size:9px;display:flex}.learn-sidebar b{margin:10px 0 18px;font-size:15px;font-weight:500;line-height:1.5;display:block}.learn-main{flex:1;min-width:0}.tiny-label{opacity:.7;font-size:8px}.learn-main h3{margin:8px 0 15px;font-size:19px;font-weight:500}.lesson-line{background:#d5cdbc;width:70%;height:4px;margin:5px 0}.lesson-line.active{background:#a99465;width:90%}.lesson-block{background:#f9f7f1;border:1px solid #d7cfbd;justify-content:space-between;gap:8px;margin:5px 0;padding:10px 12px;font-size:9px;display:flex}.lesson-progress{background:linear-gradient(90deg,#9e8e67 40%,#ded7c5 40%);height:3px;margin-top:15px}.learning .mock-top,.learning .mock-bottom{border-color:#d5cdbc}.academy{color:#755044;background:#eee3df}.academy .lesson-block{background:#faf5f2}.security{color:#304861;background:#dde5ed}.security-content{flex:1;align-items:center;gap:25px;padding:20px 0;display:flex}.crawl-tree{flex-direction:column;align-items:center;gap:4px;width:30%;display:flex}.crawl-tree>span{background:#ecf0f5;border:1px solid #a7b7c8;width:100%;padding:7px 10px;font-size:9px}.crawl-tree>i{background:#8a9eb4;width:1px;height:17px}.request-panel{flex:1}.request-row{border-bottom:1px solid #bccbd9;align-items:center;gap:8px;padding:11px 0;font-size:9px;display:flex}.stage-dot{background:#587fa5;border-radius:50%;width:4px;height:4px}.stage-id{opacity:.6;margin-left:auto;font-size:8px}.about{padding:0 0 120px}.about-rule{background:var(--line);height:1px;margin-bottom:100px}.about-grid{grid-template-columns:1fr 1.25fr;align-items:center;gap:100px;display:grid}.about-photo{position:relative}.about-photo img{object-fit:cover;object-position:50% 42%;filter:saturate(.7);width:100%;height:510px}.photo-note{color:var(--muted);justify-content:space-between;padding-top:15px;font-size:10px;display:flex}.about-copy h2{margin-bottom:30px;font-size:clamp(36px,4vw,55px)}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:58ch;margin-top:18px;font-size:14px;line-height:1.85}.about-links{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.experience{padding-block:65px 120px}.timeline{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line)}.experience-item summary{cursor:pointer;grid-template-columns:1fr 1.8fr 40px;align-items:start;gap:30px;padding:31px 0;list-style:none;display:grid}.experience-item summary::-webkit-details-marker{display:none}.timeline-date{color:var(--muted);align-items:center;gap:17px;padding-top:6px;font-size:12px;display:flex}.timeline-date i{background:var(--line);border-radius:50%;width:6px;height:6px}.experience-item[open] .timeline-date i{background:var(--accent)}.timeline-role strong{letter-spacing:-.03em;font-size:25px;font-weight:500;display:block}.timeline-role>span{color:var(--muted);margin-top:10px;font-size:13px;display:block}.expand-icon{text-align:right;transform-origin:75%;font-size:24px;font-weight:300;transition:transform .25s}.experience-item[open] .expand-icon{color:var(--accent);transform:rotate(45deg)}.experience-item summary:hover .timeline-role strong{color:var(--accent)}.experience-detail{margin-left:calc(35.7143% - 35.7143px);padding:0 70px 30px 0;animation:.3s detail-enter}.experience-detail p{color:var(--muted);max-width:68ch;font-size:14px;line-height:1.8}@keyframes detail-enter{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.expertise{background:var(--surface);padding:100px 0}.expertise-row{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:35px;padding:26px 0;display:grid}.expertise-row:last-child{border-bottom:1px solid var(--line)}.expertise-row h3{letter-spacing:-.025em;font-size:19px;font-weight:500}.expertise-row p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 22px;font-size:13px;line-height:1.8;display:flex}.education{grid-template-columns:1fr 1.3fr;gap:90px;padding-block:120px;display:grid}.education-list article{border-bottom:1px solid var(--line);margin-bottom:29px;padding:0 0 29px}.education-list article>span{color:var(--muted);font-size:11px}.education-list h3{letter-spacing:-.025em;margin:12px 0 8px;font-size:21px;font-weight:500;line-height:1.4}.education-list article p{color:var(--muted);font-size:13px}.research-link{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:11px;line-height:2;display:flex}.research-link strong{color:var(--ink);font-size:15px;font-weight:400}.research-link:hover,.research-link:hover strong{color:var(--accent)}.contact{background:var(--contact);padding:85px 0 50px}.contact-top{color:var(--muted);align-items:center;gap:10px;margin-bottom:38px;font-size:12px;display:flex}.contact h2{letter-spacing:-.065em;font-size:clamp(50px,7.7vw,112px);font-weight:500;line-height:1.03}.contact h2>span{color:var(--accent)}.email-link{border-bottom:1px solid var(--ink);letter-spacing:-.03em;align-items:center;gap:30px;margin-top:36px;padding-bottom:10px;font-size:clamp(16px,2.6vw,36px);transition:color .2s;display:inline-flex}.email-link:hover{color:var(--accent)}.contact-bottom{justify-content:space-between;align-items:flex-end;gap:25px;margin-top:75px;display:flex}.contact-bottom p{color:var(--muted);font-size:12px;line-height:1.8}.contact-bottom>div{gap:30px;display:flex}.contact-bottom a{align-items:center;gap:10px;min-height:44px;font-size:12px;display:flex}.contact-bottom a:hover{color:var(--accent)}.footer{min-height:110px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;font-size:11px;display:flex}.footer>a{align-items:center;gap:10px;min-height:44px;display:flex}.footer .wordmark{color:var(--ink);font-size:25px}.case-hero{padding-block:50px 65px}.case-category{color:var(--muted);justify-content:space-between;margin:60px 0 22px;font-size:12px;display:flex}.case-hero h1{letter-spacing:-.06em;max-width:1000px;font-size:clamp(45px,7vw,100px);font-weight:500;line-height:1.04}.case-intro{color:var(--muted);max-width:700px;margin-top:28px;font-size:19px;line-height:1.7}.case-hero .stack{margin-top:30px}.case-hero .button{margin-top:25px}.case-visual>div{aspect-ratio:1.9;min-height:280px}.case-visual .brand-type{font-size:110px}.case-visual .concept{padding:36px 50px}.case-visual .mock-top,.case-visual .mock-bottom{padding-block:15px;font-size:12px}.case-visual .node{min-width:130px;padding:20px;font-size:16px}.case-visual .node>span{font-size:11px}.case-visual .learn-main h3{font-size:35px}.case-visual .lesson-block{padding:20px;font-size:14px}.case-visual .learn-sidebar b{font-size:24px}.case-visual .request-row{padding:22px 0;font-size:15px}.case-visual .crawl-tree>span{padding:15px;font-size:15px}.visual-caption{color:var(--muted);margin-top:14px;font-size:11px;line-height:1.7}.case-body{grid-template-columns:1fr 1.4fr;gap:100px;padding-block:100px;display:grid}.case-sidebar h2{font-size:38px}.case-notes article{border-top:1px solid var(--line);padding:25px 0 35px}.case-notes h3{letter-spacing:-.03em;margin-bottom:15px;font-size:21px;font-weight:500}.case-notes p,.case-notes li{color:var(--muted);font-size:15px;line-height:1.85}.case-notes ul{margin:0;padding-left:18px}.case-notes li+li{margin-top:14px}.next-project{border-top:1px solid var(--line);padding-block:45px 80px}.next-project>span{color:var(--muted);font-size:12px}.next-project a{justify-content:space-between;align-items:center;gap:30px;margin-top:25px;display:flex}.next-project a:hover{color:var(--accent)}.next-project h2{font-size:clamp(30px,4vw,55px)}.not-found{min-height:75vh;padding-block:100px}.not-found h1{letter-spacing:-.06em;margin:25px 0;font-size:70px}.not-found p{color:var(--muted);line-height:1.7}.not-found .button{margin-top:30px}@media (min-width:1500px){.hero h1{font-size:195px}.hero-heading{gap:85px}.hero-aside{padding-left:0}}@media (max-width:1100px){.wrap{width:calc(100% - 72px)}.header{padding-inline:36px}.hero-heading{gap:15px}.hero-aside{padding-left:0}.hero-actions{gap:14px}.system-diagram{width:240px;height:190px}.label-b{right:-15px}.label-c{left:105px}.about-grid{gap:55px}.about-photo img{height:480px}.project-grid{gap:55px 24px}.education{gap:45px}.contact-bottom>div{gap:15px}.case-body{gap:50px}.node{min-width:62px;padding:8px;font-size:8px}.node>span{font-size:6px}.learn-main h3{font-size:16px}.learn-sidebar b{font-size:12px}.concept{padding:16px}.mock-right{font-size:7px}.security-content{gap:14px}.request-row{font-size:8px}.project-0,.project-1,.project-2,.project-3{grid-column:span 6}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.header{gap:15px;height:76px;padding-inline:20px}.wordmark{font-size:29px}.nav-tools{margin-left:auto}.menu-toggle{display:grid}.navigation{background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:15px;width:100%;height:calc(100svh - 76px);padding:40px 25px;display:none;position:absolute;top:76px;left:0}.navigation.is-open{display:flex}.navigation>a{min-height:64px;font-size:30px}.nav-contact{margin:25px 0 0}.hero{min-height:calc(100svh - 76px);padding-top:25px}.hero-kicker{font-size:10px}.hero-edition{display:none}.hero-heading{grid-template-columns:1fr;gap:20px;padding:40px 0 25px}.hero h1{letter-spacing:-.08em;font-size:clamp(99px,21vw,160px);line-height:.85}.surname{margin-left:17%}.hero-line{padding-bottom:10px}.hero-aside{max-width:none;padding:0;position:relative}.system-diagram{display:none}.hero-intro{max-width:300px;font-size:18px;line-height:1.6}.hero-intro br{display:none}.hero-actions{gap:25px;margin-top:24px}.hero-foot{gap:8px;padding-block:13px;font-size:9px}.scroll-link{display:none}.socials{gap:0}.hero-foot>span{max-width:190px;line-height:1.7}.section-heading{margin-bottom:35px;display:block}.section-heading>p{margin-top:20px;font-size:13px}.eyebrow{margin-bottom:15px;font-size:11px}h2,.section-heading h2{font-size:38px}.work{padding-block:70px}.project-grid{grid-template-columns:1fr;gap:42px}.project,.project-0,.project-1,.project-2,.project-3{grid-column:1}.project-image{aspect-ratio:1.45}.project-open{opacity:1;width:36px;height:36px;top:10px;right:10px;transform:none}.project-open svg{width:20px}.brand-type{font-size:52px}.project-meta{font-size:9px;line-height:1.6}.project-title h3{font-size:25px}.project-description{font-size:13px}.concept{padding:18px}.node{min-width:64px;padding:10px 8px;font-size:8px}.mock-top,.mock-bottom{font-size:8px}.mock-right{font-size:7px}.learn-content{gap:15px}.learn-main h3{font-size:18px}.learn-sidebar b{font-size:13px}.lesson-block,.request-row{font-size:8px}.about{padding-bottom:65px}.about-rule{margin-bottom:60px}.about-grid{grid-template-columns:1fr;gap:45px}.about-photo{max-width:450px}.about-photo img{height:420px}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:14px}.about-links{gap:16px}.experience{padding-block:35px 70px}.experience-item summary{grid-template-columns:1fr 30px;gap:15px;padding:23px 0}.timeline-date{grid-column:1;gap:10px;font-size:10px}.timeline-role{grid-column:1}.timeline-role strong{font-size:22px}.timeline-role>span{font-size:12px}.expand-icon{grid-area:1/2/3;align-self:center}.experience-detail{margin-left:0;padding:0 15px 25px 16px}.experience-detail p{font-size:13px}.expertise{padding-block:60px}.expertise-row{grid-template-columns:1fr;gap:12px;padding:23px 0}.expertise-row h3{font-size:19px}.expertise-row p{gap:7px 18px;font-size:12px}.education{grid-template-columns:1fr;gap:40px;padding-block:70px}.education h2 br{display:none}.education-list h3{font-size:21px}.education-list article p{line-height:1.7}.contact{padding:55px 0 25px}.contact-top{margin-bottom:30px}.contact h2{font-size:clamp(42px,9.9vw,70px)}.email-link{gap:15px;margin-top:30px;font-size:clamp(15px,4.5vw,26px)}.email-link svg{width:20px}.contact-bottom{margin-top:45px;display:block}.contact-bottom>div{justify-content:space-between;gap:5px;margin-top:25px}.contact-bottom a{gap:7px;font-size:10px}.footer{gap:10px;min-height:90px;font-size:9px}.footer .wordmark{font-size:23px}.case-hero{padding-block:30px 45px}.case-category{gap:15px;margin-top:35px;font-size:10px}.case-hero h1{font-size:45px}.case-intro{font-size:16px}.case-visual>div{aspect-ratio:1.4;min-height:240px}.case-visual .concept{padding:16px}.case-visual .mock-top,.case-visual .mock-bottom{padding-block:10px;font-size:8px}.case-visual .brand-type{font-size:55px}.case-visual .node{min-width:60px;padding:9px 7px;font-size:8px}.case-visual .node>span{font-size:6px}.case-visual .learn-main h3{font-size:18px}.case-visual .lesson-block{padding:8px;font-size:8px}.case-visual .learn-sidebar b{font-size:13px}.case-visual .request-row{padding:11px 0;font-size:8px}.case-visual .crawl-tree>span{padding:7px;font-size:9px}.case-body{grid-template-columns:1fr;gap:35px;padding-block:60px}.case-sidebar h2{font-size:33px}.case-sidebar h2 br{display:none}.case-notes p,.case-notes li{font-size:14px}.next-project{padding-block:30px 50px}.next-project h2{font-size:30px}.next-project svg{width:28px}.visual-caption{font-size:10px}.not-found h1{font-size:44px}}@media (max-width:360px){.hero-actions{gap:15px}.button{gap:15px;padding-inline:13px}.hero h1{font-size:99px}.hero-intro{font-size:17px}.contact-bottom>div{flex-wrap:wrap}.mock-right{text-align:right;max-width:90px}.project-meta{font-size:8px}.brand-type{font-size:45px}.concept{padding:13px}.node-output{right:-5px}.node-input{left:-5px}.node{min-width:55px;padding:7px;font-size:7px}.node>span{font-size:6px}.learn-content{gap:10px}.learn-main h3{font-size:15px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.hero-line>span{opacity:1!important;transform:none!important}}.raster-visual{background:var(--surface);position:relative}.raster-visual>img{object-fit:cover;width:100%;height:100%}.raster-visual>span{color:#263442;background:#ffffffed;border-radius:3px;padding:6px 9px;font-size:9px;position:absolute;bottom:12px;left:12px}.case-gallery{padding-bottom:80px}.case-gallery>img{border:1px solid var(--line);width:100%;height:auto}html:focus-within{scroll-behavior:auto}.header{width:calc(100% - 112px);max-width:1320px;padding-inline:0}.mock-bottom,.mock-right,.visual-corner{opacity:1}@media (max-width:1100px){.header{width:calc(100% - 72px)}}@media (max-width:760px){.header{width:100%;padding-inline:20px}}.real-visual{background:#f4eee2}.real-visual>img{object-fit:contain;width:100%;height:100%}.case-visual>.real-visual{aspect-ratio:1.6}.email-link{min-height:44px}.project-image:focus-visible{outline-offset:4px}.mock-top .tiny-label{opacity:1}.project-image{aspect-ratio:16/9}.project-0 .project-image{aspect-ratio:1.6}.raster-visual>img{object-fit:contain}.case-visual>.raster-visual{aspect-ratio:16/9;min-height:0}.case-visual>.real-visual{min-height:0}.raster-visual{background:#edf0f3}.raster-visual>span{font-size:9px;bottom:8px;left:8px}.scroll-progress{z-index:50;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.section-heading{--rule-progress:1;position:relative}.section-heading:after{content:"";background:var(--line);height:1px;transform:scaleX(var(--rule-progress));transform-origin:0;position:absolute;inset:auto 0 -20px}.portrait-frame{overflow:hidden}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.project-image{clip-path:none!important;transform:none!important}.portrait-frame img,.section-heading:after{transform:none!important}}.button.primary{box-shadow:3px 3px 0 var(--button-shadow);transition:transform .2s,box-shadow .2s,background-color .2s}.button.primary:hover{box-shadow:5px 5px 0 var(--button-shadow);filter:none;transform:translate(-2px,-2px)}.button.primary:active{box-shadow:0 0 0 var(--button-shadow);transform:translate(3px,3px)}.project-image{border-color:var(--frame);box-shadow:4px 4px 0 var(--frame-shadow)}.accent-underline{display:inline-block;position:relative}.accent-underline svg{width:100%;height:14px;color:var(--accent);position:absolute;bottom:-13px;left:0;overflow:visible}.accent-underline path{stroke:currentColor;stroke-width:3px;stroke-linecap:round}.timeline{--timeline-progress:1;padding-left:20px;position:relative}.timeline:before,.timeline:after{content:"";pointer-events:none;background:var(--line);width:1px;position:absolute;top:45px;bottom:45px;left:3px}.timeline:after{background:var(--accent);transform:scaleY(var(--timeline-progress));transform-origin:top}.timeline-date{position:relative}.timeline-date i{box-shadow:0 0 0 4px var(--bg);z-index:1;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.experience-item.is-in-view .timeline-date i{background:var(--accent)}.experience-item.is-in-view .timeline-role strong{color:var(--accent)}.timeline-role strong{transition:color .25s}@media (max-width:760px){.timeline:before,.timeline:after{top:36px;bottom:76px}.accent-underline svg{bottom:-10px}}@media (prefers-reduced-motion:reduce){.timeline:after{transform:none!important}.accent-underline path{stroke-dasharray:none!important;stroke-dashoffset:0!important}.button.primary:hover,.button.primary:active{transform:none}}.skill-row{--skill-trace:1;align-items:center;padding-block:28px;position:relative}.skill-row:after{content:"";background:var(--accent);height:1px;transform:scaleX(var(--skill-trace));transform-origin:0;pointer-events:none;position:absolute;inset:auto 0 -1px}.skill-row h3{align-items:center;gap:14px;line-height:1.35;display:flex}.skill-category-icon{border:1px solid var(--line);width:42px;height:42px;color:var(--muted);background:var(--bg);border-radius:6px;flex-shrink:0;place-items:center;transition:color .25s,border-color .25s,background-color .25s;display:grid}.skill-row.is-skill-active .skill-category-icon{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.skill-row p{gap:9px}.skill-chip{border:1px solid var(--line);background:var(--bg);min-height:38px;color:var(--ink);transform-origin:0;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.4;transition:border-color .2s,background-color .2s;display:inline-flex}.skill-chip:before{content:"";background:var(--accent);opacity:.7;border-radius:50%;flex-shrink:0;width:4px;height:4px}.skill-chip:hover{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:760px){.skill-row{gap:17px;padding-block:24px}.skill-category-icon{width:36px;height:36px}.skill-chip{padding:8px 10px;font-size:11px}.skill-row h3{gap:11px}}@media (prefers-reduced-motion:reduce){.skill-row:after{transform:none!important}.skill-chip,.skill-category-icon{opacity:1!important;visibility:visible!important;transform:none!important}}
