/* ═══════════════════════════════════════════════════════════════
   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;

  /* Editorial system */
  --ink:    #07131F;
  --paper:  #F7F2E8;
  --teal:   #0B6C68;
  --rule:   rgba(7,19,31,0.16);

  /* 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;}
.trew-nav__links a.active::after{transform:scaleX(1);}
/* CTA button */
.trew-nav__cta{
  background:transparent !important;color:#755713 !important;
  border:1px solid rgba(201,168,76,0.55);
  padding:9px 22px;transition:background 0.2s,color 0.2s !important;
}
.trew-nav__cta::after{display:none !important;}
.trew-nav__cta:hover{background:var(--gold-ghost) !important;color:#4d390b !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.6);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;}

/* ── EDITORIAL INTERIOR PAGES ───────────────────────────────── */
.editorial-paper{background:var(--paper);color:var(--ink);}
.editorial-shell{max-width:var(--max);margin:0 auto;padding:72px;}
.editorial-masthead{background:var(--ink);color:#fff;border-bottom:1px solid rgba(201,168,76,0.42);}
.editorial-masthead__inner{
  max-width:var(--max);margin:0 auto;padding:72px;
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:72px;align-items:center;
}
.editorial-masthead h1{
  max-width:760px;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(48px,6vw,82px);font-weight:900;line-height:1.02;
  letter-spacing:-.035em;text-wrap:balance;
}
.editorial-masthead__context{padding:14px 0 14px 48px;border-left:1px solid rgba(201,168,76,.68);}
.editorial-masthead__context p{max-width:530px;color:rgba(255,255,255,.78);font-size:clamp(17px,1.6vw,22px);line-height:1.55;}
.editorial-masthead__action{
  display:inline-flex;margin-top:22px;padding-bottom:3px;border-bottom:1px solid var(--gold);
  color:var(--gold-lt);font-family:'Barlow Condensed',sans-serif;font-size:13px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.editorial-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:56px;align-items:center;}
.editorial-feature__media{min-height:390px;background-size:cover;background-position:center;border:1px solid rgba(7,19,31,.12);}
.editorial-feature img.editorial-feature__media{width:100%;max-width:420px;height:auto;min-height:0;justify-self:center;object-fit:contain;background:#e1ded7;box-shadow:0 12px 30px rgba(7,19,31,.14);}
.editorial-feature__body{padding:20px 0;}
.editorial-label{
  color:#946b08;font-family:'Barlow Condensed',sans-serif;font-size:11px;
  font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px;
}
.editorial-feature h2{
  font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4.3vw,58px);
  line-height:1.04;letter-spacing:-.03em;margin-bottom:22px;text-wrap:balance;
}
.editorial-feature__summary{color:#44515b;font-size:16px;line-height:1.7;margin:22px 0 26px;max-width:620px;}
.editorial-facts{display:flex;flex-wrap:wrap;gap:12px 28px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.editorial-fact{display:grid;gap:3px;min-width:150px;}
.editorial-fact dt{color:var(--teal);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.editorial-fact dd{font-size:14px;line-height:1.45;color:#26343e;}
.editorial-actions{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;margin-top:24px;}
.editorial-text-link{
  color:var(--teal);font-family:'Barlow Condensed',sans-serif;font-size:11px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(11,108,104,.34);padding-bottom:3px;
}
.editorial-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:76px 0 24px;padding-top:42px;border-top:1px solid rgba(201,168,76,.72);}
.editorial-section-heading h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.025em;}
.editorial-section-heading p{max-width:500px;color:#65717a;font-size:14px;line-height:1.6;}
.editorial-list{border-top:1px solid var(--rule);}
.editorial-list__row{
  display:grid;grid-template-columns:120px minmax(220px,.85fr) minmax(320px,1.6fr) auto;
  gap:26px;align-items:center;padding:26px 0;border-bottom:1px solid var(--rule);
}
.editorial-list__meta{color:var(--teal);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.editorial-list__date{color:#51606a;font-size:13px;}
.editorial-list__title{font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.2;}
.editorial-list__link{color:var(--teal);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;}
.editorial-scope{display:flex;flex-wrap:wrap;gap:8px 18px;margin:22px 0 26px;color:#56636c;font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;}
.editorial-scope span{display:inline-flex;align-items:center;gap:18px;}
.editorial-scope span:not(:last-child)::after{content:'·';color:var(--teal);}
.editorial-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.editorial-index__item{padding:28px 30px 30px;border-right:1px solid var(--rule);}
.editorial-index__item:first-child{padding-left:0;}
.editorial-index__item:last-child{border-right:0;padding-right:0;}
.editorial-index__number{display:block;margin-bottom:14px;color:var(--teal);font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700;}
.editorial-index__item h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.1;margin-bottom:10px;}
.editorial-index__item p{color:#5a6871;font-size:14px;line-height:1.62;}
.editorial-narrative{padding-top:72px;border-top:1px solid rgba(201,168,76,.72);}
.editorial-narrative>h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.025em;margin-bottom:28px;}
.editorial-narrative__grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:54px;align-items:start;}
.editorial-narrative__media{width:100%;height:auto;border-bottom:1px solid var(--rule);mix-blend-mode:multiply;}
.editorial-narrative__body{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule);}
.editorial-narrative__block{padding:28px 30px 30px;border-right:1px solid var(--rule);}
.editorial-narrative__block:first-child{padding-left:0;}
.editorial-narrative__block:last-child{border-right:0;padding-right:0;}
.editorial-narrative__block h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;line-height:1.15;margin-bottom:12px;}
.editorial-narrative__block p{color:#53616a;font-size:14px;line-height:1.72;}
@media(max-width:900px){
  .editorial-shell,.editorial-masthead__inner{padding:58px 24px;}
  .editorial-masthead__inner{grid-template-columns:1fr;gap:34px;}
  .editorial-masthead__context{padding:0;border-left:0;}
  .editorial-feature{grid-template-columns:1fr;gap:34px;}
  .editorial-feature__media{min-height:330px;}
  .editorial-list__row{grid-template-columns:88px 130px minmax(0,1fr) auto;gap:16px;}
}
@media(max-width:640px){
  .editorial-masthead h1{font-size:clamp(42px,13vw,58px);}
  .editorial-masthead__context p{font-size:18px;}
  .editorial-feature__media{min-height:235px;}
  .editorial-feature h2{font-size:clamp(34px,10vw,46px);}
  .editorial-section-heading{display:block;margin-top:56px;}
  .editorial-section-heading p{margin-top:12px;}
  .editorial-list__row{grid-template-columns:1fr auto;gap:8px 16px;padding:22px 0;}
  .editorial-list__meta,.editorial-list__date{grid-column:auto;}
  .editorial-list__title{grid-column:1 / -1;font-size:20px;}
  .editorial-list__link{grid-column:1 / -1;justify-self:start;margin-top:6px;}
  .editorial-index{grid-template-columns:1fr;}
  .editorial-index__item,.editorial-index__item:first-child,.editorial-index__item:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--rule);}
  .editorial-index__item:last-child{border-bottom:0;}
  .editorial-narrative{padding-top:56px;}
  .editorial-narrative__grid{grid-template-columns:1fr;gap:30px;}
  .editorial-narrative__body{grid-template-columns:1fr;}
  .editorial-narrative__block,.editorial-narrative__block:first-child,.editorial-narrative__block:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--rule);}
  .editorial-narrative__block:last-child{border-bottom:0;}
}

/* ── PUBLICATION-COVER HOMEPAGE ─────────────────────────────── */
.home-publication #hero.hero{
  height:auto;min-height:500px;
  display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.12fr);
  grid-template-rows:1fr;background:var(--ink);overflow:hidden;
}
.home-publication #hero .hero__slide{display:none;}
.home-publication #hero .hero__slide--2{
  display:block;position:relative;inset:auto;grid-column:2;grid-row:1;
  min-height:500px;opacity:1;background-position:58% center;
}
.home-publication #hero .hero__ov,
.home-publication #hero .hero__dots,
.home-publication #hero .hero__eyebrow,
.home-publication #hero .hero__tagline,
.home-publication #hero .hero-end{display:none!important;}
.home-publication #hero .hero__copy-wrap{
  grid-column:1;grid-row:1;align-self:center;
  width:100%;max-width:none;padding:52px clamp(42px,4vw,64px) 116px;
}
.home-publication #hero .hero__content{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  animation:none!important;
}
.home-publication #hero .hero__h1{
  margin:0;font-size:clamp(52px,4.2vw,68px);line-height:.99;letter-spacing:-.035em;
  opacity:1;animation:none;
}
.home-publication #hero .hero__h1 span{display:block;white-space:nowrap;}
.home-publication #hero .hero__sub{
  max-width:470px;margin:34px 0 0;padding-top:28px;
  color:#d8e0e5;font-size:21px;line-height:1.55;
  border-top:2px solid var(--gold);opacity:1;animation:none;
}
.home-publication #hero .hero__cta-persistent{
  grid-column:1;grid-row:1;align-self:end;
  padding:0 clamp(42px,4vw,64px) 50px;opacity:1;animation:none;
}
.home-publication .ql-band{background:var(--paper);border-bottom:1px solid var(--rule);}
.home-publication .ql-grid{max-width:var(--max);padding:0 56px;gap:0;background:transparent;counter-reset:home-index;}
.home-publication .ql-card{
  min-height:210px;padding:32px 30px 28px;
  display:flex;flex-direction:column;align-items:flex-start;
  background:transparent;border:0;border-left:1px solid rgba(210,167,44,.72);
  counter-increment:home-index;
}
.home-publication .ql-card:first-child{border-left:0;}
.home-publication .ql-card::before{
  content:'0' counter(home-index);margin-bottom:auto;color:var(--teal);
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;
}
.home-publication .ql-card__tag,
.home-publication .ql-card__p{display:none;}
.home-publication .ql-card__h3{
  max-width:260px;margin:28px 0 18px;color:var(--ink);
  font-size:clamp(31px,3vw,44px);line-height:.98;letter-spacing:-.025em;
}
.home-publication .ql-link{color:#b57900;border:0;font-size:11px;}
.home-publication .ql-card:hover{background:transparent;border-color:rgba(210,167,44,.72);}
.home-publication .ql-card:hover .ql-link{color:var(--teal);border:0;}
.home-publication .satin-cream,
.home-publication .satin-cream2{background:var(--paper);background-image:none;}
.home-publication .prob-grid,
.home-publication .plan-steps,
.home-publication .who-grid{gap:0;background:transparent;border-top:1px solid var(--rule);}
.home-publication .prob-card,
.home-publication .plan-step,
.home-publication .who-card{
  background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;box-shadow:none;
}
@media(max-width:900px){
  .home-publication #hero.hero{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:0;}
  .home-publication #hero .hero__copy-wrap{grid-column:1;grid-row:1;padding:56px 24px 128px;}
  .home-publication #hero .hero__h1{font-size:clamp(44px,12vw,64px);}
  .home-publication #hero .hero__h1 span{white-space:normal;}
  .home-publication #hero .hero__sub{font-size:18px;}
  .home-publication #hero .hero__cta-persistent{grid-column:1;grid-row:1;padding:0 24px 52px;}
  .home-publication #hero .hero__slide--2{grid-column:1;grid-row:2;min-height:0;aspect-ratio:4/3;background-position:58% center;}
  .home-publication .ql-grid{grid-template-columns:1fr;padding:0 24px;}
  .home-publication .ql-card,
  .home-publication .ql-card:first-child{min-height:0;padding:26px 0;border-left:0;border-top:1px solid rgba(210,167,44,.72);}
  .home-publication .ql-card:first-child{border-top:0;}
  .home-publication .ql-card__h3{font-size:34px;}
}

/* ── 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;}
}

/* ── LIVING PUBLICATION INTERACTIONS ─────────────────────────── */
.home-publication #hero .hero__slide--2{
  --hero-shift-x:0px;--hero-shift-y:0px;
  transform:translate3d(var(--hero-shift-x),var(--hero-shift-y),0) scale(1.025);
  transition:transform .8s cubic-bezier(.22,.8,.2,1);
}
.home-publication #hero .hero__sub{position:relative;border-top:0;}
.home-publication #hero .hero__sub::before{
  content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:var(--gold);
  transform-origin:left;animation:publicationRuleIn 1s .25s cubic-bezier(.22,.8,.2,1) both;
}
@keyframes publicationRuleIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.home-publication .pub-dispatch{--dispatch-progress:33.333%;padding:0;background:var(--paper);}
.home-publication .pub-dispatch__inner{
  width:min(100%,1536px);margin:0 auto;display:grid;
  grid-template-columns:minmax(250px,.76fr) minmax(460px,1.45fr) minmax(260px,.72fr);
  min-height:438px;border-bottom:1px solid var(--rule);
}
.home-publication .pub-dispatch__rail{
  display:grid;grid-template-rows:repeat(3,1fr);padding:18px 0 18px 48px;
  border-right:1px solid rgba(210,167,44,.65);
}
.home-publication .pub-dispatch .ql-card,
.home-publication .pub-dispatch .ql-card:first-child{
  appearance:none;width:100%;min-height:0;padding:18px 30px 18px 20px;
  display:grid;grid-template-columns:44px 1fr;align-content:center;align-items:start;gap:8px;
  color:var(--ink);text-align:left;background:transparent;border:0;border-left:1px solid var(--rule);
  cursor:pointer;position:relative;font:inherit;transition:color .28s ease,background .28s ease;
}
.home-publication .pub-dispatch .ql-card::before{
  content:'';position:absolute;left:-5px;top:50%;width:9px;height:9px;border-radius:50%;
  background:var(--paper);border:1px solid #aab0b3;transform:translateY(-50%);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.home-publication .pub-dispatch .ql-card::after{
  content:'';position:absolute;left:-1px;bottom:0;width:1px;height:0;background:var(--gold);
  transition:height .35s cubic-bezier(.22,.8,.2,1);
}
.home-publication .pub-dispatch .ql-card.is-active{background:rgba(255,255,255,.28);}
.home-publication .pub-dispatch .ql-card.is-active::before{background:var(--gold);border-color:var(--gold);transform:translateY(-50%) scale(1.18);}
.home-publication .pub-dispatch .ql-card.is-active::after{height:50%;}
.home-publication .pub-dispatch .ql-card__index{
  color:var(--teal);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;line-height:1.2;
}
.home-publication .pub-dispatch .ql-card__h3{
  max-width:none;margin:0;color:inherit;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(20px,1.65vw,27px);line-height:1.06;letter-spacing:-.02em;
}
.home-publication .pub-dispatch__media{position:relative;min-height:438px;overflow:hidden;background:var(--ink);}
.home-publication .pub-dispatch__image{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transform:scale(1.035);transition:opacity .55s ease,transform 1.1s cubic-bezier(.22,.8,.2,1);
}
.home-publication .pub-dispatch__image.is-active{opacity:1;transform:scale(1);}
.home-publication .pub-dispatch__controls{
  position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:14px 18px;color:#fff;background:linear-gradient(180deg,transparent,rgba(7,19,31,.88));
}
.home-publication .pub-dispatch__controls::before{
  content:'';position:absolute;left:18px;right:18px;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--gold) 0 var(--dispatch-progress),rgba(255,255,255,.28) var(--dispatch-progress) 100%);
  transition:background .35s ease;
}
.home-publication .pub-dispatch__controls button,
.home-publication .pub-lightbox button{
  appearance:none;display:grid;place-items:center;width:44px;height:44px;padding:0;
  color:inherit;background:rgba(7,19,31,.42);border:1px solid rgba(255,255,255,.48);cursor:pointer;
}
.home-publication .pub-dispatch__controls svg,
.home-publication .pub-dispatch__link svg,
.home-publication .pub-lightbox svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.home-publication .pub-dispatch__controls span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:.08em;}
.home-publication .pub-dispatch__detail{
  padding:52px clamp(28px,3.5vw,58px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  outline:none;
}
.home-publication .pub-dispatch__number{color:var(--teal);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;}
.home-publication .pub-dispatch__detail h2{
  margin:22px 0 26px;padding-bottom:24px;width:100%;border-bottom:1px solid rgba(210,167,44,.72);
  color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,3.5vw,57px);line-height:.98;letter-spacing:-.035em;
}
.home-publication .pub-dispatch__detail p{color:#33434d;font-size:17px;line-height:1.62;}
.home-publication .pub-dispatch__link{
  display:inline-flex;align-items:center;gap:12px;margin-top:30px;color:#a66e00;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
}
.home-publication .pub-dispatch__link svg{transition:transform .25s ease;}
.home-publication .pub-dispatch__link:hover svg,.home-publication .pub-dispatch__link:focus-visible svg{transform:translateX(5px);}

.home-publication .gallery-item{
  appearance:none;width:100%;padding:0;border:0;cursor:zoom-in;text-align:inherit;
  position:relative;
}
.home-publication .gallery-item::after{
  content:'View';position:absolute;right:14px;bottom:14px;padding:8px 10px;
  color:#fff;background:rgba(7,19,31,.82);border:1px solid rgba(255,255,255,.35);
  font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease;
}
.home-publication .gallery-item:hover::after,.home-publication .gallery-item:focus-visible::after{opacity:1;transform:none;}
.home-publication .pub-lightbox{
  width:min(1180px,calc(100% - 40px));max-width:none;padding:0;color:#fff;background:var(--ink);
  border:1px solid rgba(210,167,44,.62);overflow:visible;
}
.home-publication .pub-lightbox::backdrop{background:rgba(3,9,15,.92);backdrop-filter:blur(6px);}
.home-publication .pub-lightbox figure{margin:0;display:grid;}
.home-publication .pub-lightbox figure img{width:100%;max-height:78vh;object-fit:contain;background:#02070b;}
.home-publication .pub-lightbox figcaption{padding:16px 22px;color:#c8d1d6;font-size:13px;line-height:1.5;border-top:1px solid rgba(255,255,255,.12);}
.home-publication .pub-lightbox__close{position:absolute;z-index:2;right:14px;top:14px;background:rgba(7,19,31,.82);}
.home-publication .pub-lightbox__controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.12);}
.home-publication .pub-lightbox__controls span{min-width:76px;text-align:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;}

@media(max-width:1050px){
  .home-publication .pub-dispatch__inner{grid-template-columns:minmax(220px,.7fr) minmax(400px,1.3fr);}
  .home-publication .pub-dispatch__detail{grid-column:1/-1;min-height:270px;padding:38px 48px;border-top:1px solid var(--rule);}
  .home-publication .pub-dispatch__detail h2{max-width:620px;}
  .home-publication .pub-dispatch__detail p{max-width:660px;}
}
@media(max-width:700px){
  .home-publication #hero .hero__slide--2{transform:none;}
  .home-publication .pub-dispatch__inner{display:flex;flex-direction:column;min-height:0;}
  .home-publication .pub-dispatch__rail{order:1;display:grid;grid-template-columns:repeat(3,1fr);padding:0;border:0;border-bottom:1px solid var(--rule);}
  .home-publication .pub-dispatch .ql-card,
  .home-publication .pub-dispatch .ql-card:first-child{
    min-height:96px;padding:18px 12px;display:flex;flex-direction:column;gap:8px;border:0;border-right:1px solid var(--rule);
  }
  .home-publication .pub-dispatch .ql-card:last-child{border-right:0;}
  .home-publication .pub-dispatch .ql-card::before,.home-publication .pub-dispatch .ql-card::after{display:none;}
  .home-publication .pub-dispatch .ql-card__index{font-size:13px;}
  .home-publication .pub-dispatch .ql-card__h3{font-family:'Barlow Condensed',sans-serif;font-size:12px;line-height:1.15;text-transform:uppercase;letter-spacing:.04em;}
  .home-publication .pub-dispatch .ql-card.is-active{box-shadow:inset 0 -3px var(--gold);}
  .home-publication .pub-dispatch__media{order:2;min-height:0;aspect-ratio:4/3;}
  .home-publication .pub-dispatch__detail{order:3;min-height:0;padding:34px 24px 44px;}
  .home-publication .pub-dispatch__detail h2{font-size:42px;}
  .home-publication .pub-dispatch__detail p{font-size:16px;}
  .home-publication .pub-lightbox{width:calc(100% - 24px);}
}

@media(prefers-reduced-motion:reduce){
  .home-publication #hero .hero__slide--2{transform:none!important;}
  .home-publication #hero .hero__sub::before{animation:none;}
  .home-publication .pub-dispatch__image{transition:none;transform:none;}
}

/* ── SHARED LIVE CONTENT PORTALS ─────────────────────────────── */
.content-portal{
  position:relative;overflow:hidden;padding:clamp(68px,8vw,116px) 24px;
  color:#f4efe2;background:
    radial-gradient(circle at 88% 4%,rgba(33,164,159,.19),transparent 32%),
    linear-gradient(135deg,#07131f 0%,#0a1d2a 58%,#112c32 100%);
  border-top:1px solid rgba(210,167,44,.58);border-bottom:1px solid rgba(210,167,44,.42);
}
.content-portal::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
}
.content-portal__inner{position:relative;z-index:1;width:min(1180px,100%);min-width:0;margin:0 auto;}
.content-portal__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;margin-bottom:36px;}
.content-portal__header>div,.content-portal__card{min-width:0;}
.content-portal__kicker{
  margin:0 0 12px;color:#d2a72c;font-family:'Barlow Condensed',Arial,sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
}
.content-portal__header h2{
  max-width:760px;margin:0;color:#fff;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(36px,4.8vw,68px);line-height:.98;letter-spacing:-.035em;overflow-wrap:anywhere;
}
.content-portal__header>div>p:last-child{max-width:680px;margin:20px 0 0;color:#bfcbd0;font-size:16px;line-height:1.65;}
.content-portal__status{
  display:flex;align-items:center;gap:8px;max-width:320px;margin:0;padding:12px 15px;
  color:#d8e1e3;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  font-family:'Barlow Condensed',Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
}
.content-portal__status>span{width:8px;height:8px;flex:0 0 auto;background:#53c9a5;border-radius:50%;box-shadow:0 0 0 4px rgba(83,201,165,.13);}
.content-portal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(210,167,44,.42);border-bottom:1px solid rgba(210,167,44,.42);}
.content-portal__card{display:flex;min-width:0;min-height:300px;padding:30px 28px;flex-direction:column;border-right:1px solid rgba(210,167,44,.28);}
.content-portal__card:last-child{border-right:0;}
.content-portal__meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 34px!important;}
.content-portal__meta span{
  padding:5px 8px;color:#d8e1e3;border:1px solid rgba(255,255,255,.16);
  font-family:'Barlow Condensed',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.content-portal__card h3{max-width:100%;margin:0 0 14px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(23px,2.2vw,31px);line-height:1.08;overflow-wrap:anywhere;}
.content-portal__card h3 a{color:#fff;text-decoration:none;}
.content-portal__card h3 a:hover,.content-portal__card h3 a:focus-visible{color:#e3bd52;text-decoration:underline;text-underline-offset:5px;}
.content-portal__card>p:not(.content-portal__meta){margin:0;color:#bfcbd0;font-size:14px;line-height:1.65;}
.content-portal__card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:28px;color:#93a4ab;font-family:'Barlow Condensed',Arial,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.content-portal__card-foot a,.content-portal__all{color:#e3bd52;font-weight:700;text-decoration:none;}
.content-portal__card-foot a:hover,.content-portal__card-foot a:focus-visible,.content-portal__all:hover,.content-portal__all:focus-visible{text-decoration:underline;text-underline-offset:5px;}
.content-portal__all{display:inline-block;margin-top:28px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;}
.content-portal__empty{grid-column:1/-1;margin:0;padding:42px 0;color:#bfcbd0;}

@media(max-width:900px){
  .content-portal__header{grid-template-columns:1fr;align-items:start;}
  .content-portal__status{max-width:none;width:fit-content;}
  .content-portal__grid{grid-template-columns:1fr;}
  .content-portal__card{min-height:0;border-right:0;border-bottom:1px solid rgba(210,167,44,.28);}
  .content-portal__card:last-child{border-bottom:0;}
  .content-portal__card-foot{margin-top:28px;}
}

@media(max-width:520px){
  .content-portal{padding:58px 20px;}
  .content-portal__header h2{font-size:39px;}
  .content-portal__status{align-items:flex-start;width:100%;max-width:100%;line-height:1.45;overflow-wrap:anywhere;}
  .content-portal__card{padding:28px 0;}
}

/* ── CURRENT EVENT: one dominant, factual promotion ──────────── */
.home-current-event{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(390px,.9fr);
  min-height:620px;color:#fff;background:var(--ink);overflow:hidden;
}
.home-current-event__media{min-width:0;overflow:hidden;background:#0c1821;}
.home-current-event__media img{
  display:block;width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .9s cubic-bezier(.22,.8,.2,1);
}
.home-current-event:hover .home-current-event__media img{transform:scale(1.018);}
.home-current-event__body{
  padding:clamp(56px,6vw,88px) clamp(36px,5vw,74px);align-self:center;
}
.home-current-event__body h2{
  max-width:620px;margin:0 0 24px;color:#fff;
  font-family:'Playfair Display',Georgia,serif;font-size:clamp(44px,4.6vw,70px);line-height:.98;letter-spacing:-.035em;
}
.home-current-event__summary{max-width:560px;color:#cbd4d9;font-size:18px;line-height:1.65;}
.home-current-event__facts{display:grid;gap:0;margin:32px 0;border-top:1px solid rgba(255,255,255,.18);}
.home-current-event__facts div{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.18);}
.home-current-event__facts dt{color:var(--gold);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.home-current-event__facts dd{margin:0;color:#f2f4f5;font-size:14px;line-height:1.5;}

@media(max-width:1100px){
  .home-current-event{grid-template-columns:1.08fr .92fr;}
}
@media(max-width:820px){
  .home-current-event{grid-template-columns:1fr;min-height:0;}
  .home-current-event__media{aspect-ratio:16/9;}
  .home-current-event__body{padding:54px 24px 62px;}
}
@media(max-width:600px){
  .home-current-event__media{aspect-ratio:4/3;}
  .home-current-event__body h2{font-size:clamp(38px,12vw,50px);}
  .home-current-event__facts div{grid-template-columns:1fr;gap:6px;}
}
@media(prefers-reduced-motion:reduce){
  .home-current-event__media img,.home-current-event:hover .home-current-event__media img{transition:none;transform:none!important;}
}

/* ── PROFESSIONAL DIRECTORY: compact, equal cards for TREW + independent
     professionals. Angela, Michael, and BC each link out to their own
     organization's site — TREW never collects mortgage, insurance, or
     real-estate detail itself, and license/disclosure detail lives on
     each professional's own official page, not duplicated here. ── */
.pro-directory{margin:40px 0;}
.pro-directory__label{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold,#C9A84C);margin-bottom:16px;}
.pro-directory__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dgray,#2a2a2a);}
.pro-directory__grid--three{grid-template-columns:repeat(3,1fr);}
.pro-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:24px 16px;background:var(--bg2,#0f0f0f);}
.pro-card__avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--bg3,#161616);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:22px;color:var(--gold,#C9A84C);}
img.pro-card__avatar{object-fit:cover;}
.pro-card__name{font-family:'Barlow Condensed',sans-serif;font-size:14px;font-weight:700;color:var(--white,#FFF);letter-spacing:0.02em;}
.pro-card__org{font-size:12px;color:var(--mgray,#999);line-height:1.4;}
.pro-card__btn{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid rgba(201,168,76,0.45);color:var(--gold,#C9A84C);font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;transition:background 0.15s,color 0.15s;width:100%;}
.pro-card__btn:hover,.pro-card__btn:focus-visible{background:rgba(201,168,76,0.1);}
.pro-card__btn:focus-visible{outline:2px solid var(--gold,#C9A84C);outline-offset:2px;}
.pro-directory__note{margin-top:18px;font-size:12px;color:var(--mgray,#999);line-height:1.7;max-width:640px;}
@media(max-width:820px){
  .pro-directory__grid{grid-template-columns:1fr 1fr;}
  .pro-directory__grid--three{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
  .pro-directory__grid{grid-template-columns:1fr;}
}
