/* Weblance reference experiences — isolated from the homepage and service pages. */
body.wlrx-reference {
  --wlrx-bg: #101112;
  --wlrx-surface: #17191b;
  --wlrx-surface-2: #1e2023;
  --wlrx-ink: #f4efe8;
  --wlrx-muted: rgba(244,239,232,.64);
  --wlrx-faint: rgba(244,239,232,.38);
  --wlrx-line: rgba(244,239,232,.13);
  --wlrx-accent: #f26c4f;
  --wlrx-accent-2: #ffb39f;
  --wlrx-glow: rgba(242,108,79,.28);
  margin: 0;
  background: var(--wlrx-bg);
  color: var(--wlrx-ink);
  overflow-x: clip;
}
body.wlrx-reference--3ds {
  --wlrx-bg: #071117;
  --wlrx-surface: #0b1820;
  --wlrx-surface-2: #10242d;
  --wlrx-accent: #62d7ff;
  --wlrx-accent-2: #ff7254;
  --wlrx-glow: rgba(98,215,255,.24);
}
body.wlrx-reference--saint-gobain {
  --wlrx-bg: #071816;
  --wlrx-surface: #0d2420;
  --wlrx-surface-2: #15342e;
  --wlrx-accent: #6ee0c4;
  --wlrx-accent-2: #e9ffd6;
  --wlrx-glow: rgba(110,224,196,.25);
}
body.wlrx-reference--baltic {
  --wlrx-bg: #0a0e18;
  --wlrx-surface: #111827;
  --wlrx-surface-2: #1a2231;
  --wlrx-accent: #d6b36f;
  --wlrx-accent-2: #f7ead0;
  --wlrx-glow: rgba(214,179,111,.26);
}
body.wlrx-reference--epycure {
  --wlrx-bg: #251b1a;
  --wlrx-surface: #342321;
  --wlrx-surface-2: #49312d;
  --wlrx-accent: #f59679;
  --wlrx-accent-2: #bcd5a8;
  --wlrx-glow: rgba(245,150,121,.28);
}
body.wlrx-reference--beco {
  --wlrx-bg: #0f1114;
  --wlrx-surface: #181b20;
  --wlrx-surface-2: #23272d;
  --wlrx-accent: #f15b42;
  --wlrx-accent-2: #cbd6df;
  --wlrx-glow: rgba(241,91,66,.25);
}

.wlrx-page,
.wlrx-page * { box-sizing: border-box; }
.wlrx-page { position: relative; isolation: isolate; min-height: 100vh; background: var(--wlrx-bg); color: var(--wlrx-ink); overflow-x: hidden; }
.wlrx-page::before {
  content: "";
  position: fixed;
  z-index: -3;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.wlrx-page::after {
  content: "";
  position: fixed;
  z-index: -2;
  width: 62vw;
  height: 62vw;
  max-width: 980px;
  max-height: 980px;
  right: -18vw;
  top: 12vh;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, var(--wlrx-glow), transparent 67%);
  filter: blur(24px);
  opacity: .66;
}
.wlrx-shell { width: min(1480px, calc(100% - 80px)); margin-inline: auto; }
.wlrx-page a { color: inherit; text-decoration: none; }
.wlrx-page svg { display: block; }
.wlrx-kicker,
.wlrx-eyebrow {
  margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .67rem;
  font-weight: 760;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.wlrx-kicker { color: var(--wlrx-accent); }

/* Navigation */
.wlrx-nav {
  position: fixed;
  z-index: 75;
  top: 24px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1480px, calc(100% - 48px));
  min-height: 72px;
  padding: 10px 12px 10px 14px;
  border: 1px solid rgba(244,239,232,.13);
  border-radius: 999px;
  background: rgba(10,12,14,.72);
  box-shadow: 0 22px 70px rgba(0,0,0,.24);
  backdrop-filter: blur(18px) saturate(120%);
  transform: translateX(-50%);
}
.wlrx-brand { display: inline-flex; align-items: center; gap: 14px; padding-right: 18px; font-size: .92rem; font-weight: 860; letter-spacing: -.03em; }
.wlrx-brand__mark { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 50%; background: var(--wlrx-ink); }
.wlrx-brand__mark svg { width: 29px; fill: none; stroke: var(--wlrx-accent); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.wlrx-nav nav { display: flex; align-items: center; gap: 8px; }
.wlrx-nav nav > a { padding: 15px 18px; border-radius: 999px; color: var(--wlrx-muted); font-size: .82rem; font-weight: 720; transition: color .25s ease, background .25s ease; }
.wlrx-nav nav > a:hover { color: var(--wlrx-ink); background: rgba(244,239,232,.08); }
.wlrx-nav .wlrx-nav__cta { display: inline-flex; align-items: center; gap: 11px; background: var(--wlrx-ink); color: var(--wlrx-bg); }
.wlrx-nav .wlrx-nav__cta:hover { color: var(--wlrx-bg); background: var(--wlrx-accent-2); }
.wlrx-nav__cta svg { width: 18px; height: 18px; }

/* Hero */
.wlrx-hero { position: relative; display: grid; min-height: 100svh; padding: 150px 0 90px; overflow: hidden; }
.wlrx-hero__noise { position: absolute; inset: 0; pointer-events: none; opacity: .19; mix-blend-mode: soft-light; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.93' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }
.wlrx-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: center; gap: clamp(48px, 7vw, 130px); }
.wlrx-hero__copy { max-width: 880px; }
.wlrx-eyebrow { display: flex; align-items: center; gap: 18px; color: var(--wlrx-muted); }
.wlrx-eyebrow span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--wlrx-line); border-radius: 50%; color: var(--wlrx-accent); }
.wlrx-hero h1 { margin: 32px 0 8px; font-size: clamp(4.2rem, 8.2vw, 9.6rem); line-height: .79; letter-spacing: -.085em; text-wrap: balance; }
.wlrx-hero h1 small { display: block; margin-top: 18px; color: var(--wlrx-accent); font-size: .21em; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.wlrx-hero__headline { max-width: 880px; margin: 38px 0 24px; font-size: clamp(1.55rem, 2.45vw, 3rem); font-weight: 760; line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.wlrx-hero__lead { max-width: 720px; margin: 0; color: var(--wlrx-muted); font-size: clamp(1rem, 1.2vw, 1.24rem); line-height: 1.7; }
.wlrx-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 34px; }
.wlrx-tags span { padding: 10px 13px; border: 1px solid var(--wlrx-line); border-radius: 999px; color: var(--wlrx-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.wlrx-hero__visual { position: relative; min-height: min(670px, 67vh); perspective: 1200px; transform: translate3d(calc(var(--wlrx-pointer-x, 0) * 1px), calc(var(--wlrx-pointer-y, 0) * 1px), 0); }
.wlrx-hero__visual::before { content: ""; position: absolute; inset: 7%; border: 1px solid var(--wlrx-line); border-radius: 44% 56% 54% 46% / 54% 38% 62% 46%; transform: rotate(calc(var(--wlrx-progress, 0) * 60deg)); opacity: .48; }
.wlrx-hero__coordinates { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; gap: 20px; color: var(--wlrx-faint); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .56rem; letter-spacing: .14em; }
.wlrx-scroll { position: absolute; z-index: 5; left: 50%; bottom: 26px; display: inline-flex; align-items: center; gap: 12px; color: var(--wlrx-muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .61rem; letter-spacing: .13em; text-transform: uppercase; transform: translateX(-50%); }
.wlrx-scroll svg { width: 18px; fill: none; stroke: var(--wlrx-accent); stroke-width: 1.8; animation: wlrx-scroll-cue 1.8s ease-in-out infinite; }
@keyframes wlrx-scroll-cue { 0%,100% { transform: translateY(-3px); } 50% { transform: translateY(5px); } }

/* Shared artwork */
.wlrx-art { position: absolute; inset: 5%; transform-style: preserve-3d; }
.wlrx-art--story { inset: 7%; }
.wlrx-art--next { inset: 3%; }

/* 3DS artwork */
.wlrx-art--3ds { display: grid; place-items: center; }
.wlrx-3ds__grid { position: absolute; inset: 5%; border-radius: 42px; background-image: linear-gradient(rgba(98,215,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(98,215,255,.1) 1px, transparent 1px); background-size: 48px 48px; transform: rotateX(62deg) rotateZ(calc(-18deg + var(--wlrx-progress, 0) * 15deg)) translateZ(-90px); mask-image: radial-gradient(circle, #000, transparent 72%); }
.wlrx-3ds__core { position: absolute; width: 30%; aspect-ratio: 1; border-radius: 28%; background: linear-gradient(145deg, rgba(255,255,255,.95), var(--wlrx-accent) 35%, #0a3343 90%); box-shadow: 0 0 90px rgba(98,215,255,.34); transform: rotateX(calc(34deg + var(--wlrx-progress, 0) * 40deg)) rotateY(calc(-28deg + var(--wlrx-progress, 0) * 80deg)) rotateZ(18deg); }
.wlrx-3ds__core::before,.wlrx-3ds__core::after { content:""; position:absolute; inset:15%; border:1px solid rgba(4,19,27,.35); border-radius:20%; }
.wlrx-3ds__core::after { inset:31%; }
.wlrx-3ds__orb { position: absolute; width: 13%; aspect-ratio:1; border:1px solid rgba(98,215,255,.48); background: rgba(98,215,255,.13); backdrop-filter: blur(7px); transform-style:preserve-3d; }
.wlrx-3ds__orb::after { content:""; position:absolute; inset:22%; border-radius:50%; background:var(--wlrx-accent-2); box-shadow:0 0 26px rgba(255,114,84,.62); }
.wlrx-3ds__orb--one { left:10%; top:16%; transform: rotateX(55deg) rotateY(calc(var(--wlrx-progress,0)*100deg)); }
.wlrx-3ds__orb--two { right:8%; top:32%; transform: rotateY(45deg) rotateZ(calc(var(--wlrx-progress,0)*-80deg)); }
.wlrx-3ds__orb--three { left:24%; bottom:8%; transform: rotateX(calc(var(--wlrx-progress,0)*-70deg)) rotateZ(25deg); }
.wlrx-3ds__ring { position:absolute; width:78%; aspect-ratio:1; border:1px solid rgba(98,215,255,.34); border-radius:50%; transform:rotateX(68deg) rotateZ(calc(var(--wlrx-progress,0)*140deg)); }
.wlrx-3ds__ring--two { width:58%; border-color:rgba(255,114,84,.34); transform:rotateY(69deg) rotateZ(calc(var(--wlrx-progress,0)*-120deg)); }
.wlrx-3ds__node { position:absolute; width:9px; aspect-ratio:1; border-radius:50%; background:var(--wlrx-accent); box-shadow:0 0 20px var(--wlrx-accent); }
.wlrx-3ds__node--one { top:13%; left:48%; }.wlrx-3ds__node--two { right:14%; bottom:28%; }.wlrx-3ds__node--three { left:8%; bottom:43%; }

/* Saint-Gobain artwork */
.wlrx-art--saint { display:grid; place-items:center; overflow:hidden; border-radius:44px; background:linear-gradient(155deg,rgba(110,224,196,.07),rgba(233,255,214,.02)); }
.wlrx-saint__sun { position:absolute; top:8%; right:10%; width:30%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 38% 35%,#fff,var(--wlrx-accent-2) 13%,rgba(110,224,196,.32) 45%,transparent 72%); filter:blur(2px); transform:translateY(calc(var(--wlrx-progress,0)*80px)); }
.wlrx-saint__building { position:absolute; left:10%; right:10%; bottom:4%; display:flex; align-items:flex-end; justify-content:center; gap:2.3%; height:72%; transform:perspective(900px) rotateX(4deg) rotateY(calc(-8deg + var(--wlrx-progress,0)*17deg)); }
.wlrx-saint__building i { display:block; width:14%; height:var(--h,70%); border:1px solid rgba(233,255,214,.35); background:linear-gradient(115deg,rgba(255,255,255,.17),rgba(110,224,196,.05) 50%,rgba(0,0,0,.2)); box-shadow:inset 0 0 35px rgba(255,255,255,.05); backdrop-filter:blur(9px); }
.wlrx-saint__building i:nth-child(1){--h:46%;}.wlrx-saint__building i:nth-child(2){--h:72%;}.wlrx-saint__building i:nth-child(3){--h:92%;}.wlrx-saint__building i:nth-child(4){--h:66%;}.wlrx-saint__building i:nth-child(5){--h:38%;}
.wlrx-saint__glass { position:absolute; inset:13%; transform:rotateZ(calc(-5deg + var(--wlrx-progress,0)*9deg)); }
.wlrx-saint__glass b { position:absolute; inset:var(--i); border:1px solid rgba(110,224,196,.22); border-radius:38% 62% 48% 52%; }
.wlrx-saint__glass b:nth-child(1){--i:0;}.wlrx-saint__glass b:nth-child(2){--i:8%;}.wlrx-saint__glass b:nth-child(3){--i:17%;}.wlrx-saint__glass b:nth-child(4){--i:28%;}
.wlrx-saint__line { position:absolute; left:5%; right:5%; top:55%; height:1px; background:linear-gradient(90deg,transparent,var(--wlrx-accent),transparent); box-shadow:0 0 24px var(--wlrx-accent); transform:translateY(calc((var(--wlrx-progress,0) - .5)*170px)); }

/* Baltic artwork */
.wlrx-art--baltic { display:grid; place-items:center; }
.wlrx-baltic__halo { position:absolute; width:84%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(214,179,111,.2),transparent 66%); filter:blur(10px); }
.wlrx-baltic__watch { position:relative; display:grid; place-items:center; width:min(82%,540px); aspect-ratio:1; border:10px solid #c4a566; border-radius:50%; background:radial-gradient(circle at 38% 28%,#24324a,#0a0d16 58%,#03050a); box-shadow:0 50px 100px rgba(0,0,0,.45),inset 0 0 0 3px #f3dba7,inset 0 0 0 9px #6f572d; transform:rotateX(calc(7deg + var(--wlrx-pointer-y,0)*.12deg)) rotateY(calc(var(--wlrx-pointer-x,0)*.12deg)); }
.wlrx-baltic__watch::before { content:""; position:absolute; inset:8%; border:1px solid rgba(247,234,208,.35); border-radius:50%; }
.wlrx-baltic__ticks { position:absolute; inset:5%; }
.wlrx-baltic__ticks i { position:absolute; left:50%; top:0; width:1px; height:5.5%; background:rgba(247,234,208,.72); transform-origin:50% 900%; transform:translateX(-50%) rotate(calc(var(--tick)*6deg)); }
.wlrx-baltic__ticks i:nth-child(5n+1){ width:2px; height:8%; background:var(--wlrx-accent); }
.wlrx-baltic__brand { position:absolute; top:30%; color:rgba(247,234,208,.74); font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:.28em; }
.wlrx-baltic__hand { position:absolute; left:50%; bottom:50%; width:3px; border-radius:999px; background:var(--wlrx-accent-2); transform-origin:50% 100%; }
.wlrx-baltic__hand--hour { height:20%; transform:translateX(-50%) rotate(calc(32deg + var(--wlrx-progress,0)*95deg)); }
.wlrx-baltic__hand--minute { height:31%; width:2px; transform:translateX(-50%) rotate(calc(118deg + var(--wlrx-progress,0)*390deg)); }
.wlrx-baltic__hand--second { height:35%; width:1px; background:#d94d45; transform:translateX(-50%) rotate(calc(var(--wlrx-progress,0)*930deg)); }
.wlrx-baltic__watch strong { position:absolute; width:4%; aspect-ratio:1; border-radius:50%; background:var(--wlrx-accent); box-shadow:0 0 0 4px #0b101a; }
.wlrx-baltic__orbit { position:absolute; width:96%; aspect-ratio:1; border:1px solid rgba(214,179,111,.25); border-radius:50%; transform:rotateX(68deg) rotateZ(calc(var(--wlrx-progress,0)*100deg)); }

/* Epycure artwork */
.wlrx-art--epycure { display:grid; place-items:center; }
.wlrx-epycure__blob { position:absolute; border-radius:var(--shape,52% 48% 62% 38% / 44% 60% 40% 56%); filter:blur(.2px); transform:rotate(calc(var(--wlrx-progress,0)*80deg)); }
.wlrx-epycure__blob--one { width:66%; aspect-ratio:1; background:linear-gradient(145deg,#f8b296,#d66d58); box-shadow:0 35px 90px rgba(245,150,121,.25); }
.wlrx-epycure__blob--two { width:43%; aspect-ratio:1; --shape:40% 60% 37% 63% / 58% 35% 65% 42%; background:linear-gradient(145deg,#c7dcb5,#7e9c6b); transform:translate(32%,22%) rotate(calc(var(--wlrx-progress,0)*-120deg)); mix-blend-mode:screen; opacity:.76; }
.wlrx-epycure__sun { position:absolute; top:12%; right:10%; width:14%; aspect-ratio:1; border-radius:50%; background:#ffdf9f; box-shadow:0 0 55px rgba(255,223,159,.55); }
.wlrx-epycure__capsule { position:absolute; width:17%; aspect-ratio:1/2.25; border-radius:999px; background:linear-gradient(to bottom,#f7e8db 50%,var(--wlrx-accent) 50%); box-shadow:0 22px 55px rgba(0,0,0,.18); overflow:hidden; }
.wlrx-epycure__capsule i { position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(37,27,26,.3); }
.wlrx-epycure__capsule--one { left:8%; bottom:13%; transform:rotate(calc(-28deg + var(--wlrx-progress,0)*85deg)); }
.wlrx-epycure__capsule--two { right:11%; top:23%; transform:rotate(calc(34deg + var(--wlrx-progress,0)*-75deg)) scale(.73); }
.wlrx-epycure__leaf { position:absolute; width:18%; aspect-ratio:1.8; border-radius:100% 0 100% 0; background:linear-gradient(135deg,#c8d9a8,#658258); }
.wlrx-epycure__leaf--one { left:13%; top:19%; transform:rotate(calc(25deg + var(--wlrx-progress,0)*50deg)); }
.wlrx-epycure__leaf--two { right:19%; bottom:11%; transform:rotate(calc(205deg + var(--wlrx-progress,0)*-55deg)) scale(.72); }

/* Beco artwork */
.wlrx-art--beco { display:grid; place-items:center; overflow:hidden; }
.wlrx-beco__blueprint { position:absolute; inset:3%; border:1px solid rgba(203,214,223,.18); background-image:linear-gradient(rgba(203,214,223,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(203,214,223,.08) 1px,transparent 1px); background-size:32px 32px; transform:perspective(800px) rotateX(55deg) rotateZ(calc(-19deg + var(--wlrx-progress,0)*8deg)); }
.wlrx-beco__gear { position:absolute; display:block; width:38%; aspect-ratio:1; border:22px dotted rgba(203,214,223,.48); border-radius:50%; box-shadow:inset 0 0 0 12px rgba(203,214,223,.1),0 0 0 1px rgba(203,214,223,.22); }
.wlrx-beco__gear::before { content:""; position:absolute; inset:28%; border:6px solid var(--wlrx-accent); border-radius:50%; }
.wlrx-beco__gear--one { left:11%; top:17%; transform:rotate(calc(var(--wlrx-progress,0)*180deg)); }
.wlrx-beco__gear--two { right:12%; bottom:12%; width:31%; transform:rotate(calc(var(--wlrx-progress,0)*-220deg)); }
.wlrx-beco__gear--three { right:4%; top:7%; width:18%; border-width:12px; opacity:.7; transform:rotate(calc(var(--wlrx-progress,0)*260deg)); }
.wlrx-beco__axis { position:absolute; width:23%; aspect-ratio:1; border:1px solid rgba(203,214,223,.45); border-radius:50%; background:radial-gradient(circle,#eef5f8 0 6%,#66717c 7% 11%,#1b2026 12% 44%,var(--wlrx-accent) 45% 48%,transparent 49%); }
.wlrx-beco__caliper { position:absolute; top:13%; bottom:13%; width:8%; border:2px solid rgba(203,214,223,.45); }
.wlrx-beco__caliper--left { left:6%; border-right:0; }.wlrx-beco__caliper--right { right:6%; border-left:0; }
.wlrx-beco__laser { position:absolute; left:0; right:0; top:calc(22% + var(--wlrx-progress,0)*52%); height:1px; background:linear-gradient(90deg,transparent,var(--wlrx-accent),transparent); box-shadow:0 0 22px var(--wlrx-accent); }

/* Brand note */
.wlrx-brand-note { padding: clamp(54px,7vw,110px) 0; border-top:1px solid var(--wlrx-line); border-bottom:1px solid var(--wlrx-line); background:rgba(255,255,255,.015); }
.wlrx-brand-note__grid { display:grid; grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr); gap:clamp(30px,7vw,130px); align-items:start; }
.wlrx-brand-note__grid > div { max-width:920px; }
.wlrx-brand-note__grid > div > p { margin:0; font-size:clamp(1.35rem,2.25vw,2.45rem); line-height:1.34; letter-spacing:-.035em; }
.wlrx-brand-note a { display:inline-flex; align-items:center; gap:11px; margin-top:28px; color:var(--wlrx-accent); font-weight:760; }
.wlrx-brand-note a svg { width:18px; height:18px; }

/* Context */
.wlrx-context { padding:clamp(100px,13vw,210px) 0; }
.wlrx-context__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:clamp(55px,10vw,170px); align-items:start; }
.wlrx-context h2 { max-width:780px; margin:24px 0 0; font-size:clamp(3.4rem,6.5vw,7.6rem); line-height:.88; letter-spacing:-.075em; text-wrap:balance; }
.wlrx-context__body > p { margin:0; color:var(--wlrx-muted); font-size:clamp(1.12rem,1.55vw,1.52rem); line-height:1.67; }
.wlrx-context blockquote { position:relative; margin:70px 0 0; padding:28px 0 0 36px; border-top:1px solid var(--wlrx-line); color:var(--wlrx-ink); font-size:clamp(1.45rem,2.5vw,2.7rem); font-weight:740; line-height:1.18; letter-spacing:-.045em; }
.wlrx-context blockquote::before { content:""; position:absolute; left:0; top:31px; width:10px; height:10px; border-radius:50%; background:var(--wlrx-accent); box-shadow:0 0 26px var(--wlrx-accent); }

/* Sticky story */
.wlrx-story { padding:40px 0 clamp(110px,14vw,220px); }
.wlrx-story__grid { display:grid; grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr); gap:clamp(65px,10vw,170px); }
.wlrx-story__visual { position:relative; }
.wlrx-story__visual-inner { position:sticky; top:125px; min-height:min(700px,calc(100svh - 160px)); border:1px solid var(--wlrx-line); border-radius:42px; overflow:hidden; background:linear-gradient(145deg,var(--wlrx-surface-2),var(--wlrx-surface)); box-shadow:0 50px 130px rgba(0,0,0,.27); }
.wlrx-story__visual-inner::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(145deg,rgba(255,255,255,.05),transparent 28%,rgba(0,0,0,.2)); }
.wlrx-story__meter { position:absolute; z-index:8; left:26px; right:26px; bottom:28px; height:2px; background:rgba(244,239,232,.13); }
.wlrx-story__meter span { display:block; width:var(--wlrx-story-progress,33.333%); height:100%; background:var(--wlrx-accent); box-shadow:0 0 20px var(--wlrx-accent); transition:width .55s cubic-bezier(.2,.8,.2,1); }
.wlrx-story__visual-inner > p { position:absolute; z-index:9; top:26px; right:27px; margin:0; font-family:ui-monospace,monospace; font-size:.66rem; letter-spacing:.13em; color:var(--wlrx-muted); }
.wlrx-story__chapters { display:grid; }
.wlrx-chapter { display:flex; flex-direction:column; justify-content:center; min-height:88vh; padding:90px 0; opacity:.33; transform:translateY(46px); transition:opacity .65s ease,transform .65s ease; }
.wlrx-chapter.is-active { opacity:1; transform:none; }
.wlrx-chapter__meta { display:flex; align-items:center; gap:18px; margin-bottom:28px; }
.wlrx-chapter__meta span { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--wlrx-line); border-radius:50%; color:var(--wlrx-accent); font-family:ui-monospace,monospace; font-size:.65rem; }
.wlrx-chapter__meta p { margin:0; color:var(--wlrx-muted); font-family:ui-monospace,monospace; font-size:.66rem; font-weight:760; letter-spacing:.16em; }
.wlrx-chapter h3 { max-width:760px; margin:0; font-size:clamp(3rem,5.35vw,6.45rem); line-height:.91; letter-spacing:-.072em; text-wrap:balance; }
.wlrx-chapter > p { max-width:700px; margin:34px 0 0; color:var(--wlrx-muted); font-size:clamp(1.08rem,1.35vw,1.35rem); line-height:1.66; }
.wlrx-tags--chapter { margin-top:30px; }

/* Principles */
.wlrx-principles { padding:clamp(110px,13vw,210px) 0; border-top:1px solid var(--wlrx-line); background:linear-gradient(180deg,rgba(255,255,255,.015),transparent); }
.wlrx-principles__head { display:grid; grid-template-columns:minmax(180px,.48fr) minmax(0,1.52fr); gap:clamp(30px,7vw,120px); align-items:start; }
.wlrx-principles__head h2 { max-width:930px; margin:0; font-size:clamp(3rem,5.5vw,6.6rem); line-height:.91; letter-spacing:-.072em; }
.wlrx-principles__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:clamp(70px,8vw,125px); }
.wlrx-principles article { position:relative; min-height:360px; padding:32px; border:1px solid var(--wlrx-line); border-radius:30px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); overflow:hidden; transition:transform .4s ease,border-color .4s ease,background .4s ease; }
.wlrx-principles article::before { content:""; position:absolute; width:190px; aspect-ratio:1; right:-80px; top:-80px; border-radius:50%; background:radial-gradient(circle,var(--wlrx-glow),transparent 68%); opacity:0; transition:opacity .4s ease; }
.wlrx-principles article:hover { transform:translateY(-10px); border-color:color-mix(in srgb,var(--wlrx-accent) 50%,transparent); background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018)); }
.wlrx-principles article:hover::before { opacity:1; }
.wlrx-principles article > span { display:grid; place-items:center; width:48px; height:48px; border:1px solid var(--wlrx-line); border-radius:50%; color:var(--wlrx-accent); font-family:ui-monospace,monospace; font-size:.65rem; }
.wlrx-principles article h3 { margin:92px 0 16px; font-size:clamp(1.65rem,2.2vw,2.5rem); line-height:1; letter-spacing:-.045em; }
.wlrx-principles article p { margin:0; color:var(--wlrx-muted); font-size:1rem; line-height:1.65; }

/* Manifesto */
.wlrx-manifesto { position:relative; display:grid; align-items:center; min-height:min(760px,86svh); padding:130px 0; overflow:hidden; background:var(--wlrx-accent); color:var(--wlrx-bg); }
.wlrx-manifesto::before { content:""; position:absolute; inset:0; opacity:.15; background-image:linear-gradient(rgba(0,0,0,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.2) 1px,transparent 1px); background-size:60px 60px; }
.wlrx-manifesto p { position:relative; z-index:2; max-width:1270px; margin:0; font-size:clamp(4.2rem,8.4vw,10.8rem); font-weight:860; line-height:.79; letter-spacing:-.09em; text-wrap:balance; }
.wlrx-manifesto__line { position:absolute; z-index:1; left:0; right:0; bottom:4%; width:100%; height:38%; fill:none; stroke:rgba(7,17,23,.45); stroke-width:2.5; }
.wlrx-manifesto__line path { stroke-dasharray:var(--wlrx-path-length,2000); stroke-dashoffset:var(--wlrx-path-offset,2000); }

/* Next project */
.wlrx-next { padding:clamp(100px,13vw,210px) 0; }
.wlrx-next__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:clamp(50px,9vw,150px); align-items:center; }
.wlrx-next h2 { margin:24px 0 24px; font-size:clamp(4rem,7.6vw,9rem); line-height:.8; letter-spacing:-.085em; }
.wlrx-next h2 small { display:block; margin-top:16px; color:var(--wlrx-accent); font-size:.19em; letter-spacing:.08em; text-transform:uppercase; }
.wlrx-next__grid > div > p:not(.wlrx-kicker) { max-width:610px; margin:0; color:var(--wlrx-muted); font-size:clamp(1.15rem,1.55vw,1.5rem); line-height:1.58; }
.wlrx-next__link { display:inline-flex; align-items:center; gap:12px; margin-top:36px; padding:17px 20px; border-radius:999px; background:var(--wlrx-accent); color:#0b0b0b; font-weight:780; transition:transform .3s ease, background .3s ease, box-shadow .3s ease; }
.wlrx-next__link:hover { color:#0b0b0b; background:var(--wlrx-accent-2); transform:translateY(-2px); box-shadow:0 18px 44px var(--wlrx-glow); }
.wlrx-next__link svg { width:18px; height:18px; stroke:currentColor; }
.wlrx-next__visual { position:relative; display:block; min-height:600px; border:1px solid var(--wlrx-line); border-radius:42px; background:linear-gradient(145deg,var(--wlrx-surface-2),var(--wlrx-surface)); overflow:hidden; transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .4s ease; }
.wlrx-next__visual:hover { transform:translateY(-10px) rotate(-.7deg); border-color:var(--wlrx-accent); }

/* Contact */
.wlrx-contact { padding:clamp(80px,10vw,150px) 0; border-top:1px solid var(--wlrx-line); background:#f4efe8; color:#171717; }
.wlrx-contact .wl-v5-contact-card { box-shadow:0 36px 110px rgba(0,0,0,.11); }

/* Reveal states */
[data-wlrx-reveal] { opacity:0; transform:translateY(34px); transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1); }
[data-wlrx-reveal].is-visible { opacity:1; transform:none; }

/* Brand-specific layout accents */
.wlrx-page--saint-gobain .wlrx-context__title { order:2; }
.wlrx-page--saint-gobain .wlrx-context__body { order:1; }
.wlrx-page--baltic .wlrx-hero__grid { grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr); }
.wlrx-page--baltic .wlrx-hero__copy { order:2; }
.wlrx-page--baltic .wlrx-hero__visual { order:1; }
.wlrx-page--epycure .wlrx-hero { background:radial-gradient(circle at 70% 30%,rgba(188,213,168,.1),transparent 38%); }
.wlrx-page--epycure .wlrx-context blockquote { color:var(--wlrx-accent-2); }
.wlrx-page--beco .wlrx-page::before { background-size:42px 42px; }

@media (max-width: 1180px) {
  .wlrx-shell { width:min(100% - 52px,1120px); }
  .wlrx-hero__grid { grid-template-columns:minmax(0,1fr) minmax(350px,.85fr); gap:40px; }
  .wlrx-story__grid { grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr); gap:55px; }
  .wlrx-next__grid { grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:55px; }
}

@media (max-width: 900px) {
  body.wlrx-reference { overflow-x:hidden; }
  .wlrx-page::before { position:absolute; background-size:58px 58px; }
  .wlrx-page::after { position:absolute; width:105vw; height:105vw; right:-55vw; top:8vh; }
  .wlrx-shell { width:min(100% - 34px,760px); }
  .wlrx-nav { top:max(12px,env(safe-area-inset-top)); width:calc(100% - 24px); min-height:66px; padding:8px; }
  .wlrx-brand { gap:10px; padding-right:8px; font-size:.79rem; }
  .wlrx-brand__mark { width:48px; height:48px; }
  .wlrx-nav nav > a:first-child { display:none; }
  .wlrx-nav nav > a { padding:14px 15px; font-size:.72rem; }
  .wlrx-nav__cta span { display:none; }
  .wlrx-nav .wlrx-nav__cta { width:48px; height:48px; justify-content:center; padding:0; }
  .wlrx-hero { min-height:auto; padding:118px 0 85px; }
  .wlrx-hero__grid,.wlrx-page--baltic .wlrx-hero__grid { grid-template-columns:1fr; gap:42px; }
  .wlrx-page--baltic .wlrx-hero__copy,.wlrx-page--baltic .wlrx-hero__visual { order:initial; }
  .wlrx-hero h1 { font-size:clamp(4rem,16vw,7rem); }
  .wlrx-hero__headline { margin-top:28px; font-size:clamp(1.65rem,7vw,2.6rem); }
  .wlrx-hero__visual { min-height:520px; transform:none; overflow:hidden; contain:paint; }
  .wlrx-hero__coordinates { left:4px; right:4px; }
  .wlrx-scroll { display:none; }
  .wlrx-brand-note__grid,.wlrx-context__grid,.wlrx-principles__head,.wlrx-next__grid { grid-template-columns:1fr; }
  .wlrx-brand-note__grid { gap:28px; }
  .wlrx-brand-note__grid > div > p { font-size:1.45rem; }
  .wlrx-context { padding:110px 0; }
  .wlrx-context__grid { gap:48px; }
  .wlrx-page--saint-gobain .wlrx-context__title,.wlrx-page--saint-gobain .wlrx-context__body { order:initial; }
  .wlrx-context h2 { font-size:clamp(3.4rem,13vw,6rem); }
  .wlrx-context blockquote { margin-top:48px; }
  .wlrx-story { padding-top:0; }
  .wlrx-story__grid { grid-template-columns:1fr; gap:30px; }
  .wlrx-story__visual-inner { position:relative; top:auto; min-height:520px; }
  .wlrx-story__chapters { gap:16px; }
  .wlrx-chapter { min-height:auto; padding:46px 0; opacity:1; transform:none; border-bottom:1px solid var(--wlrx-line); }
  .wlrx-chapter:last-child { border-bottom:0; }
  .wlrx-chapter h3 { font-size:clamp(2.8rem,11vw,5rem); }
  .wlrx-principles { padding:110px 0; }
  .wlrx-principles__head { gap:24px; }
  .wlrx-principles__head h2 { font-size:clamp(3rem,12vw,5.7rem); }
  .wlrx-principles__grid { grid-template-columns:1fr; margin-top:56px; }
  .wlrx-principles article { min-height:280px; }
  .wlrx-principles article h3 { margin-top:66px; }
  .wlrx-manifesto { min-height:70svh; }
  .wlrx-manifesto p { font-size:clamp(3.9rem,16vw,7rem); }
  .wlrx-next { padding:110px 0; }
  .wlrx-next__grid { gap:55px; }
  .wlrx-next h2 { font-size:clamp(4rem,16vw,7rem); }
  .wlrx-next__visual { min-height:500px; }
  [data-wlrx-reveal] { opacity:1; transform:none; }
}

@media (max-width: 560px) {
  .wlrx-shell { width:calc(100% - 28px); }
  .wlrx-nav { width:calc(100% - 18px); }
  .wlrx-hero { padding-top:108px; }
  .wlrx-eyebrow { gap:12px; font-size:.56rem; line-height:1.45; }
  .wlrx-eyebrow span { flex:0 0 auto; width:39px; height:39px; }
  .wlrx-hero h1 { margin-top:26px; font-size:clamp(3.5rem,18vw,5.6rem); }
  .wlrx-hero__lead { font-size:1rem; line-height:1.62; }
  .wlrx-tags { gap:7px; margin-top:26px; }
  .wlrx-tags span { padding:8px 10px; font-size:.53rem; }
  .wlrx-hero__visual { min-height:410px; }
  .wlrx-hero__coordinates { font-size:.46rem; }
  .wlrx-brand-note { padding:60px 0; }
  .wlrx-context { padding:88px 0; }
  .wlrx-context h2 { font-size:clamp(3rem,14vw,4.6rem); }
  .wlrx-context__body > p { font-size:1.06rem; }
  .wlrx-context blockquote { padding-left:24px; font-size:1.55rem; }
  .wlrx-story__visual-inner { min-height:410px; border-radius:28px; }
  .wlrx-chapter { padding:38px 0; }
  .wlrx-chapter__meta { margin-bottom:22px; }
  .wlrx-chapter h3 { font-size:clamp(2.7rem,13vw,4rem); }
  .wlrx-chapter > p { margin-top:24px; font-size:1rem; }
  .wlrx-principles { padding:88px 0; }
  .wlrx-principles__head h2 { font-size:clamp(2.8rem,13vw,4.4rem); }
  .wlrx-principles article { min-height:250px; padding:25px; border-radius:24px; }
  .wlrx-manifesto { min-height:62svh; padding:90px 0; }
  .wlrx-manifesto p { font-size:clamp(3.5rem,17vw,5.4rem); }
  .wlrx-next { padding:88px 0; }
  .wlrx-next h2 { font-size:clamp(3.7rem,17vw,5.4rem); }
  .wlrx-next__visual { min-height:390px; border-radius:28px; }
  .wlrx-art--story { inset:5%; }
  .wlrx-baltic__watch { width:88%; border-width:7px; }
  .wlrx-beco__gear { border-width:15px; }
}

@media (prefers-reduced-motion: reduce) {
  .wlrx-scroll svg,
  .wlrx-art *,
  [data-wlrx-reveal],
  .wlrx-principles article,
  .wlrx-next__visual { animation:none !important; transition:none !important; }
  [data-wlrx-reveal] { opacity:1; transform:none; }
}
