@font-face{font-family:Unbounded;src:url("fonts/unbounded-regular-subset.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Unbounded;src:url("fonts/unbounded-semibold-subset.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url("fonts/montserrat-variable-subset.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --ink:#10050d;
  --ink-soft:#23101e;
  --paper:#f4ede8;
  --paper-bright:#fffaf6;
  --cherry:#ff315f;
  --cherry-deep:#d80d43;
  --violet:#5c45ff;
  --lime:#d7ff43;
  --rose:#ff9cc1;
  --muted:#6d6268;
  --line:rgba(16,5,13,.18);
  --white:#fffaf6;
  --display:"Unbounded","Arial Narrow",sans-serif;
  --body:"Montserrat","Avenir Next",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --page-x:clamp(20px,4.8vw,76px);
  --section-y:clamp(88px,11vw,176px);
  --container:1440px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
section[id]{scroll-margin-top:104px}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.is-locked{overflow:hidden}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit}
img,video,canvas{display:block;max-width:100%}
::selection{background:var(--lime);color:var(--ink)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{border:2px solid var(--ink);background:var(--cherry)}
:focus-visible{outline:3px solid var(--lime);outline-offset:4px}

.skip-link{position:fixed;z-index:9999;top:12px;left:12px;transform:translateY(-180%);padding:12px 16px;background:var(--lime);color:var(--ink);font-size:.78rem;font-weight:750;text-decoration:none;transition:transform .2s var(--ease)}
.skip-link:focus{transform:none}
.icon{flex:0 0 auto}
.site-shell{min-height:100svh}

.site-header{position:fixed;z-index:1000;top:0;right:0;left:0;color:var(--white);transition:background .24s var(--ease),color .24s var(--ease),transform .24s var(--ease),border-color .24s var(--ease)}
.site-header::after{content:"";position:absolute;right:var(--page-x);bottom:0;left:var(--page-x);height:1px;background:rgba(255,250,246,.22);transition:background .24s var(--ease)}
.header-inner{height:88px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:30px;padding:0 var(--page-x)}
.brand-link{position:relative;display:inline-flex;width:150px;height:52px;align-items:center}
.brand-logo{position:absolute;left:0;width:148px;height:auto;transition:opacity .25s var(--ease)}
.logo-dark{opacity:0}
.desktop-nav{justify-self:center}
.desktop-nav ul{display:flex;align-items:center;gap:clamp(22px,2.4vw,42px);margin:0;padding:0;list-style:none}
.desktop-nav a{position:relative;display:inline-flex;min-height:44px;align-items:center;font-family:var(--display);font-size:.62rem;font-weight:600;letter-spacing:.055em;text-decoration:none;text-transform:uppercase}
.desktop-nav a::after{content:"";position:absolute;right:0;bottom:7px;left:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s var(--ease)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.header-action{display:inline-flex;min-height:46px;align-items:center;gap:10px;border-bottom:1px solid currentColor;font-size:.78rem;font-weight:750;text-decoration:none;white-space:nowrap}
.menu-toggle{display:none;width:48px;height:48px;border:1px solid currentColor;background:transparent;cursor:pointer;place-items:center}
.site-header.is-scrolled,.site-header.menu-active{border-color:var(--line);background:rgba(244,237,232,.94);color:var(--ink);backdrop-filter:blur(14px)}
.site-header.is-scrolled::after,.site-header.menu-active::after{background:var(--line)}
.site-header.is-scrolled .logo-light,.site-header.menu-active .logo-light{opacity:0}
.site-header.is-scrolled .logo-dark,.site-header.menu-active .logo-dark{opacity:1}

.mobile-menu{position:fixed;z-index:950;inset:0;visibility:hidden;display:grid;grid-template-rows:1fr auto;padding:124px var(--page-x) 36px;background:var(--paper);color:var(--ink);opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .26s var(--ease),transform .26s var(--ease),visibility 0s linear .26s}
.mobile-menu.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition-delay:0s}
.mobile-menu ul{margin:0;padding:0;list-style:none}
.mobile-menu li{border-bottom:1px solid var(--line)}
.mobile-menu li:first-child{border-top:1px solid var(--line)}
.mobile-menu nav a{display:flex;min-height:76px;align-items:center;justify-content:space-between;font-family:var(--display);font-size:clamp(1.2rem,5.2vw,1.8rem);font-weight:600;text-decoration:none}
.mobile-menu nav a[aria-current="page"]{color:var(--cherry)}
.mobile-menu-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:28px}
.mobile-menu-foot>span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.button{position:relative;display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:12px;padding:0 24px;border:1px solid transparent;font-size:.82rem;font-weight:800;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--cherry);color:var(--ink)}
.button-primary:hover{background:var(--lime);color:var(--ink)}
.button-ghost{border-color:rgba(255,250,246,.6);background:rgba(16,5,13,.18);color:var(--white);backdrop-filter:blur(9px)}
.button-ghost:hover{border-color:var(--white);background:var(--white);color:var(--ink)}
.button-outline{border-color:var(--ink);background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--ink);color:var(--white)}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:10px;font-size:.82rem;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.text-link .icon,.button .icon,.header-action .icon{transition:transform .25s var(--ease)}

.hero-lacquer{position:relative;min-height:100svh;overflow:hidden;background:var(--ink);color:var(--white);isolation:isolate}
.lacquer-canvas{position:absolute;z-index:-3;inset:0;width:100%;height:100%;background:radial-gradient(circle at 72% 32%,var(--violet),transparent 28%),radial-gradient(circle at 32% 65%,var(--cherry),transparent 34%),var(--ink)}
.hero-noise{position:absolute;z-index:-2;inset:0;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.hero-lacquer::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(16,5,13,.58),rgba(16,5,13,.05) 58%,rgba(16,5,13,.36))}
.hero-layout{position:relative;z-index:2;width:min(100%,var(--container));min-height:100svh;margin:0 auto;display:grid;grid-template-columns:minmax(0,.96fr) minmax(440px,1.04fr);align-items:center;gap:clamp(32px,5vw,90px);padding:136px var(--page-x) 84px}
.hero-copy{position:relative;z-index:3;align-self:center}
.hero-copy h1{max-width:13ch;margin:0;font-family:var(--display);font-size:clamp(3rem,4.7vw,4.65rem);font-weight:600;letter-spacing:-.04em;line-height:.94;text-wrap:balance;text-transform:uppercase}
.hero-line{display:block;overflow:hidden;padding:.06em 0}
.hero-line>span{display:block}
.hero-line-accent{color:var(--lime)}
.hero-intro{max-width:57ch;margin:30px 0 0;color:rgba(255,250,246,.84);font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.72}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-location{position:absolute;z-index:4;top:116px;right:var(--page-x);font-family:var(--display);font-size:.58rem;font-weight:600;letter-spacing:.12em;line-height:1.6;text-align:right;text-transform:uppercase}
.hero-scroll{position:absolute;z-index:5;bottom:28px;left:var(--page-x);display:flex;min-height:44px;align-items:center;gap:14px;color:var(--white);font-size:.66rem;font-weight:800;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.hero-scroll i{position:relative;width:54px;height:1px;overflow:hidden;background:rgba(255,255,255,.35)}
.hero-scroll i::after{content:"";position:absolute;inset:0;background:var(--lime);animation:scroll-line 1.8s var(--ease) infinite;transform-origin:left}
@keyframes scroll-line{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}

.hero-gallery{position:relative;min-width:0;height:min(72vh,760px);perspective:1200px;--rx:0deg;--ry:0deg}
.hero-stage{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s ease-out}
.hero-card{position:absolute;margin:0;overflow:hidden;background:var(--ink-soft);box-shadow:20px 34px 80px rgba(0,0,0,.38);transition:transform .8s var(--ease),opacity .6s var(--ease),filter .6s var(--ease);transform-origin:center}
.hero-card img{width:100%;height:100%;object-fit:cover}
.hero-card figcaption{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:60px 18px 18px;background:linear-gradient(transparent,rgba(16,5,13,.88));font-size:.68rem;font-weight:800;text-transform:uppercase}
.hero-card figcaption span:last-child{color:var(--lime);font-size:.58rem;letter-spacing:.08em}
.hero-card-0{z-index:4;top:5%;left:35%;width:58%;height:78%;transform:translate3d(0,0,70px) rotate(2deg)}
.hero-card-1{z-index:3;top:11%;left:1%;width:39%;height:48%;transform:translate3d(-4%,0,-30px) rotate(-7deg);filter:saturate(.9)}
.hero-card-2{z-index:2;top:61%;left:63%;width:37%;height:38%;transform:translate3d(8%,0,-70px) rotate(8deg);filter:saturate(.72)}
.hero-card-3{z-index:1;top:63%;left:5%;width:31%;height:33%;transform:translate3d(-8%,0,-110px) rotate(-12deg);filter:saturate(.4) brightness(.58)}
.hero-gallery-controls{position:absolute;z-index:10;right:5%;bottom:3%;display:flex;align-items:center;gap:8px;color:var(--white)}
.hero-gallery-controls button{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,250,246,.68);background:rgba(16,5,13,.28);color:inherit;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s var(--ease),color .2s var(--ease)}
.hero-gallery-controls button:hover{background:var(--lime);color:var(--ink)}
.hero-gallery-controls span{min-width:72px;font-size:.67rem;letter-spacing:.08em;text-align:center}
.hero-gallery-controls strong{font-family:var(--display);font-size:.82rem}

.service-marquee{overflow:hidden;border-top:1px solid rgba(255,250,246,.18);border-bottom:1px solid rgba(255,250,246,.18);background:var(--ink);color:var(--white)}
.marquee-track{width:max-content;display:flex;animation:marquee 28s linear infinite}
.marquee-track span{display:flex;height:76px;align-items:center;gap:28px;padding:0 28px;font-family:var(--display);font-size:clamp(1rem,1.7vw,1.45rem);font-weight:400;text-transform:uppercase;white-space:nowrap}
.marquee-track i{color:var(--cherry);font-size:.8em;font-style:normal}
.service-marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

.manifesto-section{min-height:80svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:44px;padding:var(--section-y) var(--page-x);background:var(--lime);color:var(--ink)}
.manifesto-copy{max-width:15ch;margin:0;font-family:var(--display);font-size:clamp(2.5rem,6vw,6rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}
.manifesto-link{display:inline-flex;min-height:52px;align-items:center;gap:12px;border-bottom:2px solid currentColor;font-size:.9rem;font-weight:850;text-decoration:none}

.work-rail-section{position:relative;height:100svh;display:grid;grid-template-columns:minmax(330px,30vw) 1fr;overflow:hidden;background:var(--ink);color:var(--white)}
.rail-heading{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:110px 38px 60px var(--page-x);background:var(--ink)}
.rail-heading::after{content:"";position:absolute;top:11%;right:0;bottom:11%;width:1px;background:rgba(255,250,246,.18)}
.rail-heading h2{max-width:10ch;margin:0;font-family:var(--display);font-size:clamp(2rem,3.6vw,4.3rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-transform:uppercase}
.rail-heading p{max-width:40ch;margin:28px 0;color:rgba(255,250,246,.7);font-size:.95rem;line-height:1.7}
.rail-heading .text-link{color:var(--lime)}
.work-rail{width:max-content;height:100%;display:flex;align-items:center;gap:24px;padding:96px 8vw 48px 4vw;will-change:transform}
.rail-card{width:min(34vw,490px);height:74vh;min-height:520px;display:grid;grid-template-rows:minmax(0,1fr) auto;color:var(--white);text-decoration:none}
.rail-card-1{width:min(27vw,390px);height:63vh;transform:translateY(5vh)}
.rail-card-2{width:min(38vw,540px);height:69vh;transform:translateY(-3vh)}
.rail-media{position:relative;overflow:hidden;background:var(--ink-soft)}
.rail-media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.18);pointer-events:none}
.rail-media img{width:100%;height:100%;object-fit:cover;transition:transform .26s var(--ease),filter .22s var(--ease)}
.rail-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:15px}
.rail-meta strong{font-family:var(--display);font-size:.85rem;text-transform:uppercase}
.rail-meta>span{display:flex;align-items:center;gap:8px;color:var(--lime);font-size:.7rem;font-weight:800;white-space:nowrap}

.home-services{padding:var(--section-y) var(--page-x);background:var(--paper)}
.section-title-block{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:8vw;align-items:end;margin-bottom:clamp(64px,8vw,112px)}
.section-title-block h2,.catalog-head h2{max-width:14ch;margin:0;font-family:var(--display);font-size:clamp(2.25rem,4.7vw,5.2rem);font-weight:600;letter-spacing:-.04em;line-height:1.04;text-transform:uppercase;text-wrap:balance}
.section-title-block p,.catalog-head p{max-width:48ch;margin:0;color:var(--muted);line-height:1.75}
.service-list{border-top:1px solid var(--ink)}
.service-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:color .25s var(--ease)}
.service-line::before{content:"";position:absolute;z-index:0;inset:0;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .22s var(--ease)}
.service-line>*{position:relative;z-index:1}
.service-line h3{margin:0;font-family:var(--display);font-size:clamp(1.35rem,2.5vw,2.6rem);font-weight:400;letter-spacing:-.025em;text-transform:uppercase}
.service-line p{max-width:55ch;margin:8px 0 0;color:var(--muted);font-size:.86rem;transition:color .25s var(--ease)}
.service-line-meta{display:grid;justify-items:end;gap:8px}
.service-line-meta span{font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.service-line-meta a{display:inline-flex;min-height:40px;align-items:center;gap:8px;color:var(--cherry-deep);font-size:.76rem;font-weight:850;text-decoration:none}
.home-services>.button{margin-top:48px}

.process-section{min-height:100svh;display:grid;grid-template-columns:1fr minmax(420px,.88fr);background:var(--cherry);color:var(--white)}
.process-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--section-y) clamp(36px,7vw,112px) var(--section-y) var(--page-x)}
.process-copy h2{max-width:10ch;margin:0;font-family:var(--display);font-size:clamp(2.5rem,5.2vw,5.7rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-transform:uppercase}
.process-copy p{max-width:50ch;margin:30px 0;color:var(--ink);font-size:1rem;font-weight:520;line-height:1.8}
.process-copy .button-primary{background:var(--ink);color:var(--white)}
.process-copy .button-primary:hover{background:var(--lime);color:var(--ink)}
.process-media{position:relative;min-height:760px;overflow:hidden;background:var(--ink);isolation:isolate}
.process-media video{width:100%;height:100%;object-fit:cover}
.process-media::after{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.24);pointer-events:none}
.process-video-toggle{position:absolute;z-index:2;top:20px;right:20px;min-height:44px;display:inline-flex;align-items:center;gap:9px;padding:0 14px;border:1px solid rgba(255,250,246,.72);background:rgba(16,5,13,.86);color:var(--white);font-size:.7rem;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}
.process-video-toggle:hover{background:var(--lime);color:var(--ink)}
.process-stamp{position:absolute;z-index:2;right:24px;bottom:22px;left:24px;padding:14px 16px;background:rgba(16,5,13,.86);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}

.studio-section{min-height:92svh;display:grid;grid-template-columns:minmax(360px,.78fr) 1fr;background:var(--violet);color:var(--white)}
.studio-media{min-height:700px;overflow:hidden}
.studio-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.15) contrast(1.04)}
.studio-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--section-y) var(--page-x)}
.studio-script{margin-bottom:24px;color:var(--lime);font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.studio-copy h2{max-width:12ch;margin:0;font-family:var(--display);font-size:clamp(2.3rem,4.6vw,5.1rem);font-weight:600;letter-spacing:-.04em;line-height:1.04;text-transform:uppercase}
.studio-copy>p{max-width:54ch;margin:30px 0;color:rgba(255,250,246,.76);line-height:1.8}
.studio-details{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding-top:24px;border-top:1px solid rgba(255,255,255,.3);font-size:.77rem;font-weight:700}
.studio-details a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--lime);text-decoration:none}

.closing-panel{position:relative;min-height:82svh;display:flex;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;padding:var(--section-y) var(--page-x);background:var(--ink);color:var(--white);text-align:center;isolation:isolate}
.closing-orb{position:absolute;z-index:-1;width:min(62vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 32%,var(--lime),var(--cherry) 34%,var(--violet) 62%,transparent 70%);filter:blur(26px);opacity:.66;animation:orb-breathe 8s ease-in-out infinite alternate}
@keyframes orb-breathe{to{transform:scale(1.08) rotate(14deg);filter:blur(42px)}}
.closing-panel h2{max-width:14ch;margin:0;font-family:var(--display);font-size:clamp(2.3rem,5.5vw,6rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;text-transform:uppercase;text-wrap:balance}
.closing-panel p{max-width:55ch;margin:28px auto 34px;color:rgba(255,250,246,.76);font-size:1rem}

.page-hero{position:relative;min-height:88svh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.76fr);gap:5vw;align-items:end;overflow:hidden;padding:160px var(--page-x) 72px;background:var(--ink);color:var(--white);isolation:isolate}
.page-hero-copy{position:relative;z-index:3;padding-bottom:3vw}
.page-hero-copy h1{max-width:13ch;margin:0;font-family:var(--display);font-size:clamp(3rem,6.7vw,6rem);font-weight:600;letter-spacing:-.04em;line-height:.98;text-transform:uppercase;text-wrap:balance}
.page-hero-copy p{max-width:58ch;margin:34px 0 0;color:rgba(255,250,246,.73);font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.78}
.page-hero-media{position:relative;z-index:2;height:min(68vh,700px);overflow:hidden;transform:rotate(2deg);box-shadow:28px 34px 80px rgba(0,0,0,.35)}
.page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero-word{position:absolute;z-index:0;right:-.05em;bottom:-.18em;color:rgba(255,255,255,.045);font-family:var(--display);font-size:clamp(9rem,27vw,28rem);font-weight:600;letter-spacing:-.09em;line-height:1;white-space:nowrap}

.services-catalog{padding:var(--section-y) var(--page-x);background:var(--paper)}
.services-catalog-alt{background:var(--rose)}
.catalog-head{display:grid;grid-template-columns:1fr minmax(280px,.55fr);gap:8vw;align-items:end;margin-bottom:clamp(64px,8vw,104px)}
.services-catalog-alt .service-line::before{background:var(--violet)}
.choice-panel{display:grid;grid-template-columns:1fr auto;gap:8vw;align-items:center;padding:clamp(70px,9vw,140px) var(--page-x);background:var(--lime);color:var(--ink)}
.choice-panel h2{max-width:18ch;margin:0;font-family:var(--display);font-size:clamp(2rem,4vw,4.5rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}
.choice-panel p{max-width:62ch;margin:24px 0 0}
.choice-panel .button-primary{background:var(--ink);color:var(--white)}

.gallery-section{padding:var(--section-y) var(--page-x);background:var(--paper)}
.gallery-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-bottom:52px;padding-bottom:24px;border-bottom:1px solid var(--ink)}
.filter-list{display:flex;flex-wrap:wrap;gap:8px}
.filter-list button{min-height:46px;padding:0 18px;border:1px solid var(--ink);background:transparent;font-size:.75rem;font-weight:800;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.filter-list button:hover,.filter-list button[aria-pressed="true"]{background:var(--ink);color:var(--white)}
.gallery-toolbar>p{margin:0;font-family:var(--display);font-size:.68rem;font-weight:600;text-transform:uppercase}
.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);align-items:start}
.gallery-item{grid-column:span 4;position:relative;min-height:520px;padding:0;border:0;overflow:hidden;background:var(--ink-soft);cursor:zoom-in;text-align:left}
.gallery-item-0,.gallery-item-5{grid-column:span 5;min-height:650px}
.gallery-item-1,.gallery-item-4{grid-column:span 3;min-height:440px}
.gallery-item-2{grid-column:span 4;min-height:570px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .26s var(--ease),filter .22s var(--ease)}
.gallery-item>span{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:80px 18px 18px;background:linear-gradient(transparent,rgba(16,5,13,.9));color:var(--white)}
.gallery-item strong{font-family:var(--display);font-size:.75rem;text-transform:uppercase}
.gallery-item i{color:var(--lime);font-size:.67rem;font-style:normal;font-weight:800}
.gallery-close-panel{display:flex;min-height:72svh;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--section-y) var(--page-x);background:var(--violet);color:var(--white)}
.gallery-close-panel h2{max-width:16ch;margin:0;font-family:var(--display);font-size:clamp(2.4rem,5vw,5.6rem);font-weight:600;letter-spacing:-.04em;line-height:1.03;text-transform:uppercase}
.gallery-close-panel p{max-width:58ch;margin:28px 0 36px;color:rgba(255,255,255,.76);line-height:1.75}

.lightbox{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:22px;background:rgba(16,5,13,.93);backdrop-filter:blur(16px)}
.lightbox-panel{position:relative;width:min(1180px,100%);max-height:calc(100svh - 44px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.55fr);overflow:auto;background:var(--paper)}
.lightbox-image{min-height:680px;background:var(--ink)}
.lightbox-image img{width:100%;height:100%;max-height:calc(100svh - 44px);object-fit:contain}
.lightbox-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:42px}
.lightbox-copy>span{font-family:var(--display);font-size:.66rem;font-weight:600}
.lightbox-copy h2{margin:18px 0 8px;font-family:var(--display);font-size:clamp(1.7rem,3vw,3.2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05;text-transform:uppercase}
.lightbox-copy p{margin:0 0 30px;color:var(--muted)}
.lightbox-close{position:absolute;z-index:3;top:14px;right:14px;width:50px;height:50px;display:grid;place-items:center;border:0;background:var(--lime);color:var(--ink);cursor:pointer}
.lightbox-nav{display:flex;gap:8px;margin-top:28px}
.lightbox-nav button{width:50px;height:50px;display:grid;place-items:center;border:1px solid var(--ink);background:transparent;cursor:pointer}
.lightbox-nav button:hover{background:var(--ink);color:var(--white)}

.about-story{min-height:100svh;display:grid;grid-template-columns:minmax(400px,.85fr) 1fr;background:var(--paper)}
.about-story-media{min-height:720px;overflow:hidden}
.about-story-media img{width:100%;height:100%;object-fit:cover}
.about-story-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--section-y) var(--page-x)}
.about-story-copy h2{max-width:14ch;margin:0;font-family:var(--display);font-size:clamp(2.2rem,4.4vw,4.8rem);font-weight:600;letter-spacing:-.04em;line-height:1.04;text-transform:uppercase}
.about-story-copy p{max-width:58ch;margin:26px 0 0;color:var(--muted);line-height:1.8}
.about-story-copy .text-link{margin-top:28px}
.appointment-steps{padding:var(--section-y) var(--page-x);background:var(--ink);color:var(--white)}
.steps-head{display:grid;grid-template-columns:1fr minmax(280px,.55fr);gap:8vw;align-items:end;margin-bottom:80px}
.steps-head h2{max-width:15ch;margin:0;font-family:var(--display);font-size:clamp(2.2rem,4.7vw,5rem);font-weight:600;letter-spacing:-.04em;line-height:1.05;text-transform:uppercase}
.steps-head p{margin:0;color:rgba(255,250,246,.68)}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.42)}
.steps-grid article{min-height:290px;padding:26px 24px 24px 0;border-right:1px solid rgba(255,255,255,.2)}
.steps-grid article+article{padding-left:24px}
.steps-grid article:last-child{border-right:0}
.steps-grid span{color:var(--lime);font-family:var(--display);font-size:.68rem;font-weight:600}
.steps-grid h3{margin:70px 0 12px;font-family:var(--display);font-size:1.15rem;font-weight:400;line-height:1.3;text-transform:uppercase}
.steps-grid p{margin:0;color:rgba(255,250,246,.62);font-size:.86rem}

.contact-section{display:grid;grid-template-columns:minmax(330px,.68fr) 1fr;gap:8vw;padding:var(--section-y) var(--page-x);background:var(--paper)}
.contact-facts h2,.appointment-panel>h2{margin:0 0 46px;font-family:var(--display);font-size:clamp(1.7rem,3.1vw,3.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.08;text-transform:uppercase}
.contact-facts dl{margin:0 0 34px;border-top:1px solid var(--ink)}
.contact-facts dl>div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.contact-facts dt{font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.contact-facts dd{margin:0;font-size:.9rem;font-weight:650}
.contact-facts dd a{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:5px}
.appointment-panel{padding:clamp(30px,5vw,64px);background:var(--ink);color:var(--white)}
.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-field{min-width:0}
.form-field-full{grid-column:1/-1}
.form-field label{display:block;margin-bottom:9px;font-size:.72rem;font-weight:800;letter-spacing:.03em}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:54px;padding:13px 14px;border:1px solid rgba(255,255,255,.36);border-radius:0;background:rgba(255,255,255,.055);color:var(--white);outline:0;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.form-field select option{background:var(--ink);color:var(--white)}
.form-field textarea{min-height:140px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--lime);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(215,255,67,.18)}
.form-field input[aria-invalid="true"],.form-field select[aria-invalid="true"]{border-color:var(--cherry)}
.form-field small{display:block;margin-top:8px;color:rgba(255,250,246,.58);font-size:.67rem;line-height:1.5}
.field-counter{display:flex!important;justify-content:space-between;gap:16px}
.field-error{display:block;margin-top:8px;color:#ff91aa;font-size:.72rem}
.form-submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:6px}
.form-submit>span{color:rgba(255,250,246,.55);font-size:.68rem}
.form-submit>a:not(.button){color:var(--lime);font-size:.7rem;font-weight:750}

.site-footer{padding:86px var(--page-x) 28px;background:var(--ink);color:var(--white)}
.footer-top{display:grid;grid-template-columns:minmax(280px,1.4fr) .55fr .55fr;gap:7vw}
.footer-top>div:first-child img{width:190px}
.footer-top>div:first-child p{max-width:46ch;margin:26px 0 0;color:rgba(255,250,246,.55);font-size:.78rem}
.footer-top h2{margin:0 0 18px;color:var(--lime);font-family:var(--display);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.footer-top nav,.footer-top>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}
.footer-top a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;color:rgba(255,250,246,.76);font-size:.78rem;text-decoration:none}
.footer-top a:hover{color:var(--white);text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;justify-content:space-between;gap:26px;margin-top:72px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,250,246,.68);font-size:.66rem}
.mobile-whatsapp{position:fixed;z-index:900;right:14px;bottom:14px;display:none;min-height:52px;align-items:center;gap:10px;padding:0 18px;background:var(--cherry);color:var(--ink);font-size:.74rem;font-weight:850;text-decoration:none;box-shadow:0 16px 38px rgba(16,5,13,.28)}

@media(max-width:1100px){
  .header-inner{grid-template-columns:170px 1fr auto}
  .desktop-nav{display:none}.header-action{display:none}.menu-toggle{display:grid;justify-self:end}
  .hero-layout{grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);gap:28px}
  .hero-copy h1{font-size:clamp(2.75rem,5.6vw,4.2rem)}
  .section-title-block,.catalog-head,.steps-head{grid-template-columns:minmax(0,1fr);gap:28px}.section-title-block>*,.catalog-head>*,.steps-head>*{min-width:0}
  .gallery-item{grid-column:span 6}.gallery-item-0,.gallery-item-5{grid-column:span 7}.gallery-item-1,.gallery-item-4{grid-column:span 5}
  .steps-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid article:nth-child(2){border-right:0}.steps-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.2)}
}

@media(max-width:899px){
  :root{--section-y:96px}
  .header-inner{height:76px;grid-template-columns:1fr auto;padding-inline:20px}.brand-link{width:140px}.brand-logo{width:136px}.site-header::after{right:20px;left:20px}
  .hero-location{top:102px;right:20px}
  .hero-layout{min-height:auto;grid-template-columns:1fr;padding:148px 20px 88px}
  .hero-copy{max-width:760px}.hero-copy h1{font-size:clamp(2.9rem,10vw,5rem)}
  .hero-gallery{height:70svh;min-height:610px;margin-top:10px}.hero-card-0{left:28%;width:64%}.hero-card-1{left:0;width:42%}.hero-card-2{left:58%;width:42%}
  .hero-scroll{display:none}
  .manifesto-section{padding-inline:20px}.manifesto-copy{font-size:clamp(2.4rem,8vw,5rem)}
  .work-rail-section{height:auto;display:block;padding:88px 0 78px;overflow:hidden}
  .rail-heading{padding:0 20px 54px}.rail-heading::after{display:none}.rail-heading h2{font-size:clamp(2.4rem,8vw,4.5rem)}
  .work-rail{width:auto;height:auto;overflow-x:auto;align-items:stretch;gap:14px;padding:0 20px 26px;scroll-snap-type:x mandatory;will-change:auto}
  .rail-card,.rail-card-1,.rail-card-2{flex:0 0 min(78vw,460px);width:auto;height:68svh;min-height:540px;transform:none;scroll-snap-align:start}
  .home-services{padding-inline:20px}.section-title-block h2,.catalog-head h2{font-size:clamp(2.2rem,8.5vw,4.5rem)}
  .process-section{grid-template-columns:minmax(0,1fr)}.process-copy{min-width:0;padding:96px 20px}.process-media{min-height:85svh;max-height:900px}
  .studio-section{grid-template-columns:minmax(0,1fr)}.studio-media{min-height:74svh}.studio-copy{min-width:0;padding:96px 20px}.studio-copy h2{overflow-wrap:anywhere}.studio-details span{overflow-wrap:anywhere}
  .page-hero{min-height:auto;grid-template-columns:1fr;padding:138px 20px 72px}.page-hero-copy h1{font-size:clamp(2.8rem,10vw,5.2rem)}.page-hero-media{height:68svh;max-height:700px;transform:rotate(1deg)}
  .services-catalog,.gallery-section,.appointment-steps{padding-inline:20px}.choice-panel{grid-template-columns:minmax(0,1fr);padding-inline:20px}.choice-panel>div{min-width:0}.choice-panel h2,.steps-head h2{overflow-wrap:anywhere}.choice-panel .button{justify-self:start}
  .about-story{grid-template-columns:1fr}.about-story-media{min-height:72svh}.about-story-copy{padding:96px 20px}
  .contact-section{grid-template-columns:1fr;padding-inline:20px}.appointment-panel{padding:34px 20px}
  .footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}
  .mobile-whatsapp{display:inline-flex}
  .site-footer{padding-bottom:92px}
}

@media(max-width:640px){
  .mobile-menu{padding-right:20px;padding-left:20px}.mobile-menu-foot{align-items:flex-start;flex-direction:column}.mobile-menu-foot .button{width:100%}
  .hero-location{font-size:.52rem}.hero-layout{padding-top:128px}.hero-copy h1{font-size:clamp(2.55rem,12.5vw,4.2rem);line-height:.97}.hero-intro{font-size:.94rem}.hero-actions{display:grid}.hero-actions .button{width:100%}
  .hero-gallery{height:62svh;min-height:510px;margin-top:24px}.hero-card-0{top:4%;left:20%;width:78%;height:76%}.hero-card-1{top:15%;left:-4%;width:40%;height:42%}.hero-card-2{top:64%;left:61%;width:42%;height:34%}.hero-card-3{display:none}.hero-gallery-controls{right:1%;bottom:0}
  .marquee-track span{height:64px;font-size:.9rem}
  .manifesto-section{min-height:70svh}.manifesto-copy{font-size:clamp(2.25rem,10.4vw,4rem)}
  .service-line{grid-template-columns:1fr;gap:18px;padding:25px 0}.service-line-meta{display:flex;align-items:center;justify-content:space-between;justify-items:stretch}.service-line h3{font-size:clamp(1.22rem,6.3vw,2rem)}.service-line p{font-size:.8rem}
  .process-copy h2,.studio-copy h2,.choice-panel h2,.gallery-close-panel h2,.about-story-copy h2,.steps-head h2{font-size:clamp(2.05rem,10vw,3.6rem)}
  .studio-details{grid-template-columns:1fr;align-items:start}
  .closing-panel{min-height:74svh;padding-inline:20px}.closing-panel h2{font-size:clamp(2.05rem,10vw,4rem)}.closing-panel .button{width:100%}
  .page-hero-copy h1{font-size:clamp(2.45rem,11.4vw,4rem)}.page-hero-media{height:60svh}
  .gallery-grid{grid-template-columns:1fr;gap:12px}.gallery-item,.gallery-item-0,.gallery-item-1,.gallery-item-2,.gallery-item-4,.gallery-item-5{grid-column:auto;min-height:min(126vw,560px)}
  .gallery-close-panel{padding-inline:20px}.gallery-close-panel .button{width:100%}
  .lightbox{padding:10px}.lightbox-panel{max-height:calc(100svh - 20px);grid-template-columns:1fr}.lightbox-image{min-height:52svh}.lightbox-image img{max-height:58svh}.lightbox-copy{padding:28px 20px 22px}.lightbox-copy .button{width:100%}
  .steps-grid{grid-template-columns:1fr}.steps-grid article,.steps-grid article+article{min-height:0;padding:26px 0;border-right:0;border-top:1px solid rgba(255,255,255,.2)}.steps-grid article:first-child{border-top:0}.steps-grid h3{margin-top:34px}
  .appointment-form{grid-template-columns:1fr}.form-field-full{grid-column:auto}.form-submit{align-items:stretch;flex-direction:column}.form-submit .button{width:100%}
  .contact-facts dl>div{grid-template-columns:1fr;gap:6px}
  .footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}
}

@media(hover:hover) and (pointer:fine){
  .button:hover{transform:translateY(-2px)}
  .text-link:hover .icon,.button:hover .icon,.header-action:hover .icon{transform:translateX(3px)}
  .rail-card:hover .rail-media img,.gallery-item:hover img{transform:scale(1.035);filter:saturate(1.12)}
  .service-line:hover{color:var(--white)}
  .service-line:hover::before{transform:scaleY(1)}
  .service-line:hover p{color:rgba(255,250,246,.65)}
  .service-line:hover .service-line-meta a{color:var(--lime)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .lacquer-canvas{display:none}
  .hero-stage{transform:none!important}.hero-card{transition:none}.marquee-track{animation:none}.service-marquee{overflow-x:auto}.closing-orb{animation:none}
  [data-clip]{clip-path:none!important}.work-rail{transform:none!important}
}
