:root{--paper: #f3efe4;--paper-top: #faf7ee;--surface: #fbf8ef;--ink: #17324a;--ink-soft: #51687b;--text: #191817;--muted: #716b62;--line: #d9cdb8;--sky: #dcebf1;--mint: #dbe8da;--clay: #934b3f;--gold: #b8843b;--charcoal: #23211f;--cream: #fffaf0;--serif: Charter, "Iowan Old Style", Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--mono: "JetBrains Mono", "SF Mono", Consolas, Monaco, monospace;--shadow: 0 20px 70px rgba(36, 30, 20, .1);--soft-shadow: 0 14px 44px rgba(36, 30, 20, .08);--ease-out: cubic-bezier(.2, .72, .16, 1);--ease-spring: cubic-bezier(.18, .89, .32, 1.18);--pointer-x: 72vw;--pointer-y: 18vh;--card-x: 50%;--card-y: 35%;--tilt-x: 0deg;--tilt-y: 0deg}*{box-sizing:border-box}html{color-scheme:light;scroll-padding-top:96px;scroll-behavior:smooth}body{position:relative;overflow-x:hidden;min-width:320px;margin:0;background:linear-gradient(90deg,rgba(23,50,74,.08),transparent 34%),linear-gradient(180deg,var(--paper-top),var(--paper));color:var(--text);font-family:var(--serif);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(147,75,63,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,50,74,.08) 1px,transparent 1px);background-size:96px 96px;mask-image:radial-gradient(circle at var(--pointer-x) var(--pointer-y),black,transparent 72%);content:""}body:after{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(640px circle at var(--pointer-x) var(--pointer-y),rgba(184,132,59,.16),transparent 58%),radial-gradient(circle at 78% 10%,rgba(184,132,59,.1),transparent 24%),radial-gradient(circle at 16% 76%,rgba(23,50,74,.08),transparent 28%);transition:background .26s ease;content:""}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}.site-shell{position:relative;z-index:1;width:min(1520px,calc(100% - 48px));margin:0 auto;padding:24px 0 84px}.scroll-progress{position:fixed;inset-block-start:0;inset-inline:0;z-index:20;block-size:3px;background:linear-gradient(90deg,var(--clay),var(--gold),var(--ink));transform:scaleX(0);transform-origin:left center;will-change:transform}.topbar{position:sticky;inset-block-start:0;z-index:12;display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;padding-top:8px;background:#faf7eed6;backdrop-filter:blur(16px);transition:border-color .26s ease,box-shadow .26s ease,background .26s ease}body.has-scrolled .topbar{border-color:#934b3f38;background:#faf7eee6;box-shadow:0 16px 42px #241e1414}.wordmark{display:inline-flex;align-items:center;gap:14px;color:var(--ink);font-family:var(--mono);font-size:12px;line-height:1;text-transform:uppercase;white-space:nowrap}.seal-text{display:grid;inline-size:46px;block-size:46px;place-items:center;border:2px solid var(--clay);border-radius:50%;color:var(--clay);font-family:var(--serif);font-size:18px;transform:rotate(-8deg)}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:24px}.nav-links a{position:relative;color:var(--text);font-family:var(--sans);font-size:14px;transition:color .18s ease,transform .18s var(--ease-spring)}.nav-links a:hover,.nav-links a:focus-visible{color:var(--clay);transform:translateY(-1px)}.nav-links a:after{position:absolute;inset-inline:0;inset-block-end:-12px;block-size:2px;background:var(--clay);transform:scaleX(0);transform-origin:center;transition:transform .22s var(--ease-out);content:""}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.landing-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:60px;align-items:center;min-block-size:620px;padding:42px 0 38px}.kicker,.section-num,.case-meta,dt,.project-type,.contact-card span{color:var(--clay);font-family:var(--mono);font-size:12px;line-height:1.3;text-transform:uppercase}h1{max-width:9ch;margin-top:18px;color:var(--ink);font-size:86px;font-weight:500;line-height:.98;text-wrap:balance}.role-line{max-width:48ch;margin-top:20px;color:var(--clay);font-family:var(--mono);font-size:16px;line-height:1.45;text-transform:uppercase}.intro{max-width:63ch;margin-top:22px;color:var(--ink);font-family:var(--sans);font-size:20px;line-height:1.75}.hero-actions,.metric-strip,.tag-cloud{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.hero-actions{margin-top:28px}.button{position:relative;display:inline-flex;overflow:hidden;min-block-size:44px;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:8px;padding:0 18px;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:14px;font-weight:650;transition:border-color .22s ease,box-shadow .22s ease,transform .22s var(--ease-spring),background .22s ease,color .22s ease}.button:before{position:absolute;inset:-1px;background:radial-gradient(120px circle at var(--card-x) var(--card-y),rgba(255,250,240,.34),transparent 58%),linear-gradient(105deg,transparent 30%,rgba(255,250,240,.28),transparent 62%);opacity:0;transform:translate(-18%);transition:opacity .22s ease,transform .42s var(--ease-out);content:""}.button>*{position:relative}.button.ghost{background:transparent;color:var(--ink)}.button:hover,.button:focus-visible{box-shadow:0 14px 30px #17324a24;transform:translateY(-3px)}.button:hover:before,.button:focus-visible:before{opacity:1;transform:translate(12%)}.identity-line{margin-top:22px;color:var(--muted);font-family:var(--sans);font-size:14px}.hero-art{position:relative;isolation:isolate;min-block-size:430px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--soft-shadow);transform:translateZ(0);transition:border-color .42s ease,box-shadow .42s ease,transform .7s var(--ease-out)}.hero-art:before{position:absolute;inset:0;z-index:1;background:radial-gradient(520px circle at var(--card-x) var(--card-y),rgba(255,250,240,.32),transparent 58%),linear-gradient(130deg,rgba(255,250,240,.24),transparent 42%);opacity:0;pointer-events:none;transition:opacity .32s ease;content:""}.hero-art:hover{border-color:#934b3f5c;box-shadow:0 28px 80px #241e1424;transform:translateY(-4px)}.hero-art:hover:before{opacity:0}.hero-art img{width:100%;height:100%;min-height:430px;object-fit:cover;transition:transform .9s cubic-bezier(.2,.72,.16,1)}.hero-art:after,.visual-slot:after,.stage-visual:after,.case-study-media:after{position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 38%,rgba(255,255,255,.34) 48%,transparent 58%),radial-gradient(circle at 24% 24%,rgba(23,50,74,.06),transparent 34%);opacity:0;transform:translate(-60%);pointer-events:none;content:""}.metric-row{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-block:1px solid var(--line);padding:18px 0}.metric-row article{position:relative;border-inline-start:1px solid var(--line);padding-inline-start:18px;transition:border-color .26s ease,transform .26s var(--ease-spring)}.metric-row article:after{position:absolute;inset:-12px -8px;z-index:-1;border-radius:10px;background:radial-gradient(circle at 30% 20%,rgba(220,235,241,.58),transparent 62%);opacity:0;transform:scale(.96);transition:opacity .26s ease,transform .26s var(--ease-out);content:""}.metric-row article:hover{border-color:#934b3f61;transform:translateY(-2px)}.metric-row article:hover:after{opacity:1;transform:scale(1)}.metric-row article:first-child{border-inline-start:0}.metric-row strong{display:block;color:var(--ink);font-family:var(--mono);font-size:28px;font-weight:700;line-height:1.1}.metric-row span{display:block;margin-top:4px;color:var(--text);font-family:var(--sans);font-size:14px;font-weight:650}.metric-row p{margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:12px;line-height:1.45}.gallery-section,.feature-stage,.case-study-section,.stack-section,.principles-section,.contact-footer{scroll-margin-top:96px;border-block-end:1px solid var(--line);padding:58px 0}.section-head,.stack-section{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px}.section-head{margin-bottom:26px}.section-head h2,.stack-section h2{max-width:22ch;color:var(--ink);font-size:46px;font-weight:500;line-height:1.08;text-wrap:balance}.section-head p,.stack-section>div>p{max-width:78ch;margin-top:14px;color:var(--ink-soft);font-family:var(--sans);font-size:18px;line-height:1.62}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.gallery-card{position:relative;isolation:isolate;display:grid;grid-column:span 3;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fbf8efeb;box-shadow:var(--shadow);transform-style:preserve-3d;transition:border-color .36s ease,box-shadow .36s ease,transform .42s var(--ease-out)}.gallery-card:before,.case-study:before,.feature-stage:before,.stack-grid article:before,.contact-card:before{position:absolute;inset:0;z-index:1;background:radial-gradient(520px circle at var(--card-x) var(--card-y),rgba(255,250,240,.68),transparent 46%),radial-gradient(360px circle at var(--card-x) var(--card-y),rgba(220,235,241,.42),transparent 60%);opacity:0;pointer-events:none;transition:opacity .26s ease;content:""}.gallery-card>*,.case-study>*,.feature-stage>*,.stack-grid article>*,.contact-card>*{position:relative;z-index:2}.gallery-card:hover,body.animations-enabled .gallery-card[data-reveal].in-view:hover{border-color:#934b3f57;box-shadow:0 28px 84px #241e1429;transform:translateY(-6px)}.gallery-card:hover:before,.case-study:hover:before,.case-study.is-active:before,.feature-stage:hover:before,.stack-grid article:hover:before,.contact-card:hover:before,.contact-card:focus-visible:before{opacity:1}.gallery-card.lead{grid-column:span 6;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.visual-slot,.case-study-media,.stage-visual{position:relative;z-index:0;overflow:hidden;background:linear-gradient(135deg,#dcebf1f0,#fbf8efeb),var(--sky)}.gallery-card:hover .visual-slot:after,.feature-stage:hover .stage-visual:after,.case-study.is-active .case-study-media:after{animation:none}.visual-slot.has-artifact img,.stage-visual.has-artifact img{width:100%;height:100%;min-height:340px;object-fit:cover;transition:filter .7s var(--ease-out),transform .7s var(--ease-out)}.case-study-media{display:grid;min-block-size:clamp(430px,66vh,720px);place-items:center;padding:clamp(14px,1.4vw,24px);align-self:start}.case-study-media img{width:100%;height:auto;max-height:min(680px,64vh);border:1px solid var(--line);border-radius:6px;object-fit:contain;box-shadow:0 18px 48px #17324a14;transition:filter .8s var(--ease-out),transform .8s var(--ease-out),box-shadow .8s var(--ease-out)}.gallery-card.lead .visual-slot.has-artifact img{min-height:430px}.gallery-card:hover .visual-slot.has-artifact img,.feature-stage:hover .stage-visual.has-artifact img{filter:saturate(1.04) contrast(1.02);transform:none}.gallery-copy,.case-study-copy,.stage-copy{padding:24px}.case-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.case-meta b,.tag-cloud span,.metric-chip{border:1px solid rgba(23,50,74,.08);border-radius:999px;padding:4px 10px;background:var(--mint);color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.2;text-transform:none}.project-type{display:block;margin-top:18px;color:var(--muted)}.gallery-card h3,.case-study h3,.feature-stage h2,.stack-grid h3,.principles-section h3{color:var(--text);font-size:30px;font-weight:500;line-height:1.16;text-wrap:balance}.gallery-card h3{margin-top:8px}.gallery-copy p,.stage-copy p,.principles-section p{margin-top:10px;color:var(--ink-soft);font-family:var(--sans);font-size:16px;line-height:1.58}.metric-strip{gap:7px;margin-top:18px}.metric-chip{background:#dcebf1b8}.feature-stage{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);min-block-size:520px;border:1px solid var(--line);background:var(--charcoal);color:var(--cream);box-shadow:var(--shadow);overflow:hidden;transition:border-color .36s ease,box-shadow .36s ease,transform .42s var(--ease-out)}.feature-stage:before{background:radial-gradient(640px circle at var(--card-x) var(--card-y),rgba(184,132,59,.2),transparent 46%),radial-gradient(480px circle at var(--card-x) var(--card-y),rgba(255,250,240,.12),transparent 62%)}.feature-stage:hover{border-color:#d8a1976b;box-shadow:0 30px 90px #241e1433;transform:translateY(-4px)}.feature-stage .section-num{color:#d8a197}.feature-stage h2{color:var(--cream);font-size:44px}.feature-stage p{color:#fffaf0c2}.stage-copy{display:grid;align-content:end;gap:14px;padding:32px}.stage-visual.has-artifact img{min-height:100%}.case-study-list{display:grid;gap:clamp(24px,4vw,72px)}.case-study{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(640px,1.34fr) minmax(340px,.66fr);align-items:start;min-block-size:min(860px,calc(100vh - 92px));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fbf8efeb;box-shadow:var(--soft-shadow);transform-style:preserve-3d;transition:border-color .36s ease,box-shadow .36s ease,transform .36s ease}.case-study.is-active{border-color:#934b3f80;box-shadow:0 24px 78px #241e1424;transform:translateY(-2px)}.case-study:hover,body.animations-enabled .case-study[data-reveal].in-view:hover{border-color:#934b3f6b;box-shadow:0 30px 88px #241e1429;transform:translateY(-4px)}.case-study.is-active .case-study-media img{transform:none;box-shadow:0 26px 64px #17324a1c}.case-study-copy{position:sticky;inset-block-start:96px;align-self:start;padding-block:clamp(22px,2.7vw,42px)}.case-study h3{margin-top:14px}dl{display:grid;gap:16px;margin:20px 0 0}dd{margin:5px 0 0;color:var(--muted);font-family:var(--sans);font-size:14px;line-height:1.5}body.animations-enabled [data-reveal]{opacity:0;filter:blur(10px);transform:translate3d(0,34px,0) scale(.982);transition:filter .82s var(--ease-out),opacity .82s var(--ease-out),transform .82s var(--ease-out);transition-delay:var(--delay, 0ms);will-change:opacity,transform}body.animations-enabled [data-reveal].in-view{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}body.animations-enabled .landing-hero[data-reveal]:not(.in-view){transform:translate3d(0,22px,0) scale(.992)}body.animations-enabled .section-head[data-reveal]:not(.in-view){transform:translate3d(-18px,20px,0) scale(.992)}@keyframes scan{0%{opacity:0;transform:translate(-70%)}25%{opacity:1}to{opacity:0;transform:translate(70%)}}@supports (animation-timeline: view()){.hero-art img,.case-study-media img{animation:none}}@keyframes hero-drift{0%{transform:scale(1.035) translateY(10px)}to{transform:scale(1.015) translateY(-10px)}}@keyframes artifact-breathe{0%{transform:scale(.985)}45%{transform:scale(1.02)}to{transform:scale(.99)}}.stack-section{align-items:start}.stack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stack-grid article{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:8px;padding:20px;background:#fbf8efe6;box-shadow:var(--soft-shadow);transition:border-color .26s ease,box-shadow .26s ease,transform .26s var(--ease-spring)}.stack-grid article:hover,body.animations-enabled .stack-grid article[data-reveal].in-view:hover{border-color:#934b3f57;box-shadow:0 18px 54px #241e141f;transform:translateY(-4px)}.stack-grid h3{margin-bottom:16px;color:var(--ink);font-size:24px}.principles-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.principles-section article{border-inline-start:1px solid var(--line);padding-inline-start:20px}.principles-section h3{color:var(--ink);font-size:22px}.contact-footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.contact-card{position:relative;isolation:isolate;display:block;overflow:hidden;border:1px solid var(--line);border-radius:8px;padding:18px;background:#fbf8efe6;box-shadow:0 1px #ffffff75 inset}a.contact-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s var(--ease-spring)}a.contact-card:hover,a.contact-card:focus-visible{border-color:var(--ink);box-shadow:0 1px #fff9 inset,0 18px 44px #241e141c;transform:translateY(-4px)}.contact-card strong{display:block;margin-top:8px;color:var(--ink);font-size:18px;font-weight:500;overflow-wrap:anywhere}.contact-card p{margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:13px;line-height:1.45}@media(max-width:1100px){.landing-hero,.feature-stage,.section-head,.stack-section,.case-study,.gallery-card.lead{grid-template-columns:1fr}.gallery-card,.gallery-card.lead{grid-column:span 6}.metric-row,.contact-footer{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-media img{max-height:520px}.case-study,.case-study-copy{min-block-size:auto}.case-study-copy{position:static}.case-study-media{min-block-size:360px}}@media(max-width:720px){.site-shell{width:min(100% - 24px,1520px);padding-top:22px}.topbar{grid-template-columns:1fr}.nav-links{justify-content:flex-start;gap:14px}.landing-hero{min-block-size:auto;padding-top:38px}h1{font-size:52px}.intro{font-size:18px}.section-head h2,.stack-section h2,.feature-stage h2{font-size:34px}.metric-row,.stack-grid,.principles-section,.contact-footer{grid-template-columns:1fr}.metric-row article,.metric-row article:first-child{border-inline-start:1px solid var(--line);padding-inline-start:16px}.gallery-copy,.case-study-copy,.stage-copy{padding:20px}}@media(max-width:460px){.nav-links a{font-size:13px}h1{font-size:44px}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.gallery-card h3,.case-study h3{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}body.animations-enabled [data-reveal]{opacity:1;filter:none;transform:none}body:before{mask-image:none}body:after,.gallery-card:before,.case-study:before,.feature-stage:before,.stack-grid article:before,.contact-card:before,.hero-art:before,.button:before{display:none}}
