/* ══════════════════════════════════════════
   BRAND TOKENS
══════════════════════════════════════════ */
:root{
  /* ─ Specified palette ─ */
  --body-text:    #131215;
  --sub-heading:  #4d4739;
  --on-dark:      #e0d9cc;
  --bg:           #ffffff;
  --gold-a:       #C49A2A;
  --gold-b:       #F0D060;
  --gold-c:       #A07020;
  /* ─ Extra utility ─ */
  --deep:         #0e0b07;
  --warm:         #C9A882;
  --bronze:       #A07850;
  --sand:         #E8DDD0;
  --ivory:        #F7F3ED;
  --muted:        #7a6f63;
  /* ─ Gradients ─ */
  --grad-gold:    linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  --grad-gold-v:  linear-gradient(180deg, #F0D060 0%, #C49A2A 50%, #A07020 100%);
  /* ─ Easing ─ */
  --ease:         cubic-bezier(.16,1,.3,1);
  --ease2:        cubic-bezier(.76,0,.24,1);
  /* ─ Nav ─ */
  --bar-h:        38px;
  --nav-h:        70px;
}

/* ══════════════════════════════════════════
   RESET & BASE
══════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Poppins',sans-serif;font-weight:300;
  background:var(--bg);color:var(--body-text);
  overflow-x:hidden;
}
::selection{background:var(--gold-a);color:#fff}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--deep)}
::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:4px}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}

/* ─ Typography helpers ─ */
.t-heading{
  font-family:'League Spartan',sans-serif;font-weight:700;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.t-sub{
  font-family:'Poppins',sans-serif;font-weight:600;
  color:var(--sub-heading);
}
.t-body{
  font-family:'Poppins',sans-serif;font-weight:300;
  color:var(--body-text);
}
.t-on-dark{color:var(--on-dark)}

/* Grain overlay */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:8900;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.014;mix-blend-mode:multiply;
}

/* ══════════════════════════════════════════
   CURSOR
══════════════════════════════════════════ */
.cur{
  position:fixed;pointer-events:none;z-index:9999;
  width:9px;height:9px;border-radius:50%;
  background:var(--gold-a);
  transform:translate(-50%,-50%);
  transition:transform .1s;
}
.cur-r{
  position:fixed;pointer-events:none;z-index:9998;
  width:36px;height:36px;border-radius:50%;
  border:1.5px solid var(--gold-a);
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s;
  opacity:.5;
}

/* ══════════════════════════════════════════
   TOP MARQUEE BAR
══════════════════════════════════════════ */
.top-bar{
  position:fixed;top:0;left:0;width:100%;
  height:var(--bar-h);z-index:301;
  background:var(--deep);overflow:hidden;
  display:flex;align-items:center;
  border-bottom:1px solid rgba(196,154,42,.2);
}
.top-bar::before,.top-bar::after{
  content:'';position:absolute;top:0;bottom:0;width:80px;z-index:1;pointer-events:none;
}
.top-bar::before{left:0;background:linear-gradient(to right,var(--deep),transparent)}
.top-bar::after{right:0;background:linear-gradient(to left,var(--deep),transparent)}
.top-track{
  display:flex;gap:3rem;width:max-content;white-space:nowrap;
  animation:topScroll 30s linear infinite;
}
@keyframes topScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-item{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:white;display:flex;align-items:center;gap:.9rem;
}
.top-sep{
  font-size:.6rem;
  background:var(--grad-gold);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;
  animation:sepSpin 4s linear infinite;display:inline-block;
}
@keyframes sepSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ══════════════════════════════════════════
   NAVIGATION  — always visible white bar
══════════════════════════════════════════ */
#nav{
  position:fixed;
  top:var(--bar-h);        /* sits just below the marquee bar */
  left:0;width:100%;
  height:var(--nav-h);z-index:300;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;
  background:#ffffff;      /* ALWAYS white — this fixes the invisible menu */
  border-bottom:1px solid rgba(19,18,21,.08);
  box-shadow:0 2px 20px rgba(19,18,21,.06);
  transition:box-shadow .4s,top .35s;
}
/* When scrolled, the top bar hides (scrolled off) so nav docks to top:0 */
#nav.scrolled{
  top:0;
  box-shadow:0 4px 40px rgba(19,18,21,.12);
}

.nav-logo{
  font-family:'League Spartan',sans-serif;font-weight:800;
  font-size:1.55rem;letter-spacing:-.5px;
  display:flex;align-items:center;gap:.3rem;
  /* Gold gradient on logo */
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.nav-logo-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold-a);margin-bottom:4px;flex-shrink:0;
  animation:dotPop 2.5s ease-in-out infinite;
  /* dot isn't text so normal bg color works */
  -webkit-text-fill-color:initial;
}
@keyframes dotPop{0%,100%{transform:scale(1)}50%{transform:scale(1.9);box-shadow:0 0 10px var(--gold-a)}}

.nav-links{display:flex;gap:2.4rem;list-style:none;align-items:center}
.nav-links a{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--body-text);position:relative;padding-bottom:4px;
  transition:color .3s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;
  background:var(--grad-gold);transition:width .4s var(--ease);
}
.nav-links a:hover{color:var(--gold-a)}
.nav-links a:hover::after{width:100%}

/* CTA pill */
.nav-cta{
  background:var(--deep) !important;
  color:#fff !important;
  padding:.5rem 1.6rem !important;
  border-radius:2px;
  transition:background .3s !important;
}
.nav-cta:hover{background:var(--gold-a) !important;color:var(--deep) !important}
.nav-cta::after{display:none !important}

/* Hamburger */
.ham{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;z-index:302;
}
.ham span{
  display:block;width:22px;height:1.5px;
  background:var(--body-text);
  transition:.35s;border-radius:2px;
}
.ham.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ham.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Mobile fullscreen overlay */
.mob{
  position:fixed;inset:0;background:#fff;z-index:299;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.4rem;
  transform:translateX(100%);transition:transform .6s var(--ease);
}
.mob.open{transform:none}
.mob a{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:clamp(1.8rem,5vw,2.8rem);
  color:var(--body-text);transition:color .3s;
  opacity:0;transform:translateX(30px);
  transition:color .3s,opacity .5s,transform .5s;
}
.mob.open a{opacity:1;transform:none}
.mob.open a:nth-child(1){transition-delay:.04s}
.mob.open a:nth-child(2){transition-delay:.08s}
.mob.open a:nth-child(3){transition-delay:.12s}
.mob.open a:nth-child(4){transition-delay:.16s}
.mob.open a:nth-child(5){transition-delay:.2s}
.mob.open a:nth-child(6){transition-delay:.24s}
.mob a:hover{color:var(--gold-a)}
.mob-x{
  position:absolute;top:1.8rem;right:5vw;
  font-size:1.3rem;background:none;border:none;
  cursor:pointer;color:var(--body-text);
}
/* offset so page content doesn't hide under nav+bar */
.page-offset{
  height:calc(var(--bar-h) + var(--nav-h));
}

/* ══════════════════════════════════════════
   SHARED BUTTONS
══════════════════════════════════════════ */
.btn-gold{
  display:inline-block;position:relative;overflow:hidden;
  padding:.85rem 2.4rem;border-radius:2px;border:none;cursor:pointer;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--deep);
  background:var(--grad-gold);
  transition:transform .25s,box-shadow .25s;
  background-size:200% 200%;animation:shimmer 4s linear infinite;
}
@keyframes shimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(196,154,42,.35)}

.btn-outline-dark{
  display:inline-block;position:relative;overflow:hidden;
  padding:.85rem 2.4rem;border-radius:2px;
  border:1.5px solid var(--body-text);
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--body-text);background:transparent;
  transition:all .35s;
}
.btn-outline-dark::before{
  content:'';position:absolute;inset:0;background:var(--body-text);
  transform:translateX(-101%);transition:transform .45s var(--ease);
}
.btn-outline-dark:hover{color:#fff}
.btn-outline-dark:hover::before{transform:none}
.btn-outline-dark span{position:relative;z-index:1}

.btn-outline-light{
  display:inline-block;
  padding:.85rem 2.4rem;border-radius:2px;
  border:1.5px solid rgba(224,217,204,.5);
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--on-dark);background:transparent;
  transition:border-color .3s,background .3s;
}
.btn-outline-light:hover{border-color:var(--gold-b);background:rgba(240,208,96,.08)}

/* ══════════════════════════════════════════
   SECTION 1 — HERO
══════════════════════════════════════════ */
#s1{
  position:relative;width:100%;height:100vh;min-height:620px;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.s1-media{position:absolute;inset:0}
.s1-media img{
  width:100%;height:100%;object-fit:cover;
  animation:kbPan 22s ease-in-out infinite alternate;
}
@keyframes kbPan{from{transform:scale(1.08) translateX(0)}to{transform:scale(1) translateX(-2%)}}
.s1-media::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(14,11,7,.6) 0%,rgba(14,11,7,.3) 50%,rgba(14,11,7,.7) 100%);
}
.s1-content{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:0 5vw;
}
/* Circular logo orb */
.s1-orb{
  width:130px;height:130px;border-radius:50%;
  background:rgba(255,255,255,.06);backdrop-filter:blur(10px);
  border:1px solid rgba(196,154,42,.35);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:2.2rem;position:relative;
  animation:orbFloat 7s ease-in-out infinite;
}
.s1-orb::before{
  content:'';position:absolute;inset:-14px;border-radius:50%;
  border:1px solid rgba(196,154,42,.18);
  animation:orbRing 7s ease-in-out infinite;
}
.s1-orb::after{
  content:'';position:absolute;inset:-26px;border-radius:50%;
  border:1px solid rgba(196,154,42,.08);
  animation:orbRing 7s 1.2s ease-in-out infinite;
}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes orbRing{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.06);opacity:1}}
.s1-orb-txt{
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:2rem;line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
/* Text */
.s1-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(224,217,204,.65);margin-bottom:1.2rem;
  display:flex;align-items:center;gap:.8rem;
}
.s1-eyebrow::before,.s1-eyebrow::after{
  content:'';flex:0 0 28px;height:1px;
  background:linear-gradient(to right,transparent,rgba(196,154,42,.5));
}
.s1-eyebrow::after{background:linear-gradient(to left,transparent,rgba(196,154,42,.5))}
.s1-h1{
  font-family:'League Spartan',sans-serif;font-weight:800;
  font-size:clamp(2.8rem,7vw,7rem);line-height:1.0;
  color:#fff;margin-bottom:.6rem;letter-spacing:-.02em;
}
.s1-h1 .g{
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.star-word{position:relative;display:inline-block}
.star{
  display:inline-block;font-size:.45em;vertical-align:super;
  margin-left:3px;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:starBlink 2s ease-in-out infinite;
}
@keyframes starBlink{
  0%,100%{opacity:1;transform:scale(1) rotate(0deg)}
  25%{opacity:.1;transform:scale(.4) rotate(28deg)}
  55%{opacity:1;transform:scale(1.6) rotate(-12deg)}
  75%{opacity:.5;transform:scale(.85) rotate(8deg)}
}
.s1-sub{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(224,217,204,.45);margin-bottom:2.6rem;
}
.s1-btns{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center}
/* Scroll cue */
.s1-scroll{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  z-index:3;display:flex;flex-direction:column;align-items:center;gap:.5rem;
  color:rgba(224,217,204,.35);font-size:.62rem;letter-spacing:.18em;
  font-family:'Poppins',sans-serif;text-transform:uppercase;
}
.s1-line{width:1px;height:50px;overflow:hidden;background:rgba(255,255,255,.08)}
.s1-fill{
  width:100%;height:50%;background:var(--gold-a);
  animation:sfill 2.2s ease-in-out infinite;
}
@keyframes sfill{0%{transform:translateY(-100%)}50%{transform:translateY(0)}100%{transform:translateY(200%)}}

/* ══════════════════════════════════════════
   SECTION 2 — QUOTE + IMAGE LEFT + BG
══════════════════════════════════════════ */
#s2{
  position:relative;min-height:90vh;
  display:flex;align-items:center;overflow:hidden;
}
.s2-bg{position:absolute;inset:0}
.s2-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.55) saturate(.85);
  animation:kbPan 25s ease-in-out infinite alternate;
}
.s2-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(110deg,rgba(14,11,7,.88) 0%,rgba(14,11,7,.65) 55%,rgba(14,11,7,.4) 100%);
}
.s2-inner{
  position:relative;z-index:2;
  max-width:1320px;margin:0 auto;padding:8rem 5vw;
  display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;
  width:100%;
}
/* Left image */
.s2-frame{
  position:relative;border-radius:2px;overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
}
.s2-frame img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.s2-frame::before{
  content:'';position:absolute;inset:10px;
  border:1px solid rgba(196,154,42,.25);border-radius:2px;z-index:1;pointer-events:none;
}
/* Gold corners */
.gc{position:absolute;width:16px;height:16px;z-index:2}
.gc::before,.gc::after{content:'';position:absolute;background:var(--gold-a);border-radius:1px}
.gc::before{width:100%;height:1.5px;top:0;left:0}
.gc::after{width:1.5px;height:100%;top:0;left:0}
.gc-tl{top:10px;left:10px}
.gc-tr{top:10px;right:10px;transform:scaleX(-1)}
.gc-bl{bottom:10px;left:10px;transform:scaleY(-1)}
.gc-br{bottom:10px;right:10px;transform:scale(-1)}
/* Floating label */
.s2-lbl{
  position:absolute;bottom:-14px;right:-14px;
  padding:.8rem 1.4rem;
  background:var(--grad-gold);
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--deep);border-radius:2px;
  box-shadow:0 8px 30px rgba(196,154,42,.4);
  animation:lbl 5s ease-in-out infinite;
}
@keyframes lbl{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* Right: quote */
.s2-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-b);margin-bottom:1.4rem;
  display:inline-flex;align-items:center;gap:.7rem;
}
.s2-eyebrow::before{content:'';width:22px;height:1px;background:var(--gold-b)}
.s2-qmark{
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:7rem;line-height:.7;margin-bottom:.4rem;display:block;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;opacity:.4;
}
.s2-quote{
  font-family:'League Spartan',sans-serif;font-weight:400;
  font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.4;
  color:var(--on-dark);margin-bottom:1.6rem;
}
.s2-quote strong{
  font-weight:700;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.s2-attr{
  border-left:2px solid var(--gold-a);padding-left:1rem;
  margin-bottom:2rem;
}
.s2-attr strong{
  display:block;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.85rem;color:var(--warm);
}
.s2-attr span{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.78rem;color:white;
}
.s2-body{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.9rem;line-height:1.85;color:white;
  margin-bottom:2.5rem;
}
.s2-stats{
  display:flex;gap:2.5rem;padding-top:2rem;
  border-top:1px solid rgba(196,154,42,.12);flex-wrap:wrap;
}
.s2-sn{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:2.4rem;display:block;line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.s2-sl{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:white;margin-top:.4rem;display:block;
}

/* ══════════════════════════════════════════
   SECTION 3 — ORB LEFT · TRUSTED PARTNERS RIGHT
══════════════════════════════════════════ */
#s3{padding:8rem 5vw;background:var(--bg);overflow:hidden}
.s3-inner{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;
}
/* Left: orb */
.s3-left{display:flex;flex-direction:column;align-items:center;gap:2rem}
.orb-wrap{
  width:380px;height:380px;position:relative;
  animation:orbSpin 22s linear infinite;flex-shrink:0;
}
.orb-wrap:hover{animation-play-state:paused}
@keyframes orbSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.orb-ring{position:absolute;border-radius:50%;border:1px solid var(--warm);opacity:.3}
.or1{inset:0;animation:orbR 16s linear infinite}
.or2{inset:22px;border-color:var(--bronze);opacity:.2;animation:orbR 24s linear infinite reverse}
.or3{inset:44px;border-color:var(--gold-a);opacity:.12;animation:orbR 32s linear infinite}
@keyframes orbR{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}
.orb-dot{
  position:absolute;width:9px;height:9px;border-radius:50%;
  background:var(--gold-a);
  box-shadow:0 0 0 3px rgba(196,154,42,.15),0 0 14px var(--warm);
}
/* Container — no clipping, lets the hexagonal icon breathe */
.orb-center{
  position:absolute;
  inset:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  /* Remove rotation here — let the icon spin on its own */
}

/* Icon spins independently */
.orb-center img{
  width:100%;
  height:100%;
  object-fit:contain;       /* Keeps the geometric shape intact */
  filter: drop-shadow(0 0 40px rgba(196,154,42,.45))
          drop-shadow(0 0 80px rgba(196,154,42,.15));
  animation: iconSpin 20s linear infinite;
}

/* Spin keyframes */
@keyframes iconSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Pause spin on hover */
.orb-wrap:hover .orb-center img {
  animation-play-state: paused;
}
.orb-pt{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:var(--gold-b);opacity:.7;
  animation:ptf 3.5s ease-in-out infinite;
}
@keyframes ptf{0%,100%{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-14px) scale(1.6);opacity:1}}

/* Right: Trusted Partners */
.s3-right{display:flex;flex-direction:column;gap:0}
.s3-partners-title-block{margin-bottom:3rem}
.logo-carousel-wrap{
  position:relative;overflow:hidden;
  padding:1rem 0;
}
.logo-carousel-wrap::before,.logo-carousel-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:55px;z-index:2;pointer-events:none;
}
.logo-carousel-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.logo-carousel-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.logo-row{
  display:flex;width:max-content;
  animation:logoScroll 16s linear infinite;
  margin-bottom:1.4rem;
}
.logo-row:hover{animation-play-state:paused}
.logo-row-r{
  display:flex;width:max-content;
  animation:logoScrollR 20s linear infinite;
  margin-bottom:1.4rem;
}
.logo-row-r:hover{animation-play-state:paused}
@keyframes logoScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes logoScrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.logo-tile{
  flex:0 0 140px;height:75px;
  display:flex;align-items:center;justify-content:center;
  padding:0 14px;
}
.logo-tile img{
  max-width:110px;max-height:48px;
  width:auto;height:auto;object-fit:contain;
  filter:grayscale(1) opacity(.4);
  transition:filter .4s,transform .4s;
}
.logo-tile img:hover{filter:grayscale(0) opacity(1);transform:scale(1.1)}
/* Divider between rows */
.logo-divider{
  width:100%;height:1px;background:var(--sand);margin:1rem 0 1.6rem;
}
/* Stats strip */
.s3-stats-strip{
  display:flex;gap:2.5rem;padding-top:2.5rem;
  border-top:1px solid var(--sand);margin-top:1rem;
  flex-wrap:wrap;
}
.s3-stat-n{
  font-family:'League Spartan',sans-serif;font-weight:800;
  font-size:2rem;display:block;line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.s3-stat-l{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--sub-heading);margin-top:.3rem;display:block;
}
/* Shared utilities used across all sections */
.s3-right{}
.sec-ey{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-a);margin-bottom:1rem;
  display:inline-flex;align-items:center;gap:.6rem;
}
.sec-ey::before{content:'';width:20px;height:1px;background:var(--gold-a)}
.sec-h{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  margin-bottom:1.4rem;
}
.sec-body{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.9rem;line-height:1.88;color:var(--sub-heading);margin-bottom:1.3rem;
}

/* ══════════════════════════════════════════
   SECTION 4 — TEAM
══════════════════════════════════════════ */
#s4{overflow:hidden;background:var(--bg)}
.s4-banner{
  position:relative;width:100%;height:58vh;min-height:360px;overflow:hidden;
}
.s4-banner img{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.55) saturate(.8);
  animation:kbPan 24s ease-in-out infinite alternate;
}
.s4-banner-over{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 25%,rgba(14,11,7,.9) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  padding-bottom:3.5rem;text-align:center;
}
.s4-banner-eyebrow{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-b);margin-bottom:.8rem;
  display:inline-flex;align-items:center;gap:.6rem;
}
.s4-banner-eyebrow::before{content:'';width:20px;height:1px;background:var(--gold-b)}
.s4-banner-h{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:clamp(2rem,5vw,4rem);line-height:1.1;
  color:#fff;
}
.s4-banner-h em{
  font-style:italic;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
/* Team grid */
.s4-grid-wrap{padding:4rem 5vw 7rem;background:var(--bg)}
.s4-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;
}
.team-card{border-radius:2px;overflow:hidden;cursor:pointer}
.tc-img{width:100%;aspect-ratio:3/4;overflow:hidden}
.tc-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease);filter:saturate(.9);
}
.team-card:hover .tc-img img{transform:scale(1.07)}
.tc-body{
  padding:1.4rem 1.2rem 1.7rem;
  background:var(--ivory);
  border:1px solid var(--sand);border-top:none;border-radius:0 0 2px 2px;
  transition:background .3s;
}
.team-card:hover .tc-body{background:#fff;border-color:rgba(196,154,42,.25)}
.tc-name{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:1.15rem;color:var(--body-text);margin-bottom:.2rem;
}
.tc-role{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-a);margin-bottom:.7rem;
}
.tc-desc{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.8rem;line-height:1.68;color:var(--sub-heading);
}
.tc-socials{
  display:flex;gap:.5rem;margin-top:.9rem;
  opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s;
}
.team-card:hover .tc-socials{opacity:1;transform:none}
.ts{
  width:26px;height:26px;border:1px solid var(--sand);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.6rem;color:var(--muted);
  transition:border-color .3s,color .3s;
}
.ts:hover{border-color:var(--gold-a);color:var(--gold-a)}

/* ══════════════════════════════════════════
   SECTION 5 — RECENT UPDATES
══════════════════════════════════════════ */
#s5{
  padding:5rem 0 4rem;background:var(--deep);
  position:relative;overflow:hidden;
}
.s5-gbg{
  position:absolute;inset:0;opacity:.025;
  background-image:
    repeating-linear-gradient(0deg,#c49a2a 0,#c49a2a 1px,transparent 1px,transparent 90px),
    repeating-linear-gradient(90deg,#c49a2a 0,#c49a2a 1px,transparent 1px,transparent 90px);
}
.s5-in{max-width:100%;margin:0 auto;position:relative;z-index:1}
.s5-hdr{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;
  padding:0 5vw;
}
.s5-hdr .sec-ey{color:var(--gold-b);margin-bottom:.6rem}
.s5-hdr .sec-ey::before{background:var(--gold-b)}
.s5-hdr .sec-h{margin-bottom:0}
.s5-hdr .sec-h{
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.s5-nav{display:flex;gap:.8rem;align-items:center}
.s5-btn{
  width:50px;height:50px;border-radius:50%;
  border:1.5px solid rgba(196,154,42,.3);
  background:transparent;cursor:pointer;
  color:var(--warm);font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  font-family:'Poppins',sans-serif;
  transition:all .3s;
}
.s5-btn:hover{background:var(--gold-a);color:var(--deep);border-color:var(--gold-a);transform:scale(1.08)}
/* Full-banner slide viewport */
.s5-vp{overflow:hidden;border-radius:3px}
.s5-track{
  display:flex;gap:0;
  transition:transform .85s var(--ease2);
}
/* Each slide = full viewport width, banner image */
.s5-card{
  flex:0 0 100%;
  position:relative;
  height:70vh;min-height:460px;
  overflow:hidden;cursor:pointer;
}
.s5-card img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s var(--ease);
  filter:brightness(.75);
}
.s5-card:hover img{transform:scale(1.04)}
/* Gradient overlay */
.s5-card::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(14,11,7,.88) 0%,rgba(14,11,7,.2) 50%,transparent 80%);
}
/* Caption on banner */
.s5-cap{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:3rem 4rem 3.5rem;
  display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;
}
.s5-cap-left{}
.s5-tag{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-b);margin-bottom:.8rem;display:block;
}
.s5-title{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:clamp(1.6rem,3vw,2.8rem);color:#fff;
  line-height:1.15;margin-bottom:.6rem;
}
.s5-meta{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.82rem;color:white;
}
.s5-cap-right{flex-shrink:0}
.s5-read-btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.8rem 1.8rem;
  border:1.5px solid rgba(196,154,42,.45);
  border-radius:2px;
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-b);
  background:rgba(14,11,7,.3);backdrop-filter:blur(8px);
  transition:background .3s,border-color .3s,color .3s;
  white-space:nowrap;
}
.s5-read-btn:hover{background:var(--gold-a);border-color:var(--gold-a);color:var(--deep)}
/* Progress bar */
.s5-progress{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  height:3px;background:rgba(255,255,255,.08);
}
.s5-prog-fill{
  height:100%;background:var(--grad-gold);width:0;
  transition:width .1s linear;
}
/* Dots */
.s5-dots{display:flex;gap:.6rem;justify-content:center;margin-top:2rem;padding:0 5vw}
.s5-dot{
  width:8px;height:8px;border-radius:4px;
  background:rgba(196,154,42,.2);cursor:pointer;transition:all .35s;
}
.s5-dot.active{width:28px;background:var(--gold-a)}

/* ══════════════════════════════════════════
   SECTION 6 — ABSTRACT + TRIVANA
══════════════════════════════════════════ */
#s6{
  position:relative;min-height:70vh;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg);overflow:hidden;
}
/* Animated mesh */
.s6-blob{
  position:absolute;border-radius:50%;filter:blur(120px);
  animation:blobDrift 14s ease-in-out infinite;pointer-events:none;
}
.sb1{width:600px;height:600px;background:rgba(196,154,42,.07);top:-100px;left:-100px;animation-delay:0s}
.sb2{width:500px;height:500px;background:rgba(160,112,32,.06);bottom:-80px;right:-80px;animation-delay:4s}
.sb3{width:400px;height:400px;background:rgba(240,208,96,.04);top:50%;left:50%;animation-delay:8s;transform:translate(-50%,-50%)}
@keyframes blobDrift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}
.sb3{animation:blobDrift3 14s 8s ease-in-out infinite}
@keyframes blobDrift3{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + 30px),calc(-50% - 20px)) scale(1.06)}}
.s6-pat{
  position:absolute;inset:0;opacity:.03;
  background-image:
    repeating-linear-gradient(0deg,#a07020 0,#a07020 1px,transparent 1px,transparent 70px),
    repeating-linear-gradient(90deg,#a07020 0,#a07020 1px,transparent 1px,transparent 70px);
}
.s6-in{
  position:relative;z-index:2;
  text-align:center;padding:7rem 5vw;max-width:1100px;margin:0 auto;
}
.s6-ey{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-a);margin-bottom:2rem;
  display:inline-flex;align-items:center;gap:.8rem;
}
.s6-ey::before,.s6-ey::after{content:'';flex:0 0 26px;height:1px;background:var(--gold-a)}
/* Single-line heading: Abstract + Trivana */
.s6-h-line{
  display:flex;align-items:center;justify-content:center;gap:1.5rem;
  flex-wrap:nowrap;white-space:nowrap;
  margin-bottom:3.5rem;
}
.s6-h{
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:clamp(2.8rem,6vw,7rem);line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  letter-spacing:-.02em;display:inline-block;
}
.s6-plus{
  font-family:'League Spartan',sans-serif;font-weight:300;
  font-size:clamp(2.5rem,5vw,6rem);line-height:1;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  animation:plusPulse 3s ease-in-out infinite;display:inline-block;margin:0;
}
@keyframes plusPulse{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.15) rotate(5deg)}}
.s6-cta{
  display:inline-flex;align-items:center;gap:1.4rem;
  background:var(--deep);border-radius:2px;padding:1.8rem 2.8rem;
  text-decoration:none;position:relative;overflow:hidden;
  transition:transform .35s,box-shadow .35s;
}
.s6-cta::before{
  content:'';position:absolute;inset:0;
  background:var(--grad-gold);
  transform:translateX(-101%);transition:transform .5s var(--ease);
}
.s6-cta:hover::before{transform:none}
.s6-cta:hover{transform:translateY(-5px);box-shadow:0 20px 60px rgba(14,11,7,.25)}
.s6-cta-txt{position:relative;z-index:1;text-align:left}
.s6-cta-txt strong{
  display:block;font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:1.6rem;color:#fff;line-height:1;
}
.s6-cta-txt strong em{
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;font-style:normal;
}
.s6-cta:hover .s6-cta-txt strong,.s6-cta:hover .s6-cta-txt strong em{
  -webkit-text-fill-color:var(--deep);
  color:var(--deep);
  background:none;
}
.s6-cta-txt span{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(224,217,204,.45);margin-top:.3rem;display:block;
  transition:color .3s;
}
.s6-cta:hover .s6-cta-txt span{color:rgba(14,11,7,.6)}
.s6-arr{
  position:relative;z-index:1;
  width:44px;height:44px;border:1.5px solid rgba(255,255,255,.2);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;color:#fff;transition:transform .35s,border-color .35s;
}
.s6-cta:hover .s6-arr{transform:rotate(45deg);border-color:rgba(14,11,7,.3);color:var(--deep)}

/* ══════════════════════════════════════════
   SECTION 7 — IMAGE + TEXT
══════════════════════════════════════════ */
#s7{padding:8rem 5vw;background:var(--ivory)}
.s7-in{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;
}
/* Left: image stack */
.s7-stack{position:relative;padding-bottom:3rem;padding-right:3rem}
.s7-shape{
  position:absolute;top:-18px;left:-18px;
  width:200px;height:200px;border-radius:2px;
  background:var(--sand);z-index:0;
}
.s7-main{
  position:relative;z-index:2;border-radius:2px;overflow:hidden;
  box-shadow:0 28px 70px rgba(19,18,21,.14);
}
.s7-main img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.s7-accent{
  position:absolute;bottom:0;right:0;z-index:3;width:52%;
  border-radius:2px;overflow:hidden;
  box-shadow:0 14px 44px rgba(19,18,21,.2);
  border:4px solid var(--ivory);
}
.s7-accent img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.s7-badge{
  position:absolute;top:2rem;right:-2rem;z-index:4;
  width:88px;height:88px;border-radius:50%;
  background:var(--grad-gold);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 8px 28px rgba(196,154,42,.4);
  animation:badgePop 5s ease-in-out infinite;
}
@keyframes badgePop{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(4deg)}}
.s7-badge-n{
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:1.7rem;color:var(--deep);line-height:1;
}
.s7-badge-l{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:var(--deep);
}
/* Right: text */
.s7-body{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.9rem;line-height:1.9;color:var(--sub-heading);margin-bottom:1.4rem;
}
.s7-hls{display:flex;flex-direction:column;gap:.9rem;margin:2rem 0 2.5rem}
.s7-hl{
  display:flex;align-items:center;gap:1rem;
  padding:1rem 1.2rem;
  background:#fff;border:1px solid var(--sand);border-radius:2px;
  transition:border-color .3s,transform .3s;cursor:default;
}
.s7-hl:hover{border-color:rgba(196,154,42,.4);transform:translateX(6px)}
.s7-hl-n{
  font-family:'League Spartan',sans-serif;font-weight:700;
  font-size:1.4rem;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  min-width:40px;
}
.s7-hl-txt strong{
  display:block;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.85rem;color:var(--body-text);margin-bottom:.2rem;
}
.s7-hl-txt span{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.78rem;color:var(--muted);
}

/* ══════════════════════════════════════════
   FOOTER
══════════════════════════════════════════ */
footer{
  background:var(--deep);padding:5.5rem 5vw 2rem;
  position:relative;overflow:hidden;
}
footer::before{
  content:'';position:absolute;top:0;left:5vw;right:5vw;height:1px;
  background:linear-gradient(to right,transparent,rgba(196,154,42,.3),rgba(196,154,42,.3),transparent);
}
.ft-ghost{
  position:absolute;bottom:-2rem;right:-1vw;
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:clamp(7rem,15vw,17rem);
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.03);
  white-space:nowrap;pointer-events:none;user-select:none;line-height:1;
}
.ft-grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:2.4fr 1fr 1fr 1.5fr;gap:4rem;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;z-index:1;
}
.ft-logo{
  font-family:'League Spartan',sans-serif;font-weight:900;
  font-size:1.8rem;
  background:var(--grad-gold);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  display:flex;align-items:center;gap:.3rem;margin-bottom:.9rem;
}
.ft-logo-dot{
  width:8px;height:8px;border-radius:50%;background:var(--gold-a);
  margin-bottom:5px;animation:dotPop 2.5s ease-in-out infinite;
}
.ft-tag{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.82rem;color:#e0d9cc;line-height:1.7;
  max-width:240px;margin-bottom:2rem;
}
.ft-soc{display:flex;gap:.7rem}
.fts{
  width:34px;height:34px;border:1px solid rgba(255,255,255,.1);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:rgba(224,217,204,.28);
  font-family:'Poppins',sans-serif;font-weight:600;font-size:.7rem;
  transition:all .3s;
}
.fts:hover{border-color:var(--gold-a);color:var(--gold-a);transform:translateY(-3px)}
.ft-col-t{
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-a);margin-bottom:1.5rem;
}
.ft-ul{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.ft-ul a{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.83rem;color:#e0d9cc;
  transition:color .3s,transform .3s;display:inline-block;
}
.ft-ul a:hover{color:var(--warm);transform:translateX(4px)}
.ft-news p{
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.82rem;color:#e0d9cc;line-height:1.65;margin-bottom:1.2rem;
}
.ft-news-row{display:flex;border-radius:2px;overflow:hidden}
.ft-ni{
  flex:1;padding:.8rem 1rem;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-right:none;
  color:var(--on-dark);
  font-family:'Poppins',sans-serif;font-weight:300;font-size:.8rem;
  outline:none;transition:border-color .3s;
}
.ft-ni:focus{border-color:var(--gold-a)}
.ft-ni::placeholder{color:rgba(224,217,204,.18)}
.ft-nb{
  padding:.8rem 1.2rem;border:none;cursor:pointer;
  background:var(--grad-gold);
  color:var(--deep);
  font-family:'Poppins',sans-serif;font-weight:600;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  transition:opacity .3s;
}
.ft-nb:hover{opacity:.85}
.ft-bot{
  max-width:1320px;margin:0 auto;padding-top:2.5rem;
  display:flex;justify-content:space-between;align-items:center;
  position:relative;z-index:1;flex-wrap:wrap;gap:1rem;
  font-family:'Poppins',sans-serif;font-weight:300;
  font-size:.76rem;color:rgba(224,217,204,.18);
}
.ft-bot-r{display:flex;gap:2rem}
.ft-bot-r a{color:rgba(224,217,204,.18);transition:color .3s}
.ft-bot-r a:hover{color:var(--warm)}

/* ══════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════ */
.rv{opacity:0;transform:translateY(46px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-46px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(46px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-r.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.94);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-s.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}.d5{transition-delay:.5s}

/* ══════════════════════════════════════════
   RESPONSIVE — COMPREHENSIVE MOBILE FIRST
   Breakpoints:
     1200px  large tablet / small laptop
     1024px  tablet landscape
     768px   tablet portrait
     600px   large phone
     480px   standard phone
     360px   small phone
══════════════════════════════════════════ */

/* ─ Hide custom cursor on touch devices ─ */
@media(hover:none){
  .cur,.cur-r{display:none}
}

/* ════════════════════════════════
   1200px — Large tablet
════════════════════════════════ */
@media(max-width:1200px){
  /* Section 2 */
  .s2-inner{gap:3.5rem}

  /* Section 3 */
  .s3-inner{gap:3.5rem}
  .orb-wrap{width:320px;height:320px}

  /* Section 7 */
  .s7-in{gap:4rem}

  /* Footer */
  .ft-grid{grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
  .ft-grid > div:last-child{grid-column:1/-1}
}

/* ════════════════════════════════
   1024px — Tablet landscape
════════════════════════════════ */
@media(max-width:1024px){

  /* ── Nav ── */
  .nav-links{gap:1.6rem}
  .nav-links a{font-size:.72rem}

  /* ── Section 2 ── */
  .s2-inner{
    grid-template-columns:1fr;
    padding:5rem 5vw;
    gap:3rem;
  }
  .s2-left{max-width:420px;margin:0 auto}
  .s2-frame img{aspect-ratio:3/2}

  /* ── Section 3 ── */
  .s3-inner{grid-template-columns:1fr;gap:4rem}
  .s3-left{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    gap:3rem;
  }
  .orb-wrap{width:280px;height:280px}
  .s3-right{width:100%}
  .logo-carousel-wrap{max-width:700px;margin:0 auto}
  .s3-stats-strip{justify-content:center}

  /* ── Section 4 ── */
  .s4-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .s4-banner{height:48vh}
  .s4-grid-wrap{padding:3rem 5vw 5rem}

  /* ── Section 5 ── */
  .s5-card{height:60vh;min-height:380px}
  .s5-cap{padding:2rem 3rem 2.5rem}

  /* ── Section 7 ── */
  .s7-in{grid-template-columns:1fr;gap:3rem}
  .s7-stack{padding-bottom:2.5rem;padding-right:2.5rem;max-width:500px;margin:0 auto}

  /* ── Footer ── */
  .ft-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
}

/* ════════════════════════════════
   768px — Tablet portrait
════════════════════════════════ */
@media(max-width:768px){

  /* ── Root sizes ── */
  :root{
    --bar-h: 32px;
    --nav-h: 62px;
  }

  /* ── Top marquee ── */
  .top-bar{height:var(--bar-h)}
  .top-item{font-size:.6rem;letter-spacing:.14em}

  /* ── Nav ── */
  .nav-links{display:none}
  .ham{display:flex}
  .nav-logo{font-size:1.3rem}

  /* ── Buttons ── */
  .btn-gold,.btn-outline-dark,.btn-outline-light{
    padding:.8rem 1.8rem;font-size:.75rem;
  }

  /* ── Section 1: Hero ── */
  #s1{height:100svh}
  .s1-orb{width:110px;height:110px}
  .s1-orb-txt{font-size:1.6rem}

  /* ── Section 2 ── */
  #s2{min-height:auto}
  .s2-inner{padding:4rem 5vw;gap:2.5rem}
  .s2-quote{font-size:clamp(1.3rem,4.5vw,1.8rem)}
  .s2-stats{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1rem;padding-top:1.5rem;
  }
  .s2-sn{font-size:2rem}
  .s2-lbl{bottom:-10px;right:-10px;padding:.6rem 1rem;font-size:.62rem}

  /* ── Section 3 ── */
  #s3{padding:5rem 5vw}
  .s3-left{gap:2.5rem}
  .orb-wrap{width:240px;height:240px}
  .orb-center{inset:52px}
  .logo-tile{flex:0 0 120px;height:65px}
  .logo-tile img{max-width:95px;max-height:42px}
  .s3-stats-strip{gap:2rem}
  .s3-stat-n{font-size:1.7rem}

  /* ── Section 4 ── */
  .s4-banner{height:42vh;min-height:280px}
  .s4-banner-h{font-size:clamp(1.6rem,5vw,2.8rem)}
  .s4-grid{grid-template-columns:1fr 1fr;gap:1.2rem}
  .s4-grid-wrap{padding:2.5rem 5vw 4rem}

  /* ── Section 5 ── */
  #s5{padding:4rem 0 3rem}
  .s5-hdr{margin-bottom:2rem}
  .s5-card{height:55vh;min-height:340px}
  .s5-cap{
    padding:1.5rem 2rem 2rem;
    flex-direction:column;
    align-items:flex-start;
    gap:1.2rem;
  }
  .s5-title{font-size:clamp(1.3rem,4vw,2rem)}
  .s5-meta{font-size:.78rem}
  .s5-read-btn{padding:.7rem 1.4rem;font-size:.68rem}

  /* ── Section 6 ── */
  #s6{min-height:auto}
  .s6-in{padding:5rem 5vw}
  .s6-h-line{gap:1rem;flex-wrap:wrap}
  .s6-h{font-size:clamp(2.2rem,8vw,4.5rem)}
  .s6-plus{font-size:clamp(2rem,7vw,4rem)}
  .s6-cta{padding:1.4rem 2rem;gap:1rem}
  .s6-cta-txt strong{font-size:1.3rem}

  /* ── Section 7 ── */
  #s7{padding:5rem 5vw}
  .s7-stack{padding-bottom:2rem;padding-right:2rem}
  .s7-accent{width:45%}
  .s7-badge{width:76px;height:76px;right:-1.2rem}
  .s7-badge-n{font-size:1.4rem}
  .s7-body{font-size:.88rem}

  /* ── Footer ── */
  footer{padding:4rem 5vw 1.8rem}
  .ft-grid{grid-template-columns:1fr 1fr;gap:2rem;padding-bottom:2.5rem}
  .ft-grid > div:first-child{grid-column:1/-1}
  .ft-logo{font-size:1.5rem}
  .ft-bot{flex-direction:column;text-align:center;padding-top:2rem}
  .ft-bot-r{justify-content:center;flex-wrap:wrap;gap:1.2rem}
}

/* ════════════════════════════════
   600px — Large phone
════════════════════════════════ */
@media(max-width:600px){

  /* ── Section 2 ── */
  .s2-frame img{aspect-ratio:4/3}
  .s2-stats{grid-template-columns:repeat(3,1fr);gap:.8rem}
  .s2-sn{font-size:1.7rem}
  .s2-sl{font-size:.62rem}
  .s2-body{font-size:.85rem}
  .s2-qmark{font-size:5rem}

  /* ── Section 3 ── */
  .s3-left{gap:2rem}
  .orb-wrap{width:200px;height:200px}
  .orb-center{inset:44px}
  .s3-partners-title-block{text-align:center}

  /* ── Section 4 ── */
  .s4-grid{grid-template-columns:1fr;max-width:340px;margin:0 auto}
  .tc-img{aspect-ratio:4/3}
  .s4-banner{height:38vh;min-height:240px}
  .s4-banner-over{padding-bottom:2.5rem}

  /* ── Section 5 ── */
  .s5-card{height:70vw;min-height:300px}
  .s5-cap{padding:1.2rem 1.4rem 1.6rem}
  .s5-cap-right{width:100%}
  .s5-read-btn{width:100%;justify-content:center}

  /* ── Section 6 ── */
  .s6-h-line{
    flex-direction:column;
    align-items:center;
    gap:.4rem;
    white-space:normal;
  }
  .s6-plus{
    line-height:1;
    margin:-.4rem 0;
  }
  .s6-cta{
    width:100%;
    justify-content:space-between;
    padding:1.2rem 1.6rem;
  }

  /* ── Section 7 ── */
  .s7-stack{max-width:100%;padding-bottom:2rem;padding-right:1.5rem}
  .s7-accent{width:42%;border-width:3px}
  .s7-badge{width:68px;height:68px;top:1.2rem;right:-.8rem}
  .s7-badge-n{font-size:1.2rem}
  .s7-hls{gap:.7rem}
  .s7-hl{padding:.85rem 1rem}

  /* ── Footer ── */
  .ft-grid{grid-template-columns:1fr}
  .ft-grid > div:first-child{grid-column:auto}
  .ft-col-t{margin-bottom:1rem}
  .ft-ul{gap:.7rem}
}

/* ════════════════════════════════
   480px — Standard phone
════════════════════════════════ */
@media(max-width:480px){

  /* ── Root ── */
  :root{
    --bar-h: 0px;   /* hide marquee bar on very small screens */
    --nav-h: 58px;
  }
  .top-bar{display:none} /* too small to read on tiny screens */
  .page-offset{height:var(--nav-h)}

  /* ── Nav ── */
  #nav{top:0;padding:0 4vw}

  /* ── Section 1 ── */
  .s1-orb{width:95px;height:95px;margin-bottom:0}
  .s1-orb::before{inset:-10px}
  .s1-orb::after{inset:-20px}
  .s1-orb-txt{font-size:1.4rem}
  .s1-scroll{bottom:1.8rem}
  .s1-line{height:36px}

  /* ── Section 2 ── */
  .s2-inner{padding:3.5rem 4vw;gap:2rem}
  .s2-eyebrow{font-size:.65rem}
  .s2-qmark{font-size:4rem}
  .s2-quote{font-size:clamp(1.1rem,5vw,1.5rem)}
  .s2-stats{
    grid-template-columns:repeat(3,1fr);
    gap:.6rem;
  }
  .s2-sn{font-size:1.5rem}

  /* ── Section 3 ── */
  #s3{padding:4rem 4vw}
  .sec-h{font-size:clamp(1.6rem,6vw,2.4rem)}
  .orb-wrap{width:180px;height:180px}
  .orb-center{inset:38px}
  .logo-tile{flex:0 0 100px;height:56px;padding:0 8px}
  .logo-tile img{max-width:80px;max-height:36px}
  .s3-stats-strip{gap:1.5rem;padding-top:2rem}
  .s3-stat-n{font-size:1.5rem}
  .s3-stat-l{font-size:.6rem}

  /* ── Section 4 ── */
  .s4-banner{height:50vw;min-height:200px}
  .s4-banner-h{font-size:clamp(1.3rem,5.5vw,2rem)}
  .s4-banner-over{padding-bottom:2rem}
  .s4-grid{max-width:100%}
  .s4-grid-wrap{padding:2rem 4vw 3.5rem}
  .tc-name{font-size:1rem}

  /* ── Section 5 ── */
  #s5{padding:3.5rem 0 2.5rem}
  .s5-hdr{padding:0 4vw;margin-bottom:1.5rem}
  .s5-hdr .sec-h{font-size:clamp(1.5rem,5vw,2rem)}
  .s5-card{height:56vw;min-height:260px}
  .s5-title{font-size:clamp(1.1rem,4.5vw,1.6rem)}
  .s5-tag{font-size:.6rem;letter-spacing:.12em}
  .s5-meta{display:none} /* hide on tiny screens */
  .s5-dots{margin-top:1.4rem}

  /* ── Section 6 ── */
  #s6{min-height:auto}
  .s6-in{padding:4rem 4vw}
  .s6-ey{font-size:.62rem}
  .s6-h{font-size:clamp(1.8rem,9vw,3rem)}
  .s6-plus{font-size:clamp(1.6rem,8vw,2.6rem)}
  .s6-cta{flex-direction:column;align-items:center;text-align:center;gap:.8rem}
  .s6-cta-txt{text-align:center}
  .s6-cta-txt strong{font-size:1.1rem}
  .s6-arr{width:38px;height:38px;font-size:1rem}

  /* ── Section 7 ── */
  #s7{padding:4rem 4vw}
  .s7-stack{padding-bottom:1.8rem;padding-right:1.2rem}
  .s7-badge{display:none} /* overlaps on tiny screens */
  .s7-shape{width:140px;height:140px;top:-12px;left:-12px}
  .s7-body{font-size:.85rem;line-height:1.8}
  .s7-hl-txt strong{font-size:.82rem}
  .s7-hl-txt span{font-size:.74rem}
  .s7-hl-n{font-size:1.2rem;min-width:34px}

  /* ── Footer ── */
  footer{padding:3.5rem 4vw 1.5rem}
  .ft-ghost{display:none}
  .ft-logo{font-size:1.4rem}
  .ft-news-row{flex-direction:column;border-radius:2px;overflow:visible;gap:.6rem}
  .ft-ni{border-right:1px solid rgba(255,255,255,.08);border-radius:2px}
  .ft-nb{border-radius:2px;padding:.85rem;text-align:center}

  /* ── Mobile nav overlay ── */
  .mob a{font-size:clamp(1.6rem,7vw,2.2rem)}
}

/* ════════════════════════════════
   360px — Small phone
════════════════════════════════ */
@media(max-width:360px){

  :root{--nav-h:54px}
  .nav-logo{font-size:1.15rem}

  /* S1 */
  .s1-orb{width:80px;height:80px}
  .s1-orb-txt{font-size:1.2rem}

  /* S2 */
  .s2-stats{grid-template-columns:1fr 1fr 1fr;gap:.4rem}
  .s2-sn{font-size:1.3rem}

  /* S3 */
  .orb-wrap{width:155px;height:155px}
  .orb-center{inset:32px}

  /* S5 */
  .s5-card{height:60vw;min-height:220px}
  .s5-cap{padding:1rem 1.2rem 1.4rem}

  /* S6 */
  .s6-h{font-size:clamp(1.5rem,9.5vw,2.4rem)}

  /* Buttons */
  .btn-gold,.btn-outline-dark,.btn-outline-light{
    padding:.75rem 1.4rem;
    font-size:.72rem;
    width:100%;
    text-align:center;
    display:block;
  }

  /* Team cards */
  .tc-body{padding:1rem .9rem 1.4rem}
  .tc-name{font-size:.95rem}

  /* Footer */
  .ft-grid{gap:1.5rem}
}

/* ════════════════════════════════
   Touch/hover: disable animations
   that don't work well on mobile
════════════════════════════════ */
@media(max-width:768px){
  /* Reduce animation intensity on mobile */
  .rv,.rv-l,.rv-r,.rv-s{
    transform:translateY(20px);
  }
  .rv-l{transform:translateX(-20px)}
  .rv-r{transform:translateX(20px)}
  .rv-s{transform:scale(.97)}

  /* Remove parallax jank on mobile */
  .s2-bg img{transform:none !important}

  /* Prevent overflow from orb dots on small screens */
  .orb-dot{width:7px;height:7px}
  .orb-pt{display:none}

  /* S5 slides: disable hover scale on touch */
  .s5-card:hover img{transform:none}
  .s5-card:hover img{transform:scale(1.02)}
}

/* ════════════════════════════════
   Landscape phone (short height)
════════════════════════════════ */
@media(max-height:500px) and (orientation:landscape){
  #s1{height:100vw;min-height:300px}
  .s1-orb{width:80px;height:80px;margin-bottom:0}
  .s1-scroll{display:none}
  #s2{min-height:auto}
  .s2-inner{padding:2.5rem 5vw}
  .s4-banner{height:60vw;min-height:200px}
  .s5-card{height:80vw;min-height:260px}
}
/* ── Active nav link ── */
.nav-links a.active {
  color: var(--gold-a);
}
.nav-links a.active::after {
  width: 100%;
  background: var(--grad-gold);
}
.nav-links a.active::before {
  content: '';
  position: absolute;
  top: -10px; left: 50%;
  transform: translateX(-50%);
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--gold-a);
  box-shadow: 0 0 6px var(--gold-a);
  animation: activeDot 2.5s ease-in-out infinite;
}
@keyframes activeDot {
  0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
  50%       { opacity: .5; transform: translateX(-50%) scale(1.6); }
}

/* ── Active link on mobile overlay ── */
.mob a.active {
  background: var(--grad-gold);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
}
.mob a.active::after {
  content: '';
  position: absolute;
  bottom: -6px; left: 0; right: 0;
  height: 2px;
  background: var(--grad-gold);
  border-radius: 1px;
}
/* ══════════════════════════════════════════════════
   ★ PARTNERS SECTION ★
   Self-contained, zero conflicts with old code
   Every class uses .partners__ prefix
══════════════════════════════════════════════════ */

.partners {
  padding: 6rem 5vw;
  background: #ffffff;
  overflow: hidden;
}

.partners__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

/* ─────── LEFT: Icon ─────── */
.partners__icon-col {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.partners__icon-box {
/* width: min(380px, 100%); */
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.partners__icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter:
    drop-shadow(0 0 30px rgba(196, 154, 42, 0.4))
    drop-shadow(0 0 60px rgba(196, 154, 42, 0.18));
  animation: partnersIconSpin 22s linear infinite;
  -webkit-user-drag: none;
  user-select: none;
}

@keyframes partnersIconSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Pause on hover (desktop only) */
@media (hover: hover) {
  .partners__icon-box:hover .partners__icon-img {
    animation-play-state: paused;
  }
}

/* ─────── RIGHT: Content ─────── */
.partners__content-col {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;     /* prevents overflow in grid */
}

.partners__heading {
  margin-bottom: 2.5rem;
}

.partners__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #C49A2A;
  margin-bottom: 1rem;
}
.partners__eyebrow::before {
  content: '';
  width: 20px;
  height: 1px;
  background: #C49A2A;
}

.partners__title {
  font-family: 'League Spartan', sans-serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  line-height: 1.1;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
}

/* ─────── Logo marquee ─────── */
.partners__marquee {
  position: relative;
  overflow: hidden;
  padding: 1rem 0;
  margin-bottom: 1rem;
}
.partners__marquee::before,
.partners__marquee::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50px;
  z-index: 2;
  pointer-events: none;
}
.partners__marquee::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}
.partners__marquee::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}

.partners__row {
  display: flex;
  width: max-content;
  margin-bottom: 1rem;
}
.partners__row--left  { animation: partnersScrollLeft  18s linear infinite; }
.partners__row--right { animation: partnersScrollRight 22s linear infinite; }
.partners__row:hover  { animation-play-state: paused; }

@keyframes partnersScrollLeft {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes partnersScrollRight {
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

.partners__logo {
  flex: 0 0 130px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}
.partners__logo img {
  max-width: 100px;
  max-height: 42px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(1) opacity(0.4);
  transition: filter 0.4s, transform 0.4s;
}
.partners__logo img:hover {
  filter: grayscale(0) opacity(1);
  transform: scale(1.1);
}

/* ─────── Stats ─────── */
.partners__stats {
  display: flex;
  gap: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #E8DDD0;
  flex-wrap: wrap;
}

.partners__stat {
  display: flex;
  flex-direction: column;
}

.partners__stat-num {
  font-family: 'League Spartan', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.partners__stat-label {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.66rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #4d4739;
  margin-top: 0.4rem;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

/* Tablet — stack to single column */
@media (max-width: 960px) {
  .partners {
    padding: 5rem 5vw;
  }
  .partners__inner {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .partners__icon-box {
    width: min(300px, 70vw);
  }
  .partners__heading {
    text-align: center;
  }
  .partners__eyebrow {
    justify-content: center;
  }
  .partners__stats {
    justify-content: center;
    text-align: center;
  }
  .partners__stat {
    align-items: center;
  }
}

/* Phone */
@media (max-width: 600px) {
  .partners {
    padding: 4rem 5vw;
  }
  .partners__icon-box {
    width: min(240px, 65vw);
  }
  .partners__icon-img {
    filter:
      drop-shadow(0 0 18px rgba(196, 154, 42, 0.35))
      drop-shadow(0 0 40px rgba(196, 154, 42, 0.15));
    animation-duration: 28s;
  }
  .partners__logo {
    flex: 0 0 110px;
    height: 56px;
  }
  .partners__logo img {
    max-width: 80px;
    max-height: 36px;
  }
  .partners__stats {
    gap: 1.5rem;
    padding-top: 1.5rem;
  }
  .partners__stat-num {
    font-size: 1.6rem;
  }
}

/* Small phone */
@media (max-width: 380px) {
  .partners__icon-box {
    width: 70vw;
  }
  .partners__logo {
    flex: 0 0 90px;
    height: 50px;
  }
  .partners__stats {
    gap: 1rem;
  }
}

/* Accessibility: respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .partners__icon-img,
  .partners__row {
    animation: none;
  }
}
/* ══════════════════════════════════════════════════
   ★ S1 HERO — TRIVANA DESIGNS TEXT ★
══════════════════════════════════════════════════ */

.s1-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 5vw;
  width: 100%;
}

/* ─ Top eyebrow ─ */
.s1-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: clamp(0.65rem, 1.2vw, 0.78rem);
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(224, 217, 204, 0.72);
  margin-bottom: 1.6rem;
  opacity: 0;
  animation: s1FadeUp 1.2s 0.2s ease-out forwards;
}
.s1-eyebrow::before,
.s1-eyebrow::after {
  content: '';
  width: clamp(20px, 4vw, 40px);
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(196, 154, 42, 0.6));
}
.s1-eyebrow::after {
  background: linear-gradient(to left, transparent, rgba(196, 154, 42, 0.6));
}

/* ─ Main brand text ─ */
.s1-brand {
  font-family: 'League Spartan', sans-serif;
  font-weight: 800;
  font-size: clamp(2.8rem, 9vw, 8.5rem);
  line-height: 0.95;
  letter-spacing: -0.015em;
  color: #ffffff;
  margin: 0 0 1.4rem;
  text-shadow:
    0 4px 30px rgba(0, 0, 0, 0.5),
    0 2px 8px rgba(0, 0, 0, 0.3);
  opacity: 0;
  animation: s1FadeUp 1.4s 0.4s ease-out forwards;
}

.s1-brand-accent {
  font-weight: 300;
  font-style: italic;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: inline-block;
  /* subtle shimmer */
  background-size: 200% 100%;
  animation: s1Shimmer 5s linear infinite;
}

@keyframes s1Shimmer {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* ─ Tagline below ─ */
.s1-tagline {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: clamp(0.85rem, 1.6vw, 1.15rem);
  letter-spacing: 0.05em;
  color: rgba(224, 217, 204, 0.8);
  margin: 0;
  max-width: 600px;
  opacity: 0;
  animation: s1FadeUp 1.4s 0.6s ease-out forwards;
}

/* Entrance animation */
@keyframes s1FadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 768px) {
  .s1-eyebrow {
    letter-spacing: 0.22em;
    margin-bottom: 1.2rem;
  }
  .s1-brand {
    margin-bottom: 1.1rem;
    text-shadow: 0 3px 20px rgba(0, 0, 0, 0.55);
  }
  .s1-tagline {
    font-size: clamp(0.78rem, 3vw, 0.95rem);
    line-height: 1.5;
  }
}

@media (max-width: 480px) {
  .s1-eyebrow {
    font-size: 0.6rem;
    letter-spacing: 0.18em;
    gap: 0.6rem;
  }
  .s1-eyebrow::before,
  .s1-eyebrow::after {
    width: 18px;
  }
  .s1-brand {
    line-height: 1;
    letter-spacing: -0.01em;
  }
  .s1-tagline {
    font-size: 0.78rem;
    padding: 0 1rem;
  }
}

@media (max-width: 360px) {
  .s1-brand {
    font-size: clamp(2.4rem, 11vw, 3.5rem);
  }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  .s1-eyebrow,
  .s1-brand,
  .s1-tagline {
    animation: none;
    opacity: 1;
  }
  .s1-brand-accent {
    animation: none;
  }
}
/* ══════════════════════════════════════════════════
   ★ CONTACT POPUP MODAL ★
══════════════════════════════════════════════════ */

.cmodal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.45s ease, visibility 0.45s;
  pointer-events: none;
}

.cmodal.open {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}

/* Dark blurred backdrop */
.cmodal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(14, 11, 7, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Card */
.cmodal__card {
  position: relative;
  width: 100%;
  max-width: 640px;
  max-height: 92vh;
  overflow-y: auto;
  background: linear-gradient(140deg, #FAF6ED 0%, #ffffff 50%, #F5EDDD 100%);
  border-radius: 4px;
  padding: 3rem 3rem 2.5rem;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(196, 154, 42, 0.18);
  transform: translateY(40px) scale(0.96);
  opacity: 0;
  transition: transform 0.55s cubic-bezier(.16,1,.3,1), opacity 0.4s;
}

.cmodal.open .cmodal__card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* Decorative gold corners */
.cmodal__corner {
  position: absolute;
  width: 22px;
  height: 22px;
  border-color: #C49A2A;
  border-style: solid;
  border-width: 0;
  z-index: 2;
}
.cmodal__corner--tl { top: 14px; left: 14px;  border-top-width: 1.5px; border-left-width: 1.5px; }
.cmodal__corner--tr { top: 14px; right: 14px; border-top-width: 1.5px; border-right-width: 1.5px; }
.cmodal__corner--bl { bottom: 14px; left: 14px;  border-bottom-width: 1.5px; border-left-width: 1.5px; }
.cmodal__corner--br { bottom: 14px; right: 14px; border-bottom-width: 1.5px; border-right-width: 1.5px; }

/* Close button */
.cmodal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(14, 11, 7, 0.06);
  color: #4d4739;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s, color 0.3s, transform 0.3s;
}
.cmodal__close:hover {
  background: linear-gradient(110deg, #C49A2A, #F0D060, #C49A2A, #A07020);
  color: #ffffff;
  transform: rotate(90deg);
}

/* Header */
.cmodal__header {
  text-align: center;
  margin-bottom: 2rem;
}

.cmodal__eyebrow {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.68rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 0.9rem;
}

.cmodal__title {
  font-family: 'League Spartan', sans-serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.15;
  color: #131215;
  margin: 0 0 0.6rem;
}
.cmodal__title em {
  font-weight: 300;
  font-style: italic;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.cmodal__subtitle {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  font-size: 0.86rem;
  color: #4d4739;
  line-height: 1.6;
  margin: 0;
}

/* Form */
.cmodal__form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cmodal__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.cmodal__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}
.cmodal__field label {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #4d4739;
}
.cmodal__field input,
.cmodal__field textarea {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
  padding: 0.85rem 1rem;
  border: 1.5px solid #E8DDD0;
  border-radius: 2px;
  background: #ffffff;
  color: #131215;
  outline: none;
  transition: border-color 0.3s, box-shadow 0.3s;
  width: 100%;
  resize: vertical;
}
.cmodal__field input::placeholder,
.cmodal__field textarea::placeholder {
  color: rgba(74, 63, 53, 0.4);
}
.cmodal__field input:focus,
.cmodal__field textarea:focus {
  border-color: #C49A2A;
  box-shadow: 0 0 0 4px rgba(196, 154, 42, 0.1);
}
.cmodal__field textarea {
  min-height: 110px;
  line-height: 1.6;
}
/* Error state */
.cmodal__field.error input,
.cmodal__field.error textarea {
  border-color: #c0392b;
  box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.08);
}

/* Submit button */
.cmodal__submit {
  margin-top: 0.6rem;
  padding: 1rem 2rem;
  border: none;
  border-radius: 2px;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  background-size: 200% 100%;
  color: #0e0b07;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  transition: transform 0.25s, box-shadow 0.25s, background-position 0.6s;
}
.cmodal__submit svg {
  width: 16px;
  height: 16px;
}
.cmodal__submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(196, 154, 42, 0.4);
  background-position: 100% 50%;
}

/* Success state */
.cmodal__success {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem 0;
  gap: 0.6rem;
}
.cmodal__success.show {
  display: flex;
  animation: cmodalSuccessFade 0.5s ease-out;
}
@keyframes cmodalSuccessFade {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}
.cmodal__success-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  color: #0e0b07;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
  box-shadow: 0 8px 26px rgba(196, 154, 42, 0.4);
}
.cmodal__success h3 {
  font-family: 'League Spartan', sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
}
.cmodal__success p {
  font-family: 'Poppins', sans-serif;
  font-weight: 300;
  font-size: 0.88rem;
  color: #4d4739;
  margin: 0;
  max-width: 340px;
  line-height: 1.6;
}

/* Hide form when success is showing */
.cmodal__form.hidden { display: none; }

/* Lock body scroll when modal is open */
body.cmodal-open {
  overflow: hidden;
}

/* ════════════════════════════════════════
   RESPONSIVE — Mobile-optimized
════════════════════════════════════════ */

/* Tablet & smaller */
@media (max-width: 768px) {
  .cmodal {
    padding: 0.8rem;
    align-items: flex-end;        /* stick modal to bottom on mobile */
  }
  .cmodal__card {
    /* Use dynamic viewport height — handles iOS address bar */
    max-height: 90dvh;
    max-height: 90vh; /* fallback */
    padding: 2rem 1.5rem 1.5rem;
    border-radius: 6px 6px 3px 3px;
    -webkit-overflow-scrolling: touch;  /* smooth iOS scroll */
    overscroll-behavior: contain;       /* prevent scroll chaining */
  }
  .cmodal__header {
    margin-bottom: 1.4rem;
  }
  .cmodal__title {
    font-size: clamp(1.4rem, 5vw, 1.8rem);
  }
  .cmodal__subtitle {
    font-size: 0.82rem;
  }
  .cmodal__row {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
  .cmodal__form {
    gap: 0.85rem;
  }
  .cmodal__field input,
  .cmodal__field textarea {
    font-size: 16px;              /* prevents iOS zoom-on-focus */
    padding: 0.75rem 0.95rem;
  }
  .cmodal__field textarea {
    min-height: 90px;
  }
  .cmodal__corner { width: 14px; height: 14px; }
  .cmodal__close {
    top: 8px; right: 8px;
    width: 32px; height: 32px;
    font-size: 1.2rem;
  }
  .cmodal__submit {
    padding: 0.95rem 1.5rem;
    font-size: 0.74rem;
  }
}

/* Phone */
@media (max-width: 480px) {
  .cmodal {
    padding: 0;                   /* full-width on small phones */
  }
  .cmodal__card {
    max-height: 95dvh;
    max-height: 95vh;
    padding: 1.8rem 1.2rem 1.2rem;
    border-radius: 8px 8px 0 0;   /* sheet-style from bottom */
  }
  .cmodal__header {
    margin-bottom: 1.2rem;
  }
  .cmodal__eyebrow {
    font-size: 0.62rem;
    letter-spacing: 0.18em;
    margin-bottom: 0.6rem;
  }
  .cmodal__title {
    font-size: 1.4rem;
    line-height: 1.2;
  }
  .cmodal__subtitle {
    font-size: 0.78rem;
    line-height: 1.5;
  }
  .cmodal__field label {
    font-size: 0.6rem;
  }
  .cmodal__field textarea {
    min-height: 75px;
  }
  .cmodal__corner {
    width: 12px;
    height: 12px;
  }
  .cmodal__corner--tl,
  .cmodal__corner--tr { top: 10px; }
  .cmodal__corner--tl { left: 10px; }
  .cmodal__corner--tr { right: 10px; }
  .cmodal__corner--bl,
  .cmodal__corner--br { bottom: 10px; }
  .cmodal__corner--bl { left: 10px; }
  .cmodal__corner--br { right: 10px; }
}

/* Tiny phone */
@media (max-width: 360px) {
  .cmodal__card {
    padding: 1.5rem 1rem 1rem;
  }
  .cmodal__title { font-size: 1.25rem; }
}

/* Animation entrance — slide up from bottom on mobile */
@media (max-width: 768px) {
  .cmodal__card {
    transform: translateY(100%);
  }
  .cmodal.open .cmodal__card {
    transform: translateY(0);
  }
}

/* ════════════════════════════════════════
   Body scroll lock — iOS Safari safe
════════════════════════════════════════ */
body.cmodal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}
/* ══════════════════════════════════════════════════
   ★ FOOTER LOGO + SOCIAL ICONS — UPGRADE ★
══════════════════════════════════════════════════ */

/* ─── Logo image (replaces text logo) ─── */
.ft-logo-wrap {
  display: inline-block;
  margin-bottom: 1.4rem;
  max-width: 220px;
  width: 100%;
  /* Soft glow makes it pop on dark background */
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.4));
  transition: transform 0.3s ease;
}
.ft-logo-wrap:hover {
  transform: translateY(-2px);
}

.ft-logo-img {
  width: 100%;
  height: auto;
  display: block;
  /* Ensure brightness on dark footer */
  filter: brightness(1.05);
}

/* ─── Social icons (SVG with gold-circle treatment) ─── */
.ft-soc {
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
}

.fts {
  /* Override old text-icon styles */
  width: 42px !important;
  height: 42px !important;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1.5px solid rgba(196, 154, 42, 0.4) !important;
  color: rgba(224, 217, 204, 0.8) !important;
  /* Remove the text styles inherited from old CSS */
  font-size: 0 !important;
  font-family: 'Poppins', sans-serif;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s;
}

.fts svg {
  width: 18px;
  height: 18px;
  display: block;
  position: relative;
  z-index: 2;
  transition: transform 0.3s;
}

/* Gold sweep on hover */
.fts::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  transform: translateY(101%);
  transition: transform 0.4s cubic-bezier(.16, 1, .3, 1);
  z-index: 1;
}

.fts:hover {
  border-color: #C49A2A !important;
  color: #0e0b07 !important;
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(196, 154, 42, 0.35);
}
.fts:hover::before {
  transform: translateY(0);
}
.fts:hover svg {
  transform: scale(1.1);
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 768px) {
  .ft-logo-wrap { max-width: 190px; }
}

@media (max-width: 600px) {
  .ft-logo-wrap { max-width: 170px; margin-bottom: 1.2rem; }
  .fts {
    width: 40px !important;
    height: 40px !important;
  }
  .fts svg { width: 17px; height: 17px; }
  .ft-soc { gap: 0.6rem; }
}

@media (max-width: 380px) {
  .ft-logo-wrap { max-width: 150px; }
}
/* ══════════════════════════════════════════════════
   ★ NAV LOGO IMAGE — Override text logo ★
══════════════════════════════════════════════════ */

#nav .nav-logo {
  /* Reset gradient text styles from old text logo */
  background: none !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  gap: 0 !important;
  /* Layout */
  display: flex !important;
  align-items: center !important;
  height: auto;
  padding: 6px 0;
  text-decoration: none;
  flex-shrink: 0;
}

.nav-logo-img {
  display: block;
  height: clamp(34px, 4.2vw, 46px);
  width: auto;
  /* Soft drop-shadow keeps the dark logo badge looking premium on white nav */
  filter: drop-shadow(0 2px 8px rgba(19, 18, 21, 0.12));
  transition: transform 0.35s ease, filter 0.35s ease;
}

.nav-logo:hover .nav-logo-img {
  transform: translateY(-1px) scale(1.03);
  filter: drop-shadow(0 4px 14px rgba(196, 154, 42, 0.35));
}

/* Hide old dot */
#nav .nav-logo .nav-logo-dot {
  display: none !important;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 1024px) {
  .nav-logo-img { height: 38px; }
}

@media (max-width: 768px) {
  .nav-logo-img { height: 34px; }
}

@media (max-width: 480px) {
  .nav-logo-img { height: 30px; }
}

@media (max-width: 360px) {
  .nav-logo-img { height: 28px; }
}
/* ══════════════════════════════════════════════════
   ★ CUSTOM CURSOR — Trivana Icon ★
══════════════════════════════════════════════════ */

/* Hide the native browser cursor on the page */
@media (hover: hover) {
  body,
  body * {
    cursor: none !important;
  }
  /* But keep native cursor for form inputs (so users can type) */
  input,
  textarea,
  select {
    cursor: text !important;
  }
}

/* ─── Override old cursor styles ─── */
.cur {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 9999 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 0 !important;     /* override old circle */
  background: none !important;
  border: none !important;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: width 0.25s ease, height 0.25s ease;
  mix-blend-mode: normal;
}

.cur-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter:
    drop-shadow(0 0 4px rgba(196, 154, 42, 0.55))
    drop-shadow(0 0 10px rgba(196, 154, 42, 0.3));
  animation: cursorSpin 8s linear infinite;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

@keyframes cursorSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ─── Outer trailing ring ─── */
.cur-r {
  position: fixed !important;
  pointer-events: none !important;
  z-index: 9998 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50%;
  border: 1px solid rgba(196, 154, 42, 0.25) !important;
  background: none !important;
  transform: translate(-50%, -50%);
  opacity: 0.7;
  transition: width 0.35s ease, height 0.35s ease, opacity 0.3s;
}

/* ─── Hover state — cursor grows on links/buttons ─── */
.cur.is-hover {
  width: 50px !important;
  height: 50px !important;
}
.cur.is-hover .cur-img {
  animation-duration: 3s;          /* spin faster on hover */
  filter:
    drop-shadow(0 0 8px rgba(196, 154, 42, 0.8))
    drop-shadow(0 0 18px rgba(196, 154, 42, 0.4));
}
.cur-r.is-hover {
  width: 80px !important;
  height: 80px !important;
  opacity: 1;
  border-color: rgba(196, 154, 42, 0.5) !important;
}

/* ─── Click state — quick squish ─── */
.cur.is-click .cur-img {
  transform: scale(0.8);
  transition: transform 0.15s;
}

/* ─── Touch devices — hide custom cursor entirely ─── */
@media (hover: none) {
  .cur,
  .cur-r {
    display: none !important;
  }
  body,
  body * {
    cursor: auto !important;
  }
}
/* ══════════════════════════════════════════════════
   ★ ABSTRACT COLLABORATION STRIP ★
   Sits between marquee and nav
══════════════════════════════════════════════════ */

:root {
  --abs-strip-h: 38px;
}

.abs-strip {
  position: fixed;
  top: var(--bar-h, 38px);
  left: 0;
  width: 100%;
  height: var(--abs-strip-h);
  z-index: 302;
  background: linear-gradient(
    110deg,
    #FAF6ED 0%,
    #ffffff 30%,
    #F5EDDD 50%,
    #ffffff 70%,
    #FAF6ED 100%
  );
  border-top: 1px solid rgba(196, 154, 42, 0.15);
  border-bottom: 1px solid rgba(196, 154, 42, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* Subtle moving shimmer on the background */
  background-size: 250% 100%;
  animation: absStripShimmer 12s linear infinite;
}

@keyframes absStripShimmer {
  0%   { background-position: 0% 50%; }
  100% { background-position: 250% 50%; }
}

/* Decorative gold lines on each side */
.abs-strip::before,
.abs-strip::after {
  content: '';
  position: absolute;
  top: 50%;
  width: clamp(30px, 6vw, 80px);
  height: 1px;
  transform: translateY(-50%);
}
.abs-strip::before {
  left: 4vw;
  background: linear-gradient(to right, transparent, rgba(196, 154, 42, 0.5));
}
.abs-strip::after {
  right: 4vw;
  background: linear-gradient(to left, transparent, rgba(196, 154, 42, 0.5));
}

/* The link */
.abs-strip__link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0 1rem;
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #4d4739;
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease, letter-spacing 0.4s ease;
  white-space: nowrap;
}

.abs-strip__link:hover {
  transform: translateY(-1px);
}

/* Sparkle icon */
.abs-strip__icon {
  display: inline-block;
  font-size: 0.9rem;
  line-height: 1;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: absStripSparkle 4s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes absStripSparkle {
  0%, 100% { transform: rotate(0deg) scale(1);   opacity: 1;   }
  50%      { transform: rotate(180deg) scale(1.3); opacity: 0.7; }
}

/* Main text */
.abs-strip__text {
  display: inline;
}
.abs-strip__text strong {
  font-weight: 700;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Brand name — animated gold gradient */
.abs-strip__brand {
  font-weight: 700;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: absStripBrand 4s linear infinite;
  position: relative;
}

@keyframes absStripBrand {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Underline that grows on hover */
.abs-strip__brand::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #C49A2A, transparent);
  transform: scaleX(0);
  transition: transform 0.4s cubic-bezier(.16, 1, .3, 1);
}
.abs-strip__link:hover .abs-strip__brand::after {
  transform: scaleX(1);
}

/* Arrow */
.abs-strip__arrow {
  font-size: 0.9rem;
  line-height: 1;
  color: #C49A2A;
  transition: transform 0.35s ease;
  display: inline-block;
  flex-shrink: 0;
}
.abs-strip__link:hover .abs-strip__arrow {
  transform: translate(4px, -4px);
}

/* ── Update nav and page-offset to account for the new strip ── */
#nav {
  top: calc(var(--bar-h, 38px) + var(--abs-strip-h)) !important;
}
#nav.scrolled {
  top: 0 !important;
}
.page-offset {
  height: calc(var(--bar-h, 38px) + var(--abs-strip-h) + var(--nav-h, 70px)) !important;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 1024px) {
  .abs-strip__link {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
  }
}

@media (max-width: 768px) {
  :root { --abs-strip-h: 34px; }
  .abs-strip__link {
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    gap: 0.5rem;
  }
  .abs-strip__icon { font-size: 0.78rem; }
  .abs-strip__arrow { font-size: 0.78rem; }
  .abs-strip::before,
  .abs-strip::after { width: 25px; }
  .page-offset {
    height: calc(var(--bar-h, 32px) + var(--abs-strip-h) + var(--nav-h, 62px)) !important;
  }
}

@media (max-width: 600px) {
  :root { --abs-strip-h: 32px; }
  .abs-strip__link {
    font-size: 0.56rem;
    letter-spacing: 0.06em;
    gap: 0.4rem;
    padding: 0 0.5rem;
  }
  .abs-strip__icon { font-size: 0.72rem; }
  .abs-strip::before,
  .abs-strip::after { display: none; }
}

@media (max-width: 480px) {
  /* When marquee hides, this strip moves to the top */
  .abs-strip { top: 0; }
  #nav { top: var(--abs-strip-h) !important; }
  .page-offset {
    height: calc(var(--abs-strip-h) + var(--nav-h, 58px)) !important;
  }
  .abs-strip__link { font-size: 0.54rem; }
  .abs-strip__arrow { font-size: 0.7rem; }
}

@media (max-width: 380px) {
  :root { --abs-strip-h: 30px; }
  .abs-strip__link {
    font-size: 0.5rem;
    letter-spacing: 0.04em;
    gap: 0.3rem;
  }
  .abs-strip__icon { font-size: 0.65rem; }
  /* Hide arrow on smallest screens */
  .abs-strip__arrow { display: none; }
}
/* ══════════════════════════════════════════════════
   ★ S1 HERO — LOGO IMAGE WITH SLIDE-FROM-LEFT ★ 11 maay 26
══════════════════════════════════════════════════ */

.s1-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 5vw;
  overflow: hidden;     /* hides logo while it slides in from left */
}

.s1-brand-img-wrap {
  display: inline-block;
  max-width: clamp(280px, 60vw, 430px);
  width: 100%;
  position: relative;

  /* Start position: off-screen to the left */
  opacity: 0;
  transform: translateX(-120vw);

  /* Slide-in animation */
  animation: s1LogoSlideIn 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;

  /* Premium glow shadow */
  filter:
    drop-shadow(0 14px 40px rgba(0, 0, 0, 0.55))
    drop-shadow(0 0 60px rgba(196, 154, 42, 0.18));
}

.s1-brand-img {
  width: 100%;
  height: auto;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* ─── Slide-from-left keyframes ─── */
@keyframes s1LogoSlideIn {
  0% {
    transform: translateX(-120vw);
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* ─── After slide-in, gentle float ─── */
.s1-brand-img-wrap::after {
  content: '';
  animation: s1LogoFloat 6s ease-in-out 2s infinite;  /* starts after slide finishes */
}

/* Float on the wrap (kicks in after slide animation completes) */
.s1-brand-img-wrap {
  animation:
    s1LogoSlideIn 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards,
   
}

@keyframes s1LogoFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-12px); }
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 1024px) {
  .s1-brand-img-wrap {
    max-width: clamp(280px, 40vw, 460px);
  }
}

@media (max-width: 768px) {
  .s1-brand-img-wrap {
    max-width: clamp(260px, 72vw, 460px);
    filter:
      drop-shadow(0 10px 28px rgba(0, 0, 0, 0.5))
      drop-shadow(0 0 40px rgba(196, 154, 42, 0.15));
  }
}

@media (max-width: 480px) {
  .s1-brand-img-wrap {
    max-width: 70vw;
  }
}

@media (max-width: 360px) {
  .s1-brand-img-wrap {
    max-width: 70vw;
  }
}

/* ─── Accessibility: respect reduced motion ─── */
@media (prefers-reduced-motion: reduce) {
  .s1-brand-img-wrap {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
/* ══════════════════════════════════════════════════
   ★ S2 VIDEO — Balanced size (override) ★
══════════════════════════════════════════════════ */

/* Constrain the video frame width so it doesn't dominate */
#s2 {
  background: #ffffff !important;
  min-height: auto !important;
  padding-top: 5rem;
  padding-bottom: 0;
}
#s2 .s2-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
}

#s2 .s2-frame--video {
  width: 100%;
  max-width: 440px;           /* ← KEY FIX: limits how big the video gets */
  margin: 0;
  position: relative;
}

/* Better aspect ratio — less tall, more balanced */
#s2 .s2-video,
#s2 .s2-video img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5 !important;    /* you can change to 1/1 or 4/3 — see options below */
  object-fit: cover;
  display: block;
}

/* Push Est. 1994 label into the right place */
#s2 .s2-lbl {
  position: relative;
  bottom: auto;
  right: auto;
  margin-top: 1.2rem;
  margin-left: auto;
  margin-right: 1rem;
  align-self: flex-end;
  transform: translateY(-3rem);    /* overlap onto the frame's bottom-right */
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 1200px) {
  #s2 .s2-frame--video {
    max-width: 400px;
  }
}

@media (max-width: 1024px) {
  #s2 .s2-left {
    align-items: center;
  }
  #s2 .s2-frame--video {
    max-width: 420px;
    margin: 0 auto;
  }
  #s2 .s2-video,
  #s2 .s2-video img {
    aspect-ratio: 3 / 2 !important;     /* wider on tablet so it looks balanced */
  }
  #s2 .s2-lbl {
    align-self: center;
    margin: 1rem auto 0;
    transform: none;
  }
}

@media (max-width: 600px) {
  #s2 .s2-frame--video {
    max-width: 380px;
  }
  #s2 .s2-video,
  #s2 .s2-video img {
    aspect-ratio: 2 / 3 !important;
  }
}

@media (max-width: 480px) {
  #s2 .s2-frame--video {
    max-width: 100%;
  }
}
/* ══════════════════════════════════════════════════
   ★ S1 HERO BANNER — RESPONSIVE IMAGES ★
══════════════════════════════════════════════════ */

/* Make picture element fill the hero media area */
#s1 .s1-media picture {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

#s1 .s1-media picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  animation: kbPan 22s ease-in-out infinite alternate;
}

/* ════════════════════════════════════════
   MOBILE-SPECIFIC HERO ADJUSTMENTS
════════════════════════════════════════ */

@media (max-width: 768px) {
  /* Use dynamic viewport units to handle mobile browser UI properly */
  #s1 {
    height: 85vh;
    height: 85svh;          /* modern: avoids cut-off by browser address bar */
    min-height: 500px;
  }

  /* Position image better for portrait mobile crops */
  #s1 .s1-media picture img {
    object-position: center center;
  }

  /* Stronger gradient overlay for mobile readability */
  #s1 .s1-media::after {
    background: linear-gradient(
      to bottom,
      rgba(14, 11, 7, 0.55) 0%,
      rgba(14, 11, 7, 0.35) 40%,
      rgba(14, 11, 7, 0.78) 100%
    );
  }
}

@media (max-width: 480px) {
  #s1 {
    height: 80vh;
    height: 80svh;
    min-height: 480px;
  }
}

@media (max-width: 380px) {
  #s1 {
    height: 78vh;
    height: 78svh;
    min-height: 450px;
  }
}

/* Tall mobile screens (e.g., iPhone Pro Max) */
@media (max-width: 480px) and (min-height: 800px) {
  #s1 {
    height: 75svh;
  }
}
/* ══════════════════════════════════════════════════
   ★ TEAM GRID — 3 columns (override) ★
══════════════════════════════════════════════════ */

#s4 .s4-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 1100px;     /* slightly narrower so 3 cards feel balanced */
  margin: 0 auto;
}

/* ════════════════════════════════════════
   RESPONSIVE — 3 cards adapt cleanly
════════════════════════════════════════ */

/* Tablet landscape — keep 3 columns but tighter */
@media (max-width: 1024px) {
  #s4 .s4-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
    max-width: 900px;
  }
}

/* Tablet portrait — stack to 2 + 1 looks awkward, so go to 1 column centered */
@media (max-width: 800px) {
  #s4 .s4-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 1.4rem !important;
    max-width: 640px;
  }
  /* Center the orphan 3rd card */
  #s4 .s4-grid .team-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 320px;
    margin: 0 auto;
  }
}

/* Phone — single column */
@media (max-width: 600px) {
  #s4 .s4-grid {
    grid-template-columns: 1fr !important;
    max-width: 360px !important;
    gap: 1.4rem !important;
  }
  #s4 .s4-grid .team-card:nth-child(3) {
    grid-column: auto;
    max-width: none;
  }
}

/* ══════════════════════════════════════════════════
   ★ VIDEO CONTROLS — Play/Pause + Sound ★
══════════════════════════════════════════════════ */

.s2-video-control,
.s2-video-sound {
  position: absolute;
  z-index: 4;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid rgba(196, 154, 42, 0.5);
  background: rgba(14, 11, 7, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  padding: 0;
  transition: all 0.35s cubic-bezier(.16, 1, .3, 1);
  opacity: 0;
}

/* Play/Pause in bottom-right */
.s2-video-control {
  bottom: 1rem;
  right: 1rem;
}

/* Sound toggle to the LEFT of play/pause */
.s2-video-sound {
  bottom: 1rem;
  right: calc(1rem + 42px + 0.6rem);
}

/* Show on hover, on touch always visible */
.s2-frame--video:hover .s2-video-control,
.s2-frame--video:hover .s2-video-sound {
  opacity: 1;
}

@media (hover: none) {
  .s2-video-control,
  .s2-video-sound {
    opacity: 1;
  }
}

.s2-video-control:hover,
.s2-video-sound:hover {
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  border-color: #C49A2A;
  color: #0e0b07;
  transform: scale(1.1);
  box-shadow: 0 6px 18px rgba(196, 154, 42, 0.4);
}

.s2-video-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
  display: block;
}

/* Toggle icons based on state */
.s2-video-icon--pause { display: block; }
.s2-video-icon--play  { display: none; }
.s2-video-control.is-paused .s2-video-icon--pause { display: none; }
.s2-video-control.is-paused .s2-video-icon--play  { display: block; }

.s2-video-icon--muted { display: block; }
.s2-video-icon--sound { display: none; }
.s2-video-sound.is-on .s2-video-icon--muted { display: none; }
.s2-video-sound.is-on .s2-video-icon--sound { display: block; }

/* Responsive */
@media (max-width: 600px) {
  .s2-video-control,
  .s2-video-sound {
    width: 36px;
    height: 36px;
    bottom: 0.7rem;
  }
  .s2-video-control { right: 0.7rem; }
  .s2-video-sound { right: calc(0.7rem + 36px + 0.5rem); }
  .s2-video-icon { width: 14px; height: 14px; }
}
/* ══════════════════════════════════════════════════
   ★ VALUES BANNER — Minimal, smaller font ★
══════════════════════════════════════════════════ */

.values-banner {
  background: #ffffff;
  padding: 4rem 5vw;
  text-align: center;
}

.values-banner__title {
  font-family: 'League Spartan', sans-serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3.5vw, 3rem);   /* ← smaller, balanced size */
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.4em;
}

.values-banner__word {
  display: inline-block;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: valuesShimmer 6s linear infinite;
}

.values-banner__word:nth-child(2) { animation-delay: 2s; }
.values-banner__word:nth-child(3) { animation-delay: 4s; }

@keyframes valuesShimmer {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Responsive */
@media (max-width: 768px) {
  .values-banner {
    padding: 3rem 5vw;
  }
  .values-banner__title {
    gap: 0.3em;
  }
}

@media (max-width: 480px) {
  .values-banner {
    padding: 2.5rem 5vw;
  }
  .values-banner__title {
    flex-direction: column;
    gap: 0.1em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .values-banner__word { animation: none; }
}
/* ══════════════════════════════════════════════════
   ★ S1 HERO — DESKTOP + MOBILE VIDEOS ★
══════════════════════════════════════════════════ */

#s1 .s1-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* Keep dark gradient overlay on top of video */
#s1 .s1-media::after { z-index: 1; }

/* ─── Show DESKTOP video by default, hide MOBILE video ─── */
.s1-media--desktop { display: block; }
.s1-media--mobile  { display: none; }

/* ─── On screens ≤768px, swap them ─── */
@media (max-width: 768px) {
  .s1-media--desktop { display: none; }
  .s1-media--mobile  { display: block; }
}

/* ─── Video Controls ─── */
.s1-video-controls {
  position: absolute;
  bottom: 2rem;
  right: 5vw;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  opacity: 0;
  transition: opacity 0.4s ease;
}

#s1:hover .s1-video-controls { opacity: 1; }

@media (hover: none) {
  .s1-video-controls { opacity: 1; }
}

.s1-video-btn {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1.5px solid rgba(196, 154, 42, 0.5);
  background: rgba(14, 11, 7, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  padding: 0;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.s1-video-btn:hover {
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  border-color: #C49A2A;
  color: #0e0b07;
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(196, 154, 42, 0.45);
}

.s1-icon {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}

.s1-icon--pause { display: block; }
.s1-icon--play  { display: none; }
.s1-video-btn.is-paused .s1-icon--pause { display: none; }
.s1-video-btn.is-paused .s1-icon--play  { display: block; }

.s1-icon--muted { display: block; }
.s1-icon--sound { display: none; }
.s1-video-btn.is-on .s1-icon--muted { display: none; }
.s1-video-btn.is-on .s1-icon--sound { display: block; }

@media (max-width: 768px) {
  .s1-video-controls { bottom: 1.5rem; right: 4vw; gap: 0.5rem; }
  .s1-video-btn { width: 40px; height: 40px; }
  .s1-icon { width: 16px; height: 16px; }
}

@media (max-width: 480px) {
  .s1-video-controls { bottom: 1.2rem; right: 3vw; }
  .s1-video-btn { width: 36px; height: 36px; }
  .s1-icon { width: 14px; height: 14px; }
}
/* ══════════════════════════════════════════════════
   ★ NAV — LARGER, MORE PROFESSIONAL ★
   Optimized for 500x330 logo
══════════════════════════════════════════════════ */

/* Increase nav height for proper logo display */
:root {
  --nav-h: 110px;     /* was 70px */
}

#nav {
  height: var(--nav-h) !important;
  padding: 0 5vw !important;
}

/* ─── Logo container ─── */
#nav .nav-logo {
  display: flex !important;
  align-items: center !important;
  height: 100%;
  padding: 12px 0;
  background: none !important;
  -webkit-text-fill-color: initial !important;
  background-clip: initial !important;
  -webkit-background-clip: initial !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  gap: 0 !important;
  text-decoration: none;
  flex-shrink: 0;
}

/* ─── Logo image — significantly larger ─── */
.nav-logo-img {
  display: block;
  height: clamp(60px, 8.5vw, 131px);   /* much larger than before */
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 3px 12px rgba(19, 18, 21, 0.15));
  transition: transform 0.35s ease, filter 0.35s ease;
}

.nav-logo:hover .nav-logo-img {
  transform: translateY(-2px) scale(1.04);
  filter: drop-shadow(0 6px 18px rgba(196, 154, 42, 0.4));
}

/* Hide old text-logo dot */
#nav .nav-logo .nav-logo-dot {
  display: none !important;
}

/* ─── Update page-offset to match new nav height ─── */
.page-offset {
  height: calc(var(--bar-h, 38px) + var(--abs-strip-h, 38px) + var(--nav-h)) !important;
}

/* ─── Nav links — slightly bigger to balance with larger logo ─── */
#nav .nav-links {
  gap: 2.8rem !important;
}

#nav .nav-links a {
  font-size: 0.82rem !important;
  letter-spacing: 0.08em !important;
}

#nav .nav-cta {
  padding: 0.65rem 1.8rem !important;
  font-size: 0.78rem !important;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 1200px) {
  :root { --nav-h: 100px; }
  #nav .nav-links { gap: 2.2rem !important; }
  #nav .nav-links a { font-size: 0.78rem !important; }
}

@media (max-width: 1024px) {
  :root { --nav-h: 90px; }
  .nav-logo-img { height: 64px; }
  #nav .nav-links { gap: 1.6rem !important; }
  #nav .nav-links a { font-size: 0.74rem !important; }
}

@media (max-width: 768px) {
  :root { --nav-h: 80px; }
  .nav-logo-img { height: 140px; }
  #nav { padding: 0 4vw !important; }
}

@media (max-width: 480px) {
  :root { --nav-h: 72px; }
  .nav-logo-img { height: 140px; }
}

@media (max-width: 360px) {
  :root { --nav-h: 64px; }
  .nav-logo-img { height: 120px; }
}
/* ══════════════════════════════════════════════════
   ★ S2 — FULL MOBILE RESPONSIVE FIX ★
══════════════════════════════════════════════════ */

/* ─── Tablet landscape & smaller — stack to single column ─── */
@media (max-width: 1024px) {
  #s2 {
    padding-top: 4rem !important;
  }

  #s2 .s2-inner {
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    padding: 2rem 5vw 4rem !important;
    max-width: 700px !important;
  }

  /* Center the video on mobile */
  #s2 .s2-left {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
  }

  #s2 .s2-frame--video {
    max-width: 500px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* Right column gets centered */
  #s2 .rv-r {
    width: 100%;
    text-align: left;
  }
}

/* ─── Tablet portrait & smaller ─── */
@media (max-width: 768px) {
  #s2 {
    padding-top: 3rem !important;
  }

  /* Heading sizing */
  .s2-heading {
    padding: 0 5vw 2rem !important;
  }
  .s2-heading__title {
    font-size: clamp(1.4rem, 5vw, 2.2rem) !important;
    gap: 0.4rem !important;
  }
  .s2-heading__dot {
    width: 5px !important;
    height: 5px !important;
  }

  /* Inner content */
  #s2 .s2-inner {
    padding: 1.5rem 5vw 4rem !important;
    gap: 2.5rem !important;
  }
  #s2 .s2-frame--video {
    max-width: 440px !important;
  }

  /* Text sizing */
  #s2 .s2-quote,
  #s2 .s2-body {
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
  }
  #s2 .s2-qmark {
    font-size: 4.5rem !important;
  }

  /* Stats row */
  #s2 .s2-stats {
    flex-wrap: wrap !important;
    gap: 1.5rem !important;
    padding-top: 1.5rem !important;
  }
  #s2 .s2-sn {
    font-size: 1.8rem !important;
  }

  /* Video controls smaller */
  .s2-video-control,
  .s2-video-sound {
    width: 36px !important;
    height: 36px !important;
  }
  .s2-video-control { bottom: 0.7rem !important; right: 0.7rem !important; }
  .s2-video-sound { right: calc(0.7rem + 36px + 0.5rem) !important; bottom: 0.7rem !important; }
}

/* ─── Phone ─── */
@media (max-width: 600px) {
  /* Stack heading words vertically */
  .s2-heading__title {
    flex-direction: column !important;
    gap: 0.15em !important;
  }
  .s2-heading__dot {
    display: none !important;
  }

  /* Center content on phone */
  #s2 .rv-r {
    text-align: center !important;
  }
  #s2 .s2-eyebrow {
    justify-content: center !important;
    display: inline-flex !important;
  }
  #s2 .s2-attr {
    display: inline-block;
    text-align: left;
  }
  #s2 .s2-stats {
    justify-content: center !important;
  }

  /* Background image — make sure it shows on mobile */
  #s2 .s2-bg {
    display: block !important;
  }
  #s2 .s2-bg img {
    opacity: 0.85 !important;
    filter: blur(6px) brightness(1.15) saturate(0.55) !important;
  }
}

/* ─── Small phone ─── */
@media (max-width: 480px) {
  #s2 {
    padding-top: 2.5rem !important;
  }

  .s2-heading {
    padding: 0 4vw 1.5rem !important;
  }
  .s2-heading__title {
    font-size: 1.4rem !important;
  }

  #s2 .s2-inner {
    padding: 1rem 4vw 3rem !important;
    gap: 2rem !important;
  }

  #s2 .s2-frame--video {
    max-width: 100% !important;
  }

  /* Smaller text */
  #s2 .s2-eyebrow {
    font-size: 0.6rem !important;
  }
  #s2 .s2-qmark {
    font-size: 3.5rem !important;
  }
  #s2 .s2-quote {
    font-size: 0.88rem !important;
  }
  #s2 .s2-body {
    font-size: 0.84rem !important;
    line-height: 1.7 !important;
  }
  #s2 .s2-attr strong {
    font-size: 0.8rem !important;
  }
  #s2 .s2-attr span {
    font-size: 0.72rem !important;
  }

  /* Stats */
  #s2 .s2-stats {
    gap: 1.2rem !important;
    padding-top: 1.2rem !important;
  }
  #s2 .s2-sn {
    font-size: 1.5rem !important;
  }
  #s2 .s2-sl {
    font-size: 0.6rem !important;
  }
}

/* ─── Tiny phone ─── */
@media (max-width: 360px) {
  .s2-heading__title {
    font-size: 1.2rem !important;
  }
  #s2 .s2-body {
    font-size: 0.8rem !important;
  }
  #s2 .s2-sn {
    font-size: 1.3rem !important;
  }
}

/* ─── Loading state — dark bg while video buffers ─── */
.s2-video {
  background: #1a1208;
}
/* ══════════════════════════════════════════════════
   ★ PARTNERS — "& MANY MORE" BADGE ★
══════════════════════════════════════════════════ */

.partners__more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 1.2rem;
  padding-top: 1rem;
}

.partners__more-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.6rem 1.4rem;
  border: 1.5px solid rgba(196, 154, 42, 0.4);
  border-radius: 50px;
  background: linear-gradient(110deg, rgba(196, 154, 42, 0.04), rgba(240, 208, 96, 0.08));
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
}

/* Gold sweep on hover */
.partners__more-badge::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  transform: translateX(-101%);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 0;
}

.partners__more-badge:hover {
  border-color: #C49A2A;
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(196, 154, 42, 0.3);
}
.partners__more-badge:hover::before {
  transform: translateX(0);
}

/* Icon */
.partners__more-icon {
  display: inline-block;
  font-size: 0.85rem;
  line-height: 1;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: partnersMoreSparkle 3s ease-in-out infinite;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  transition: -webkit-text-fill-color 0.3s, color 0.3s, background 0.3s;
}

@keyframes partnersMoreSparkle {
  0%, 100% { transform: rotate(0deg) scale(1); opacity: 1; }
  50% { transform: rotate(180deg) scale(1.3); opacity: 0.75; }
}

/* Text */
.partners__more-text {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  transition: -webkit-text-fill-color 0.3s, color 0.3s, background 0.3s;
}

/* Arrow */
.partners__more-arrow {
  display: inline-block;
  font-size: 0.85rem;
  background: linear-gradient(110deg, #C49A2A 0%, #F0D060 45%, #C49A2A 70%, #A07020 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  position: relative;
  z-index: 1;
  transition: transform 0.35s ease, -webkit-text-fill-color 0.3s;
}

.partners__more-badge:hover .partners__more-arrow {
  transform: translateX(4px);
}

/* Text turns dark when gold sweep covers the bg */
.partners__more-badge:hover .partners__more-icon,
.partners__more-badge:hover .partners__more-text,
.partners__more-badge:hover .partners__more-arrow {
  background: none;
  -webkit-text-fill-color: #0e0b07;
  color: #0e0b07;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */

@media (max-width: 768px) {
  .partners__more-badge {
    padding: 0.55rem 1.3rem;
    gap: 0.6rem;
  }
  .partners__more-text {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }
  .partners__more-icon { font-size: 0.78rem; }
  .partners__more-arrow { font-size: 0.78rem; }
}

@media (max-width: 480px) {
  .partners__more-wrap {
    margin-top: 1rem;
  }
  .partners__more-badge {
    padding: 0.5rem 1.1rem;
    gap: 0.5rem;
  }
  .partners__more-text {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
  }
}
/* ══════════════════════════════════════════════════
   ★ TOP MARQUEE — Visible on ALL devices (override) ★
══════════════════════════════════════════════════ */

/* Force marquee to show on mobile */
@media (max-width: 480px) {
  .top-bar {
    display: flex !important;
    height: 32px !important;
  }

  /* Restore --bar-h so other elements position correctly */
  :root {
    --bar-h: 32px;
  }

  /* Smaller text for mobile */
  .top-item {
    font-size: 0.58rem !important;
    letter-spacing: 0.08em !important;
    gap: 0.5rem !important;
  }

  .top-sep {
    font-size: 0.55rem !important;
  }

  .top-track {
    gap: 1.5rem !important;
    animation-duration: 40s !important;  /* slower scroll for readability */
  }

  /* Restore nav positioning */
  #nav {
    top: calc(32px + var(--abs-strip-h, 38px)) !important;
  }

  /* Restore abs-strip below marquee */
  .abs-strip {
    top: 32px !important;
  }

  /* Page offset accounts for all 3 bars */
  .page-offset {
    height: calc(32px + var(--abs-strip-h, 38px) + var(--nav-h, 58px)) !important;
  }
}

/* Tiny phones — even more compact but still visible */
@media (max-width: 360px) {
  .top-bar {
    height: 28px !important;
  }
  :root {
    --bar-h: 28px;
  }
  .top-item {
    font-size: 0.52rem !important;
    letter-spacing: 0.06em !important;
  }
  .top-sep { font-size: 0.5rem !important; }
  .abs-strip {
    top: 28px !important;
  }
  #nav {
    top: calc(28px + var(--abs-strip-h, 38px)) !important;
  }
  .page-offset {
    height: calc(28px + var(--abs-strip-h, 38px) + var(--nav-h, 58px)) !important;
  }
}
/* ══════════════════════════════════════════════════
   ★ CONTACT MODAL — COMPACT MOBILE LAYOUT ★
══════════════════════════════════════════════════ */

/* Tablet & smaller */
@media (max-width: 768px) {
  .cmodal__card {
    padding: 1.6rem 1.2rem 1.2rem !important;
    max-height: 92dvh !important;
    max-height: 92vh !important;
  }

  .cmodal__header {
    margin-bottom: 1.2rem !important;
  }

  .cmodal__eyebrow {
    font-size: 0.6rem !important;
    margin-bottom: 0.5rem !important;
  }

  .cmodal__title {
    font-size: 1.3rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.4rem !important;
  }

  .cmodal__subtitle {
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
  }

  .cmodal__form {
    gap: 0.7rem !important;
  }

  /* Keep Phone + Company side-by-side on mobile to save space */
  .cmodal__row {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.7rem !important;
  }

  .cmodal__field label {
    font-size: 0.58rem !important;
    margin-bottom: 0.25rem !important;
  }

  .cmodal__field input,
  .cmodal__field textarea {
    padding: 0.65rem 0.8rem !important;
    font-size: 16px !important;     /* keep at 16px to prevent iOS zoom */
  }

  .cmodal__field textarea {
    min-height: 70px !important;
    rows: 2;
  }

  .cmodal__submit {
    padding: 0.8rem 1.4rem !important;
    font-size: 0.72rem !important;
    margin-top: 0.3rem !important;
  }
}

/* Phone */
@media (max-width: 600px) {
  .cmodal__card {
    padding: 1.3rem 1rem 1rem !important;
  }

  /* Hide subtitle on small phones to save space */
  .cmodal__subtitle {
    display: none !important;
  }

  .cmodal__header {
    margin-bottom: 1rem !important;
  }

  .cmodal__title {
    font-size: 1.15rem !important;
  }

  .cmodal__form {
    gap: 0.6rem !important;
  }

  .cmodal__row {
    gap: 0.6rem !important;
  }

  /* Stack Name/Email on smallest phones (too cramped at 2-col) */
  .cmodal__row:first-of-type {
    grid-template-columns: 1fr !important;
  }

  .cmodal__field input,
  .cmodal__field textarea {
    padding: 0.6rem 0.75rem !important;
  }

  .cmodal__field textarea {
    min-height: 60px !important;
    rows: 2;
  }

  .cmodal__field label {
    font-size: 0.55rem !important;
  }

  /* Smaller corner accents */
  .cmodal__corner {
    width: 10px !important;
    height: 10px !important;
  }
  .cmodal__corner--tl,
  .cmodal__corner--tr { top: 8px !important; }
  .cmodal__corner--bl,
  .cmodal__corner--br { bottom: 8px !important; }
  .cmodal__corner--tl,
  .cmodal__corner--bl { left: 8px !important; }
  .cmodal__corner--tr,
  .cmodal__corner--br { right: 8px !important; }

  /* Smaller close button */
  .cmodal__close {
    width: 28px !important;
    height: 28px !important;
    font-size: 1.1rem !important;
    top: 6px !important;
    right: 6px !important;
  }
}

/* Tiny phone */
@media (max-width: 380px) {
  .cmodal__card {
    padding: 1.1rem 0.85rem 0.85rem !important;
  }

  .cmodal__title {
    font-size: 1.05rem !important;
  }

  .cmodal__form {
    gap: 0.5rem !important;
  }

  .cmodal__field input,
  .cmodal__field textarea {
    padding: 0.55rem 0.7rem !important;
  }

  .cmodal__submit {
    padding: 0.7rem 1.2rem !important;
    font-size: 0.68rem !important;
  }
}
/* Slightly muted color — 85% opacity by default, full color on hover */
.partners__logo img {
  filter: none !important;
  opacity: 0.88 !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.partners__logo:hover img {
  opacity: 1 !important;
  transform: scale(1.08);
}