:root{--ink:#161616;--paper:#f3f1eb;--paper-dark:#e8e4db;--line:#c9c4b9;--muted:#65635e;--accent:#e44c2a;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Space Grotesk",Arial,sans-serif;font-size:16px;line-height:1.5}.container{width:min(92%,var(--max));margin:0 auto}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,241,235,.94);backdrop-filter:blur(8px);z-index:10}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;font-weight:600}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--ink);color:var(--paper);font:500 10px "DM Mono",monospace;letter-spacing:-.08em}.main-nav{display:flex;gap:25px;font-size:14px}.main-nav a{padding:5px 0}.main-nav a:hover,.text-link:hover,.site-footer a:hover{color:var(--accent)}.nav-toggle{display:none;border:0;background:none;font:500 13px "DM Mono",monospace;color:var(--ink)}.hero{padding:clamp(70px,13vw,175px) 0 42px}.eyebrow,.work-index,.hero-meta,.tags,.site-footer{font:400 11px "DM Mono",monospace;letter-spacing:.02em;text-transform:uppercase}.eyebrow{margin:0;color:var(--muted)}.hero-copy{display:grid;grid-template-columns:1.55fr .65fr;gap:8%;align-items:end;margin-top:32px}.hero h1{font-size:clamp(3.5rem,8.2vw,8.2rem);line-height:.91;letter-spacing:-.075em;font-weight:600;margin:0;max-width:900px}.hero-intro{max-width:360px;margin-bottom:9px;color:#393833}.hero-intro p{margin:0 0 25px}.text-link{display:inline-flex;gap:10px;align-items:center;font-size:14px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:3px}.hero-meta{border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);margin-top:85px;padding-top:12px}.work-section{background:var(--ink);color:var(--paper);padding:94px 0 88px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:68px}.section-heading>p:last-child{font-size:18px;margin:0;max-width:460px}.work-list{border-top:1px solid #4a4945}.work-item{display:grid;grid-template-columns:1.6fr .9fr;gap:8%;padding:28px 0;border-bottom:1px solid #4a4945;align-items:center}.work-item-reverse .work-image{order:2}.work-image{display:block;overflow:hidden;background:#292825;aspect-ratio:16/9}.work-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .5s ease,filter .5s ease}.work-image:hover img{transform:scale(1.035);filter:saturate(1)}.work-details h2{font-size:clamp(1.8rem,3.2vw,3.2rem);line-height:1;margin:10px 0 17px;letter-spacing:-.055em}.work-index{color:#aaa69e;margin:0}.work-summary{color:#d1cec6;max-width:310px;margin:0 0 24px}.tags{padding:0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:7px;list-style:none;color:#b9b5ad}.tags li{border:1px solid #5b5954;padding:4px 7px}.all-work{display:block;text-align:right;margin-top:26px;font:400 12px "DM Mono",monospace;text-transform:uppercase}.about-section{padding:112px 0}.about-grid{margin-top:35px;display:grid;grid-template-columns:1.1fr .75fr;gap:13%}.about-grid h2,.contact-grid h2{margin:0;font-size:clamp(2.4rem,4.5vw,4.8rem);line-height:.98;letter-spacing:-.07em;font-weight:600}.about-grid p{margin:0 0 18px;font-size:18px;color:#3e3c38}.toolkit{margin-top:35px;border-top:1px solid var(--line);padding-top:13px;display:flex;flex-wrap:wrap;gap:8px}.toolkit span{font:400 11px "DM Mono",monospace;padding:5px 7px;border:1px solid var(--line)}.contact-section{background:var(--accent);padding:92px 0;color:#20130f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact-grid h2{margin-top:35px}.contact-grid>div:last-child{font-size:18px}.email-link{display:inline-block;font-size:clamp(1.25rem,2.2vw,2.05rem);font-weight:500;border-bottom:1px solid currentColor;margin:17px 0 35px;overflow-wrap:anywhere}.contact-form{display:grid;gap:16px;max-width:480px}.contact-form label{display:grid;gap:7px;font:400 11px "DM Mono",monospace;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(32,19,15,.55);padding:8px 0;background:transparent;color:inherit;font:400 16px "Space Grotesk",sans-serif;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.form-submit{justify-self:start;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 17px;font:500 12px "DM Mono",monospace;text-transform:uppercase;cursor:pointer}.form-submit:hover{background:transparent;color:var(--ink)}#cf-status{font-size:14px;min-height:1.4em}.site-footer{padding:21px 0;display:flex;justify-content:space-between;color:var(--muted)}.site-footer div{display:flex;gap:20px}.proj-title{font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.07em;margin:90px 0 55px}.proj-title-sub{display:block;font:400 11px "DM Mono",monospace;letter-spacing:0;text-transform:none;margin-top:12px}.project-list{padding-bottom:80px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.project-card{position:relative;background:var(--paper);min-height:300px;overflow:hidden}.project-media{height:150px;background:var(--paper-dark);display:flex;align-items:center;justify-content:center}.project-media img{width:100%;height:100%;object-fit:cover}.project-body{padding:18px}.project-body h3{margin:0 0 7px;font-size:22px;letter-spacing:-.04em}.project-body h3 a:hover{color:var(--accent)}.muted{color:var(--muted)}.overlay{padding:0 18px 18px;font:400 11px "DM Mono",monospace;text-transform:uppercase;color:var(--muted)}
@media(max-width:720px){.header-inner{height:62px}.nav-toggle{display:block}.main-nav{display:none}.nav-open .main-nav{display:flex;position:absolute;top:62px;left:0;width:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 4%;flex-direction:column;gap:14px}.hero{padding-top:90px}.hero-copy,.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(3.35rem,16vw,5rem)}.hero-meta{margin-top:56px}.work-section,.about-section,.contact-section{padding:65px 0}.section-heading{margin-bottom:40px}.work-item,.work-item-reverse{grid-template-columns:1fr;gap:24px}.work-item-reverse .work-image{order:0}.work-details h2{font-size:2.25rem}.project-grid{grid-template-columns:1fr}.proj-title{margin:55px 0 35px}.site-footer{font-size:10px}.contact-grid h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-image img{transition:none}}
.hero{--hero-shift:0px;--hero-opacity:1;transform:translateY(var(--hero-shift));opacity:var(--hero-opacity);will-change:transform,opacity}
.has-scrolled .site-header{box-shadow:0 5px 18px rgba(22,22,22,.05)}.main-nav a{position:relative}.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}.text-link span,.email-link span,.all-work span{transition:transform .22s ease}.text-link:hover span,.email-link:hover span,.all-work:hover span{transform:translate(3px,-3px)}.form-submit{transition:background .2s ease,color .2s ease,transform .2s ease}.form-submit:hover{transform:translateY(-2px)}.project-card{transition:background .25s ease,transform .25s ease}.project-card:hover{background:#fff;transform:translateY(-4px)}.project-card:hover .project-media img{transform:scale(1.04)}.project-media img{transition:transform .45s ease}.projects-kicker{margin-top:72px}.js-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}.js-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.hero{transform:none;opacity:1}.js-reveal{opacity:1;transform:none;transition:none}.main-nav a::after{transition:none}.project-card,.form-submit,.project-media img{transition:none}}
body{--pointer-x:0px;--pointer-y:0px;background-color:var(--paper);background-image:radial-gradient(circle at calc(55% + var(--pointer-x)) calc(4% + var(--pointer-y)),rgba(228,76,42,.12),transparent 29rem),radial-gradient(circle at calc(0% - var(--pointer-x)) 56%,rgba(87,113,127,.10),transparent 32rem),linear-gradient(115deg,rgba(22,22,22,.025) 1px,transparent 1px);background-size:auto,auto,34px 34px}.hero{position:relative;isolation:isolate;overflow:hidden}.hero>*:not(.hero-atmosphere){position:relative;z-index:1}.hero-atmosphere{position:absolute;z-index:0;inset:0;pointer-events:none;overflow:hidden;perspective:900px}.atmosphere-orb{position:absolute;border-radius:50%;filter:blur(1px);will-change:transform}.orb-one{width:420px;height:420px;right:-125px;top:-125px;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.72),rgba(228,76,42,.20) 35%,rgba(228,76,42,0) 70%);transform:translate3d(var(--pointer-x),var(--pointer-y),0)}.orb-two{width:250px;height:250px;left:33%;bottom:-175px;background:radial-gradient(circle,rgba(73,109,126,.17),rgba(73,109,126,0) 68%);transform:translate3d(var(--pointer-x),var(--pointer-y),0)}.atmosphere-grid{position:absolute;inset:-15%;opacity:.36;background-image:linear-gradient(rgba(22,22,22,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(22,22,22,.10) 1px,transparent 1px);background-size:48px 48px;transform:rotateX(64deg) rotateZ(-8deg) translate3d(var(--pointer-x),var(--pointer-y),0);transform-origin:center 80%;mask-image:linear-gradient(to bottom,transparent,black 28%,transparent 84%)}.work-item{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.75,.25,1)}.work-details{transform:translateZ(16px)}.work-image{transform:translateZ(5px);box-shadow:0 14px 24px rgba(0,0,0,.10)}.work-item:hover .work-image{box-shadow:0 26px 40px rgba(0,0,0,.18)}.project-card{transform-style:preserve-3d}.project-card .project-body,.project-card .overlay{transform:translateZ(12px)}.brand-mark{transition:transform .3s cubic-bezier(.2,.75,.25,1),background .3s ease}.brand:hover .brand-mark{transform:rotate(-14deg) scale(1.12);background:var(--accent)}.toolkit span{transition:transform .2s ease,background .2s ease,color .2s ease}.toolkit span:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}.work-item .tags li{transition:background .2s ease,color .2s ease,transform .2s ease}.work-item:hover .tags li{background:rgba(243,241,235,.10);transform:translateY(-2px)}
@media(max-width:720px){body{background-size:auto,auto,26px 26px}.hero-atmosphere{opacity:.72}.orb-one{width:280px;height:280px;right:-105px;top:-75px}.atmosphere-grid{background-size:34px 34px}}
@media(prefers-reduced-motion:reduce){body{background-image:none}.atmosphere-orb,.atmosphere-grid{display:none}.work-item,.brand-mark,.toolkit span,.work-item .tags li{transition:none}}

/* Dark theme */
:root{--ink:#f4f0e9;--paper:#121212;--paper-dark:#1c1c1b;--line:#363633;--muted:#a19f98;--accent:#ee694a}
.site-header{background:rgba(18,18,18,.92)}
.hero-intro,.about-grid p{color:#cac7bf}
.work-section{background:#080808;color:var(--ink)}
.work-list{border-color:#3c3c38}.work-item{border-color:#3c3c38}
.has-scrolled .site-header{box-shadow:0 5px 22px rgba(0,0,0,.32)}
.project-card:hover{background:#222220}
body{background-image:radial-gradient(circle at calc(55% + var(--pointer-x)) calc(4% + var(--pointer-y)),rgba(255,255,255,.16),transparent 29rem),radial-gradient(circle at calc(0% - var(--pointer-x)) 56%,rgba(106,137,155,.12),transparent 32rem),linear-gradient(115deg,rgba(255,255,255,.035) 1px,transparent 1px)}
.orb-one{background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.30),rgba(255,255,255,.10) 35%,rgba(255,255,255,0) 70%)}
.atmosphere-grid{background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px)}
.home-page .site-header{background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:background .32s ease,border-color .32s ease,box-shadow .32s ease,backdrop-filter .32s ease}
.home-page.has-scrolled .site-header{background:rgba(18,18,18,.92);border-bottom-color:var(--line);backdrop-filter:blur(8px)}
.home-page .hero{overflow:visible}
.home-page .hero-atmosphere{top:-76px}
@media(max-width:720px){.home-page .hero-atmosphere{top:-62px}}
.brand-logo{width:34px;height:34px;border-radius:50%;object-fit:cover;display:block;transition:transform .3s cubic-bezier(.2,.75,.25,1),filter .3s ease}.brand:hover .brand-logo{transform:rotate(-10deg) scale(1.1);filter:brightness(1.12)}

/* Let each section belong to the full canvas, not a centred framed column. */
.container{width:100%;max-width:none;padding-inline:clamp(22px,4vw,64px)}
.legal-shell{padding-top:clamp(72px,10vw,132px);padding-bottom:96px}.legal-shell>h1{max-width:820px;margin:18px 0 10px;font-size:clamp(3.2rem,8vw,7rem);line-height:.9;letter-spacing:-.08em}.legal-updated{margin:0 0 64px;color:var(--muted);font:400 11px "DM Mono",monospace;text-transform:uppercase}.legal-grid{display:grid;grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);gap:clamp(36px,9vw,150px);border-top:1px solid var(--line);padding-top:26px}.legal-grid aside{align-self:start;position:sticky;top:104px;display:grid;gap:5px;font:400 12px "DM Mono",monospace;text-transform:uppercase}.legal-grid aside a{padding:9px 0;color:var(--muted);border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.legal-grid aside a:hover,.legal-grid aside a[aria-current="page"]{color:var(--ink);border-color:var(--accent)}.legal-grid article{max-width:760px}.legal-lead{margin:0 0 48px;font-size:clamp(1.3rem,2.1vw,1.8rem);line-height:1.35;color:#d4d0c8}.legal-grid section{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}.legal-grid h2{margin:0 0 10px;font-size:clamp(1.35rem,2vw,1.9rem);letter-spacing:-.045em}.legal-grid p{margin:0;color:#bdbab2;max-width:670px}.legal-grid article a{color:var(--ink);border-bottom:1px solid var(--accent)}.legal-page .site-footer{border-top:1px solid var(--line)}
@media(max-width:720px){.legal-page .main-nav{display:flex;gap:13px;font-size:12px}.legal-shell{padding-top:62px;padding-bottom:64px}.legal-updated{margin-bottom:42px}.legal-grid{grid-template-columns:1fr;gap:32px}.legal-grid aside{position:static;grid-template-columns:repeat(3,1fr);gap:14px}.legal-grid aside a{font-size:10px}.legal-grid section{padding-bottom:25px;margin-bottom:25px}}

/* Orange contact parallax */
.contact-section{--contact-parallax:0px;position:relative;isolation:isolate;overflow:hidden;background:var(--accent)}
.contact-section::before,.contact-section::after{content:"";position:absolute;z-index:-1;pointer-events:none;will-change:transform}
.contact-section::before{width:clamp(420px,64vw,900px);height:clamp(420px,64vw,900px);right:-18%;top:-35%;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.48),rgba(255,255,255,.12) 28%,rgba(255,255,255,0) 68%);transform:translate3d(0,var(--contact-parallax),0)}
.contact-section::after{inset:-32% -12%;opacity:.26;background-image:linear-gradient(rgba(32,19,15,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(32,19,15,.22) 1px,transparent 1px);background-size:54px 54px;transform:perspective(800px) rotateX(64deg) rotateZ(-8deg) translate3d(0,var(--contact-parallax-inverse),0);transform-origin:center 78%}
.contact-section .contact-grid{position:relative;z-index:1}
@media(max-width:720px){.contact-section::after{background-size:36px 36px}}
@media(prefers-reduced-motion:reduce){.contact-section::before,.contact-section::after{transform:none}}

/* Legal acknowledgement gate */
.consent-gate{overflow:hidden}.consent-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(7,7,7,.72);backdrop-filter:blur(15px);transition:opacity .25s ease,visibility .25s ease}.consent-overlay.is-leaving{opacity:0;visibility:hidden}.consent-card{width:min(100%,545px);padding:clamp(28px,5vw,52px);border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(35,35,33,.98),rgba(17,17,17,.99));box-shadow:0 30px 100px rgba(0,0,0,.48)}.consent-card h1{margin:15px 0 12px;font-size:clamp(2.25rem,5vw,3.65rem);line-height:.93;letter-spacing:-.075em}.consent-card>p:not(.eyebrow):not(.consent-note){margin:0 0 28px;color:#c8c4bc}.consent-choice{display:flex;align-items:flex-start;gap:11px;padding:14px 0;border-top:1px solid var(--line);color:#d6d2cb;cursor:pointer}.consent-choice input{appearance:none;width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;border:1px solid #79766e;background:transparent;display:grid;place-content:center;cursor:pointer}.consent-choice input::before{content:"";width:9px;height:9px;transform:scale(0);background:var(--accent);transition:transform .16s ease}.consent-choice input:checked{border-color:var(--accent)}.consent-choice input:checked::before{transform:scale(1)}.consent-choice a{color:var(--ink);border-bottom:1px solid var(--accent)}.consent-button{width:100%;margin-top:22px;padding:14px 18px;border:1px solid var(--accent);background:var(--accent);color:#1b100d;font:500 12px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.consent-button:not(:disabled):hover{transform:translateY(-2px)}.consent-button:disabled{opacity:.42;cursor:not-allowed}.consent-note{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.consent-gate>header,.consent-gate>main,.consent-gate>footer{user-select:none}@media(prefers-reduced-motion:reduce){.consent-overlay,.consent-button,.consent-choice input::before{transition:none}}
