
/* V3.17 Archivo font loading fix */
@font-face {
  font-family: "Archivo";
  src: url("../fonts/Archivo-Regular.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-stretch: 75% 125%;
  font-display: swap;
}

@font-face {
  font-family: "Archivo";
  src: url("../fonts/Archivo-Italic.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-stretch: 75% 125%;
  font-display: swap;
}


/* IMMERSED SITE_02 — Archivo font fix */
@font-face {
  font-family: "ArchivoFixed";
  src: url("../fonts/Archivo-Regular.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ArchivoFixed";
  src: url("../fonts/Archivo-Italic.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}


/* V3.16 Archivo variable font fix
   Uses the actual files in assets/fonts:
   - Archivo-VariableFont_wdth,wght.ttf
   - Archivo-Italic-VariableFont_wdth,wght.ttf
*/
@font-face {
  font-family: "ArchivoSite";
  src: url("../fonts/Archivo-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "ArchivoSite";
  src: url("../fonts/Archivo-Italic-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: italic;
  font-display: swap;
}


@font-face{
  font-family: ArchivoLocal;
  src: url("../fonts/Archivo-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-stretch: 75% 125%;
}
@font-face{
  font-family: ArchivoLocal;
  src: url("../fonts/Archivo-Italic-VariableFont_wdth,wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-stretch: 75% 125%;
}
:root{
  --bg:#050505;
  --panel:#0e0e0e;
  --soft:#171717;
  --text:#f4f0e8;
  --muted:#aaa49a;
  --line:rgba(244,240,232,.16);
  --gold:#d8aa5e;
  --gold2:#9e6f32;
  --danger:#c75436;
  --space:clamp(72px,10vw,150px);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ArchivoLocal, "Arial Narrow", Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  letter-spacing:-.02em;
}
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 30% 0%, rgba(216,170,94,.08), transparent 35%),
             radial-gradient(circle at 80% 20%, rgba(199,84,54,.06), transparent 28%);
  z-index:-2;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{
  position:fixed; top:0; left:0; right:0;
  height:78px;
  padding:0 clamp(18px,4vw,56px);
  display:flex; align-items:center; justify-content:space-between;
  z-index:50;
  transition:.35s ease;
}
.site-header.is-scrolled{
  background:rgba(5,5,5,.76);
  backdrop-filter: blur(18px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex; align-items:center; gap:12px; letter-spacing:.08em; font-size:14px; min-width:160px}
.brand-mark{width:34px;height:34px;object-fit:contain;filter:contrast(1.08)}
.brand span{display:flex;gap:6px}
.brand em{font-style:normal;color:var(--gold)}
.main-nav{display:flex;align-items:center;gap:26px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(244,240,232,.78)}
.main-nav a{transition:.2s ease}
.main-nav a:hover{color:var(--text)}
.nav-cta{border:1px solid var(--line);padding:11px 14px;border-radius:999px;color:var(--text)!important}
.nav-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative}
.nav-toggle span{display:block;width:24px;height:1px;background:var(--text);margin:7px auto}

.intro-sequence{
  position:fixed; inset:0; z-index:100;
  display:grid; place-items:center;
  background:#000;
  transition:opacity .7s ease, visibility .7s ease;
}
.intro-sequence.hide{opacity:0;visibility:hidden}
.intro-sequence p{
  position:absolute;
  opacity:0;
  font-size:clamp(30px,7vw,96px);
  line-height:.88;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:-.07em;
}
.intro-sequence p.show{animation:introLine 1.35s ease forwards}
@keyframes introLine{0%{opacity:0;transform:translateY(18px);filter:blur(8px)}25%,72%{opacity:1;transform:translateY(0);filter:blur(0)}100%{opacity:0;transform:translateY(-16px);filter:blur(8px)}}

.hero{
  min-height:100svh;
  position:relative;
  display:flex; align-items:flex-end;
  padding:120px clamp(22px,6vw,86px) clamp(42px,7vw,86px);
  overflow:hidden;
}
.hero-media{position:absolute;inset:0;z-index:-3}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) contrast(1.1) saturate(.88); transform:scale(1.04)}
.hero-media::after,.page-hero::after,.image-band::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.28) 52%,rgba(0,0,0,.75));
}
.grain{position:absolute;inset:0;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.hero-copy{max-width:1120px;position:relative;z-index:2}
.eyebrow{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:12px;
  font-weight:700;
  margin:0 0 18px;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-size:clamp(58px,11.8vw,168px);
  line-height:.82;
  letter-spacing:-.095em;
  text-transform:uppercase;
  margin-bottom:24px;
  font-weight:860;
}
h1 span{color:transparent;-webkit-text-stroke:1.2px rgba(244,240,232,.72)}
h2{
  font-size:clamp(38px,7vw,96px);
  line-height:.88;
  letter-spacing:-.08em;
  text-transform:uppercase;
  font-weight:840;
}
h3{font-size:clamp(26px,3vw,44px);line-height:1;letter-spacing:-.05em;text-transform:uppercase}
.lede{max-width:680px;font-size:clamp(18px,2.1vw,25px);line-height:1.35;color:rgba(244,240,232,.78)}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:800;
  transition:.25s ease;
}
.button.primary{background:var(--text);color:#050505}
.button.primary:hover{background:var(--gold);transform:translateY(-2px)}
.button.ghost{border:1px solid var(--line);color:var(--text)}
.button.ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.scroll-cue{position:absolute;right:42px;bottom:36px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--muted);z-index:2}

.statement-section{padding:var(--space) clamp(22px,6vw,86px);max-width:1440px;margin:auto}
.statement-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,6vw,90px);align-items:end}
.statement-grid p,.split-copy p,.people-copy p,.page-hero-copy p,.contact-copy p{font-size:clamp(17px,1.6vw,22px);line-height:1.42;color:var(--muted)}
.image-band{min-height:86vh;position:relative;display:flex;align-items:flex-end;padding:clamp(34px,6vw,70px);overflow:hidden}
.image-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.8)}
.band-copy{position:relative;z-index:2;max-width:900px}
.band-copy p{font-size:22px;color:var(--muted)}
.split-section{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,5vw,76px);align-items:center;padding:var(--space) clamp(22px,6vw,86px);max-width:1480px;margin:auto}
.split-section.alt{grid-template-columns:1.15fr 1fr}
.split-image{border-radius:28px;overflow:hidden;background:var(--soft);min-height:420px}
.split-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.25/1;transition:transform 1s ease}
.split-image:hover img{transform:scale(1.04)}
.world-strip{padding:var(--space) clamp(22px,6vw,86px);position:relative;overflow:hidden}
.section-heading{max-width:950px;margin-bottom:42px}
.world-cards{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px}
.world-cards article{
  min-height:420px;border:1px solid var(--line);border-radius:26px;
  padding:24px;display:flex;flex-direction:column;justify-content:flex-end;
  position:relative;overflow:hidden;background:#111;
}
.world-cards article::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000,transparent 68%),var(--bgimg);background-size:cover;background-position:center;opacity:.62;transition:.4s ease;z-index:0}
.world-cards article:hover::before{opacity:.9;transform:scale(1.06)}
.world-cards span,.world-cards p{position:relative;z-index:1}
.world-cards span{font-size:28px;text-transform:uppercase;font-weight:800;letter-spacing:-.05em}
.world-cards p{color:var(--muted);line-height:1.35}
.tech-feature{min-height:95vh;position:relative;display:flex;align-items:flex-end;padding:clamp(22px,6vw,86px);overflow:hidden}
.tech-bg{position:absolute;inset:0;z-index:-2}
.tech-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) contrast(1.1)}
.tech-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050505 0%,transparent 44%),linear-gradient(90deg,#050505 0%,transparent 62%);z-index:-1}
.tech-panel{max-width:820px}
.spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}
.spec-row div{border-top:1px solid var(--line);padding-top:14px}
.spec-row strong{display:block;font-size:clamp(38px,5vw,72px);letter-spacing:-.08em}
.spec-row span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px}
.text-link{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}
.rules-section{padding:var(--space) clamp(22px,6vw,86px);max-width:1480px;margin:auto}
.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rules-grid.three{grid-template-columns:repeat(3,1fr)}
.rule-card{background:linear-gradient(180deg,#111,#090909);border:1px solid var(--line);border-radius:24px;padding:26px;min-height:230px}
.rule-card span{font-size:25px;line-height:1;text-transform:uppercase;font-weight:800;letter-spacing:-.05em}
.rule-card p{color:var(--muted);line-height:1.4;margin-top:24px}
.people-section{padding:var(--space) clamp(22px,6vw,86px);display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.people-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.people-mosaic img{height:300px;width:100%;object-fit:cover;border-radius:24px;filter:saturate(.82)}
.people-mosaic img:first-child{grid-row:span 2;height:612px}
.timeline-section{padding:0 clamp(22px,6vw,86px) var(--space);display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1480px;margin:auto}
.timeline-card{border:1px solid var(--line);border-radius:28px;padding:clamp(28px,4vw,54px);background:var(--panel);min-height:310px}
.timeline-card p:not(.eyebrow){color:var(--muted);font-size:19px;line-height:1.4}

.page-hero{min-height:82vh;position:relative;display:flex;align-items:flex-end;padding:120px clamp(22px,6vw,86px) clamp(42px,6vw,78px);overflow:hidden}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48) contrast(1.1) saturate(.85);z-index:-2}
.page-hero-copy{max-width:950px;position:relative;z-index:2}
.page-hero-copy h1{font-size:clamp(54px,10vw,138px)}
.specs-wall{padding:var(--space) clamp(22px,6vw,86px);display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.big-spec{background:var(--bg);padding:clamp(28px,4vw,54px);min-height:280px;display:flex;flex-direction:column;justify-content:space-between}
.big-spec strong{font-size:clamp(44px,6vw,86px);line-height:.86;letter-spacing:-.085em;text-transform:uppercase}
.big-spec span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;line-height:1.5}
.small-note{font-size:13px!important;color:rgba(244,240,232,.48)!important}

.worlds-grid-page{padding:var(--space) clamp(22px,6vw,86px);display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.world-tile{position:relative;min-height:430px;border-radius:28px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end}
.world-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52) saturate(.8);transition:.5s ease}
.world-tile:hover img{transform:scale(1.05);filter:brightness(.72) saturate(.9)}
.world-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000,transparent 64%)}
.world-tile div{position:relative;z-index:2;padding:26px}
.world-tile p{font-size:30px;line-height:1;text-transform:uppercase;font-weight:850;letter-spacing:-.06em;margin-bottom:12px}
.world-tile span{color:var(--muted);line-height:1.35}
.marquee-section{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:var(--space)}
.marquee span{display:block;white-space:nowrap;font-size:clamp(44px,8vw,120px);font-weight:850;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(244,240,232,.38);animation:marquee 30s linear infinite}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.team-manifesto{padding:var(--space) clamp(22px,6vw,86px);max-width:1280px;margin:auto}
.manifesto-line{font-size:clamp(52px,10vw,150px);line-height:.82;text-transform:uppercase;font-weight:850;letter-spacing:-.095em;border-bottom:1px solid var(--line);padding:16px 0}
.gallery-grid{padding:0 clamp(22px,6vw,86px) var(--space);display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:14px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:24px;filter:saturate(.8)}
.gallery-grid .tall{grid-row:span 2}
.gallery-grid .wide{grid-column:span 2}

.contact-hero{min-height:100svh;padding:140px clamp(22px,6vw,86px) 70px;display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;background:linear-gradient(90deg,#050505,rgba(5,5,5,.84)),url("../images/camera-low-angle.jpg");background-size:cover;background-position:center}
.contact-copy h1{font-size:clamp(58px,10vw,140px)}
.contact-form{background:rgba(14,14,14,.78);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:28px;padding:28px}
.contact-form label{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;margin-bottom:16px}
input,textarea,select{width:100%;margin-top:8px;background:#060606;border:1px solid var(--line);border-radius:14px;color:var(--text);padding:14px 14px;font:inherit;letter-spacing:0;text-transform:none}

.site-footer{border-top:1px solid var(--line);padding:clamp(40px,6vw,80px) clamp(22px,6vw,86px);display:flex;justify-content:space-between;gap:32px;align-items:flex-end}
.site-footer h2{font-size:clamp(34px,5vw,74px)}
.footer-links{display:flex;gap:20px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px}

.reveal{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity .8s ease, transform .8s ease, filter .8s ease}
.reveal.in{opacity:1;transform:none;filter:none}

@media (max-width: 980px){
  .nav-toggle{display:block;z-index:60}
  .main-nav{position:fixed;inset:0;background:rgba(5,5,5,.96);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;font-size:34px;letter-spacing:-.04em;text-transform:uppercase;transform:translateX(100%);transition:.35s ease}
  .main-nav.open{transform:translateX(0)}
  .statement-grid,.split-section,.split-section.alt,.people-section,.timeline-section,.contact-hero{grid-template-columns:1fr}
  .world-cards,.rules-grid,.rules-grid.three,.specs-wall,.worlds-grid-page{grid-template-columns:1fr 1fr}
  .rules-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .spec-row{grid-template-columns:1fr}
  .people-mosaic img:first-child{height:420px}
}
@media (max-width: 640px){
  .site-header{height:66px}
  .brand span{font-size:12px}
  .brand-mark{width:28px;height:28px}
  .hero{padding-left:20px;padding-right:20px}
  h1{font-size:clamp(48px,17vw,86px)}
  h2{font-size:clamp(36px,13vw,68px)}
  .world-cards,.rules-grid,.rules-grid.three,.specs-wall,.worlds-grid-page,.gallery-grid{grid-template-columns:1fr}
  .world-cards article,.world-tile{min-height:340px}
  .site-footer{display:block}
  .footer-links{flex-wrap:wrap;margin-top:24px}
  .scroll-cue{display:none}
  .page-hero{min-height:74vh}
}


/* V3.1 polish updates */
.brand.logo-only { gap:0; }
.brand-logo {
  width: 186px;
  height: auto;
  object-fit: contain;
  display:block;
}
.site-header.is-scrolled .brand-logo { width: 160px; }
.marquee span {
  color: var(--gold) !important;
  -webkit-text-stroke: 0 !important;
  opacity: .95;
}
.world-tile p,
.world-cards span {
  color: var(--gold);
}
@media (max-width:640px){
  .brand-logo { width: 138px; }
  .site-header.is-scrolled .brand-logo { width: 128px; }
}


/* V3.2 polish refinements */
.brand.logo-only {
  min-width: 190px;
}
.brand-logo {
  width: 190px;
  height: auto;
  display:block;
  object-fit:contain;
  /* supplied logo is black, so invert it for the dark header */
  filter: invert(1) brightness(1.25) contrast(1.12);
  opacity: .96;
}
.site-header {
  align-items:center;
}
.site-header.is-scrolled .brand-logo { width: 168px; }

/* Wider, less compressed typography */
h1, h2, h3, .manifesto-line, .marquee span, .world-cards span, .world-tile p, .big-spec strong {
  font-stretch: 108%;
  font-variation-settings: "wdth" 108;
}
h1 {
  letter-spacing: -0.065em;
}
h2 {
  letter-spacing: -0.055em;
}
h3,
.world-cards span,
.world-tile p,
.rule-card span {
  letter-spacing: -0.035em;
}

/* Make homepage world cards show images reliably */
.world-cards article::before {
  background-image: linear-gradient(0deg,#000 4%,rgba(0,0,0,.42) 48%,rgba(0,0,0,.14)), var(--bgimg) !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: .82;
}
.world-cards article {
  background:#111;
}

/* Smaller, quicker orange world banner */
.marquee-section {
  padding: 12px 0;
}
.marquee span {
  font-size: clamp(30px, 5.2vw, 76px);
  line-height: .95;
  color: var(--gold) !important;
  -webkit-text-stroke: 0 !important;
  animation-duration: 14s !important;
  opacity:.92;
}

/* Subtle delivery tier colours */
.rules-grid.three .rule-card:nth-child(1) {
  border-color: rgba(216,170,94,.38);
  background: linear-gradient(180deg, rgba(216,170,94,.14), rgba(17,17,17,.92));
  box-shadow: inset 0 0 60px rgba(216,170,94,.045);
}
.rules-grid.three .rule-card:nth-child(2) {
  border-color: rgba(116,150,190,.34);
  background: linear-gradient(180deg, rgba(116,150,190,.12), rgba(17,17,17,.92));
  box-shadow: inset 0 0 60px rgba(116,150,190,.04);
}
.rules-grid.three .rule-card:nth-child(3) {
  border-color: rgba(120,190,142,.30);
  background: linear-gradient(180deg, rgba(120,190,142,.11), rgba(17,17,17,.92));
  box-shadow: inset 0 0 60px rgba(120,190,142,.035);
}

/* Clean up tiny notes if any remain */
.small-note {
  display:none !important;
}

/* Slightly reduce huge headings where they were becoming too tight */
.contact-copy h1 {
  font-size: clamp(50px, 8.6vw, 118px);
}
.specs-wall .big-spec strong {
  font-size: clamp(40px, 5.2vw, 76px);
}

@media (max-width: 640px){
  .brand.logo-only { min-width: 132px; }
  .brand-logo { width: 138px; }
  .site-header.is-scrolled .brand-logo { width: 128px; }
  h1 { letter-spacing: -0.055em; }
  h2 { letter-spacing: -0.045em; }
  .marquee span { animation-duration: 10s !important; }
}


/* V3.3 polish refinements */
.intro-sequence {
  overflow:hidden;
  background:#000;
}
.intro-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.42;
  filter: brightness(.72) contrast(1.12) saturate(.9);
}
.intro-shade {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.12), rgba(0,0,0,.78) 72%),
    linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.72));
}
.intro-sequence p {
  z-index:2;
  text-shadow: 0 14px 42px rgba(0,0,0,.7);
}

/* Keep the logo size stable while scrolling */
.brand.logo-only,
.site-header.is-scrolled .brand.logo-only {
  min-width: 190px;
}
.brand-logo,
.site-header.is-scrolled .brand-logo {
  width: 190px !important;
  height:auto;
  transition:none !important;
}

/* Team manifesto: no stops, smaller, warmer orange shades */
.team-manifesto {
  max-width: 1180px;
}
.manifesto-line {
  font-size: clamp(38px, 7.4vw, 104px) !important;
  letter-spacing: -0.04em !important;
  color: var(--gold);
  border-bottom-color: rgba(216,170,94,.22);
}
.manifesto-line:nth-child(1) { color:#f2c36f; }
.manifesto-line:nth-child(2) { color:#dfa95e; }
.manifesto-line:nth-child(3) { color:#c98a48; }
.manifesto-line:nth-child(4) { color:#b8703a; }
.manifesto-line:nth-child(5) { color:#f0b85d; }

@media (max-width:640px){
  .brand.logo-only,
  .site-header.is-scrolled .brand.logo-only { min-width:138px; }
  .brand-logo,
  .site-header.is-scrolled .brand-logo { width:138px !important; }
  .manifesto-line { font-size: clamp(36px, 14vw, 72px) !important; }
}


/* V3.4 slim premium worlds banner */
.marquee-section {
  padding: 0;
  background: rgba(16, 24, 22, .78);
  border-top: 1px solid rgba(216,170,94,.18);
  border-bottom: 1px solid rgba(216,170,94,.18);
}
.marquee.slim-marquee {
  padding: 14px 0;
}
.marquee.slim-marquee span {
  font-size: clamp(14px, 1.45vw, 22px) !important;
  line-height: 1 !important;
  letter-spacing: .18em !important;
  font-weight: 850 !important;
  color: var(--gold) !important;
  -webkit-text-stroke: 0 !important;
  text-transform: uppercase;
  animation-duration: 18s !important;
  opacity: .96;
  text-shadow: 0 0 18px rgba(216,170,94,.08);
}


/* V3.5 intro: logo film above text, black background */
.intro-logo-sequence {
  background:#000 !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: clamp(24px, 5vw, 54px);
}
.intro-logo-video {
  position:relative;
  width:min(78vw, 820px);
  max-height:42vh;
  height:auto;
  object-fit:contain;
  opacity:1;
  filter:none;
  z-index:2;
}
.intro-text-stack {
  position:relative;
  min-height: clamp(52px, 8vw, 110px);
  width:100%;
  display:grid;
  place-items:center;
  z-index:3;
}
.intro-logo-sequence p {
  position:absolute;
  font-size:clamp(24px,5.4vw,78px);
  line-height:.9;
}

/* V3.5 homepage world cards as living image windows */
.world-cards article.pan-card {
  min-height: 460px;
  --pan-x:50%;
  --pan-y:50%;
  isolation:isolate;
}
.world-cards article.pan-card::before {
  background-image:
    linear-gradient(0deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.38) 48%, rgba(0,0,0,.08) 100%),
    var(--bgimg) !important;
  background-size: 118% auto !important;
  background-position: var(--pan-x) var(--pan-y) !important;
  opacity: .94 !important;
  transform: scale(1.035);
  transition: background-position .12s ease-out, transform .45s ease, opacity .3s ease;
}
.world-cards article.pan-card:hover::before {
  transform: scale(1.09);
  opacity: 1 !important;
}
.world-cards article.pan-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 25%, rgba(216,170,94,.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 22%);
  opacity:.45;
  z-index:0;
  pointer-events:none;
}
.world-cards article.pan-card span,
.world-cards article.pan-card p {
  text-shadow: 0 8px 28px rgba(0,0,0,.75);
}
.world-cards article.pan-card span {
  color:#f2bd66;
}
@media (max-width:980px){
  .world-cards article.pan-card::before {
    background-size: cover !important;
    background-position:center !important;
  }
}


/* V3.6 intro pacing: logo animation first, text after */
.intro-logo-sequence {
  background:#000 !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(22px,4vw,48px);
}
.intro-logo-video {
  position:relative !important;
  width:min(76vw, 760px) !important;
  max-height:46vh !important;
  height:auto !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:none !important;
  z-index:2 !important;
}
.intro-logo-sequence.logo-hold .intro-logo-video {
  animation: logoSettle .55s ease forwards;
}
@keyframes logoSettle {
  to { transform: translateY(-22px) scale(.92); opacity:.96; }
}
.intro-text-stack {
  position:relative;
  min-height:clamp(52px,8vw,108px);
  width:100%;
  display:grid;
  place-items:center;
  z-index:3;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .45s ease, transform .45s ease;
}
.intro-text-stack.active {
  opacity:1;
  transform:none;
}
.intro-logo-sequence p {
  position:absolute !important;
  font-size:clamp(24px,5.4vw,74px) !important;
  line-height:.9 !important;
  text-shadow:0 14px 42px rgba(0,0,0,.85);
}

/* V3.6 image-backed New Products cards */
.world-cards.image-world-cards article,
.world-cards article.pan-card {
  position:relative;
  overflow:hidden;
  min-height:460px;
  --pan-x:50%;
  --pan-y:50%;
  background:#111 !important;
  border-width:1.5px;
}
.world-cards.image-world-cards article::before,
.world-cards article.pan-card::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  background-image:
    linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.58) 46%, rgba(0,0,0,.20) 100%),
    var(--bgimg) !important;
  background-size:120% auto !important;
  background-position:var(--pan-x) var(--pan-y) !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  transform:scale(1.025);
  transition:background-position .12s ease-out, transform .45s ease, filter .35s ease;
}
.world-cards.image-world-cards article:hover::before,
.world-cards article.pan-card:hover::before {
  transform:scale(1.09);
  filter:saturate(1.1) brightness(1.08);
}
.world-cards.image-world-cards article::after,
.world-cards article.pan-card::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.55;
  background:
    radial-gradient(circle at 20% 12%, var(--tone-glow, rgba(216,170,94,.20)), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 25%);
}
.world-cards.image-world-cards article > *,
.world-cards article.pan-card > * {
  position:relative;
  z-index:1;
}
.world-cards.image-world-cards span,
.world-cards article.pan-card span {
  color:var(--tone, #f2bd66) !important;
  text-shadow:0 10px 28px rgba(0,0,0,.72);
}
.world-cards.image-world-cards p,
.world-cards article.pan-card p {
  text-shadow:0 10px 28px rgba(0,0,0,.72);
}

/* Per-card colour signatures */
.tone-boxing {
  --tone:#ff8b5c;
  --tone-glow:rgba(255,105,68,.28);
  border-color:rgba(255,139,92,.42) !important;
  box-shadow:0 0 0 1px rgba(255,139,92,.05), inset 0 0 60px rgba(255,105,68,.05);
}
.tone-gigs {
  --tone:#9fe078;
  --tone-glow:rgba(116,205,88,.24);
  border-color:rgba(159,224,120,.35) !important;
  box-shadow:0 0 0 1px rgba(159,224,120,.04), inset 0 0 60px rgba(116,205,88,.045);
}
.tone-villas {
  --tone:#e9c075;
  --tone-glow:rgba(233,192,117,.26);
  border-color:rgba(233,192,117,.42) !important;
  box-shadow:0 0 0 1px rgba(233,192,117,.04), inset 0 0 60px rgba(233,192,117,.05);
}
.tone-training {
  --tone:#7ec8ff;
  --tone-glow:rgba(126,200,255,.24);
  border-color:rgba(126,200,255,.38) !important;
  box-shadow:0 0 0 1px rgba(126,200,255,.04), inset 0 0 60px rgba(126,200,255,.045);
}

/* More colour on other bubble/card elements */
.rule-card,
.timeline-card,
.big-spec,
.world-tile,
.contact-form {
  border-width:1.5px !important;
}
.rule-card:nth-child(4n+1),
.timeline-card:nth-child(odd),
.big-spec:nth-child(4n+1) {
  border-color:rgba(216,170,94,.34) !important;
}
.rule-card:nth-child(4n+2),
.timeline-card:nth-child(even),
.big-spec:nth-child(4n+2) {
  border-color:rgba(126,200,255,.28) !important;
}
.rule-card:nth-child(4n+3),
.big-spec:nth-child(4n+3) {
  border-color:rgba(159,224,120,.24) !important;
}
.rule-card:nth-child(4n+4),
.big-spec:nth-child(4n+4) {
  border-color:rgba(255,139,92,.27) !important;
}
.world-tile:nth-child(6n+1) { border-color:rgba(159,224,120,.34) !important; }
.world-tile:nth-child(6n+2) { border-color:rgba(255,139,92,.38) !important; }
.world-tile:nth-child(6n+3) { border-color:rgba(233,192,117,.38) !important; }
.world-tile:nth-child(6n+4) { border-color:rgba(210,90,255,.28) !important; }
.world-tile:nth-child(6n+5) { border-color:rgba(126,200,255,.34) !important; }
.world-tile:nth-child(6n+6) { border-color:rgba(159,224,120,.26) !important; }

@media (max-width:980px){
  .world-cards.image-world-cards article::before,
  .world-cards article.pan-card::before {
    background-size:cover !important;
    background-position:center !important;
  }
}


/* V3.8 reliable image cards using real <img> elements */
.v38-world-cards {
  gap: clamp(16px, 1.7vw, 26px) !important;
}

.v38-card {
  min-height: clamp(420px, 34vw, 560px) !important;
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
  cursor: default;
  --pan-x: 50%;
  --pan-y: 50%;
  background: #080808 !important;
  border-width: 1.5px !important;
  border-radius: 26px;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.v38-card-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 112%;
  height: 112%;
  max-width: none;
  object-fit: cover;
  object-position: var(--pan-x) var(--pan-y);
  opacity: .92;
  filter: saturate(1.08) contrast(1.04) brightness(.86);
  transform: scale(1.03);
  animation: v38LivingZoom 24s ease-in-out infinite alternate;
  transition: transform .55s ease, filter .35s ease, opacity .35s ease, object-position .12s ease-out;
}

.v38-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.04) 0%,
      rgba(0,0,0,.12) 32%,
      rgba(0,0,0,.52) 68%,
      rgba(0,0,0,.92) 100%);
}

.v38-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--pan-x) var(--pan-y),
      var(--tone-glow, rgba(216,170,94,.28)),
      transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.11), transparent 22%);
  opacity: .55;
  transition: opacity .35s ease;
}

.v38-card:hover {
  transform: translateY(-8px);
}

.v38-card:hover .v38-card-img {
  transform: scale(1.115);
  filter: saturate(1.16) contrast(1.08) brightness(.98);
  opacity: 1;
  animation-play-state: paused;
}

.v38-card:hover::after {
  opacity: .88;
}

.v38-card span,
.v38-card p {
  position: relative;
  z-index: 2;
  text-shadow: 0 10px 30px rgba(0,0,0,.82);
}

.v38-card span {
  display: block;
  color: var(--tone, #f2bd66) !important;
  transform: translateY(8px);
  transition: transform .35s ease;
}

.v38-card p {
  max-width: 92%;
  opacity: .9;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s ease;
}

.v38-card:hover span,
.v38-card:hover p {
  transform: translateY(0);
  opacity: 1;
}

.v38-card.tone-boxing {
  --tone:#ff8b5c;
  --tone-glow:rgba(255,95,58,.34);
  border-color: rgba(255,139,92,.58) !important;
  box-shadow: inset 0 0 80px rgba(255,95,58,.08), 0 0 0 1px rgba(255,139,92,.05);
}
.v38-card.tone-gigs {
  --tone:#9fe078;
  --tone-glow:rgba(116,205,88,.32);
  border-color: rgba(159,224,120,.52) !important;
  box-shadow: inset 0 0 80px rgba(116,205,88,.07), 0 0 0 1px rgba(159,224,120,.05);
}
.v38-card.tone-villas {
  --tone:#e9c075;
  --tone-glow:rgba(233,192,117,.33);
  border-color: rgba(233,192,117,.58) !important;
  box-shadow: inset 0 0 80px rgba(233,192,117,.08), 0 0 0 1px rgba(233,192,117,.05);
}
.v38-card.tone-training {
  --tone:#7ec8ff;
  --tone-glow:rgba(126,200,255,.32);
  border-color: rgba(126,200,255,.54) !important;
  box-shadow: inset 0 0 80px rgba(126,200,255,.07), 0 0 0 1px rgba(126,200,255,.05);
}

.v38-card.tone-boxing:hover { box-shadow: inset 0 0 90px rgba(255,95,58,.12), 0 0 34px rgba(255,95,58,.16); }
.v38-card.tone-gigs:hover { box-shadow: inset 0 0 90px rgba(116,205,88,.11), 0 0 34px rgba(116,205,88,.15); }
.v38-card.tone-villas:hover { box-shadow: inset 0 0 90px rgba(233,192,117,.12), 0 0 34px rgba(233,192,117,.16); }
.v38-card.tone-training:hover { box-shadow: inset 0 0 90px rgba(126,200,255,.11), 0 0 34px rgba(126,200,255,.15); }

@keyframes v38LivingZoom {
  from { transform: scale(1.03); }
  to { transform: scale(1.095); }
}

@media (max-width: 980px) {
  .v38-card {
    min-height: 360px !important;
  }
  .v38-card-img {
    width: 100%;
    height: 100%;
    object-position: center !important;
  }
}


/* Calm boxes CSS-only patch.
   IMPORTANT: no JavaScript has been edited, so the working intro remains untouched. */
.v38-card {
  --pan-x: 50% !important;
  --pan-y: 50% !important;
  transform: none !important;
  transition: border-color .35s ease, box-shadow .35s ease !important;
}

.v38-card:hover {
  transform: none !important;
}

.v38-card-img {
  width: 100% !important;
  height: 100% !important;
  object-position: center center !important;
  transform: scale(1.04) !important;
  animation: calmBoxZoomCssOnly 42s ease-in-out infinite alternate !important;
  transition: transform .8s ease, filter .45s ease, opacity .45s ease !important;
}

.v38-card:hover .v38-card-img {
  transform: scale(1.06) !important;
  filter: saturate(1.06) contrast(1.03) brightness(.93) !important;
  animation-play-state: running !important;
}

.v38-card::after {
  background:
    radial-gradient(circle at 50% 26%, var(--tone-glow, rgba(216,170,94,.20)), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 24%) !important;
  opacity: .42 !important;
}

.v38-card:hover::after {
  opacity: .52 !important;
}

.v38-card span,
.v38-card p,
.v38-card:hover span,
.v38-card:hover p {
  transform: none !important;
}

@keyframes calmBoxZoomCssOnly {
  from { transform: scale(1.04); }
  to { transform: scale(1.055); }
}

@media (prefers-reduced-motion: reduce) {
  .v38-card-img {
    animation: none !important;
    transform: scale(1.045) !important;
  }
}


/* V3.12 clean world cards: image tile + text below, no busy frame */
.clean-world-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  align-items: start !important;
}

.clean-world-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  display: block !important;
  box-shadow: none !important;
  overflow: visible !important;
  cursor: default !important;
}

.clean-world-card::before,
.clean-world-card::after {
  display: none !important;
  content: none !important;
}

.clean-world-image {
  aspect-ratio: 4 / 5;
  border-radius: 26px;
  overflow: hidden;
  background: #111;
  position: relative;
  transform: translateZ(0);
}

.clean-world-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 26%),
    radial-gradient(circle at 50% 18%, var(--clean-glow, rgba(216,170,94,.16)), transparent 48%);
  opacity: .45;
}

.clean-world-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  max-width: none;
  display: block;
  filter: saturate(1.02) contrast(1.02) brightness(.9);
  transform: scale(1.035);
  animation: cleanCardZoom 36s ease-in-out infinite alternate;
  transition: transform .9s ease, filter .45s ease;
}

.clean-world-card:hover .clean-world-image img {
  transform: scale(1.07);
  filter: saturate(1.06) contrast(1.04) brightness(.96);
}

.clean-world-copy {
  padding: 18px 4px 0;
  min-height: 94px;
}

.clean-world-copy span {
  display: block;
  font-size: clamp(22px, 1.8vw, 32px);
  line-height: .95;
  text-transform: uppercase;
  font-weight: 850;
  letter-spacing: -0.035em;
  color: var(--clean-tone, var(--gold));
}

.clean-world-copy p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.32;
  font-size: clamp(14px, .95vw, 16px);
  max-width: 92%;
}

.clean-boxing { --clean-tone:#ff8b5c; --clean-glow:rgba(255,95,58,.18); }
.clean-gigs { --clean-tone:#9fe078; --clean-glow:rgba(116,205,88,.16); }
.clean-villas { --clean-tone:#e9c075; --clean-glow:rgba(233,192,117,.18); }
.clean-training { --clean-tone:#7ec8ff; --clean-glow:rgba(126,200,255,.16); }

@keyframes cleanCardZoom {
  from { transform: scale(1.035); }
  to { transform: scale(1.055); }
}

@media (max-width: 980px) {
  .clean-world-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .clean-world-cards {
    grid-template-columns: 1fr !important;
  }
  .clean-world-image {
    aspect-ratio: 16 / 11;
  }
}

@media (prefers-reduced-motion: reduce) {
  .clean-world-image img {
    animation: none !important;
    transform: scale(1.04) !important;
  }
}


/* V3.14 intro text uses Archivo/display typography */
.intro-sequence p,
.intro-hard-text div,
.intro-text-stack p,
[data-intro-line],
[data-intro-text] p {
  font-family: ArchivoLocal, Archivo, Arial, sans-serif !important;
  font-weight: 860 !important;
  font-stretch: 108% !important;
  font-variation-settings: "wdth" 108 !important;
  letter-spacing: -0.055em !important;
  text-transform: uppercase !important;
}


/* Archivo intro lock — added after inspection of supplied IMMERSED.zip */
.intro-sequence,
.intro-sequence *,
.intro-logo-sequence,
.intro-logo-sequence *,
.intro-hard-reset,
.intro-hard-reset *,
.intro-text-stack,
.intro-text-stack *,
.intro-hard-text,
.intro-hard-text *,
[data-intro],
[data-intro] *,
[data-intro-text],
[data-intro-text] *,
[data-intro-line] {
  font-family: ArchivoLocal, Archivo, "Arial Narrow", Arial, sans-serif !important;
}

.intro-sequence p,
.intro-hard-text div,
.intro-text-stack p,
[data-intro-line] {
  font-weight: 860 !important;
  font-stretch: 108% !important;
  font-variation-settings: "wdth" 108, "wght" 860 !important;
  letter-spacing: -0.055em !important;
  text-transform: uppercase !important;
}


/* V3.15 intro typography refinement */
.intro-sequence p,
.intro-hard-text div,
.intro-text-stack p,
[data-intro-line],
[data-intro-text] p {
  font-family: ArchivoLocal, Archivo, Arial, sans-serif !important;
  font-weight: 650 !important;
  font-stretch: 100% !important;
  font-variation-settings: "wdth" 100, "wght" 650 !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  font-size: clamp(22px, 4.6vw, 66px) !important;
  line-height: 0.98 !important;
}


/* V3.16 force Archivo onto the site and intro */
html,
body {
  font-family: "ArchivoSite", Archivo, Arial, sans-serif !important;
}

.intro-sequence,
.intro-sequence *,
.intro-logo-sequence,
.intro-logo-sequence *,
.intro-hard-reset,
.intro-hard-reset *,
.intro-text-stack,
.intro-text-stack *,
.intro-hard-text,
.intro-hard-text *,
[data-intro],
[data-intro] *,
[data-intro-text],
[data-intro-text] *,
[data-intro-line] {
  font-family: "ArchivoSite", Archivo, Arial, sans-serif !important;
}

.intro-sequence p,
.intro-hard-text div,
.intro-text-stack p,
[data-intro-line],
[data-intro-text] p {
  font-family: "ArchivoSite", Archivo, Arial, sans-serif !important;
  font-weight: 420 !important;
  font-stretch: 100% !important;
  font-variation-settings: "wght" 420, "wdth" 100 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 4.4vw, 64px) !important;
  line-height: 1.02 !important;
}


/* Force Archivo on intro and global type */
html,
body {
  font-family: "ArchivoFixed", Archivo, Arial, sans-serif !important;
}

.intro-sequence,
.intro-sequence *,
.intro-logo-sequence,
.intro-logo-sequence *,
.intro-hard-reset,
.intro-hard-reset *,
.intro-text-stack,
.intro-text-stack *,
.intro-hard-text,
.intro-hard-text *,
[data-intro],
[data-intro] *,
[data-intro-text],
[data-intro-text] *,
[data-intro-line],
#introOverlay,
#introOverlay *,
#introText,
#introText *,
.hero-intro,
.hero-intro *,
.intro-title,
.intro-copy {
  font-family: "ArchivoFixed", Archivo, Arial, sans-serif !important;
}

.intro-sequence p,
.intro-hard-text div,
.intro-text-stack p,
[data-intro-line],
[data-intro-text] p,
#introText,
#introText div,
#introOverlay p {
  font-family: "ArchivoFixed", Archivo, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-stretch: 100% !important;
  font-variation-settings: "wght" 400, "wdth" 100 !important;
  letter-spacing: 0.005em !important;
  text-transform: uppercase !important;
}

/* Optional visual test class */
.archivo-test {
  font-family: "ArchivoFixed", Archivo, Arial, sans-serif !important;
  font-weight: 400;
}


/* V3.17 Product polish */
html,
body {
  font-family: "Archivo", Arial, sans-serif !important;
}

.intro-sequence,
.intro-sequence *,
[data-intro],
[data-intro] *,
[data-intro-line],
[data-intro-text],
[data-intro-text] * {
  font-family: "Archivo", Arial, sans-serif !important;
}

.intro-sequence p,
[data-intro-line],
[data-intro-text] p {
  font-family: "Archivo", Arial, sans-serif !important;
  font-weight: 420 !important;
  font-variation-settings: "wght" 420, "wdth" 100 !important;
  font-stretch: 100% !important;
  letter-spacing: 0.005em !important;
}

/* Product-like delivery tier cards */
.product-tier-grid {
  gap: clamp(18px, 2vw, 28px) !important;
}

.product-tier {
  position: relative;
  min-height: 360px !important;
  padding: clamp(26px, 3vw, 42px) !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  isolation: isolate;
}

.product-tier::before {
  content: "";
  position: absolute;
  right: -42px;
  top: -44px;
  width: 190px;
  height: 190px;
  border-radius: 44%;
  border: 1px solid currentColor;
  opacity: .09;
  transform: rotate(-18deg);
  z-index: 0;
}

.product-tier::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 84% 10%, currentColor, transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,.07), transparent 28%);
  opacity: .10;
  pointer-events: none;
  z-index: 0;
}

.product-tier > * {
  position: relative;
  z-index: 1;
}

.tier-device {
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  font-weight: 850;
  color: var(--gold);
  margin-bottom: 26px;
}

.product-tier h3 {
  font-size: clamp(32px, 3.5vw, 54px) !important;
  line-height: .92 !important;
  margin: 0 0 26px !important;
  letter-spacing: -0.055em !important;
}

.product-tier ul {
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--muted);
  font-size: clamp(15px, 1vw, 17px);
  line-height: 1.65;
}

.product-tier li::before {
  content: "•";
  color: currentColor;
  margin-right: 9px;
}

.tier-tag {
  display: inline-flex;
  width: fit-content;
  margin-top: 34px;
  padding: 9px 13px;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 11px !important;
  font-weight: 850;
  color: currentColor;
  background: rgba(255,255,255,.035);
}

.product-tier-high {
  color: #e9c075;
  border-color: rgba(233,192,117,.48) !important;
  background: linear-gradient(180deg, rgba(233,192,117,.16), rgba(17,17,17,.94)) !important;
  box-shadow: inset 0 0 80px rgba(233,192,117,.07);
}

.product-tier-mid {
  color: #7ec8ff;
  border-color: rgba(126,200,255,.42) !important;
  background: linear-gradient(180deg, rgba(126,200,255,.13), rgba(17,17,17,.94)) !important;
  box-shadow: inset 0 0 80px rgba(126,200,255,.06);
}

.product-tier-low {
  color: #9fe078;
  border-color: rgba(159,224,120,.38) !important;
  background: linear-gradient(180deg, rgba(159,224,120,.12), rgba(17,17,17,.94)) !important;
  box-shadow: inset 0 0 80px rgba(159,224,120,.055);
}

@media (max-width: 980px) {
  .product-tier {
    min-height: 300px !important;
  }
}


/* V3.18 Team page refresh */
.team-hero-refresh img {
  object-position: center 46%;
}

.leadership-section {
  padding: var(--space) clamp(22px, 6vw, 86px);
  max-width: 1500px;
  margin: auto;
}

.leader-profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 82px);
  align-items: center;
  margin-top: clamp(52px, 8vw, 110px);
}

.leader-image {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  min-height: 0;
  background: #111;
  transform: translateZ(0);
}

.leader-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 28%),
    radial-gradient(circle at 50% 18%, var(--leader-glow, rgba(216,170,94,.18)), transparent 48%),
    linear-gradient(0deg, rgba(0,0,0,.28), transparent 44%);
  opacity: .78;
}

.leader-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--leader-position, center);
  display: block;
  filter: saturate(.96) contrast(1.03) brightness(.9);
  transform: scale(1.02);
  transition: transform .9s ease, filter .45s ease;
}

.leader-profile:hover .leader-image img {
  transform: scale(1.045);
  filter: saturate(1.02) contrast(1.05) brightness(.96);
}

.leader-linda {
  --leader-glow: rgba(233,192,117,.2);
  --leader-position: center;
}

.leader-dean {
  --leader-glow: rgba(126,200,255,.18);
  --leader-position: 38% center;
}

.leader-copy {
  max-width: 680px;
}

.leader-copy h2 {
  color: var(--text);
  margin-bottom: 24px;
}

.leader-copy blockquote {
  margin: 0 0 34px;
  padding: 0;
  font-size: clamp(24px, 2.5vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.055em;
  font-weight: 720;
  color: var(--gold);
}

.leader-dean .leader-copy blockquote {
  color: #7ec8ff;
}

.leader-copy p:not(.eyebrow) {
  color: var(--muted);
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.48;
  max-width: 660px;
}

.team-manifesto-refined {
  max-width: 1120px;
  padding-top: 0;
}

.team-manifesto-refined .manifesto-line {
  color: var(--gold) !important;
  font-size: clamp(44px, 8vw, 116px) !important;
  letter-spacing: -0.055em !important;
  border-bottom-color: rgba(216,170,94,.22) !important;
}

.team-closing-statement {
  padding-top: 0;
}

@media (max-width: 980px) {
  .leader-profile,
  .leader-dean {
    grid-template-columns: 1fr;
  }

  .leader-dean .leader-copy {
    order: 2;
  }

  .leader-dean .leader-image {
    order: 1;
  }

  .leader-image {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .leader-image {
    min-height: 0;
    border-radius: 22px;
  }
}

/* V3.19 Team image sizing fix */
.leader-image{
  height:auto !important;
  min-height:0 !important;
}
.leader-image img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block;
}


/* Phase 2 Worlds refresh */
.world-card-logo {
  display: block;
  width: min(100%, 300px);
  max-height: 54px;
  object-fit: contain;
  object-position: left center;
  margin: 0 0 12px;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.42));
}

.worlds-hero-refresh {
  position: relative;
  overflow: hidden;
}

.worlds-hero-media {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  opacity: .42;
  filter: saturate(.95) brightness(.82);
}

.worlds-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.42), rgba(0,0,0,.86)),
    linear-gradient(0deg, rgba(0,0,0,.8), transparent 42%);
}

.worlds-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.world-logo-strip-section {
  padding: clamp(28px, 5vw, 70px) clamp(22px, 6vw, 86px) 0;
}

.world-logo-strip {
  display: flex;
  gap: clamp(24px, 4vw, 70px);
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: clamp(22px, 3vw, 42px);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.015);
}

.world-logo-strip img {
  width: clamp(130px, 13vw, 230px);
  max-height: 54px;
  object-fit: contain;
  opacity: .92;
  filter: drop-shadow(0 12px 28px rgba(0,0,0,.45));
}

.worlds-grid-section {
  padding: var(--space) clamp(22px, 6vw, 86px);
}

.worlds-logo-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
  margin-top: clamp(34px, 5vw, 70px);
}

.world-logo-card {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  overflow: hidden;
}

.world-logo-card-image {
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: #111;
}

.world-logo-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(.95) contrast(1.04) brightness(.85);
  transform: scale(1.02);
  transition: transform .7s ease, filter .4s ease;
}

.world-logo-card:hover .world-logo-card-image img {
  transform: scale(1.055);
  filter: saturate(1.04) contrast(1.06) brightness(.96);
}

.world-logo-card-copy {
  padding: clamp(20px, 2.4vw, 34px);
  min-height: 150px;
}

.world-logo-card-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
  font-size: clamp(15px, 1vw, 17px);
}

.phase2-world-cards {
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
}

.phase2-world-cards .clean-world-copy {
  min-height: 112px;
}

.phase2-world-cards .world-card-logo {
  max-height: 42px;
  width: 100%;
  max-width: 220px;
  margin-bottom: 10px;
}

@media (max-width: 1100px) {
  .worlds-logo-grid,
  .phase2-world-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .worlds-hero-media {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .worlds-logo-grid,
  .phase2-world-cards {
    grid-template-columns: 1fr !important;
  }
  .world-logo-strip {
    justify-content: flex-start;
  }
}


/* Phase 2B Worlds polish */
.world-logo-strip-section {
  display: none !important;
}

.world-card-logo {
  opacity: 1 !important;
  filter: drop-shadow(0 12px 30px rgba(0,0,0,.55)) !important;
  max-height: 64px !important;
}

.world-logo-card-copy .world-card-logo {
  margin-bottom: 18px !important;
}

.phase2-world-cards .world-card-logo {
  max-height: 48px !important;
}

.world-logo-card {
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
}

.world-logo-card-copy {
  padding-top: clamp(24px, 2.7vw, 38px) !important;
}


/* Phase 2C Worlds hero refinement */
.worlds-hero-media{
    opacity:0.58 !important;
    filter:saturate(1.0) brightness(1.02) !important;
}
.worlds-hero-media::after{
    background:
      linear-gradient(90deg, rgba(0,0,0,.68), rgba(0,0,0,.30), rgba(0,0,0,.72)),
      linear-gradient(0deg, rgba(0,0,0,.58), transparent 42%) !important;
}


/* Phase 3B Team Leadership Refresh */
.team-hero-refresh img {
  object-position: center 46%;
}

.leadership-section {
  padding: var(--space) clamp(22px, 6vw, 86px);
  max-width: 1500px;
  margin: auto;
}

.leadership-expanded {
  padding-top: clamp(40px, 6vw, 90px);
}

.leader-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(30px, 5vw, 82px);
  align-items: center;
  margin-top: clamp(56px, 8vw, 118px);
}

.leader-image {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  background: #111;
  transform: translateZ(0);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}

.leader-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 28%),
    radial-gradient(circle at 50% 18%, var(--leader-glow, rgba(216,170,94,.18)), transparent 48%),
    linear-gradient(0deg, rgba(0,0,0,.22), transparent 44%);
  opacity: .72;
}

.leader-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: var(--leader-position, center);
  display: block;
  filter: saturate(.96) contrast(1.03) brightness(.92);
  transform: scale(1.01);
  transition: transform .9s ease, filter .45s ease;
}

.leader-profile:hover .leader-image img {
  transform: scale(1.035);
  filter: saturate(1.04) contrast(1.05) brightness(.97);
}

.leader-image-portrait {
  max-width: 520px;
  justify-self: center;
}

.leader-linda,
.leader-bear {
  --leader-glow: rgba(233,192,117,.2);
  --leader-position: center;
}

.leader-dean,
.leader-ian {
  --leader-glow: rgba(126,200,255,.18);
  --leader-position: 38% center;
}

.leader-copy {
  max-width: 700px;
}

.leader-copy h2 {
  color: var(--text);
  margin-bottom: 24px;
}

.leader-copy blockquote {
  margin: 0 0 34px;
  padding: 0;
  font-size: clamp(24px, 2.5vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.055em;
  font-weight: 720;
  color: var(--gold);
}

.leader-dean .leader-copy blockquote,
.leader-ian .leader-copy blockquote {
  color: #7ec8ff;
}

.leader-copy p:not(.eyebrow) {
  color: var(--muted);
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.48;
  max-width: 680px;
}

.team-manifesto-refined {
  max-width: 1120px;
  padding-top: clamp(60px, 8vw, 120px);
}

.team-manifesto-refined .manifesto-line {
  color: var(--gold) !important;
  font-size: clamp(44px, 8vw, 116px) !important;
  letter-spacing: -0.055em !important;
  border-bottom-color: rgba(216,170,94,.22) !important;
}

.supporting-team-section {
  padding: var(--space) clamp(22px, 6vw, 86px);
  max-width: 1500px;
  margin: auto;
}

.supporting-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  margin-top: clamp(32px, 5vw, 62px);
}

.supporting-team-grid article {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  min-height: 190px;
  padding: 24px;
  background:
    radial-gradient(circle at 85% 0%, rgba(216,170,94,.12), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.12);
}

.supporting-team-grid article::after {
  content: "";
  position: absolute;
  inset: auto 20px 20px 20px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  opacity: .35;
}

.supporting-team-grid h3 {
  font-size: clamp(24px, 2vw, 36px);
  line-height: .95;
  letter-spacing: -0.055em;
  margin: 0 0 16px;
}

.supporting-team-grid p {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 850;
  margin: 0 0 16px;
}

.supporting-team-grid span {
  color: var(--muted);
  line-height: 1.35;
}

.team-closing-statement {
  padding-top: 0;
}

@media (max-width: 1180px) {
  .supporting-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .leader-profile,
  .leader-dean,
  .leader-ian {
    grid-template-columns: 1fr;
  }

  .leader-dean .leader-copy,
  .leader-ian .leader-copy {
    order: 2;
  }

  .leader-dean .leader-image,
  .leader-ian .leader-image {
    order: 1;
  }

  .supporting-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .leader-image {
    border-radius: 22px;
  }

  .supporting-team-grid {
    grid-template-columns: 1fr;
  }
}


/* V3.21 Intro outline typography */
.intro-logo-sequence p,
[data-intro-line]{
font-size:clamp(34px,6.4vw,96px)!important;
letter-spacing:0.02em!important;
color:transparent!important;
-webkit-text-stroke:2px rgba(255,255,255,0.95)!important;
text-stroke:2px rgba(255,255,255,0.95)!important;
font-weight:800!important;
}
.intro-text-stack{
min-height:clamp(80px,10vw,140px)!important;
}


/* Phase 3E intro title outline refinement */
.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title,
.intro-sequence h1,
.intro-sequence p,
.intro-sequence .intro-copy,
[data-intro-line],
[data-intro-text] p,
[data-intro-text] h1 {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  -webkit-text-stroke: clamp(1.3px, 0.16vw, 2.8px) rgba(255,255,255,.82) !important;
  text-stroke: clamp(1.3px, 0.16vw, 2.8px) rgba(255,255,255,.82) !important;
  font-size: clamp(4.8rem, 11.5vw, 13.8rem) !important;
  line-height: .78 !important;
  letter-spacing: -0.065em !important;
  font-weight: 900 !important;
  font-variation-settings: "wght" 900, "wdth" 115 !important;
  text-transform: uppercase !important;
}

/* Keep the Immersed logo solid */
.intro-sequence img,
.intro-sequence svg,
.intro-logo,
.intro-logo *,
.intro-mark,
.intro-mark * {
  color: #fff !important;
  -webkit-text-fill-color: initial !important;
  -webkit-text-stroke: 0 transparent !important;
  text-stroke: 0 transparent !important;
  opacity: 1 !important;
}

/* Avoid accidentally outlining nav/buttons if intro selectors are broad */
header *,
nav *,
.book-demo,
button {
  -webkit-text-stroke: initial;
  text-stroke: initial;
}


/* Phase 3F intro polish */
.intro-sequence,
.intro-overlay,
.intro-screen{
    border:none !important;
}
.intro-sequence::before,
.intro-sequence::after,
.intro-overlay::before,
.intro-overlay::after,
.intro-screen::before,
.intro-screen::after{
    border:none !important;
    display:none !important;
    content:none !important;
}

[data-intro-text],
.intro-copy,
.intro-title-wrap{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title,
[data-intro-line]{
    font-size: clamp(3.8rem, 9vw, 11rem) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}



/* Phase 4C: remove duplicate expanded world panels on homepage */
.home .world-detail,
.home .world-details,
.home .world-showcase,
.home .world-expanded,
.home .world-feature,
.home .world-panel,
.home .world-content,
body:not(.worlds-page) .world-detail,
body:not(.worlds-page) .world-details,
body:not(.worlds-page) .world-showcase,
body:not(.worlds-page) .world-expanded,
body:not(.worlds-page) .world-feature,
body:not(.worlds-page) .world-panel,
body:not(.worlds-page) .world-content {
  display: none !important;
}

/* Safety: hide large world detail modules while preserving compact card grids */
main > section:has(h2 + p + img),
main > section:has(h3 + p + img) {
  display: none;
}


/* Phase 4E controlled motion pass */

/* Keep intro smaller from previous polish */
.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title,
[data-intro-line] {
  font-size: clamp(2.8rem, 6.2vw, 7.4rem) !important;
}

/* Controlled reveal: smaller movement so it never overlaps eyebrow labels */
.motion-title,
.motion-copy,
.motion-card {
  opacity: 0;
  transition:
    opacity 1.15s cubic-bezier(.16, 1, .3, 1),
    transform 1.15s cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.motion-title {
  transform: translateY(-42px);
}

.motion-copy {
  transform: translateY(42px);
  transition-delay: 160ms;
}

.motion-card {
  transform: translateY(28px);
}

.motion-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .motion-title,
  .motion-copy,
  .motion-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* Phase 5 Living Site Pass */
.page-hero > img,
.split-image img,
.clean-world-image img,
.world-logo-card-image img,
.leader-image img,
.camera-card img,
.tech-image img,
.worlds-hero-media img {
  will-change: transform;
}

.page-hero > img,
.worlds-hero-media img {
  animation: ambientHeroDrift 26s ease-in-out infinite alternate;
  transform-origin: center;
}

.split-image img,
.clean-world-image img,
.world-logo-card-image img,
.leader-image img,
.camera-card img,
.tech-image img {
  animation: ambientImageDrift 18s ease-in-out infinite alternate;
  transform-origin: center;
}

@keyframes ambientHeroDrift {
  from { transform: scale(1.025) translateY(0); }
  to   { transform: scale(1.065) translateY(-14px); }
}

@keyframes ambientImageDrift {
  from { transform: scale(1.01) translateY(0); }
  to   { transform: scale(1.035) translateY(-8px); }
}

.clean-world-card,
.world-logo-card,
.leader-profile,
.product-tier,
.supporting-team-grid article,
.rule-card,
.big-spec,
.timeline-card {
  transition:
    transform .55s cubic-bezier(.16, 1, .3, 1),
    box-shadow .55s cubic-bezier(.16, 1, .3, 1),
    border-color .55s cubic-bezier(.16, 1, .3, 1),
    background .55s cubic-bezier(.16, 1, .3, 1);
}

.clean-world-card:hover,
.world-logo-card:hover,
.product-tier:hover,
.supporting-team-grid article:hover,
.rule-card:hover,
.big-spec:hover,
.timeline-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.leader-profile:hover {
  transform: translateY(-4px);
}

.clean-world-card:hover .clean-world-image img,
.world-logo-card:hover .world-logo-card-image img,
.leader-profile:hover .leader-image img,
.split-image:hover img {
  animation-play-state: paused;
  transform: scale(1.055) translateY(-4px);
}

.world-card-logo,
.world-logo-strip img,
.brand-logo {
  transition: transform .45s cubic-bezier(.16,1,.3,1), filter .45s ease, opacity .45s ease;
}

.world-logo-card:hover .world-card-logo,
.clean-world-card:hover .world-card-logo {
  transform: translateY(-2px) scale(1.025);
}

.has-micro-parallax {
  --mx: 0px;
  --my: 0px;
}

.has-micro-parallax img {
  transform: translate3d(var(--mx), var(--my), 0) scale(1.035);
}

@media (prefers-reduced-motion: reduce) {
  .page-hero > img,
  .worlds-hero-media img,
  .split-image img,
  .clean-world-image img,
  .world-logo-card-image img,
  .leader-image img,
  .camera-card img,
  .tech-image img {
    animation: none !important;
    transform: none !important;
  }

  .clean-world-card,
  .world-logo-card,
  .leader-profile,
  .product-tier,
  .supporting-team-grid article,
  .rule-card,
  .big-spec,
  .timeline-card {
    transition: none !important;
  }
}


/* TEAM PREMIUM PASS */
.leader-profile,
.team-card,
.leadership-card{
  transition:transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s cubic-bezier(.16,1,.3,1);
}

.leader-profile:hover,
.team-card:hover,
.leadership-card:hover{
  transform:translateY(-8px);
}

.leader-image,
.team-image{
  overflow:hidden;
}

.leader-image img,
.team-image img{
  transition:transform 8s ease;
  transform:scale(1.03);
}

.leader-profile:hover .leader-image img,
.team-card:hover .team-image img{
  transform:scale(1.08);
}

.team-reveal,
.leader-profile{
  opacity:0;
  transform:translateY(40px);
  transition:opacity 1.2s ease, transform 1.2s ease;
}

.team-reveal.visible,
.leader-profile.visible{
  opacity:1;
  transform:translateY(0);
}

.leader-quote{
  transition:opacity 1.4s ease .15s, transform 1.4s ease .15s;
}


/* Phase 7 Site Motion Rollout
   Applies the successful Team premium motion language across key site sections. */

.premium-reveal,
.premium-card,
.premium-image,
.premium-copy {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 1.15s cubic-bezier(.16,1,.3,1),
    transform 1.15s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}

.premium-title {
  opacity: 0;
  transform: translateY(36px);
  transition:
    opacity 1.2s cubic-bezier(.16,1,.3,1),
    transform 1.2s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}

.premium-copy {
  transition-delay: 120ms;
}

.premium-card {
  transition-delay: var(--stagger, 0ms);
}

.premium-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Premium hover language */
.clean-world-card,
.world-logo-card,
.product-tier,
.rule-card,
.big-spec,
.timeline-card,
.supporting-team-grid article {
  transition:
    transform .7s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1),
    border-color .7s cubic-bezier(.16,1,.3,1),
    background .7s cubic-bezier(.16,1,.3,1);
}

.clean-world-card:hover,
.world-logo-card:hover,
.product-tier:hover,
.rule-card:hover,
.big-spec:hover,
.timeline-card:hover,
.supporting-team-grid article:hover {
  transform: translateY(-7px);
  box-shadow: 0 26px 80px rgba(0,0,0,.28);
}

/* Image movement from the Team page, rolled out carefully */
.clean-world-image,
.world-logo-card-image,
.split-image,
.tech-image,
.camera-card,
.leader-image {
  overflow: hidden;
}

.clean-world-image img,
.world-logo-card-image img,
.split-image img,
.tech-image img,
.camera-card img,
.leader-image img {
  transition:
    transform 8s cubic-bezier(.16,1,.3,1),
    filter .8s ease;
  transform: scale(1.025);
  will-change: transform;
}

.clean-world-card:hover .clean-world-image img,
.world-logo-card:hover .world-logo-card-image img,
.split-image:hover img,
.tech-image:hover img,
.camera-card:hover img,
.leader-profile:hover .leader-image img {
  transform: scale(1.075);
  filter: saturate(1.05) contrast(1.04) brightness(.98);
}

/* Very subtle hero drift only on large background images */
.page-hero > img,
.worlds-hero-media img {
  animation: phase7HeroDrift 28s ease-in-out infinite alternate;
  transform-origin: center;
}

@keyframes phase7HeroDrift {
  from { transform: scale(1.015) translateY(0); }
  to { transform: scale(1.045) translateY(-10px); }
}

/* Remove motion for users requesting reduced motion */
@media (prefers-reduced-motion: reduce) {
  .premium-reveal,
  .premium-card,
  .premium-image,
  .premium-copy,
  .premium-title,
  .leader-profile,
  .team-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .page-hero > img,
  .worlds-hero-media img {
    animation: none !important;
  }

  .clean-world-image img,
  .world-logo-card-image img,
  .split-image img,
  .tech-image img,
  .camera-card img,
  .leader-image img {
    transform: none !important;
    transition: none !important;
  }
}


/* Phase 8 Typography / Kerning Pass */

.page-hero-copy h1,
.statement-grid h2,
.statement-section h2,
.section-heading h2,
.presence-section h2,
.technology-statement h2,
.delivery-section h2,
.worlds-grid-section h2,
.supporting-team-section h2{
  letter-spacing:-0.018em !important;
  line-height:.90 !important;
}

.manifesto-line,
.team-manifesto-refined .manifesto-line{
  letter-spacing:-0.025em !important;
  line-height:.92 !important;
}

.leader-copy h2,
.supporting-team-grid h3,
.product-tier h3,
.world-logo-card-copy h3{
  letter-spacing:-0.022em !important;
  line-height:.94 !important;
}

.eyebrow,
.tier-device,
.tier-tag,
.supporting-team-grid p,
nav a{
  letter-spacing:.145em !important;
}

.page-hero-copy p,
.statement-grid p,
.leader-copy p:not(.eyebrow),
.world-logo-card-copy p,
.clean-world-copy p{
  letter-spacing:.005em;
}

.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title,
[data-intro-line]{
  letter-spacing:-0.035em !important;
}






/* Technology Direct Image Fix */
body.technology-page .technology-hero-direct {
  position: relative !important;
  overflow: hidden !important;
  background: #0f0f0f !important;
  min-height: 92vh !important;
}

body.technology-page .technology-hero-direct-img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 60% 45% !important;
  z-index: 0 !important;
  opacity: .72 !important;
  filter: brightness(.72) contrast(1.08) saturate(1.02) !important;
  pointer-events: none !important;
}

body.technology-page .technology-hero-direct::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.46), rgba(0,0,0,.82)),
    linear-gradient(0deg, rgba(0,0,0,.66), rgba(0,0,0,.18) 48%, rgba(0,0,0,.18)) !important;
}

body.technology-page .technology-hero-direct::after {
  content: none !important;
  display: none !important;
}

body.technology-page .technology-hero-direct > *:not(.technology-hero-direct-img) {
  position: relative !important;
  z-index: 2 !important;
}

/* Force Technology lower sections back to site black, not grey */
body.technology-page main,
body.technology-page section:not(.technology-hero-direct),
body.technology-page .specs-section,
body.technology-page .technology-specs,
body.technology-page .stats-section,
body.technology-page .big-specs,
body.technology-page .workflow-section,
body.technology-page .delivery-section {
  background: #0f0f0f !important;
}

body.technology-page .big-spec,
body.technology-page .spec-card,
body.technology-page .timeline-card,
body.technology-page .product-tier,
body.technology-page .tier-card {
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)) !important;
  border-color: rgba(255,255,255,.12) !important;
}




/* Worlds Direct Hero Image Fix */
/* Only the Worlds hero uses gigs-hero.jpg. Cards stay on world-events.jpg. */

body.worlds-page .worlds-hero-direct {
  position: relative !important;
  overflow: hidden !important;
  background: #0f0f0f !important;
}

body.worlds-page .worlds-hero-direct-img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  z-index: 0 !important;
  opacity: .82 !important;
  filter: brightness(.92) contrast(1.05) saturate(1.05) !important;
  pointer-events: none !important;
}

body.worlds-page .worlds-hero-direct::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.42), rgba(0,0,0,.78)),
    linear-gradient(0deg, rgba(0,0,0,.68), rgba(0,0,0,.18) 46%, rgba(0,0,0,.24)) !important;
}

body.worlds-page .worlds-hero-direct::after {
  content: none !important;
  display: none !important;
}

body.worlds-page .worlds-hero-direct > *:not(.worlds-hero-direct-img) {
  position: relative !important;
  z-index: 2 !important;
}

/* Keep cards/windows on original image treatment */
body.worlds-page .world-logo-card img,
body.worlds-page .clean-world-card img,
body.worlds-page .world-card img {
  content: normal !important;
}


/* Team supporting-grid polish pass */
.supporting-team-grid {
  align-items: stretch;
}

.supporting-team-grid article {
  min-height: 220px !important;
  padding: clamp(24px, 2vw, 32px) !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background:
    radial-gradient(circle at 82% 0%, rgba(216,170,94,.15), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.016)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
}

.supporting-team-grid article:hover {
  transform: translateY(-7px) !important;
  border-color: rgba(216,170,94,.42) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
}

.supporting-team-grid h3 {
  font-size: clamp(28px, 2.25vw, 42px) !important;
  line-height: .86 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 22px !important;
}

.supporting-team-grid p {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--gold) !important;
  letter-spacing: .15em !important;
  margin-bottom: 18px !important;
}

.supporting-team-grid p::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .9;
  flex: 0 0 auto;
}

.supporting-team-grid span {
  display: block;
  max-width: 28ch;
  line-height: 1.42 !important;
  color: var(--muted) !important;
}

.supporting-team-grid article::after {
  opacity: .42 !important;
  transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1);
}

.supporting-team-grid article:hover::after {
  opacity: .9 !important;
  transform: scaleX(1.04);
}

@media (max-width: 760px) {
  .supporting-team-grid article {
    min-height: 190px !important;
  }
}


/* Team flip-card polish */
.supporting-team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(22px, 2vw, 34px) !important;
  perspective: 1400px;
}

.supporting-team-grid .team-flip-card {
  min-height: 250px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform-style: preserve-3d;
}

.supporting-team-grid .team-flip-card::after,
.supporting-team-grid .team-flip-card::before {
  display: none !important;
  content: none !important;
}

.team-flip-inner {
  position: relative;
  width: 100%;
  min-height: 250px;
  height: 100%;
  transform-style: preserve-3d;
  transition:
    transform .68s cubic-bezier(.16, 1, .3, 1),
    filter .68s cubic-bezier(.16, 1, .3, 1);
}

.team-flip-card:hover .team-flip-inner {
  transform: rotateY(180deg) translateY(-4px);
}

.team-flip-face {
  position: absolute;
  inset: 0;
  border-radius: 22px;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border: 1px solid rgba(255,255,255,.13);
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
}

.team-flip-front {
  padding: clamp(24px, 2vw, 32px);
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 82% 0%, rgba(216,170,94,.15), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
}

.team-flip-front h3,
.team-flip-back h3 {
  font-size: clamp(30px, 2.45vw, 46px) !important;
  line-height: .84 !important;
  letter-spacing: -0.026em !important;
  margin: 0 0 22px !important;
}

.team-flip-front p,
.team-flip-back p {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  color: var(--gold) !important;
  letter-spacing: .15em !important;
  margin: 0 0 18px !important;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 850;
}

.team-flip-front p::before,
.team-flip-back p::before {
  content: "";
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .9;
  flex: 0 0 auto;
}

.team-flip-front span {
  display: block;
  max-width: 29ch;
  line-height: 1.42 !important;
  color: var(--muted) !important;
  margin-top: auto;
}

.team-flip-front::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  opacity: .42;
}

.team-flip-back {
  transform: rotateY(180deg);
  background: #111;
}

.team-flip-back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
  transform: scale(1.02);
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), filter .8s ease;
  filter: saturate(.96) contrast(1.02) brightness(.82);
}

.team-flip-card:hover .team-flip-back img {
  transform: scale(1.08);
  filter: saturate(1.02) contrast(1.05) brightness(.9);
}

.team-flip-back::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 36%, rgba(0,0,0,.78)),
    radial-gradient(circle at 72% 18%, rgba(216,170,94,.18), transparent 46%);
}

.team-flip-back-copy {
  position: absolute;
  z-index: 2;
  left: 24px;
  right: 24px;
  bottom: 24px;
}

.team-flip-back-copy h3 {
  color: var(--text);
  margin-bottom: 14px !important;
}

.team-flip-card:hover .team-flip-face {
  border-color: rgba(216,170,94,.45);
  box-shadow: 0 28px 85px rgba(0,0,0,.36);
}

@media (max-width: 1080px) {
  .supporting-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .supporting-team-grid {
    grid-template-columns: 1fr !important;
  }

  .team-flip-inner,
  .supporting-team-grid .team-flip-card {
    min-height: 230px !important;
  }
}

/* Touch devices: show image softly without requiring hover */
@media (hover: none) {
  .team-flip-card:hover .team-flip-inner {
    transform: none;
  }

  .team-flip-back {
    display: none;
  }
}


/* Team flip-card portrait update */
.team-flip-inner {
  transition:
    transform .78s cubic-bezier(.16, 1, .3, 1),
    filter .78s cubic-bezier(.16, 1, .3, 1) !important;
}

.team-flip-card:hover .team-flip-inner {
  transform: rotateY(180deg) translateY(-5px) !important;
}

.team-flip-back img {
  transition:
    transform 1.35s cubic-bezier(.16, 1, .3, 1),
    filter .9s ease !important;
}

.team-flip-card:hover .team-flip-back img {
  transform: scale(1.075) !important;
}

.team-flip-back-copy {
  transform: translateY(8px);
  opacity: .94;
  transition:
    opacity .65s cubic-bezier(.16, 1, .3, 1) .18s,
    transform .65s cubic-bezier(.16, 1, .3, 1) .18s;
}

.team-flip-card:hover .team-flip-back-copy {
  opacity: 1;
  transform: translateY(0);
}

/* Portrait positioning tweaks while placeholders are in use */
.team-member-nick-elms .team-flip-back img {
  object-position: center 30% !important;
}

.team-member-ruben-sluijter .team-flip-back img {
  object-position: center 26% !important;
}

.team-member-paul-hughes .team-flip-back img {
  object-position: center 32% !important;
}


/* Team flip motion polish
   Makes the outgoing face feel slower and the incoming portrait arrive slightly later. */

.supporting-team-grid {
  perspective: 1600px;
}

.team-flip-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
}

.team-flip-inner {
  transition:
    transform .92s cubic-bezier(.18,.82,.18,1),
    filter .92s cubic-bezier(.18,.82,.18,1) !important;
  transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
}

.team-flip-card:hover .team-flip-inner {
  transform: rotateX(0deg) rotateY(180deg) translateY(-5px) !important;
}

/* The front lingers slightly as it leaves, so the flip feels less mechanical */
.team-flip-front {
  transition:
    opacity .62s cubic-bezier(.16,1,.3,1),
    filter .62s cubic-bezier(.16,1,.3,1),
    transform .92s cubic-bezier(.18,.82,.18,1);
}

.team-flip-card:hover .team-flip-front {
  opacity: .18;
  filter: blur(.6px) brightness(.78);
}

/* The back waits very slightly, then arrives smoother */
.team-flip-back {
  opacity: 0;
  transition:
    opacity .58s cubic-bezier(.16,1,.3,1) .16s,
    border-color .65s cubic-bezier(.16,1,.3,1),
    box-shadow .65s cubic-bezier(.16,1,.3,1);
}

.team-flip-card:hover .team-flip-back {
  opacity: 1;
}

.team-flip-back img {
  transform: scale(1.12) !important;
  transition:
    transform 1.35s cubic-bezier(.16,1,.3,1) .08s,
    filter .85s ease .08s !important;
}

.team-flip-card:hover .team-flip-back img {
  transform: scale(1.045) !important;
}

/* Stagger the back text after the portrait appears */
.team-flip-back-copy {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity .72s cubic-bezier(.16,1,.3,1) .28s,
    transform .72s cubic-bezier(.16,1,.3,1) .28s !important;
}

.team-flip-card:hover .team-flip-back-copy {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Subtle moving edge highlight */
.team-flip-face::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 36%,
    rgba(216,170,94,.28) 48%,
    transparent 60%,
    transparent 100%
  );
  opacity: 0;
  transform: translateX(-55%);
  transition:
    opacity .55s cubic-bezier(.16,1,.3,1),
    transform 1.1s cubic-bezier(.16,1,.3,1);
  z-index: 4;
  mix-blend-mode: screen;
}

.team-flip-card:hover .team-flip-face::before {
  opacity: .65;
  transform: translateX(55%);
}

/* A more expensive-feeling lift */
.team-flip-card:hover .team-flip-face {
  border-color: rgba(216,170,94,.52) !important;
  box-shadow:
    0 34px 100px rgba(0,0,0,.42),
    0 0 0 1px rgba(216,170,94,.10) inset !important;
}

/* Small desktop-only parallax tilt before the flip fully takes over */
@media (pointer: fine) {
  .team-flip-card:not(:hover) .team-flip-inner {
    transform:
      rotateX(var(--tilt-x))
      rotateY(var(--tilt-y));
  }
}

@media (prefers-reduced-motion: reduce) {
  .team-flip-inner,
  .team-flip-front,
  .team-flip-back,
  .team-flip-back img,
  .team-flip-back-copy,
  .team-flip-face::before {
    transition: none !important;
  }

  .team-flip-card:hover .team-flip-inner {
    transform: rotateY(180deg) !important;
  }
}


/* Team portrait update: Aky + Eric */
.team-member-aky-karim .team-flip-back img {
  object-position: center 26% !important;
}
.team-member-eric-elms .team-flip-back img {
  object-position: center 30% !important;
}
.team-flip-back img {
  filter: saturate(.94) contrast(1.06) brightness(.86) sepia(.035) !important;
}
.team-flip-card:hover .team-flip-back img {
  filter: saturate(1.0) contrast(1.08) brightness(.92) sepia(.025) !important;
}

/* Team portrait wiring pass */
.team-member-josh-bagnall .team-flip-back img { object-position: center 34% !important; }
.team-member-simon-elms .team-flip-back img { object-position: center 30% !important; }
.team-member-aky-karim .team-flip-back img { object-position: center 30% !important; }
.team-member-eric-elms .team-flip-back img { object-position: center 32% !important; }


/* Team layout/order placeholder update */
.team-member-rick-griffiths .team-flip-back img,
.team-member-william-owen .team-flip-back img {
  object-position: center center !important;
  filter: saturate(.82) contrast(1.02) brightness(.86) !important;
}

.team-member-rick-griffiths .team-flip-back::after,
.team-member-william-owen .team-flip-back::after {
  background:
    linear-gradient(180deg, transparent 34%, rgba(0,0,0,.80)),
    radial-gradient(circle at 50% 30%, rgba(216,170,94,.12), transparent 52%) !important;
}


/* Team card text + motion polish */
.team-flip-front h3,
.team-flip-back h3 {
  font-size: clamp(26px, 2.05vw, 38px) !important;
  line-height: .88 !important;
  letter-spacing: -0.022em !important;
  text-align: left !important;
  max-width: 10ch;
}

.team-flip-front {
  align-items: flex-start !important;
}

.team-flip-front p,
.team-flip-back p {
  text-align: left !important;
}

.team-flip-front span {
  max-width: 33ch !important;
  font-size: clamp(14px, .95vw, 16px) !important;
  line-height: 1.42 !important;
  letter-spacing: -.01em;
}

/* Give the richer copy a little more air */
.team-flip-inner,
.supporting-team-grid .team-flip-card {
  min-height: 275px !important;
}

.team-flip-front {
  padding: clamp(24px, 2vw, 34px) !important;
}

/* Slightly more premium flip: outgoing face eases away, portrait arrives after */
.team-flip-inner {
  transition:
    transform .96s cubic-bezier(.18,.82,.18,1),
    filter .96s cubic-bezier(.18,.82,.18,1) !important;
}

.team-flip-card:hover .team-flip-inner {
  transform: rotateX(0deg) rotateY(180deg) translateY(-5px) !important;
}

.team-flip-front {
  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    filter .72s cubic-bezier(.16,1,.3,1),
    transform .96s cubic-bezier(.18,.82,.18,1) !important;
}

.team-flip-card:hover .team-flip-front {
  opacity: .14 !important;
  filter: blur(.7px) brightness(.72) !important;
}

.team-flip-back {
  opacity: 0;
  transition:
    opacity .62s cubic-bezier(.16,1,.3,1) .18s,
    border-color .7s cubic-bezier(.16,1,.3,1),
    box-shadow .7s cubic-bezier(.16,1,.3,1) !important;
}

.team-flip-card:hover .team-flip-back {
  opacity: 1 !important;
}

.team-flip-back img {
  transform: scale(1.10) !important;
  transition:
    transform 1.45s cubic-bezier(.16,1,.3,1) .1s,
    filter .9s ease .1s !important;
}

.team-flip-card:hover .team-flip-back img {
  transform: scale(1.04) !important;
}

.team-flip-back-copy {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .7s cubic-bezier(.16,1,.3,1) .32s,
    transform .7s cubic-bezier(.16,1,.3,1) .32s !important;
}

.team-flip-card:hover .team-flip-back-copy {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Keep the 3x3 grid tidy after taller cards */
.supporting-team-grid {
  gap: clamp(24px, 2vw, 36px) !important;
}

@media (max-width: 760px) {
  .team-flip-front h3,
  .team-flip-back h3 {
    font-size: clamp(30px, 9vw, 42px) !important;
  }

  .team-flip-inner,
  .supporting-team-grid .team-flip-card {
    min-height: 255px !important;
  }
}


/* Index intro text readability polish */
.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title,
.intro-sequence h1,
.intro-sequence h2,
.intro-title,
.intro-line,
[data-intro-line] {
  color: rgba(214, 214, 210, .92) !important;
  -webkit-text-fill-color: rgba(214, 214, 210, .92) !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  font-weight: 650 !important;
  font-size: clamp(44px, 8vw, 126px) !important;
  line-height: .88 !important;
  letter-spacing: -0.045em !important;
}

.intro-sequence .outline,
.intro-sequence .ghost,
.intro-sequence .stroke,
.intro-outline,
.intro-ghost,
.intro-stroke {
  color: rgba(214, 214, 210, .92) !important;
  -webkit-text-fill-color: rgba(214, 214, 210, .92) !important;
  -webkit-text-stroke: 0 !important;
  opacity: 1 !important;
}

.intro-sequence,
.intro-overlay,
.intro-loader,
.site-intro {
  animation-duration: 4.8s !important;
}

.intro-sequence [data-intro-line],
.intro-sequence .intro-line,
.intro-sequence .intro-title {
  animation-duration: 4.2s !important;
  transition:
    opacity 1.35s cubic-bezier(.16,1,.3,1),
    transform 1.35s cubic-bezier(.16,1,.3,1) !important;
}

@keyframes introWordFade {
  0% { opacity: 0; transform: translateY(18px); }
  18% { opacity: 1; transform: translateY(0); }
  72% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(-12px); }
}

@keyframes introFadeOut {
  0% { opacity: 1; visibility: visible; }
  74% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; pointer-events: none; }
}

@media (max-width: 760px) {
  .intro-sequence [data-intro-line],
  .intro-sequence .intro-line,
  .intro-sequence .intro-title,
  .intro-sequence h1,
  .intro-sequence h2,
  .intro-title,
  .intro-line,
  [data-intro-line] {
    font-size: clamp(38px, 15vw, 76px) !important;
    line-height: .9 !important;
  }
}


/* Part 2 polish: landing intro text refinement and no-overlap timing */
.intro-text-stack {
  min-height: clamp(46px, 6vw, 84px) !important;
}

.intro-logo-sequence p,
.intro-sequence p,
.intro-text-stack p,
[data-intro-line],
[data-intro-text] p {
  color: rgba(196, 190, 178, .92) !important;
  font-family: "ArchivoFixed", "ArchivoSite", Archivo, Arial, sans-serif !important;
  font-size: clamp(18px, 3.25vw, 46px) !important;
  font-weight: 400 !important;
  font-stretch: 100% !important;
  font-variation-settings: "wght" 400, "wdth" 100 !important;
  letter-spacing: .035em !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
  text-shadow: 0 12px 34px rgba(0,0,0,.72) !important;
}

.intro-sequence p.show,
.intro-text-stack p.show,
[data-intro-line].show {
  animation: introLinePart2 2.25s cubic-bezier(.22,.61,.36,1) forwards !important;
}

@keyframes introLinePart2 {
  0%   { opacity:0; transform:translateY(12px); filter:blur(7px); }
  22%  { opacity:.92; transform:translateY(0); filter:blur(0); }
  70%  { opacity:.92; transform:translateY(0); filter:blur(0); }
  100% { opacity:0; transform:translateY(-10px); filter:blur(7px); }
}

@media (max-width: 680px) {
  .intro-logo-sequence p,
  .intro-sequence p,
  .intro-text-stack p,
  [data-intro-line],
  [data-intro-text] p {
    font-size: clamp(16px, 5vw, 28px) !important;
    letter-spacing: .025em !important;
  }
}


/* MASTER_04: Team page public roster set to a balanced 2 x 3 grid.
   Removed team-member cards remain in assets for future reinstatement. */
.supporting-team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 980px) {
  .supporting-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .supporting-team-grid {
    grid-template-columns: 1fr;
  }
}
