:root{--paper: #efe7d8;--paper-2: #e7dcc6;--ink: #211c17;--ink-2: #2b251e;--ink-soft: #544b3f;--accent: #c1573a;--cream: #fbf6ec;--line: rgba(33, 28, 23, .14);--title-font: "Spectral", Georgia, serif;--body-font: "Hanken Grotesk", system-ui, sans-serif;--mono-font: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{display:block;max-width:100%}button,input,textarea{font:inherit}::selection{background:var(--accent);color:var(--cream)}.site-shell{position:relative;overflow-x:clip;background:var(--paper)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22220%22 height=%22220%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.82%22 numOctaves=%222%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22/%3E%3C/svg%3E")}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(22px,5vw,72px)}.site-header{position:fixed;inset:0 0 auto;z-index:100;border-bottom:1px solid transparent;transform:translateZ(0);transition:background .45s,backdrop-filter .45s,border-color .45s}.site-header.is-scrolled{background:#efe7d8d9;border-bottom-color:var(--line);-webkit-backdrop-filter:saturate(1.15) blur(12px);backdrop-filter:saturate(1.15) blur(12px)}.header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand,.footer-brand{display:flex;align-items:baseline;gap:9px;color:var(--ink);font-family:var(--title-font);font-size:22px;font-weight:600;letter-spacing:-.01em;text-decoration:none}.brand span,.footer-brand span{color:var(--accent);font-family:var(--mono-font);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:34px}.desktop-nav a,.text-link,.footer a{color:inherit;font-weight:600;text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;transition:background-size .4s,color .3s}.desktop-nav a{font-size:14.5px;font-weight:500}.desktop-nav a:hover,.text-link:hover,.footer a:hover{color:var(--accent);background-size:100% 1.5px}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;border:none;background:transparent;cursor:pointer;z-index:101}.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;align-items:center;justify-content:center;background:var(--paper);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .35s ease,transform .35s ease,visibility 0s linear .35s}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .35s ease,transform .35s ease}.mobile-nav nav{display:flex;flex-direction:column;align-items:center;gap:32px}.mobile-nav nav a{font-family:var(--title-font);font-size:30px;font-weight:600;color:var(--ink);text-decoration:none}.mobile-nav nav a:hover{color:var(--accent)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;color:var(--cream);font-weight:600;text-decoration:none;border-radius:3px;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .35s,color .35s,border-color .35s,filter .35s,box-shadow .35s}.header-cta{padding:11px 18px;background:var(--accent);font-size:14px}.button{padding:17px 28px;border:1px solid transparent;font-size:16px}.button:hover,.header-cta:hover{filter:brightness(.92);box-shadow:0 12px 26px -16px #211c178c;transform:translateY(-2px)}.button-primary{background:var(--accent)}.button-outline{color:var(--ink);border-color:var(--ink);padding:14px 22px;font-size:15.5px}.button-outline:hover{color:var(--paper);background:var(--ink)}.button-ghost{align-self:flex-start;color:var(--cream);background:transparent;border-color:#efe7d866;cursor:pointer}.button-ghost:hover{color:var(--ink);background:var(--cream);border-color:var(--cream)}.section,.hero{position:relative}.hero{padding:150px 0 clamp(72px,10vh,124px);overflow:hidden;background-image:radial-gradient(rgba(33,28,23,.05) 1px,transparent 1px);background-size:28px 28px}.glow{position:absolute;width:54vw;max-width:680px;height:680px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,#c1573a29,#c1573a00)}.hero-glow{top:-90px;right:-120px}.hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);align-items:center;gap:clamp(44px,6vw,82px)}.eyebrow{margin:0 0 26px;color:var(--accent);font-family:var(--mono-font);font-size:12px;letter-spacing:.17em;line-height:1.7;text-transform:uppercase}h1,h2,h3,p{overflow-wrap:anywhere}h1,.section-title,.contact-title{margin:0;color:var(--ink);font-family:var(--title-font);font-weight:600;letter-spacing:-.018em}h1{max-width:760px;font-size:clamp(42px,7vw,102px);line-height:.99}h1 em{color:var(--accent);font-style:italic}.hero-text,.body-large,.section-note{color:var(--ink-soft);font-size:clamp(16px,1.15vw,19px);line-height:1.64}.hero-text{max-width:540px;margin:30px 0 0}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin-top:38px}.text-link{color:var(--ink);font-size:16px}.text-link.light{color:var(--cream)}.proof-line{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:40px;color:var(--ink-soft);font-family:var(--mono-font);font-size:12px;letter-spacing:.04em}.proof-line span:not(:first-child):before{content:"·";margin-right:18px;color:var(--accent)}.hero-visual{position:relative;min-height:clamp(430px,54vh,590px)}.browser-frame{overflow:hidden;background:#f6f2ea;border:1px solid rgba(33,28,23,.16);box-shadow:0 28px 70px -44px #211c179e}.main-frame{width:min(100%,560px);transform:rotate(1.2deg)}.browser-bar{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;background:#211c170d;border-bottom:1px solid rgba(33,28,23,.1)}.browser-bar span{width:8px;height:8px;border-radius:50%;background:#211c1740}.browser-bar strong{margin-left:6px;color:var(--ink-soft);font-family:var(--mono-font);font-size:10px;font-weight:500;letter-spacing:.04em}.browser-frame img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:top left}.portrait-frame{position:relative;width:min(100%,460px);min-height:clamp(400px,48vh,470px);margin:0 auto;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 28px 70px -44px #211c179e;transform:rotate(1.2deg)}.portrait-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#efe7d800 62%,#211c172e)}.portrait-frame img{width:100%;height:100%;min-height:clamp(400px,48vh,470px);object-fit:cover;object-position:50% 74%}.portrait-frame figcaption{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;width:100%;min-height:clamp(400px,48vh,470px);padding:22px;color:var(--ink-soft);font-family:var(--mono-font);font-size:11px;letter-spacing:.05em;text-align:center;background:repeating-linear-gradient(135deg,rgba(33,28,23,.07) 0 1.5px,transparent 1.5px 13px)}.process-metric{width:fit-content;max-width:245px;margin-top:30px;padding:18px 22px;color:var(--paper);background:var(--ink);border:1px solid rgba(239,231,216,.14);border-radius:3px;box-shadow:0 22px 40px -26px #000000b3}.process-metric strong{display:block;color:var(--cream);font-family:var(--title-font);font-size:34px;line-height:1}.process-metric span{display:block;margin-top:7px;color:#fbf6ecb8;font-size:12.5px;line-height:1.45}.section{padding:clamp(84px,13vh,168px) 0;scroll-margin-top:74px}.split,.process-layout,.contact-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:clamp(40px,6vw,90px)}.section-title{font-size:clamp(30px,4.6vw,60px);line-height:1.04}.body-large{margin:0}.body-large strong{color:var(--ink);font-weight:600}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.badges span{padding:9px 14px;border:1px solid var(--line);border-radius:2px;color:var(--ink);font-family:var(--mono-font);font-size:12px;letter-spacing:.03em}.experience-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:clamp(48px,7vw,84px)}.experience-list article{border-top:1px solid var(--line);padding-top:22px}.experience-list h3,.why-item h3{margin:0;color:var(--accent);font-family:var(--title-font);font-size:22px;font-weight:600}.experience-list p,.why-item p,.step p,.work-card p{margin:10px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.6}.dark-section{overflow:hidden;color:var(--paper);background:var(--ink)}.dark-section .section-title,.dark-section .contact-title,.dark-section h3{color:var(--cream)}.dark-section .section-note,.dark-section .step p{color:#efe7d8b8}.process-glow{top:10%;right:-160px;width:46vw;max-width:540px;height:540px;background:radial-gradient(closest-side,#c1573a2e,#c1573a00)}.section-sticky{position:sticky;top:104px;align-self:start}.steps{display:flex;flex-direction:column}.step{display:flex;gap:24px;padding:30px 0 34px;border-top:1px solid rgba(239,231,216,.18)}.step>span{flex:0 0 auto;width:1.6em;color:var(--accent);font-family:var(--title-font);font-size:clamp(38px,5vw,58px);font-weight:600;line-height:.9}.step h3{margin:0;font-family:var(--title-font);font-size:25px;font-weight:600}.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 60px;margin-bottom:clamp(40px,5vw,64px)}.section-head>div{max-width:670px}.section-head .section-note{max-width:330px;margin:0;font-family:var(--mono-font);font-size:12px}.stack-grid{border-top:1px solid var(--line)}.stack-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:6px 48px;align-items:baseline;padding:clamp(22px,2.6vw,32px) 0;border-bottom:1px solid var(--line)}.stack-row h3{margin:0;color:var(--ink);font-family:var(--title-font);font-size:clamp(22px,2.6vw,32px);font-weight:600}.stack-row:last-child h3{color:var(--accent)}.stack-row small{display:block;margin-top:9px;color:var(--ink-soft);font-family:var(--mono-font);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.stack-row p{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0;color:var(--ink-soft);font-family:var(--mono-font);font-size:14px}.stack-row p span{transition:color .25s}.stack-row p span:hover{color:var(--accent)}.why{overflow:hidden;background:var(--paper-2)}.why-glow{bottom:-180px;left:-120px;width:46vw;max-width:520px;height:520px;background:radial-gradient(closest-side,#c1573a1f,#c1573a00)}.why-title{max-width:16ch;margin-bottom:clamp(40px,5vw,64px)}.why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.why-item{grid-column:span 3;border-top:1px solid var(--line);padding-top:24px}.why-item.featured{border-top:2px solid var(--accent)}.why-item.featured h3{color:var(--ink);font-size:clamp(24px,2.6vw,34px);line-height:1.1}.work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}.work-card{grid-column:span 3;overflow:hidden;background:#fbf6ec47;border:1px solid var(--line);transition:transform .35s,box-shadow .35s,border-color .35s}.work-card.wide{grid-column:span 6}.work-card:hover{border-color:#c1573a73;box-shadow:0 18px 42px -28px #211c1780;transform:translateY(-3px)}.work-card img{width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:top left;border-bottom:1px solid var(--line)}.work-card>div{padding:18px 20px 22px}.work-card span{color:var(--accent);font-family:var(--mono-font);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.work-card h3{margin:9px 0 0;color:var(--ink);font-family:var(--title-font);font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.1}.contact{padding:clamp(90px,15vh,188px) 0 clamp(70px,9vh,120px)}.contact-glow{top:-120px;right:-80px;width:50vw;max-width:600px;height:600px;background:radial-gradient(closest-side,#c1573a38,#c1573a00)}.contact-title{font-size:clamp(38px,6vw,86px);line-height:.99}.contact-layout{position:relative;align-items:center}.contact .section-note{max-width:460px;margin-top:28px}.contact-form{display:flex;flex-direction:column;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:8px}.contact-form span{color:#efe7d899;font-family:var(--mono-font);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;padding:10px 2px;color:var(--cream);background:transparent;border:none;border-bottom:1px solid rgba(239,231,216,.28);outline:none;resize:vertical;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form ::placeholder{color:#efe7d873}.footer{color:#efe7d8c7;background:var(--ink-2);border-top:1px solid rgba(239,231,216,.12);padding:clamp(54px,7vw,80px) 0 40px}.footer-layout{display:flex;flex-wrap:wrap;gap:32px 60px;justify-content:space-between;align-items:flex-start}.footer-brand{color:var(--cream);font-size:26px}.footer p{max-width:340px;margin:14px 0 0;color:#efe7d89e;font-size:14.5px;line-height:1.6}.footer-links{display:flex;flex-wrap:wrap;gap:50px}.footer-links>div{display:flex;flex-direction:column;gap:13px}.footer h2{margin:0 0 2px;color:#efe7d873;font-family:var(--mono-font);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.footer a{color:#efe7d8d1;font-size:15px}.legal{max-width:310px}.legal summary{cursor:pointer;color:#efe7d8d1;font-size:14px;list-style:none}.legal p{margin-top:12px;font-family:var(--mono-font);font-size:11.5px;letter-spacing:.01em;line-height:1.85}.footer-bottom{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;margin-top:clamp(40px,5vw,60px);padding-top:24px;border-top:1px solid rgba(239,231,216,.12);color:#efe7d873;font-family:var(--mono-font);font-size:11.5px;letter-spacing:.03em}.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms),transform .9s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal-left{transform:translate(-42px)}.reveal-right{transform:translate(42px)}.reveal-scale{transform:scale(.94)}.reveal.is-visible{opacity:1;transform:none}@media (max-width: 920px){.hero-layout,.split,.process-layout,.contact-layout{grid-template-columns:1fr}.section-sticky{position:static}.desktop-nav{display:none}.menu-toggle{display:flex}.hero-visual{min-height:430px}.experience-list{grid-template-columns:1fr}}@media (max-width: 680px){.header-inner{height:66px}.brand{font-size:20px}.header-cta{padding:10px 13px;font-size:13px}.hero{padding-top:122px}h1{font-size:clamp(40px,13vw,64px)}.hero-actions,.button{width:100%}.text-link{width:auto}.hero-visual{min-height:360px}.step{gap:16px}.stack-row,.why-grid,.work-grid{grid-template-columns:1fr}.why-item,.work-card,.work-card.wide{grid-column:auto}.work-card img{aspect-ratio:4 / 3}.footer-links{width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
