/* ==========================================================================
   Likewise Group PLC — homepage concept
   --------------------------------------------------------------------------
   Desktop (≥1024px): 1rem = 10 design px at 1440 wide, scaling with the viewport.
   Below 1024px: 1rem = 10px and sections stack.
   Motion initial states are set by main.js (never CSS transforms GSAP animates).
   ========================================================================== */

@font-face { font-family: "Geist"; src: url("../fonts/Geist-Variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/GeistMono-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
	--ink: #0d1922;
	--ink-2: #142632;
	--paper: #efeeeb;
	--orange: #eb6109;
	--orange-2: #ce5408;
	--text: #1a2229;
	--muted: #6b7178;
	--line: rgba(13, 25, 34, .14);
	--line-d: rgba(255, 255, 255, .16);
	--r: 1.6rem;
	--r-l: 2.4rem;
	--gut: 6rem;
	--angle-drop: 9.5rem; /* 3.767° across 1440 */
	--ease: cubic-bezier(.16, 1, .3, 1);
	--font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

html { font-size: 10px; -webkit-text-size-adjust: 100%; }
@media (min-width: 1024px) { html { font-size: min(calc(100vw / 144), 13.4px); } }

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--text); font-family: var(--font); font-size: max(1.6rem, 14px); line-height: 1.55; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, h4, p { margin: 0; }
p, li { text-wrap: pretty; } /* no widows site-wide */
h1, h2, h3 { text-wrap: balance; }
svg { display: block; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
::selection { background: var(--orange); color: #fff; }

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

.wrap { width: 100%; max-width: 144rem; margin: 0 auto; padding: 0 var(--gut); }
.wrap-wide { padding: 0 1.2rem; }
.mono { font-family: var(--mono); font-weight: 500; letter-spacing: .02em; text-transform: uppercase; font-size: max(1.15rem, 11px); }
.up { color: #3ccf8e; }

/* Masked lines */
.ln { display: block; overflow: hidden; padding-bottom: .1em; margin-bottom: -.1em; }
.ln__in { display: inline-block; }

/* Hide reveal targets until main.js has set their start state */
.js [data-reveal], .js [data-hero-chip], .js [data-hero-title], .js [data-hero-fade], .js [data-hero-float], .js .site-header, .js .topbar__in { visibility: hidden; }

/* ------------------------------------------------------------------ Type */
.h2 { font-size: 5.6rem; line-height: 1.02; letter-spacing: -.035em; font-weight: 500; color: var(--ink); }
.h2--center { text-align: center; }
.display { font-size: 10rem; line-height: .94; letter-spacing: -.045em; font-weight: 500; color: #fff; }
.lead { font-size: max(2.1rem, 17px); line-height: 1.4; font-weight: 600; color: var(--ink); letter-spacing: -.01em; }

.slash-label { display: flex; justify-content: space-between; align-items: center; padding-bottom: 1.6rem; border-bottom: 1px solid var(--ink); font-size: max(1.4rem, 13px); color: var(--ink); margin-bottom: 6rem; }
.slash-label .mono { color: var(--orange); }
.slash-label--dark { color: #fff; border-color: var(--line-d); }

.chip { display: inline-flex; align-items: center; gap: .8rem; padding: .8rem 1.6rem; border-radius: 99rem; font-size: max(1.4rem, 13px); font-weight: 500; line-height: 1.2; }
.chip svg { width: 1.6rem; height: 1.6rem; color: var(--orange); }
.chip--glass { color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .24); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.chip--white { color: var(--ink); background: #f4f4f2; }
.chip__sep { opacity: .5; }
.chip__avatar { width: 3rem; height: 3rem; border-radius: 50%; overflow: hidden; margin: -.4rem 0 -.4rem -.8rem; }
.chip__avatar img { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------------ Buttons (split: label + arrow square) */
.btn { display: inline-flex; align-items: stretch; height: 5.6rem; border-radius: 1.2rem; font-size: max(1.5rem, 14px); font-weight: 500; line-height: 1; overflow: hidden; isolation: isolate; }
.btn__label { display: flex; align-items: center; padding: 0 2.4rem; border: 1px solid currentColor; border-right: 0; border-radius: 1.2rem 0 0 1.2rem; transition: background-color .4s var(--ease), color .4s var(--ease); }
.btn__icon { display: grid; place-items: center; width: 5.6rem; border-radius: 0 1.2rem 1.2rem 0; background: var(--orange); color: #fff; }
.btn__icon svg { width: 2rem; height: 2rem; transition: transform .5s var(--ease); }
.btn:hover .btn__icon svg { transform: translate(.3rem, -.3rem); }
.btn--orange .btn__label { background: var(--orange); color: #fff; border-color: var(--orange); }
.btn--orange .btn__icon { background: #fff; color: var(--orange); }
.btn--glass .btn__label { color: #fff; border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.btn--ink .btn__label { color: var(--ink); border-color: var(--ink); }
.btn--ink .btn__icon { background: var(--ink); }
.btn--line { height: 4.8rem; }
.btn--line .btn__label { color: #fff; border-color: rgba(255, 255, 255, .4); }
.btn--line .btn__icon { width: 4.8rem; }
.btn--ink:hover .btn__label { background: var(--ink); color: #fff; }
.btn--orange:hover .btn__label { background: var(--orange-2); border-color: var(--orange-2); }

/* ================================================================== PRELOADER */
.lwpl { display: none; }
html.lwpl-on .lwpl { display: block; position: fixed; inset: 0; z-index: 300; }
html.lwpl-lock, html.lwpl-lock body { overflow: hidden; }
.lwpl__accent, .lwpl__panel { position: absolute; inset: 0; }
.lwpl__accent { background: var(--orange); }
.lwpl__panel { background: var(--ink); color: #fff; overflow: hidden; }
.lwpl__grain { position: absolute; inset: -50%; opacity: .07; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.lwpl__top { position: absolute; top: 3.2rem; left: 3.2rem; right: 3.2rem; display: flex; justify-content: space-between; color: rgba(255, 255, 255, .5); }
.lwpl__logo { position: absolute; top: 50%; left: 50%; width: max(32rem, 220px); transform: translate(-50%, -50%); }
.lwpl__logo svg { width: 100%; height: auto; overflow: visible; }
.lwpl__logo .lw-like { fill: #fff; }
.lwpl__logo .lw-wise { fill: rgba(255, 255, 255, .55); }
.lwpl__logo .lw-wedge { fill: var(--orange); }
.lwpl__bottom { position: absolute; left: 3.2rem; right: 3.2rem; bottom: 4.4rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; }
.lwpl__count { display: flex; align-items: flex-start; font-size: max(16rem, 88px); line-height: .8; font-weight: 500; letter-spacing: -.05em; font-variant-numeric: tabular-nums; overflow: hidden; }
.lwpl__pct { font-size: .32em; color: var(--orange); margin: .1em 0 0 .12em; }
.lwpl__caption { color: rgba(255, 255, 255, .6); text-align: right; }
.lwpl__caption span { color: var(--orange); margin: 0 .8rem; }
.lwpl__track { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, .08); }
.lwpl__track span { display: block; height: 100%; background: var(--orange); transform-origin: left; transform: scaleX(0); box-shadow: 0 0 18px rgba(235, 97, 9, .6); }

/* ================================================================== TOPBAR + HEADER */
.topbar { background: var(--ink); color: rgba(255, 255, 255, .72); height: 4rem; font-size: max(1.3rem, 12px); position: relative; z-index: 5; }
.topbar__in { height: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0 3.2rem; }
.topbar__ticker { display: flex; align-items: center; gap: 1.6rem; }
.topbar__sym, .topbar__price { color: #fff; }
.topbar__chg { color: #3ccf8e; }
.topbar__note { opacity: .5; }
.topbar__links { display: flex; align-items: center; gap: 3.2rem; }
.topbar__links a { display: inline-flex; align-items: center; gap: .8rem; transition: color .3s; }
.topbar__links a:hover { color: var(--orange); }
.topbar__links svg { width: 1.6rem; height: 1.6rem; }

.site-header { position: fixed; z-index: 50; top: 6.4rem; left: 3.6rem; right: 3.6rem; height: 6.4rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 .8rem 0 2rem; border-radius: 1.8rem; transition: top .6s var(--ease), background-color .5s var(--ease), box-shadow .5s var(--ease), transform .6s var(--ease), left .6s var(--ease), right .6s var(--ease); }
.site-header.is-scrolled { top: 1.2rem; left: 1.2rem; right: 1.2rem; background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4); box-shadow: 0 1px 0 rgba(13, 25, 34, .06), 0 18px 40px -24px rgba(13, 25, 34, .35); }
.site-header.is-hidden { transform: translateY(-140%); }
.brand { display: inline-flex; align-items: flex-end; gap: 1rem; justify-self: start; }
.brand__mark { width: 13.2rem; }
.brand__mark svg { width: 100%; height: auto; }
.brand .lw-like { fill: #fff; transition: fill .5s; }
.brand .lw-wise { fill: rgba(255, 255, 255, .7); transition: fill .5s; }
.brand .lw-wedge { fill: var(--orange); }
.brand__suffix { font-size: max(1.3rem, 12px); color: #fff; font-weight: 500; padding-bottom: .4rem; white-space: nowrap; transition: color .5s; }
.is-scrolled .brand .lw-like { fill: #403f3d; }
.is-scrolled .brand .lw-wise { fill: #878683; }
.is-scrolled .brand__suffix { color: var(--ink); }

.pillnav { position: relative; display: flex; align-items: center; gap: .2rem; padding: .5rem; border-radius: 1.4rem; background: #fff; box-shadow: 0 10px 30px -18px rgba(13, 25, 34, .4); }
.is-scrolled .pillnav { background: #f1f1ee; box-shadow: none; }
.pillnav__chip { position: absolute; top: .5rem; bottom: .5rem; left: 0; width: 0; border-radius: 1rem; background: var(--ink); z-index: 0; }
.pillnav__link { position: relative; z-index: 1; padding: 1.1rem 1.6rem; font-size: max(1.45rem, 13px); font-weight: 500; color: #4d555c; border-radius: 1rem; transition: color .35s var(--ease); white-space: nowrap; }
.pillnav__link:hover { color: var(--ink); }
.pillnav__link.is-lit { color: #fff; }
.pillnav__link { display: inline-flex; align-items: center; gap: .6rem; }
.pillnav__caret { width: .9rem; height: .6rem; opacity: .55; transition: transform .45s var(--ease), opacity .3s; }
.pillnav__link.is-open .pillnav__caret { transform: rotate(180deg); opacity: 1; }

/* Micro mega menu: one floating panel that glides and resizes between items */
.mega { position: absolute; top: calc(100% + 1.2rem); left: 0; width: 0; height: 0; visibility: hidden; opacity: 0; z-index: 2; }
.mega__in { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 1.8rem; background: #fff; box-shadow: 0 1px 0 rgba(13, 25, 34, .06), 0 30px 60px -28px rgba(13, 25, 34, .45), 0 0 0 1px rgba(13, 25, 34, .05); }
.mega__caret { position: absolute; top: -.6rem; left: 0; width: 1.4rem; height: 1.4rem; margin-left: -.7rem; background: #fff; border-radius: .3rem 0 0 0; transform: rotate(45deg); box-shadow: -1px -1px 0 rgba(13, 25, 34, .05); }
.mega__panel { position: absolute; top: 0; left: 0; display: grid; grid-template-columns: 30rem 21rem; gap: .8rem; padding: 1rem; opacity: 0; visibility: hidden; }
.mega__links { display: flex; flex-direction: column; padding: 1.4rem .4rem .4rem; }
.mega__eyebrow { color: var(--orange); padding: 0 1.2rem 1rem; }
.mega__link { position: relative; display: grid; gap: .2rem; padding: 1.1rem 4rem 1.1rem 1.2rem; border-radius: 1.2rem; transition: background-color .3s var(--ease); }
.mega__link:hover, .mega__link:focus-visible { background: #f4f3f0; outline: none; }
.mega__title { font-size: max(1.5rem, 14px); font-weight: 600; color: var(--ink); letter-spacing: -.01em; }
.mega__line { font-size: max(1.3rem, 12px); color: var(--muted); line-height: 1.4; }
.mega__arrow { position: absolute; right: 1.4rem; top: 50%; width: 1.8rem; height: 1.8rem; margin-top: -.9rem; color: var(--orange); opacity: 0; transform: translateX(-.6rem); transition: opacity .3s, transform .45s var(--ease); }
.mega__arrow svg { width: 100%; height: 100%; }
.mega__link:hover .mega__arrow, .mega__link:focus-visible .mega__arrow { opacity: 1; transform: none; }
.mega__feature { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 22rem; padding: 1.8rem; border-radius: 1.2rem; overflow: hidden; color: #fff; isolation: isolate; }
.mega__img { position: absolute; inset: 0; z-index: -1; }
.mega__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.mega__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 25, 34, .05) 30%, rgba(13, 25, 34, .85)); }
.mega__feature:hover .mega__img img { transform: scale(1.06); }
.mega__kicker { color: #ffb37f; margin-bottom: .6rem; }
.mega__ftitle { font-size: max(1.8rem, 15px); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
@media (max-width: 1023px) { .mega { display: none; } }

.site-header__end { justify-self: end; display: flex; align-items: center; gap: .8rem; }
.site-header__search, .site-header__contact { height: 4.8rem; display: grid; place-items: center; border-radius: 1.2rem; background: #fff; color: var(--ink); font-size: max(1.45rem, 13px); font-weight: 500; transition: background-color .3s, color .3s; }
.site-header__search { width: 4.8rem; }
.site-header__search svg { width: 2rem; height: 2rem; }
.site-header__contact { padding: 0 2rem; }
.site-header__contact:hover, .site-header__search:hover { background: var(--ink); color: #fff; }
.is-scrolled .site-header__search, .is-scrolled .site-header__contact { background: #f1f1ee; }
.burger { width: 4.8rem; height: 4.8rem; border-radius: 1.2rem; background: var(--orange); display: grid; align-content: center; justify-items: center; gap: .7rem; transition: background-color .3s; }
.burger:hover { background: var(--orange-2); }
.burger span { display: block; width: 2.2rem; height: 2px; background: #fff; transition: transform .5s var(--ease); }
.menu-open .burger span:first-child { transform: translateY(.45rem) rotate(45deg); }
.menu-open .burger span:last-child { transform: translateY(-.45rem) rotate(-45deg); }
.menu-open .site-header { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.menu-open .site-header .lw-like { fill: #fff; }
.menu-open .site-header .lw-wise { fill: rgba(255, 255, 255, .7); }
.menu-open .site-header .brand__suffix { color: #fff; }

/* Menu overlay */
.menu { position: fixed; inset: 0; z-index: 45; visibility: hidden; }
.menu__bg { position: absolute; inset: 0; background: var(--ink); }
.menu__in { position: relative; height: 100%; display: grid; grid-template-columns: 1.6fr 1fr; gap: 6rem; align-items: center; padding: 13rem var(--gut) 5rem; color: #fff; }
.menu__list { list-style: none; margin: 0; padding: 0; }
.menu__list a { display: flex; align-items: baseline; gap: 2.4rem; padding: .3rem 0; font-size: clamp(3.2rem, calc((100svh - 22rem) / 9.4), 6.4rem); line-height: 1.05; letter-spacing: -.035em; font-weight: 500; overflow: hidden; }
.menu__list a .menu__label { display: inline-block; transition: color .3s, transform .5s var(--ease); }
.menu__list a:hover .menu__label { color: var(--orange); transform: translateX(1.6rem); }
.menu__num { color: var(--orange); }
.menu__aside { font-size: max(1.6rem, 14px); color: rgba(255, 255, 255, .7); display: grid; gap: 2.4rem; align-self: end; }
.menu__aside a:hover { color: var(--orange); }
.eyebrow { font-family: var(--mono); font-size: max(1.15rem, 11px); text-transform: uppercase; letter-spacing: .06em; color: var(--orange); }
.menu__share { display: grid; gap: .4rem; padding: 2.4rem; border: 1px solid var(--line-d); border-radius: var(--r); }
.menu__share strong { font-size: 4.8rem; color: #fff; font-weight: 500; letter-spacing: -.03em; line-height: 1; }

/* ================================================================== HERO */
.hero { padding: 1.2rem; }
.hero__card { position: relative; height: calc(100svh - 4rem - 2.4rem); min-height: 68rem; max-height: 110rem; border-radius: var(--r-l); overflow: hidden; background: var(--ink); color: #fff; isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -2; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__poster { animation: lw-drift 24s ease-in-out infinite alternate; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s var(--ease); }
.hero__video.is-playing { opacity: 1; }
.hero__media, .investors__media { container-type: size; }
.bg-vimeo { position: absolute; inset: 0; overflow: hidden; opacity: 0; transition: opacity 1.4s var(--ease); pointer-events: none; }
.bg-vimeo.is-playing { opacity: 1; }
.bg-vimeo iframe { position: absolute; top: 50%; left: 50%; width: max(100cqw, 189.72cqh); height: max(100cqh, 52.71cqw); /* 1366×720 film */ transform: translate(-50%, -50%) scale(1.03); border: 0; pointer-events: none; }
@keyframes lw-drift { from { transform: scale(1) translate(0, 0); } to { transform: scale(1.08) translate(-1.5%, -1%); } }
.hero__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .74) 0%, rgba(13, 25, 34, .6) 35%, rgba(13, 25, 34, .68) 65%, rgba(13, 25, 34, .92) 100%); }
.hero__content { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -46%); width: min(124rem, 92%); display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero__title { margin: 3.2rem 0 2.8rem; font-size: 9rem; line-height: 1; letter-spacing: -.045em; font-weight: 600; }
.hero__title .ln { padding-bottom: .14em; margin-bottom: -.1em; }
.pill-img { display: inline-block; width: 1.55em; height: .78em; border-radius: .2em; overflow: hidden; vertical-align: -.04em; border: .03em solid rgba(255, 255, 255, .5); box-shadow: 0 .1em .3em rgba(0, 0, 0, .25); }
.pill-img img { width: 100%; height: 100%; object-fit: cover; }
.hero__lead { font-size: max(1.9rem, 16px); line-height: 1.5; max-width: 62rem; text-wrap: balance; color: rgba(255, 255, 255, .82); }
.hero__ctas { display: flex; gap: 1.2rem; margin-top: 4rem; flex-wrap: wrap; justify-content: center; }

.float-card { position: absolute; bottom: 3.2rem; z-index: 2; background: #fff; color: var(--ink); border-radius: var(--r); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .5); }
.float-card--left { left: 3.2rem; display: flex; align-items: center; gap: 1.6rem; padding: 1.2rem 2.4rem 1.2rem 1.2rem; }
.float-card--right { right: 3.2rem; width: 24rem; padding: 1.2rem 1.2rem 1.8rem; }
.float-card__img { height: 13rem; border-radius: 1rem; overflow: hidden; margin-bottom: 1.4rem; }
.float-card__img img { width: 100%; height: 100%; object-fit: cover; }
.float-card__num { display: block; font-size: 2.6rem; font-weight: 600; letter-spacing: -.03em; line-height: 1; padding: 0 .4rem; }
.float-card__label { display: block; font-size: max(1.4rem, 12px); color: var(--muted); padding: .4rem .4rem 0; }
.float-card__label em { font-style: normal; color: #1fa36b; margin-left: .4rem; }
.float-card--left .float-card__label { padding: 0; color: #3d454c; }
.avatars { display: flex; }
.avatars__i { width: 5.2rem; height: 5.2rem; border-radius: 50%; background: #fff; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--line); display: grid; place-items: center; overflow: hidden; margin-left: -1.4rem; }
.avatars__i:first-child { margin-left: 0; }
.avatars__i img { width: 78%; height: 78%; object-fit: contain; }
.avatars__i--count { background: var(--ink); color: #fff; font-weight: 600; font-size: 1.6rem; box-shadow: none; }

.hero__notch { position: absolute; z-index: 1; left: 50%; bottom: -1px; width: 38rem; height: 5.2rem; transform: translateX(-50%); display: grid; place-items: center; }
.hero__notch-shape { position: absolute; inset: 0; width: 100%; height: 100%; fill: var(--paper); }
.hero__scroll { position: relative; }
.hero__scroll { display: flex; align-items: center; gap: 1rem; color: var(--ink); }
.hero__scroll i { position: relative; width: 4rem; height: 1px; background: var(--line); overflow: hidden; }
.hero__scroll i::after { content: ""; position: absolute; inset: 0; background: var(--orange); animation: lw-scroll 2.2s var(--ease) infinite; }
@keyframes lw-scroll { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }

/* ================================================================== INTRO */
.intro { padding: 14rem 0 12rem; }
.since { position: relative; font-size: 24rem; line-height: .86; font-weight: 500; letter-spacing: -.055em; margin: 0 0 9rem -.06em; white-space: nowrap; user-select: none; }
.since__stroke { color: transparent; -webkit-text-stroke: max(.22rem, 1.5px) var(--orange); }
.since__fill { position: absolute; inset: 0; color: var(--orange); clip-path: inset(0 100% 0 0); }
.intro__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 10rem; align-items: start; }
.intro__copy { display: grid; gap: 2.4rem; padding-top: .8rem; }
.intro__copy p { color: #4b535a; }
.intro__copy p.lead { color: var(--ink); }
.stats { margin-top: 12rem; display: grid; grid-template-columns: repeat(4, 1fr); }
.stat { display: grid; align-content: start; gap: .6rem; padding: 0 3.2rem; border-left: 1px solid var(--line); }
.stat:first-child { padding-left: 0; border-left: 0; }
.stat__icon { width: 8.4rem; height: 8.4rem; margin-bottom: 3.2rem; padding: 1.6rem; border-radius: 1.6rem; background: #fff; box-shadow: 0 1px 0 var(--line), 0 14px 30px -22px rgba(13, 25, 34, .35); }
.stat__icon svg { width: 100%; height: 100%; overflow: visible; }
.ic { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ic .ic-l { stroke: var(--ink); stroke-width: 2; }
.ic .ic-a { stroke: var(--orange); stroke-width: 2.2; }
.ic .ic-f { fill: var(--orange); stroke: none; }
.ic .ic-door { stroke: rgba(255, 255, 255, .85); stroke-width: 1.4; }
.ic .ic-dash { stroke-dasharray: .06 .05; }
.stat__num { font-size: 7.2rem; font-weight: 500; letter-spacing: -.045em; line-height: 1; color: var(--orange); font-variant-numeric: tabular-nums; }
.stat__label { font-size: max(2rem, 16px); font-weight: 600; color: var(--ink); margin-top: 1.2rem; }
.stat__text { color: var(--muted); font-size: max(1.5rem, 14px); }

/* ================================================================== FILM + QUICK CARDS */
.film { padding: 0 1.2rem 12rem; }
.film__frame { position: relative; height: min(88vh, 92rem); min-height: 56rem; border-radius: var(--r-l); overflow: hidden; color: #fff; isolation: isolate; }
.film__media { position: absolute; inset: -12% 0; z-index: -2; }
.film__media img { width: 100%; height: 100%; object-fit: cover; }
.film__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .35), rgba(13, 25, 34, .05) 40%, rgba(13, 25, 34, .7)); }
.film__chip { position: absolute; top: 3.2rem; left: 3.2rem; }
.film__play { position: absolute; left: 50%; top: 50%; width: 15rem; height: 15rem; margin: -7.5rem 0 0 -7.5rem; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); transition: background-color .4s; }
.film__play svg { width: 3.6rem; height: 3.6rem; margin-left: .4rem; }
.film__play::before { content: ""; position: absolute; inset: -1.6rem; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); animation: lw-ring 2.8s var(--ease) infinite; }
.film__play:hover { background: var(--orange); }
@keyframes lw-ring { 0% { transform: scale(.85); opacity: 1; } 100% { transform: scale(1.35); opacity: 0; } }
.film__panel { position: absolute; left: 1.2rem; bottom: 1.2rem; display: flex; align-items: center; gap: 2.4rem; padding: 3.2rem 4.8rem 3.2rem 3.2rem; border-radius: var(--r); background: var(--ink); font-size: max(1.6rem, 14px); line-height: 1.5; }
.film__panel .mono { color: rgba(255, 255, 255, .55); }
.film__panel-icon { width: 4.4rem; height: 4.4rem; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; display: grid; place-items: center; }
.film__panel-icon svg { width: 1.6rem; height: 1.6rem; margin-left: .2rem; }
.film__caption { position: absolute; right: 3.2rem; bottom: 4rem; max-width: 44rem; font-size: max(1.7rem, 15px); color: rgba(255, 255, 255, .88); }

.quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 1.2rem; }
.qcard { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 40rem; padding: 4.8rem; border-radius: var(--r-l); overflow: hidden; color: #fff; isolation: isolate; }
.qcard--orange { background: var(--orange); }
.qcard--ink { background: var(--ink-2); }
.qcard--img img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.qcard--img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .05), rgba(13, 25, 34, .7)); }
.qcard:hover img { transform: scale(1.06); }
.qcard__rule { display: block; width: 100%; height: 1px; background: rgba(255, 255, 255, .35); margin-bottom: 2.8rem; }
.qcard__title { font-size: 3.6rem; line-height: 1.05; letter-spacing: -.03em; font-weight: 500; }
.qcard__link { display: inline-flex; align-items: center; gap: .6rem; margin-top: 2.4rem; font-size: max(1.5rem, 14px); font-weight: 500; padding-bottom: .4rem; border-bottom: 1px solid currentColor; align-self: flex-start; }
.qcard__link svg { width: 1.6rem; height: 1.6rem; transition: transform .5s var(--ease); }
.qcard:hover .qcard__link svg, .ncard:hover .qcard__link svg, .fcard:hover .qcard__link svg { transform: translate(.3rem, -.3rem); }
.qcard__geo { position: absolute; top: 4.8rem; right: 4.8rem; width: 9.6rem; height: 9.6rem; color: rgba(255, 255, 255, .22); transition: transform 1s var(--ease), color .6s; }
.qcard__geo svg { width: 100%; height: 100%; fill: currentColor; }
.qcard--orange:hover .qcard__geo { transform: rotate(90deg); color: rgba(255, 255, 255, .45); }

/* ================================================================== PILLARS */
.pillars { padding: 0 1.2rem; }
.pillars__box { background: #fff; border-radius: var(--r-l); padding: 10rem 6rem; display: flex; flex-direction: column; align-items: center; gap: 2.8rem; }
.pillars__row { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3.2rem; align-items: center; margin-top: 5.6rem; }
.pcard { position: relative; height: 48rem; border-radius: var(--r-l); overflow: hidden; color: #fff; isolation: isolate; transition: height .9s var(--ease); }
.pcard.is-active { height: 54rem; }
.pcard img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.pcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, 0) 30%, rgba(13, 25, 34, .82)); transition: background-color .8s; }
.pcard.is-active::after { background-color: rgba(13, 25, 34, .25); }
.pcard.is-active img { transform: scale(1.06); }
.pcard__body { position: absolute; left: 3.6rem; right: 3.6rem; bottom: 3.6rem; }
.pcard__icon { position: absolute; left: 0; bottom: calc(100% + 1.6rem); width: 6.4rem; height: 6.4rem; border-radius: 50%; background: #fff; display: grid; place-items: center; opacity: 0; transform: scale(.6); transition: opacity .6s var(--ease), transform .8s var(--ease); }
.pcard__icon svg { width: 3.4rem; height: 3.4rem; }
.pcard.is-active .pcard__icon { opacity: 1; transform: none; }
.pcard h3 { font-size: 3.2rem; line-height: 1.1; letter-spacing: -.03em; font-weight: 600; }
.pcard p { font-size: max(1.6rem, 14px); color: rgba(255, 255, 255, .85); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .9s var(--ease), opacity .6s, margin .9s var(--ease); }
.pcard.is-active p { max-height: 14rem; opacity: 1; margin-top: 1.6rem; }

/* ================================================================== BRANDS */
.brands { padding: 14rem 0 0; }
.sec-head { display: grid; grid-template-columns: 1fr 1fr; gap: 8rem; align-items: end; }
.sec-head__side { display: grid; gap: 3.2rem; justify-items: start; color: #4b535a; max-width: 56rem; justify-self: end; }
.sec-head__side--end { justify-items: end; }
.logo-grid { position: relative; margin-top: 7rem; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.logo-grid__hl { position: absolute; top: 0; left: 0; width: 25%; height: 50%; background: var(--orange); clip-path: polygon(0 0, calc(100% - 3.6rem) 0, 100% 3.6rem, 100% 100%, 0 100%); z-index: 0; pointer-events: none; }
.logo-cell { position: relative; z-index: 1; height: 26rem; display: grid; place-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logo-grid > .logo-cell:nth-child(4n + 1) { border-right: 0; } /* hl span is child 1, so every 4th cell is nth-child(4n+1) */
.logo-cell__logo { width: 58%; height: 9rem; display: grid; place-items: center; }
.logo-cell__logo img { width: auto; height: auto; max-width: 100%; max-height: 9rem; object-fit: contain; transition: filter .5s var(--ease), transform .8s var(--ease); }
.logo-cell__meta { position: absolute; left: 2.4rem; right: 2.4rem; bottom: 2rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); transition: color .5s; }
.logo-cell.is-on .logo-cell__logo img { filter: brightness(0) invert(1); }
.logo-cell.is-on .logo-cell__meta { color: rgba(255, 255, 255, .85); }
.logo-cell:hover .logo-cell__logo img { transform: scale(1.04); }

/* ================================================================== NETWORK (dark, brand-angle top edge) */
.network { position: relative; margin-top: 14rem; background: var(--ink); color: #fff; padding: calc(var(--angle-drop) + 12rem) 0 12rem; clip-path: polygon(0 0, 100% var(--angle-drop), 100% 100%, 0 100%); }
.network__in { display: grid; grid-template-columns: 1fr 1fr; gap: 8rem; align-items: start; }
.network .h2, .sites .h2 { color: #fff; }
.network__lead { margin: 2.8rem 0 4.8rem; color: rgba(255, 255, 255, .7); max-width: 54rem; }
.slices { position: sticky; top: 12rem; height: 66rem; }
.slices__s { position: absolute; inset: 0; overflow: hidden; }
.slices__s img { width: 100%; height: 100%; object-fit: cover; }
.slices__s--0 { clip-path: polygon(0 0, 22% 0, 4% 100%, 0 100%); }
.slices__s--1 { clip-path: polygon(26% 0, 62% 0, 44% 100%, 8% 100%); }
.slices__s--2 { clip-path: polygon(66% 0, 100% 0, 100% 100%, 48% 100%); }
.rows { border-bottom: 1px solid var(--line-d); }
.row { display: grid; grid-template-columns: 10rem 20rem 1fr; gap: 2.4rem; align-items: baseline; padding: 2.8rem 0; border-top: 1px solid var(--line-d); }
.row__big { font-size: 4.8rem; font-weight: 500; letter-spacing: -.04em; line-height: 1; color: var(--orange); }
.row__name { font-size: max(1.9rem, 16px); font-weight: 600; }
.row__text { color: rgba(255, 255, 255, .6); font-size: max(1.5rem, 14px); }
.timeline { margin: 5.6rem 0; display: grid; gap: 2.4rem; }
.tl { display: grid; grid-template-columns: 11rem 4rem 1fr; gap: 2.4rem; align-items: center; }
.tl__year { font-size: 4rem; font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.tl__chev { color: var(--orange); width: 3rem; }
.tl__chev svg { width: 100%; height: auto; }
.tl__text { color: rgba(255, 255, 255, .72); }

/* ================================================================== SITES (01–04 panels) */
.sites { background: var(--ink); color: #fff; padding: 2rem 0 0; }
.sites__head { display: flex; justify-content: space-between; align-items: end; gap: 4rem; margin-bottom: 5.6rem; }
.sites__head p { color: rgba(255, 255, 255, .6); max-width: 40rem; }
.panels { display: flex; height: 76rem; border-top: 1px solid var(--line-d); }
.panel { position: relative; flex: 1 1 0; overflow: hidden; border-left: 1px solid var(--line-d); transition: flex-grow 1s var(--ease); isolation: isolate; cursor: pointer; outline: none; }
.panel:first-child { border-left: 0; }
.panel.is-open { flex-grow: 2.3; }
.panel__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.5) brightness(.62); transform: scale(1.08); transition: filter 1s var(--ease), transform 1.4s var(--ease); }
.panel.is-open .panel__img { filter: none; transform: scale(1); }
.panel__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .35), rgba(13, 25, 34, 0) 40%, rgba(13, 25, 34, .85)); }
.panel__num { position: absolute; top: 4rem; right: 4rem; font-size: 13rem; line-height: .9; font-weight: 700; letter-spacing: -.04em; color: transparent; background: repeating-linear-gradient(180deg, #fff 0 .6rem, transparent .6rem 1.2rem); -webkit-background-clip: text; background-clip: text; opacity: .9; }
.panel__tag { position: absolute; right: 0; top: 34%; writing-mode: vertical-rl; background: var(--orange); color: #fff; padding: 2rem 1rem; font-size: max(1.5rem, 13px); font-weight: 500; letter-spacing: .02em; }
.panel__body { position: absolute; left: 4rem; right: 6rem; bottom: 4.8rem; }
.panel__body h3 { font-size: 4.4rem; line-height: 1; letter-spacing: -.035em; font-weight: 600; }
.panel__body p { margin-top: 1.6rem; max-width: 36rem; color: rgba(255, 255, 255, .78); opacity: 0; transform: translateY(1rem); transition: opacity .6s, transform .8s var(--ease); }
.panel.is-open .panel__body p { opacity: 1; transform: none; transition-delay: .25s; }
.panel__link { display: inline-flex; align-items: center; gap: .8rem; margin-top: 2.4rem; font-weight: 500; }
.panel__link svg { width: 2rem; height: 2rem; color: var(--orange); transition: transform .5s var(--ease); }
.panel:hover .panel__link svg { transform: translateX(.6rem); }

/* ================================================================== INVESTORS */
.investors { position: relative; background: var(--ink-2); color: #fff; isolation: isolate; }
.investors__media { position: relative; height: 62rem; overflow: hidden; z-index: 0; }
.investors__media img { width: 100%; height: 124%; object-fit: cover; margin-top: -12%; }
.investors__media::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(13, 25, 34, .4), rgba(13, 25, 34, .3)); }
.investors__band { position: relative; z-index: 1; margin-top: -30rem; }
.investors__band::before { content: ""; position: absolute; inset: 30rem 0 0; background: var(--ink-2); z-index: -1; }
.investors__in { display: grid; grid-template-columns: 1.3fr .7fr; gap: 6rem; align-items: end; padding-bottom: 6rem; }
.investors__title { display: flex; align-items: flex-start; gap: 3.2rem; padding-top: 18rem; }
.investors__chev { width: 11rem; flex: none; color: var(--orange); margin-top: 1rem; }
.investors__chev svg { width: 100%; height: auto; }
.glass-stack { display: grid; gap: 2rem; }
.glass { display: grid; gap: .6rem; justify-items: center; text-align: center; padding: 4.4rem 3.2rem; border-radius: var(--r); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(26px) saturate(1.2); backdrop-filter: blur(26px) saturate(1.2); }
.glass strong { font-size: 8rem; line-height: 1; font-weight: 500; letter-spacing: -.05em; }
.glass > span { font-size: max(1.6rem, 14px); color: rgba(255, 255, 255, .8); }
.glass em { font-style: normal; margin-top: .6rem; }
.rns { padding-top: 2rem; padding-bottom: 6rem; }
.rns__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 3rem; }
.rns__head .slash-label { flex: 1; margin-bottom: 0; }
.rns__rows { margin-top: 4rem; }
.rns__row { display: grid; grid-template-columns: 16rem 1fr 18rem auto; gap: 3.2rem; align-items: center; padding: 3.2rem 0; border-top: 1px solid var(--line-d); transition: padding .6s var(--ease); }
.rns__row:last-child { border-bottom: 1px solid var(--line-d); }
.rns__date { color: rgba(255, 255, 255, .55); }
.rns__title { font-size: 3rem; line-height: 1.15; letter-spacing: -.025em; font-weight: 500; transition: color .4s; }
.rns__type { color: var(--orange); }
.rns__row:hover { padding-left: 1.6rem; padding-right: 1.6rem; }
.rns__row:hover .rns__title { color: var(--orange); }

/* ================================================================== NEWS (light, angled transition) */
.news { position: relative; padding: calc(var(--angle-drop) + 5rem) 0 4rem; }
.news::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: var(--angle-drop); background: var(--ink-2); clip-path: polygon(0 0, 100% 0, 100% 100%); }
.news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 6rem; }
.ncard { position: relative; height: 58rem; border-radius: var(--r-l); overflow: hidden; color: #fff; isolation: isolate; display: block; }
.ncard__img { position: absolute; inset: 0; z-index: -2; }
.ncard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.ncard__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .25), rgba(13, 25, 34, 0) 30%, rgba(13, 25, 34, .88)); }
.ncard__date { position: absolute; top: 2.4rem; left: 2.4rem; padding: .8rem 1.4rem; border-radius: 99rem; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .25); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.ncard__body { position: absolute; left: 4rem; right: 4rem; bottom: 4rem; display: flex; flex-direction: column; }
.ncard__title { font-size: 3rem; line-height: 1.1; letter-spacing: -.03em; font-weight: 500; }
.ncard__text { font-size: max(1.5rem, 14px); color: rgba(255, 255, 255, .8); max-height: 0; opacity: 0; overflow: hidden; transition: max-height .8s var(--ease), opacity .5s, margin .8s var(--ease); }
.ncard:hover .ncard__text { max-height: 12rem; opacity: 1; margin-top: 1.2rem; }
.ncard:hover .ncard__img img { transform: scale(1.06); }

/* ================================================================== FOOTER */
.site-footer { position: relative; margin-top: 30rem; background: var(--ink); color: #fff; border-radius: 3.2rem 3.2rem 0 0; }
.footer-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; padding: 0 12rem; transform: translateY(-16rem); margin-bottom: -16rem; }
.fcard { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 42rem; padding: 4.8rem; border-radius: var(--r-l); overflow: hidden; isolation: isolate; color: #fff; }
.fcard--orange { background: var(--orange); }
.fcard--img img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.fcard--img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 25, 34, .05), rgba(13, 25, 34, .78)); }
.fcard--img:hover img { transform: scale(1.05); }
.fcard__title { font-size: 3.6rem; line-height: 1.05; letter-spacing: -.03em; font-weight: 500; }
.fcard__text { margin-top: 1.2rem; color: rgba(255, 255, 255, .8); max-width: 40rem; }
.fcard__small { margin-top: 1.2rem; font-size: max(1.3rem, 12px); color: rgba(255, 255, 255, .75); }
.fcard__geo { position: absolute; top: 4.8rem; right: 4.8rem; width: 8rem; color: rgba(255, 255, 255, .22); }
.fcard__geo svg { width: 100%; fill: currentColor; }
.signup { margin-top: 2.8rem; display: flex; height: 6rem; border-radius: 1.2rem; background: #fff; overflow: hidden; max-width: 48rem; }
.signup input { flex: 1; border: 0; padding: 0 2rem; color: var(--ink); background: transparent; outline: none; min-width: 0; }
.signup button { width: 6rem; background: var(--ink); color: #fff; display: grid; place-items: center; }
.signup button svg { width: 2rem; height: 2rem; }

.footer-main { padding-top: 14rem; }
.questions { display: flex; justify-content: space-between; align-items: flex-end; gap: 4rem; padding-bottom: 6rem; border-bottom: 1px solid var(--line-d); }
.questions__title { font-size: 8rem; line-height: 1; letter-spacing: -.045em; font-weight: 500; }
.questions__title .ln + .ln { font-size: .75em; }
.questions__title a { color: var(--orange); transition: color .3s; }
.questions__title a:hover { color: #fff; }
.fcols { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 4rem; padding: 7rem 0; }
.fcol { display: flex; flex-direction: column; gap: .2rem; font-size: max(1.5rem, 14px); }
.fcol h4 { font-family: var(--mono); font-weight: 500; font-size: max(1.15rem, 11px); text-transform: uppercase; letter-spacing: .06em; color: rgba(255, 255, 255, .45); margin-bottom: 1.6rem; }
.fcol a { color: rgba(255, 255, 255, .78); line-height: 2.1; transition: color .3s; align-self: flex-start; }
.fcol a:hover { color: var(--orange); }
.fcol a.fcol__all { color: var(--orange); }
.fcol--brand p { color: rgba(255, 255, 255, .6); margin-top: 2.4rem; line-height: 1.7; }
.fcol--brand p a { line-height: 1.7; }
.brand--footer .brand__mark { width: 16rem; }
.footer-legal { display: flex; justify-content: space-between; align-items: center; gap: 3rem; padding: 3.2rem 0; border-top: 1px solid var(--line-d); font-size: max(1.3rem, 12px); color: rgba(255, 255, 255, .5); flex-wrap: wrap; }
.footer-legal nav { display: flex; gap: 2.4rem; }
.footer-legal a:hover { color: var(--orange); }
.footer-word { padding: 2rem var(--gut) 0; overflow: hidden; }
.footer-word svg { width: 100%; height: auto; }
.footer-word .lw-like, .footer-word .lw-wise { fill: rgba(255, 255, 255, .05); }
.footer-word .lw-wedge { fill: var(--orange); }
.to-top { position: fixed; z-index: 40; right: 2.4rem; bottom: 2.4rem; width: 5.6rem; height: 5.6rem; border-radius: 1.2rem; background: var(--orange); color: #fff; display: grid; place-items: center; opacity: 0; transform: translateY(2rem); pointer-events: none; transition: opacity .5s var(--ease), transform .6s var(--ease), background-color .3s; }
.to-top svg { width: 2.2rem; height: 2.2rem; }
.to-top.is-on { opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover { background: var(--orange-2); }

.basic { padding: 22rem var(--gut) 10rem; min-height: 60vh; }

/* ================================================================== CURSOR */
.cursor { position: fixed; z-index: 400; top: 0; left: 0; width: 1rem; height: 1rem; margin: -.5rem 0 0 -.5rem; border-radius: 50%; background: var(--orange); pointer-events: none; display: none; }
.has-cursor .cursor { display: grid; place-items: center; }
.cursor__label { font-family: var(--mono); font-size: 11px; text-transform: uppercase; color: #fff; opacity: 0; white-space: nowrap; }

/* ================================================================== RESPONSIVE */
@media (max-width: 1279px) and (min-width: 1024px) {
	.pillnav__link { padding: 1.1rem 1.1rem; }
	.site-header__search { display: none; }
}

@media (max-width: 1023px) {
	:root { --gut: 2rem; --angle-drop: 3.2rem; }
	.topbar__links a:not(:first-child), .topbar__note { display: none; }
	.topbar__in { padding: 0 2rem; }
	.topbar__links a:first-child { font-size: 0; gap: 0; }
	.topbar__links a:first-child svg { width: 18px; height: 18px; }
	.site-header { top: 5.2rem; left: 2rem; right: 2rem; height: 5.6rem; padding: 0 .6rem 0 1.4rem; grid-template-columns: 1fr auto; }
	.pillnav, .site-header__search, .site-header__contact { display: none; }
	.brand__mark { width: 11rem; }
	.burger { width: 4.4rem; height: 4.4rem; }
	.menu__in { grid-template-columns: 1fr; padding: 11rem 2rem 4rem; align-content: center; gap: 4rem; }
	.menu__list a { font-size: clamp(2.8rem, calc((100svh - 18rem) / 10), 4rem); }
	.menu__aside { display: none; }

	.hero__card { min-height: 64rem; max-height: none; }
	.hero__content { top: 46%; width: 100%; padding: 0 2rem; }
	.hero__title { font-size: clamp(3.8rem, 11vw, 7rem); margin: 2.4rem 0 2rem; }
	.hero__lead { font-size: 1.6rem; }
	.hero__ctas { margin-top: 2.8rem; }
	.btn { height: 5rem; }
	.btn__icon { width: 5rem; }
	.float-card--right { display: none; }
	.float-card--left { left: 1.2rem; right: 1.2rem; bottom: 6.4rem; padding: 1rem 1.6rem 1rem 1rem; }
	.avatars__i { width: 4.4rem; height: 4.4rem; }
	.hero__notch { width: 32rem; height: 4.4rem; }
}
@media (max-width: 1023px) and (max-height: 900px), (max-width: 600px) {
	.float-card--left { display: none; }
	.hero__content { top: 50%; }
}
@media (max-width: 1023px) {

	.h2 { font-size: clamp(3.2rem, 8.4vw, 5rem); }
	.intro { padding: 8rem 0; }
	.since { font-size: 25vw; margin-bottom: 4.8rem; }
	.intro__grid, .sec-head, .network__in, .investors__in { grid-template-columns: 1fr; gap: 4rem; }
	.stats { grid-template-columns: 1fr 1fr; gap: 4.8rem 0; margin-top: 7rem; }
	.stat { padding: 0 2rem; }
	.stat:nth-child(odd) { padding-left: 0; border-left: 0; }
	.stat__num { font-size: 5.2rem; }
	.stat__icon { width: 6.4rem; height: 6.4rem; margin-bottom: 2rem; padding: 1.2rem; }

	.film { padding-bottom: 8rem; }
	.film__frame { height: 72svh; min-height: 52rem; }
	.film__play { width: 10rem; height: 10rem; margin: -5rem 0 0 -5rem; }
	.film__caption { display: none; }
	.film__chip { left: 1.6rem; top: 1.6rem; right: 1.6rem; font-size: 13px; }
	.film__panel { padding: 2rem 2.4rem 2rem 2rem; gap: 1.6rem; }
	.quick, .news__grid, .footer-cards { grid-template-columns: 1fr; }
	.qcard, .fcard { height: 34rem; padding: 3.2rem; }
	.qcard__title, .fcard__title { font-size: 3rem; }

	.pillars__box { padding: 6.4rem 2rem 2rem; align-items: stretch; }
	.pillars__box .chip { align-self: flex-start; }
	.h2--center { text-align: left; }
	.pillars__row { grid-template-columns: 1fr; gap: 1.2rem; margin-top: 2.4rem; }
	.pcard, .pcard.is-active { height: 46rem; }
	.pcard .pcard__icon { opacity: 1; transform: none; }
	.pcard p { max-height: 14rem; opacity: 1; margin-top: 1.2rem; }

	.brands { padding-top: 8rem; }
	.sec-head__side, .sec-head__side--end { justify-self: start; justify-items: start; }
	.logo-grid { grid-template-columns: 1fr 1fr; margin-top: 4rem; }
	.logo-cell { height: 18rem; }
	.logo-grid > .logo-cell:nth-child(4n + 1) { border-right: 1px solid var(--line); }
	.logo-grid > .logo-cell:nth-child(odd) { border-right: 0; }
	.logo-cell__meta { left: 1.4rem; right: 1.4rem; bottom: 1.2rem; flex-direction: column; gap: .2rem; font-size: 10px; }
	.logo-cell__logo { width: 70%; height: 6.4rem; }
	.logo-cell__logo img { max-height: 6.4rem; }

	.network { margin-top: 8rem; padding: calc(var(--angle-drop) + 7rem) 0 8rem; }
	.slices { position: relative; top: 0; height: 36rem; order: 2; }
	.row { grid-template-columns: 7rem 1fr; gap: .4rem 1.6rem; }
	.row__text { grid-column: 2; }
	.row__big { font-size: 4rem; }
	.tl { grid-template-columns: 7.6rem 2.4rem 1fr; gap: 1.4rem; }
	.tl__year { font-size: 3rem; }

	.sites__head { flex-direction: column; align-items: flex-start; gap: 2rem; margin-bottom: 4rem; }
	.panels { flex-direction: column; height: auto; }
	.panel, .panel.is-open { flex: none; height: 44rem; border-left: 0; border-top: 1px solid var(--line-d); }
	.panel__img, .panel.is-open .panel__img { filter: none; transform: none; }
	.panel__body p { opacity: 1; transform: none; }
	.panel__num { font-size: 8rem; top: 2.4rem; right: 2.4rem; }
	.panel__body { left: 2.4rem; right: 5.6rem; bottom: 3.2rem; }
	.panel__body h3 { font-size: 3.6rem; }

	.investors__media { height: 40rem; }
	.investors__band { margin-top: -14rem; }
	.investors__band::before { top: 14rem; }
	.investors__title { padding-top: 6rem; gap: 1.6rem; }
	.investors__chev { width: 5rem; }
	.display { font-size: clamp(4.4rem, 12vw, 8rem); }
	.glass strong { font-size: 5.6rem; }
	.rns { padding-top: 6rem; padding-bottom: 4rem; }
	.rns__head { flex-direction: column; align-items: stretch; }
	.rns__row { grid-template-columns: 1fr auto; gap: .8rem 2rem; padding: 2.4rem 0; }
	.rns__title { font-size: 2.2rem; grid-column: 1; }
	.rns__type { display: none; }
	.rns__row .btn { grid-row: 1 / span 2; grid-column: 2; }
	.rns__row .btn__label { display: none; }
	.rns__row .btn__icon { border-radius: 1.2rem; }

	.news { padding-top: calc(var(--angle-drop) + 4rem); }
	.news__grid { margin-top: 4rem; }
	.ncard { height: 46rem; }
	.ncard__text { max-height: 12rem; opacity: 1; margin-top: 1.2rem; }
	.ncard__body { left: 2.4rem; right: 2.4rem; bottom: 2.8rem; }

	.site-footer { margin-top: 16rem; }
	.footer-cards { padding: 0 1.2rem; transform: translateY(-10rem); margin-bottom: -10rem; }
	.footer-main { padding-top: 8rem; }
	.questions { flex-direction: column; align-items: flex-start; }
	.questions__title { font-size: clamp(3.6rem, 10vw, 6rem); }
	.fcols { grid-template-columns: 1fr 1fr; gap: 4rem 2rem; padding: 5rem 0; }
	.fcol--brand { grid-column: 1 / -1; }
	.footer-legal { flex-direction: column; align-items: flex-start; gap: 1.6rem; }
	.footer-legal nav { flex-wrap: wrap; gap: 1.2rem 2rem; }
	.to-top { width: 4.8rem; height: 4.8rem; right: 1.6rem; bottom: 1.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	.hero__poster { animation: none; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
