@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--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,ui-sans-serif,system-ui,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;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{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 utilities{.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}}:root{color:#202a27;font-synthesis:none;text-rendering:optimizeLegibility;--paper:#f5f4ef;--paper-deep:#eeede6;--ink:#202a27;--muted:#68736d;--line:#d8d9d1;--pine:#315c4b;--pine-dark:#254638;--soft-green:#e5ebe4;--warm:#d5a876;--white:#fbfaf7;--mono:"DM Mono",monospace;--display:"Newsreader",Georgia,serif;background:#f5f4ef;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{color:inherit}::selection{color:var(--white);background:var(--pine)}:focus-visible{outline:2px solid var(--pine);outline-offset:4px}.skip-link{z-index:300;background:var(--ink);color:var(--white);padding:12px 16px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.eyebrow{font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pine)}.serif{font-family:var(--display);letter-spacing:-.035em;font-weight:400}.section{padding:112px max(24px,50vw - 590px)}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px;display:flex}.section-heading h2{font:400 clamp(38px,5vw,60px)/.98 var(--display);letter-spacing:-.04em;margin:10px 0 0}.section-heading p{max-width:360px;color:var(--muted);margin:0;line-height:1.7}.mono{font-family:var(--mono)}.button{border:1px solid var(--pine);background:var(--pine);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:0 19px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.button:hover{background:var(--pine-dark);transform:translateY(-2px)}.button.secondary{color:var(--ink);border-color:var(--line);background:0 0}.button.secondary:hover{background:var(--white);border-color:var(--pine)}.text-link{color:var(--pine);text-underline-offset:4px;font-size:13px;font-weight:600;text-decoration-thickness:1px}.rule{background:var(--line);height:1px}.reveal{animation:.65s cubic-bezier(.2,.7,.2,1) both enter}@keyframes enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f4eff0;border-bottom:1px solid #202a2714;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:28px;width:min(1180px,100% - 48px);min-height:72px;margin:auto;display:flex}.wordmark{letter-spacing:.01em;white-space:nowrap;align-items:baseline;gap:8px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark b{font:500 10px var(--mono);letter-spacing:.12em;color:var(--muted)}.nav-links{align-items:center;gap:27px;display:flex}.nav-links a,.nav-resume{color:#505c56;font-size:12px;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-resume:hover{color:var(--pine)}.nav-resume{border:1px solid var(--line);padding:10px 13px}.menu-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;width:42px;height:42px;font-size:20px;display:none}.hero{padding:88px 24px 76px;position:relative;overflow:hidden}.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);align-items:center;gap:clamp(36px,7vw,100px);width:min(1180px,100%);margin:auto;display:grid;position:relative}.hero-copy{max-width:670px}.availability{border:1px solid var(--line);font:11px var(--mono);color:var(--muted);border-radius:2px;align-items:center;gap:9px;margin-bottom:30px;padding:8px 11px;display:inline-flex}.availability:before{content:"";background:#66866e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #66866e20}.hero h1{max-width:690px;font:400 clamp(46px,6.6vw,82px)/.96 var(--display);letter-spacing:-.055em;margin:0}.hero h1 span{color:var(--pine);font-style:italic}.hero-lede{color:#626e67;max-width:590px;margin:24px 0 0;font-size:16px;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-socials{font:11px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px;display:flex}.hero-socials a{text-underline-offset:3px;text-decoration-color:#aeb7af}.portrait-frame{background:#e5e5df;justify-self:end;width:min(100%,440px);padding:12px;position:relative}.portrait-frame:before{content:"";z-index:0;border-top:1px solid #a7b6a8;border-right:1px solid #a7b6a8;width:57%;height:57%;position:absolute;top:-20px;right:-20px}.portrait-frame img{z-index:1;object-fit:cover;object-position:center 28%;filter:grayscale();width:100%;height:450px;display:block;position:relative}.portrait-caption{z-index:2;color:#fff;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 8px #000;position:absolute;bottom:25px;left:26px}.hero-index{color:#87918b;font:10px var(--mono);letter-spacing:.15em;position:absolute;bottom:-32px;right:0}.system-panel{z-index:2;background:var(--paper);border:1px solid #bcc5bb;width:min(440px,110%);padding:16px 18px 18px;position:absolute;bottom:-42px;left:-50px;box-shadow:0 10px 25px #202a2711}.system-top{color:var(--muted);font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;display:flex}.system-flow{grid-template-columns:repeat(5,1fr);gap:0;margin-top:15px;display:grid}.system-node{background:var(--white);color:#45524b;min-height:39px;font:9px var(--mono);white-space:nowrap;border:1px solid #ccd2cb;justify-content:center;align-items:center;margin-right:9px;display:flex;position:relative}.system-node:not(:last-child):after{content:"›";color:var(--pine);font:15px var(--mono);position:absolute;right:-9px}.system-node.active{background:var(--soft-green);color:var(--pine-dark);border-color:#b5c3b6}.credibility{background:var(--pine-dark);color:#eff2ec;padding:24px}.credibility-inner{grid-template-columns:repeat(6,1fr);gap:18px;max-width:1180px;margin:auto;display:grid}.credibility span{font:10px/1.4 var(--mono);letter-spacing:.02em;align-items:center;gap:9px;display:flex}.credibility span:before{content:"";background:#c6a77f;flex:0 0 5px;width:5px;height:5px}.capabilities{background:var(--paper-deep)}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.capability{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:215px;padding:27px 28px;transition:background .2s}.capability:hover{background:#f7f6f1}.cap-number{color:#859087;font:10px var(--mono)}.capability h3{font:500 23px var(--display);margin:25px 0 9px}.capability p{max-width:310px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.work-section{background:var(--paper)}.work-intro{justify-content:space-between;align-items:end;gap:24px;display:flex}.work-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 26px;margin-top:48px;display:grid}.project-card{min-width:0}.project-image{aspect-ratio:1.82;background:#e4e5df;border:1px solid #d4d7cf;position:relative;overflow:hidden}.project-image img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.65,.2,1);display:block}.project-card:hover .project-image img{transform:scale(1.025)}.project-image:after{content:"";pointer-events:none;background:linear-gradient(#0000,#14221a18);position:absolute;inset:60% 0 0}.project-meta{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.project-meta h3{font:500 28px var(--display);letter-spacing:-.025em;margin:0}.project-kind{color:var(--muted);font:10px var(--mono);text-align:right}.project-description{color:#626e67;max-width:560px;margin:9px 0 14px;font-size:13px;line-height:1.7}.project-foot{justify-content:space-between;align-items:center;gap:16px;display:flex}.project-role{font:10px var(--mono);color:var(--muted)}.project-tech{flex-wrap:wrap;gap:6px;margin-top:15px;display:flex}.tech-chip{border:1px solid var(--line);color:#5f6b64;font:9px var(--mono);padding:6px 8px}.case-toggle{color:var(--pine);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:5px 0;font-size:12px;font-weight:600;text-decoration:underline}.case-detail{background:var(--paper-deep);border-left:2px solid var(--pine);color:#5d6962;margin-top:15px;padding:16px 17px;font-size:12px;line-height:1.7;animation:.25s both enter}.featured{background:#e8ebe4}.featured-intro{grid-template-columns:1fr .65fr;align-items:end;gap:50px;margin-bottom:42px;display:grid}.featured-intro h2{font:400 clamp(42px,5.4vw,66px)/.95 var(--display);letter-spacing:-.045em;margin:9px 0 0}.featured-intro p{color:#59675f;margin:0;font-size:14px;line-height:1.8}.drycatch-visual{grid-template-columns:1.2fr .8fr;align-items:stretch;gap:20px;display:grid}.drycatch-main-image{background:#092d43;min-height:345px;position:relative;overflow:hidden}.drycatch-main-image img{object-fit:cover;object-position:top;width:100%;height:100%;min-height:345px;display:block}.drycatch-image-caption{color:var(--ink);font:10px var(--mono);background:#f5f4efed;padding:9px 12px;position:absolute;bottom:18px;left:18px}.architecture{background:#f5f4ef;border:1px solid #c6cec3;padding:27px}.architecture h3{font:500 23px var(--display);margin:0}.architecture>p{color:var(--muted);margin:7px 0 24px;font-size:11px;line-height:1.6}.arch-stack{gap:7px;display:grid}.arch-row{background:#e9ece6;border-left:2px solid #8aa08b;justify-content:space-between;gap:10px;padding:10px 11px;font-size:11px;display:flex}.arch-row strong{font-weight:600}.arch-row span{color:var(--muted);text-align:right}.architecture-foot{color:var(--muted);font:9px/1.6 var(--mono);margin-top:15px}.drycatch-details{background:#cbd1c8;border:1px solid #cbd1c8;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:22px;display:grid}.detail-cell{background:#e8ebe4;padding:21px}.detail-cell h4{font:500 18px var(--display);margin:0 0 8px}.detail-cell p{color:#5d6962;margin:0;font-size:12px;line-height:1.65}.private-note{color:var(--pine-dark);font:10px var(--mono);margin-top:23px}.thinking{background:var(--ink);color:var(--paper)}.thinking .eyebrow{color:#a8b99f}.thinking .section-heading p{color:#b2bcb5}.principles{border-top:1px solid #ffffff2a}.principle{border-bottom:1px solid #ffffff2a;grid-template-columns:75px 1fr 1.1fr;align-items:center;gap:25px;padding:22px 0;display:grid}.principle-no{color:#a8b99f;font:11px var(--mono)}.principle h3{font:400 25px var(--display);margin:0}.principle p{color:#bdc5bf;max-width:450px;margin:0;font-size:12px;line-height:1.7}.experience{background:var(--paper)}.experience-card{border-top:1px solid var(--line);grid-template-columns:.55fr 1.45fr;gap:45px;padding:25px 0;display:grid}.experience-date{color:var(--muted);font:10px/1.8 var(--mono)}.experience-card h3{font:500 25px var(--display);margin:0}.experience-org{color:var(--pine);margin:5px 0 13px;font-size:13px;font-weight:600}.experience-summary,.experience-outcome{max-width:650px;color:var(--muted);font-size:13px;line-height:1.7}.experience-summary{margin:0}.experience-outcome{margin:12px 0 0}.experience-outcome strong{color:var(--ink);font-weight:600}.experience-tech{color:var(--muted);grid-template-columns:105px 1fr;gap:12px;margin-top:17px;display:grid}.experience-tech span{font:9px var(--mono);letter-spacing:.08em}.experience-tech strong{font-size:11px;font-weight:500;line-height:1.6}.education{background:var(--paper-deep)}.education-line{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:23px 0;display:flex}.education-line h3{font:500 22px var(--display);margin:0}.education-line p{color:var(--muted);margin:6px 0 0;font-size:12px}.education-line time{color:var(--muted);font:10px var(--mono);white-space:nowrap}.stack{background:var(--paper)}.stack-grid{border-top:1px solid var(--line)}.stack-row{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;gap:30px;padding:21px 0;display:grid}.stack-row h3{color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0}.stack-items{flex-wrap:wrap;gap:8px;display:flex}.stack-items span{border:1px solid var(--line);background:var(--white);color:#4f5e56;padding:8px 10px;font-size:11px}.notes{background:var(--paper-deep)}.notes-list{border-top:1px solid var(--line)}.note-item{border-bottom:1px solid var(--line)}.note-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;list-style:none;display:flex}.note-item summary::-webkit-details-marker{display:none}.note-item summary:after{content:"+";color:var(--pine);font:18px var(--mono)}.note-item[open] summary:after{content:"−"}.note-item summary span:first-child{font:500 21px var(--display)}.note-tag{color:var(--muted);font:9px var(--mono);text-transform:uppercase}.note-content{max-width:720px;color:var(--muted);padding:0 0 22px;font-size:13px;line-height:1.8}.services{background:var(--pine-dark);color:var(--paper)}.services .eyebrow{color:#c6b08d}.services .section-heading p{color:#c4cec6}.service-list{background:#ffffff34;border:1px solid #ffffff34;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}.service{background:var(--pine-dark);min-height:180px;padding:20px}.service span{color:#c6b08d;font:10px var(--mono)}.service h3{font:400 21px/1.1 var(--display);margin:35px 0 0}.service p{color:#c4cec6;font-size:11px;line-height:1.6}.contact-intro{grid-template-columns:.9fr 1.1fr;align-items:start;gap:70px;display:grid}.contact-title h2{font:400 clamp(42px,5.4vw,64px)/.96 var(--display);letter-spacing:-.04em;margin:10px 0 20px}.contact-title p{max-width:390px;color:var(--muted);font-size:14px;line-height:1.8}.contact-detail{color:var(--muted);font:11px/2 var(--mono);margin-top:30px}.contact-detail a{color:var(--pine)}.contact-form{grid-template-columns:1fr 1fr;gap:17px 16px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{color:#505e56;font:10px var(--mono)}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fbfaf7;border:1px solid #cfd3ca;border-radius:0;padding:12px 13px;font-size:13px}.field textarea{resize:vertical;min-height:95px}.field input::placeholder,.field textarea::placeholder{color:#969e97}.form-status{min-height:20px;color:var(--pine-dark);grid-column:1/-1;margin:0;font-size:12px}.contact-form .button{justify-self:start;min-width:165px}.contact-form .button:disabled{cursor:wait;opacity:.72;transform:none}.site-footer{background:var(--ink);color:#e7eae5;padding:27px 24px}.footer-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100%);margin:auto;display:flex}.footer-name{letter-spacing:.06em;font-size:12px}.footer-sub{color:#aeb9b0;font:9px var(--mono);margin-top:6px}.footer-links{flex-wrap:wrap;gap:20px;font-size:11px;display:flex}.footer-links a{color:#d2d9d1;text-decoration:none}.footer-copy{color:#9aa69c;font:9px var(--mono)}.project-links{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.project-links a{text-decoration:none}.project-links a:hover{color:var(--pine-dark)}.case-study-page{min-height:100vh}.case-study-header{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f4eff0;border-bottom:1px solid #202a2714;justify-content:space-between;align-items:center;min-height:72px;padding:0 max(24px,50vw - 590px);display:flex;position:sticky;top:0}.case-study-header nav{gap:24px;display:flex}.case-study-header nav a{color:#505c56;font-size:12px;text-decoration:none}.case-study-header nav a:hover{color:var(--pine)}.case-study-main{width:min(1180px,100%);margin:auto;padding:45px 24px 100px}.back-link{color:var(--pine);font:11px var(--mono);text-decoration:none;display:inline-block}.back-link:hover{text-underline-offset:4px;text-decoration:underline}.case-study-heading{grid-template-columns:1fr .65fr;align-items:end;gap:48px;margin:47px 0 34px;display:grid}.case-study-heading h1{font:400 clamp(50px,8vw,96px)/.94 var(--display);letter-spacing:-.05em;margin:12px 0 0}.case-study-heading>p{color:var(--muted);margin:0 0 7px;font-size:15px;line-height:1.8}.case-study-image{border:1px solid var(--line);background:var(--paper-deep);margin:0}.case-study-image img{object-fit:cover;object-position:top center;width:100%;max-height:620px;display:block}.case-study-image figcaption{color:var(--muted);font:10px var(--mono);padding:11px 14px}.case-study-meta{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.5fr 1fr;gap:20px;padding:23px 0;display:grid}.case-study-meta>div{flex-direction:column;gap:8px;display:flex}.case-study-meta span{color:var(--muted);font:9px var(--mono);letter-spacing:.1em}.case-study-meta strong{font-size:12px;font-weight:500;line-height:1.6}.case-study-tech strong{color:#526158}.case-study-links{justify-content:center;align-items:flex-start}.case-study-links a{color:var(--pine);text-underline-offset:4px;font-size:12px;font-weight:600}.case-study-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px;display:grid}.case-study-block{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:200px;padding:25px 27px}.case-study-number{color:#849087;font:9px var(--mono);letter-spacing:.08em}.case-study-block h2{font:500 25px var(--display);margin:22px 0 10px}.case-study-block p{color:#626e67;max-width:510px;margin:0;font-size:13px;line-height:1.8}.case-study-block .project-tech{margin-top:18px}.case-study-end{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:44px;padding:26px 0;display:flex}.case-study-end p{font:500 24px var(--display);margin:0}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;width:min(1180px,100%);min-height:65vh;margin:auto;padding:48px 24px;display:flex}.not-found h1{font:400 clamp(44px,8vw,78px)/1 var(--display);margin:0}@media(max-width:850px){.section{padding-top:82px;padding-bottom:82px}.hero{padding-top:65px}.hero-inner{grid-template-columns:1fr .72fr;gap:34px}.portrait-frame img{height:380px}.system-panel{width:360px;left:-24px}.credibility-inner{grid-template-columns:repeat(3,1fr)}.capability-grid{grid-template-columns:repeat(2,1fr)}.service-list{grid-template-columns:repeat(3,1fr)}.drycatch-visual{grid-template-columns:1fr 1fr}.case-study-meta{grid-template-columns:1fr 1.3fr}.case-study-links{flex-direction:row;grid-column:1/-1}}.dark{--background:#111e1c;--foreground:#fcf9f2;--primary:#f28123;--primary-glow:#f2812333;--secondary:#38726c;--tertiary:#f7f052;--accent:#d34e24;--surface:#182b28;--border:#233d39;--tag-blue:#38726c4d;--tag-blue-text:#8bc3bc;--tag-purple:#d34e244d;--tag-purple-text:#ff916e;--tag-green:#f2812340;--tag-green-text:#ffb170;--tag-orange:#f7f05226;--tag-orange-text:#fdf785}@media(max-width:640px){html{scroll-padding-top:72px}.nav-wrap{width:calc(100% - 36px);min-height:64px}.menu-toggle{place-items:center;display:inline-grid}.nav-links{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 17px;display:none;position:absolute;top:64px;left:0;right:0}.nav-links.open{display:flex}.nav-links a{border-bottom:1px solid var(--line);padding:13px 5px}.nav-resume{text-align:center;margin-top:12px}.hero{padding:48px 20px 66px}.hero-inner{grid-template-columns:1fr;gap:28px}.hero-copy{order:1}.hero h1{font-size:clamp(48px,13vw,68px)}.hero-lede{margin-top:17px;font-size:14px}.availability{margin-bottom:22px}.hero-actions{margin-top:22px}.hero-actions .button{width:100%}.hero-socials{margin-top:20px}.portrait-frame{justify-self:center;width:min(100%,360px);margin:6px 10px 16px 0}.portrait-frame img{height:340px}.system-panel{width:calc(100% + 4px);padding:12px;bottom:-30px;left:-10px}.system-node{min-height:35px;margin-right:6px;font-size:7px}.system-node:not(:last-child):after{font-size:12px;right:-7px}.hero-index{display:none}.credibility{padding:19px 20px}.credibility-inner{grid-template-columns:repeat(2,1fr);gap:13px 11px}.credibility span{font-size:9px}.section{padding:70px 20px}.section-heading{margin-bottom:32px;display:block}.section-heading h2{font-size:44px}.section-heading p{margin-top:15px;font-size:13px}.capability-grid{grid-template-columns:1fr}.capability{min-height:0;padding:21px}.capability h3{margin-top:18px}.work-intro{align-items:start}.work-intro .section-heading{margin:0}.work-list{grid-template-columns:1fr;gap:34px;margin-top:22px}.project-meta h3{font-size:26px}.project-kind{font-size:9px}.project-foot{flex-direction:column;align-items:flex-start;gap:9px}.project-links{justify-content:flex-start;gap:14px}.featured-intro{grid-template-columns:1fr;gap:19px;margin-bottom:25px}.drycatch-visual{grid-template-columns:1fr;gap:12px}.drycatch-main-image,.drycatch-main-image img{min-height:220px}.architecture{padding:20px}.drycatch-details{grid-template-columns:1fr}.detail-cell{padding:17px}.principle{grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:18px 0}.principle h3{font-size:22px}.principle p{grid-column:2;font-size:12px}.experience-card{grid-template-columns:1fr;gap:10px;padding:20px 0}.education-line{flex-direction:column;align-items:flex-start;gap:10px}.stack-row{grid-template-columns:1fr;gap:12px}.service-list{grid-template-columns:repeat(2,1fr)}.service{min-height:150px;padding:15px}.service h3{margin-top:26px;font-size:19px}.contact-intro{grid-template-columns:1fr;gap:35px}.contact-form{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-form .button{width:100%}.footer-inner{flex-direction:column;align-items:flex-start}.footer-links{gap:15px}.case-study-header{gap:15px;min-height:64px;padding:0 18px}.case-study-header .wordmark{font-size:11px}.case-study-header .wordmark b{font-size:8px}.case-study-header nav{gap:13px}.case-study-header nav a{font-size:10px}.case-study-main{padding:32px 20px 70px}.case-study-heading{grid-template-columns:1fr;gap:17px;margin:36px 0 25px}.case-study-heading h1{overflow-wrap:anywhere;font-size:clamp(48px,14vw,72px)}.case-study-heading>p{font-size:13px}.case-study-image img{min-height:200px}.case-study-meta{grid-template-columns:1fr;gap:17px}.case-study-links{flex-flow:wrap;grid-column:auto}.case-study-grid{grid-template-columns:1fr;margin-top:37px}.case-study-block{min-height:0;padding:21px}.case-study-end{flex-direction:column;align-items:flex-start}.case-study-end p{font-size:22px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
