@font-face{font-family:geist;src:url(../media/geist_latin-s.p.3rd3ws2mg35i0.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:94.47%;descent-override:27.73%;line-gap-override:0.0%;size-adjust:106.39%}.geist_80c70d64-module__vkZb3q__className{font-family:geist,geist Fallback,Inter,Avenir Next,Segoe UI,sans-serif}.geist_80c70d64-module__vkZb3q__variable{--font-sans:"geist", "geist Fallback", Inter, Avenir Next, Segoe UI, sans-serif}
@font-face{font-family:mono;src:url(../media/geist_mono_latin-s.p.3f30ggp2vw8zj.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.0%;size-adjust:131.49%}.mono_d41ef6c8-module__5z3vgW__className{font-family:mono,mono Fallback,SFMono-Regular,Consolas,monospace}.mono_d41ef6c8-module__5z3vgW__variable{--font-mono:"mono", "mono Fallback", SFMono-Regular, Consolas, monospace}
@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;--tw-border-style:solid}}}@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;--radius-sm:.25rem;--radius-lg:.5rem;--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;-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{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{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.flex{display:flex}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}}:root{--canvas:#f7f5f1;--surface:#fffdfc;--ink:#182536;--body:#405064;--accent:#3e668c;--accent-dark:#244c73;--tint:#e9eff4;--warm:#e8e1d7;--hunter:#5f259f;--hunter-tint:#f0eaf7;--border:#cad4de;--control:#7b8997;--radius-sm:10px;--radius:16px;--radius-lg:24px;--shadow:0 24px 60px #18253624}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans), Inter, "Avenir Next", "Segoe UI", sans-serif;margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}::selection{color:var(--surface);background:var(--accent-dark)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.skip-link{z-index:100;color:#fff;background:var(--ink);padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(1200px,100% - 96px);margin-inline:auto}.section{padding-block:128px}.eyebrow{color:var(--accent-dark);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 20px;font-size:.75rem;font-weight:700;line-height:1.3;display:flex}.eyebrow-index{color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:12px;font-weight:500;display:inline-flex}.eyebrow-index:after{opacity:.55;content:"";background:currentColor;width:30px;height:1px}.button{border:1px solid var(--ink);border-radius:var(--radius-sm);min-height:48px;color:var(--surface);background:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:12px 22px;font-size:.925rem;font-weight:650;line-height:1;transition:transform .18s,background .18s,color .18s;display:inline-flex}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px)}.button:disabled{opacity:.65;cursor:wait;transform:none}.button-small{min-height:42px;padding:10px 15px;font-size:.85rem}.button-secondary{color:var(--ink);border-color:var(--control);background:0 0}.button-secondary:hover{color:var(--surface)}.button-light{color:var(--ink);background:var(--surface);border-color:var(--surface)}.button-light:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.button-outline-light{color:#fff;background:0 0;border-color:#ffffff8c}.button-outline-light:hover{color:var(--ink);background:#fff;border-color:#fff}.text-link,.project-links a,.site-footer a{text-decoration:underline;-webkit-text-decoration-color:var(--control);-webkit-text-decoration-color:var(--control);-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control);text-underline-offset:5px;align-items:center;gap:6px;font-weight:650;transition:color .15s,text-decoration-color .15s;display:inline-flex}.text-link:hover,.project-links a:hover,.site-footer a:hover{color:var(--accent-dark);text-decoration-color:currentColor}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f5f1ed;border-bottom:1px solid #cad4debf;position:sticky;top:0}.nav-shell{align-items:center;gap:28px;height:80px;display:flex}.brand{align-items:center;margin-right:auto;line-height:1.05;display:flex}.brand-dot{color:var(--accent)}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem}.brand small{color:var(--body);margin-top:5px;font-size:.7rem}.desktop-nav{align-items:center;gap:26px;display:flex}.desktop-nav a{color:var(--body);font-size:.84rem;font-weight:600;position:relative}.desktop-nav a:after{background:var(--accent);content:"";transform-origin:100%;height:1px;transition:transform .16s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.desktop-nav a[aria-current=page]{color:var(--ink)}.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.mobile-menu{display:none}.hero{grid-template-columns:minmax(0,1.08fr) minmax(380px,.78fr);align-items:center;gap:clamp(48px,7vw,112px);min-height:calc(100svh - 80px);padding-block:72px 80px;display:grid}.hero-copy h1,.page-header h1{letter-spacing:-.065em;max-width:850px;margin:0;font-size:clamp(3.8rem,7.2vw,6.75rem);font-weight:690;line-height:.88}.hero-copy h1 span{color:var(--accent)}.hero-lead{max-width:630px;color:var(--ink);letter-spacing:-.02em;margin:34px 0 14px;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:550;line-height:1.42}.hero-support{max-width:620px;color:var(--body);margin:0;font-size:1.03rem}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.utility-links{flex-wrap:wrap;gap:24px;margin-top:28px;display:flex}.utility-links a{color:var(--body);text-decoration:underline;-webkit-text-decoration-color:var(--control);-webkit-text-decoration-color:var(--control);-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control);text-underline-offset:5px;align-items:center;gap:4px;font-size:.82rem;font-weight:650;display:inline-flex}.hero-visual{justify-self:end;width:min(100%,440px);position:relative}.portrait-frame{aspect-ratio:4/5;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--tint), var(--warm));width:min(100%,440px);box-shadow:var(--shadow);margin:0;position:relative;overflow:hidden}.portrait-image{object-fit:cover}.portrait-fallback{background:linear-gradient(152deg,#e9eff4 0%,#dce5ec 53%,#e8e1d7 100%);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,48px);display:flex;position:absolute;inset:0}.portrait-fallback:before,.portrait-fallback:after{content:"";border:1px solid #3e668c40;border-radius:50%;position:absolute}.portrait-fallback:before{aspect-ratio:1;width:70%;top:15%;right:-28%}.portrait-fallback:after{aspect-ratio:1;width:48%;bottom:12%;left:-18%}.portrait-monogram{z-index:1;color:#18253624;font-family:Georgia,serif;font-size:clamp(11rem,24vw,18rem);line-height:.8;position:relative}.portrait-fallback div{z-index:1;border-top:1px solid #18253659;justify-content:space-between;align-items:end;padding-top:18px;display:flex;position:relative}.portrait-fallback strong{font-size:1.05rem}.portrait-fallback small{color:var(--body);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:650}.portrait-compact{aspect-ratio:3/4;width:min(100%,360px);box-shadow:0 16px 44px #1825361c}.section-heading{grid-template-columns:1fr minmax(300px,.72fr);align-items:end;column-gap:80px;margin-bottom:56px;display:grid}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2,.final-cta h2{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(2.35rem,4.5vw,4.15rem);font-weight:670;line-height:1}.section-intro{color:var(--body)}.section-intro p{max-width:540px;margin:0 0 16px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 34px;display:grid}.project-card{flex-direction:column;display:flex}.project-plate{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px;transition:box-shadow .22s,border-color .22s;display:block;position:relative}.project-card:hover .project-plate{border-color:var(--control);box-shadow:0 18px 45px #1825361a}.project-plate img,.project-plate .network-plate{aspect-ratio:1400/693;object-fit:cover;object-position:top center;border-radius:5px;width:100%;height:auto;display:block}.plate-ticks{pointer-events:none;opacity:.5;background-repeat:no-repeat;background-image:linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control)), linear-gradient(var(--control), var(--control));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:1px 13px,13px 1px,1px 13px,13px 1px,1px 13px,13px 1px,1px 13px,13px 1px;position:absolute;inset:5px}.project-index{color:var(--body);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:24px 0 12px;font-size:.71rem;font-weight:700;display:flex}.project-index span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;gap:12px;font-weight:500;display:inline-flex}.project-index span:after{opacity:.55;content:"";background:currentColor;width:24px;height:1px}.project-content h3{letter-spacing:-.038em;margin:0 0 12px;font-size:1.7rem;line-height:1.12}.project-content h3 a{background-image:linear-gradient(currentColor,currentColor);background-position:0 92%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .26s}.project-card:hover h3 a,.project-content h3 a:focus-visible{background-size:100% 1px}.project-summary{color:var(--body);margin:0 0 22px;font-size:.95rem}.project-meta{border-top:1px solid var(--border);margin:0 0 22px}.project-meta div{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr;gap:12px;padding:11px 0;font-size:.77rem;line-height:1.45;display:grid}.project-meta dt{color:var(--body)}.project-meta dd{margin:0;font-weight:600}.project-links{flex-wrap:wrap;gap:14px 24px;display:flex}.project-links a{font-size:.82rem}.network-plate{color:#cbd9e5;stroke-width:1px;background:#1c3149}.np-road line{stroke:currentColor;opacity:.16}.np-rays line{stroke:#8ab6e2;opacity:.5}.np-car{fill:none;stroke:#fff;stroke-width:1.5px;opacity:.9}.np-feed line{stroke:currentColor;opacity:.3;stroke-dasharray:3 4}.np-edges line{stroke:currentColor;opacity:.15}.np-edges .np-edge-live{stroke:#8ab6e2;opacity:.8}.np-nodes circle{fill:#1c3149;stroke:currentColor;opacity:.5}.np-nodes .np-node-live{fill:#8ab6e2;stroke:#8ab6e2;opacity:1}.badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:27px;padding:5px 10px;font-size:.67rem;font-weight:750;line-height:1;display:inline-flex}.badge-client{color:#fff;background:var(--ink)}.badge-community{color:var(--hunter);background:var(--hunter-tint)}.badge-fullstack{color:var(--ink);background:var(--warm)}.badge-ml{color:var(--accent-dark);border:1px solid var(--accent);background:0 0}.badge-data{color:var(--surface);background:var(--accent-dark)}.service-section{background:var(--ink);color:#fff}.service-section .eyebrow,.service-section .section-intro{color:#cbd9e5}.service-grid{border-top:1px solid #ffffff40;grid-template-columns:repeat(2,1fr);margin-bottom:42px;display:grid}.service-grid article{border-bottom:1px solid #ffffff40;grid-template-columns:58px 1fr;padding:34px 28px 34px 0;display:grid}.service-grid article:nth-child(odd){border-right:1px solid #ffffff40}.service-grid article:nth-child(2n){padding-left:34px}.service-grid span{color:#aebfd0;font-family:var(--font-mono);font-size:.75rem}.service-grid h3{letter-spacing:-.02em;margin:0 0 8px;font-size:1.25rem}.service-grid p{color:#cbd5df;grid-column:2;margin:0;font-size:.9rem}.service-stack{color:#cbd5df;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:38px 0 0;font-size:.78rem;display:flex}.service-stack span{color:#8fa6bb;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:700}.final-cta{color:#fff;background:var(--accent-dark)}.final-cta .eyebrow-index{color:#a8c6dd}.final-cta .eyebrow{color:#d9e5ee}.final-cta p:not(.eyebrow){color:#d8e2ea;max-width:600px;margin:28px 0;font-size:1.05rem}.final-cta .shell>div{flex-wrap:wrap;gap:12px;display:flex}.site-footer{color:#d7e0e8;background:#111d2b;padding-block:76px 24px}.footer-grid{grid-template-columns:1.5fr .6fr 1fr;gap:72px;display:grid}.footer-name{color:#fff;letter-spacing:-.04em;font-size:1.75rem;font-weight:680}.footer-grid p{color:#9fb0bf;margin:12px 0 0;font-size:.85rem}.footer-grid nav,.footer-grid>div:last-child{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.footer-grid .footer-label{color:#778b9d;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:.68rem;font-weight:700}.footer-grid a:not(.footer-name){font-size:.82rem;text-decoration-color:#627a90}.footer-bottom{color:#7f91a0;border-top:1px solid #304154;justify-content:space-between;margin-top:64px;padding-top:20px;font-size:.7rem;display:flex}.page-header{border-bottom:1px solid var(--border);padding-block:112px 72px}.page-header h1{font-size:clamp(3.75rem,7vw,6.5rem)}.page-header>p:last-child{max-width:680px;color:var(--body);margin:32px 0 0 auto;font-size:clamp(1.05rem,2vw,1.25rem)}.case-header{padding-block:80px 54px}.back-link{color:var(--body);align-items:center;gap:7px;margin-bottom:52px;font-size:.8rem;font-weight:650;display:inline-flex}.case-header .badge{margin-bottom:26px}.case-header h1{letter-spacing:-.07em;max-width:950px;margin:0;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:680;line-height:.9}.case-summary{max-width:720px;color:var(--body);margin:30px 0 0;font-size:1.25rem}.disclosure{border-left:3px solid var(--accent);max-width:760px;color:var(--body);background:var(--tint);margin:24px 0 0;padding:16px 18px;font-size:.88rem}.case-actions{margin-top:30px}.case-art{margin:0}.case-plate{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(1100px,100% - 96px);box-shadow:var(--shadow);margin-inline:auto;padding:14px;position:relative}.case-plate img,.case-plate .network-plate{border-radius:7px;width:100%;height:auto;display:block}.case-plate .plate-ticks{inset:6px}.case-art figcaption{width:min(1100px,100% - 96px);color:var(--body);font-family:var(--font-mono);margin:16px auto 0;font-size:.72rem}.case-layout{grid-template-columns:280px minmax(0,720px);justify-content:space-between;gap:100px;padding-block:96px 128px;display:grid}.case-layout aside{align-self:start;position:sticky;top:112px}.case-layout dl{border-top:1px solid var(--border);margin:0}.case-layout dl div{border-bottom:1px solid var(--border);padding:16px 0}.case-layout dt{color:var(--body);text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font-size:.7rem;font-weight:700}.case-layout dd{margin:0;font-size:.87rem;font-weight:600}.case-body section+section{margin-top:90px}.case-body h2{letter-spacing:-.05em;margin:0 0 24px;font-size:clamp(2rem,4vw,3.15rem);line-height:1.05}.case-body p:not(.eyebrow),.case-body li{color:var(--body);font-size:1.03rem}.case-body p:not(.eyebrow){margin:0 0 18px}.case-body p:not(.eyebrow):last-child{margin-bottom:0}.case-body ul{margin:0;padding:0;list-style:none}.case-body li{border-bottom:1px solid var(--border);padding:16px 0 16px 30px;position:relative}.case-body li:first-child{border-top:1px solid var(--border)}.case-body li:before{background:var(--accent);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:25px;left:4px}.next-project{color:#fff;background:var(--ink);padding-block:60px}.next-project .shell{justify-content:space-between;align-items:center;gap:24px;display:flex}.next-project p{color:#9fb0bf;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.75rem}.next-project a{align-items:center;gap:10px;font-size:1.2rem;font-weight:650;display:inline-flex}.about-page-grid{grid-template-columns:360px minmax(0,650px);justify-content:space-between;align-items:start;gap:80px;display:grid}.prose-large h2{letter-spacing:-.05em;margin:0 0 28px;font-size:clamp(2.1rem,4vw,3.3rem);line-height:1.05}.prose-large p{color:var(--body);margin:0 0 22px;font-size:1.07rem}.prose-large p:last-child{margin-bottom:0}.centered-cta{text-align:center}.centered-cta h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.3rem,5vw,4rem);line-height:1}.centered-cta p{color:var(--body);margin:20px auto 28px}.experience-page{padding-top:0}.experience-page .section-heading{margin-bottom:8px}.experience-page>article{border-top:1px solid var(--border);grid-template-columns:220px 1fr;padding:44px 0;display:grid}.experience-kicker{color:var(--accent-dark);font-family:var(--font-mono);letter-spacing:.04em;font-size:.73rem}.experience-page article div>p{color:var(--body);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px;font-size:.78rem;font-weight:700}.experience-page>article h3{letter-spacing:-.04em;margin:0 0 18px;font-size:1.75rem}.experience-page ul{color:var(--body);margin:0;padding-left:20px;font-size:.95rem;list-style:outside}.experience-page li::marker{color:var(--accent)}.experience-page>article.alma-mater{border-top-color:var(--hunter)}.experience-page>article.alma-mater .experience-kicker{color:var(--hunter)}.experience-page>article.alma-mater li::marker{color:var(--hunter)}.experience-page li+li{margin-top:10px}.contact-header{border-bottom:0;padding-bottom:32px}.contact-layout{grid-template-columns:300px minmax(0,760px);justify-content:space-between;gap:80px;padding-top:48px;display:grid}.contact-layout aside{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-self:start;padding:28px}.contact-label{color:var(--accent-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:.7rem;font-weight:750}.contact-layout aside ul{color:var(--body);margin:0 0 34px;padding:0;font-size:.86rem;list-style:none}.contact-layout aside li{padding-block:5px}.contact-layout aside>a{text-underline-offset:4px;align-items:center;font-weight:650;text-decoration:underline;display:inline-flex}.contact-note{border-top:1px solid var(--border);color:var(--body);margin:24px 0 0;padding-top:20px;font-size:.76rem}.contact-form fieldset{border:0;margin:0 0 32px;padding:0}.contact-form legend{margin-bottom:13px;font-size:.86rem;font-weight:700}.intent-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.intent-grid label{border:1px solid var(--control);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex-direction:column;justify-content:center;min-height:105px;padding:20px 20px 20px 48px;display:flex;position:relative}.intent-grid label.selected{border:2px solid var(--accent-dark);background:var(--tint);padding:19px 19px 19px 47px}.intent-grid input{accent-color:var(--accent-dark);position:absolute;top:23px;left:20px}.intent-grid strong{font-size:.9rem}.intent-grid span{color:var(--body);font-size:.76rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.form-grid label{flex-direction:column;gap:7px;display:flex}.form-grid label.full{grid-column:1/-1}.form-grid label>span{font-size:.78rem;font-weight:700}.form-grid b{color:#8f1f2d}.form-grid em{color:var(--body);margin-left:6px;font-size:.68rem;font-style:normal;font-weight:500}.form-grid input,.form-grid textarea{border:1px solid var(--control);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--surface)}.form-grid input{min-height:48px;padding:10px 13px}.form-grid textarea{resize:vertical;min-height:160px;padding:13px}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.contact-form>.button{margin-top:24px}.form-note{color:var(--body);font-size:.72rem}.form-error{color:#721a25;background:#fae9eb;border-left:3px solid #a22836;padding:12px 14px}.form-success{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:40px}.form-success svg{color:#26704c}.form-success h2{letter-spacing:-.04em;margin:20px 0 8px;font-size:2rem}.form-success p{color:var(--body)}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:1080px){.shell{width:min(100% - 64px,1200px)}.desktop-nav{gap:16px}.desktop-nav a{font-size:.78rem}.hero{grid-template-columns:1fr minmax(340px,.75fr);gap:48px}.hero-copy h1{font-size:clamp(3.7rem,7vw,5.5rem)}.case-layout{gap:64px}.case-plate,.case-art figcaption{width:min(1100px,100% - 64px)}}@media (max-width:860px){.section{padding-block:96px}.nav-cta,.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{border:1px solid var(--control);cursor:pointer;border-radius:9px;place-content:center;gap:5px;width:44px;height:44px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--ink);width:18px;height:1.5px;display:block}.mobile-menu nav{border-bottom:1px solid var(--border);background:var(--canvas);flex-direction:column;gap:4px;padding:18px 32px 28px;display:flex;position:fixed;top:80px;left:0;right:0;box-shadow:0 18px 30px #18253614}.mobile-menu nav a{padding:10px 4px;font-weight:650}.mobile-menu nav .button{margin-top:8px}.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);min-height:auto;padding-block:64px}.hero-copy h1{font-size:clamp(3.3rem,8.5vw,5rem)}.hero-lead{font-size:1.12rem}.section-heading{grid-template-columns:1fr}.section-heading .section-intro{margin-top:20px}.project-grid{gap:48px 22px}.service-grid{grid-template-columns:1fr}.service-grid article:nth-child(odd){border-right:0}.service-grid article:nth-child(2n){padding-left:0}.case-layout{grid-template-columns:1fr}.case-layout aside{position:static}.case-layout aside dl{grid-template-columns:repeat(3,1fr);display:grid}.case-layout aside dl div{padding-right:16px}.experience-page>article{grid-template-columns:150px 1fr}.contact-layout{grid-template-columns:230px 1fr;gap:40px}}@media (max-width:680px){.shell{width:min(100% - 40px,1200px)}.section{padding-block:72px}.nav-shell{height:70px}.brand small{display:none}.mobile-menu nav{padding-inline:20px;top:70px}.hero{flex-direction:column;align-items:stretch;gap:40px;padding-block:34px 56px;display:flex}.hero-copy{display:contents}.hero-copy .eyebrow{order:1;margin-bottom:0}.hero-copy h1{order:2;font-size:clamp(3.45rem,18vw,5.5rem)}.hero-lead{order:3;margin:0;font-size:1.2rem}.hero-actions{order:4;grid-template-columns:1fr 1fr;margin-top:0;display:grid}.hero-visual{order:5;justify-self:auto;width:100%;max-width:280px;margin-inline:auto}.hero-support{order:6}.utility-links{order:7;margin-top:0}.hero{gap:26px}.portrait-frame{width:100%}.section-heading{margin-bottom:36px}.section-heading h2,.final-cta h2{font-size:clamp(2.3rem,12vw,3.2rem)}.project-grid{grid-template-columns:1fr;gap:44px}.project-plate{padding:9px}.plate-ticks{background-size:1px 10px,10px 1px,1px 10px,10px 1px,1px 10px,10px 1px,1px 10px,10px 1px;inset:4px}.service-grid article{grid-template-columns:42px 1fr;padding-right:0}.service-stack{font-size:.72rem}.footer-grid{grid-template-columns:1fr 1fr;gap:48px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:5px}.page-header{padding-block:72px 52px}.page-header h1{font-size:clamp(3.45rem,17vw,5rem)}.page-header>p:last-child{margin-left:0}.case-header{padding-block:48px}.case-header h1{font-size:clamp(3.25rem,16vw,5.2rem)}.case-plate,.case-art figcaption{width:min(1100px,100% - 40px)}.case-plate{padding:9px}.case-layout{padding-block:64px 80px}.case-layout aside dl{grid-template-columns:1fr}.case-body section+section{margin-top:64px}.next-project .shell{flex-direction:column;align-items:flex-start}.about-page-grid{grid-template-columns:1fr;gap:48px}.about-page-grid .portrait-frame{max-width:300px}.experience-page>article{grid-template-columns:1fr;gap:20px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-top:24px}.contact-layout aside{order:2}.form-grid,.intent-grid{grid-template-columns:1fr}.hero-actions .button{padding-inline:12px;font-size:.82rem}}@media (pointer:coarse){.text-link,.back-link,.utility-links a,.project-links a,.contact-layout aside>a,.next-project a,.site-footer a{min-height:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,: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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
