/* ═══════════════════════════════════════════════════════════════
   TREW — Shared Design System
   White nav · Satin-staggered sections · Tulsa
   ═══════════════════════════════════════════════════════════════ */

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;-webkit-text-size-adjust:100%;}
body{font-family:'Barlow',sans-serif;background:#F5F3EE;color:#1A1A1A;
     -webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
input,button,select,textarea{font-family:inherit;}
ul,ol{list-style:none;}

/* ── TOKENS ─────────────────────────────────────────────────── */
:root{
  /* Gold */
  --gold:       #C9A84C;
  --gold-lt:    #E8C96A;
  --gold-dim:   rgba(201,168,76,0.5);
  --gold-ghost: rgba(201,168,76,0.1);
  --gold-bd:    rgba(201,168,76,0.18);

  /* Dark stack */
  --dark:   #080808;
  --dark2:  #111111;
  --dark3:  #1a1a1a;

  /* Light / cream stack */
  --cream:  #F5F3EE;
  --cream2: #EDEAE3;
  --white:  #FFFFFF;

  /* Text */
  --text:   #1A1A1A;
  --mid:    #555555;
  --faint:  #888888;
  --g2:     #CCCCCC;   /* on-dark */
  --g3:     #999999;   /* on-dark muted */
  --g4:     #666666;   /* on-dark faint */
  --dgray:  #2a2a2a;

  /* Nav */
  --nav-h:  62px;
  --max:    1280px;
}

/* ── TYPOGRAPHY SCALE ────────────────────────────────────────── */
.eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;
  letter-spacing:0.3em;text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:12px;
  margin-bottom:14px;
}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold-dim);flex-shrink:0;}
.eyebrow--center{justify-content:center;}
.eyebrow--center::before{display:none;}

.t-h1{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(44px,6.5vw,86px);
  font-weight:900;line-height:1.02;letter-spacing:-0.024em;
}
.t-h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(28px,3.8vw,52px);
  font-weight:900;line-height:1.07;letter-spacing:-0.02em;
}
.t-h2--lg{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,5vw,68px);
  font-weight:900;line-height:1.04;letter-spacing:-0.022em;
}
.t-h3{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(18px,2vw,24px);
  font-weight:700;line-height:1.2;
}
.t-lead{font-size:clamp(15px,1.5vw,18px);font-weight:300;line-height:1.82;}
.t-body{font-size:15px;line-height:1.78;}
.t-small{font-size:13px;line-height:1.72;}
.t-label{
  font-family:'Barlow Condensed',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;
}

/* Color helpers */
.c-white{color:#FFF;}
.c-gold{color:var(--gold);}
.c-text{color:var(--text);}
.c-mid{color:var(--mid);}
.c-faint{color:var(--faint);}
.c-g2{color:var(--g2);}
.c-g3{color:var(--g3);}
.c-g4{color:var(--g4);}

/* ── NAV — WHITE ─────────────────────────────────────────────── */
.trew-nav{
  position:sticky;top:0;z-index:900;
  height:var(--nav-h);
  background:rgba(255,255,255,0.98);
  border-bottom:1px solid rgba(0,0,0,0.09);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.trew-nav__inner{
  max-width:var(--max);margin:0 auto;
  padding:0 56px;height:100%;
  display:flex;align-items:center;justify-content:space-between;
}
.trew-nav__logo img{height:34px;width:auto;display:block;}
.trew-nav__links{display:flex;align-items:center;gap:30px;}
.trew-nav__links a{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:#666;position:relative;transition:color 0.2s;
}
.trew-nav__links a::after{
  content:'';position:absolute;bottom:-3px;left:0;right:0;
  height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.25s ease;
}
.trew-nav__links a:hover{color:#111;}
.trew-nav__links a:hover::after{transform:scaleX(1);}
.trew-nav__links a.active{color:#111;}
/* CTA button — default: filled gold. Pages may override per style guide. */
.trew-nav__cta{
  background:var(--gold) !important;color:#000 !important;
  padding:9px 22px;transition:background 0.2s !important;
}
.trew-nav__cta::after{display:none !important;}
.trew-nav__cta:hover{background:var(--gold-lt) !important;}

/* Hamburger */
.nav-ham{
  display:none;background:none;border:none;
  cursor:pointer;padding:8px;color:#666;line-height:0;
}
.nav-ham:hover{color:#111;}

/* Mobile sticky CTA */
.mob-cta{display:none;}

@media(max-width:900px){
  .trew-nav__inner{padding:0 20px;}
  .trew-nav__links{
    display:none;
    position:absolute;top:var(--nav-h);left:0;right:0;
    background:rgba(255,255,255,0.99);
    border-bottom:1px solid rgba(0,0,0,0.09);
    flex-direction:column;gap:0;padding:6px 0 14px;z-index:899;
  }
  .trew-nav__links.open{display:flex;}
  .trew-nav__links a{padding:12px 20px;display:block;font-size:12px;color:#444;}
  .trew-nav__cta{margin:4px 20px 0;display:block;text-align:center;}
  .nav-ham{display:block;}
  .mob-cta{
    display:block;position:fixed;bottom:0;left:0;right:0;z-index:800;
    background:var(--gold);color:#000;
    font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;
    letter-spacing:0.22em;text-transform:uppercase;
    text-align:center;padding:16px 24px;
    border-top:2px solid rgba(0,0,0,0.1);transition:background 0.2s;
  }
  .mob-cta:hover{background:var(--gold-lt);}
  body{padding-bottom:58px;}
}

/* ── HERO — DARK FULL-VIEWPORT ───────────────────────────────── */
.hero{
  position:relative;height:100vh;min-height:660px;
  display:flex;align-items:center;overflow:hidden;background:#020202;
}
.hero__slide{
  position:absolute;inset:0;opacity:0;
  background-size:cover;background-position:center;
  transition:opacity 1.6s ease;
}
.hero__slide.active{opacity:1;}
.hero__ov{
  position:absolute;inset:0;
  background:linear-gradient(112deg,rgba(2,2,2,0.93) 0%,rgba(2,2,2,0.74) 46%,rgba(2,2,2,0.3) 100%);
  z-index:1;
}
.hero__content{position:relative;z-index:2;padding:0 80px;max-width:800px;}
.hero__eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:0.34em;text-transform:uppercase;
  color:var(--gold);display:inline-flex;align-items:center;gap:14px;
  margin-bottom:22px;
  opacity:0;animation:fu 0.7s ease 0.1s forwards;
}
.hero__eyebrow::before{content:'';width:36px;height:1px;background:var(--gold-dim);}
.hero__h1{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(44px,6.5vw,86px);
  font-weight:900;line-height:1.02;letter-spacing:-0.024em;
  color:#FFF;margin-bottom:18px;
  opacity:0;animation:fu 0.85s ease 0.22s forwards;
}
.hero__sub{
  font-size:clamp(14px,1.5vw,17px);color:rgba(255,255,255,0.62);
  font-weight:300;line-height:1.8;max-width:520px;margin-bottom:16px;
  opacity:0;animation:fu 0.85s ease 0.36s forwards;
}
.hero__tagline{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;
  color:rgba(255,255,255,0.38);margin-bottom:36px;
  opacity:0;animation:fu 0.85s ease 0.46s forwards;
}
.hero__btns{
  display:flex;flex-wrap:wrap;gap:12px;
  opacity:0;animation:fu 0.85s ease 0.58s forwards;
}
.hero__dots{
  position:absolute;bottom:30px;left:80px;z-index:3;display:flex;gap:8px;
}
.hero__dot{
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,0.22);border:none;cursor:pointer;padding:0;
  transition:background 0.3s,transform 0.3s;
}
.hero__dot.active{background:var(--gold);transform:scale(1.3);}

/* Single-image page hero */
.page-hero{
  position:relative;overflow:hidden;background:#020202;
  display:flex;align-items:flex-end;
  min-height:340px;
}
.page-hero--tall{min-height:480px;}
.page-hero__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.page-hero__ov{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(2,2,2,0.4) 0%,rgba(2,2,2,0.88) 100%);
}
.page-hero__content{
  position:relative;z-index:1;
  max-width:var(--max);margin:0 auto;width:100%;
  padding:80px 72px;
}

@keyframes fu{
  from{opacity:0;transform:translateY(18px);}
  to{opacity:1;transform:translateY(0);}
}
@media(max-width:900px){
  .hero__content{padding:0 24px;}
  .hero__dots{left:24px;}
  .hero__h1{font-size:clamp(36px,9vw,56px);}
  .page-hero__content{padding:64px 24px;}
}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;
  padding:14px 34px;min-height:48px;
  transition:all 0.2s ease;cursor:pointer;border:none;white-space:nowrap;
}
.btn--gold{background:var(--gold);color:#000;}
.btn--gold:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,0.2);}
.btn--ol-dark{background:transparent;color:#1A1A1A;border:1px solid rgba(0,0,0,0.22);}
.btn--ol-dark:hover{border-color:var(--gold);color:var(--gold);}
.btn--ol-white{background:transparent;color:#FFF;border:1px solid rgba(255,255,255,0.28);}
.btn--ol-white:hover{border-color:var(--gold);color:var(--gold);}

/* ── SECTION SKELETONS ───────────────────────────────────────── */
.sec{max-width:var(--max);margin:0 auto;padding:96px 72px;}
.sec--sm{padding:72px 72px;}
@media(max-width:900px){.sec,.sec--sm{padding:72px 24px;}}

/* Section header */
.sec-hd{margin-bottom:52px;}
.sec-hd .t-lead,.sec-hd p{max-width:560px;}

/* ── SATIN SECTION BACKGROUNDS ───────────────────────────────── */
.satin-cream{
  background-color:var(--cream);
  background-image:linear-gradient(rgba(245,243,238,0.84),rgba(245,243,238,0.84)),
    url('/images/Backgrounds/white-satin.png');
  background-size:cover;background-position:center;
}
.satin-cream2{
  background-color:var(--cream2);
  background-image:linear-gradient(rgba(237,234,227,0.86),rgba(237,234,227,0.86)),
    url('/images/Backgrounds/white-satin.png');
  background-size:cover;background-position:center;
}
.satin-dark{
  background-color:var(--dark);
  background-image:linear-gradient(rgba(8,8,8,0.68),rgba(8,8,8,0.68)),
    url('/images/Backgrounds/black-satin.png');
  background-size:cover;background-position:center;
}
.satin-dark2{
  background-color:var(--dark2);
  background-image:linear-gradient(rgba(17,17,17,0.72),rgba(17,17,17,0.72)),
    url('/images/Backgrounds/black-satin.png');
  background-size:cover;background-position:center;
}

/* ── QUICK-LINK CARDS (3-col, dark, below hero) ──────────────── */
.ql-band{background:var(--dark2);border-bottom:1px solid rgba(201,168,76,0.12);}
.ql-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
}
.ql-card{
  background:var(--dark3);padding:40px 32px;
  border-bottom:2px solid transparent;
  transition:border-color 0.2s,background 0.2s;
}
.ql-card:hover{border-color:var(--gold);background:#1f1f1f;}
.ql-card__tag{
  font-family:'Barlow Condensed',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.ql-card__h3{
  font-family:'Playfair Display',serif;
  font-size:21px;font-weight:700;color:#FFF;
  margin-bottom:10px;line-height:1.2;
}
.ql-card__p{font-size:14px;color:var(--g3);line-height:1.72;margin-bottom:22px;}
.ql-link{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--g3);border-bottom:1px solid var(--dgray);padding-bottom:2px;
  display:inline-block;transition:color 0.2s,border-color 0.2s;
}
.ql-card:hover .ql-link{color:var(--gold);border-color:var(--gold);}
@media(max-width:900px){.ql-grid{grid-template-columns:1fr;gap:2px;}}

/* ── PROBLEM CARDS — LIGHT SATIN ─────────────────────────────── */
.prob-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
  background:rgba(0,0,0,0.06);margin-top:48px;
}
.prob-card{
  background:var(--white);padding:40px 28px;
  border-bottom:3px solid transparent;
  transition:border-color 0.25s;
}
.prob-card:hover{border-color:var(--gold);}
.prob-card__num{
  font-family:'Playfair Display',serif;
  font-size:48px;font-weight:900;
  color:rgba(201,168,76,0.18);line-height:1;margin-bottom:14px;
}
.prob-card__title{
  font-family:'Playfair Display',serif;
  font-size:17px;font-weight:700;color:var(--text);margin-bottom:10px;
}
.prob-card__text{font-size:14px;color:var(--mid);line-height:1.74;}
@media(max-width:900px){.prob-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.prob-grid{grid-template-columns:1fr;}}

/* ── PLAN STEPS — CREAM2 SATIN ───────────────────────────────── */
.plan-layout{
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;
}
.plan-steps{
  display:grid;grid-template-columns:1fr;gap:2px;background:rgba(0,0,0,0.06);
}
.plan-step{
  background:var(--white);padding:40px 32px;
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start;
}
.plan-step::after{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--gold);
  transform:scaleY(0);transform-origin:top;
  transition:transform 0.35s ease;
}
.plan-step:hover::after{transform:scaleY(1);}
.plan-step__num{
  font-family:'Playfair Display',serif;
  font-size:56px;font-weight:900;
  color:rgba(201,168,76,0.18);line-height:1;
  padding-top:2px;
}
.plan-step__title{
  font-family:'Playfair Display',serif;
  font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;
}
.plan-step__text{font-size:14px;color:var(--mid);line-height:1.74;}
@media(max-width:900px){
  .plan-layout{grid-template-columns:1fr;gap:40px;}
}

/* ── FORUM HERO — DARK WITH IMAGE ────────────────────────────── */
.forum-hero{
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;
  min-height:580px;
  border-top:1px solid var(--gold-bd);
  border-bottom:1px solid var(--gold-bd);
}
.forum-hero__bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.forum-hero__ov{
  position:absolute;inset:0;
  background:linear-gradient(
    105deg,
    rgba(8,8,8,0.82) 0%,
    rgba(8,8,8,0.68) 40%,
    rgba(8,8,8,0.32) 65%,
    rgba(8,8,8,0.06) 100%
  );
}
.forum-hero__content{
  position:relative;z-index:1;
  max-width:var(--max);margin:0 auto;width:100%;
  padding:80px 72px;
}
.forum-badge{
  display:inline-flex;align-items:center;
  font-family:'Barlow Condensed',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);background:rgba(201,168,76,0.08);
  border:1px solid var(--gold-bd);padding:7px 16px;margin-bottom:18px;
}
.forum-meta{
  display:flex;flex-wrap:wrap;gap:0;
  flex-direction:column;margin:18px 0 28px;
}
.forum-meta p{font-size:13px;color:var(--g2);line-height:1.7;}
@media(max-width:900px){
  .forum-hero{min-height:auto;}
  .forum-hero__content{padding:64px 24px;}
  .forum-hero__ov{
    background:linear-gradient(to bottom,rgba(8,8,8,0.48),rgba(8,8,8,0.82));
  }
}

/* ── WHO CARDS — CREAM SATIN ─────────────────────────────────── */
.who-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:2px;
  background:rgba(0,0,0,0.06);margin-top:48px;
}
.who-card{
  background:var(--white);padding:28px 24px;
  display:flex;align-items:flex-start;gap:14px;
  border-bottom:3px solid transparent;transition:border-color 0.2s;
}
.who-card:hover{border-color:var(--gold);}
.who-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:8px;}
.who-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text);margin-bottom:6px;
}
.who-text{font-size:14px;color:var(--mid);line-height:1.65;}
@media(max-width:900px){.who-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.who-grid{grid-template-columns:1fr;}}

/* ── PROFESSIONALS — CREAM2 SATIN ────────────────────────────── */
.prof-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:2px;
  background:rgba(0,0,0,0.06);margin-top:48px;
}
.prof-card{
  background:var(--white);padding:36px 20px 28px;
  text-align:center;display:block;
  border-bottom:3px solid transparent;
  transition:border-color 0.25s,box-shadow 0.25s;
}
.prof-card:hover{border-color:var(--gold);box-shadow:0 4px 20px rgba(0,0,0,0.08);}
.prof-photo{
  width:76px;height:76px;border-radius:50%;
  border:2px solid rgba(201,168,76,0.3);
  background:var(--cream2);
  margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;
  font-size:22px;font-weight:700;color:var(--gold);
  overflow:hidden;
}
.prof-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.prof-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text);margin-bottom:3px;
}
.prof-role{font-size:12px;color:var(--gold);margin-bottom:2px;}
.prof-co{font-size:11px;color:var(--mid);margin-bottom:10px;}
.prof-topic{
  font-size:12px;color:var(--mid);line-height:1.5;
  font-style:italic;margin-bottom:16px;padding:0 4px;
}
.prof-link{
  font-family:'Barlow Condensed',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--mid);border-bottom:1px solid rgba(0,0,0,0.18);padding-bottom:2px;
  display:inline-block;transition:color 0.2s,border-color 0.2s;
}
.prof-card:hover .prof-link{color:var(--gold);border-color:var(--gold);}
@media(max-width:1000px){.prof-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.prof-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.prof-grid{grid-template-columns:1fr;}}

/* ── GALLERY ─────────────────────────────────────────────────── */
.gallery-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:40px;
}
.gallery-item{overflow:hidden;aspect-ratio:4/3;background:var(--dark3);}
.gallery-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.5s ease;
}
.gallery-item:hover img{transform:scale(1.05);}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.gallery-grid{grid-template-columns:1fr;}}

/* ── PAST EVENTS SIDEBAR ─────────────────────────────────────── */
.past-events{
  background:rgba(8,8,8,0.62);
  border:1px solid rgba(201,168,76,0.22);
  padding:28px 24px;
}
.past-events__hd{
  font-family:'Barlow Condensed',sans-serif;
  font-size:9px;font-weight:700;letter-spacing:0.26em;text-transform:uppercase;
  color:var(--gold);margin-bottom:20px;
}
.past-item{display:flex;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,0.06);}
.past-date{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;color:var(--g3);
  white-space:nowrap;min-width:48px;margin-top:2px;
}
.past-body{font-size:13px;color:var(--g2);line-height:1.5;}
.past-body strong{color:#FFF;display:block;margin-bottom:2px;}
.past-body span{font-size:11px;color:var(--g3);display:block;margin-bottom:6px;}
.past-link{
  font-family:'Barlow Condensed',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gold);transition:opacity 0.2s;
}
.past-link:hover{opacity:0.75;}

/* ── NEWSLETTER ──────────────────────────────────────────────── */
.nl-wrap{max-width:500px;margin:0 auto;text-align:center;}
.nl-form{display:flex;gap:8px;margin-top:28px;flex-wrap:wrap;}
.nl-input{
  flex:1;min-width:200px;
  background:var(--white);border:1px solid rgba(0,0,0,0.18);
  color:var(--text);font-family:'Barlow',sans-serif;font-size:14px;
  padding:14px 18px;outline:none;
  transition:border-color 0.2s;min-height:48px;
}
.nl-input::placeholder{color:#aaa;}
.nl-input:focus{border-color:var(--gold);}
.nl-note{font-size:11px;color:var(--mid);margin-top:10px;}
@media(max-width:520px){
  .nl-form{flex-direction:column;}
  .nl-input,.nl-form .btn{width:100%;min-height:50px;justify-content:center;}
}

/* ── CTA BAND ────────────────────────────────────────────────── */
.cta-band{
  position:relative;overflow:hidden;
  border-top:1px solid var(--gold-bd);
  border-bottom:1px solid var(--gold-bd);
}
.cta-band__inner{
  position:relative;z-index:1;
  max-width:680px;margin:0 auto;
  text-align:center;padding:100px 48px;
}
@media(max-width:900px){.cta-band__inner{padding:80px 24px;}}

/* ── SPONSORS ROW ────────────────────────────────────────────── */
.sponsors{
  display:flex;flex-wrap:wrap;
  align-items:center;justify-content:center;
  gap:40px;
}
.sponsors img{
  height:auto;opacity:0.72;
  filter:grayscale(0.3);
  transition:opacity 0.2s,filter 0.2s;
}
.sponsors img:hover{opacity:1;filter:grayscale(0);}

/* ── FOOTER ──────────────────────────────────────────────────── */
.trew-footer{
  background:var(--dark2);
  border-top:1px solid var(--gold-bd);
}
.footer-logos{
  max-width:var(--max);margin:0 auto;
  padding:56px 72px 28px;
  display:flex;flex-wrap:wrap;
  justify-content:space-around;align-items:center;gap:36px;
}
.footer-logos img{height:auto;opacity:0.82;}
.footer-bot{
  max-width:var(--max);margin:0 auto;
  padding:18px 72px 26px;
  display:flex;flex-wrap:wrap;
  justify-content:space-between;align-items:center;gap:14px;
  border-top:1px solid rgba(255,255,255,0.05);
}
.footer-copy{font-size:11px;color:var(--g3);}
.footer-links{display:flex;flex-wrap:wrap;gap:22px;}
.footer-links a{font-size:10px;color:var(--g3);transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
.footer-disc{
  max-width:var(--max);margin:0 auto;
  padding:4px 72px 32px;
  font-size:10.5px;color:var(--g3);
  line-height:1.78;text-align:center;
}
@media(max-width:900px){
  .footer-logos{padding:40px 24px 20px;}
  .footer-bot{padding:16px 24px 22px;}
  .footer-disc{padding:4px 24px 28px;}
}

/* ── SCROLL REVEAL ───────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.75s ease,transform 0.75s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:0.1s;}
.reveal-d2{transition-delay:0.2s;}
.reveal-d3{transition-delay:0.3s;}
.reveal-d4{transition-delay:0.4s;}

/* ── UTILITY ─────────────────────────────────────────────────── */
.text-center{text-align:center;}
.mb-8{margin-bottom:8px;}  .mb-12{margin-bottom:12px;}
.mb-16{margin-bottom:16px;}.mb-20{margin-bottom:20px;}
.mb-24{margin-bottom:24px;}.mb-32{margin-bottom:32px;}
.mb-40{margin-bottom:40px;}.mb-48{margin-bottom:48px;}
.mt-12{margin-top:12px;}  .mt-20{margin-top:20px;}
.mt-32{margin-top:32px;}  .mt-40{margin-top:40px;}
.max-560{max-width:560px;margin-left:auto;margin-right:auto;}
.max-640{max-width:640px;margin-left:auto;margin-right:auto;}
.grule{width:36px;height:2px;background:var(--gold);opacity:0.7;margin-bottom:16px;}
.grule--center{margin-left:auto;margin-right:auto;}
.bd-gold-t{border-top:1px solid var(--gold-bd);}
.bd-gold-b{border-bottom:1px solid var(--gold-bd);}
.flex-center{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}

/* ── ACCESSIBILITY ───────────────────────────────────────────── */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:0.01ms!important;}
  html{scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}
