:root{
  --ink:#0e0f10;
  --ink-soft:#1a1c1e;
  --paper:#f6f5f1;
  --line-dark:rgba(255,255,255,.16);
  --line-light:rgba(14,15,16,.14);
  --mut-light:rgba(14,15,16,.55);
  --mut-dark:rgba(243,241,236,.7);
  --ease:cubic-bezier(.19,1,.22,1);
  --concrete-light:
    linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.6)) center top/cover fixed no-repeat,
    url("public/assets/bg/haikei.png") center top/cover fixed no-repeat #e8e8e4;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:#f3f1ec;font-family:"Inter",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.045;mix-blend-mode:screen;background:
  repeating-linear-gradient(0deg,rgba(255,255,255,.16) 0 1px,transparent 1px 6px),
  radial-gradient(circle at var(--ambient-x,50%) var(--ambient-y,45%),rgba(255,255,255,.18),transparent 34%);
  animation:ambientScan 8s steps(8,end) infinite}
img{display:block;max-width:100%}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--mut-light)}
.eyebrow--light{color:rgba(243,241,236,.72)}

/* ---------- CUSTOM CURSOR ---------- */
.custom-cursor{display:none}
@media (pointer:fine){
  body{cursor:none}
  a,button{cursor:none}
  .custom-cursor{display:block;position:fixed;left:0;top:0;z-index:120;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;
    background:transparent;box-shadow:none;
    pointer-events:none;opacity:0;transform:translate3d(var(--cursor-x,50vw),var(--cursor-y,50vh),0) scale(.86);
    transition:opacity .18s var(--ease),transform .07s linear;mix-blend-mode:normal;will-change:transform,opacity}
  .custom-cursor.is-visible{opacity:1;transform:translate3d(var(--cursor-x,50vw),var(--cursor-y,50vh),0) scale(1)}
  .custom-cursor.is-active{transform:translate3d(var(--cursor-x,50vw),var(--cursor-y,50vh),0) scale(.82)}
  .custom-cursor__ring{position:absolute;inset:0;width:100%;height:100%;animation:cursorSpin 8s linear infinite}
  .custom-cursor__line{fill:none;stroke:rgba(255,255,255,.72);stroke-width:1;transition:stroke .24s var(--ease)}
  .custom-cursor text{font-family:"IBM Plex Mono",monospace;font-size:8px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;fill:rgba(255,255,255,.92);transition:fill .24s var(--ease)}
  .custom-cursor__mark{position:absolute;left:50%;top:50%;width:27px;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 8px rgba(0,0,0,.18));transition:filter .24s var(--ease)}
  .custom-cursor.is-dark .custom-cursor__line{stroke:rgba(14,15,16,.7)}
  .custom-cursor.is-dark text{fill:rgba(14,15,16,.88)}
  .custom-cursor.is-dark .custom-cursor__mark{filter:brightness(0) drop-shadow(0 2px 8px rgba(255,255,255,.2))}
}
@keyframes cursorSpin{to{transform:rotate(360deg)}}
@keyframes ambientScan{
  0%,100%{transform:translate3d(0,0,0);opacity:.035}
  24%{transform:translate3d(0,-1%,0);opacity:.06}
  48%{transform:translate3d(0,.7%,0);opacity:.04}
  72%{transform:translate3d(0,-.35%,0);opacity:.052}
}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;
  padding:22px 48px;color:#fff;transition:background .4s var(--ease),padding .4s var(--ease),backdrop-filter .4s;animation:navDriftIn 1.1s var(--ease) both .16s}
.nav.is-scrolled{background:rgba(10,11,12,.72);backdrop-filter:blur(12px);padding:16px 48px;border-bottom:1px solid var(--line-dark)}
.nav__brand{display:inline-flex;align-items:center;width:clamp(138px,13vw,190px);line-height:0}
.nav__brand img{width:100%;height:auto;display:block}
.menu-toggle{width:48px;height:48px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);display:grid;place-items:center;gap:0;padding:0;position:relative}
.menu-toggle span{position:absolute;width:20px;height:1px;background:#fff;transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-toggle span:first-child{top:19px}
.menu-toggle span:last-child{top:27px}
.menu-toggle:hover span:first-child{transform:translateX(3px)}
.menu-toggle:hover span:last-child{transform:translateX(-3px)}
@keyframes navDriftIn{from{opacity:1;transform:none}to{opacity:1;transform:none}}

/* ---------- FULLSCREEN MENU ---------- */
.site-menu{position:fixed;inset:0;z-index:110;overflow:hidden;background:#070809;color:#f3f1ec;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .55s var(--ease),visibility .55s var(--ease)}
.site-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.site-menu__image{position:absolute;left:0;top:0;width:58%;height:100%;object-fit:cover;filter:grayscale(.2) brightness(.62);transform:scale(1.04);transition:transform 1.1s var(--ease)}
.site-menu.is-open .site-menu__image{transform:scale(1)}
.site-menu__shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(4,5,6,.5) 0%,rgba(4,5,6,.32) 38%,rgba(4,5,6,.88) 66%,rgba(4,5,6,.98) 100%),
  linear-gradient(180deg,rgba(4,5,6,.35),rgba(4,5,6,.8));z-index:1}
.site-menu__top{position:absolute;left:48px;right:38px;top:34px;z-index:3;display:flex;justify-content:space-between;align-items:center}
.site-menu__brand{display:inline-flex;width:clamp(170px,17vw,250px);line-height:0}
.site-menu__brand img{width:100%;height:auto}
.site-menu__close{position:relative;width:56px;height:56px;border:0;background:transparent}
.site-menu__close span{position:absolute;left:8px;top:27px;width:42px;height:1px;background:#fff}
.site-menu__close span:first-child{transform:rotate(45deg)}
.site-menu__close span:last-child{transform:rotate(-45deg)}
.site-menu__layout{position:relative;z-index:2;min-height:100%;padding:132px 48px 42px;display:grid;grid-template-columns:minmax(300px,42vw) minmax(420px,45vw);gap:40px}
.site-menu__left{grid-column:2;display:flex;flex-direction:column;min-height:calc(100vh - 174px)}
.site-menu__kicker{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.34em;text-transform:uppercase;opacity:.54;margin:0 0 34px 48px}
.site-menu__nav{border-bottom:1px solid rgba(255,255,255,.2)}
.site-menu__nav a{display:grid;grid-template-columns:54px 1fr 36px;align-items:center;gap:0;color:#f3f1ec;text-decoration:none;border-top:1px solid rgba(255,255,255,.18);
  min-height:clamp(86px,11.2vh,124px);transition:background .35s var(--ease),padding-left .35s var(--ease)}
.site-menu__nav a:hover{background:rgba(255,255,255,.055);padding-left:12px}
.site-menu.is-open .site-menu__nav a{animation:menuLineIn .72s var(--ease) both;animation-delay:calc(.07s * var(--menu-i,0) + .16s)}
.site-menu__nav a:nth-child(1){--menu-i:1}.site-menu__nav a:nth-child(2){--menu-i:2}.site-menu__nav a:nth-child(3){--menu-i:3}.site-menu__nav a:nth-child(4){--menu-i:4}.site-menu__nav a:nth-child(5){--menu-i:5}
.site-menu__nav span{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.2em;opacity:.68}
.site-menu__nav strong{font-family:"Archivo",sans-serif;font-weight:400;font-size:clamp(38px,4.8vw,74px);line-height:1;letter-spacing:.14em}
.site-menu__nav i{font-style:normal;font-family:"IBM Plex Mono",monospace;font-size:24px;font-weight:300;opacity:.72}
.site-menu__meta{margin-top:auto;display:flex;gap:42px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);padding-top:28px;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.site-menu__caption{grid-column:1;align-self:end;justify-self:start;margin:0 0 2vh 0;display:grid;grid-template-columns:140px minmax(220px,1fr);gap:22px;align-items:center;max-width:420px}
.site-menu__caption::before{content:"";display:block;aspect-ratio:4/3;background:url("public/assets/products/triple-s-1.jpg") center/cover;filter:grayscale(.2) brightness(.88)}
.site-menu__caption span{grid-column:2;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.55}
.site-menu__caption p{grid-column:2;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.22em;text-transform:uppercase}
.site-menu__caption a{grid-column:2;color:#f3f1ec;text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em}
body.menu-open{overflow:hidden}
@keyframes menuLineIn{from{opacity:1;transform:translateX(14px);filter:none}to{opacity:1;transform:none;filter:none}}

/* ---------- HERO ---------- */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05) brightness(.8);
  opacity:0;transform:scale(1);transition:opacity 1.4s var(--ease);will-change:opacity,transform}
.hero__bg.is-active{opacity:1;animation:heroSlowZoom 7.4s linear forwards}
@keyframes heroSlowZoom{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,12,.5) 0%,rgba(10,11,12,.04) 36%,rgba(10,11,12,.9) 100%)}
.hero__noise{position:absolute;inset:-10%;z-index:1;pointer-events:none;opacity:0;mix-blend-mode:screen;
  background:
    repeating-linear-gradient(0deg,rgba(255,255,255,.2) 0 1px,transparent 1px 5px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px),
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.18),rgba(255,255,255,0) 48%);
  transform:translate3d(0,0,0);filter:contrast(1.8)}
.hero.is-switching .hero__noise{animation:heroNoiseBurst 1.25s steps(6,end)}
@keyframes heroNoiseBurst{
  0%{opacity:0;transform:translate3d(-2%,1%,0) scale(1.02)}
  12%{opacity:.42;transform:translate3d(2%,-1%,0) scale(1.04)}
  24%{opacity:.2;transform:translate3d(-1%,2%,0) scale(1.03)}
  42%{opacity:.5;transform:translate3d(1%,-2%,0) scale(1.05)}
  66%{opacity:.18;transform:translate3d(-2%,0,0) scale(1.04)}
  100%{opacity:0;transform:translate3d(0,0,0) scale(1.02)}
}
.hero__content{position:relative;z-index:2;padding:0 48px 64px;width:100%}
.hero__title{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(40px,7.6vw,96px);line-height:.9;letter-spacing:-.025em;text-transform:uppercase}
.hero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:30px;flex-wrap:wrap}
.eyebrow+.hero__title{margin-top:16px}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hero__sub{font-weight:300;font-size:clamp(14px,1.3vw,17px);max-width:34ch;line-height:1.6;opacity:.85}
.hero__item-link{display:inline-flex;align-items:center;gap:18px;color:#f3f1ec;text-decoration:none;border:1px solid rgba(243,241,236,.46);padding:13px 18px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:rgba(10,11,12,.24);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.hero__item-link{position:relative;overflow:hidden}
.hero__item-link::before{content:"";position:absolute;inset:-1px auto -1px -42%;width:38%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .7s var(--ease);pointer-events:none}
.hero__item-link:hover::before{left:110%}
.hero__item-link:hover{background:#f3f1ec;color:var(--ink);border-color:#f3f1ec}
.hero__spec{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:right;line-height:2;opacity:.72}
.hero__news{width:min(360px,42vw);height:86px;overflow:hidden;text-align:right}
.hero-news__track{display:flex;flex-direction:column;transition:transform .72s var(--ease)}
.hero-news__item{height:86px;display:flex;flex-direction:column;justify-content:flex-end;color:#f3f1ec;text-decoration:none}
.hero-news__label,.hero-news__date{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.58}
.hero-news__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(16px,1.55vw,22px);line-height:1.08;text-transform:uppercase;letter-spacing:-.01em;margin:8px 0 6px;text-shadow:0 3px 24px rgba(0,0,0,.78)}
.hero-news__item:hover .hero-news__title{text-decoration:underline;text-underline-offset:4px}
.hero__scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;font-family:"IBM Plex Mono",monospace;
  font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.6;animation:scrollPulse 2.8s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.34;transform:translate(-50%,0)}50%{opacity:.72;transform:translate(-50%,6px)}}
.glitch-text{position:relative;display:block;will-change:transform,filter,text-shadow}
.glitch-text.is-glitching{animation:textSignalNoise .42s steps(2,end)}
.glitch-text.is-glitching::before,.glitch-text.is-glitching::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.glitch-text.is-glitching::before{background:linear-gradient(180deg,transparent 0 18%,rgba(255,255,255,.18) 18% 22%,transparent 22% 54%,rgba(255,255,255,.12) 54% 57%,transparent 57%);transform:translateX(-1.2%);clip-path:inset(18% 0 55% 0)}
.glitch-text.is-glitching::after{background:repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 4px);opacity:.28;transform:translateX(1.4%);clip-path:inset(58% 0 19% 0)}
.glitch-text--title.is-glitching{animation:textSignalNoiseLarge .5s steps(2,end)}
@keyframes textSignalNoise{
  0%{transform:translate3d(0,0,0);filter:none;text-shadow:none}
  14%{transform:translate3d(-1px,0,0);filter:contrast(1.25);text-shadow:2px 0 rgba(255,255,255,.36),-2px 0 rgba(70,120,160,.25)}
  28%{transform:translate3d(2px,-1px,0);clip-path:inset(0 0 12% 0);text-shadow:-2px 0 rgba(255,255,255,.32)}
  43%{transform:translate3d(-2px,1px,0);clip-path:inset(9% 0 0 0);filter:brightness(1.25)}
  64%{transform:translate3d(1px,0,0);text-shadow:1px 0 rgba(255,255,255,.22),-1px 0 rgba(180,180,180,.18)}
  100%{transform:translate3d(0,0,0);filter:none;text-shadow:none;clip-path:inset(0)}
}
@keyframes textSignalNoiseLarge{
  0%{transform:translate3d(0,0,0);filter:none;text-shadow:none}
  10%{transform:translate3d(-3px,1px,0);filter:contrast(1.28);text-shadow:4px 0 rgba(255,255,255,.34),-4px 0 rgba(100,135,160,.22)}
  22%{transform:translate3d(4px,-1px,0);clip-path:inset(0 0 18% 0)}
  36%{transform:translate3d(-2px,0,0);clip-path:inset(19% 0 0 0);filter:brightness(1.22)}
  58%{transform:translate3d(3px,1px,0);text-shadow:3px 0 rgba(255,255,255,.22),-2px 0 rgba(255,255,255,.16)}
  100%{transform:translate3d(0,0,0);filter:none;text-shadow:none;clip-path:inset(0)}
}

/* ---------- ABOUT (dark archive) ---------- */
.about{position:relative;overflow:hidden;background:#0b0d0f;color:#f3f1ec;padding:clamp(82px,10vw,154px) 48px}
.about::before{content:"";position:absolute;inset:0;background:
  radial-gradient(70% 60% at 20% 24%,rgba(180,200,230,.16),transparent 58%),
  linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));pointer-events:none}
.about__inner{position:relative;z-index:1;max-width:1260px;margin:0 auto;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(42px,6vw,96px);align-items:center}
.about__media{position:relative;min-height:clamp(520px,56vw,720px)}
.about__image{position:absolute;overflow:hidden;background:#15171a;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 88px rgba(0,0,0,.38)}
.about__image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.12) contrast(1.04) brightness(.82);transform:scale(1.03);animation:specimenBreath 9s ease-in-out infinite}
.about__image--hero{left:0;top:8%;width:72%;height:68%;animation:floatSpecimen 8.5s ease-in-out infinite}
.about__image--top{right:0;top:0;width:42%;height:34%;z-index:2;animation:floatSpecimen 9.4s ease-in-out infinite reverse}
.about__image--detail{right:7%;bottom:0;width:50%;height:32%;z-index:3;animation:floatSpecimen 10.2s ease-in-out infinite}
.about__copy{padding-top:clamp(0px,3vw,42px)}
.about__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(38px,4.8vw,72px);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;margin:22px 0 30px}
.about__body{border-top:1px solid rgba(255,255,255,.16);padding-top:24px}
.about__body p{font-size:15px;line-height:1.9;color:rgba(243,241,236,.68);margin-bottom:18px;max-width:48ch}
@keyframes floatSpecimen{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
@keyframes specimenBreath{0%,100%{transform:scale(1.03);filter:grayscale(.12) contrast(1.04) brightness(.82)}50%{transform:scale(1.075);filter:grayscale(.08) contrast(1.08) brightness(.9)}}

/* ---------- FUTURE (strength scroll) ---------- */
.future{position:relative;overflow:clip;height:400svh;background:#0d0f11}
.future__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.22) contrast(1.1);opacity:.72}
.future__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,10,.94),rgba(8,9,10,.62) 48%,rgba(8,9,10,.88))}
.future__ghost{position:absolute;left:-.08em;top:clamp(34px,5vw,70px);z-index:1;font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(88px,17vw,260px);
  letter-spacing:.03em;line-height:.8;color:rgba(255,255,255,.035);pointer-events:none;animation:ghostDrift 14s ease-in-out infinite}
.future__inner{position:sticky;top:0;z-index:2;height:100svh;max-width:1240px;margin:0 auto;padding:clamp(66px,7vw,96px) 48px clamp(36px,5vw,68px);display:grid;grid-template-columns:minmax(300px,.86fr) minmax(390px,1fr);gap:clamp(28px,4vw,62px);align-items:center}
.future__left{align-self:center}
.future__head{max-width:520px;margin-bottom:clamp(20px,2.8vw,34px)}
.future__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(34px,4.2vw,62px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;margin:12px 0 16px}
.future__lead{font-weight:300;font-size:14px;line-height:1.62;max-width:38ch;opacity:.74}
.future__visual{position:relative;width:100%;max-height:42svh;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#14171a;box-shadow:0 22px 64px rgba(0,0,0,.34)}
.future__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 45%,rgba(255,255,255,.18) 46%,transparent 47% 100%);opacity:.12;mix-blend-mode:screen;transform:translateY(-100%);animation:glassScan 5.8s linear infinite;pointer-events:none}
.future__visual-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:grayscale(.18) brightness(.8);transform:scale(1.04);transition:opacity .55s var(--ease),transform 1.1s var(--ease)}
.future__visual-img.is-active{opacity:1;transform:scale(1)}
.future__list{border-bottom:1px solid rgba(255,255,255,.18);align-self:center}
.future-item{display:grid;grid-template-columns:52px 22px 1fr;gap:18px;align-items:start;padding:clamp(16px,2.15vw,26px) 0;border-top:1px solid rgba(255,255,255,.18);opacity:.52;transition:opacity .35s var(--ease),padding-left .35s var(--ease),background .35s var(--ease)}
.future-item.is-active{opacity:1;padding-left:14px;background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,0))}
.future-item__no{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.2em;opacity:.7;padding-top:7px}
.future-item__mark{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.62);margin-top:10px;transition:background .35s var(--ease),box-shadow .35s var(--ease)}
.future-item.is-active .future-item__mark{background:#f3f1ec;box-shadow:0 0 22px rgba(255,255,255,.36)}
.future-item h3{font-family:"Archivo",sans-serif;font-weight:700;font-size:clamp(21px,2.55vw,34px);line-height:1;letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px}
.future-item p{font-weight:300;font-size:13px;line-height:1.55;max-width:54ch;color:rgba(243,241,236,.66)}
@keyframes ghostDrift{0%,100%{transform:translateX(0);opacity:1}50%{transform:translateX(2.2vw);opacity:.78}}
@keyframes glassScan{0%{transform:translateY(-110%)}100%{transform:translateY(120%)}}

/* ---------- SELECTED (mosaic) ---------- */
.selected{background:var(--ink);padding:clamp(44px,5vw,76px) 48px 100px}
.selected__top{max-width:1200px;margin:0 auto 100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.selected__head{font-family:"Archivo",sans-serif;font-weight:600;font-size:13px;letter-spacing:.34em;text-transform:uppercase;opacity:.6;margin:0}
.selected__item-link{display:inline-flex;align-items:center;gap:18px;color:#f3f1ec;text-decoration:none;border:1px solid rgba(243,241,236,.44);padding:13px 18px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;background:rgba(255,255,255,.035);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.selected__item-link:hover{background:#f3f1ec;color:var(--ink);border-color:#f3f1ec}
.selected__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;height:clamp(460px,52vw,640px)}
.selected__col{display:grid;grid-template-rows:1fr 1fr;gap:18px;min-height:0}
.selected .tile{height:100%;min-height:0}
.selected .tile__media{aspect-ratio:auto;height:100%}
.selected .tile__name{font-size:24px}

/* ---------- ARC NAVIGATION ---------- */
.arc{position:relative;height:100svh;min-height:640px;overflow:hidden;background:#0b0c0d;touch-action:pan-y;isolation:isolate}
.arc__bg{position:absolute;inset:-6%;background-size:cover;background-position:center;opacity:0;
  filter:grayscale(.18) contrast(1.08) brightness(.44) blur(2px);transform:scale(1.04);will-change:transform,opacity}
.arc__veil{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(8,9,10,.58),rgba(8,9,10,.18) 28%,rgba(8,9,10,0) 48%),
  linear-gradient(180deg,rgba(11,12,13,.76),rgba(11,12,13,.2) 42%,rgba(11,12,13,.88)),
  radial-gradient(80% 58% at 50% 50%,rgba(246,245,241,.18),rgba(11,12,13,.26) 44%,rgba(11,12,13,.92) 82%);pointer-events:none;z-index:2}
.arc__head{position:absolute;top:76px;left:clamp(24px,4vw,58px);right:auto;text-align:left;z-index:4;pointer-events:none}
.arc__title{position:absolute;top:126px;left:clamp(24px,4vw,58px);right:auto;width:min(430px,42vw);text-align:left;z-index:4;pointer-events:none;padding:0}
.arc__title::before{content:"";position:absolute;left:-18px;top:-18px;width:min(360px,36vw);height:120%;z-index:-1;background:radial-gradient(ellipse at 0% 42%,rgba(0,0,0,.52),rgba(0,0,0,.22) 46%,rgba(0,0,0,0) 76%);filter:blur(14px);opacity:.9}
.arc__no{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.68;margin-bottom:14px;text-shadow:0 2px 18px rgba(0,0,0,.9)}
.arc__name{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(38px,5vw,78px);line-height:.9;letter-spacing:-.025em;text-transform:uppercase;text-shadow:0 4px 28px rgba(0,0,0,.92),0 0 42px rgba(255,255,255,.12)}
.arc__catch{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(15px,1.6vw,22px);opacity:.78;margin-top:18px;text-shadow:0 3px 22px rgba(0,0,0,.92)}
.arc__beam{position:absolute;left:50%;top:25%;width:min(520px,68vw);height:46%;z-index:3;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.28),rgba(255,255,255,.08) 36%,rgba(255,255,255,0) 72%)}
.arc__wheel{position:absolute;inset:0;z-index:3;perspective:1200px;transform-style:preserve-3d}
.arc__item{position:absolute;top:0;left:0;width:clamp(150px,20vw,270px);height:clamp(210px,29vw,390px);overflow:hidden;
  border:1px solid rgba(255,255,255,.12);border-radius:3px;background:#15171a;cursor:pointer;padding:0;will-change:transform,opacity,filter;
  box-shadow:0 18px 42px rgba(0,0,0,.38),-16px 24px 40px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.04);
  transition:box-shadow .55s var(--ease),border-color .55s var(--ease),filter .55s var(--ease)}
.arc__item::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,0) 24%,rgba(0,0,0,.18) 72%,rgba(255,255,255,.08));opacity:.6;pointer-events:none}
.arc__item::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.16) 58%,rgba(0,0,0,.48));pointer-events:none}
.arc__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.78);transition:filter .55s var(--ease),transform .75s var(--ease)}
.arc__item.is-active{border-color:rgba(255,255,255,.28);
  box-shadow:0 48px 110px rgba(0,0,0,.58),-28px 34px 70px rgba(0,0,0,.38),0 18px 46px rgba(212,220,225,.14),inset 0 0 0 1px rgba(255,255,255,.11)}
.arc__item.is-active img{filter:grayscale(0) brightness(1.03);transform:scale(1.035)}
.arc__card{position:absolute;right:40px;bottom:44px;z-index:5;width:268px;display:flex;flex-direction:column;gap:8px;padding:22px 24px}
.glass{background:rgba(255,255,255,.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.18)}
.arc__card-no{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase;opacity:.6}
.arc__card-name{font-family:"Archivo",sans-serif;font-weight:800;font-size:21px;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05}
.arc__card-price{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.arc__card-status{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f3f1ec;display:none}
.arc__card.is-soldout .arc__card-status{display:inline-block;opacity:.85}
.arc__card-btn{margin-top:10px;border:1px solid rgba(255,255,255,.4);background:none;color:#f3f1ec;padding:12px 14px;cursor:pointer;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  display:inline-flex;justify-content:space-between;align-items:center;transition:background .3s,color .3s}
.arc__card-btn:hover{background:#f3f1ec;color:var(--ink)}
.arc__hint{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:4;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase;opacity:.4;pointer-events:none}

/* ---------- CROSSING COMPARISON ---------- */
.crossing{position:relative;height:100svh;min-height:640px;overflow:hidden;background:#10120f;isolation:isolate}
.crossing__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.16) contrast(1.05) brightness(.58);transform:scale(1.04)}
.crossing__veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(7,8,7,.48),rgba(7,8,7,.12) 42%,rgba(7,8,7,.72)),
  radial-gradient(70% 62% at 50% 48%,rgba(246,245,241,.18),rgba(20,23,19,.22) 45%,rgba(7,8,7,.72) 100%)}
.crossing__center{position:absolute;left:50%;top:47%;z-index:4;width:min(520px,82vw);transform:translate(-50%,-50%);text-align:center;pointer-events:none}
.crossing__kicker{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;opacity:.58;margin-bottom:12px}
.crossing__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(28px,4.3vw,58px);letter-spacing:-.02em;line-height:1;text-shadow:0 6px 34px rgba(0,0,0,.35)}
.crossing__sub{margin:14px auto 0;max-width:44ch;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;line-height:1.7;opacity:.64}
.crossing__orbit{position:absolute;inset:0;z-index:3}
.crossing__node{position:absolute;left:var(--x);top:var(--y);width:clamp(70px,8vw,118px);height:clamp(70px,8vw,118px);
  transform:translate(-50%,-50%) scale(var(--s));border-radius:50%;border:1px solid rgba(246,245,241,.38);
  background:rgba(246,245,241,.08);padding:8px;cursor:pointer;box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.08);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease),opacity .55s var(--ease);overflow:hidden}
.crossing__node::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1px solid rgba(246,245,241,.28);z-index:2;pointer-events:none}
.crossing__node::after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(255,255,255,0) 36%,rgba(0,0,0,.28));z-index:3;pointer-events:none}
.crossing__node img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:grayscale(.26) brightness(.82);transition:filter .55s var(--ease),transform .55s var(--ease)}
.crossing__node:hover,.crossing__node.is-active{border-color:rgba(246,245,241,.92);box-shadow:0 22px 58px rgba(0,0,0,.42),0 0 0 7px rgba(246,245,241,.1),0 0 42px rgba(246,245,241,.28);
  transform:translate(-50%,-50%) scale(calc(var(--s) * 1.08))}
.crossing__node:hover img,.crossing__node.is-active img{filter:grayscale(0) brightness(1.02);transform:scale(1.05)}
.crossing__card{position:absolute;right:34px;bottom:28px;z-index:5;width:230px;padding:18px;border-radius:10px;background:rgba(246,245,241,.94);color:var(--ink);
  box-shadow:0 22px 70px rgba(0,0,0,.32);display:flex;flex-direction:column;gap:7px}
.crossing__card-name{font-family:"Archivo",sans-serif;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.crossing__card-class,.crossing__card-meta{font-family:"IBM Plex Mono",monospace;font-size:9px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:rgba(14,15,16,.58)}
.crossing__copy{margin-top:7px;border:0;border-radius:999px;background:var(--ink);color:#f3f1ec;padding:10px 14px;cursor:pointer;
  font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase}

/* ---------- ARTWORK ---------- */
.artwork{background:var(--ink);padding:clamp(60px,7vw,110px) 48px clamp(80px,9vw,130px)}
.artwork__head{max-width:1200px;margin:0 auto clamp(36px,4vw,56px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.artwork__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(40px,6vw,84px);line-height:.9;letter-spacing:-.02em;text-transform:uppercase;margin-top:14px}
.artwork__note{font-weight:300;font-size:14px;line-height:1.7;max-width:42ch;opacity:.7}
.artwork__grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{position:relative;border:none;background:none;padding:0;cursor:pointer;text-align:left;color:inherit;overflow:hidden;transform-style:preserve-3d}
.tile::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.2) 50%,transparent 58% 100%);opacity:0;transform:translateX(-44%);transition:transform .75s var(--ease),opacity .45s var(--ease);pointer-events:none}
.tile:hover::before{opacity:.55;transform:translateX(44%)}
.tile__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#15171a}
.tile__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.12) brightness(.92);transition:transform .7s var(--ease),filter .7s var(--ease)}
.tile:hover .tile__media img{transform:scale(1.05);filter:grayscale(0) brightness(1)}
.tile__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,11,12,.85))}
.tile__label{position:absolute;left:16px;bottom:14px;z-index:2}
.tile__name{font-family:"Archivo",sans-serif;font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.tile__row{display:flex;gap:12px;align-items:center;margin-top:6px;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.78}
.tile__badge{position:absolute;top:14px;left:14px;z-index:3;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.24em;
  text-transform:uppercase;background:rgba(246,245,241,.92);color:var(--ink);padding:5px 9px}
.tile.is-soldout .tile__media img{filter:grayscale(.7) brightness(.7)}

/* ---------- NEWS ---------- */
.news{background:var(--concrete-light);color:var(--ink);padding:clamp(64px,8vw,118px) 48px}
.news__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,.78fr) 1.6fr;gap:clamp(36px,6vw,96px);align-items:start}
.news__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(38px,5.7vw,78px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;margin-top:16px}
.news__list{border-top:1px solid rgba(14,15,16,.16)}
.news__item{position:relative;display:grid;grid-template-columns:132px 1fr clamp(108px,12vw,156px);gap:clamp(18px,3vw,42px);padding:24px 0;border-bottom:1px solid rgba(14,15,16,.16);align-items:center;color:inherit;text-decoration:none;transition:padding-left .35s var(--ease),background .35s var(--ease)}
.news__item.is-hidden{display:none}
.news__item:hover{padding-left:12px;background:rgba(14,15,16,.035)}
.news__list[data-cms-list="news"] .news__item{grid-template-columns:78px 132px 1fr}
.news__badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;background:var(--ink);color:#f3f1ec;padding:6px 9px}
.news__badge:empty{display:none}
.news__item time{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(14,15,16,.5);padding-top:4px}
.news__item h3{font-family:"Archivo",sans-serif;font-size:clamp(18px,2vw,25px);font-weight:800;line-height:1.08;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:10px}
.news__item p{font-size:14px;line-height:1.75;color:rgba(14,15,16,.58);max-width:58ch}
.news__thumb{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#d7d7d1}
.news__thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(.16) brightness(.95);transition:transform .65s var(--ease),filter .65s var(--ease)}
.news__item:hover .news__thumb img{transform:scale(1.06);filter:grayscale(0) brightness(1)}
.news__item::after{content:"→";position:absolute;right:0;top:50%;font-family:"IBM Plex Mono",monospace;font-size:16px;opacity:0;transform:translate(-10px,-50%);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.news__item:hover::after{opacity:.48;transform:translate(0,-50%)}

/* ---------- FAQ ---------- */
.faq{background:var(--concrete-light);color:var(--ink);padding:clamp(56px,7vw,104px) 48px;border-top:1px solid rgba(14,15,16,.12)}
.faq__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(220px,.78fr) 1.6fr;gap:clamp(36px,6vw,96px);align-items:start}
.faq__title{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(32px,4.6vw,62px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase;margin-top:16px}
.faq__list{border-top:1px solid rgba(14,15,16,.18)}
.faq__item{border-bottom:1px solid rgba(14,15,16,.18);padding:22px 0}
.faq__item summary{cursor:pointer;list-style:none;font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(18px,2vw,25px);line-height:1.16;letter-spacing:-.01em}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";float:right;font-family:"IBM Plex Mono",monospace;font-size:18px;font-weight:400;opacity:.52;margin-left:20px}
.faq__item[open] summary::after{content:"-"}
.faq__item p{margin-top:14px;font-size:14px;line-height:1.85;color:rgba(14,15,16,.62);max-width:68ch}
.faq__item p{animation:faqOpen .42s var(--ease) both}
@keyframes faqOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- NEWS DETAIL ---------- */
.news-detail-page{background:var(--concrete-light);color:var(--ink);min-height:100svh}
.news-detail{padding:clamp(82px,10vw,130px) 48px}
.news-detail__inner{max-width:940px;margin:0 auto}
.news-detail__back{display:inline-flex;color:var(--ink);text-decoration:none;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:clamp(40px,6vw,76px)}
.news-detail__date{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(14,15,16,.52);margin-bottom:22px}
.news-detail__title{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(42px,7vw,92px);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;max-width:10ch}
.news-detail__lead{font-size:clamp(17px,2vw,23px);line-height:1.65;color:rgba(14,15,16,.68);max-width:34ch;margin:clamp(26px,4vw,46px) 0}
.news-detail__body{border-top:1px solid rgba(14,15,16,.18);padding-top:32px;display:grid;gap:20px}
.news-detail__body p{font-size:15px;line-height:1.9;color:rgba(14,15,16,.68);max-width:70ch}
.news-detail__cta{margin-top:42px;display:inline-flex;color:var(--ink);text-decoration:none;border:1px solid rgba(14,15,16,.26);padding:14px 18px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase}

/* ---------- ITEMS PAGE ---------- */
.items-page{background:var(--concrete-light);color:var(--ink)}
.items-page .arc{color:#f3f1ec}
.items-page .arc .eyebrow,.items-page .arc__no,.items-page .arc__name,.items-page .arc__catch,.items-page .arc__hint{color:#f3f1ec}
.item-catalog{background:var(--concrete-light);color:var(--ink);padding:clamp(58px,7vw,104px) 48px clamp(78px,9vw,130px);display:grid;grid-template-columns:minmax(220px,25%) minmax(0,75%);gap:clamp(28px,4vw,56px);align-items:start}
.item-catalog__side{position:sticky;top:96px;align-self:start}
.item-catalog__title{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(42px,5.8vw,86px);line-height:.88;letter-spacing:-.03em;text-transform:uppercase;margin:18px 0 36px}
.item-search{display:grid;gap:10px;margin-bottom:30px}
.item-search span,.item-catalog__bar,.item-filter button{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.item-search input{width:100%;border:0;border-bottom:1px solid rgba(14,15,16,.32);background:transparent;color:var(--ink);padding:12px 0;font-family:"Inter",sans-serif;font-size:15px;outline:none}
.item-search input::placeholder{color:rgba(14,15,16,.42)}
.item-filter{display:grid;border-top:1px solid rgba(14,15,16,.16)}
.item-filter button{border:0;border-bottom:1px solid rgba(14,15,16,.16);background:transparent;color:rgba(14,15,16,.58);padding:15px 0;text-align:left;cursor:pointer;transition:color .3s var(--ease),padding-left .3s var(--ease)}
.item-filter button:hover,.item-filter button.is-active{color:var(--ink);padding-left:10px}
.item-catalog__bar{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px;color:rgba(14,15,16,.56)}
.item-catalog__grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));color:#f3f1ec}
.item-catalog__grid .tile.is-hidden{display:none}
.item-catalog__grid[data-cms-list="products"] .tile{display:block;text-align:left}
.item-catalog__grid[data-cms-list="products"] .tile__media img[src=""]{visibility:hidden}
.item-catalog__grid[data-cms-list="products"] .tile__badge[hidden]{display:none}
.item-catalog__grid[data-cms-list="products"] .tile__row{align-items:flex-start;flex-direction:column;gap:5px}

/* ---------- FOOTER ---------- */
.footer{background:#0a0b0c;color:#f3f1ec;padding:clamp(28px,3vw,38px) 48px 24px;border-top:1px solid var(--line-dark)}
.footer__top{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.footer__brandline{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.footer__wordmark{display:block;width:clamp(138px,13vw,190px);line-height:0}
.footer__wordmark img{width:100%;height:auto;display:block}
.footer__line{font-weight:300;font-size:13px;line-height:1.8;opacity:.6;text-align:right}
.footer__links{display:flex;align-items:center;gap:10px}
.footer__base{max-width:1200px;margin:22px auto 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.45}
.footer__base a{color:inherit;text-decoration:none}
.footer__base a:hover{text-decoration:underline;text-underline-offset:4px}

/* ---------- MODAL ---------- */
.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:5vh 24px;color:var(--ink)}
.modal.is-open{display:flex}
.modal.is-open .modal__backdrop{animation:modalVeilIn .35s ease both}
.modal__backdrop{position:absolute;inset:0;background:rgba(14,15,16,.48);backdrop-filter:blur(8px)}
.modal__panel{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:0;width:min(1180px,100%);max-height:90vh;
  background:#e8e8e4;border:1px solid rgba(14,15,16,.16);overflow:hidden;box-shadow:0 44px 120px rgba(0,0,0,.32)}
.modal.is-open .modal__panel{animation:modalPanelIn .52s var(--ease) both}
.modal__close{position:absolute;top:14px;right:16px;z-index:5;background:none;border:none;color:var(--ink);font-size:26px;line-height:1;cursor:pointer;opacity:.62}
.modal__close:hover{opacity:1}
.modal__stage{position:relative;background:#f4f4f1;display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;align-items:center;min-height:620px;padding:20px;border-right:1px solid rgba(14,15,16,.12)}
.modal__stage > img{width:100%;height:100%;max-height:calc(90vh - 40px);object-fit:contain;background:#f4f4f1}
.modal__stage > img{transition:opacity .28s var(--ease),transform .5s var(--ease)}
.modal__stage > img.is-switching{opacity:0;transform:scale(.985)}
.modal__thumbs{position:relative;z-index:4;display:flex;flex-direction:column;gap:8px;align-self:start;max-height:calc(90vh - 40px);overflow:auto;padding-right:2px}
.modal__thumb{width:72px;aspect-ratio:1/1;border:1px solid transparent;background:#d8d8d2;padding:0;cursor:pointer;overflow:hidden;opacity:.72;transition:border-color .25s var(--ease),opacity .25s var(--ease),transform .25s var(--ease)}
.modal__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.modal__thumb.is-active{border-color:var(--ink);opacity:1;transform:translateX(2px)}
.modal__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:none;align-items:center;justify-content:center;
  background:rgba(244,244,241,.82);border:1px solid rgba(14,15,16,.2);color:var(--ink);font-size:18px;cursor:pointer}
.modal__stage.has-slides .modal__nav{display:inline-flex}
.modal__nav--prev{left:116px}.modal__nav--next{right:22px}
.modal__counter{position:absolute;bottom:18px;right:22px;display:none;font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;opacity:.58;color:var(--ink)}
.modal__stage.has-slides .modal__counter{display:block}
.modal__soldout{position:absolute;top:14px;left:14px;z-index:3;display:none;font-family:"IBM Plex Mono",monospace;font-size:10px;
  letter-spacing:.24em;text-transform:uppercase;background:rgba(14,15,16,.9);color:#f3f1ec;padding:6px 10px}
.modal.is-soldout .modal__soldout{display:inline-block}
.modal__content{background:#e8e8e4;padding:clamp(30px,3.2vw,48px);overflow-y:auto;display:flex;flex-direction:column;gap:18px}
.modal__no{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.6}
.modal__content h3{font-family:"Archivo",sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);text-transform:uppercase;letter-spacing:-.01em;line-height:1}
.modal__catch{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;opacity:.82;line-height:1.4}
.modal__meta{display:grid;gap:0;border-top:1px solid rgba(14,15,16,.18)}
.modal__meta div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(14,15,16,.18);
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.modal__meta dt{opacity:.55}.modal__meta dd{text-align:right;opacity:.9}
.modal__soldnote{display:none;font-size:13px;line-height:1.7;opacity:.65}
.modal.is-soldout .modal__soldnote{display:block}
.modal__actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px}
.modal-cta{min-height:72px;display:grid;grid-template-columns:54px 1fr 34px;align-items:center;gap:14px;padding:0 18px;color:var(--ink);text-decoration:none;border:1px solid rgba(14,15,16,.28);background:transparent;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.modal-cta:hover{transform:translateY(-1px)}
.modal-cta__icon{position:relative;display:grid;place-items:center;color:currentColor}
.modal-cta--line{background:#0e1010;color:#f3f1ec;border-color:#0e1010}
.modal-cta--line:hover{background:#1a1c1c;border-color:#1a1c1c;color:#fff}
.modal-cta--contact:hover{background:#0e1010;border-color:#0e1010;color:#fff}
.modal-cta--line .modal-cta__icon{width:36px;height:36px;border-radius:50%;border:1px solid currentColor;font-family:"Archivo",sans-serif;font-size:10px;font-weight:900;letter-spacing:-.03em}
.modal-cta--line .modal-cta__icon::after{content:"";position:absolute;left:22px;bottom:-4px;width:9px;height:9px;background:#0e1010;border-right:1px solid currentColor;border-bottom:1px solid currentColor;clip-path:polygon(0 0,100% 0,24% 100%);transition:background .3s var(--ease)}
.modal-cta--line:hover .modal-cta__icon::after{background:#1a1c1c}
.modal-cta--contact .modal-cta__icon{width:36px;height:24px;border:1px solid currentColor}
.modal-cta--contact .modal-cta__icon::before,.modal-cta--contact .modal-cta__icon::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(34deg,transparent 48%,currentColor 49%,currentColor 51%,transparent 52%),linear-gradient(-34deg,transparent 48%,currentColor 49%,currentColor 51%,transparent 52%);opacity:.9}
.modal-cta__copy{display:flex;flex-direction:column;gap:5px;min-width:0;padding-left:13px;border-left:1px solid rgba(14,15,16,.2)}
.modal-cta--line .modal-cta__copy,.modal-cta--contact:hover .modal-cta__copy{border-left-color:rgba(243,241,236,.28)}
.modal-cta__copy strong{font-family:"Inter",sans-serif;font-size:15px;font-weight:400;line-height:1.15;letter-spacing:.08em;white-space:nowrap}
.modal-cta__copy small{font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;opacity:.68;white-space:nowrap}
.modal-cta__arrow{justify-self:end;font-family:"Inter",sans-serif;font-size:30px;font-weight:300;line-height:1;opacity:.72;transition:transform .3s var(--ease)}
.modal-cta:hover .modal-cta__arrow{transform:translateX(4px)}
@keyframes modalVeilIn{from{opacity:1}to{opacity:1}}
@keyframes modalPanelIn{from{opacity:1;transform:translateY(14px) scale(.992);filter:none}to{opacity:1;transform:none;filter:none}}
.btn{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line-dark);padding:14px 20px;color:#f3f1ec;text-decoration:none;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:background .35s,color .35s}
.btn:hover{background:#f3f1ec;color:var(--ink)}
.btn--line{border-color:rgba(243,241,236,.5)}

.archive-btn{position:relative;min-height:96px;display:grid;grid-template-columns:70px 1fr 48px;align-items:center;gap:18px;padding:0 clamp(22px,3vw,36px);overflow:hidden;color:#f3f1ec;text-decoration:none;border:1px solid rgba(243,241,236,.48);background:#101112;isolation:isolate;transition:border-color .35s var(--ease),background .35s var(--ease),transform .35s var(--ease)}
.archive-btn::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.08),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,0) 58%),#101112}
.archive-btn::after{content:"";position:absolute;top:-22%;right:-8%;bottom:-22%;width:44%;z-index:-1;background:url("public/assets/about/call-37.webp") center/cover no-repeat;filter:grayscale(1) contrast(1.15) brightness(.72);opacity:.26;mask-image:linear-gradient(90deg,transparent,black 38%);-webkit-mask-image:linear-gradient(90deg,transparent,black 38%)}
.archive-btn:hover{border-color:rgba(243,241,236,.82);transform:translateY(-1px);background:#141516}
.archive-btn__icon{position:relative;display:grid;place-items:center;color:#f3f1ec;flex:0 0 auto}
.archive-btn__icon--line{width:42px;height:42px;border-radius:50%;background:#f3f1ec;color:#111;font-family:"Archivo",sans-serif;font-weight:900;font-size:13px;letter-spacing:-.03em}
.archive-btn__icon--line::after{content:"";position:absolute;left:26px;bottom:-5px;width:11px;height:11px;background:#f3f1ec;clip-path:polygon(0 0,100% 0,24% 100%)}
.archive-btn__icon--mail{width:44px;height:30px;border:1px solid currentColor}
.archive-btn__icon--mail::before,.archive-btn__icon--mail::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(34deg,transparent 48%,currentColor 49%,currentColor 51%,transparent 52%),linear-gradient(-34deg,transparent 48%,currentColor 49%,currentColor 51%,transparent 52%);opacity:.9}
.archive-btn__copy{display:flex;flex-direction:column;gap:8px;min-width:0;padding-left:18px;border-left:1px solid rgba(243,241,236,.26)}
.archive-btn__copy strong{font-family:"Inter",sans-serif;font-size:clamp(17px,1.7vw,22px);font-weight:400;line-height:1.15;letter-spacing:.08em;white-space:nowrap}
.archive-btn__copy small{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.74;white-space:nowrap}
.archive-btn__arrow{justify-self:end;font-family:"Inter",sans-serif;font-size:42px;font-weight:300;line-height:1;opacity:.86;transform:translateX(0);transition:transform .35s var(--ease)}
.archive-btn:hover .archive-btn__arrow{transform:translateX(6px)}
.footer__links .archive-btn{width:42px;height:42px;min-height:0;display:grid;grid-template-columns:1fr;place-items:center;gap:0;padding:0;border-radius:50%;border-color:rgba(243,241,236,.38);background:#151515;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 8px 18px rgba(0,0,0,.22)}
.footer__links .archive-btn::before{z-index:0;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.16),transparent 34%),url("public/assets/about/call-37.webp") center/cover no-repeat;filter:grayscale(1) contrast(1.08) brightness(.64)}
.footer__links .archive-btn::after{z-index:1;inset:4px;width:auto;border-radius:50%;background:none;border:1px solid rgba(243,241,236,.2);opacity:1;filter:none;mask-image:none;-webkit-mask-image:none}
.footer__links .archive-btn:hover{transform:translateY(-2px);border-color:rgba(243,241,236,.76)}
.footer__links .archive-btn__icon{z-index:2}
.footer__links .archive-btn__icon--line{width:20px;height:20px;font-size:6px}
.footer__links .archive-btn__icon--line::after{left:12px;bottom:-3px;width:6px;height:6px}
.footer__links .archive-btn__icon--mail{width:20px;height:14px}
.footer__links .archive-btn__copy,.footer__links .archive-btn__arrow{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.modal__actions .archive-btn{min-height:72px;grid-template-columns:54px 1fr 34px;gap:14px;padding:0 18px}
.modal__actions .archive-btn{background:#e8e8e4;color:var(--ink);border-color:rgba(14,15,16,.28);box-shadow:none}
.modal__actions .archive-btn::before{background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.45),transparent 34%),linear-gradient(135deg,rgba(14,15,16,.035),rgba(14,15,16,0) 58%),#e8e8e4}
.modal__actions .archive-btn::after{width:34%;opacity:.12;filter:grayscale(1) contrast(1.05) brightness(1.08)}
.modal__actions .archive-btn:hover{background:#deded8;border-color:rgba(14,15,16,.46)}
.modal__actions .archive-btn__icon--line{width:36px;height:36px;font-size:11px}
.modal__actions .archive-btn__icon--line::after{left:22px;bottom:-4px;width:9px;height:9px}
.modal__actions .archive-btn__icon--mail{width:36px;height:24px}
.modal__actions .archive-btn__copy{gap:5px;padding-left:13px;border-left-color:rgba(14,15,16,.2)}
.modal__actions .archive-btn__copy strong{font-size:15px}
.modal__actions .archive-btn__copy small{font-size:8px;letter-spacing:.18em}
.modal__actions .archive-btn__arrow{font-size:30px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(30px);filter:blur(7px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.reveal--left{transform:translateX(-28px);filter:blur(7px)}
.reveal--right{transform:translateX(28px);filter:blur(7px)}
.reveal--scale{transform:translateY(22px) scale(.975);filter:blur(8px)}
.reveal--soft{transform:translateY(14px);filter:blur(3px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
  body::after{display:none}
}

/* ---------- responsive ---------- */
@media(max-width:880px){
  .custom-cursor{display:none!important}
  .nav__links{display:none}
  .site-menu__image{width:100%;opacity:.58}
  .site-menu__top{left:24px;right:18px;top:22px}
  .site-menu__brand{width:164px}
  .site-menu__layout{display:block;padding:104px 24px 28px}
  .site-menu__left{min-height:calc(100vh - 132px)}
  .site-menu__kicker{margin-left:0}
  .site-menu__nav a{grid-template-columns:42px 1fr 28px;min-height:84px}
  .site-menu__nav strong{font-size:clamp(34px,11vw,62px);letter-spacing:.08em}
  .site-menu__caption{display:none}
  .about__inner{grid-template-columns:1fr}
  .about__copy{display:contents}
  .about__copy .eyebrow{order:1}
  .about__title{order:2;margin-bottom:26px}
  .about__media{order:3}
  .about__body{order:4;margin-top:30px}
  .about__media{min-height:560px}
  .about__image--hero{width:76%;height:62%}
  .about__image--top{width:46%;height:30%}
  .about__image--detail{width:58%;height:30%;right:0}
  .future{height:430svh}
  .future__ghost{font-size:clamp(70px,24vw,150px)}
  .future__inner{grid-template-columns:1fr;height:100svh;padding:58px 24px 46px;gap:clamp(12px,2.4svh,20px);align-content:start}
  .future__left{display:grid;gap:clamp(10px,2svh,16px);align-self:auto}
  .future__head{margin-bottom:0}
  .future__head .eyebrow{font-size:9px;letter-spacing:.24em}
  .future__title{font-size:clamp(30px,9.5vw,46px);margin:9px 0 10px}
  .future__lead{font-size:12px;line-height:1.48;max-width:42ch}
  .future__visual{max-width:620px;height:clamp(170px,27svh,250px);max-height:none;aspect-ratio:auto;box-shadow:0 18px 48px rgba(0,0,0,.3)}
  .future__list{align-self:auto;border-bottom-color:rgba(255,255,255,.12)}
  .future-item{grid-template-columns:40px 16px 1fr;gap:12px;padding:clamp(8px,1.45svh,13px) 0}
  .future-item.is-active{padding-left:8px}
  .future-item__no{font-size:10px;padding-top:4px}
  .future-item__mark{width:8px;height:8px;margin-top:6px}
  .future-item h3{font-size:clamp(17px,5.15vw,22px);margin-bottom:4px}
  .future-item p{font-size:clamp(10px,2.7vw,11px);line-height:1.36}
  .artwork__grid{grid-template-columns:repeat(2,1fr)}
  .arc__card{right:16px;left:16px;bottom:18px;width:auto}
  .arc__title{top:112px;left:20px;right:20px;width:auto;padding:0}
  .arc__title::before{left:-14px;top:-16px;width:76vw;height:125%}
  .arc__head{top:72px;left:20px}
  .arc__item{width:clamp(132px,38vw,210px);height:clamp(184px,54vw,300px)}
  .crossing{min-height:620px}
  .crossing__node{width:clamp(58px,16vw,92px);height:clamp(58px,16vw,92px);padding:6px}
  .crossing__node:nth-child(2){--x:26%!important;--y:24%!important}
  .crossing__node:nth-child(3){--x:74%!important;--y:24%!important}
  .crossing__node:nth-child(4){--x:18%!important;--y:48%!important}
  .crossing__node:nth-child(5){--x:82%!important;--y:48%!important}
  .crossing__node:nth-child(6){--x:28%!important;--y:72%!important}
  .crossing__node:nth-child(7){--x:72%!important;--y:72%!important}
  .crossing__card{right:16px;left:16px;bottom:16px;width:auto;border-radius:8px}
  .selected{position:relative;z-index:auto;padding-top:clamp(72px,16vw,104px)}
  .selected__top{align-items:flex-start;flex-direction:column;margin-bottom:28px}
  .selected__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;gap:12px}
  .selected__col{display:contents}
  .selected .tile{display:block!important;height:auto!important;min-height:0!important;opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}
  .selected .tile.reveal{opacity:1!important;transform:none!important;filter:none!important}
  .selected .tile--tall{grid-column:span 2}
  .selected .tile__media{display:block!important;aspect-ratio:4/5;height:auto!important}
  .selected .tile__media img{display:block!important;opacity:1!important;visibility:visible!important}
  .news__inner{grid-template-columns:1fr}
  .news__item{grid-template-columns:1fr;gap:12px}
  .news__list[data-cms-list="news"] .news__item{grid-template-columns:1fr}
  .news__thumb{max-width:240px}
  .faq__inner{grid-template-columns:1fr}
  .hero__news{width:min(360px,100%);text-align:left}
  .item-catalog{grid-template-columns:1fr;padding-left:24px;padding-right:24px}
  .item-catalog__side{position:static}
  .item-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .item-catalog__grid .tile__media::after{background:linear-gradient(180deg,rgba(10,11,12,0) 34%,rgba(10,11,12,.68) 66%,rgba(10,11,12,.96))}
  .item-catalog__grid .tile__label{left:0;right:0;bottom:0;padding:12px 10px 10px;background:linear-gradient(180deg,rgba(10,11,12,0),rgba(10,11,12,.66));text-shadow:0 2px 12px rgba(0,0,0,.72)}
  .item-catalog__grid .tile__name{display:block;line-height:1.05;letter-spacing:.01em}
  .item-catalog__grid .tile__row{color:rgba(243,241,236,.82)}
  .footer__top{align-items:flex-start}
  .footer__brandline{gap:16px}
  .archive-btn{min-height:86px;grid-template-columns:54px 1fr 34px;padding:0 18px;gap:14px}
  .archive-btn__copy{padding-left:14px}
  .archive-btn__copy strong{font-size:16px}
  .archive-btn__copy small{font-size:9px;letter-spacing:.18em}
  .archive-btn__arrow{font-size:34px}
  .modal-cta{min-height:68px;grid-template-columns:46px 1fr 28px;padding:0 14px;gap:12px}
  .modal-cta__copy{padding-left:12px}
  .modal-cta__copy strong{font-size:14px}
  .modal-cta__copy small{font-size:8px;letter-spacing:.14em}
  .modal-cta__arrow{font-size:28px}
  .modal{align-items:flex-start;padding:12px}
  .modal__panel{display:block;max-height:calc(100svh - 24px);overflow-y:auto}
  .modal__content{overflow:visible;padding:24px 18px 22px}
  .modal__stage{grid-template-columns:1fr;grid-template-rows:auto minmax(260px,44svh);gap:12px;min-height:0;max-height:none;padding:14px;border-right:0;border-bottom:1px solid rgba(14,15,16,.12)}
  .modal__stage > img{grid-row:2;max-height:44svh}
  .modal__thumbs{grid-row:1;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;padding:0 0 4px}
  .modal__thumb{width:62px;flex:0 0 62px}
  .modal__thumb.is-active{transform:translateY(1px)}
  .modal__nav--prev{left:22px}.modal__nav--next{right:22px}
  .hero__content,.about,.future,.artwork,.news,.faq,.footer,.news-detail{padding-left:24px;padding-right:24px}
  .nav{padding:16px 24px}
  .nav.is-scrolled{padding:14px 24px}
  .nav__brand{width:128px;max-width:42vw}
  .menu-toggle{width:42px;height:42px}
  .menu-toggle span:first-child{top:16px}
  .menu-toggle span:last-child{top:24px}
}
@media(max-width:560px){
  .artwork__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .selected{padding-top:78px}
  .selected__top{margin-bottom:22px}
  .selected__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .selected .tile--tall{grid-column:span 2}
  .tile__label{left:10px;right:10px;bottom:10px}
  .item-catalog__grid .tile__label{left:0;right:0;bottom:0;padding:11px 9px 9px}
  .tile__name{font-size:clamp(13px,4.2vw,16px)}
  .tile__row{gap:7px;font-size:8px;letter-spacing:.13em;flex-wrap:wrap}
  .tile__badge{top:9px;left:9px;font-size:7px;letter-spacing:.16em;padding:4px 7px}
  .future{height:500svh}
  .future__inner{height:100dvh;padding-top:92px;padding-bottom:70px;gap:clamp(12px,1.7dvh,16px);justify-content:start}
  .future__head{display:none}
  .future__visual{display:block;height:clamp(150px,22dvh,182px);width:min(100%,calc(100vw - 48px));max-height:none;aspect-ratio:auto;justify-self:center;box-shadow:0 16px 42px rgba(0,0,0,.3)}
  .future__list{width:100%;align-self:start}
  .future-item{grid-template-columns:32px 1fr;gap:9px;padding:clamp(8px,1.25dvh,11px) 0}
  .future-item__mark{display:none}
  .future-item__no{font-size:9px;letter-spacing:.15em;padding-top:5px}
  .future-item h3{font-size:clamp(21px,6.35vw,28px);line-height:.95;margin-bottom:4px}
  .future-item p{font-size:clamp(11px,3.28vw,14px);line-height:1.3}
  .item-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .item-catalog__bar{align-items:flex-start;flex-direction:column}
}
