@property --intro-progress { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

:root {
  --intro-duration: 2000ms;
  --intro-exit-duration: 1080ms;
  --intro-ink: #16212a;
  --intro-soft: #edf2f3;
  --intro-gold: #b8932e;
}

.site-intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  min-height: 100svh;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  background: var(--intro-bg, linear-gradient(135deg, #18262f 0%, #20323d 54%, #16212a 100%));
  color: var(--intro-fg, #fff);
  pointer-events: auto;
  isolation: isolate;
  transform-origin: 50% 50%;
}

html.intro-running,
html.intro-running body {
  overflow: hidden;
}

html.intro-running .brand img {
  opacity: 0;
}

.site-intro::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 160px rgba(0, 0, 0, .28);
}

.site-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  opacity: 0;
}

.site-intro__motion {
  position: absolute;
  inset: -24%;
  z-index: 1;
  pointer-events: none;
  opacity: .82;
  mix-blend-mode: screen;
  will-change: transform, opacity, background-position, filter;
}

.site-intro__inner {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(960px, 92vw);
  padding: clamp(24px, 4vw, 56px);
  text-align: center;
}

.site-intro__logo {
  width: var(--intro-logo-size, clamp(172px, 24vw, 286px));
  max-width: min(76vw, var(--intro-logo-max, 330px));
  height: auto;
  object-fit: contain;
  filter: var(--intro-logo-filter, drop-shadow(0 28px 78px rgba(0, 0, 0, .28)));
  transform-origin: center center;
  will-change: transform, opacity, filter;
}

.site-intro__claim {
  max-width: var(--intro-claim-max, min(760px, 86vw));
  margin-top: var(--intro-claim-gap, clamp(24px, 4vw, 44px));
  color: var(--intro-claim, rgba(255, 255, 255, .8));
  font-family: var(--intro-claim-font, var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif));
  font-size: var(--intro-claim-size, clamp(1.05rem, 2.1vw, 1.45rem));
  font-weight: var(--intro-claim-weight, 700);
  line-height: var(--intro-claim-line, 1.25);
  letter-spacing: var(--intro-claim-spacing, -.01em);
  text-transform: var(--intro-claim-transform, none);
  text-wrap: balance;
  text-shadow: var(--intro-claim-shadow, none);
  will-change: transform, opacity;
}

.site-intro__counter {
  position: relative;
  width: var(--intro-counter-width, min(320px, 62vw));
  height: var(--intro-counter-height, 2px);
  margin-top: var(--intro-counter-gap, clamp(22px, 3vw, 30px));
  overflow: visible;
  border-radius: 999px;
  background: var(--intro-counter-track, rgba(255, 255, 255, .24));
  color: var(--intro-counter-fill, rgba(255, 255, 255, .82));
}

.site-intro__counter span,
.site-intro__counter i,
.site-intro__counter b,
.site-intro__counter::before,
.site-intro__counter::after {
  box-sizing: border-box;
}

.site-intro__counter span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  border-radius: inherit;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  animation: ohlalaCounter var(--intro-duration) linear forwards;
}

.site-intro__counter i,
.site-intro__counter b { display: none; }

html[data-intro-bg="1"] .site-intro { --intro-bg: radial-gradient(circle at 50% 42%, #243743 0%, #18262f 42%, #111a20 100%); }
html[data-intro-bg="2"] .site-intro { --intro-bg: linear-gradient(135deg, #1b2a33 0%, #263945 48%, #121d24 100%); }
html[data-intro-bg="3"] .site-intro { --intro-bg: radial-gradient(circle at 72% 18%, rgba(184,147,46,.32), transparent 32%), linear-gradient(135deg, #111b22, #1d2d37 58%, #10181e); }
html[data-intro-bg="4"] .site-intro { --intro-bg: linear-gradient(145deg, #edf2f3 0%, #d5dddf 48%, #b9c5c9 100%); --intro-fg:#16212a; --intro-claim:rgba(22,33,42,.72); --intro-counter-track:rgba(22,33,42,.16); --intro-counter-fill:rgba(22,33,42,.76); }
html[data-intro-bg="5"] .site-intro { --intro-bg: radial-gradient(circle at 30% 25%, #ffffff 0%, #edf2f3 42%, #d0d9dc 100%); --intro-fg:#16212a; --intro-claim:rgba(22,33,42,.72); --intro-counter-track:rgba(22,33,42,.16); --intro-counter-fill:rgba(22,33,42,.76); }
html[data-intro-bg="6"] .site-intro { --intro-bg: linear-gradient(180deg, #20323d 0%, #16212a 52%, #0f171d 100%); }
html[data-intro-bg="7"] .site-intro { --intro-bg: radial-gradient(circle at 50% 0%, rgba(85,99,109,.55), transparent 42%), linear-gradient(160deg, #0f1920, #20323d); }
html[data-intro-bg="8"] .site-intro { --intro-bg: radial-gradient(circle at 22% 24%, rgba(184,147,46,.26), transparent 35%), linear-gradient(135deg, #18262f, #283944 58%, #161f25); }
html[data-intro-bg="9"] .site-intro { --intro-bg: linear-gradient(135deg, #14232d, #28414f 48%, #121b22); }
html[data-intro-bg="10"] .site-intro { --intro-bg: radial-gradient(circle at 50% 50%, #253844 0%, #101820 58%, #070b0e 100%); }
html[data-intro-bg="11"] .site-intro { --intro-bg: linear-gradient(135deg, #201d1a, #24313a 46%, #101820 100%); }
html[data-intro-bg="12"] .site-intro { --intro-bg: linear-gradient(135deg, #f6f8f8, #dfe6e8 46%, #c4ced2 100%); --intro-fg:#16212a; --intro-claim:rgba(22,33,42,.72); --intro-counter-track:rgba(22,33,42,.16); --intro-counter-fill:rgba(22,33,42,.76); }
html[data-intro-bg="13"] .site-intro { --intro-bg: linear-gradient(135deg, #12292d, #213c42 50%, #121b22 100%); }
html[data-intro-bg="14"] .site-intro { --intro-bg: radial-gradient(circle at 50% -10%, rgba(184,147,46,.38), transparent 34%), linear-gradient(180deg, #131b21, #1b2a33 56%, #0d1318); }
html[data-intro-bg="15"] .site-intro { --intro-bg: linear-gradient(145deg, #faf8f2, #edf2f3 58%, #d5dddf); --intro-fg:#16212a; --intro-claim:rgba(22,33,42,.72); --intro-counter-track:rgba(22,33,42,.16); --intro-counter-fill:rgba(22,33,42,.76); }
html[data-intro-bg="16"] .site-intro { --intro-bg: linear-gradient(135deg, #d5dddf, #edf2f3); --intro-fg:#16212a; --intro-claim:rgba(22,33,42,.72); --intro-counter-track:rgba(22,33,42,.16); --intro-counter-fill:rgba(22,33,42,.76); }
html[data-intro-bg="17"] .site-intro { --intro-bg: linear-gradient(120deg, #101820 0%, #18262f 42%, #2b404d 62%, #142028 100%); }
html[data-intro-bg="18"] .site-intro { --intro-bg: radial-gradient(ellipse at center, #263945 0%, #18262f 45%, #080c0f 100%); }
html[data-intro-bg="19"] .site-intro { --intro-bg: radial-gradient(circle at 18% 80%, rgba(237,242,243,.12), transparent 34%), radial-gradient(circle at 80% 20%, rgba(85,99,109,.32), transparent 40%), #16212a; }
html[data-intro-bg="20"] .site-intro { --intro-bg: linear-gradient(135deg, #18262f 0%, #20323d 54%, #16212a 100%); }

html[data-intro-fx="1"] .site-intro__motion { background: radial-gradient(circle at 50% 50%, rgba(237,242,243,.22), transparent 34%); animation: introBreath 3.6s ease-in-out infinite; }
html[data-intro-fx="2"] .site-intro__motion { background: radial-gradient(circle at 20% 30%, rgba(85,99,109,.55), transparent 24%), radial-gradient(circle at 80% 70%, rgba(184,147,46,.36), transparent 32%); filter: blur(18px); animation: introDrift 5s ease-in-out infinite alternate; }
html[data-intro-fx="3"] .site-intro__motion { background: radial-gradient(circle, rgba(255,255,255,.26), transparent 30%); animation: introPulse 2.2s ease-in-out infinite; }
html[data-intro-fx="4"] .site-intro__motion { background: linear-gradient(115deg, transparent 28%, rgba(255,255,255,.28), transparent 58%); animation: introSweep 4.2s linear infinite; }
html[data-intro-fx="5"] .site-intro__motion { background: repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.16) 0 1px, transparent 1px 30px); animation: introBreath 5s ease-in-out infinite; }
html[data-intro-fx="6"] .site-intro__motion { background: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 50px 50px; animation: introGrid 7s linear infinite; }
html[data-intro-fx="7"] .site-intro__motion { background: repeating-linear-gradient(165deg, transparent 0 24px, rgba(255,255,255,.11) 28px 29px); animation: introGrid 6s linear infinite; }
html[data-intro-fx="8"] .site-intro__motion { background: linear-gradient(90deg, transparent 32%, rgba(255,255,255,.28), transparent 68%); animation: introSweep 3.1s ease-in-out infinite; }
html[data-intro-fx="9"] .site-intro__motion { background: radial-gradient(circle at 24% 45%, rgba(255,255,255,.24), transparent 8%), radial-gradient(circle at 72% 38%, rgba(184,147,46,.32), transparent 10%), radial-gradient(circle at 58% 72%, rgba(255,255,255,.18), transparent 9%); filter: blur(9px); animation: introDrift 5.5s ease-in-out infinite alternate; }
html[data-intro-fx="10"] .site-intro__motion { background: linear-gradient(180deg, transparent, rgba(255,255,255,.18), transparent); filter: blur(20px); animation: introHaze 4.5s ease-in-out infinite; }
html[data-intro-fx="11"] .site-intro__motion { background: repeating-radial-gradient(circle at 20% 20%, rgba(255,255,255,.12) 0 1px, transparent 1px 4px); opacity:.3; animation: introGrain 1s steps(2) infinite; }
html[data-intro-fx="12"] .site-intro__motion { background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.34), transparent 24%); filter: blur(8px); animation: introPulse 3s ease-in-out infinite; }
html[data-intro-fx="13"] .site-intro__motion { background: repeating-linear-gradient(0deg, transparent 0 16px, rgba(255,255,255,.1) 18px 19px); animation: introGrid 5.5s linear infinite; }
html[data-intro-fx="14"] .site-intro__motion { background: radial-gradient(circle at 45% 45%, rgba(184,147,46,.34), transparent 24%), repeating-radial-gradient(circle at 60% 50%, rgba(255,255,255,.18) 0 1px, transparent 1px 12px); animation: introDrift 6s ease-in-out infinite alternate; }
html[data-intro-fx="15"] .site-intro__motion { background: linear-gradient(90deg, rgba(0,0,0,.32), transparent 18%, rgba(0,0,0,.22) 50%, transparent 82%, rgba(0,0,0,.32)); animation: introBreath 4s ease-in-out infinite; mix-blend-mode:multiply; }
html[data-intro-fx="16"] .site-intro__motion { background: linear-gradient(115deg, transparent, rgba(255,255,255,.22), transparent), radial-gradient(circle at 72% 28%, rgba(184,147,46,.32), transparent 22%); animation: introDrift 5s ease-in-out infinite alternate; }
html[data-intro-fx="17"] .site-intro__motion { background: conic-gradient(from 0deg, rgba(255,255,255,.24), transparent 20%, transparent 100%); border-radius:50%; animation: introSpin 7s linear infinite; opacity:.55; }
html[data-intro-fx="18"] .site-intro__motion { background: radial-gradient(circle at 50% 50%, rgba(22,33,42,.13), transparent 34%); mix-blend-mode:multiply; animation: introBreath 4s ease-in-out infinite; }
html[data-intro-fx="19"] .site-intro__motion { background: radial-gradient(ellipse at center, rgba(255,255,255,.36), transparent 30%); animation: introBreath 4.2s ease-in-out infinite; }
html[data-intro-fx="20"] .site-intro__motion { background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.14), transparent 30%); animation: introBreath 9s ease-in-out infinite; opacity:.48; }

html[data-intro-type="1"] .site-intro { --intro-logo-size:clamp(172px,24vw,286px); --intro-claim-size:clamp(1.05rem,2.1vw,1.45rem); --intro-claim-weight:700; }
html[data-intro-type="2"] .site-intro { --intro-logo-size:clamp(150px,20vw,235px); --intro-claim-size:clamp(.98rem,1.65vw,1.18rem); --intro-claim-gap:clamp(18px,3vw,30px); --intro-claim-weight:650; }
html[data-intro-type="3"] .site-intro { --intro-logo-size:clamp(174px,24vw,292px); --intro-claim:#d5bd63; --intro-counter-fill:#d5bd63; --intro-claim-weight:700; }
html[data-intro-type="4"] .site-intro { --intro-logo-size:clamp(188px,28vw,330px); --intro-claim-size:clamp(1.22rem,2.65vw,1.84rem); --intro-claim-max:min(860px,88vw); --intro-claim-weight:800; }
html[data-intro-type="5"] .site-intro { --intro-logo-size:clamp(162px,22vw,266px); --intro-claim-gap:clamp(34px,5.8vw,66px); --intro-claim-spacing:.025em; --intro-claim-weight:600; }
html[data-intro-type="6"] .site-intro { --intro-logo-size:clamp(176px,25vw,304px); --intro-claim-size:clamp(1.08rem,2.25vw,1.55rem); --intro-claim-weight:850; --intro-claim-spacing:-.025em; }
html[data-intro-type="7"] .site-intro { --intro-logo-size:clamp(160px,22vw,270px); --intro-claim-size:clamp(1.02rem,1.9vw,1.32rem); --intro-claim-weight:550; --intro-claim:rgba(255,255,255,.72); }
html[data-intro-type="8"] .site-intro { --intro-logo-size:clamp(170px,23vw,282px); --intro-claim-size:clamp(.84rem,1.35vw,1.02rem); --intro-claim-transform:uppercase; --intro-claim-spacing:.18em; --intro-claim-weight:750; --intro-claim-line:1.45; }
html[data-intro-type="9"] .site-intro { --intro-logo-size:clamp(156px,20vw,250px); --intro-claim-size:clamp(.92rem,1.55vw,1.08rem); --intro-claim:rgba(255,255,255,.64); --intro-counter-width:min(240px,52vw); }
html[data-intro-type="10"] .site-intro { --intro-logo-size:clamp(184px,26vw,320px); --intro-claim:#ffffff; --intro-claim-shadow:0 16px 46px rgba(0,0,0,.38); --intro-counter-fill:#fff; }
html[data-intro-type="11"] .site-intro { --intro-logo-size:clamp(180px,25vw,306px); --intro-claim:#c8a940; --intro-claim-size:clamp(1.08rem,2.25vw,1.52rem); --intro-counter-fill:#c8a940; --intro-logo-filter:drop-shadow(0 30px 90px rgba(184,147,46,.16)); }
html[data-intro-type="12"] .site-intro { --intro-logo-size:clamp(206px,30vw,360px); --intro-claim-size:clamp(.96rem,1.7vw,1.18rem); --intro-claim-max:min(620px,82vw); --intro-claim-gap:clamp(18px,3vw,30px); }
html[data-intro-type="13"] .site-intro { --intro-logo-size:clamp(138px,28vw,238px); --intro-claim-size:clamp(.96rem,4.2vw,1.18rem); --intro-claim-max:86vw; --intro-counter-width:min(260px,64vw); }
html[data-intro-type="14"] .site-intro { --intro-logo-size:clamp(168px,23vw,280px); --intro-claim-font:var(--font-display, Georgia, serif); --intro-claim-size:clamp(1.16rem,2.45vw,1.62rem); --intro-claim-weight:400; --intro-claim-spacing:.005em; }
html[data-intro-type="15"] .site-intro { --intro-logo-size:clamp(168px,23vw,284px); --intro-claim-size:clamp(1rem,1.8vw,1.26rem); --intro-claim-weight:800; --intro-claim-spacing:-.035em; }
html[data-intro-type="16"] .site-intro { --intro-logo-size:clamp(158px,21vw,260px); --intro-claim-size:clamp(.78rem,1.25vw,.98rem); --intro-claim-transform:uppercase; --intro-claim-spacing:.22em; --intro-claim:rgba(255,255,255,.6); --intro-counter-width:min(210px,48vw); }
html[data-intro-type="17"] .site-intro { --intro-logo-size:clamp(190px,27vw,334px); --intro-claim-size:clamp(1.16rem,2.45vw,1.72rem); --intro-claim-max:min(900px,90vw); --intro-claim-weight:750; }
html[data-intro-type="18"] .site-intro { --intro-logo-size:clamp(176px,24vw,298px); --intro-claim:#f5f7f8; --intro-claim-shadow:0 0 18px rgba(255,255,255,.22),0 22px 60px rgba(0,0,0,.28); --intro-counter-fill:#f5f7f8; }
html[data-intro-type="19"] .site-intro { --intro-logo-size:clamp(176px,24vw,300px); --intro-claim:rgba(22,33,42,.8); --intro-counter-fill:rgba(22,33,42,.8); --intro-counter-track:rgba(22,33,42,.16); }
html[data-intro-type="20"] .site-intro { --intro-logo-size:clamp(178px,24.5vw,300px); --intro-claim-size:clamp(1.05rem,2vw,1.42rem); --intro-claim-weight:720; --intro-claim-gap:clamp(26px,4vw,42px); --intro-counter-width:min(300px,60vw); }

html[data-intro-counter="2"] .site-intro__counter span { left:50%; transform-origin:center; animation-name:ohlalaCounterCenter; }
html[data-intro-counter="3"] .site-intro__counter i { display:block; position:absolute; top:50%; left:0; width:8px; height:8px; border-radius:50%; background:currentColor; transform:translate(-50%,-50%); animation:ohlalaCounterDot var(--intro-duration) linear forwards; }
html[data-intro-counter="4"] .site-intro__counter { height:10px; background:repeating-linear-gradient(90deg, var(--intro-counter-track) 0 16px, transparent 16px 25px); overflow:hidden; }
html[data-intro-counter="4"] .site-intro__counter span { background:repeating-linear-gradient(90deg, currentColor 0 16px, transparent 16px 25px); }
html[data-intro-counter="5"] .site-intro__counter { width:min(430px,72vw); height:1px; }
html[data-intro-counter="6"] .site-intro__counter,
html[data-intro-counter="7"] .site-intro__counter,
html[data-intro-counter="8"] .site-intro__counter,
html[data-intro-counter="9"] .site-intro__counter,
html[data-intro-counter="10"] .site-intro__counter,
html[data-intro-counter="11"] .site-intro__counter,
html[data-intro-counter="12"] .site-intro__counter,
html[data-intro-counter="13"] .site-intro__counter,
html[data-intro-counter="14"] .site-intro__counter,
html[data-intro-counter="19"] .site-intro__counter,
html[data-intro-counter="20"] .site-intro__counter { width:44px; height:44px; border-radius:50%; background:conic-gradient(currentColor var(--intro-progress), var(--intro-counter-track) 0deg); animation:ohlalaCircleFill var(--intro-duration) linear forwards; }
html[data-intro-counter="6"] .site-intro__counter span,
html[data-intro-counter="7"] .site-intro__counter span,
html[data-intro-counter="8"] .site-intro__counter span,
html[data-intro-counter="9"] .site-intro__counter span,
html[data-intro-counter="10"] .site-intro__counter span,
html[data-intro-counter="11"] .site-intro__counter span,
html[data-intro-counter="12"] .site-intro__counter span,
html[data-intro-counter="13"] .site-intro__counter span,
html[data-intro-counter="14"] .site-intro__counter span,
html[data-intro-counter="19"] .site-intro__counter span,
html[data-intro-counter="20"] .site-intro__counter span { display:none; }
html[data-intro-counter="6"] .site-intro__counter::after,
html[data-intro-counter="7"] .site-intro__counter::after,
html[data-intro-counter="8"] .site-intro__counter::after,
html[data-intro-counter="9"] .site-intro__counter::after,
html[data-intro-counter="10"] .site-intro__counter::after,
html[data-intro-counter="11"] .site-intro__counter::after,
html[data-intro-counter="12"] .site-intro__counter::after,
html[data-intro-counter="13"] .site-intro__counter::after,
html[data-intro-counter="14"] .site-intro__counter::after,
html[data-intro-counter="19"] .site-intro__counter::after,
html[data-intro-counter="20"] .site-intro__counter::after { content:""; position:absolute; inset:4px; border-radius:inherit; background:var(--intro-bg); }
html[data-intro-counter="7"] .site-intro__counter i { display:block; position:absolute; z-index:2; top:-2px; left:50%; width:7px; height:7px; margin-left:-3.5px; border-radius:50%; background:currentColor; transform-origin:50% 24px; animation:ohlalaOrbit var(--intro-duration) linear forwards; }
html[data-intro-counter="8"] .site-intro__counter { width:52px; height:52px; }
html[data-intro-counter="8"] .site-intro__counter::before { content:""; position:absolute; inset:9px; border:1px solid color-mix(in srgb, currentColor 45%, transparent); border-radius:50%; animation:introSpin var(--intro-duration) linear reverse forwards; }
html[data-intro-counter="9"] .site-intro__counter { animation:ohlalaCircleEmpty var(--intro-duration) linear forwards; }
html[data-intro-counter="10"] .site-intro__counter { background:repeating-conic-gradient(currentColor 0 12deg, transparent 12deg 20deg), conic-gradient(currentColor var(--intro-progress), var(--intro-counter-track) 0deg); animation:ohlalaCircleFill var(--intro-duration) linear forwards; }
html[data-intro-counter="11"] .site-intro__counter::before { content:""; position:absolute; inset:-8px; border:1px solid currentColor; border-radius:50%; opacity:.22; animation:introBreath 1.2s ease-in-out infinite; }
html[data-intro-counter="12"] .site-intro__counter { width:36px; height:36px; }
html[data-intro-counter="13"] .site-intro__counter::before { content:""; position:absolute; left:50%; top:8px; width:1px; height:14px; background:currentColor; transform-origin:50% 14px; animation:introSpin var(--intro-duration) linear forwards; z-index:2; }
html[data-intro-counter="14"] .site-intro__counter { width:42px; height:42px; background:transparent; border:1px solid var(--intro-counter-track); animation:none; }
html[data-intro-counter="14"] .site-intro__counter b { display:block; position:absolute; inset:-1px; border-radius:50%; border:2px solid currentColor; clip-path:polygon(50% 0, 100% 0, 100% 50%, 50% 50%); animation:introSpin var(--intro-duration) linear forwards; }
html[data-intro-counter="15"] .site-intro__counter { width:min(180px,48vw); height:18px; background:repeating-linear-gradient(90deg, var(--intro-counter-track) 0 9px, transparent 9px 15px); overflow:hidden; }
html[data-intro-counter="15"] .site-intro__counter span { background:repeating-linear-gradient(90deg, currentColor 0 9px, transparent 9px 15px); }
html[data-intro-counter="16"] .site-intro__counter { width:min(190px,52vw); height:18px; background:repeating-linear-gradient(90deg, transparent 0 8px, var(--intro-counter-track) 8px 9px); overflow:hidden; }
html[data-intro-counter="16"] .site-intro__counter span { background:linear-gradient(90deg, transparent, currentColor, transparent); opacity:.8; }
html[data-intro-counter="17"] .site-intro__counter { width:min(170px,48vw); height:12px; border-radius:999px; overflow:hidden; }
html[data-intro-counter="18"] .site-intro__counter { width:20px; height:20px; border-radius:50%; background:currentColor; animation:ohlalaDotPulse var(--intro-duration) ease-out forwards; }
html[data-intro-counter="18"] .site-intro__counter span { display:none; }
html[data-intro-counter="19"] .site-intro__counter { width:52px; height:52px; filter:drop-shadow(0 0 14px color-mix(in srgb, currentColor 24%, transparent)); }
html[data-intro-counter="20"] .site-intro__counter { width:46px; height:46px; }
html[data-intro-counter="20"] .site-intro__counter::before { content:""; position:absolute; z-index:3; top:50%; left:50%; width:68px; height:1px; background:linear-gradient(90deg, transparent, currentColor, transparent); transform:translate(-50%,-50%) scaleX(0); animation:ohlalaCounterCenter var(--intro-duration) ease-out forwards; }

html.intro-exiting body > :not(.site-intro):not(script) { visibility: visible; }
html.intro-exiting .site-intro { pointer-events:none; transition: opacity var(--intro-exit-duration) cubic-bezier(.16,1,.3,1), transform var(--intro-exit-duration) cubic-bezier(.16,1,.3,1), filter var(--intro-exit-duration) cubic-bezier(.16,1,.3,1), clip-path var(--intro-exit-duration) cubic-bezier(.16,1,.3,1), visibility 0s linear var(--intro-exit-duration); }
html.intro-exiting .site-intro__motion,
html.intro-exiting .site-intro__claim,
html.intro-exiting .site-intro__counter { opacity:0; transform:translateY(-8px); transition:opacity 520ms ease, transform 680ms cubic-bezier(.16,1,.3,1); }
html.intro-exiting[data-intro-exit="1"] .site-intro { opacity:0; }
html.intro-exiting[data-intro-exit="2"] .site-intro { opacity:0; transform:scale(1.018); filter:blur(4px); }
html.intro-exiting[data-intro-exit="3"] .site-intro { opacity:0; transition-delay:.18s; }
html.intro-exiting[data-intro-exit="4"] .site-intro { opacity:.01; clip-path:inset(0 0 100% 0); }
html.intro-exiting[data-intro-exit="5"] .site-intro { opacity:.01; clip-path:circle(0% at 50% 50%); }
html.intro-exiting[data-intro-exit="6"] .site-intro { opacity:0; }
html.intro-exiting[data-intro-exit="6"] .site-intro::before { opacity:1; background:linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent); transform:translateX(120%); animation:introWipe var(--intro-exit-duration) cubic-bezier(.16,1,.3,1) forwards; }
html.intro-exiting[data-intro-exit="7"] .site-intro { opacity:0; backdrop-filter:blur(8px); }
html.intro-exiting[data-intro-exit="8"] .site-intro { opacity:0; transform:scale(.955); }
html.intro-exiting[data-intro-exit="9"] .site-intro { opacity:0; filter:blur(12px); }
html.intro-exiting[data-intro-exit="10"] .site-intro { opacity:.01; clip-path:polygon(100% 0,100% 0,0 100%,0 100%); }
html.intro-exiting[data-intro-exit="11"] .site-intro { opacity:0; transition-delay:.16s; }
html.intro-exiting[data-intro-exit="12"] .site-intro { opacity:0; }
html.intro-exiting[data-intro-exit="13"] .site-intro { opacity:0; }
html.intro-exiting[data-intro-exit="13"] .site-intro::before { opacity:1; background:radial-gradient(circle at 50% 50%, rgba(184,147,46,.3), transparent 24%); animation:introGoldTrace var(--intro-exit-duration) ease-out forwards; }
html.intro-exiting[data-intro-exit="14"] .site-intro { opacity:0; transition-duration:720ms; }
html.intro-exiting[data-intro-exit="15"] .site-intro { opacity:0; transform:translateY(18px); }
html.intro-exiting[data-intro-exit="16"] .site-intro { opacity:0; transform:translateY(-18px); }
html.intro-exiting[data-intro-exit="17"] .site-intro { opacity:0; transition-delay:.1s; }
html.intro-exiting[data-intro-exit="18"] .site-intro { opacity:0; transform:scale(1.035); }
html.intro-exiting[data-intro-exit="19"] .site-intro { opacity:0; filter:blur(7px) saturate(.86); }
html.intro-exiting[data-intro-exit="20"] .site-intro { opacity:0; transition-delay:.06s; }
html.intro-done .site-intro { display:none; }
html.intro-done .brand img { opacity:1; }

@media (max-width: 640px) {
  .site-intro__inner { width:min(92vw, 540px); }
  .site-intro__logo { max-width:72vw; }
}

@media (prefers-reduced-motion: reduce) {
  .site-intro__motion,
  .site-intro__counter,
  .site-intro__counter span,
  .site-intro__counter i,
  .site-intro__counter b,
  .site-intro__counter::before,
  .site-intro__counter::after { animation:none !important; }
}

@keyframes ohlalaCounter { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes ohlalaCounterCenter { from { transform:translateX(-50%) scaleX(0); } to { transform:translateX(-50%) scaleX(1); } }
@keyframes ohlalaCounterDot { from { left:0; } to { left:100%; } }
@keyframes ohlalaCircleFill { from { --intro-progress:0deg; } to { --intro-progress:360deg; } }
@keyframes ohlalaCircleEmpty { from { --intro-progress:0deg; } to { --intro-progress:360deg; } }
@keyframes ohlalaOrbit { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes ohlalaDotPulse { 0% { transform:scale(.6); opacity:.52; box-shadow:0 0 0 0 color-mix(in srgb,currentColor 34%,transparent); } 100% { transform:scale(1.25); opacity:0; box-shadow:0 0 0 32px transparent; } }
@keyframes introBreath { 0%,100% { transform:scale(.96); opacity:.5; } 50% { transform:scale(1.06); opacity:.88; } }
@keyframes introDrift { from { transform:translate3d(-2%,-1%,0) scale(1); } to { transform:translate3d(2%,1%,0) scale(1.06); } }
@keyframes introPulse { 0%,100% { transform:scale(.9); opacity:.35; } 50% { transform:scale(1.16); opacity:.78; } }
@keyframes introSweep { from { transform:translateX(-38%); } to { transform:translateX(38%); } }
@keyframes introGrid { from { background-position:0 0; } to { background-position:56px 56px; } }
@keyframes introHaze { 0%,100% { transform:translateY(8%); opacity:.24; } 50% { transform:translateY(-8%); opacity:.7; } }
@keyframes introGrain { 0% { transform:translate(0,0); } 100% { transform:translate(2%,1%); } }
@keyframes introSpin { to { transform:rotate(360deg); } }
@keyframes introWipe { from { transform:translateX(-120%); } to { transform:translateX(120%); } }
@keyframes introGoldTrace { 0% { transform:scale(.8); opacity:0; } 45% { opacity:.9; } 100% { transform:scale(2.5); opacity:0; } }

/* Logo start-animation lab group v3 */
.site-intro__logo {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: visible;
}
.site-intro__logo-svg {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform-origin: 50% 50%;
  will-change: transform, opacity, filter, clip-path;
}
.site-intro__logo::before,
.site-intro__logo::after,
.site-intro__logo-light {
  content: "";
  position: absolute;
  inset: -16%;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  opacity: 0;
  mix-blend-mode: screen;
  will-change: transform, opacity, filter, background-position;
}
.site-intro__logo-light { display: block; z-index: 3; }
.site-intro__meter { transform-box: fill-box; transform-origin: 50% 100%; will-change: transform, opacity; }

html[data-intro-logo="1"] .site-intro__logo::before { background: radial-gradient(circle, rgba(255,255,255,.28), transparent 58%); filter: blur(14px); animation: ohlalaLogoLightSoft 1500ms ease-out both; }
html[data-intro-logo="1"] .site-intro__logo-svg { filter: drop-shadow(0 0 10px rgba(255,255,255,.16)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="2"] .site-intro__logo::before { background: radial-gradient(circle, rgba(255,255,255,.42), transparent 58%); filter: blur(13px); animation: ohlalaLogoLightSoft 1650ms ease-out both; }
html[data-intro-logo="2"] .site-intro__logo-svg { filter: drop-shadow(0 0 16px rgba(255,255,255,.24)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="3"] .site-intro__logo::before { background: radial-gradient(circle, rgba(255,255,255,.62), transparent 60%); filter: blur(15px); animation: ohlalaLogoLightStrong 1700ms ease-out both; }
html[data-intro-logo="3"] .site-intro__logo-svg { filter: drop-shadow(0 0 24px rgba(255,255,255,.36)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="4"] .site-intro__logo::before { background: radial-gradient(circle, rgba(213,189,99,.26), transparent 58%); filter: blur(14px); animation: ohlalaLogoLightSoft 1500ms ease-out both; }
html[data-intro-logo="4"] .site-intro__logo-svg { filter: drop-shadow(0 0 12px rgba(213,189,99,.22)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="5"] .site-intro__logo::before { background: radial-gradient(circle, rgba(213,189,99,.44), transparent 60%); filter: blur(15px); animation: ohlalaLogoLightSoft 1650ms ease-out both; }
html[data-intro-logo="5"] .site-intro__logo-svg { filter: drop-shadow(0 0 18px rgba(213,189,99,.34)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="6"] .site-intro__logo::before { background: radial-gradient(circle, rgba(213,189,99,.72), transparent 62%); filter: blur(18px); animation: ohlalaLogoLightStrong 1750ms ease-out both; }
html[data-intro-logo="6"] .site-intro__logo-svg { filter: drop-shadow(0 0 26px rgba(213,189,99,.5)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="7"] .site-intro__logo::before { background: radial-gradient(circle, rgba(149,210,255,.46), transparent 60%); filter: blur(16px); animation: ohlalaLogoLightSoft 1650ms ease-out both; }
html[data-intro-logo="7"] .site-intro__logo-svg { filter: drop-shadow(0 0 20px rgba(149,210,255,.32)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="8"] .site-intro__logo::before { background: radial-gradient(circle, rgba(255,176,142,.44), transparent 60%); filter: blur(16px); animation: ohlalaLogoLightSoft 1650ms ease-out both; }
html[data-intro-logo="8"] .site-intro__logo-svg { filter: drop-shadow(0 0 20px rgba(255,176,142,.34)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="9"] .site-intro__logo::before { background: radial-gradient(circle, rgba(213,189,99,.36), transparent 58%); filter: blur(16px); animation: ohlalaLogoLightSoft 1700ms ease-out both; }
html[data-intro-logo="9"] .site-intro__logo-light { inset: 5% -35%; opacity: 0; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.68), transparent 62%); animation: ohlalaLogoSweep 1500ms cubic-bezier(.16,1,.3,1) both; }
html[data-intro-logo="10"] .site-intro__logo::before { background: radial-gradient(circle, rgba(255,255,255,.54), transparent 52%); filter: blur(10px); animation: ohlalaLogoHaloFlash 950ms ease-out both; }
html[data-intro-logo="10"] .site-intro__logo::after { background: radial-gradient(circle, transparent 38%, rgba(255,255,255,.28) 39%, transparent 60%); animation: ohlalaLogoRingFlash 1050ms ease-out both; }

html[data-intro-logo="11"] .site-intro__meter { animation: ohlalaMeterCalm 820ms ease-in-out infinite alternate; }
html[data-intro-logo="12"] .site-intro__meter { animation: ohlalaMeterKick 520ms cubic-bezier(.4,0,.2,1) infinite alternate; }
html[data-intro-logo="13"] .site-intro__meter { animation: ohlalaMeterWave 760ms ease-in-out infinite alternate; }
html[data-intro-logo="14"] .site-intro__meter { animation: ohlalaMeterCenter 720ms ease-in-out infinite alternate; }
html[data-intro-logo="15"] .site-intro__meter { animation: ohlalaMeterRandom 680ms steps(4,end) infinite alternate; }
html[data-intro-logo="16"] .site-intro__meter { animation: ohlalaMeterPeak 1200ms ease-in-out infinite; }
html[data-intro-logo="17"] .site-intro__meter { animation: ohlalaMeterSubtle 1050ms ease-in-out infinite alternate; }
html[data-intro-logo="18"] .site-intro__meter { animation: ohlalaMeterFast 360ms linear infinite alternate; }
html[data-intro-logo="19"] .site-intro__meter { animation: ohlalaMeterBounce 860ms cubic-bezier(.2,1.4,.45,1) infinite alternate; }
html[data-intro-logo="20"] .site-intro__meter { animation: ohlalaMeterFinal 2000ms ease-in-out both; }
html[data-intro-logo="11"] .site-intro__meter--2,
html[data-intro-logo="12"] .site-intro__meter--2,
html[data-intro-logo="13"] .site-intro__meter--2,
html[data-intro-logo="14"] .site-intro__meter--2,
html[data-intro-logo="15"] .site-intro__meter--2,
html[data-intro-logo="16"] .site-intro__meter--2,
html[data-intro-logo="17"] .site-intro__meter--2,
html[data-intro-logo="18"] .site-intro__meter--2,
html[data-intro-logo="19"] .site-intro__meter--2,
html[data-intro-logo="20"] .site-intro__meter--2 { animation-delay: -120ms; }
html[data-intro-logo="11"] .site-intro__meter--3,
html[data-intro-logo="12"] .site-intro__meter--3,
html[data-intro-logo="13"] .site-intro__meter--3,
html[data-intro-logo="14"] .site-intro__meter--3,
html[data-intro-logo="15"] .site-intro__meter--3,
html[data-intro-logo="16"] .site-intro__meter--3,
html[data-intro-logo="17"] .site-intro__meter--3,
html[data-intro-logo="18"] .site-intro__meter--3,
html[data-intro-logo="19"] .site-intro__meter--3,
html[data-intro-logo="20"] .site-intro__meter--3 { animation-delay: -240ms; }
html[data-intro-logo="11"] .site-intro__meter--4,
html[data-intro-logo="12"] .site-intro__meter--4,
html[data-intro-logo="13"] .site-intro__meter--4,
html[data-intro-logo="14"] .site-intro__meter--4,
html[data-intro-logo="15"] .site-intro__meter--4,
html[data-intro-logo="16"] .site-intro__meter--4,
html[data-intro-logo="17"] .site-intro__meter--4,
html[data-intro-logo="18"] .site-intro__meter--4,
html[data-intro-logo="19"] .site-intro__meter--4,
html[data-intro-logo="20"] .site-intro__meter--4 { animation-delay: -360ms; }
html[data-intro-logo="11"] .site-intro__meter--5,
html[data-intro-logo="12"] .site-intro__meter--5,
html[data-intro-logo="13"] .site-intro__meter--5,
html[data-intro-logo="14"] .site-intro__meter--5,
html[data-intro-logo="15"] .site-intro__meter--5,
html[data-intro-logo="16"] .site-intro__meter--5,
html[data-intro-logo="17"] .site-intro__meter--5,
html[data-intro-logo="18"] .site-intro__meter--5,
html[data-intro-logo="19"] .site-intro__meter--5,
html[data-intro-logo="20"] .site-intro__meter--5 { animation-delay: -480ms; }
html[data-intro-logo="11"] .site-intro__meter--6,
html[data-intro-logo="12"] .site-intro__meter--6,
html[data-intro-logo="13"] .site-intro__meter--6,
html[data-intro-logo="14"] .site-intro__meter--6,
html[data-intro-logo="15"] .site-intro__meter--6,
html[data-intro-logo="16"] .site-intro__meter--6,
html[data-intro-logo="17"] .site-intro__meter--6,
html[data-intro-logo="18"] .site-intro__meter--6,
html[data-intro-logo="19"] .site-intro__meter--6,
html[data-intro-logo="20"] .site-intro__meter--6 { animation-delay: -600ms; }
html[data-intro-logo="11"] .site-intro__meter--7,
html[data-intro-logo="12"] .site-intro__meter--7,
html[data-intro-logo="13"] .site-intro__meter--7,
html[data-intro-logo="14"] .site-intro__meter--7,
html[data-intro-logo="15"] .site-intro__meter--7,
html[data-intro-logo="16"] .site-intro__meter--7,
html[data-intro-logo="17"] .site-intro__meter--7,
html[data-intro-logo="18"] .site-intro__meter--7,
html[data-intro-logo="19"] .site-intro__meter--7,
html[data-intro-logo="20"] .site-intro__meter--7 { animation-delay: -720ms; }

html[data-intro-logo="21"] .site-intro__logo-svg { animation: ohlalaLogoArrive 980ms cubic-bezier(.16,1,.3,1) both; }
html[data-intro-logo="22"] .site-intro__logo-svg { animation: ohlalaLogoFocus 1050ms ease-out both; }
html[data-intro-logo="23"] .site-intro__logo-svg { animation: ohlalaLogoFloat 1800ms ease-in-out infinite; }
html[data-intro-logo="24"] .site-intro__logo-svg { animation: ohlalaLogoPop 760ms cubic-bezier(.2,1.24,.36,1) both; }
html[data-intro-logo="25"] .site-intro__logo-svg { animation: ohlalaLogoPush 2000ms cubic-bezier(.16,1,.3,1) both; }
html[data-intro-logo="26"] .site-intro__logo-svg { animation: ohlalaLogoRotate 1200ms cubic-bezier(.16,1,.3,1) both; }
html[data-intro-logo="27"] .site-intro__logo-svg { animation: ohlalaLogoGoldBreath 1700ms ease-in-out infinite; }
html[data-intro-logo="27"] .site-intro__logo::before { background: radial-gradient(circle, rgba(213,189,99,.24), transparent 58%); filter: blur(14px); animation: ohlalaLogoLightSoft 1700ms ease-in-out infinite alternate; }
html[data-intro-logo="28"] .site-intro__logo-svg { animation: ohlalaLogoRevealUp 1150ms cubic-bezier(.16,1,.3,1) both; }
html[data-intro-logo="29"] .site-intro__logo-svg { animation: ohlalaLogoSharpSnap 700ms cubic-bezier(.2,1.18,.36,1) both; }
html[data-intro-logo="30"] .site-intro__logo-svg { animation: ohlalaLogoLuxuryShine 1800ms ease-out both; }
html[data-intro-logo="30"] .site-intro__logo-light { inset: 12% -42%; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.42), transparent 60%); animation: ohlalaLogoSweep 1800ms ease-out both; }

@media (prefers-reduced-motion: reduce) {
  .site-intro__logo::before,
  .site-intro__logo::after,
  .site-intro__logo-light,
  .site-intro__logo-svg,
  .site-intro__meter { animation:none !important; }
}

@keyframes ohlalaLogoLightSoft { 0% { opacity:0; transform:scale(.72); } 38% { opacity:.92; } 100% { opacity:.28; transform:scale(1.08); } }
@keyframes ohlalaLogoLightStrong { 0% { opacity:0; transform:scale(.64); } 32% { opacity:1; } 100% { opacity:.36; transform:scale(1.16); } }
@keyframes ohlalaLogoSweep { 0% { opacity:0; transform:translateX(-38%) skewX(-10deg); } 20% { opacity:.7; } 100% { opacity:0; transform:translateX(38%) skewX(-10deg); } }
@keyframes ohlalaLogoHaloFlash { 0% { opacity:0; transform:scale(.62); } 35% { opacity:1; } 100% { opacity:0; transform:scale(1.42); } }
@keyframes ohlalaLogoRingFlash { 0% { opacity:0; transform:scale(.72); } 45% { opacity:.72; } 100% { opacity:0; transform:scale(1.35); } }
@keyframes ohlalaMeterCalm { 0% { transform:scaleY(.62); } 100% { transform:scaleY(1); } }
@keyframes ohlalaMeterKick { 0% { transform:scaleY(.38); } 35% { transform:scaleY(1.02); } 100% { transform:scaleY(.72); } }
@keyframes ohlalaMeterWave { 0% { transform:scaleY(.42); } 50% { transform:scaleY(1); } 100% { transform:scaleY(.58); } }
@keyframes ohlalaMeterCenter { 0% { transform:scaleY(.52); } 100% { transform:scaleY(.92); } }
@keyframes ohlalaMeterRandom { 0% { transform:scaleY(.46); } 25% { transform:scaleY(.9); } 50% { transform:scaleY(.58); } 75% { transform:scaleY(1); } 100% { transform:scaleY(.68); } }
@keyframes ohlalaMeterPeak { 0%,70% { transform:scaleY(.55); } 82% { transform:scaleY(1.08); } 100% { transform:scaleY(.7); } }
@keyframes ohlalaMeterSubtle { 0% { transform:scaleY(.82); } 100% { transform:scaleY(1); } }
@keyframes ohlalaMeterFast { 0% { transform:scaleY(.3); } 100% { transform:scaleY(1.08); } }
@keyframes ohlalaMeterBounce { 0% { transform:scaleY(.46); } 100% { transform:scaleY(1); } }
@keyframes ohlalaMeterFinal { 0% { transform:scaleY(.48); } 62% { transform:scaleY(.76); } 86% { transform:scaleY(1.08); } 100% { transform:scaleY(.92); } }
@keyframes ohlalaLogoArrive { 0% { opacity:0; transform:translateY(18px) scale(.94); } 100% { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ohlalaLogoFocus { 0% { opacity:0; filter:blur(12px); transform:scale(1.03); } 100% { opacity:1; filter:blur(0); transform:scale(1); } }
@keyframes ohlalaLogoFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes ohlalaLogoPop { 0% { opacity:0; transform:scale(.92); } 70% { opacity:1; transform:scale(1.025); } 100% { transform:scale(1); } }
@keyframes ohlalaLogoPush { 0% { opacity:.82; transform:scale(.965); } 100% { opacity:1; transform:scale(1.025); } }
@keyframes ohlalaLogoRotate { 0% { opacity:0; transform:rotate(-1.8deg) scale(.965); } 100% { opacity:1; transform:rotate(0) scale(1); } }
@keyframes ohlalaLogoGoldBreath { 0%,100% { filter:drop-shadow(0 0 8px rgba(213,189,99,.18)); transform:scale(1); } 50% { filter:drop-shadow(0 0 22px rgba(213,189,99,.34)); transform:scale(1.012); } }
@keyframes ohlalaLogoRevealUp { 0% { opacity:0; clip-path:inset(100% 0 0 0); transform:translateY(16px); } 100% { opacity:1; clip-path:inset(0 0 0 0); transform:translateY(0); } }
@keyframes ohlalaLogoSharpSnap { 0% { opacity:0; transform:scale(.985) translateY(8px); } 45% { opacity:1; transform:scale(1.018) translateY(0); } 100% { transform:scale(1); } }
@keyframes ohlalaLogoLuxuryShine { 0% { opacity:0; transform:scale(.99); } 30%,100% { opacity:1; transform:scale(1); } }

/* Intro lab v4: separated controls, non-linear dramaturgy and B+ logo light */
.site-intro__logo {
  width: var(--intro-logo-size, clamp(172px, 24vw, 286px));
  max-width: min(82vw, var(--intro-logo-max, 410px));
}

.site-intro__claim {
  opacity: 0;
  animation: ohlalaClaimFadeIn 620ms cubic-bezier(.16,1,.3,1) var(--intro-claim-delay, 900ms) both;
}

.site-intro__counter {
  opacity: 0;
  animation: ohlalaCounterAppear 420ms ease-out var(--intro-claim-delay, 900ms) both;
}

.site-intro__counter span {
  animation-duration: var(--intro-counter-duration, 3000ms);
  animation-delay: var(--intro-claim-delay, 900ms);
}

.site-intro__counter i,
.site-intro__counter b,
.site-intro__counter::before,
.site-intro__counter::after {
  animation-delay: var(--intro-claim-delay, 900ms);
}

html[data-intro-counter="6"] .site-intro__counter,
html[data-intro-counter="7"] .site-intro__counter,
html[data-intro-counter="8"] .site-intro__counter,
html[data-intro-counter="9"] .site-intro__counter,
html[data-intro-counter="10"] .site-intro__counter,
html[data-intro-counter="11"] .site-intro__counter,
html[data-intro-counter="12"] .site-intro__counter,
html[data-intro-counter="13"] .site-intro__counter,
html[data-intro-counter="14"] .site-intro__counter,
html[data-intro-counter="19"] .site-intro__counter,
html[data-intro-counter="20"] .site-intro__counter {
  animation-name: ohlalaCounterAppear, ohlalaCircleFill;
  animation-duration: 420ms, var(--intro-counter-duration, 3000ms);
  animation-delay: var(--intro-claim-delay, 900ms), var(--intro-claim-delay, 900ms);
  animation-fill-mode: both, forwards;
  animation-timing-function: ease-out, linear;
}
html[data-intro-counter="9"] .site-intro__counter { animation-name: ohlalaCounterAppear, ohlalaCircleEmpty; }

html[data-intro-logo-size="1"] .site-intro { --intro-logo-size:clamp(172px,24vw,286px); }
html[data-intro-logo-size="2"] .site-intro { --intro-logo-size:clamp(181px,25.2vw,300px); }
html[data-intro-logo-size="3"] .site-intro { --intro-logo-size:clamp(189px,26.4vw,315px); }
html[data-intro-logo-size="4"] .site-intro { --intro-logo-size:clamp(198px,27.6vw,329px); }
html[data-intro-logo-size="5"] .site-intro { --intro-logo-size:clamp(206px,28.8vw,343px); }
html[data-intro-logo-size="6"] .site-intro { --intro-logo-size:clamp(215px,30vw,358px); }
html[data-intro-logo-size="7"] .site-intro { --intro-logo-size:clamp(224px,31.2vw,372px); }
html[data-intro-logo-size="8"] .site-intro { --intro-logo-size:clamp(232px,32.4vw,386px); }
html[data-intro-logo-size="9"] .site-intro { --intro-logo-size:clamp(241px,33.6vw,400px); }
html[data-intro-logo-size="10"] .site-intro { --intro-logo-size:clamp(249px,34.8vw,415px); }

html[data-intro-claim-font="1"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; }
html[data-intro-claim-font="2"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-spacing:.005em; }
html[data-intro-claim-font="3"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-line:1.35; }
html[data-intro-claim-font="4"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-spacing:.018em; }
html[data-intro-claim-font="5"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-size:clamp(1.45rem,3vw,2.15rem); }
html[data-intro-claim-font="6"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-size:clamp(1.18rem,2.45vw,1.72rem); }
html[data-intro-claim-font="7"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:400; --intro-claim-size:clamp(1.2rem,2.6vw,1.82rem); }
html[data-intro-claim-font="8"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:400; --intro-claim-size:clamp(1.2rem,2.55vw,1.78rem); }
html[data-intro-claim-font="9"] .site-intro { --intro-claim-font: 'Special Elite', 'Courier New', monospace; --intro-claim-weight:400; --intro-claim-size:clamp(.98rem,1.85vw,1.22rem); --intro-claim-line:1.45; }
html[data-intro-claim-font="10"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-size:clamp(1rem,1.9vw,1.28rem); }
html[data-intro-claim-font="11"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:400; --intro-claim-size:clamp(.96rem,1.75vw,1.2rem); }
html[data-intro-claim-font="12"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:500; --intro-claim-size:clamp(.98rem,1.8vw,1.22rem); }
html[data-intro-claim-font="13"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-size:clamp(1.18rem,2.55vw,1.84rem); }
html[data-intro-claim-font="14"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-size:clamp(1.08rem,2.2vw,1.5rem); }
html[data-intro-claim-font="15"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-size:clamp(1.65rem,3.5vw,2.45rem); }
html[data-intro-claim-font="16"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-size:clamp(1.34rem,2.9vw,2.02rem); }
html[data-intro-claim-font="17"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:700; --intro-claim-transform:uppercase; --intro-claim-spacing:.06em; }
html[data-intro-claim-font="18"] .site-intro { --intro-claim-font: var(--font-body, Inter, ui-sans-serif, system-ui, sans-serif); --intro-claim-weight:400; --intro-claim-size:clamp(.82rem,1.35vw,1rem); --intro-claim-spacing:.12em; --intro-claim-transform:uppercase; }
html[data-intro-claim-font="19"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-spacing:.04em; }
html[data-intro-claim-font="20"] .site-intro { --intro-claim-font: var(--font-display, Georgia, serif); --intro-claim-weight:400; --intro-claim-size:clamp(1.08rem,2.25vw,1.58rem); }

html[data-intro-claim-color="1"] .site-intro { --intro-claim:rgba(255,255,255,.82); --intro-counter-fill:rgba(255,255,255,.86); }
html[data-intro-claim-color="2"] .site-intro { --intro-claim:#fff; --intro-counter-fill:#fff; --intro-claim-shadow:0 14px 42px rgba(0,0,0,.28); }
html[data-intro-claim-color="3"] .site-intro { --intro-claim:#d5bd63; --intro-counter-fill:#d5bd63; }
html[data-intro-claim-color="4"] .site-intro { --intro-claim:#b8932e; --intro-counter-fill:#b8932e; }
html[data-intro-claim-color="5"] .site-intro { --intro-claim:rgba(237,242,243,.68); --intro-counter-fill:rgba(237,242,243,.78); }
html[data-intro-claim-color="6"] .site-intro { --intro-claim:#16212a; --intro-counter-fill:#16212a; --intro-counter-track:rgba(22,33,42,.16); }
html[data-intro-claim-color="7"] .site-intro { --intro-claim:#55636d; --intro-counter-fill:#55636d; }
html[data-intro-claim-color="8"] .site-intro { --intro-claim:#ffb08e; --intro-counter-fill:#ffb08e; }
html[data-intro-claim-color="9"] .site-intro { --intro-claim:#95d2ff; --intro-counter-fill:#95d2ff; }
html[data-intro-claim-color="10"] .site-intro { --intro-claim:#edf2f3; --intro-counter-fill:#edf2f3; }

html[data-intro-claim-size="1"] .site-intro { --intro-claim-scale:1; }
html[data-intro-claim-size="2"] .site-intro { --intro-claim-scale:1.04; }
html[data-intro-claim-size="3"] .site-intro { --intro-claim-scale:1.08; }
html[data-intro-claim-size="4"] .site-intro { --intro-claim-scale:1.12; }
html[data-intro-claim-size="5"] .site-intro { --intro-claim-scale:1.16; }
html[data-intro-claim-size="6"] .site-intro { --intro-claim-scale:1.20; }
html[data-intro-claim-size="7"] .site-intro { --intro-claim-scale:1.24; }
html[data-intro-claim-size="8"] .site-intro { --intro-claim-scale:1.28; }
html[data-intro-claim-size="9"] .site-intro { --intro-claim-scale:1.32; }
html[data-intro-claim-size="10"] .site-intro { --intro-claim-scale:1.36; }
.site-intro__claim { font-size: calc(var(--intro-claim-size, clamp(1.05rem, 2.1vw, 1.45rem)) * var(--intro-claim-scale, 1)); }

html[data-intro-claim-space="1"] .site-intro { --intro-claim-gap:clamp(24px,4vw,44px); --intro-counter-gap:clamp(22px,3vw,30px); }
html[data-intro-claim-space="2"] .site-intro { --intro-claim-gap:clamp(16px,2.6vw,28px); --intro-counter-gap:clamp(18px,2.4vw,24px); }
html[data-intro-claim-space="3"] .site-intro { --intro-claim-gap:clamp(34px,5vw,62px); --intro-counter-gap:clamp(26px,3.6vw,38px); }
html[data-intro-claim-space="4"] .site-intro { --intro-claim-gap:clamp(24px,4vw,44px); --intro-counter-gap:clamp(12px,1.9vw,18px); }
html[data-intro-claim-space="5"] .site-intro { --intro-claim-gap:clamp(24px,4vw,44px); --intro-counter-gap:clamp(34px,4.4vw,54px); }
html[data-intro-claim-space="6"] .site-intro { --intro-claim-gap:clamp(44px,6.2vw,78px); --intro-counter-gap:clamp(24px,3.3vw,34px); }
html[data-intro-claim-space="7"] .site-intro { --intro-claim-gap:clamp(12px,2vw,22px); --intro-counter-gap:clamp(12px,2vw,20px); }
html[data-intro-claim-space="8"] .site-intro { --intro-claim-gap:clamp(48px,7vw,88px); --intro-counter-gap:clamp(38px,5vw,62px); }
html[data-intro-claim-space="9"] .site-intro { --intro-claim-gap:clamp(14px,3vw,26px); --intro-counter-gap:clamp(14px,2.4vw,22px); }
html[data-intro-claim-space="10"] .site-intro { --intro-claim-gap:clamp(30px,4.6vw,52px); --intro-counter-gap:clamp(22px,3vw,32px); }

html[data-intro-text-anim="1"] .site-intro__claim { animation-name: ohlalaClaimFadeIn; }
html[data-intro-text-anim="2"] .site-intro__claim { animation-name: ohlalaClaimTypeClassic; animation-timing-function: steps(42,end); overflow:hidden; white-space:nowrap; }
html[data-intro-text-anim="2"] .site-intro__claim::after { content:""; display:inline-block; width:.08em; height:1em; margin-left:.18em; background:currentColor; vertical-align:-.14em; animation: ohlalaCursorBlink 720ms steps(1,end) var(--intro-claim-delay,900ms) 5; }
html[data-intro-text-anim="3"] .site-intro__claim { animation-name: ohlalaClaimMechanical; }
html[data-intro-text-anim="4"] .site-intro__claim { animation-name: ohlalaClaimWord; }
html[data-intro-text-anim="5"] .site-intro__claim { animation-name: ohlalaClaimCursorSweep; }
html[data-intro-text-anim="6"] .site-intro__claim { animation-name: ohlalaClaimHandwrite; }
html[data-intro-text-anim="7"] .site-intro__claim { animation-name: ohlalaClaimTerminal; }
html[data-intro-text-anim="8"] .site-intro__claim { animation-name: ohlalaClaimInk; }
html[data-intro-text-anim="9"] .site-intro__claim { animation-name: ohlalaClaimKeyGlow; }
html[data-intro-text-anim="10"] .site-intro__claim { animation-name: ohlalaClaimFadeIn; }

/* B+ Edge-Ray: glow and rays are derived from the logo silhouette through stacked SVG drop-shadows plus masked ray layers. */
html[data-intro-logo="1"] .site-intro__logo-svg { filter: drop-shadow(0 0 3px rgba(255,255,255,.38)) drop-shadow(0 0 14px rgba(255,255,255,.22)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="2"] .site-intro__logo-svg { filter: drop-shadow(0 0 4px rgba(255,255,255,.52)) drop-shadow(0 0 22px rgba(255,255,255,.34)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="3"] .site-intro__logo-svg { filter: drop-shadow(0 0 5px rgba(255,255,255,.78)) drop-shadow(0 0 34px rgba(255,255,255,.48)) drop-shadow(0 30px 86px rgba(0,0,0,.32)); }
html[data-intro-logo="4"] .site-intro__logo-svg { filter: drop-shadow(0 0 3px rgba(213,189,99,.42)) drop-shadow(0 0 16px rgba(213,189,99,.22)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="5"] .site-intro__logo-svg { filter: drop-shadow(0 0 4px rgba(213,189,99,.58)) drop-shadow(0 0 26px rgba(213,189,99,.36)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="6"] .site-intro__logo-svg { filter: drop-shadow(0 0 5px rgba(213,189,99,.82)) drop-shadow(0 0 42px rgba(213,189,99,.54)) drop-shadow(0 30px 86px rgba(0,0,0,.32)); }
html[data-intro-logo="7"] .site-intro__logo-svg { filter: drop-shadow(0 0 4px rgba(149,210,255,.68)) drop-shadow(0 0 30px rgba(149,210,255,.42)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="8"] .site-intro__logo-svg { filter: drop-shadow(0 0 4px rgba(255,176,142,.68)) drop-shadow(0 0 30px rgba(255,176,142,.42)) drop-shadow(0 28px 78px rgba(0,0,0,.28)); }
html[data-intro-logo="1"] .site-intro__logo::after,
html[data-intro-logo="2"] .site-intro__logo::after,
html[data-intro-logo="3"] .site-intro__logo::after,
html[data-intro-logo="4"] .site-intro__logo::after,
html[data-intro-logo="5"] .site-intro__logo::after,
html[data-intro-logo="6"] .site-intro__logo::after,
html[data-intro-logo="7"] .site-intro__logo::after,
html[data-intro-logo="8"] .site-intro__logo::after,
html[data-intro-logo="9"] .site-intro__logo::after,
html[data-intro-logo="10"] .site-intro__logo::after {
  background: conic-gradient(from 215deg at 50% 50%, transparent 0 17deg, rgba(255,255,255,.22) 23deg 27deg, transparent 33deg 58deg, rgba(213,189,99,.16) 64deg 69deg, transparent 74deg 360deg);
  filter: blur(9px);
  mix-blend-mode: screen;
  transform: scale(1.28);
  opacity:.42;
  animation: ohlalaEdgeRays var(--intro-total-duration,5000ms) ease-out both;
}
html[data-intro-logo="6"] .site-intro__logo::after { opacity:.74; filter:blur(11px); }
html[data-intro-logo="7"] .site-intro__logo::after { opacity:.56; background: conic-gradient(from 215deg at 50% 50%, transparent 0 17deg, rgba(149,210,255,.28) 23deg 27deg, transparent 33deg 58deg, rgba(255,255,255,.16) 64deg 69deg, transparent 74deg 360deg); }
html[data-intro-logo="8"] .site-intro__logo::after { opacity:.56; background: conic-gradient(from 215deg at 50% 50%, transparent 0 17deg, rgba(255,176,142,.3) 23deg 27deg, transparent 33deg 58deg, rgba(255,255,255,.14) 64deg 69deg, transparent 74deg 360deg); }

html[data-intro-duration="4"] .site-intro { --intro-duration-label: 4s; }
html[data-intro-duration="5"] .site-intro { --intro-duration-label: 5s; }
html[data-intro-duration="6"] .site-intro { --intro-duration-label: 6s; }

@keyframes ohlalaClaimFadeIn { from { opacity:0; transform:translateY(12px); filter:blur(4px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
@keyframes ohlalaCounterAppear { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes ohlalaClaimTypeClassic { from { opacity:1; max-width:0; } to { opacity:1; max-width:var(--intro-claim-max, min(760px,86vw)); } }
@keyframes ohlalaCursorBlink { 0%,49%{opacity:1} 50%,100%{opacity:0} }
@keyframes ohlalaClaimMechanical { 0%{opacity:0; transform:translateY(6px) scale(.99)} 35%{opacity:1; transform:translateY(-1px) scale(1.006)} 52%{transform:translateY(1px) scale(.998)} 100%{opacity:1; transform:translateY(0) scale(1)} }
@keyframes ohlalaClaimWord { 0%{opacity:0; word-spacing:.6em; filter:blur(5px)} 100%{opacity:1; word-spacing:normal; filter:blur(0)} }
@keyframes ohlalaClaimCursorSweep { 0%{opacity:0; clip-path:inset(0 100% 0 0)} 100%{opacity:1; clip-path:inset(0 0 0 0)} }
@keyframes ohlalaClaimHandwrite { 0%{opacity:0; transform:translateX(-10px) rotate(-.4deg); clip-path:inset(0 100% 0 0)} 100%{opacity:1; transform:translateX(0) rotate(0); clip-path:inset(0 0 0 0)} }
@keyframes ohlalaClaimTerminal { 0%{opacity:0; transform:translateY(5px); letter-spacing:.16em;} 100%{opacity:1; transform:translateY(0); letter-spacing:var(--intro-claim-spacing,-.01em);} }
@keyframes ohlalaClaimInk { 0%{opacity:0; filter:blur(8px) contrast(1.4)} 100%{opacity:1; filter:blur(0) contrast(1)} }
@keyframes ohlalaClaimKeyGlow { 0%{opacity:0; text-shadow:0 0 0 transparent} 55%{opacity:1; text-shadow:0 0 18px currentColor} 100%{opacity:1; text-shadow:var(--intro-claim-shadow, none)} }
@keyframes ohlalaEdgeRays { 0% { opacity:0; transform:scale(.85) rotate(-8deg); } 28% { opacity:.72; } 100% { opacity:.16; transform:scale(1.42) rotate(0deg); } }

/* Intro lab v5 refinements */
html[data-intro-bg="3"] .site-intro {
  --intro-bg:
    radial-gradient(ellipse 520px 360px at 73% 19%, rgba(213,189,99,.22) 0%, rgba(184,147,46,.13) 32%, rgba(184,147,46,.055) 54%, transparent 76%),
    radial-gradient(ellipse 760px 500px at 36% 66%, rgba(237,242,243,.06) 0%, transparent 68%),
    linear-gradient(135deg, #111b22 0%, #1d2d37 58%, #10181e 100%);
}
html[data-intro-bg="3"] .site-intro::after { box-shadow: inset 0 0 140px rgba(0,0,0,.22); }

html[data-intro-fx="31"] .site-intro__motion {
  background:
    radial-gradient(circle at 20% 30%, rgba(85,99,109,.52), transparent 24%),
    radial-gradient(circle at 80% 70%, rgba(184,147,46,.34), transparent 31%),
    repeating-radial-gradient(circle at 42% 48%, rgba(255,255,255,.08) 0 1px, transparent 1px 4px);
  opacity: .56;
  filter: blur(16px);
  animation: introDrift 5.6s ease-in-out infinite alternate, introGrain 1.2s steps(2) infinite;
}

html[data-intro-logo="21"] .site-intro__logo-svg {
  animation: ohlalaLogoFocus 1050ms ease-out both;
  filter: drop-shadow(0 0 4px rgba(213,189,99,.48)) drop-shadow(0 0 22px rgba(213,189,99,.32)) drop-shadow(0 28px 78px rgba(0,0,0,.28));
}
html[data-intro-logo="21"] .site-intro__meter {
  animation: ohlalaMeterSubtle 1050ms ease-in-out infinite alternate;
  transform-origin: 50% 100%;
}
html[data-intro-logo="21"] .site-intro__meter--2 { animation-delay: -120ms; }
html[data-intro-logo="21"] .site-intro__meter--3 { animation-delay: -240ms; }
html[data-intro-logo="21"] .site-intro__meter--4 { animation-delay: -360ms; }
html[data-intro-logo="21"] .site-intro__meter--5 { animation-delay: -480ms; }
html[data-intro-logo="21"] .site-intro__meter--6 { animation-delay: -600ms; }
html[data-intro-logo="21"] .site-intro__meter--7 { animation-delay: -720ms; }
html[data-intro-logo="21"] .site-intro__logo::after {
  background: conic-gradient(from 220deg at 50% 50%, transparent 0 18deg, rgba(213,189,99,.2) 23deg 28deg, transparent 33deg 360deg);
  filter: blur(9px);
  mix-blend-mode: screen;
  transform: scale(1.22);
  opacity: .38;
  animation: ohlalaEdgeRays var(--intro-total-duration,5000ms) ease-out both;
}

/* Robust circle counters: avoid browser-dependent animated custom-property rings. */
html[data-intro-counter="6"] .site-intro__counter,
html[data-intro-counter="7"] .site-intro__counter,
html[data-intro-counter="8"] .site-intro__counter,
html[data-intro-counter="9"] .site-intro__counter,
html[data-intro-counter="10"] .site-intro__counter,
html[data-intro-counter="11"] .site-intro__counter,
html[data-intro-counter="12"] .site-intro__counter,
html[data-intro-counter="13"] .site-intro__counter,
html[data-intro-counter="14"] .site-intro__counter,
html[data-intro-counter="19"] .site-intro__counter,
html[data-intro-counter="20"] .site-intro__counter {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--intro-counter-track, rgba(255,255,255,.24));
  overflow: visible;
  animation: ohlalaCounterAppear 420ms ease-out var(--intro-claim-delay,900ms) both;
}
html[data-intro-counter="6"] .site-intro__counter span,
html[data-intro-counter="7"] .site-intro__counter span,
html[data-intro-counter="8"] .site-intro__counter span,
html[data-intro-counter="9"] .site-intro__counter span,
html[data-intro-counter="10"] .site-intro__counter span,
html[data-intro-counter="11"] .site-intro__counter span,
html[data-intro-counter="12"] .site-intro__counter span,
html[data-intro-counter="13"] .site-intro__counter span,
html[data-intro-counter="14"] .site-intro__counter span,
html[data-intro-counter="19"] .site-intro__counter span,
html[data-intro-counter="20"] .site-intro__counter span {
  display: block;
  inset: -2px;
  width: auto;
  height: auto;
  border-radius: 50%;
  background: transparent;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-right-color: currentColor;
  transform: none;
  transform-origin: 50% 50%;
  animation: introSpin var(--intro-counter-duration,3000ms) linear var(--intro-claim-delay,900ms) forwards;
}
html[data-intro-counter="7"] .site-intro__counter i {
  display:block; position:absolute; z-index:2; top:-4px; left:50%; width:7px; height:7px; margin-left:-3.5px; border-radius:50%; background:currentColor; transform-origin:50% 27px; animation:ohlalaOrbit var(--intro-counter-duration,3000ms) linear var(--intro-claim-delay,900ms) forwards;
}
html[data-intro-counter="8"] .site-intro__counter { width:54px; height:54px; }
html[data-intro-counter="8"] .site-intro__counter::before { content:""; position:absolute; inset:9px; border:1px solid color-mix(in srgb, currentColor 42%, transparent); border-radius:50%; animation:introSpin var(--intro-counter-duration,3000ms) linear reverse var(--intro-claim-delay,900ms) forwards; }
html[data-intro-counter="9"] .site-intro__counter span { animation-direction: reverse; }
html[data-intro-counter="10"] .site-intro__counter { border-style:dashed; }
html[data-intro-counter="10"] .site-intro__counter span { border-right-color:transparent; }
html[data-intro-counter="11"] .site-intro__counter::before { content:""; position:absolute; inset:-8px; border:1px solid currentColor; border-radius:50%; opacity:.22; animation:introBreath 1.2s ease-in-out infinite; }
html[data-intro-counter="12"] .site-intro__counter { width:36px; height:36px; }
html[data-intro-counter="13"] .site-intro__counter::before { content:""; position:absolute; left:50%; top:8px; width:1px; height:14px; background:currentColor; transform-origin:50% 14px; animation:introSpin var(--intro-counter-duration,3000ms) linear var(--intro-claim-delay,900ms) forwards; z-index:2; }
html[data-intro-counter="14"] .site-intro__counter b { display:block; position:absolute; inset:-1px; border-radius:50%; border:2px solid currentColor; clip-path:polygon(50% 0,100% 0,100% 50%,50% 50%); animation:introSpin var(--intro-counter-duration,3000ms) linear var(--intro-claim-delay,900ms) forwards; }
html[data-intro-counter="19"] .site-intro__counter { width:52px; height:52px; filter:drop-shadow(0 0 14px color-mix(in srgb, currentColor 24%, transparent)); }
html[data-intro-counter="20"] .site-intro__counter::before { content:""; position:absolute; z-index:3; top:50%; left:50%; width:68px; height:1px; background:linear-gradient(90deg, transparent, currentColor, transparent); transform:translate(-50%,-50%) scaleX(0); animation:ohlalaCounterCenter var(--intro-counter-duration,3000ms) ease-out var(--intro-claim-delay,900ms) forwards; }

html.intro-pending,
html.intro-running,
html.intro-exiting,
html.intro-done,
html.intro-pending body,
html.intro-running body,
html.intro-exiting body,
html.intro-done body { background:#fff; }
html.intro-exiting .site-intro { background-color: transparent; }
html.intro-exiting[data-intro-exit="1"] .site-intro,
html.intro-exiting[data-intro-exit="2"] .site-intro,
html.intro-exiting[data-intro-exit="3"] .site-intro,
html.intro-exiting[data-intro-exit="6"] .site-intro,
html.intro-exiting[data-intro-exit="7"] .site-intro,
html.intro-exiting[data-intro-exit="8"] .site-intro,
html.intro-exiting[data-intro-exit="9"] .site-intro,
html.intro-exiting[data-intro-exit="11"] .site-intro,
html.intro-exiting[data-intro-exit="12"] .site-intro,
html.intro-exiting[data-intro-exit="13"] .site-intro,
html.intro-exiting[data-intro-exit="14"] .site-intro,
html.intro-exiting[data-intro-exit="15"] .site-intro,
html.intro-exiting[data-intro-exit="16"] .site-intro,
html.intro-exiting[data-intro-exit="17"] .site-intro,
html.intro-exiting[data-intro-exit="18"] .site-intro,
html.intro-exiting[data-intro-exit="19"] .site-intro,
html.intro-exiting[data-intro-exit="20"] .site-intro { opacity:0; }

.site-intro__mobile-break { display:none; }
@media (max-width: 640px) {
  .site-intro__mobile-break { display:block; }
  html[data-intro-text-anim="2"] .site-intro__claim { white-space:normal; }
}

/* Additional fx slots so every lab option from 21 to 31 has an actual visual effect. */
html[data-intro-fx="21"] .site-intro__motion { background: radial-gradient(circle at 20% 30%, rgba(85,99,109,.42), transparent 24%), radial-gradient(circle at 80% 70%, rgba(184,147,46,.24), transparent 32%); filter: blur(22px); opacity:.5; animation:introDrift 7s ease-in-out infinite alternate; }
html[data-intro-fx="22"] .site-intro__motion { background: radial-gradient(circle at 22% 28%, rgba(213,189,99,.34), transparent 25%), radial-gradient(circle at 78% 72%, rgba(237,242,243,.14), transparent 31%); filter: blur(18px); animation:introDrift 5.4s ease-in-out infinite alternate; }
html[data-intro-fx="23"] .site-intro__motion { background: radial-gradient(circle at 18% 32%, rgba(85,99,109,.38), transparent 23%), radial-gradient(circle at 76% 68%, rgba(184,147,46,.24), transparent 29%); filter: blur(26px) saturate(.85); opacity:.62; animation:introDrift 6.2s ease-in-out infinite alternate; }
html[data-intro-fx="24"] .site-intro__motion { background: repeating-radial-gradient(circle at 28% 22%, rgba(255,255,255,.07) 0 1px, transparent 1px 5px); opacity:.22; animation:introGrain 1.4s steps(2) infinite; }
html[data-intro-fx="25"] .site-intro__motion { background: radial-gradient(circle at 72% 24%, rgba(184,147,46,.24), transparent 30%), repeating-radial-gradient(circle at 35% 45%, rgba(255,255,255,.08) 0 1px, transparent 1px 5px); opacity:.34; animation:introGrain 1.4s steps(2) infinite, introBreath 5.8s ease-in-out infinite; }
html[data-intro-fx="26"] .site-intro__motion { background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.16), transparent 32%), repeating-radial-gradient(circle at 20% 20%, rgba(255,255,255,.08) 0 1px, transparent 1px 4px); opacity:.38; animation:introPulse 3s ease-in-out infinite, introGrain 1.2s steps(2) infinite; }
html[data-intro-fx="27"] .site-intro__motion { background: radial-gradient(ellipse at center, rgba(255,255,255,.25), transparent 30%), repeating-radial-gradient(circle at 50% 50%, rgba(255,255,255,.075) 0 1px, transparent 1px 4px); opacity:.42; animation:introBreath 4.4s ease-in-out infinite, introGrain 1.4s steps(2) infinite; }
html[data-intro-fx="28"] .site-intro__motion { background: linear-gradient(180deg, transparent, rgba(255,255,255,.15), transparent), repeating-radial-gradient(circle at 22% 20%, rgba(255,255,255,.07) 0 1px, transparent 1px 4px); filter:blur(18px); opacity:.48; animation:introHaze 5s ease-in-out infinite, introGrain 1.5s steps(2) infinite; }
html[data-intro-fx="29"] .site-intro__motion { background: repeating-linear-gradient(0deg, transparent 0 16px, rgba(255,255,255,.08) 18px 19px), repeating-radial-gradient(circle at 20% 20%, rgba(255,255,255,.05) 0 1px, transparent 1px 4px); opacity:.42; animation:introGrid 6s linear infinite, introGrain 1.3s steps(2) infinite; }
html[data-intro-fx="30"] .site-intro__motion { background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.11), transparent 30%), repeating-radial-gradient(circle at 20% 20%, rgba(255,255,255,.045) 0 1px, transparent 1px 5px); opacity:.28; animation:introBreath 9s ease-in-out infinite, introGrain 1.8s steps(2) infinite; }

/* Launch fix v11: fade-only intro exit. */
html.intro-pending .site-intro,
html.intro-pending .site-intro::before,
html.intro-pending .site-intro::after,
html.intro-pending .site-intro *,
html.intro-pending .site-intro *::before,
html.intro-pending .site-intro *::after {
  animation-play-state: paused !important;
}
html.intro-pending .site-intro__inner {
  visibility: hidden !important;
}

/* Never reveal the intro claim before the Special Elite webfont is actually available.
   This prevents a visible fallback-font flash while keeping the background/logo start fast. */
html.intro-running:not(.intro-font-ready) .site-intro__claim,
html.intro-running:not(.intro-font-ready) .site-intro__claim *,
html.intro-running:not(.intro-font-ready) .site-intro__claim::after {
  visibility: hidden !important;
  opacity: 0 !important;
}
html.intro-running.intro-font-ready .site-intro__claim,
html.intro-running.intro-font-ready .site-intro__claim * {
  visibility: visible;
}
html.intro-running .site-intro,
html.intro-exiting .site-intro {
  display: grid !important;
  opacity: 1;
  visibility: visible;
}
html.intro-running .site-intro__inner,
html.intro-exiting .site-intro__inner {
  visibility: visible !important;
}
html.intro-exiting .site-intro,
html.intro-exiting[data-intro-exit="7"] .site-intro {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  transition: opacity 180ms ease, visibility 0s linear 180ms !important;
}
html.intro-exiting .site-intro__inner,
html.intro-exiting .site-intro__logo,
html.intro-exiting .site-intro__motion,
html.intro-exiting .site-intro__claim,
html.intro-exiting .site-intro__counter {
  opacity: 0 !important;
  transform: none !important;
  transition: opacity 160ms ease !important;
}
html.intro-skip .site-intro,
html.intro-done .site-intro,
.site-intro[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html.intro-done,
html.intro-done body,
html.intro-exiting,
html.intro-exiting body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
  touch-action: auto !important;
  pointer-events: auto !important;
}
html.intro-done body > :not(script),
html.intro-exiting body > :not(script) {
  visibility: visible !important;
  pointer-events: auto !important;
}


/* v18 mobile intro stability: keep the typewriter effect without viewport-dependent line wraps. */
.site-intro__claim-line {
  display: inline-block;
}
.site-intro__desktop-space {
  display: inline;
}

@media (max-width: 640px) {
  .site-intro__claim {
    width: min(340px, 88vw);
    max-width: 88vw;
    overflow: visible !important;
    white-space: normal !important;
    text-align: center;
  }

  .site-intro__claim-line {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-inline: auto;
    white-space: nowrap;
  }

  .site-intro__desktop-space,
  .site-intro__mobile-break {
    display: none !important;
  }

  html[data-intro-text-anim="2"] .site-intro__claim {
    animation: none !important;
    overflow: visible !important;
  }

  html[data-intro-text-anim="2"] .site-intro__claim::after {
    content: none !important;
    display: none !important;
  }

  html[data-intro-text-anim="2"] .site-intro__claim-line {
    box-sizing: content-box;
    overflow: hidden;
    max-width: 0;
    border-right: .08em solid transparent;
  }

  html.intro-running.intro-font-ready[data-intro-text-anim="2"] .site-intro__claim-line--1 {
    animation: ohlalaMobileTypeLine1 980ms steps(24, end) var(--intro-claim-delay, 1080ms) forwards,
               ohlalaMobileTypeCursor 720ms steps(1, end) var(--intro-claim-delay, 1080ms) 2;
  }

  html.intro-running.intro-font-ready[data-intro-text-anim="2"] .site-intro__claim-line--2 {
    animation: ohlalaMobileTypeLine2 1120ms steps(28, end) calc(var(--intro-claim-delay, 1080ms) + 980ms) forwards,
               ohlalaMobileTypeCursor 720ms steps(1, end) calc(var(--intro-claim-delay, 1080ms) + 980ms) 3;
  }
}

@keyframes ohlalaMobileTypeLine1 {
  from { max-width: 0; }
  to { max-width: 24ch; }
}

@keyframes ohlalaMobileTypeLine2 {
  from { max-width: 0; }
  to { max-width: 29ch; }
}

@keyframes ohlalaMobileTypeCursor {
  0%, 49% { border-right-color: currentColor; }
  50%, 100% { border-right-color: transparent; }
}

/* v19: Mobile typewriter is driven by intro.js, not by width/clip CSS.
   This is more stable on iOS Safari and Firefox responsive viewports. */
@media (max-width: 640px) {
  html[data-intro-text-anim="2"] .site-intro__claim {
    animation: none !important;
    opacity: 1;
    overflow: visible !important;
    white-space: normal !important;
  }

  html[data-intro-text-anim="2"] .site-intro__claim::after {
    content: none !important;
    display: none !important;
  }

  html[data-intro-text-anim="2"] .site-intro__claim-line {
    position: relative !important;
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
    clip-path: none !important;
    max-inline-size: none !important;
    border-right: 0 !important;
    animation: none !important;
    will-change: contents;
  }

  html[data-intro-text-anim="2"] .site-intro__claim-line::after {
    content: "";
    display: inline-block;
    width: .08em;
    height: .96em;
    margin-left: .16em;
    background: currentColor;
    vertical-align: -.12em;
    opacity: 0;
  }

  html[data-intro-text-anim="2"] .site-intro__claim[data-active-line="1"] .site-intro__claim-line--1::after,
  html[data-intro-text-anim="2"] .site-intro__claim[data-active-line="2"] .site-intro__claim-line--2::after {
    opacity: 1;
    animation: ohlalaCursorBlink 720ms steps(1,end) infinite;
  }

  html[data-intro-text-anim="2"] .site-intro__claim[data-mobile-typewriter="done"] .site-intro__claim-line--2::after {
    opacity: 1;
    animation: ohlalaCursorBlink 720ms steps(1,end) 2;
  }
}
