/* =============================================================
   THE FAMILY — Iron Legacy Alumni Page
   Distinctive layout: editorial hero, magazine-style dog cards,
   TikTok embed watermarks, and a US-map placement graphic.
   ============================================================= */

/* ---------- HERO ---------- */
.family-hero{
  position:relative;
  min-height:72vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#f7f1e5;
  padding:100px 0 64px;
}
.family-hero__bg{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(15,13,11,.85) 0%, rgba(15,13,11,.55) 40%, rgba(15,13,11,.25) 65%, rgba(15,13,11,.15) 100%),
    linear-gradient(180deg, rgba(15,13,11,.3) 0%, rgba(15,13,11,.75) 100%),
    url('./assets/enzo-handler-walk-v2.jpg?v=20260720a') center center/cover no-repeat #1a1410;
  filter:contrast(1.05) saturate(1.05);
}
.family-hero__scrim{
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 15% 60%, rgba(139,20,20,.18) 0%, transparent 55%);
  pointer-events:none;
}
.family-hero__inner{ position:relative; z-index:2; max-width:1200px; }
.family-hero__eyebrow{
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.35em;
  font-size:.95rem;
  color:#c9a96e;
  margin-bottom:24px;
}
.family-hero__title{
  font-family:'Playfair Display', serif;
  font-weight:700;
  font-size:clamp(2.8rem, 6vw, 5.5rem);
  line-height:1.02;
  letter-spacing:-.015em;
  margin:0 0 28px;
  color:#f7f1e5;
  text-shadow: 0 2px 24px rgba(15,13,11,.95), 0 2px 8px rgba(15,13,11,.9), 0 1px 2px rgba(15,13,11,.8);
}
.family-hero__title em{
  font-style:italic;
  color:#c9a96e;
  font-weight:600;
}
.family-hero__lede{
  max-width:640px;
  font-size:1.125rem;
  line-height:1.65;
  color:#e8ddc9;
  margin:0 0 32px;
  text-shadow: 0 1px 12px rgba(15,13,11,.9), 0 1px 3px rgba(15,13,11,.6);
}
.family-hero__meta{ display:flex; flex-wrap:wrap; gap:12px; }
.family-hero__chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px;
  border:1px solid rgba(201,169,110,.4);
  background:rgba(15,13,11,.5);
  border-radius:999px;
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.15em;
  font-size:.78rem;
  color:#c9a96e;
}
.family-hero__chip .dot{
  width:7px; height:7px; border-radius:50%;
  background:#8b1414;
  box-shadow:0 0 0 3px rgba(139,20,20,.25);
  animation: fam-pulse 2s ease-in-out infinite;
}
@keyframes fam-pulse{
  0%,100%{ box-shadow:0 0 0 3px rgba(139,20,20,.25); }
  50%   { box-shadow:0 0 0 8px rgba(139,20,20,0); }
}

/* ---------- CONTEXT / ASIDE ---------- */
.family-context{
  background:#f5efe4;
  padding:88px 0;
  border-bottom:1px solid rgba(15,13,11,.08);
}
.family-context__grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr;
  gap:64px;
  align-items:start;
}
.family-context__center{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.family-context__center .family-context__text p{
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
.family-context__text h2{
  font-family:'Playfair Display', serif;
  font-size:clamp(2rem, 3.4vw, 2.8rem);
  font-weight:900 !important;
  font-style:normal !important;
  line-height:1.1;
  margin:0 0 20px;
  color:#0a0705 !important;
  letter-spacing:-.01em;
}
.family-context__text p{
  font-size:1.05rem; line-height:1.75;
  color:#2a1f16 !important;
  margin:0 0 20px;
  max-width:560px;
}
.family-context__aside{
  padding:36px 32px;
  border:1px solid rgba(15,13,11,.12);
  background:#fbf7ec;
  border-radius:2px;
  position:relative;
}
.family-context__aside::before{
  content:""; position:absolute; top:0; left:0; width:60px; height:3px;
  background:#8b1414;
}
.aside-line{
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.3em;
  font-size:.78rem;
  color:#8b1414;
  margin-bottom:12px;
}
.family-context__aside h3{
  font-family:'Playfair Display', serif;
  font-size:1.6rem;
  font-weight:700;
  margin:0 0 12px;
  color:#0f0d0b;
}
.family-context__aside p{
  font-size:.98rem; line-height:1.65;
  color:#3a2f26;
  margin:0 0 24px;
}
.family-context__aside .btn{ width:100%; text-align:center; }

/* Ensure the family-context aside CTA renders as red pill button matching site */
.family-context__aside .btn.btn--red{
  display:inline-block;
  padding:14px 28px;
  background:#8b1414;
  color:#f7f1e5;
  text-decoration:none;
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.2em;
  font-size:.9rem;
  border:1px solid #8b1414;
  border-radius:2px;
  transition:all .2s ease;
}
.family-context__aside .btn.btn--red:hover{
  background:#a01818;
  border-color:#a01818;
  color:#fff;
}

/* ---------- FILTER CHIPS ---------- */
.family-filter{
  background:#0f0d0b;
  padding:24px 0;
  border-top:1px solid rgba(201,169,110,.15);
  border-bottom:1px solid rgba(201,169,110,.15);
  position:sticky;
  top:64px;
  z-index:10;
}
.filter-row{
  display:flex; flex-wrap:wrap; gap:10px;
  justify-content:center;
}
.chip{
  padding:10px 22px;
  background:transparent;
  border:1px solid rgba(201,169,110,.35);
  color:#c9a96e;
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.15em;
  font-size:.82rem;
  border-radius:999px;
  cursor:pointer;
  transition: all .2s ease;
}
.chip:hover{ border-color:#c9a96e; background:rgba(201,169,110,.08); }
.chip.is-active{ background:#c9a96e; color:#0f0d0b; border-color:#c9a96e; }

/* ---------- ALUMNI GRID ---------- */
.family-grid-section{
  background:#f5efe4;
  padding:64px 0 96px;
}
.alumni-grid{
  display:flex;
  flex-direction:column;
  gap:88px;
}

/* ---------- ALUMNI CARD ---------- */
.alum-card{
  background:#fbf7ec;
  border:1px solid rgba(15,13,11,.08);
  border-radius:2px;
  overflow:hidden;
  box-shadow: 0 24px 60px -32px rgba(15,13,11,.2);
}

.alum-card__header{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:48px;
  padding:48px 48px 36px;
  border-bottom:1px solid rgba(15,13,11,.08);
  align-items:end;
}
.alum-card__eyebrow{
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.3em;
  font-size:.82rem;
  color:#8b1414;
  margin-bottom:14px;
}
.alum-card__name{
  font-family:'Playfair Display', serif;
  font-weight:900 !important;
  font-style:normal !important;
  font-size:clamp(2.4rem, 4vw, 3.4rem);
  line-height:1.02;
  letter-spacing:-.015em;
  margin:0 0 12px;
  color:#0a0705 !important;
}
.alum-card__litter{
  font-size:.98rem;
  color:#5a4a3d;
  font-style:italic;
  line-height:1.5;
}
.alum-card__quote{
  margin:0;
  padding:20px 0 20px 24px;
  border-left:3px solid #c9a96e;
}
.alum-card__quote p{
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-weight:500;
  font-size:1.15rem;
  line-height:1.5;
  margin:0;
  color:#3a2f26;
}

.alum-card__gallery{
  padding:36px 48px 48px;
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:24px;
  justify-items:center;
}

/* ---------- TIKTOK EMBED WITH WATERMARK ---------- */
.alum-embed{
  position:relative;
  width:100%;
  max-width:325px;
  border-radius:6px;
  overflow:hidden;
  background:#0f0d0b;
}
.alum-embed .tiktok-embed{
  margin:0 !important;
  width:100% !important;
  min-height:560px;
}

/* Watermark overlay — centered wordmark at low opacity, pointer-events:none so clicks pass through to TikTok's play button.
   Note: TikTok's own @handle is already burned into embedded videos by TikTok — this is a second layer of branding. */
.alum-embed__watermark{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:70%;
  max-width:280px;
  pointer-events:none;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
}
.alum-embed__watermark img{
  width:100%;
  height:auto;
  opacity:.22;
  filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.6));
}

/* ---------- USA MAP ---------- */
.family-map{
  background:#0f0d0b;
  color:#f7f1e5;
  padding:96px 0;
  border-top:1px solid rgba(201,169,110,.2);
  border-bottom:1px solid rgba(201,169,110,.2);
}
.family-map__grid{
  display:grid;
  grid-template-columns: 1fr 1.3fr;
  gap:64px;
  align-items:center;
}
.section-eyebrow{
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.3em;
  font-size:.85rem;
  color:#c9a96e;
  margin-bottom:16px;
}
.family-map__text h2{
  font-family:'Playfair Display', serif;
  font-size:clamp(2.2rem, 3.8vw, 3rem);
  font-weight:700;
  line-height:1.05;
  margin:0 0 20px;
  color:#f7f1e5;
  letter-spacing:-.015em;
}
.family-map__text p{
  font-size:1.05rem; line-height:1.7;
  color:#c9bfa8;
  margin:0 0 28px;
}
.map-list{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:14px;
}
.map-list li{
  display:flex; align-items:center; gap:16px;
  padding:14px 20px;
  border:1px solid rgba(201,169,110,.2);
  background:rgba(201,169,110,.03);
  border-radius:2px;
  font-size:1rem;
  color:#e8ddc9;
}
.map-list__pin{
  display:inline-block; width:10px; height:10px;
  background:#c9a96e; border-radius:50%; flex-shrink:0;
  box-shadow: 0 0 0 4px rgba(201,169,110,.15);
}
.map-list li strong{ color:#f7f1e5; font-weight:600; margin-right:8px; }

.family-map__visual{
  display:flex; justify-content:center; align-items:center;
}
.usmap-real{
  width:100%;
  height:auto;
  max-width:640px;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.4));
}
.usmap-real__states .st{
  fill:rgba(201,169,110,.04);
  stroke:rgba(201,169,110,.22);
  stroke-width:.8;
  transition: fill .3s ease;
}
.usmap-real__states .st--alumni{
  fill:rgba(201,169,110,.22);
  stroke:rgba(201,169,110,.55);
  stroke-width:1;
}
.usmap-real__states .st--home{
  fill:rgba(139,20,20,.35);
  stroke:rgba(201,169,110,.9);
  stroke-width:1.2;
}

/* Pins */
.pin-dot{ fill:#c9a96e; }
.pin-halo{
  fill:none;
  stroke:#c9a96e;
  stroke-width:1.2;
  opacity:.5;
  animation: pin-pulse 2.6s ease-in-out infinite;
}
.pin-dot--home{ fill:#8b1414; stroke:#c9a96e; stroke-width:2; }
.pin-halo--home{
  fill:none;
  stroke:#8b1414;
  stroke-width:1.6;
  opacity:.75;
  animation: pin-pulse-home 2s ease-in-out infinite;
}
@keyframes pin-pulse{
  0%,100%{ opacity:.5; r:10; }
  50%   { opacity:.15; r:18; }
}
@keyframes pin-pulse-home{
  0%,100%{ opacity:.8; r:16; }
  50%   { opacity:.2;  r:28; }
}

.pin-label{
  font-family:'Bebas Neue', Impact, sans-serif;
  font-size:13px;
  fill:#c9a96e;
  letter-spacing:.2em;
  font-weight:normal;
}
.pin-label--home{ fill:#f7f1e5; font-size:14px; letter-spacing:.25em; }

/* Home pin gets different color in the map-list */
.map-list__pin--home{
  background:#8b1414 !important;
  box-shadow: 0 0 0 4px rgba(139,20,20,.2) !important;
}
.map-list li em{
  font-style:italic;
  color:#c9a96e;
  font-size:.85rem;
  margin-left:auto;
  letter-spacing:.05em;
}

/* ---------- PULL QUOTE ---------- */
.family-quote{
  background:#f5efe4;
  padding:96px 0;
  text-align:center;
  border-bottom:1px solid rgba(15,13,11,.08);
}
.family-quote blockquote{
  margin:0 auto; max-width:840px;
}
.family-quote p{
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(1.4rem, 2.6vw, 2rem);
  line-height:1.45;
  color:#0f0d0b;
  margin:0 0 24px;
}
.family-quote cite{
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.3em;
  font-size:.9rem;
  color:#8b1414;
  font-style:normal;
}

/* ---------- CTA ---------- */
.family-cta{
  background:#fbf7ec;
  padding:88px 0;
  text-align:center;
}
.family-cta__inner{ max-width:720px; margin:0 auto; }
.family-cta h2{
  font-family:'Playfair Display', serif;
  font-size:clamp(2rem, 3.4vw, 2.6rem);
  font-weight:700;
  line-height:1.1;
  margin:0 0 20px;
  color:#0f0d0b;
}
.family-cta p{
  font-size:1.05rem; line-height:1.7;
  color:#3a2f26;
  margin:0 0 32px;
}
.family-cta__buttons{
  display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 900px){
  .family-hero{ min-height:60vh; padding:88px 0 48px; }
  .family-context{ padding:64px 0; }
  .family-context__grid,
  .family-map__grid{
    grid-template-columns: 1fr;
    gap:40px;
  }
  .alum-card__header{
    grid-template-columns: 1fr;
    padding:32px 24px 24px;
    gap:24px;
  }
  .alum-card__gallery{ padding:24px 20px 32px; gap:20px; }
  .family-filter{ position:static; }
  .family-map{ padding:64px 0; }
}
@media (max-width: 560px){
  .family-hero{ padding:80px 0 40px; }
  .alumni-grid{ gap:56px; }
  .alum-embed{ max-width:100%; }
  .filter-row{ justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .chip{ flex-shrink:0; }
}

/* ==========================================================================
   GALLERY SECTIONS (photos + videos on alum cards)
   ========================================================================== */
.alum-card__section{
  border-top:1px solid #e8dcbf;
  padding:28px 32px 32px;
  background:#faf5e6;
}
.alum-card__section:first-of-type{ border-top:none; }
.alum-card__section-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:16px;
  margin:0 0 20px;
}
.alum-card__section-label{
  font-family:'Bebas Neue', sans-serif;
  font-size:.95rem;
  letter-spacing:.18em;
  color:#0f0d0b;
  text-transform:uppercase;
}
.alum-card__section-count{
  font-family:'Inter', sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  color:#7a5c1e;
  background:#f2e6bf;
  border:1px solid #d9c377;
  padding:3px 10px;
  border-radius:999px;
}

/* ---------- Photo grid ---------- */
.alum-photo-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
}
@media (max-width: 900px){
  .alum-photo-grid{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px){
  .alum-photo-grid{ grid-template-columns: repeat(2, 1fr); gap:8px; }
}

/* ---------- Video row ---------- */
.alum-video-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
@media (max-width: 900px){
  .alum-video-row{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px){
  .alum-video-row{ grid-template-columns: 1fr; }
}

/* ---------- Gallery tile ---------- */
.gallery-tile{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio: 1 / 1;
  overflow:hidden;
  border:none;
  padding:0;
  margin:0;
  background:#0f0d0b;
  cursor:pointer;
  border-radius:2px;
  outline:none;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s;
}
.gallery-tile:focus-visible{
  outline: 3px solid #c9a02d;
  outline-offset: 2px;
}
.gallery-tile > img{
  width:100%; height:100%;
  object-fit: cover;
  display:block;
  transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .35s;
}
.gallery-tile:hover > img{
  transform: scale(1.06);
  filter: brightness(.85);
}
.gallery-tile:hover{
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
}
.gallery-tile--video{
  aspect-ratio: 4 / 5; /* taller for portrait phone clips */
}
@media (max-width: 560px){
  .gallery-tile--video{ aspect-ratio: 9 / 16; }
}

/* Video row prefers portrait aspect */
.alum-video-row .gallery-tile{ aspect-ratio: 9 / 16; }

.gallery-tile__watermark{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  opacity:.28;
  mix-blend-mode: screen;
}
.gallery-tile__watermark img{
  width:66%;
  max-width:220px;
  height:auto;
  filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.5));
}

.gallery-tile__play{
  position:absolute;
  inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  transition: transform .3s;
}
.gallery-tile:hover .gallery-tile__play{ transform: scale(1.08); }
.gallery-tile__play svg{ filter: drop-shadow(0 3px 10px rgba(0,0,0,.5)); }

/* ---------- Coming soon note ---------- */
.alum-card__section--soon{
  padding:20px 32px 28px;
  background:#faf5e6;
}
.alum-card__soon{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 18px;
  background:#f2e6bf;
  border:1px solid #d9c377;
  border-radius:999px;
  font-family:'Inter', sans-serif;
  font-size:.85rem;
  letter-spacing:.05em;
  color:#5a4212;
  font-weight:500;
}
.alum-card__soon-dot{
  display:inline-block;
  width:8px; height:8px;
  border-radius:50%;
  background:#c9a02d;
  box-shadow: 0 0 0 4px rgba(201,160,45,.18);
  animation: soon-pulse 2.4s ease-in-out infinite;
}
@keyframes soon-pulse{
  0%,100%{ box-shadow: 0 0 0 4px rgba(201,160,45,.18); }
  50%{ box-shadow: 0 0 0 8px rgba(201,160,45,.05); }
}
@media (max-width: 900px){
  .alum-card__section{ padding:24px 20px 28px; }
  .alum-card__section--soon{ padding:16px 20px 24px; }
}

/* ==========================================================================
   LIGHTBOX
   ========================================================================== */
.lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox[hidden]{ display:none; }
body.lightbox-open{ overflow:hidden; }

.lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,7,3,.94);
  cursor:pointer;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.lightbox__close{
  position:absolute;
  top:20px; right:20px;
  z-index:10;
  width:48px; height:48px;
  border-radius:50%;
  border:1px solid rgba(251,247,236,.25);
  background:rgba(15,13,11,.6);
  color:#fbf7ec;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition: background .2s, transform .2s, border-color .2s;
}
.lightbox__close:hover{
  background:rgba(201,160,45,.35);
  border-color:#c9a02d;
  transform: scale(1.05);
}
.lightbox__close:focus-visible{
  outline: 3px solid #c9a02d;
  outline-offset: 2px;
}
.lightbox__nav{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:56px; height:56px;
  border-radius:50%;
  border:1px solid rgba(251,247,236,.25);
  background:rgba(15,13,11,.6);
  color:#fbf7ec;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:10;
  transition: background .2s, border-color .2s;
}
.lightbox__nav:hover{
  background:rgba(201,160,45,.35);
  border-color:#c9a02d;
}
.lightbox__nav:focus-visible{
  outline: 3px solid #c9a02d;
  outline-offset: 2px;
}
.lightbox__nav--prev{ left:24px; }
.lightbox__nav--next{ right:24px; }

.lightbox__stage{
  position:relative;
  z-index:5;
  max-width: min(96vw, 1400px);
  max-height: 92vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:16px;
}
.lightbox__content{
  position:relative;
  max-width:100%;
  max-height:78vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox__media{
  max-width: min(90vw, 1300px);
  max-height: 78vh;
  width:auto;
  height:auto;
  display:block;
  border-radius:2px;
  box-shadow: 0 40px 80px rgba(0,0,0,.6);
}
.lightbox__media--photo{ object-fit:contain; }
.lightbox__media--video{
  background:#000;
}

.lightbox__meta{
  position:relative;
  text-align:center;
  color:#fbf7ec;
  max-width:800px;
  padding:0 8px;
}
.lightbox__watermark{
  position:absolute;
  top:-84vh;
  left:50%;
  transform: translate(-50%, 0);
  pointer-events:none;
  opacity:.22;
  z-index:6;
  width:36%;
  max-width:260px;
}
.lightbox__watermark img{
  width:100%;
  height:auto;
  filter: brightness(0) invert(1);
}
.lightbox__caption{
  font-family:'Inter', sans-serif;
  font-size:.95rem;
  line-height:1.55;
  color:#e8dcbf;
  font-style:italic;
  letter-spacing:.01em;
}
.lightbox__caption:empty{ display:none; }
.lightbox__counter{
  margin-top:8px;
  font-family:'Bebas Neue', sans-serif;
  font-size:.85rem;
  letter-spacing:.2em;
  color:#c9a02d;
  text-transform:uppercase;
}

@media (max-width: 900px){
  .lightbox__nav{ width:44px; height:44px; }
  .lightbox__nav--prev{ left:12px; }
  .lightbox__nav--next{ right:12px; }
  .lightbox__close{ top:14px; right:14px; width:42px; height:42px; }
  .lightbox__stage{ padding:8px; }
}
@media (max-width: 560px){
  .lightbox__media{ max-height: 68vh; }
  .lightbox__nav{ width:38px; height:38px; }
  .lightbox__watermark{ display:none; }
}

/* ============================================================
   FOUNDERS SECTION — Sir Duke & Duchess (retired)
   ============================================================ */
.founders{
  background:#0f0d0b;
  color:#f5efe4;
  padding:96px 0;
  border-bottom:1px solid rgba(245,239,228,.08);
  position:relative;
  overflow:hidden;
}
.founders::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 500px at 15% 0%, rgba(139,20,20,.18), transparent 60%),
    radial-gradient(900px 500px at 90% 100%, rgba(179,146,86,.12), transparent 60%);
  pointer-events:none;
}
.founders__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:64px;
  align-items:center;
}
.founders__text{ max-width:600px; }
.founders__eyebrow{
  color:#b39256 !important;
  margin-bottom:20px;
}
.founders__title{
  font-family:'Playfair Display', serif;
  font-size:clamp(2.2rem, 4vw, 3.4rem);
  font-weight:900;
  line-height:1.05;
  margin:0 0 24px;
  color:#f7f1e5;
  letter-spacing:-.015em;
}
.founders__amp{
  font-style:italic;
  font-weight:400;
  color:#b39256;
  padding:0 4px;
}
.founders__lede{
  font-size:1.15rem;
  line-height:1.65;
  color:#e8dcc4;
  margin:0 0 20px;
}
.founders__body{
  font-size:1rem;
  line-height:1.75;
  color:#c9bda6;
  margin:0 0 28px;
}
.founders__link{
  color:#b39256;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  transition:color .2s;
}
.founders__link:hover{ color:#d4b578; }
.founders__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.founders__chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  background:rgba(245,239,228,.06);
  border:1px solid rgba(245,239,228,.12);
  border-radius:999px;
  font-family:'Bebas Neue', Impact, sans-serif;
  letter-spacing:.15em;
  font-size:.78rem;
  color:#e8dcc4;
  text-transform:uppercase;
}
.founders__chip-dot{
  width:6px; height:6px;
  border-radius:50%;
  background:#b39256;
  display:inline-block;
}
.founders__chip--muted{
  background:transparent;
  border-color:rgba(179,146,86,.35);
  color:#b39256;
}
.founders__media{
  position:relative;
  aspect-ratio: 9 / 16;
  max-height:640px;
  margin:0 auto;
  width:100%;
  max-width:380px;
  border-radius:4px;
  overflow:hidden;
  background:#000;
  border:1px solid rgba(179,146,86,.25);
  box-shadow: 0 30px 80px rgba(0,0,0,.5);
}
.founders__video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.founders__caption{
  position:absolute;
  bottom:0; left:0; right:0;
  padding:24px 20px 16px;
  background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.75) 100%);
  color:#f5efe4;
  font-family:'Playfair Display', serif;
  font-style:italic;
  font-size:.95rem;
  text-align:center;
  pointer-events:none;
}

@media (max-width: 900px){
  .founders{ padding:64px 0; }
  .founders__grid{
    grid-template-columns: 1fr;
    gap:40px;
  }
  .founders__text{ max-width:none; }
  .founders__media{ max-width:320px; }
}
