:root{--bg:#f7f4ef;--bg-rgb:247,244,239;--ink:#161616;--body:#4a4741;--muted:#57534c;--faint:#7a756d;--border:#e2e2e2;--border-strong:#e9e9e9;--border-hover:#cfcfcf;--accent:#ff9d00;--accent-dark:#b85c00;--placeholder-bg:#f2f2f2;--section-px:72px}@media (max-width:1024px){:root{--section-px:40px}}@media (max-width:640px){:root{--section-px:20px}}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:Jost,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Fraunces,serif;margin:0}img{max-width:100%}.mono{font-family:IBM Plex Mono,monospace}.hover-accent{transition:color .4s cubic-bezier(.2,.8,.2,1)}.hover-accent:hover{color:var(--accent-dark)}.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.13;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>")}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.reveal[data-visible=true]{opacity:1;transform:none}.split-char{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .6s cubic-bezier(.2,.8,.2,1) var(--char-delay,0s),transform .7s cubic-bezier(.2,.8,.2,1) var(--char-delay,0s)}.split-char[data-visible=true]{opacity:1;transform:none}.split-word{display:inline-block;white-space:nowrap}.next-card{transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .5s}.next-card:hover{transform:translateY(-3px);border-color:var(--border-hover)}.email-cta:hover{background:var(--accent)!important;color:var(--ink)!important;transform:translateY(-2px)}.link-underline:hover{color:var(--accent-dark)}.faq-trigger{transition:color .4s cubic-bezier(.2,.8,.2,1)}.faq-icon{display:inline-block;transition:transform .4s cubic-bezier(.4,0,.2,1)}.faq-icon[data-open=true]{transform:rotate(45deg)}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}.faq-panel[data-open=true]{grid-template-rows:1fr}.faq-panel-inner{overflow:hidden}.hover-project-img{transform:scale(1.001);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.hover-project-label{opacity:0;transform:translateY(8px);transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1)}.hover-project-card:hover .hover-project-img{transform:scale(1.055)}.hover-project-card:hover .hover-project-label{opacity:1;transform:none}.client-logo-card{position:relative;height:92px;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:0 28px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s cubic-bezier(.2,.8,.2,1),border-color .45s ease}.client-logo-card--light{background:#ffffff;border:1px solid var(--border-strong);box-shadow:0 10px 30px -22px rgba(20,48,31,.18)}.client-logo-card--dark{background:#161616;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px -20px rgba(20,48,31,.3)}.client-logo-card:hover{transform:translateY(-4px)}.client-logo-card--light:hover{border-color:rgba(22,22,22,.14);box-shadow:0 18px 40px -18px rgba(20,48,31,.28)}.client-logo-card--dark:hover{box-shadow:0 18px 40px -14px rgba(20,48,31,.5)}.client-logo-img{filter:grayscale(1);opacity:.7;transition:filter .45s ease,opacity .45s ease}.client-logo-card:hover .client-logo-img{filter:grayscale(0);opacity:1}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;padding:20px var(--section-px);border-radius:0 0 28px 28px;background:rgba(var(--bg-rgb),.6);border-bottom:1px solid rgba(22,22,22,.07);box-shadow:0 10px 30px -20px rgba(20,48,31,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}.site-header[data-scrolled=true]{background:rgba(var(--bg-rgb),.85);border-color:rgba(22,22,22,.1);box-shadow:0 14px 34px -16px rgba(20,48,31,.38);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.site-footer{--bg:#14301f;--ink:#f7f4ef;--faint:rgba(247,244,239,0.55);--muted:rgba(247,244,239,0.72);--border:rgba(247,244,239,0.16);--accent-dark:var(--accent);background:var(--bg);color:var(--ink)}.rail-grid{display:grid;grid-template-columns:260px minmax(0,1fr)}@media (max-width:1024px){.rail-grid{grid-template-columns:1fr!important;gap:20px!important}}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.works-grid-item:nth-child(2n){margin-top:48px}@media (max-width:680px){.works-grid{grid-template-columns:1fr}.works-grid-item:nth-child(2n){margin-top:0}}.two-col-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}@media (max-width:680px){.two-col-grid{grid-template-columns:1fr!important;gap:32px!important}}.portrait-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr)}@media (max-width:1024px){.portrait-grid{grid-template-columns:1fr!important;gap:28px!important}.portrait-grid>:first-child{max-width:280px}}.label-row{display:grid;grid-template-columns:190px minmax(0,1fr);grid-gap:24px;gap:24px}@media (max-width:1024px){.label-row{grid-template-columns:1fr;gap:6px}}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);grid-gap:80px;gap:80px}@media (max-width:680px){.contact-grid{grid-template-columns:1fr;gap:40px}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px}@media (max-width:560px){.form-grid{grid-template-columns:1fr}}.stack-below{display:flex}@media (max-width:640px){.stack-below{flex-direction:column;align-items:flex-start!important}}.menu-toggle{display:none;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;width:40px;height:40px;padding:0;border:none;background:none;cursor:pointer;flex:none}.menu-line{display:block;height:1.5px;border-radius:1px;background:var(--ink);transition:width .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.menu-line-1{width:26px}.menu-line-2{width:16px}.menu-line-3{width:22px}.menu-toggle[aria-expanded=true] .menu-line-1{width:24px;transform:translateY(7.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-line-2{width:24px;opacity:0}.menu-toggle[aria-expanded=true] .menu-line-3{width:24px;transform:translateY(-7.5px) rotate(-45deg)}.mobile-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--bg);padding:var(--section-px);visibility:hidden;transform:translateX(100%);box-shadow:-24px 0 60px rgba(20,48,31,0);transition:transform .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1),visibility 0s linear .5s;pointer-events:none}.mobile-overlay[data-open=true]{visibility:visible;transform:translateX(0);box-shadow:-24px 0 60px rgba(20,48,31,.18);pointer-events:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s cubic-bezier(.2,.8,.2,1)}.mobile-overlay-header{display:flex;align-items:center;justify-content:space-between}.mobile-overlay-nav{display:flex;flex-direction:column;justify-content:center;flex:1 1;gap:6px}.mobile-overlay-link{display:flex;align-items:baseline;gap:16px;padding:16px 0;border-top:1px solid var(--border-strong);font-family:Fraunces,serif;font-size:clamp(28px,9vw,40px);letter-spacing:-.02em;opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1),color .4s cubic-bezier(.2,.8,.2,1)}.mobile-overlay[data-open=true] .mobile-overlay-link{opacity:1;transform:none}@media (max-width:860px){.menu-toggle{display:flex}.hide-mobile,.nav-row{display:none!important}}