:root{--bg: #0a0a0c;--bg-soft: #0d0d10;--bg-panel: #101014;--ink: #f7f6f4;--ink-dim: #a8a29e;--ink-faint: #6f6b67;--ink-ghost: #45413d;--teal-deep: #283d3b;--teal: #197278;--cream: #edddd4;--rust: #c44536;--rust-deep: #772e25;--line: rgba(237, 221, 212, .1);--line-soft: rgba(237, 221, 212, .06);--grad: linear-gradient(120deg, #283d3b, #197278, #edddd4, #c44536, #772e25, #283d3b);--font-display: "Syne", sans-serif;--font-mono: "Syne Mono", ui-monospace, monospace;--font-body: "Outfit", sans-serif;--maxw: 1180px;--gutter: clamp(1.25rem, 5vw, 5rem)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:300;line-height:1.6;overflow-x:hidden;position:relative}::selection{background:#19727880;color:var(--cream)}a{color:inherit;text-decoration:none}.atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.atmosphere:before{content:"";position:absolute;top:-25vh;left:50%;width:120vw;height:120vh;transform:translate(-50%);background:radial-gradient(40% 35% at 22% 18%,rgba(25,114,120,.22),transparent 70%),radial-gradient(45% 40% at 82% 30%,rgba(196,69,54,.16),transparent 70%),radial-gradient(50% 45% at 50% 92%,rgba(40,61,59,.3),transparent 70%);filter:blur(10px);animation:drift 22s ease-in-out infinite alternate}.atmosphere:after{content:"";position:absolute;inset:-150%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.05;mix-blend-mode:soft-light;animation:grain 8s steps(6) infinite}@keyframes drift{0%{transform:translate(-50%) translateY(0) scale(1)}to{transform:translate(-50%) translateY(4vh) scale(1.08)}}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-2%)}80%{transform:translate(2%,4%)}}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);position:relative;z-index:1}section{position:relative;z-index:1;padding-block:clamp(5rem,12vh,9rem)}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);display:inline-flex;align-items:center;gap:.7rem}.eyebrow:before{content:"";width:1.8rem;height:1px;background:var(--teal);opacity:.7}.gradient-text{background:var(--grad);background-size:280% 280%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:organicFlow 14s ease-in-out infinite}@keyframes organicFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.1rem var(--gutter);transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;border-bottom:1px solid transparent}.site-header.scrolled{background:#0a0a0cb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-soft)}.brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em}.brand .dot{color:var(--rust)}.nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.nav a{color:var(--ink-dim);position:relative;padding-bottom:3px;transition:color .25s ease}.nav a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--grad);background-size:200% 200%;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav a:hover{color:var(--ink)}.nav a:hover:after{transform:scaleX(1)}.nav .nav-cta{color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem}.nav .nav-cta:after{display:none}.nav .nav-cta:hover{border-color:#edddd466}@media(max-width:640px){.nav a.nav-link{display:none}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-top:6rem;padding-bottom:4rem}.hero .eyebrow{opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) .1s forwards}.logo{font-family:var(--font-display);font-weight:800;font-size:clamp(3rem,12vw,10rem);line-height:.92;letter-spacing:-.04em;margin:1.4rem 0 1.8rem;max-width:92vw;position:relative;display:inline-block;cursor:default;background:var(--grad);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:rise 1s cubic-bezier(.2,.7,.2,1) .2s forwards,organicFlow 14s ease-in-out 1s infinite}.logo:after{content:attr(data-text);position:absolute;inset:0;color:var(--ink);-webkit-text-fill-color:var(--ink);transition:opacity .5s ease}.logo:hover:after{opacity:0}.hero .tagline{font-size:clamp(1.05rem,2.1vw,1.4rem);font-weight:300;color:var(--ink-dim);max-width:30ch;text-wrap:balance;opacity:0;animation:rise .9s cubic-bezier(.2,.7,.2,1) .4s forwards}.hero .tagline em{font-style:normal;color:var(--cream)}.scroll-cue{margin-top:clamp(3rem,8vh,5rem);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);display:flex;flex-direction:column;align-items:center;gap:.7rem;opacity:0;animation:rise .9s ease .7s forwards}.scroll-cue .line{width:1px;height:2.6rem;background:linear-gradient(var(--teal),transparent);animation:cue 2.2s ease-in-out infinite}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes cue{0%,to{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);transform-origin:top;opacity:1}}.sec-head{display:flex;align-items:baseline;gap:1.2rem;margin-bottom:clamp(2.5rem,6vh,4rem)}.sec-head .idx{font-family:var(--font-mono);font-size:.85rem;color:var(--rust);letter-spacing:.1em}.studio .statement{font-family:var(--font-display);font-weight:600;font-size:clamp(1.9rem,5.2vw,3.6rem);line-height:1.08;letter-spacing:-.025em;max-width:18ch}.studio .statement .accent{background:var(--grad);background-size:280% 280%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:organicFlow 14s ease-in-out infinite}.studio-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:end;margin-top:2.5rem}.studio-grid p{color:var(--ink-dim);font-size:1.05rem;max-width:46ch}.studio-grid p+p{margin-top:1.1rem}.facts{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3.5rem;padding-top:2.2rem;border-top:1px solid var(--line)}.fact .k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}.fact .v{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin-top:.35rem;color:var(--cream)}@media(max-width:760px){.studio-grid{grid-template-columns:1fr;align-items:start}}.cap-list{border-top:1px solid var(--line)}.cap{display:grid;grid-template-columns:4rem 1fr;gap:clamp(1rem,4vw,3rem);align-items:start;padding:clamp(1.8rem,4vh,2.6rem) 0;border-bottom:1px solid var(--line);transition:padding-left .4s cubic-bezier(.2,.7,.2,1)}.cap:hover{padding-left:1rem}.cap .num{font-family:var(--font-mono);font-size:.9rem;color:var(--ink-faint);padding-top:.6rem;transition:color .3s ease}.cap:hover .num{color:var(--rust)}.cap h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.5rem,3.6vw,2.4rem);letter-spacing:-.02em;line-height:1.1;transition:color .3s ease}.cap:hover h3{color:var(--cream)}.cap p{color:var(--ink-dim);margin-top:.7rem;max-width:52ch;font-size:1rem}.work-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:clamp(2rem,6vw,4.5rem);background:linear-gradient(180deg,#10101466,#283d3b40),var(--bg-panel);isolation:isolate}.work-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(40,61,59,.5) 100%)}.work-card:after{content:"";position:absolute;right:-10%;top:-30%;width:50%;height:160%;background:radial-gradient(closest-side,rgba(25,114,120,.18),transparent);z-index:-1;pointer-events:none}.work-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}.work-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,9vw,5.5rem);line-height:.95;letter-spacing:-.03em;margin:1rem 0 .4rem}.work-pull{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:clamp(1.1rem,2.6vw,1.6rem);color:var(--cream);margin-bottom:1.4rem}.work-card .desc{color:var(--ink-dim);max-width:56ch;font-size:1.05rem}.work-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--rust);padding-bottom:.35rem;transition:gap .3s ease,color .3s ease}.work-cta:hover{gap:1.1rem;color:var(--cream)}.work-cta .arrow{transition:transform .3s ease}.work-cta:hover .arrow{transform:translate(3px,-3px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.contact-lead{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.025em}.contact-lead .accent{color:var(--rust)}.contact-sub{color:var(--ink-dim);margin-top:1.2rem;max-width:38ch}.contact-direct{margin-top:2.2rem;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.06em;color:var(--ink-faint)}.contact-direct a{color:var(--cream);border-bottom:1px solid var(--line);transition:border-color .3s ease}.contact-direct a:hover{border-color:var(--cream)}.field{position:relative;margin-bottom:1.6rem}.field label{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.6rem}.field input,.field textarea{width:100%;background:#edddd406;border:1px solid var(--line);border-radius:10px;padding:.95rem 1.1rem;color:var(--ink);font-family:var(--font-body);font-size:1rem;font-weight:300;transition:border-color .3s ease,background .3s ease}.field textarea{resize:vertical;min-height:7rem}.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal);background:#1972780f}.field input::placeholder,.field textarea::placeholder{color:var(--ink-ghost)}.submit{display:inline-flex;align-items:center;gap:.7rem;background:var(--cream);color:#14110f;font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.01em;border:none;border-radius:999px;padding:.85rem 1.8rem;cursor:pointer;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}.submit:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px #edddd466}.submit:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.form-status{margin-top:1.2rem;font-family:var(--font-mono);font-size:.85rem;min-height:1.2rem}.form-status.ok{color:var(--teal)}.form-status.err{color:var(--rust)}.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:clamp(2.5rem,7vh,4rem) 0 3rem}.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}.footer-id .legal-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:-.01em}.footer-id p{color:var(--ink-faint);font-size:.9rem;margin-top:.4rem}.footer-id a{color:var(--ink-dim);border-bottom:1px solid var(--line)}.footer-id a:hover{color:var(--cream)}.footer-meta{text-align:right;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;color:var(--ink-ghost)}.footer-meta .made{color:var(--ink-faint);margin-top:.5rem}@media(max-width:560px){.footer-meta{text-align:left}}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 90ms)}.js .reveal.in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
