/* ============================================================
   THE TALK OF LIFE — 2026 premium visual refresh
   Branded from Elma's royal-purple and champagne-gold artwork.
   Loaded after styles.css so the original Hostinger site stays intact.
   ============================================================ */

:root{
  --plum-950:#090510;
  --plum-900:#100718;
  --plum-800:#1b0b2d;
  --plum-700:#2c1150;
  --plum-600:#452072;
  --plum-500:#6f399d;
  --magenta:#a451a8;
  --violet-glow:#9b69e2;
  --gold-1:#fff0bd;
  --gold-2:#e7bf68;
  --gold-3:#b77d2e;
  --cream:#fffaf2;
  --ink:#f8f1f7;
  --muted:#d9cad8;
  --line:rgba(239,203,123,.22);
  --shadow:0 30px 90px rgba(3,0,10,.55);
  --grad-gold:linear-gradient(135deg,#fff3c7 0%,#e4b654 52%,#a96f26 100%);
  --wrap:1360px;
}

html{background:var(--plum-950)}

body{
  position:relative;
  isolation:isolate;
  color:var(--ink);
  font-size:17px;
  line-height:1.78;
  background:
    radial-gradient(circle at 15% 8%,rgba(123,67,184,.28),transparent 28rem),
    radial-gradient(circle at 88% 32%,rgba(182,96,157,.17),transparent 34rem),
    linear-gradient(145deg,#0b0611 0%,#180a27 46%,#0a0610 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.28;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,240,189,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 38% 5%,rgba(255,255,255,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 72% 22%,rgba(231,191,104,.75) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 91% 8%,rgba(255,255,255,.55) 0 1px,transparent 2px);
  background-size:190px 190px,260px 260px,320px 320px,230px 230px;
}

p{max-width:72ch}

/* ---------------- Header ---------------- */
.site-header{
  padding:10px 0;
  background:linear-gradient(180deg,rgba(11,5,18,.92),rgba(18,7,29,.76));
  border-bottom:1px solid rgba(243,217,139,.16);
  box-shadow:0 12px 44px rgba(2,0,8,.28);
  backdrop-filter:blur(20px) saturate(130%);
}

.site-header.stuck{
  padding:7px 0;
  background:rgba(12,5,19,.94);
  border-bottom-color:rgba(243,217,139,.3);
  box-shadow:0 16px 48px rgba(2,0,8,.52);
}

.header-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  width:clamp(168px,14vw,218px);
}

.header-logo-image{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.34));
}

.logo-top{
  color:var(--cream);
  text-shadow:0 2px 16px rgba(167,104,213,.28);
}

.logo-sub{color:var(--gold-1)}
.nav{gap:clamp(15px,1.65vw,28px)}
.nav > a:not(.btn){color:#e9dfe9;font-weight:600}
.nav > a:not(.btn)::after{background:var(--grad-gold)}

/* ---------------- Buttons ---------------- */
.btn{
  min-height:48px;
  border-radius:999px;
  padding:13px 25px;
  font-weight:700;
  letter-spacing:.07em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.btn-gold{
  color:#261209;
  border-color:rgba(255,240,189,.78);
  box-shadow:0 12px 32px rgba(205,151,58,.22),inset 0 1px 0 rgba(255,255,255,.65);
}

.btn-gold:hover{
  box-shadow:0 16px 42px rgba(225,177,81,.4),inset 0 1px 0 rgba(255,255,255,.7);
}

.btn-ghost{
  color:var(--cream);
  background:rgba(255,255,255,.055);
  border-color:rgba(255,240,189,.48);
  backdrop-filter:blur(10px);
}

.btn-ghost:hover{background:rgba(255,240,189,.12);border-color:var(--gold-1)}

/* ---------------- Hero ---------------- */
.hero{
  position:relative;
  min-height:min(940px,100svh);
  padding-top:calc(var(--header-h) + clamp(36px,5vw,78px));
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(10,5,16,.94) 0%,rgba(19,8,31,.86) 42%,rgba(31,13,53,.35) 72%,rgba(7,4,13,.7) 100%),
    radial-gradient(circle at 74% 37%,rgba(130,75,193,.62),transparent 24rem),
    radial-gradient(circle at 52% 7%,rgba(231,191,104,.11),transparent 26rem),
    linear-gradient(145deg,#11081d,#361455 58%,#100718);
}

.hero::before{
  content:"";
  position:absolute;
  width:min(76vw,1040px);
  aspect-ratio:1;
  right:-17%;
  top:-19%;
  border-radius:50%;
  opacity:.58;
  background:
    repeating-radial-gradient(circle,transparent 0 55px,rgba(255,230,170,.09) 56px 57px),
    radial-gradient(circle,rgba(151,91,213,.38),transparent 67%);
  transform:rotate(-9deg);
  animation:heroOrbit 38s linear infinite;
  pointer-events:none;
}

.hero::after{
  content:"THE TALK OF LIFE";
  position:absolute;
  right:-.04em;
  bottom:-.22em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,238,193,.07);
  font-family:var(--font-display);
  font-size:clamp(90px,14vw,270px);
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
  pointer-events:none;
}

.hero-bg{z-index:0}

.hero-glow{
  width:76vw;
  height:76vw;
  right:-20vw;
  top:-24vw;
  background:radial-gradient(circle,rgba(166,96,218,.3) 0%,rgba(66,22,98,.16) 40%,transparent 70%);
  animation:heroGlowDrift 9s ease-in-out infinite alternate;
}

.hero-waves{
  opacity:.42;
  animation:heroWaveShift 18s linear infinite;
}

.hero-sweep{
  position:absolute;
  width:36%;
  height:150%;
  right:7%;
  top:-30%;
  opacity:.22;
  background:linear-gradient(90deg,transparent,rgba(255,240,189,.42),transparent);
  filter:blur(18px);
  transform:rotate(18deg) translateX(-180%);
  animation:heroLightSweep 11s ease-in-out infinite;
}

.hero-stars{position:absolute;inset:0;overflow:hidden}
.hero-stars span{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#fff5cf;
  box-shadow:0 0 7px #fff,0 0 18px rgba(244,199,105,.9);
  opacity:.25;
  animation:heroStarTwinkle 3.6s ease-in-out infinite;
}
.hero-stars span::before,.hero-stars span::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  background:linear-gradient(90deg,transparent,#fff6d5,transparent);
  transform:translate(-50%,-50%);
}
.hero-stars span::before{width:22px;height:1px}
.hero-stars span::after{width:1px;height:22px}
.hero-stars span:nth-child(1){left:7%;top:18%;animation-delay:-.4s}
.hero-stars span:nth-child(2){left:22%;top:12%;animation-delay:-2.1s;transform:scale(.65)}
.hero-stars span:nth-child(3){left:39%;top:27%;animation-delay:-1.2s}
.hero-stars span:nth-child(4){left:54%;top:9%;animation-delay:-3s;transform:scale(.7)}
.hero-stars span:nth-child(5){left:68%;top:21%;animation-delay:-.9s}
.hero-stars span:nth-child(6){left:84%;top:13%;animation-delay:-2.7s;transform:scale(.6)}
.hero-stars span:nth-child(7){left:94%;top:38%;animation-delay:-1.6s}
.hero-stars span:nth-child(8){left:76%;top:56%;animation-delay:-3.4s;transform:scale(.7)}
.hero-stars span:nth-child(9){left:62%;top:72%;animation-delay:-.2s}
.hero-stars span:nth-child(10){left:42%;top:81%;animation-delay:-2.4s;transform:scale(.55)}
.hero-stars span:nth-child(11){left:18%;top:69%;animation-delay:-1.4s}
.hero-stars span:nth-child(12){left:5%;top:48%;animation-delay:-3.2s;transform:scale(.65)}

@keyframes heroOrbit{
  from{transform:rotate(-9deg)}
  to{transform:rotate(351deg)}
}
@keyframes heroGlowDrift{
  from{transform:translate3d(-2%,-1%,0) scale(.96);opacity:.75}
  to{transform:translate3d(4%,3%,0) scale(1.08);opacity:1}
}
@keyframes heroWaveShift{
  from{background-position:0 0}
  to{background-position:184px 0}
}
@keyframes heroLightSweep{
  0%,18%{transform:rotate(18deg) translateX(-190%);opacity:0}
  42%{opacity:.32}
  68%,100%{transform:rotate(18deg) translateX(260%);opacity:0}
}
@keyframes heroStarTwinkle{
  0%,100%{opacity:.14;filter:blur(.2px)}
  45%{opacity:.95;filter:none}
  60%{opacity:.34}
}

.hero-grid{
  position:relative;
  z-index:2;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:clamp(30px,5vw,84px);
  align-items:center;
}

.hero-copy{
  position:relative;
  z-index:3;
  max-width:730px;
  padding:clamp(30px,4vw,58px);
  border:1px solid rgba(255,238,193,.2);
  border-radius:4px 42px 4px 42px;
  background:
    linear-gradient(135deg,rgba(66,27,91,.7),rgba(14,7,23,.77)),
    rgba(19,8,30,.64);
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(120%);
}

.hero-copy::before{
  content:"";
  position:absolute;
  width:94px;
  height:3px;
  left:clamp(30px,4vw,58px);
  top:0;
  background:var(--grad-gold);
  box-shadow:0 0 22px rgba(241,206,127,.6);
}

.hero-title{
  margin:0;
  color:var(--cream);
  font-size:clamp(64px,7.8vw,126px);
  line-height:.88;
  letter-spacing:.015em;
  text-wrap:balance;
  text-shadow:0 10px 44px rgba(0,0,0,.45);
}

.hero-title::first-line{color:var(--cream)}

.hero-sub{
  margin:16px 0 20px;
  color:var(--gold-1);
  font-size:clamp(28px,3.2vw,48px);
  line-height:1;
  text-shadow:0 3px 18px rgba(0,0,0,.45);
}

.hero-tag{
  margin:0 0 12px;
  color:#fffaf4;
  font-size:clamp(13px,1.4vw,17px);
  font-weight:700;
  letter-spacing:.13em;
  line-height:1.5;
  text-transform:uppercase;
}

.hero-lede{
  margin:0;
  color:#e2d5e1;
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.78;
  font-weight:400;
  max-width:620px;
}

.rule{margin:22px 0;width:100%;max-width:480px;background:linear-gradient(90deg,var(--gold-2),rgba(231,191,104,.08))}
.hero-when{color:#fff7e9;font-weight:600;letter-spacing:.02em}
.hero-when .dot{background:#ffcf69;box-shadow:0 0 20px rgba(255,204,95,.75)}
.socials a{background:rgba(255,255,255,.07);border-color:rgba(255,238,193,.22);color:#fff}

.hero-figure{
  position:relative;
  z-index:2;
  min-height:clamp(500px,59vw,760px);
}

.hero-figure::before{
  content:"";
  position:absolute;
  width:min(39vw,560px);
  aspect-ratio:1;
  left:50%;
  top:45%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(246,214,139,.2);
  box-shadow:
    0 0 0 24px rgba(255,255,255,.015),
    0 0 0 48px rgba(232,193,105,.025),
    0 0 120px rgba(145,81,203,.6);
  background:radial-gradient(circle,rgba(174,111,221,.42) 0%,rgba(69,26,106,.18) 52%,transparent 72%);
}

.hero-elma{
  max-height:760px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 32px 30px rgba(2,0,10,.55)) drop-shadow(0 0 24px rgba(227,184,104,.14));
}

.hero-fade{height:180px;background:linear-gradient(to bottom,transparent,rgba(10,5,16,.98))}

/* ---------------- Shared section styling ---------------- */
.section{position:relative;padding:clamp(82px,8.5vw,136px) 0}
.sec-head{margin-bottom:clamp(38px,5vw,68px)}

.sec-title{
  color:var(--cream);
  font-size:clamp(39px,5vw,72px);
  line-height:1.02;
  letter-spacing:.01em;
  text-wrap:balance;
  text-shadow:0 8px 30px rgba(0,0,0,.32);
}

.sec-title.left{position:relative}
.sec-title.left::after{
  content:"";
  display:block;
  width:76px;
  height:3px;
  margin-top:18px;
  background:var(--grad-gold);
  box-shadow:0 0 18px rgba(231,191,104,.38);
}

.eyebrow{color:var(--gold-1);font-weight:700;letter-spacing:.24em}

.episodes{
  margin-top:-62px;
  border-radius:62px 62px 0 0;
  background:
    radial-gradient(circle at 14% 8%,rgba(129,64,173,.3),transparent 30rem),
    radial-gradient(circle at 88% 75%,rgba(157,69,138,.15),transparent 32rem),
    linear-gradient(180deg,rgba(19,8,30,.98),rgba(10,5,16,.98));
  box-shadow:0 -28px 80px rgba(1,0,6,.34);
}

.ep-media{
  border-radius:22px;
  border-color:rgba(255,233,177,.3);
  box-shadow:0 18px 46px rgba(2,0,9,.3);
}

.ep-shade{background:linear-gradient(100deg,rgba(9,5,15,.18),rgba(20,8,32,.6) 43%,rgba(22,8,38,.94))}
.ep-title{color:#fff;font-size:clamp(19px,1.7vw,27px)}
.ep-play{border:1px solid rgba(255,255,255,.52)}
.car-btn{background:rgba(255,255,255,.06);box-shadow:0 8px 28px rgba(0,0,0,.25)}

.episode-art-card a{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  border:1px solid rgba(255,233,177,.3);
  border-radius:22px;
  background:#13091d;
  box-shadow:0 18px 46px rgba(2,0,9,.35);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.episode-art-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.episode-art-card a::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 53%,rgba(6,3,10,.76) 100%);
  opacity:.62;
  transition:opacity .3s ease;
}
.episode-watch{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border:1px solid rgba(255,237,190,.6);
  border-radius:999px;
  color:#231007;
  background:var(--grad-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  box-shadow:0 8px 24px rgba(0,0,0,.32);
}
.episode-play-icon{font-size:11px}
.episode-art-card a:hover{transform:translateY(-7px);border-color:var(--gold-1);box-shadow:0 28px 64px rgba(2,0,9,.55)}
.episode-art-card a:hover img{transform:scale(1.045);filter:saturate(1.08) brightness(1.03)}
.episode-art-card a:hover::after{opacity:.34}

.about{
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(10,5,16,.95),rgba(35,14,56,.88)),
    radial-gradient(circle at 20% 50%,rgba(139,75,195,.25),transparent 30rem);
}

.about::after{
  content:"";
  position:absolute;
  width:520px;
  aspect-ratio:1;
  right:-210px;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(255,232,177,.1);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(255,255,255,.012),0 0 0 84px rgba(255,255,255,.009);
}

.about-grid{grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);gap:clamp(48px,7vw,104px)}

.frame{
  border-radius:8px 46px 8px 46px;
  border-color:rgba(255,232,177,.4);
  box-shadow:0 35px 100px rgba(1,0,7,.58),-18px 18px 0 rgba(191,137,58,.08);
}

.about-copy{position:relative;z-index:2}
.about-copy p,.form-intro p{color:#ded1dd;font-size:clamp(16px,1.3vw,18px);line-height:1.85;font-weight:400}
.about-copy strong{color:#fff5dc}
.stats{border-color:rgba(255,232,177,.23)}
.stat .lbl{color:#dfcfdb}

.host-portrait-reel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.8vw,24px);
  margin-top:clamp(58px,7vw,96px);
}
.host-portrait{
  position:relative;
  margin:0;
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid rgba(255,232,177,.28);
  border-radius:5px 28px 5px 28px;
  background:#160b21;
  box-shadow:0 22px 52px rgba(2,0,8,.4);
}
.host-portrait:nth-child(even){transform:translateY(24px)}
.host-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.host-portrait::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(10,5,16,.52));
}
.host-portrait:hover img{transform:scale(1.045);filter:saturate(1.08)}

/* ---------------- Talk of Life family ---------------- */
.show-family{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-top:1px solid rgba(255,232,177,.16);
  background:
    radial-gradient(circle at 8% 18%,rgba(171,91,213,.28),transparent 30rem),
    radial-gradient(circle at 92% 76%,rgba(231,191,104,.14),transparent 28rem),
    linear-gradient(145deg,#0a0511 0%,#24103a 52%,#0b0612 100%);
}

.show-family::before{
  content:"TALK OF LIFE";
  position:absolute;
  z-index:-1;
  right:-.03em;
  top:.04em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,238,193,.045);
  font-family:var(--font-display);
  font-size:clamp(100px,15vw,250px);
  letter-spacing:.035em;
  line-height:1;
  white-space:nowrap;
  pointer-events:none;
}

.show-family::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:680px;
  aspect-ratio:1;
  left:-320px;
  bottom:-420px;
  border:1px solid rgba(255,232,177,.08);
  border-radius:50%;
  box-shadow:0 0 0 52px rgba(255,255,255,.009),0 0 0 104px rgba(255,255,255,.006);
}

.family-head{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);
  gap:clamp(30px,7vw,100px);
  align-items:end;
  margin-bottom:clamp(42px,5vw,68px);
}

.family-head .sec-title{margin-bottom:0}
.family-head > p{
  margin:0 0 8px;
  color:#e3d5e2;
  font-size:clamp(16px,1.3vw,18px);
  line-height:1.8;
}

.family-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.2vw,32px);
  align-items:stretch;
}

.family-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,232,177,.27);
  border-radius:7px 34px 7px 34px;
  background:linear-gradient(165deg,rgba(57,24,86,.94),rgba(12,6,20,.98));
  box-shadow:0 28px 78px rgba(2,0,8,.5),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}

.family-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,232,177,.58);
  box-shadow:0 38px 92px rgba(2,0,8,.64),0 0 38px rgba(191,129,55,.08);
}

.family-portrait{
  position:relative;
  height:clamp(400px,34vw,530px);
  overflow:hidden;
  border-bottom:1px solid rgba(255,232,177,.18);
  background:
    radial-gradient(circle at 50% 42%,rgba(173,107,218,.38),transparent 42%),
    linear-gradient(155deg,#32134e 0%,#190b29 60%,#0c0713 100%);
}

.family-card-linda .family-portrait{
  background:
    radial-gradient(circle at 48% 48%,rgba(214,85,130,.28),transparent 43%),
    linear-gradient(155deg,#451a45 0%,#200d2d 58%,#0c0713 100%);
}

.family-card-roberta .family-portrait{
  background:
    radial-gradient(circle at 50% 44%,rgba(218,161,76,.2),transparent 42%),
    linear-gradient(155deg,#361749 0%,#1a0b28 58%,#0c0713 100%);
}

.family-portrait::before{
  content:"";
  position:absolute;
  inset:8% 10%;
  border:1px solid rgba(255,232,177,.15);
  border-radius:50% 50% 8px 8px;
  box-shadow:0 0 0 16px rgba(255,255,255,.012),0 0 58px rgba(198,126,226,.12);
}

.family-portrait img{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-1px;
  width:auto;
  max-width:none;
  height:96%;
  object-fit:contain;
  transform:translateX(-50%);
  transform-origin:center bottom;
  filter:drop-shadow(0 20px 25px rgba(0,0,0,.36));
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}

.family-card-linda .family-portrait img{height:76%}
.family-card-roberta .family-portrait img{height:94%}
.family-card:hover .family-portrait img{transform:translateX(-50%) scale(1.035);filter:drop-shadow(0 24px 30px rgba(0,0,0,.45)) saturate(1.05)}

.family-number{
  position:absolute;
  z-index:1;
  right:18px;
  top:8px;
  color:rgba(255,240,189,.12);
  font-family:var(--font-display);
  font-size:clamp(72px,7vw,110px);
  letter-spacing:.02em;
  line-height:1;
}

.family-shine{
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 24%,rgba(255,238,190,.11) 44%,transparent 62%);
  transform:translateX(-115%);
  transition:transform .9s ease;
}

.family-card:hover .family-shine{transform:translateX(115%)}

.family-copy{position:relative;padding:clamp(25px,2.8vw,36px)}
.family-copy::before{
  content:"";
  position:absolute;
  left:clamp(25px,2.8vw,36px);
  top:0;
  width:72px;
  height:2px;
  background:var(--grad-gold);
  box-shadow:0 0 18px rgba(231,191,104,.35);
}

.family-role{
  margin:0 0 8px;
  color:var(--gold-1);
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.5;
  text-transform:uppercase;
}

.family-copy h3{
  margin:0;
  color:#fffaf2;
  font-family:var(--font-display);
  font-size:clamp(38px,4vw,58px);
  font-weight:400;
  letter-spacing:.025em;
  line-height:1;
  text-transform:uppercase;
}

.family-segment{
  display:inline-flex;
  margin:15px 0 18px;
  padding:7px 12px;
  border:1px solid rgba(255,232,177,.22);
  border-radius:999px;
  color:#f4e7f1;
  background:rgba(255,255,255,.045);
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
}

.family-copy > p:last-child{
  margin:0;
  color:#ded0dc;
  font-size:16px;
  line-height:1.78;
}

/* ---------------- Live studio ---------------- */
.live-studio{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-top:1px solid rgba(255,232,177,.2);
  border-bottom:1px solid rgba(255,232,177,.18);
  background:
    linear-gradient(135deg,rgba(15,6,24,.97),rgba(43,16,71,.94) 52%,rgba(11,5,18,.97));
}

.live-studio::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:-30px;
  background:url('../images/elma-facebook-banner.webp') center 46%/cover no-repeat;
  filter:blur(8px) saturate(110%);
  opacity:.2;
  transform:scale(1.05);
}

.live-studio::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    radial-gradient(circle at 16% 12%,rgba(218,169,81,.18),transparent 25rem),
    linear-gradient(180deg,rgba(10,5,16,.35),rgba(10,5,16,.82));
}

.live-studio-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
  gap:clamp(30px,7vw,100px);
  align-items:end;
  margin-bottom:clamp(38px,5vw,64px);
}

.live-studio-head .sec-title{margin-bottom:0}
.live-lede{margin:0 0 8px;color:#e7dce7;font-size:clamp(16px,1.35vw,19px);line-height:1.8}

.broadcast-grid{
  display:grid;
  grid-template-columns:minmax(0,1.67fr) minmax(300px,.73fr);
  gap:clamp(24px,3vw,42px);
  align-items:stretch;
}

.stream-card,.social-feed-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,232,177,.28);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(45,18,69,.88),rgba(12,6,20,.94));
  box-shadow:0 32px 90px rgba(2,0,8,.58),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
}

.stream-card{display:flex;flex-direction:column}
.stream-bar,.social-feed-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px clamp(20px,3vw,34px);
  border-bottom:1px solid rgba(255,232,177,.16);
  background:rgba(255,255,255,.025);
}

.stream-kicker{
  display:block;
  margin-bottom:3px;
  color:var(--gold-1);
  font-size:10px;
  font-weight:800;
  letter-spacing:.23em;
  line-height:1.3;
  text-transform:uppercase;
}

.stream-bar h3,.social-feed-head h3{
  margin:0;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(22px,2.3vw,32px);
  font-weight:400;
  letter-spacing:.02em;
  line-height:1.1;
  text-transform:uppercase;
}

.schedule-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border:1px solid rgba(255,221,144,.34);
  border-radius:999px;
  color:#fff4da;
  background:rgba(231,191,104,.09);
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.schedule-chip span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#f4bd51;
  box-shadow:0 0 0 5px rgba(244,189,81,.11),0 0 16px rgba(244,189,81,.8);
}

.video-shell{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#050308;
}

.video-shell::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),inset 0 -34px 80px rgba(0,0,0,.16);
}

.video-shell iframe{display:block;width:100%;height:100%;border:0}

.stream-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:22px clamp(20px,3vw,34px) 25px;
}

.stream-footer p{margin:0;color:#cdbdcd;font-size:13px;line-height:1.6}
.stream-footer .btn{flex:0 0 auto}

.social-feed-card{display:flex;flex-direction:column;padding-bottom:22px}
.social-feed-head{justify-content:flex-start}

.facebook-mark{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#1877f2;
  font-family:Arial,sans-serif;
  font-size:31px;
  font-weight:700;
  line-height:1;
  box-shadow:0 10px 26px rgba(24,119,242,.25);
}

.facebook-shell{
  flex:1;
  min-height:560px;
  margin:18px;
  overflow:hidden;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(0,0,0,.28);
}

.facebook-shell iframe{display:block;width:100%;max-width:100%;height:640px;border:0;overflow:hidden}

.btn-facebook{
  align-self:center;
  color:#fff;
  background:#1877f2;
  border-color:#559af4;
  box-shadow:0 12px 30px rgba(24,119,242,.24);
}

.btn-facebook:hover{transform:translateY(-3px);background:#2a82f3;box-shadow:0 16px 38px rgba(24,119,242,.34)}

/* ---------------- Cast and guest gallery ---------------- */
.show-gallery{
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(137,75,191,.3),transparent 30rem),
    radial-gradient(circle at 92% 78%,rgba(213,158,70,.12),transparent 26rem),
    linear-gradient(150deg,#0a0510 0%,#1b0a2b 54%,#09050f 100%);
}
.show-gallery::before{
  content:"";
  position:absolute;
  width:620px;
  aspect-ratio:1;
  right:-260px;
  top:-180px;
  border:1px solid rgba(255,232,177,.08);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(255,255,255,.01),0 0 0 88px rgba(255,255,255,.007);
}
.gallery-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);
  gap:clamp(30px,7vw,100px);
  align-items:end;
  margin-bottom:clamp(38px,5vw,64px);
}
.gallery-head .sec-title{margin-bottom:0}
.gallery-head > p{margin:0 0 8px;color:#dfd1df;font-size:clamp(16px,1.3vw,18px);line-height:1.8}
.gallery-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:clamp(210px,19vw,300px);
  grid-auto-flow:dense;
  gap:clamp(12px,1.5vw,20px);
}
.gallery-shot{
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,232,177,.22);
  border-radius:18px;
  background:#160b21;
  box-shadow:0 20px 55px rgba(2,0,8,.38);
}
.gallery-shot-tall{grid-row:span 2}
.gallery-shot-wide{grid-column:1/-1;min-height:clamp(280px,32vw,480px)}
.gallery-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.gallery-shot::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 64%,rgba(6,3,10,.5));
}
.gallery-shot:hover img{transform:scale(1.035);filter:saturate(1.08) brightness(1.02)}

/* ---------------- Forms + footer ---------------- */
.forms{
  background:
    radial-gradient(circle at 86% 12%,rgba(122,64,171,.25),transparent 30rem),
    linear-gradient(180deg,#160a24 0%,#090510 100%);
}

.tick-list li{color:#f6edf4}
.form-card{
  border-radius:8px 38px 8px 38px;
  border-color:rgba(255,232,177,.3);
  background:linear-gradient(145deg,rgba(66,27,93,.72),rgba(14,7,22,.9));
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(18px);
}

.field label{color:#e6d8e4}
.field input,.field select,.field textarea{
  color:#fff;
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.18);
}

.field input::placeholder,.field textarea::placeholder{color:rgba(239,225,237,.62)}
.contact-lines{border-color:rgba(255,232,177,.22)}
.site-footer{background:#08040d}

/* ---------------- Responsive ---------------- */
@media (min-width:1700px){
  :root{--wrap:1540px}
  .hero-grid{grid-template-columns:minmax(0,1.03fr) minmax(520px,.97fr)}
  .hero-copy{max-width:820px}
  .hero-elma{max-height:860px}
  .hero-figure{min-height:820px}
}

@media (max-width:1120px){
  .broadcast-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.78fr)}
  .stream-footer{align-items:flex-start;flex-direction:column}
}

@media (max-width:900px){
  .nav{background:linear-gradient(155deg,rgba(54,20,84,.99),rgba(9,5,15,.99))}
  .hero{min-height:auto;padding-bottom:92px}
  .hero-grid{grid-template-columns:1fr;gap:12px}
  .hero-copy{order:2;max-width:680px;margin:0 auto;border-radius:4px 34px 4px 34px}
  .hero-figure{order:1;min-height:auto;margin-bottom:-34px}
  .hero-figure::before{width:min(70vw,520px)}
  .hero-elma{max-height:550px;max-width:min(520px,86vw)}
  .hero-title{font-size:clamp(58px,15vw,104px)}
  .hero-lede{margin-left:auto;margin-right:auto}
  .hero-fade{height:100px}

  .sec-title.left::after{margin-left:auto;margin-right:auto}
  .about-grid{grid-template-columns:1fr}
  .host-portrait-reel{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}
  .host-portrait:nth-child(even){transform:none}

  .family-head{grid-template-columns:1fr;text-align:center;gap:20px}
  .family-head .eyebrow{justify-content:center}
  .family-head .sec-title{text-align:center}
  .family-head .sec-title::after{margin-left:auto;margin-right:auto}
  .family-head > p{margin-left:auto;margin-right:auto}
  .family-grid{grid-template-columns:1fr;max-width:760px;margin:0 auto}
  .family-card{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}
  .family-portrait{height:auto;min-height:430px;border-right:1px solid rgba(255,232,177,.18);border-bottom:0}
  .family-card-linda .family-portrait img{height:72%}

  .live-studio-head{grid-template-columns:1fr;text-align:center;gap:20px}
  .live-studio-head .eyebrow{justify-content:center}
  .live-lede{margin-left:auto;margin-right:auto}
  .broadcast-grid{grid-template-columns:1fr}
  .social-feed-card{max-width:620px;width:100%;margin:0 auto}
  .facebook-shell{min-height:620px}

  .gallery-head{grid-template-columns:1fr;text-align:center;gap:20px}
  .gallery-head .eyebrow{justify-content:center}
  .gallery-head .sec-title{text-align:center}
  .gallery-head .sec-title::after{margin-left:auto;margin-right:auto}
  .gallery-head > p{margin-left:auto;margin-right:auto}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:260px}
  .gallery-shot-tall{grid-row:span 2}
  .gallery-shot-wide{grid-column:1/-1;min-height:320px}
}

@media (max-width:640px){
  body{font-size:16px;line-height:1.7}
  .hero{padding-top:calc(var(--header-h) + 22px);padding-bottom:70px}
  .hero-copy{padding:28px 22px;border-radius:3px 26px 3px 26px}
  .hero-copy::before{left:22px}
  .hero-title{font-size:clamp(52px,18vw,82px)}
  .hero-sub{font-size:clamp(28px,9vw,40px)}
  .hero-tag{font-size:12px;letter-spacing:.09em}
  .hero-lede{font-size:15px;line-height:1.7}
  .hero-when{align-items:flex-start;line-height:1.55}
  .hero-btns{gap:12px;margin-top:26px}
  .hero-btns .btn{flex:1 1 100%;width:100%}
  .hero-figure{margin-bottom:-20px}
  .hero-elma{max-height:440px}
  .header-logo{width:164px}

  .episodes{border-radius:34px 34px 0 0;margin-top:-32px}
  .sec-title{font-size:clamp(35px,12vw,52px)}
  .section{padding:76px 0}

  .stream-card,.social-feed-card{border-radius:19px}
  .stream-bar{align-items:flex-start;flex-direction:column;padding:20px}
  .schedule-chip{font-size:9px}
  .stream-footer{padding:20px}
  .stream-footer .btn{width:100%}
  .social-feed-head{padding:20px}
  .facebook-shell{min-height:560px;margin:12px}
  .facebook-shell iframe{height:620px}
  .btn-facebook{width:calc(100% - 40px)}

  .host-portrait-reel{gap:10px;margin-top:48px}
  .host-portrait{border-radius:4px 20px 4px 20px}
  .family-card{display:block;border-radius:4px 24px 4px 24px}
  .family-portrait{height:430px;min-height:0;border-right:0;border-bottom:1px solid rgba(255,232,177,.18)}
  .family-card-linda .family-portrait img{height:72%}
  .family-copy{padding:27px 24px 30px}
  .family-copy::before{left:24px}
  .family-copy h3{font-size:43px}
  .gallery-grid{grid-auto-rows:220px;gap:10px}
  .gallery-shot{border-radius:13px}
  .gallery-shot-wide{min-height:250px}

  .form-card{border-radius:4px 28px 4px 28px}
}

@media (prefers-reduced-motion:reduce){
  body::before{display:none}
  .family-card,.family-portrait img,.family-shine{transition:none}
}
