/* Black Friday offer — tighter type, 16:9 VSL */
.bf-page{--maxw:880px;}
.bf-page .nav{position:relative; top:auto;}
.bf-page .brandmark svg{height:38px;}
.bf-page .navlinks{gap:1.5rem; font-size:.7rem;}
.bf-page .navlinks .cta{padding:.58rem .95rem;}
#book,#work,#day,#reviews,#vsl{scroll-margin-top:6.2rem;}
.bf-chrome{position:sticky; top:0; z-index:60;}
.bf-bar{
  background:var(--brass); color:var(--ink);
  text-align:center; font-family:var(--mono);
  font-size:.62rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.45rem 1rem; font-weight:600;
}
.bf-bar b{font-weight:700;}

.bf-hero{
  text-align:center;
  padding-block:clamp(1.5rem,3.5vw,2.2rem) 1.3rem;
  background:
    radial-gradient(80% 70% at 80% 0%, rgba(228,166,74,.08), transparent 55%),
    var(--ink);
}
.bf-live{
  display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--brass); margin-bottom:.8rem;
}
.bf-live i{
  width:.45rem; height:.45rem; border-radius:50%; background:#e25b4a;
  box-shadow:0 0 0 4px rgba(226,91,74,.18); animation:bfPulse 1.6s ease-in-out infinite;
}
@keyframes bfPulse{50%{opacity:.45;}}
@media (prefers-reduced-motion:reduce){.bf-live i{animation:none;}}
.bf-hero h1{
  font-size:clamp(1.7rem,2.6vw + .7rem,2.35rem); line-height:1.14;
  letter-spacing:-.03em; text-transform:none; max-width:none; margin-inline:auto;
}
.bf-hero h1 em{color:var(--brass); font-style:normal;}
.bf-hero .sub{
  color:var(--text); font-size:clamp(1rem,2vw,1.15rem); font-weight:500;
  max-width:38ch; margin:.65rem auto 0; line-height:1.35;
}
.bf-hero .lede{color:var(--muted); font-size:.95rem; max-width:46ch; margin:.65rem auto 0;}

.bf-vsl{width:min(720px,100%); margin:1.25rem auto 0;}
.bf-vsl-frame{
  padding:56.25% 0 0;
  position:relative;
  background:#000;
  border:1px solid var(--line-2);
}
.bf-vsl-frame iframe{
  position:absolute; top:0; left:0; width:100%; height:100%; border:0;
}

.count{display:flex; gap:.45rem; justify-content:center; flex-wrap:wrap; margin-top:1.15rem;}
.count div{
  background:var(--surface); border:1px solid var(--line);
  min-width:3.8rem; padding:.55rem .4rem; display:grid; gap:.1rem;
}
.count b{font-size:1.35rem; font-weight:700; font-variant-numeric:tabular-nums; line-height:1;}
.count span{font-family:var(--mono); font-size:.55rem; letter-spacing:.16em; text-transform:uppercase; color:var(--faint);}
.bf-hero .actions{display:flex; flex-wrap:wrap; justify-content:center; gap:.8rem 1.2rem; margin-top:1.1rem;}
.bf-hero .meta{
  font-family:var(--mono); font-size:.62rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); margin:.95rem 0 0;
}
.bf-hero .meta b{color:var(--text); font-weight:500;}

.bf-logos{padding-block:1.3rem 1.4rem; border-block:1px solid var(--line); background:var(--ink-2); overflow:hidden;}
.bf-logos .lbl{text-align:center; margin-bottom:.95rem; font-size:.62rem;}
.bf-marquee{position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.bf-track{display:flex; align-items:center; width:max-content; gap:1.4rem; will-change:transform;}
.bf-cli{
  display:inline-flex; align-items:center; justify-content:center;
  height:52px; width:118px; flex:0 0 auto; opacity:.88;
}
.bf-cli img{
  height:34px; width:auto; max-width:110px; object-fit:contain;
  filter:drop-shadow(0 0 1px rgba(239,232,218,.85)) drop-shadow(0 0 4px rgba(239,232,218,.35));
}
@media (prefers-reduced-motion:reduce){
  .bf-track{flex-wrap:wrap; justify-content:center; width:auto; transform:none!important;}
}

.bf-section{padding-block:clamp(1.9rem,4vw,2.9rem); border-bottom:1px solid var(--line);}
.bf-section h2{
  font-size:clamp(1.35rem,2.8vw,1.95rem); text-transform:none;
  letter-spacing:-.025em; margin:.3rem 0 .7rem; line-height:1.18;
}
.bf-section .intro{color:var(--muted); max-width:58ch; font-size:.96rem; margin:0 0 1.3rem;}
.bf-mid{text-align:center; margin-top:1.5rem;}

.bf-play{
  position:relative; display:block; width:100%; aspect-ratio:16/9;
  border:1px solid var(--line-2); background:#000 center/cover no-repeat;
  cursor:pointer; padding:0; overflow:hidden;
}
.bf-play::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 120% at 50% 45%, transparent 40%, rgba(12,10,7,.5));
}
.bf-play .go{
  position:absolute; z-index:2; inset:0; margin:auto; width:56px; height:56px;
  border:2px solid var(--text); border-radius:50%; display:grid; place-items:center;
  transition:transform .25s, border-color .25s;
}
.bf-play .go::after{
  content:""; border-left:16px solid var(--brass); border-top:9px solid transparent;
  border-bottom:9px solid transparent; margin-left:4px;
}
.bf-play:hover .go{border-color:var(--brass); transform:scale(1.06);}
.bf-play .cap{
  position:absolute; z-index:2; left:.65rem; right:.65rem; bottom:.6rem;
  display:flex; flex-direction:column; align-items:flex-start; gap:.28rem;
  text-align:left;
}
.bf-play .cap small{
  display:inline-block; font-family:var(--mono); font-weight:500; font-size:.55rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--text);
  background:rgba(12,10,7,.78); padding:.2rem .4rem;
}
.bf-play .cap .name{
  display:inline-block; max-width:100%;
  font-family:var(--disp); font-weight:700; font-size:.82rem; font-style:normal;
  text-transform:uppercase; letter-spacing:-.02em; line-height:1.15;
  background:#E4A64A; color:#15120D; padding:.32rem .5rem;
}
.bf-embed{position:relative; aspect-ratio:16/9; border:1px solid var(--line-2); background:#000; overflow:hidden;}
.bf-embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.bf-vids{display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem;}
@media (max-width:640px){.bf-vids{grid-template-columns:1fr;}}

.quotes{display:grid; gap:.85rem;}
.quote{
  margin:0; padding:1.15rem 1.2rem 1.2rem;
  background:var(--ink-2); border:1px solid var(--line);
}
.quote-who{display:flex; align-items:center; gap:.75rem; margin-bottom:.75rem;}
.quote-av{
  width:2.5rem; height:2.5rem; border-radius:50%; flex:0 0 auto;
  display:grid; place-items:center;
  font-family:var(--mono); font-size:.72rem; font-weight:700; letter-spacing:.04em;
  color:#15120D;
}
.av-fc{background:#8ab4f8;}
.av-n{background:#f9ab00;}
.av-jp{background:#c58af9;}
.quote figcaption{
  font-weight:600; font-size:.95rem; letter-spacing:-.01em; text-transform:none;
}
.quote .stars{
  margin:.15rem 0 0; color:var(--brass); letter-spacing:.12em;
  font-size:.85rem; line-height:1;
}
.quote blockquote{margin:0;}
.quote blockquote p{margin:0; color:var(--text); font-size:.95rem; line-height:1.5;}

.day{display:grid; gap:0; border-top:1px solid var(--line);}
.slot{display:grid; grid-template-columns:6.5rem 1fr; gap:1rem; padding-block:.9rem; border-bottom:1px solid var(--line);}
.slot .t{font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); padding-top:.2rem;}
.slot h3{font-size:1.02rem;}
.slot p{color:var(--muted); margin:.28rem 0 0; max-width:58ch; font-size:.95rem;}
@media (max-width:560px){.slot{grid-template-columns:1fr; gap:.2rem;}}

.bf-offer{padding-block:clamp(1.9rem,4vw,2.9rem); background:var(--ink-2); border-bottom:1px solid var(--line);}
.bf-offer h2{font-size:clamp(1.35rem,2.8vw,1.95rem); letter-spacing:-.025em; margin:.3rem 0 .7rem;}
.bf-offer-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.3rem,3vw,2rem); align-items:start;}
@media (max-width:800px){.bf-offer-grid{grid-template-columns:1fr;}}
.price{display:grid; gap:.15rem; margin:.85rem 0;}
.price b{font-size:clamp(2.2rem,5vw,3rem); line-height:1; letter-spacing:-.03em; color:var(--brass);}
.price span{font-family:var(--mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint);}
.inc{display:grid; gap:.6rem; list-style:none; margin:0; padding:0;}
.inc li{display:grid; grid-template-columns:16px 1fr; gap:.55rem; color:var(--text); font-size:.95rem;}
.inc li::before{content:""; width:8px; height:8px; border:2px solid var(--brass); margin-top:.4rem; transform:rotate(45deg);}
.inc small{display:block; color:var(--muted); font-size:.85rem;}
.qual{border-left:2px solid var(--brass); padding:.7rem .9rem; color:var(--muted); background:var(--ink); margin:1rem 0 0; font-size:.94rem;}
.qual b{color:var(--text); font-weight:600;}

.bf-page .proof-tile{min-height:200px;}
.bf-page .proof-tile .cap{
  position:absolute; z-index:1;
  left:.65rem; right:auto; bottom:.6rem; width:auto; max-width:calc(100% - 1.3rem);
  display:flex; flex-direction:column; align-items:flex-start; gap:.28rem;
}
.bf-page .proof-tile small{
  display:inline-block; color:var(--text); background:rgba(12,10,7,.78);
  padding:.2rem .4rem; font-size:.55rem; margin:0;
}
.bf-page .proof-tile .name{
  position:static; left:auto; right:auto; bottom:auto; width:auto;
  display:inline-block; max-width:100%;
  font-family:var(--disp); font-weight:700; font-size:.82rem; font-style:normal;
  text-transform:uppercase; letter-spacing:-.02em; line-height:1.15;
  background:#E4A64A; color:#15120D; padding:.32rem .5rem;
}
.bf-tiles{display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; margin-top:1.15rem;}
@media (max-width:800px){.bf-tiles{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.bf-tiles{grid-template-columns:1fr;}}

.bf-page .faq summary{font-size:1rem; text-transform:none; letter-spacing:-.01em;}
.bf-page .faq p{font-size:.95rem;}

.bf-final{text-align:center; padding-block:clamp(1.9rem,4vw,2.8rem);}
.bf-final h2{font-size:clamp(1.4rem,3.2vw,2.05rem); letter-spacing:-.025em; margin:.3rem 0 .65rem; text-transform:none;}
.bf-final p{color:var(--muted); max-width:42ch; margin:0 auto 1.1rem; font-size:.96rem;}
