/* OMEN STUDIOS — landing. Identity from omen.com.mx: pure black #000 / white #fff, Helvetica Neue. */
@font-face{font-family:"OMEN Thin";src:local("HelveticaNeue-Light"),local("Helvetica Neue Light"),url("assets/fonts/inter-tight-latin-300-normal.woff2") format("woff2");font-weight:300;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"OMEN Thin";src:local("HelveticaNeue-Light"),local("Helvetica Neue Light"),url("assets/fonts/inter-tight-latin-ext-300-normal.woff2") format("woff2");font-weight:300;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"OMEN Helvetica Condensed";src:url("assets/fonts/Helvetica-Condensed-Bold.otf") format("opentype");font-weight:700;font-display:swap}
:root{
  --black:#000;--white:#fff;
  /* theme tokens — dark (default) */
  --bg:#000;--fg:#fff;--bg-rgb:0,0,0;--grey:#8a8a8a;--line:rgba(255,255,255,.18);--tile:#0d0d0d;
  --hero-fade:rgba(0,0,0,.55);--hero-fade-0:rgba(0,0,0,0);
  color-scheme:dark;
  --sans:"Helvetica Neue",Helvetica,Arial,"Inter Tight",sans-serif;
  --cond:"OMEN Helvetica Condensed","Helvetica Neue",Helvetica,Arial,"Inter Tight",sans-serif;
  --pad:clamp(12px,1.6vw,24px);--gap:clamp(6px,.6vw,10px);
  --small:11px;
  --theme-ease:.45s cubic-bezier(.2,.7,.2,1);
}
/* light (inverted) theme — only colours swap; photos, videos and GIFs keep their real colours */
:root[data-theme="light"]{
  --bg:#fff;--fg:#000;--bg-rgb:255,255,255;--grey:#6b6b6b;--line:rgba(0,0,0,.16);--tile:#efefef;
  --hero-fade:rgba(255,255,255,.82);--hero-fade-0:rgba(255,255,255,0);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.35;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.label{font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}

/* Japanese: Latin stays Helvetica, Japanese glyphs fall back to Hiragino / Noto Sans JP (loaded only for JA) */
html[lang="ja"]{--sans:"Helvetica Neue",Helvetica,Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif;--cond:"OMEN Helvetica Condensed","Helvetica Neue",Helvetica,Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",sans-serif}
html[lang="ja"] .work__title,html[lang="ja"] .map__title,html[lang="ja"] .contact__big{letter-spacing:0;line-height:1.05}
html[lang="ja"] .about__lede{letter-spacing:.01em;line-height:1.3;max-width:24em;font-size:clamp(26px,3.6vw,60px)}
html[lang="ja"] .contact__big{font-size:clamp(48px,10vw,200px)}
html[lang="ja"] .services li,html[lang="ja"] .sectors{letter-spacing:.02em}
html[lang="ja"] .sectors{line-height:1.6}
html[lang="ja"] .contact__grid,html[lang="ja"] .map__addr{line-height:1.7}

/* Header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px var(--pad);color:#fff;mix-blend-mode:difference;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hdr__mark img{height:28px;width:auto}
.hdr__nav{display:flex;gap:clamp(12px,2vw,28px);justify-content:center}
.hdr__nav a,.hdr__cta{position:relative}
.hdr__end{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.lang{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.lang__btn{padding:4px 0;opacity:.55;position:relative;letter-spacing:.08em;transition:opacity .2s}
.lang__btn:hover,.lang__btn[aria-pressed="true"]{opacity:1}
.lang__btn[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:.08em;bottom:0;height:1px;background:currentColor}
.lang__btn:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.lang__sep{opacity:.55}
.theme-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:4px 0;position:relative}
.theme-toggle__dot{width:12px;height:12px;border-radius:50%;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%);transition:transform var(--theme-ease);flex:none}
:root[data-theme="light"] .theme-toggle__dot{transform:rotate(180deg)}
.theme-toggle__txt{position:relative}
.theme-toggle__txt::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.theme-toggle:hover .theme-toggle__txt::after{transform:scaleX(1)}
.theme-toggle:focus-visible,.hdr a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
:focus-visible{outline:1px solid var(--fg);outline-offset:3px}
.hdr__nav a::after,.hdr__cta::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hdr__nav a:hover::after,.hdr__cta:hover::after{transform:scaleX(1)}

/* Hero */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) var(--pad)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.hero{color:var(--fg)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--hero-fade),var(--hero-fade-0) 45%)}
.hero>*:not(video){position:relative;z-index:2}
.hero__meta{display:flex;justify-content:space-between;gap:16px;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--fg);margin-bottom:6px}
.hero__meta--tagline{justify-content:center;text-align:center}
.hero__word{font-family:var(--cond);font-weight:700;text-transform:uppercase;line-height:.8;letter-spacing:-.035em;display:flex;justify-content:center;align-items:baseline;gap:.18em;text-align:center;font-size:15vw;white-space:nowrap;width:100%;max-width:100%;overflow:hidden}
.hero__word span,.ftr__word span{display:inline-block}
.hero .hero__tag{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);font-size:var(--small);font-weight:700;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;color:#fff;mix-blend-mode:difference}

/* Work */
.work{padding:clamp(48px,8vw,120px) var(--pad) 0}
.work__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:24px;padding-bottom:14px;border-bottom:1px solid var(--fg);margin-bottom:var(--gap);position:sticky;top:0;z-index:20;background:var(--bg);padding-top:56px}
.work__title{font-family:var(--cond);font-size:clamp(40px,7vw,112px);line-height:.8;text-transform:uppercase;letter-spacing:-.03em}
.filters{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.filters button{opacity:.45;transition:opacity .2s;padding:2px 0}
.filters button[aria-selected="true"],.filters button:hover{opacity:1}
.filters button sup{font-size:8px;margin-left:2px;letter-spacing:0}
.filters button[aria-selected="true"]{text-decoration:underline;text-underline-offset:4px}
.work__count{font-size:var(--small);font-weight:700;letter-spacing:.08em;color:var(--grey)}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);grid-auto-flow:dense}
.tile{position:relative;cursor:zoom-in;outline:none;min-width:0}
.tile__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--tile)}
.tile--wide{grid-column:span 2}
.tile--wide .tile__media{aspect-ratio:8/5}
.tile--feature{grid-column:1/-1}
.tile--feature .tile__media{aspect-ratio:21/9}
.tile--tall .tile__media{aspect-ratio:9/16}
.tile__media img,.tile__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .6s}
.tile__media img[data-src],.tile__media video[data-src]{opacity:0}
.tile:hover .tile__media img,.tile:hover .tile__media video{transform:scale(1.035)}
.tile__hover{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,0) 55%);color:#fff;opacity:0;transition:opacity .35s;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tile:hover .tile__hover,.tile:focus-visible .tile__hover{opacity:1}
.tile__hover b{font-family:var(--cond);font-size:clamp(18px,2vw,30px);line-height:.9;letter-spacing:-.01em;font-weight:700}
.tile--feature .tile__hover b{font-size:clamp(32px,6vw,96px)}
.tile__cap{display:flex;justify-content:space-between;gap:10px;padding:7px 0 14px;font-size:var(--small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.tile__cap span:last-child{color:var(--grey);white-space:nowrap}
.tile__badge{position:absolute;top:10px;left:10px;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 6px;border:1px solid currentColor;color:#fff;mix-blend-mode:difference}
.tile.is-hidden{display:none}

/* Moving mosaic — the ordered grid drifts upward as one block (static grid is the fallback) */
.grid.is-marquee{display:block;height:clamp(2200px,450vh,5400px);height:clamp(2200px,450svh,5400px);overflow:hidden;overflow:clip;position:relative}
.grid.is-marquee .mcol{position:relative;height:100%;overflow:hidden;overflow:clip}
.grid.is-marquee .mtrack{will-change:transform;backface-visibility:hidden}
.grid.is-marquee .mset{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));grid-auto-rows:var(--rowH,420px);gap:var(--gap);padding-bottom:var(--gap)}
.grid.is-marquee .tile{height:100%;min-height:0}
.grid.is-marquee .tile .tile__media{aspect-ratio:auto;height:100%}
.grid.is-marquee .tile__cap{display:none}
/* hover caption: framed panel over the media, centred, follows the invert theme */
.grid.is-marquee .tile__hover{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:16px;background:rgba(var(--bg-rgb),.88);color:var(--fg);border:1px solid var(--fg);opacity:0;transition:opacity .3s}
.grid.is-marquee .tile__hover span{order:-1;font-size:var(--small);font-weight:700;letter-spacing:.08em;padding-bottom:6px;border-bottom:1px solid currentColor}
.grid.is-marquee .tile__hover b{font-size:clamp(22px,2.6vw,44px);line-height:.92;max-width:14ch}
.grid.is-marquee .tile--feature .tile__hover b{font-size:clamp(32px,5vw,80px)}
.grid.is-marquee .tile:hover .tile__hover,.grid.is-marquee .tile:focus-visible .tile__hover{opacity:1}
.grid.is-marquee .tile:hover .tile__media img,.grid.is-marquee .tile:hover .tile__media video{transform:scale(1.02)}
.grid.is-marquee .tile:focus-visible{outline:1px solid var(--fg);outline-offset:-1px}

/* About */
.about{padding:clamp(80px,12vw,200px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px) var(--pad);border-bottom:1px solid var(--fg)}
.about__lede{grid-column:1/-1;font-family:var(--cond);text-transform:uppercase;font-size:clamp(34px,5.6vw,96px);line-height:.92;letter-spacing:-.02em;max-width:18ch}
.services{list-style:none;columns:2;column-gap:var(--pad);counter-reset:s}
.services li{counter-increment:s;font-size:clamp(16px,1.6vw,22px);font-weight:700;letter-spacing:-.01em;padding:6px 0;border-top:1px solid var(--line);break-inside:avoid;display:flex;gap:12px}
.services li::before{content:counter(s,decimal-leading-zero);font-size:var(--small);color:var(--grey);padding-top:4px}
/* Crystal eye — translucent glass object (alpha from luminance), 3D tilt + moving sheen */
.crystal{margin:0 auto clamp(28px,3.5vw,56px);width:min(100%,540px);perspective:1100px}
.crystal__tilt{position:relative;transform-style:preserve-3d;will-change:transform;mix-blend-mode:screen}
.crystal img{display:block;width:100%;height:auto}
.crystal__sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.9;
  -webkit-mask:url("assets/brand/crystal-eye.webp") center/100% 100% no-repeat;mask:url("assets/brand/crystal-eye.webp") center/100% 100% no-repeat}
.crystal__glint{position:absolute;left:-50%;top:-50%;width:200%;height:200%;will-change:transform;
  background:radial-gradient(closest-side at 50% 50%,rgba(255,255,255,.75),rgba(220,235,255,.25) 45%,rgba(255,255,255,0) 72%);transform:translate3d(-12%,-8%,0)}
:root[data-theme="light"] .crystal__tilt{mix-blend-mode:multiply}
:root[data-theme="light"] .crystal img{filter:invert(1) grayscale(.6) contrast(1.05)}
:root[data-theme="light"] .crystal__sheen{mix-blend-mode:multiply;opacity:.55}
:root[data-theme="light"] .crystal__glint{background:radial-gradient(closest-side at 50% 50%,rgba(0,0,0,.55),rgba(20,30,50,.2) 45%,rgba(0,0,0,0) 72%)}
.sectors{font-size:clamp(16px,1.6vw,22px);font-weight:700;line-height:1.35;letter-spacing:-.01em;text-transform:uppercase}

/* Contact */
.contact{padding:clamp(60px,10vw,160px) var(--pad)}
.contact__big{display:block;font-family:var(--cond);text-transform:uppercase;font-size:clamp(64px,15vw,300px);line-height:.8;letter-spacing:-.035em;margin-bottom:clamp(40px,6vw,90px);transition:opacity .3s}
.contact__big:hover{opacity:.6}
.contact__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--pad);font-size:13px;line-height:1.45}
.contact__grid a{border-bottom:1px solid transparent}
.contact__grid a:hover{border-color:currentColor}

/* Cómo llegar (map) */
.map{padding:0 var(--pad) var(--pad);border-top:1px solid var(--fg)}
.map__head{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:clamp(16px,3vw,48px);padding:clamp(28px,4vw,56px) 0 clamp(16px,2vw,24px)}
.map__title{font-family:var(--cond);font-size:clamp(40px,7vw,112px);line-height:.8;text-transform:uppercase;letter-spacing:-.03em;font-weight:700}
.map__addr{font-style:normal;font-size:13px;line-height:1.45}
.map__btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--fg);font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background-color .25s,color .25s}
.map__btn:hover,.map__btn:focus-visible{background:var(--fg);color:var(--bg)}
.map__frame{position:relative;height:clamp(320px,42vw,600px);background:var(--tile);border:1px solid var(--line);overflow:hidden}
.map__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) contrast(.9);transition:filter var(--theme-ease)}
:root[data-theme="light"] .map__frame iframe{filter:grayscale(1) contrast(1.05)}

/* WhatsApp floating button — follows the invert theme; double ring keeps it visible over any background */
.wa{position:fixed;right:max(var(--pad),env(safe-area-inset-right));bottom:max(var(--pad),env(safe-area-inset-bottom));z-index:60;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fg);color:var(--bg);border:1px solid var(--bg);box-shadow:0 0 0 1px var(--fg);transition:transform .3s cubic-bezier(.2,.7,.2,1),background-color .25s,color .25s,opacity .25s,visibility .25s}
.wa:hover{transform:scale(1.06);background:var(--bg);color:var(--fg)}
.wa:focus-visible{outline:1px solid var(--fg);outline-offset:4px}
body.lb-open .wa{opacity:0;visibility:hidden;pointer-events:none}
.ftr__row{padding-right:68px} /* keep "Top ↑" clear of the floating WhatsApp button */
@media (max-width:760px){.wa{width:48px;height:48px}.wa svg{width:20px;height:20px}.ftr__row{padding-right:60px}}

/* Footer */
.ftr{background:var(--fg);color:var(--bg);padding:var(--pad);overflow:hidden}
.ftr__word{font-family:var(--cond);text-transform:uppercase;font-size:30vw;line-height:.74;letter-spacing:-.04em;text-align:center;white-space:nowrap;overflow:hidden;padding-top:.04em}
.ftr__shape{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:9vw;line-height:.8;letter-spacing:-.035em;text-align:center;white-space:nowrap;overflow:hidden;padding-top:.06em}
.ftr__shape-in{display:inline-flex;align-items:baseline;justify-content:center;gap:.2em}
.ftr__cyc{display:inline-grid;justify-items:start;align-items:baseline;overflow:hidden;line-height:.86;padding-top:.07em;margin-top:-.07em}
.ftr__w{grid-area:1/1;display:block;transform:translateY(112%);transition:none;will-change:transform}
.ftr__w.is-active{transform:none;transition:transform .85s cubic-bezier(.76,0,.24,1)}
.ftr__w.is-leaving{transform:translateY(-112%);transition:transform .85s cubic-bezier(.76,0,.24,1)}
@media (max-width:760px){
  .ftr__shape-in{flex-direction:column;align-items:center;gap:.04em}
  .ftr__cyc{justify-items:center}
}
@media (prefers-reduced-motion:reduce){.ftr__w{transform:translateY(112%)!important;transition:none!important}.ftr__w.is-active{transform:none!important}}
.ftr__row{display:flex;justify-content:space-between;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding-top:14px;border-top:1px solid currentColor;margin-top:12px}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:var(--bg);color:var(--fg);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb__stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:56px var(--pad) 64px}
.lb__stage img,.lb__stage video{max-width:100%;max-height:100%;object-fit:contain}
.lb__stage iframe{width:min(100%,calc((100vh - 120px)*16/9));aspect-ratio:16/9;border:0}
.lb__cap{position:absolute;left:var(--pad);right:var(--pad);bottom:18px;display:flex;justify-content:space-between;gap:16px;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.lb__btn{position:absolute;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:16px var(--pad)}
.lb__close{top:0;right:0}
.lb__prev{left:0;top:0;bottom:0;width:22%;text-align:left;cursor:w-resize;opacity:0}
.lb__next{right:0;top:56px;bottom:56px;width:22%;text-align:right;cursor:e-resize;opacity:0}
.lb__prev:hover,.lb__next:hover,.lb__prev:focus-visible,.lb__next:focus-visible{opacity:1}
body.lb-open{overflow:hidden}

/* Theme switch transition */
html.theme-anim,html.theme-anim body,html.theme-anim *:not(img):not(video):not(iframe),html.theme-anim *::before,html.theme-anim *::after{
  transition:background-color var(--theme-ease),color var(--theme-ease),border-color var(--theme-ease),outline-color var(--theme-ease),background-image var(--theme-ease)!important}
html.theme-anim .tile__media img,html.theme-anim .tile__media video{transition:none!important}

@media (max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
  .hdr{grid-template-columns:auto 1fr;gap:12px}
  .hdr__nav{justify-content:flex-end;gap:12px}
  .hdr__nav a:nth-child(n+3):not([href="#contact"]){display:none}
  .hdr__cta{display:none}
  .hdr{grid-template-columns:auto 1fr auto}
  .theme-toggle__txt{display:none}
  .lang{gap:4px}
  .hdr__end{gap:12px}
  .theme-toggle{padding:6px 0 6px 4px}
  .theme-toggle__dot{width:14px;height:14px}
  .hero__meta span:nth-child(2){display:none}
  .hero__word{flex-direction:column;align-items:center;gap:0;font-size:22vw;line-height:.8}
  .hero__tag{display:none}
  .work__bar{grid-template-columns:1fr auto;padding-top:52px}
  .filters{grid-column:1/-1;grid-row:2;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile--wide{grid-column:1/-1}
  .tile--feature .tile__media{aspect-ratio:16/9}
  .tile__hover{display:none}
  .grid.is-marquee{height:420vh;height:420svh;min-height:2200px}
  .grid.is-marquee .tile__hover{display:none}
  .about{grid-template-columns:1fr}
  .services{columns:1}
  .contact__grid{grid-template-columns:1fr 1fr}
  .map__head{grid-template-columns:1fr 1fr;align-items:start}
  .map__title{grid-column:1/-1}
  .map__btn{align-self:end;justify-self:end}
  .map__frame{height:380px}
  .lb__prev,.lb__next{opacity:1;top:auto;bottom:40px;height:auto;width:auto}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.cap-label{display:none}
@media (max-width:760px){.cap-idx{display:none}.cap-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.lb__link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.lb__link:hover{opacity:.7}
.about__seo{grid-column:1/-1;max-width:62ch;font-size:clamp(14px,1.1vw,17px);line-height:1.5;color:var(--grey);margin-top:clamp(8px,1vw,16px)}

/* hero lede: cycling service word (same motion as footer SHAPE YOUR …) */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.lede__cyc{display:inline-grid;justify-items:start;vertical-align:bottom;overflow:hidden;white-space:nowrap}
.lede__w{grid-area:1/1;display:block;transform:translateY(110%);will-change:transform}
.lede__w.is-active{transform:none;transition:transform .45s cubic-bezier(.76,0,.24,1)}
.lede__w.is-leaving{transform:translateY(-110%);transition:transform .45s cubic-bezier(.76,0,.24,1)}
@media (prefers-reduced-motion:reduce){.lede__w{transform:translateY(110%)!important;transition:none!important}.lede__w.is-active{transform:none!important}}

/* artists tagline + list */
.about__artists{grid-column:1/-1;font-size:var(--small);letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#888);opacity:.8;margin-top:.6em;white-space:nowrap;overflow:hidden}
.art__cyc{display:inline-grid;justify-items:start;vertical-align:bottom;overflow:hidden;color:var(--fg)}
.art__w{grid-area:1/1;display:block;white-space:nowrap;transform:translateY(110%)}
.art__w.is-active{transform:none;transition:transform .12s cubic-bezier(.76,0,.24,1)}
.art__w.is-leaving{transform:translateY(-110%);transition:transform .12s cubic-bezier(.76,0,.24,1)}
@media (prefers-reduced-motion:reduce){.art__w{transform:translateY(110%)!important;transition:none!important}.art__w.is-active{transform:none!important}}
.ftr__artists{font-size:10px;line-height:1.6;letter-spacing:.03em;opacity:.45;margin:14px 0 0;max-width:none}

.ftr__eye{display:flex;justify-content:center;padding:28px 0 8px}.ftr__eye img{height:34px;width:auto}
:root[data-theme="light"] .ftr__eye img{filter:invert(1)}

/* brands strip — monochrome, subtle */
.about__brands{grid-column:1/-1;margin-top:28px;opacity:.55}
.about__brands p{font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px}
.about__brands ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:22px 44px}
.about__brands img{height:22px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1)}
:root[data-theme="light"] .about__brands img{filter:grayscale(1) invert(1)}

/* sector line — quiet, cinematic: soft fade + blur + slight upward drift */
.about__sectors{grid-column:1/-1;font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin:.4em 0 0;white-space:nowrap}
.sec__cyc{display:inline-grid;justify-items:start;vertical-align:bottom;color:var(--fg)}
.sec__w{grid-area:1/1;opacity:0;filter:blur(4px);transform:translateY(.45em);transition:opacity .7s ease,filter .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.sec__w.is-active{opacity:1;filter:none;transform:none}
.sec__w.is-leaving{opacity:0;filter:blur(4px);transform:translateY(-.45em)}
@media (prefers-reduced-motion:reduce){.sec__w{transition:none!important}}
.about__brands .brand--text{font-family:var(--cond);font-weight:700;font-size:20px;letter-spacing:.02em;line-height:22px;color:var(--fg);white-space:nowrap}

.about__brands .about__re{margin:18px 0 0;text-transform:none;letter-spacing:.02em;font-size:var(--small)}

/* brands strip v3 — optically balanced (per-logo height by visual area), one line on desktop */
.about__brands ul{flex-wrap:nowrap;justify-content:space-between;gap:0 28px}
.about__brands li{flex:0 0 auto;display:flex;align-items:center}
.about__brands img{width:auto;max-width:none;filter:none;opacity:.9}
:root[data-theme="light"] .about__brands img{filter:invert(1)}
.about__brands .brand--text{font-family:var(--cond);font-weight:700;letter-spacing:.06em;white-space:nowrap;line-height:1}
@media (max-width:1100px){.about__brands ul{flex-wrap:wrap;justify-content:flex-start;gap:18px 30px}.about__brands img{transform:scale(.9);transform-origin:left center}}

/* brands v4 — rotating client grid */
.about__brands ul.lgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;flex-wrap:initial;justify-content:initial;border-top:1px solid rgba(127,127,127,.18);border-left:1px solid rgba(127,127,127,.18)}
.about__brands ul.lgrid li{height:110px;justify-content:center;border-right:1px solid rgba(127,127,127,.18);border-bottom:1px solid rgba(127,127,127,.18);transition:opacity .6s ease,filter .6s ease}
.about__brands ul.lgrid li.is-out{opacity:0;filter:blur(5px)}
.about__brands ul.lgrid li.is-pool{display:none}
.about__brands ul.lgrid img{transform:none}
@media (max-width:760px){.about__brands ul.lgrid{grid-template-columns:repeat(2,1fr)}.about__brands ul.lgrid li{height:84px}}
.about__brands ul.lgrid li>*{transform:scale(1.4)}@media (max-width:760px){.about__brands ul.lgrid li>*{transform:scale(1.15)}}

.about__nemo{grid-column:1/-1;margin-top:28px;padding-top:14px;border-top:1px solid rgba(127,127,127,.18);max-width:70ch;font-size:var(--small);line-height:1.6;opacity:.7}
.about__nemo p{margin:0}.about__nemo a{color:var(--fg);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.about__brands .brand--serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.04em}

.about__brands p.about__ind{text-transform:none;letter-spacing:.02em;opacity:.9;margin-bottom:6px}
.sectors{display:none!important}
.tile__sector{font-size:9px;font-weight:400;opacity:.6;letter-spacing:.14em}

/* Mosaic · All toggle */
.view-toggle{margin-top:10px;font-size:var(--small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.55;transition:opacity .2s}
.view-toggle:hover,.view-toggle[aria-pressed="true"]{opacity:1}
.view-toggle sup{font-size:8px;margin-left:2px;letter-spacing:0}
.grid[data-view="all"]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0;grid-auto-flow:row}
.grid[data-view="all"] .tile{grid-column:auto!important;aspect-ratio:4/3;height:auto;min-height:0;padding-bottom:18px;background:transparent}
.grid[data-view="all"] .tile img,.grid[data-view="all"] .tile video{width:100%;height:calc(100% - 0px);object-fit:cover}
.grid[data-view="all"] .tile__hover,.grid[data-view="all"] .tile__badge{display:none}
.tile__title{display:none}
.grid[data-view="all"] .tile__title{display:block;position:absolute;left:0;right:0;bottom:0;height:18px;line-height:18px;padding:0 6px;font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg,#000);transition:color .2s}
@media (hover:hover){.grid[data-view="all"] .tile:hover .tile__title{color:#fff}.grid[data-view="all"] .tile:hover video{opacity:.85}}
::view-transition-old(root),::view-transition-new(root){animation-duration:450ms;animation-timing-function:cubic-bezier(.2,.7,.1,1)}

.grid[data-view="all"] .tile__media{position:absolute;left:0;right:0;top:0;bottom:18px;height:auto;aspect-ratio:auto;overflow:hidden}
.grid[data-view="all"] .tile__media img,.grid[data-view="all"] .tile__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.grid[data-view="all"] .tile__cap{display:none}
.grid[data-view="all"] .tile{padding-bottom:0}

/* mini project search + sort */
.ptools{display:inline-flex;align-items:center;gap:14px;margin:10px 0 0 16px;font-size:11px;letter-spacing:.06em;color:inherit;opacity:.55;transition:opacity .2s;vertical-align:middle}
.ptools:hover,.ptools.is-open,.ptools.has-q{opacity:1}
.psearch{display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid transparent;padding:2px 0;cursor:text;transition:border-color .25s}
.ptools.is-open .psearch,.ptools.has-q .psearch{border-bottom-color:rgba(127,127,127,.5)}
.psearch svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.psearch input{width:84px;background:none;border:0;outline:0;color:inherit;font:inherit;font-size:12px;letter-spacing:.04em;padding:0;transition:width .3s ease;-webkit-appearance:none;appearance:none}
.psearch input::placeholder{color:inherit;opacity:.7}
.psearch input::-webkit-search-cancel-button{display:none}
.ptools.is-open .psearch input,.ptools.has-q .psearch input{width:170px}
.psort{white-space:nowrap;opacity:.8}
.psort button{font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.55;padding:2px 0;background:none;border:0;color:inherit;cursor:pointer}
.psort button[aria-pressed="true"]{opacity:1;font-weight:700}
@media (max-width:640px){.ptools{display:flex;margin:10px 0 0;gap:12px;flex-wrap:wrap}.psearch input{font-size:16px;transform:scale(.75);transform-origin:left center;width:110px}.ptools.is-open .psearch input,.ptools.has-q .psearch input{width:190px}}

/* OMEN sticker — black vinyl decal, fixed bottom-left */
:root{--stk:clamp(60px,6vw,84px)}
.stk{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:var(--stk);height:var(--stk);border:0;padding:0;background:none;cursor:pointer;border-radius:50%;transform:rotate(-8deg);transition:transform .45s cubic-bezier(.2,.8,.2,1.4);-webkit-tap-highlight-color:transparent;--lx:30%;--ly:22%}
.stk:hover,.stk:focus-visible{transform:rotate(-2deg) scale(1.05);--lx:62%;--ly:30%}
.stk:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.stk__die{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#050505;
 box-shadow:0 1px 1px rgba(0,0,0,.55),0 2px 3px rgba(0,0,0,.35),0 10px 22px rgba(0,0,0,.28),0 22px 44px rgba(0,0,0,.18),
 inset 0 0 0 1px rgba(255,255,255,.07),inset 0 1px 1px rgba(255,255,255,.16),inset 0 -2px 3px rgba(0,0,0,.6)}
.stk__die img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
/* glossy vinyl sheen + faint texture */
.stk__die::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:2;
 background:radial-gradient(120% 90% at var(--lx) var(--ly),rgba(255,255,255,.22),rgba(255,255,255,.05) 38%,rgba(255,255,255,0) 60%),
 linear-gradient(125deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.10) 44%,rgba(255,255,255,0) 52%),
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='80' height='80' filter='url(%23n)'/%3E%3C/svg%3E");
 mix-blend-mode:screen;transition:background-position .45s}
/* tiny lifted edge (bottom-right) with its own shadow */
.stk__die::after{content:"";position:absolute;right:4%;bottom:4%;width:22%;height:22%;border-radius:0 0 100% 0;z-index:3;pointer-events:none;
 background:linear-gradient(135deg,rgba(0,0,0,0) 48%,#1a1a1a 52%,#3a3a3a 70%,#141414 100%);
 box-shadow:-1px -1px 2px rgba(0,0,0,.6);transform:rotate(0deg);transform-origin:0 0;transition:transform .35s}
.stk:hover .stk__die::after{transform:translate(-2%,-2%) scale(1.08)}
body.lb-open .stk{display:none}
@media(max-width:760px){:root{--stk:58px}.stk{left:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

@media(max-width:760px){footer{padding-bottom:calc(58px + 28px)}}

/* sticker contrast: white on dark (default), black on invert */
.stk__die{background:#f2f2f2}
.stk__die .stk__b{display:none}
:root[data-theme="light"] .stk__die{background:#050505}
:root[data-theme="light"] .stk__die .stk__w{display:none}
:root[data-theme="light"] .stk__die .stk__b{display:block}
:root:not([data-theme="light"]) .stk__die{box-shadow:0 1px 1px rgba(0,0,0,.6),0 2px 4px rgba(0,0,0,.45),0 10px 22px rgba(0,0,0,.5),0 22px 44px rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.08),inset 0 1px 1px rgba(255,255,255,.9),inset 0 -2px 3px rgba(0,0,0,.22)}
:root:not([data-theme="light"]) .stk__die::before{mix-blend-mode:soft-light}
:root:not([data-theme="light"]) .stk__die::after{background:linear-gradient(135deg,rgba(0,0,0,0) 48%,#d9d9d9 52%,#ffffff 70%,#cfcfcf 100%);box-shadow:-1px -1px 2px rgba(0,0,0,.35)}

/* sticker = invert toggle: smooth crossfade */
.stk__die{transition:background-color .5s ease,box-shadow .5s ease}
.stk__die img{position:absolute;inset:0;transition:opacity .5s ease}
.stk__die .stk__b,:root[data-theme="light"] .stk__die .stk__b{display:block}
.stk__die .stk__w,:root[data-theme="light"] .stk__die .stk__w{display:block}
.stk__die .stk__b{opacity:0}
:root[data-theme="light"] .stk__die .stk__b{opacity:1}
:root[data-theme="light"] .stk__die .stk__w{opacity:0}
.stk:active{transform:rotate(-8deg) scale(.94)}

/* centered bottom eye: inverts whatever is behind it */
.eyestk{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:39;width:clamp(40px,3.6vw,56px);height:clamp(40px,3.6vw,56px);pointer-events:none;mix-blend-mode:difference;transition:opacity .3s}
.eyestk img{display:block;width:100%;height:100%;object-fit:contain}
body.lb-open .eyestk{opacity:0;visibility:hidden}
@media(max-width:760px){.eyestk{width:38px;height:38px;bottom:calc(22px + env(safe-area-inset-bottom,0px))}}

.eyestk{bottom:0!important;padding-bottom:env(safe-area-inset-bottom,0px);height:auto!important}
.eyestk img{height:auto}
@media(max-width:760px){.eyestk{bottom:0!important}}
.eyestk{width:clamp(56px,5vw,76px)!important;line-height:0}
.eyestk img{width:100%;height:auto;display:block}
@media(max-width:760px){.eyestk{width:52px!important}}

/* playful sticker v2: JS drives --spin (scroll velocity) + light position; CSS spring on hover */
.stk{transition:transform .6s cubic-bezier(.34,1.8,.5,1)!important}
.stk:hover,.stk:focus-visible{transform:translateY(-6px) rotate(4deg) scale(1.12)!important}
.stk:active{transform:translateY(-2px) rotate(-4deg) scale(.95)!important;transition-duration:.15s!important}
.stk__die{transform:rotate(var(--spin,0deg));will-change:transform}
.stk:hover .stk__die{box-shadow:0 2px 2px rgba(0,0,0,.4),0 14px 26px rgba(0,0,0,.4),0 30px 50px rgba(0,0,0,.28)}
.stk__die::before{transition:none!important}

/* BIOMA beetle */
.bioma{position:fixed;left:10px;top:50%;z-index:38;width:40px;height:40px;margin-top:-20px;display:block;-webkit-tap-highlight-color:transparent}
.bioma img{width:100%;height:100%;display:block;transform-origin:50% 60%;animation:bioma-idle 4.8s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));transition:transform .4s cubic-bezier(.34,1.8,.5,1)}
@keyframes bioma-idle{0%,100%{transform:rotate(-4deg) scale(1)}22%{transform:rotate(3deg) scale(1.03)}30%{transform:rotate(1deg) scale(1.02)}36%{transform:rotate(4deg) scale(1.03)}60%{transform:rotate(-2deg) scale(.99)}78%{transform:rotate(-5deg) scale(1.01)}}
.bioma:hover img,.bioma:focus-visible img{animation:bioma-idle 1.6s ease-in-out infinite,bioma-iri 1.8s linear infinite}
@keyframes bioma-iri{0%{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45)) hue-rotate(0) saturate(1.3) brightness(1.1)}50%{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45)) hue-rotate(70deg) saturate(1.6) brightness(1.25)}100%{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45)) hue-rotate(0) saturate(1.3) brightness(1.1)}}
.bioma::after{content:attr(data-tip);position:absolute;left:46px;top:50%;transform:translate(-4px,-50%);font:500 10px/1 inherit;letter-spacing:.14em;padding:4px 6px;border-radius:3px;background:rgba(0,0,0,.75);color:#fff;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;white-space:nowrap}
.bioma:hover::after,.bioma:focus-visible::after{opacity:1;transform:translate(0,-50%)}
body.lb-open .bioma{display:none}
@media(max-width:760px){.bioma{width:32px;height:32px;margin-top:-16px;left:6px}.bioma::after{left:38px}}
@media(min-width:761px){.work{padding-left:max(var(--pad),62px)}}

/* ===== crystal eye hero ===== */
.about{position:relative;overflow-x:clip}
.about>*:not(.ceye){position:relative;z-index:1}
.ceye{position:absolute;z-index:0;right:calc(var(--pad) + 2vw);top:clamp(60px,9vw,170px);width:min(40vw,640px);aspect-ratio:1000/780;perspective:1100px;--rx:0;--ry:0;--e:0}
.ceye__in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(calc(var(--ry)*-9deg)) rotateY(calc(var(--rx)*12deg))}
.ceye__img{position:absolute;left:5%;top:10%;width:90%;height:auto;opacity:calc(.78 + var(--e)*.2);filter:drop-shadow(0 0 calc(18px + var(--e)*22px) rgba(190,220,255,calc(.18 + var(--e)*.25)));transform:translateZ(40px);animation:ceye-float 9s ease-in-out infinite}
@keyframes ceye-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.ceye__glow{position:absolute;inset:8% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(170,200,255,calc(.10 + var(--e)*.14)),rgba(255,120,220,calc(.04 + var(--e)*.06)) 55%,transparent 75%);filter:blur(20px);transform:translateZ(-30px)}
.ceye__sheen{position:absolute;left:5%;top:10%;width:90%;aspect-ratio:1268/988;transform:translateZ(42px);-webkit-mask:url(assets/brand/crystal-eye.webp) center/100% 100% no-repeat;mask:url(assets/brand/crystal-eye.webp) center/100% 100% no-repeat;background:linear-gradient(105deg,transparent 38%,rgba(255,170,220,.35) 46%,rgba(170,240,255,.45) 50%,rgba(255,250,170,.3) 54%,transparent 62%) no-repeat;background-size:250% 100%;mix-blend-mode:screen;animation:ceye-sheen 7s ease-in-out infinite;opacity:calc(.6 + var(--e)*.4)}
@keyframes ceye-sheen{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
.ceye__fx{position:absolute;inset:0;width:100%;height:100%;overflow:visible;mix-blend-mode:screen}
.ceye__beam{opacity:calc(.55 + var(--e)*.35)}
.ceye__spec{transform-box:view-box;transform-origin:560px 445px;transform:rotate(calc(var(--ry)*5deg + var(--rx)*-3deg)) scaleY(calc(1 + var(--e)*.3));opacity:calc(.34 + var(--e)*.36);animation:ceye-spec 6s ease-in-out infinite}
@keyframes ceye-spec{0%,100%{filter:brightness(1)}50%{filter:brightness(1.3)}}
.ceye__hot{opacity:calc(.10 + var(--e)*.2)}
:root[data-theme="light"] .ceye{filter:invert(1) hue-rotate(180deg)}
@media(max-width:760px){.ceye{right:-10vw;top:24px;width:96vw;opacity:.3;pointer-events:none}}

/* NEMO TALLER tools (mirror of BIOMA) */
.nemo{position:fixed;right:10px;top:50%;z-index:38;width:40px;height:40px;margin-top:-20px;display:block;-webkit-tap-highlight-color:transparent}
.nemo img{width:100%;height:100%;display:block;transform-origin:30% 75%;animation:nemo-tap 5.5s ease-in-out infinite}
@keyframes nemo-tap{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-9deg)}80%{transform:rotate(2deg)}84%{transform:rotate(-5deg)}88%{transform:rotate(1deg)}92%{transform:rotate(0)}}
.nemo::before{content:"";position:absolute;inset:0;pointer-events:none;-webkit-mask:url(assets/brand/nemo-tools.png) center/100% 100% no-repeat;mask:url(assets/brand/nemo-tools.png) center/100% 100% no-repeat;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:130% 0;opacity:0;mix-blend-mode:screen}
.nemo:hover::before,.nemo:focus-visible::before{opacity:1;animation:nemo-sheen 1.1s ease-in-out infinite}
@keyframes nemo-sheen{from{background-position:130% 0}to{background-position:-60% 0}}
.nemo:hover img{animation-duration:1.4s}
.nemo::after{content:attr(data-tip);position:absolute;right:46px;top:50%;transform:translate(4px,-50%);font:500 10px/1 inherit;letter-spacing:.14em;padding:4px 6px;border-radius:3px;background:rgba(0,0,0,.75);color:#fff;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;white-space:nowrap}
.nemo:hover::after,.nemo:focus-visible::after{opacity:1;transform:translate(0,-50%)}
body.lb-open .nemo{display:none}
@media(min-width:761px){.work{padding-right:max(var(--pad),62px)}}
@media(max-width:760px){.nemo{width:32px;height:32px;margin-top:-16px;right:6px}.nemo::after{right:38px}}

/* rental CTAs (stacked above WhatsApp) */
.rent{position:fixed;right:max(var(--pad),env(safe-area-inset-right));bottom:calc(max(var(--pad),env(safe-area-inset-bottom)) + 64px);z-index:59;display:flex;flex-direction:column;align-items:center;gap:10px}
.rent__btn{display:block;width:56px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55));transition:transform .45s cubic-bezier(.34,1.8,.5,1);-webkit-tap-highlight-color:transparent}
.rent__btn svg{display:block;width:100%;height:auto;overflow:visible}
.rent__btn:hover,.rent__btn:focus-visible{transform:translateY(-3px) scale(1.1) rotate(-3deg)}
.rent__arm{transform-box:fill-box;transform-origin:4% 100%;animation:clap 6s ease-in-out infinite}
@keyframes clap{0%,78%,100%{transform:rotate(0)}82%{transform:rotate(-24deg)}86%{transform:rotate(0)}88%{transform:rotate(-8deg)}90%{transform:rotate(0)}}
.rent--foro:hover .rent__arm{animation-duration:1.2s}
.rent__waves path{opacity:0;animation:wave 2.4s ease-out infinite}
.rent__waves path:nth-child(n+3){animation-delay:.35s}
@keyframes wave{0%{opacity:0;stroke-width:2}30%{opacity:.75}100%{opacity:0;stroke-width:.6}}
.rent--studio:hover .rent__waves path{animation-duration:1.1s}
:root[data-theme="light"] .rent__btn{filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}
:root[data-theme="light"] .rent__waves{stroke:#111}
:root[data-theme="light"] .rent--studio text{fill:#111}
body.lb-open .rent{display:none}
@media(max-width:760px){.rent{bottom:calc(max(var(--pad),env(safe-area-inset-bottom)) + 60px);gap:8px}.rent__btn{width:46px}}
@media(min-width:761px){.work{padding-right:max(var(--pad),88px)}}

/* strategic partners */
.partners{grid-column:1/-1;margin-top:34px;padding-top:22px;border-top:1px solid rgba(var(--fg-rgb,255,255,255),.15)}
.partners p{font-size:var(--small);letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;opacity:.55}
.partners ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:22px 52px}
.partners a{display:flex;align-items:center;height:30px;opacity:.7;transition:opacity .25s,transform .25s}
.partners a:hover,.partners a:focus-visible{opacity:1;transform:translateY(-2px)}
.partners img{height:20px;width:auto}
.pw{color:var(--fg);text-transform:uppercase;white-space:nowrap;line-height:1}
.pw--fgc{font-family:var(--cond);font-weight:700;font-size:26px;letter-spacing:.06em}
.pw--roy{font-family:Georgia,"Times New Roman",serif;font-size:19px;letter-spacing:.22em}
.pw--xali{font-family:var(--cond);font-weight:700;font-size:25px;letter-spacing:.32em}
:root[data-theme="light"] .partners img{filter:invert(1)}
/* hero sharpie */
.hero .hero__ink{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
@media(min-width:761px){.about{padding-left:max(var(--pad),62px);padding-right:max(var(--pad),62px)}.hero .hero__tag{right:calc(var(--pad) + 48px)}}
@media(max-width:760px){.partners ul{padding:0 34px;gap:18px 34px}}

/* top hero tagline */
.hero .hero__eyeline{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:clamp(84px,13vh,150px);margin:0;font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.6vw,78px);line-height:.9;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.45),0 0 2px rgba(0,0,0,.35)}
@media(max-width:760px){.hero .hero__eyeline{top:84px;font-size:clamp(28px,9.4vw,44px)}}

/* ===== UNIVERSE MODE ===== */
:root[data-universe]{--bg:#05040b;--bg-rgb:5,4,11;--tile:#0b0a16;--line:rgba(200,190,255,.18);--iri:linear-gradient(100deg,#fff 0%,#ffd1f0 14%,#c9b8ff 28%,#9fe8ff 42%,#c8ffd9 56%,#fff3b0 70%,#ffc4d8 84%,#fff 100%)}
:root[data-universe]{background:radial-gradient(1200px 700px at 78% 12%,rgba(120,70,200,.22),transparent 60%),radial-gradient(900px 600px at 12% 70%,rgba(40,120,200,.16),transparent 60%),radial-gradient(800px 500px at 60% 95%,rgba(200,60,140,.12),transparent 60%),#05040b;background-attachment:fixed}
:root[data-universe] body{background:transparent}
.uni-stars{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:none}
:root[data-universe] .work__bar{background:linear-gradient(rgba(5,4,11,.9),rgba(5,4,11,.7));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
@keyframes iri{0%{background-position:0% 50%}100%{background-position:200% 50%}}
:root[data-universe] :is(.about__lede span:not(:has(span)),.work__title,.hero__eyeline,.ftr__word,.about h2,.services h2,h2.sec__title){background:var(--iri);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:iri 9s linear infinite}
:root[data-universe] .hero .hero__eyeline{text-shadow:none;filter:drop-shadow(0 2px 14px rgba(0,0,0,.55))}
:root[data-universe] .hero__word span{background:var(--iri);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:iri 12s linear infinite}
/* prism beam accent above the work section */
:root[data-universe] .work{position:relative}
:root[data-universe] .work::before{content:"";position:absolute;left:0;right:0;top:18px;height:14px;pointer-events:none;
 background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.0) 4%,rgba(255,255,255,.85) 44%,rgba(255,255,255,.9) 49.5%,transparent 49.6%) center/100% 1px no-repeat,
 linear-gradient(180deg,#ff2a3d 0 16.6%,#ff8a1f 0 33.3%,#ffe14a 0 50%,#3dff7a 0 66.6%,#2ab8ff 0 83.3%,#7a4dff 0) right/50% 100% no-repeat;
 -webkit-mask:linear-gradient(90deg,#000 50%,rgba(0,0,0,.9) 52%,transparent 100%),linear-gradient(#000,#000);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,#000 50%,rgba(0,0,0,.9) 52%,transparent 100%);opacity:.55;filter:blur(.4px);clip-path:polygon(0 46%,50% 46%,100% 0,100% 100%,50% 54%,0 54%)}
/* tiles: iridescent hover glow */
:root[data-universe] .grid .tile{transition:box-shadow .45s,transform .45s}
:root[data-universe] .grid .tile:hover{box-shadow:0 0 0 1px rgba(255,255,255,.35),-8px 0 28px rgba(255,90,170,.28),8px 0 28px rgba(90,200,255,.28),0 10px 34px rgba(160,120,255,.3)}
:root[data-universe] .grid.is-marquee .tile__hover{background:linear-gradient(135deg,rgba(5,4,11,.86),rgba(30,16,60,.82));border-image:var(--iri) 1}
/* crystal eye stronger */
:root[data-universe] .ceye__img{opacity:.95;filter:drop-shadow(0 0 32px rgba(190,170,255,.45)) drop-shadow(0 0 8px rgba(160,230,255,.5))}
:root[data-universe] .ceye__spec{opacity:.72}
:root[data-universe] .ceye__beam{opacity:.95}
:root[data-universe] .ceye__glow{background:radial-gradient(closest-side,rgba(170,140,255,.32),rgba(255,120,220,.14) 55%,transparent 75%)}
:root[data-universe] .stk__die{box-shadow:0 0 18px rgba(170,140,255,.45),0 0 2px rgba(255,255,255,.7),0 10px 24px rgba(0,0,0,.6)}
:root[data-universe] .hero::after{background:linear-gradient(to top,#05040b,rgba(5,4,11,0) 45%)}
:root[data-universe] :is(.lede__w,.art__w,.sec__w,.ftr__w):not(.is-active):not(.is-leaving){visibility:hidden}

.pw--roy{text-transform:none!important;font-family:"Times New Roman",Georgia,serif;font-size:22px;letter-spacing:.01em}.pw--roy em{font-style:italic}

.eyestk{pointer-events:auto;cursor:pointer;display:block}.hdr__mark{cursor:pointer}

.partners li>span.pw{display:flex;align-items:center;height:30px;opacity:.7}
.pw--eon{font-family:var(--sans);font-weight:300;font-size:24px;letter-spacing:.42em}
.pw--kutsi{font-family:var(--cond);font-weight:400;font-size:22px;letter-spacing:.12em}.pw--kutsi b{font-weight:700}

/* ===== Services Universe (Universe Mode only) ===== */
.suni{display:none}
:root[data-universe] .suni{display:block;padding:clamp(60px,8vw,120px) max(var(--pad),62px) 0;position:relative}
.suni__head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.suni__title{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:clamp(34px,5vw,84px);line-height:.9;margin:0;background:var(--iri);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:iri 9s linear infinite}
.suni__hint{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin:0}
.suni__stage{position:relative;height:min(78vh,760px);border:1px solid rgba(200,190,255,.18);border-radius:6px;overflow:hidden;background:radial-gradient(900px 500px at 50% 50%,rgba(70,40,140,.25),transparent 70%)}
.suni__stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.suni__stage canvas:active{cursor:grabbing}
.suni__ctl{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px}
.suni__ctl button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(5,4,11,.6);color:#fff;font-size:16px;cursor:pointer;backdrop-filter:blur(6px)}
.suni__ctl button:hover{border-color:#fff;box-shadow:0 0 14px rgba(180,150,255,.6)}
.suni__card{position:absolute;left:18px;bottom:18px;max-width:340px;padding:16px 18px;border-radius:6px;background:rgba(5,4,11,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;pointer-events:none}
.suni__card.on{opacity:1;transform:none;pointer-events:auto}
.suni__card h3{margin:0 0 6px;font-family:var(--cond);text-transform:uppercase;font-size:24px;letter-spacing:.02em;background:var(--iri);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.suni__card p{margin:0 0 10px;font-size:13px;line-height:1.4;opacity:.85}
.suni__card a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor}
@media(max-width:760px){:root[data-universe] .suni{padding-left:var(--pad);padding-right:var(--pad)}.suni__head{flex-direction:column;align-items:start}.suni__stage{height:70vh}.suni__card{right:12px;left:12px;max-width:none}}

/* clapper: clear clack + tiny shake every 8s */
.rent__arm{animation:clap2 8s cubic-bezier(.3,0,.2,1) infinite!important}
@keyframes clap2{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-30deg)}88.5%{transform:rotate(1.5deg)}89.5%{transform:rotate(0)}}
.rent--foro svg{animation:clapshake 8s linear infinite}
@keyframes clapshake{0%,88.4%,94%,100%{transform:none}89%{transform:translate(-1.5px,1px) rotate(-2deg)}90%{transform:translate(1.5px,-1px) rotate(1.5deg)}91%{transform:translate(-1px,0) rotate(-1deg)}92.5%{transform:translate(.5px,0)}}
.bioma.is-flying{z-index:37}
.bioma.is-flying img{animation:bioma-buzz .09s linear infinite}
@keyframes bioma-buzz{0%,100%{transform:scale(1,1)}50%{transform:scale(1.06,.94)}}
.bioma.is-flying::after{display:none}

/* Acorn woodpecker */
.wpk{position:absolute;z-index:36;display:none;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
.wpk.is-on{display:block}
.wpk__s{display:block;width:100%;height:100%;transform:scaleX(var(--face,1));filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
.wpk svg{width:100%;height:100%;display:block;overflow:visible}
.wpk .wp__wing{transform-box:fill-box;transform-origin:85% 20%}
.wpk.is-fly .wp__wing{animation:wpflap .16s ease-in-out infinite alternate}
@keyframes wpflap{from{transform:rotate(18deg) scaleY(1.1)}to{transform:rotate(-55deg) scaleY(.7)}}
.wpk.is-fly .wp__legs{opacity:0}
.wpk.is-fly .wpk__s{animation:wpbob .32s ease-in-out infinite alternate}
@keyframes wpbob{from{translate:0 -1.5px}to{translate:0 1.5px}}
.wpk .wp__head{transform-box:fill-box;transform-origin:20% 70%}
.wpk.is-perch .wp__head{animation:wpidle 1.4s ease-in-out infinite}
@keyframes wpidle{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}
.wpk.is-peck .wp__head{animation:wppeck .14s ease-in 3}
@keyframes wppeck{0%,100%{transform:rotate(0)}55%{transform:rotate(22deg) translate(2px,1px)}}
.wpk.is-peck .wpk__s{animation:wpshake .14s linear 3}
@keyframes wpshake{0%,100%{translate:0 0}40%{translate:.8px .4px}70%{translate:-.6px 0}}
.wpk::after{content:attr(data-tip);position:absolute;left:50%;bottom:100%;transform:translate(-50%,-4px);font:500 10px/1 inherit;letter-spacing:.14em;padding:4px 6px;border-radius:3px;background:rgba(0,0,0,.78);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.wpk:hover::after{opacity:1}
.wpk__snd{position:absolute;right:-14px;top:-6px;width:18px;height:18px;border-radius:50%;border:0;padding:0;font-size:10px;line-height:18px;background:rgba(0,0,0,.6);cursor:pointer;opacity:0;transition:opacity .2s}
.wpk.is-perch:hover .wpk__snd{opacity:1}
body.lb-open .wpk{display:none}

/* ===== Universe restyle: raster-noton / 2001 — monochrome, technical ===== */
:root[data-universe]{--iri:linear-gradient(100deg,#9a9a9a 0%,#fff 18%,#bdbdbd 32%,#fff 46%,#8c8c8c 60%,#f2f2f2 78%,#9a9a9a 100%);--bg:#000;--bg-rgb:0,0,0;--line:rgba(255,255,255,.14)}
:root[data-universe]{background:
 repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 80px),
 repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 80px),#000;background-attachment:fixed}
:root[data-universe] body::before{content:"";position:fixed;inset:-50%;z-index:-1;pointer-events:none;opacity:.07;
 background: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='1.2' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:uni-grain .5s steps(4) infinite}
@keyframes uni-grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(0,0)}}
/* headings: grey shimmer + scanlines */
@keyframes iri{0%{background-position:0% 50%}100%{background-position:200% 50%}}
:root[data-universe] :is(.about__lede span:not(:has(span)),.work__title,.ftr__word,.suni__title,.hero__word span){background:var(--iri),repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 1px,transparent 1px 3px);background-size:200% 100%,auto;background-blend-mode:multiply;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* prism beam -> oscilloscope sine line + readout */
:root[data-universe] .work::before{clip-path:none;-webkit-mask:none;mask:none;filter:none;opacity:.5;height:24px;top:14px;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='24' viewBox='0 0 240 24'%3E%3Cpath d='M0 12 Q15 0 30 12 T60 12 T90 12 T120 12 T150 12 T180 12 T210 12 T240 12' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E") repeat-x left center/240px 24px;animation:uni-osc 6s linear infinite}
@keyframes uni-osc{to{background-position:240px center}}
:root[data-universe] .work::after{content:"CH1 · 220.00 Hz · SINE · T+00:00:00:00";position:absolute;right:max(var(--pad),88px);top:2px;font:10px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:rgba(255,255,255,.45)}
/* tiles: thin white frame + crosshair corners, no colour */
:root[data-universe] .grid .tile:hover{box-shadow:0 0 0 1px rgba(255,255,255,.7),0 0 24px rgba(255,255,255,.08)}
:root[data-universe] .grid.is-marquee .tile__hover{background:rgba(0,0,0,.82);border-image:none;border:1px solid rgba(255,255,255,.6);font-family:ui-monospace,Menlo,monospace}
:root[data-universe] .work__bar{background:rgba(0,0,0,.86)}
/* crystal eye: monochrome glass + HAL red core */
:root[data-universe] .ceye__spec{opacity:0!important}
:root[data-universe] .ceye__img{filter:grayscale(1) contrast(1.1) drop-shadow(0 0 22px rgba(255,255,255,.18))!important;opacity:.9}
:root[data-universe] .ceye__glow{background:radial-gradient(closest-side,rgba(255,30,20,.55),rgba(255,0,0,.18) 30%,transparent 55%)!important;inset:30% 34% 26% 34%;filter:blur(10px)}
:root[data-universe] .ceye__hot{fill:#ff2a1a;opacity:calc(.5 + var(--e)*.35)!important}
:root[data-universe] .ceye__beam{opacity:.6!important}
:root[data-universe] .ceye::after{content:"HAL/EYE-01 · 9000 · NOMINAL";position:absolute;left:8%;bottom:-6px;font:9px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:rgba(255,255,255,.4)}
:root[data-universe] .stk__die{box-shadow:0 0 0 1px rgba(255,255,255,.4),0 10px 24px rgba(0,0,0,.6)}
:root[data-universe] .hero::after{background:linear-gradient(to top,#000,rgba(0,0,0,0) 45%)}
/* Services Universe: technical frame, readout cards, collapse tab */
:root[data-universe] .suni__stage{background:#000;border:1px solid rgba(255,255,255,.22);border-radius:0}
.suni__stage::before,.suni__stage::after{content:"";position:absolute;width:18px;height:18px;border:1px solid rgba(255,255,255,.7);pointer-events:none;z-index:2}
.suni__stage::before{left:-1px;top:-1px;border-right:0;border-bottom:0}.suni__stage::after{right:-1px;bottom:-1px;border-left:0;border-top:0}
.suni__ctl button{border-radius:0;background:#000;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.suni__ctl button:hover{box-shadow:none;background:#fff;color:#000}
.suni__hint{font-family:ui-monospace,Menlo,monospace}
.suni__card{border-radius:0;background:rgba(0,0,0,.88);border:1px solid rgba(255,255,255,.4);font-family:ui-monospace,Menlo,monospace}
.suni__card::before{content:"";position:absolute;left:12px;top:12px;width:6px;height:6px;border-radius:50%;background:#ff2a1a;box-shadow:0 0 8px #ff2a1a}
.suni__ro{font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.5);margin:0 0 8px 14px}
.suni__card h3{font-family:ui-monospace,Menlo,monospace;font-size:16px;letter-spacing:.12em;background:none;-webkit-text-fill-color:#fff;color:#fff}
.suni__card p{font-size:12px}
.suni__head{flex-wrap:wrap}
.suni__tab{order:-1;flex-basis:100%;text-align:left;background:none;border:0;padding:0 0 10px;color:rgba(255,255,255,.75);font:11px/1 ui-monospace,Menlo,monospace;letter-spacing:.16em;cursor:pointer}
.suni__tab:hover{color:#fff}.suni__tabmeta{opacity:.45;margin-left:8px}
.suni__body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .6s cubic-bezier(.2,.8,.2,1),opacity .45s}
.suni__body>.suni__stage{min-height:0}
.suni.is-collapsed .suni__body{grid-template-rows:0fr;opacity:0}
.suni.is-collapsed .suni__stage{border-width:0}
.suni.is-collapsed .suni__title{opacity:.35}
.suni__body{overflow:hidden}
.suni__body{display:block;max-height:820px;transition:max-height .6s cubic-bezier(.2,.8,.2,1),opacity .45s}
.suni.is-collapsed .suni__body{max-height:0;opacity:0}

/* NEMO: chrome juicer, slow spin with moving reflection */
.nemo img{animation:nemo-spin 9s ease-in-out infinite!important;transform-origin:50% 60%}
@keyframes nemo-spin{0%,100%{transform:perspective(160px) rotateY(0)}50%{transform:perspective(160px) rotateY(180deg)}}
.nemo::before{-webkit-mask-image:url(assets/brand/nemo-juicer.png)!important;mask-image:url(assets/brand/nemo-juicer.png)!important;opacity:.55;animation:nemo-sheen 4.5s ease-in-out infinite}
.nemo:hover::before{opacity:1;animation-duration:1.1s}
.partners a{height:42px}

/* record-label whisper */
.rlmsg{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 74px);transform:translate(-50%,-6px);z-index:45;display:flex;align-items:center;gap:12px;max-width:min(92vw,560px);padding:8px 10px 8px 14px;font:11px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.06em;color:rgba(255,255,255,.62);background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);opacity:0;transition:opacity .7s,transform .7s}
.rlmsg.on{opacity:1;transform:translate(-50%,0)}
.rlmsg button{background:none;border:0;color:inherit;font-size:14px;line-height:1;cursor:pointer;padding:2px 4px;opacity:.7}.rlmsg button:hover{opacity:1}
:root[data-theme="light"] .rlmsg{color:rgba(0,0,0,.6);background:rgba(255,255,255,.7);border-color:rgba(0,0,0,.12)}
body.lb-open .rlmsg{display:none}

/* galactic campfire */
.campfire{display:flex;flex-direction:column;align-items:center;gap:6px;padding:56px var(--pad) 40px;text-align:center}
.campfire[hidden]{display:none}
.campfire__btn{background:none;border:0;padding:0;cursor:pointer;line-height:0;-webkit-tap-highlight-color:transparent;transition:transform .3s;touch-action:none}
.campfire__btn:hover{transform:scale(1.06)}
.campfire.is-holding .campfire__btn{transform:scale(.94)}
.campfire.is-listening .campfire__btn{filter:drop-shadow(0 0 10px rgba(255,255,255,.35))}
.campfire__cap{margin:0;font:11px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);opacity:.6}
.campfire__note{margin:0;font:9px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.1em;opacity:.3}
.campfire.is-out .campfire__cap{opacity:.25}
:root[data-theme="light"] .campfire__btn{filter:invert(1)}

/* Universe visitors */
.vis{position:fixed;left:0;top:0;z-index:35;pointer-events:none}
.vis--comet{width:100vw;height:100vh}
.vis--ufo{width:64px;height:40px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}
.vis--ufo svg{width:100%;height:100%;display:block;animation:vis-hover 1.2s ease-in-out infinite alternate}
@keyframes vis-hover{from{translate:0 -2px}to{translate:0 2px}}
.vis__beam{position:absolute;left:50%;top:30px;width:120px;height:0;transform:translateX(-50%);background:linear-gradient(rgba(255,255,255,.28),rgba(255,255,255,0));clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);transition:height .5s,opacity .5s;opacity:0}
.vis--ufo.beam .vis__beam{height:110px;opacity:1;animation:vis-beam .18s steps(2) infinite}
@keyframes vis-beam{50%{opacity:.75}}
.vis-tractor{transition:transform .6s cubic-bezier(.3,1.6,.5,1),filter .6s!important;transform:translateY(-6px) rotate(-.8deg)!important;filter:brightness(1.12) drop-shadow(0 0 14px rgba(255,255,255,.25))}
.vis--alien{width:34px;height:42px;transition:transform .55s cubic-bezier(.3,1.4,.5,1)}
.vis--alien svg{width:100%;height:100%;display:block}
.vis--alien.vis--l{transform:translateX(-30px) rotate(-12deg);clip-path:inset(0 0 0 30px)}
.vis--alien.vis--r{transform:translateX(30px) rotate(12deg);clip-path:inset(0 30px 0 0)}
.vis--alien.in{transform:none;clip-path:none}
.vis--alien.blink .vis__eyes{transform:scaleY(.1);transform-origin:50% 48%}
.vis__eyes{transition:transform .08s}
.vis__hand{position:absolute;top:28px;width:8px;height:3px;border-radius:2px;background:#cfd4d9;opacity:0;transition:transform .2s,opacity .2s}
.vis--l .vis__hand{right:-6px}.vis--r .vis__hand{left:-6px}
.vis--alien.poke .vis__hand{opacity:1;transform:translateX(5px)}.vis--r.poke .vis__hand{transform:translateX(-5px)}
.vis-poked{animation:vis-poke .45s ease}
@keyframes vis-poke{30%{transform:translateX(2px) rotate(.6deg)}60%{transform:translateX(-1px)}}
body.lb-open .vis{display:none}

/* XELVAJE cacao pod (left edge, under the beetle) */
.xelv{position:fixed;left:12px;top:calc(50% + 34px);z-index:38;width:36px;height:36px;display:block;-webkit-tap-highlight-color:transparent}
.xelv img{width:100%;height:100%;display:block;transform-origin:50% 8%;animation:xelv-sway 5.5s ease-in-out infinite;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
@keyframes xelv-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.xelv:hover img{animation-duration:1.6s}
.xelv::after{content:attr(data-tip);position:absolute;left:44px;top:50%;transform:translate(-4px,-50%);font:500 10px/1 inherit;letter-spacing:.14em;padding:4px 6px;border-radius:3px;background:rgba(0,0,0,.75);color:#fff;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;white-space:nowrap}
.xelv:hover::after,.xelv:focus-visible::after{opacity:1;transform:translate(0,-50%)}
body.lb-open .xelv{display:none}
@media(max-width:760px){.xelv{width:28px;height:28px;left:8px;top:calc(50% + 26px)}.xelv::after{left:34px}}

/* ---------- project pages (#/work/<slug>) ---------- */
.pp{position:fixed;inset:0;z-index:95;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);color:var(--fg);-webkit-overflow-scrolling:touch}
.pp[hidden]{display:none}
.pp__bar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,56px);font-size:11px;letter-spacing:.14em;text-transform:uppercase;mix-blend-mode:difference;color:#fff}
.pp__bar a{color:inherit;text-decoration:none}
.pp__hero{margin:-52px 0 0;height:min(92vh,62vw);min-height:320px;overflow:hidden;background:#000}
.pp__hero video,.pp__hero img{width:100%;height:100%;object-fit:cover;display:block}
.pp__head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding:clamp(40px,7vw,110px) clamp(16px,4vw,56px) clamp(32px,5vw,80px);align-items:end}
.pp__title{font-family:var(--cond,inherit);font-stretch:condensed;font-weight:700;text-transform:uppercase;font-size:clamp(48px,9vw,150px);line-height:.86;letter-spacing:-.01em;margin:0}
.pp__sub{grid-column:1;margin:14px 0 0;font-size:clamp(14px,1.3vw,18px);opacity:.7;max-width:34em}
.pp__meta{grid-column:2;grid-row:1/3;margin:0;font-size:12px;border-top:1px solid currentColor}
.pp__meta div{display:grid;grid-template-columns:7.5em 1fr;padding:10px 0;border-bottom:1px solid color-mix(in srgb,currentColor 25%,transparent)}
.pp__meta dt{opacity:.5;text-transform:uppercase;letter-spacing:.12em;font-size:10px;padding-top:2px}
.pp__meta dd{margin:0}.pp__meta a{color:inherit}
.pp__gal{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,2vw,28px);padding:0 clamp(16px,4vw,56px)}
.pp__fig{margin:0 0 clamp(16px,4vw,60px)}
.pp__fig img,.pp__fig video,.pp__fig iframe{width:100%;height:auto;display:block;background:#111}
.pp__fig iframe{aspect-ratio:16/9;border:0}
.pp__fig figcaption{font-size:11px;opacity:.55;margin-top:8px;letter-spacing:.04em}
.pp__full{grid-column:1/-1}.pp__half{grid-column:span 6}
.pp__off-r{grid-column:5/-1}.pp__off-l{grid-column:1/9}
.pp__nav{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:end;padding:clamp(40px,8vw,120px) clamp(16px,4vw,56px) 90px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);margin-top:40px}
.pp__nav a{color:inherit;text-decoration:none}.pp__nav small{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.5;margin-bottom:6px}
.pp__nav b{font-stretch:condensed;text-transform:uppercase;font-size:clamp(22px,3.4vw,48px);line-height:.9}
.pp__next{text-align:right}.pp__back{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
body.pp-open .eyestk,body.pp-open .bioma,body.pp-open .nemo,body.pp-open .xelv,body.pp-open .rent{display:none}
@media(max-width:760px){.pp__head{grid-template-columns:1fr}.pp__meta{grid-column:1;grid-row:auto}.pp__half{grid-column:1/-1}.pp__off-r,.pp__off-l{grid-column:1/-1}.pp__hero{height:70vh}.pp__nav b{font-size:20px}}

/* rentals hidden until real WhatsApp number */
.rent{display:none!important}
.about__built{font-size:12px;letter-spacing:.06em;opacity:.6;margin:6px 0 14px}

/* Cinemascope 2.39:1 frame — 16:9 player cropped edge to edge (no bands) */
.scope{position:relative;width:100%;aspect-ratio:2.39/1;overflow:hidden;background:#000;max-width:min(100%,calc(80vh*2.39));margin:0 auto}
.scope iframe{position:absolute;left:0;top:50%;width:100%;height:134.5%;transform:translateY(-50%);border:0}
.pp__fig.is-scope figcaption{letter-spacing:.08em;text-transform:uppercase}
.scope iframe{pointer-events:none}
.scope__ui{position:absolute;right:12px;bottom:12px;display:flex;gap:8px;z-index:2}
.scope__btn{font:inherit;font-size:12px;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.5);padding:6px 10px;cursor:pointer;backdrop-filter:blur(6px)}
.scope__btn:hover{background:rgba(0,0,0,.8)}
.scope:fullscreen{max-width:none;width:100vw;height:100vh;aspect-ratio:auto}

.pw--waw{font-family:var(--sans);font-weight:800;font-size:12px;line-height:.92;letter-spacing:.02em;text-align:right;display:block}

.pp__fig.has-snd{position:relative}.pp__snd{position:absolute;right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:3}/* Pocari page — bold brand-colour fields, product-forward (inspired by TD case-study pacing) */
.pp__gal .pp__snd{bottom:36px}
.pp--pocari{--pblue:#0a4da3}
.pp--pocari .pp__head{background:var(--pblue);color:#fff;padding-top:clamp(70px,10vw,160px);padding-bottom:clamp(70px,10vw,160px)}
.pp--pocari .pp__kick{grid-column:1;margin:0 0 18px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.8}
.pp--pocari .pp__title{font-size:clamp(72px,15vw,240px)}
.pp--pocari .pp__sub{opacity:.9}
.pp--pocari .pp__gal{background:#fff;color:#0a1f44;padding-top:clamp(40px,7vw,110px);row-gap:clamp(40px,7vw,110px)}
.pp--pocari .pp__gal .pp__fig{margin:0}
.pp--pocari .pp__gal .pp__half img{aspect-ratio:4/5;object-fit:cover}
.pp--pocari .pp__gal figcaption{opacity:.7;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin-top:14px}
.pp--pocari .pp__gal .pp__band{grid-column:1/-1;margin:0 calc(-1*clamp(16px,4vw,56px));background:var(--pblue);padding:clamp(40px,7vw,110px) clamp(16px,4vw,56px);color:#fff}
.pp--pocari .pp__nav{background:#fff;color:#0a1f44;margin-top:0}

/* sticker always on top + clickable, incl. Universe mode */
.stk,:root[data-universe] .stk{z-index:70;pointer-events:auto!important;isolation:isolate}
.stk *{pointer-events:none}

/* footer PDF downloads (v1070) */

.ftr__dl{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;margin:18px 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.ftr__dl-h{opacity:.6}
.ftr__dl a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.ftr__dl a:hover{opacity:.6}
.ftr__dl em{font-style:normal;opacity:.6}
@media (max-width:760px){.ftr__dl{flex-direction:column;gap:8px;padding-right:60px}}

/* ---- Department colours (Bauhaus primaries) — base + text inks tuned for contrast ---- */
:root{--dept-brands:#BE1E2D;--dept-films:#1F3A93;--dept-sounds:#F2C200;--ink-brands:#E5404D;--ink-films:#7A90E8;--ink-sounds:#F2C200}
:root[data-theme="light"]{--ink-brands:#BE1E2D;--ink-films:#1F3A93;--ink-sounds:#7A6000}
.hdr__nav [data-jump="Films"],[data-dept]{transition:color .25s,opacity .2s,text-decoration-color .25s}
.hdr__nav [data-jump="Films"]:hover,.hdr__nav [data-jump="Films"]:focus-visible{color:var(--ink-films)}
[data-dept="films"]:hover,[data-dept="films"][aria-selected="true"],[data-dept="films"][aria-pressed="true"]{color:var(--ink-films);text-decoration-color:var(--dept-films)}
[data-dept="brands"]:hover,[data-dept="brands"][aria-selected="true"],[data-dept="brands"][aria-pressed="true"]{color:var(--ink-brands);text-decoration-color:var(--dept-brands)}
[data-dept="sounds"]:hover,[data-dept="sounds"][aria-selected="true"],[data-dept="sounds"][aria-pressed="true"]{color:var(--ink-sounds);text-decoration-color:var(--dept-sounds)}
/* ---- Pentagram-style tag axes ---- */
.tagrows{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;margin-top:-6px}
/* filter rows: thin Helvetica, YSL-style (uppercase, fine tracking, quiet underline) */
.tagrow{display:flex;flex-wrap:wrap;gap:5px 16px;align-items:baseline;position:relative;padding-left:118px;font-family:"OMEN Thin","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;font-size:10px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;font-synthesis:none}
.tagrow .sectors__lab{opacity:.4;letter-spacing:.14em;position:absolute;left:0;top:2px}
.tagrow button{opacity:.55;padding:2px 0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:opacity .2s,background-size .25s ease}
.tagrow button:hover,.tagrow button[aria-pressed="true"]{opacity:1}
.tagrow button[aria-pressed="true"],.tagrow button:hover{text-decoration:none;background-size:100% 1px}
.tagrow button:not([aria-pressed="true"]):hover{opacity:.9}
.tagrow sup{font-size:7px;margin-left:3px;opacity:.55;letter-spacing:.04em;font-variant-numeric:tabular-nums;vertical-align:4px;line-height:0}
@media (max-width:760px){.tagrow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.tagrow .sectors__lab{min-width:0;position:static}.tagrow{padding-left:0}}
.tagrow>*{flex-shrink:0}
.partners a.p-suite{gap:8px}.p-suite__l{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);opacity:.8}

/* rotating covers */
.tile__media img.rot,.pp__hero img.rot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0!important;transition:opacity 1.4s ease;z-index:1;pointer-events:none}
.tile__media img.rot.on,.pp__hero img.rot.on{opacity:1!important}
.pp__hero{position:relative}
.tile__media .tile__badge,.tile__media .tile__hover{z-index:2}
@media(prefers-reduced-motion:reduce){img.rot{display:none}}

/* social icons — fine line, permanent */
.soc{list-style:none;margin:0;padding:0;display:flex;gap:14px}
.soc a{display:block;color:rgba(var(--fg-rgb,255,255,255),.55);color:color-mix(in srgb,var(--fg,#fff) 55%,transparent);transition:color .25s}
.soc a:hover,.soc a:focus-visible{color:var(--fg,#fff)}
.soc svg{display:block}
.soc--fixed{position:fixed;right:28px;bottom:92px;flex-direction:column;z-index:40}
.soc--inline{display:none;margin:0 0 28px}
@media (max-width:760px){.soc--fixed{display:none}.soc--inline{display:flex;gap:20px}}

.pp__cred{list-style:none;margin:0;padding:0;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:.08em;font-size:11px;line-height:1.7}

.pp__brief{max-width:68ch;margin:28px 0 0;font-size:15px;line-height:1.6;opacity:.85}

/* In-Edit low-res static: never upscale (627 px native) */
img[src*="static_post_627x914"]{max-width:min(600px,100%)!important;width:auto!important;height:auto!important;margin:0 auto;object-fit:contain}
