/* =========================================================
   CINELÂNDIA — design tokens
   Paleta:
     --void        #0A0908  fundo, escuro de sala de cinema
     --curtain     #1C1210  painel, veludo escuro
     --curtain-2   #241713  painel alternado
     --marquee-red #9C2B2B  vermelho de cortina/bilhete
     --gold        #C9A24B  latão da marquise
     --gold-bright #F0CE7C  brilho da lâmpada
     --cream       #F3E6C9  papel de ingresso
     --ink         #EDE6D8  texto principal
     --muted       #B7AC96  texto secundário
   Tipografia:
     Display marquise: 'Bebas Neue' (letreiro, maiúsculas condensadas)
     Elegante/itálico: 'Playfair Display'
     Corpo/UI: 'Inter'
   ========================================================= */

:root{
  --void:#0A0908;
  --curtain:#1C1210;
  --curtain-2:#241713;
  --marquee-red:#9C2B2B;
  --marquee-red-dim:#6E1F22;
  --gold:#C9A24B;
  --gold-bright:#F0CE7C;
  --cream:#F3E6C9;
  --ink:#EDE6D8;
  --muted:#B7AC96;
  --line: rgba(201,162,75,0.25);
  --radius: 4px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  /* O letreiro é só texto decorativo correndo, sem risco de mal-estar, então continua animando sempre */
  .ticker-track{
    animation-duration:20s !important;
    animation-iteration-count:infinite !important;
  }
}

body{
  margin:0;
  background:var(--void);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul,ol{margin:0; padding:0; list-style:none;}
h1,h2,h3,h4{margin:0;}
p{margin:0;}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

.italic{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:600;
  color:var(--gold-bright);
}

:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:3px;
}

/* ============ BULB STRIP (assinatura visual) ============ */
.bulb-strip{
  height:10px;
  width:100%;
  background-image: radial-gradient(circle, var(--gold-bright) 0 2.6px, transparent 2.7px);
  background-size: 26px 10px;
  background-position: center;
  background-color: var(--curtain-2);
  animation: bulbFlicker 2.4s steps(2,end) infinite;
}
@keyframes bulbFlicker{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(0.55); }
}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-family:'Inter',sans-serif;
  font-weight:700;
  letter-spacing:0.02em;
  border-radius:2px;
  cursor:pointer;
  border:none;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.btn-gold{
  background:linear-gradient(180deg, var(--gold-bright), var(--gold));
  color:#241708;
  flex-direction:column;
  padding:16px 32px;
  box-shadow:0 6px 0 #8a6a26, 0 14px 24px rgba(0,0,0,0.45);
}
.btn-gold:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 0 #8a6a26, 0 18px 28px rgba(0,0,0,0.5);
}
.btn-gold .btn-price{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:12.5px;
  letter-spacing:0.03em;
  color:#3a2a0d;
  margin-top:2px;
}
.btn-gold .btn-price em{font-style:normal; opacity:0.75; font-weight:500;}
.btn-large{font-size:17px; padding:18px 36px;}
.btn-small{padding:10px 18px; font-size:13.5px; box-shadow:0 3px 0 #8a6a26;}
.btn-full{width:100%;}
.btn-outline{
  padding:13px 26px;
  border:1.5px solid var(--gold);
  color:var(--gold-bright);
  background:transparent;
  font-size:14.5px;
}
.btn-outline:hover{background:rgba(201,162,75,0.1);}

/* ============ HEADER ============ */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(10,9,8,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px;
}
.brand{display:flex; align-items:center; gap:8px;}
.brand-mark{color:var(--gold-bright); font-size:16px;}
.brand-name{
  font-family:'Bebas Neue', sans-serif;
  font-size:26px;
  letter-spacing:0.06em;
  color:var(--cream);
}
.main-nav{display:flex; gap:30px;}
.main-nav a{
  font-size:14px; font-weight:500; color:var(--muted);
  transition:color 0.15s ease;
}
.main-nav a:hover{color:var(--gold-bright);}
@media (max-width:860px){ .main-nav{display:none;} }

/* ============ HERO ============ */
.hero{
  position:relative;
  padding:96px 0 60px;
  overflow:hidden;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center 20%;
  opacity:0.28;
  filter:grayscale(15%);
}
.hero-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,9,8,0.55) 0%, rgba(10,9,8,0.85) 55%, var(--void) 100%);
}
.hero-inner{position:relative; z-index:2;}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:0.18em;
  color:var(--gold-bright); text-transform:uppercase;
  margin-bottom:22px;
}
.eyebrow .dot{
  width:6px; height:6px; border-radius:50%; background:var(--gold-bright);
  box-shadow:0 0 8px var(--gold-bright);
}

.hero-title{margin-bottom:22px;}
.marquee-frame{
  display:inline-flex; flex-direction:column; align-items:center;
  padding:26px 46px;
  border:3px solid var(--gold);
  border-radius:6px;
  position:relative;
  box-shadow: inset 0 0 0 6px rgba(10,9,8,0.9), 0 0 40px rgba(201,162,75,0.15);
}
.marquee-frame::before,
.marquee-frame::after{
  content:"";
  position:absolute; top:-14px; bottom:-14px;
  width:14px;
  background-image: radial-gradient(circle, var(--gold-bright) 0 3px, transparent 3.2px);
  background-size:14px 22px;
  animation: bulbFlicker 1.8s steps(2,end) infinite;
}
.marquee-frame::before{left:-14px;}
.marquee-frame::after{right:-14px;}
.marquee-line{
  font-family:'Bebas Neue', sans-serif;
  font-size:clamp(52px, 11vw, 108px);
  line-height:0.92;
  letter-spacing:0.05em;
  color:var(--cream);
}
.marquee-line--accent{color:var(--gold-bright);}

.hero-sub{
  max-width:620px; margin:0 auto 34px;
  font-size:17.5px; color:var(--muted);
}
.hero-sub strong{color:var(--cream); font-weight:700;}
.hero-kicker{
  max-width:600px; margin:0 auto 14px;
  font-size:19px; font-weight:700; color:var(--cream);
  line-height:1.4;
}

.hero-cta{display:flex; flex-direction:column; align-items:center; gap:12px;}
.hero-note{font-size:13px; color:var(--muted);}

.hero-genres{
  margin-top:52px;
  font-family:'Bebas Neue', sans-serif;
  letter-spacing:0.12em;
  font-size:14px;
  color:var(--muted);
}
.hero-genres .sep{color:var(--gold); margin:0 10px;}
@media (max-width:640px){
  .hero-genres span:not(.sep){display:none;}
  .hero-genres span:nth-child(-n+7){display:inline;}
}

/* ============ POSTER MARQUEE (film strip) ============ */
.poster-marquee{
  background:var(--curtain-2);
  border-bottom:1px solid var(--line);
  padding:22px 0;
  overflow:hidden;
  position:relative;
}
.poster-marquee::before,
.poster-marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:80px; z-index:2;
}
.poster-marquee::before{left:0; background:linear-gradient(90deg, var(--curtain-2), transparent);}
.poster-marquee::after{right:0; background:linear-gradient(270deg, var(--curtain-2), transparent);}
.poster-track{
  display:flex; gap:16px; width:max-content;
  animation: scrollPosters 55s linear infinite;
}
.poster-marquee:hover .poster-track{animation-play-state:paused;}
.poster-card{
  width:220px; height:124px;
  border-radius:4px; overflow:hidden;
  border:1px solid var(--line);
  flex:none;
}
.poster-card img{width:100%; height:100%; object-fit:cover;}
@keyframes scrollPosters{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* ============ SECTION GENERIC ============ */
.section{padding:96px 0;}
.section-eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.section-eyebrow--center{text-align:center;}
.section-title{
  font-family:'Bebas Neue', sans-serif;
  font-size:clamp(32px, 4.4vw, 46px);
  letter-spacing:0.02em;
  color:var(--cream);
  margin-bottom:16px;
}
.section-title--center{text-align:center;}

/* ============ TICKER (LETREIRO ANIMADO) ============ */
.ticker-band{
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  z-index:5;
  transform:rotate(-1.4deg);
  margin:-16px 0;
  box-shadow:0 4px 24px rgba(0,0,0,0.35);
}
.ticker-band--gold{background:linear-gradient(90deg, var(--gold), var(--gold-bright));}
.ticker-band--dark{background:var(--curtain-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.ticker-track{
  display:inline-flex; width:max-content;
  animation: tickerLeft 20s linear infinite;
}
.ticker-band--reverse .ticker-track{animation-name: tickerRight;}
.ticker-band:hover .ticker-track{animation-play-state:paused;}
.ticker-track span{
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Bebas Neue', sans-serif;
  font-size:22px; letter-spacing:0.05em;
  padding:12px 22px;
  white-space:nowrap;
}
.ticker-band--gold .ticker-track span{color:#241708;}
.ticker-band--dark .ticker-track span{color:var(--gold-bright);}
.ticker-band--dark .ticker-track span em{
  font-style:normal; color:var(--cream);
}
@keyframes tickerLeft{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@keyframes tickerRight{
  from{transform:translateX(-50%);}
  to{transform:translateX(0);}
}

/* ============ STORY CAROUSEL ============ */
.story-section{background:var(--void);}
.story-carousel{
  max-width:900px; margin:44px auto 0;
}
.story-progress{
  display:flex; gap:6px; margin-bottom:18px;
}
.story-progress-seg{
  flex:1; height:4px; border-radius:2px;
  background:rgba(201,162,75,0.2);
  overflow:hidden;
}
.story-progress-seg span{
  display:block; height:100%; width:0%;
  background:var(--gold-bright);
}
.story-progress-seg.is-done span{width:100%;}
.story-progress-seg.is-active span{animation:storyFill 6s linear forwards;}
@keyframes storyFill{ from{width:0%;} to{width:100%;} }

.story-viewport{
  position:relative;
  background:var(--curtain); border:1px solid var(--line); border-radius:12px;
  overflow:hidden;
}
.story-track{
  display:flex;
  transition:transform 0.6s cubic-bezier(0.65,0,0.35,1);
}
.story-slide{
  flex:0 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
}
@media (max-width:760px){ .story-slide{grid-template-columns:1fr;} }

.story-image{
  background:#0f0c0b; display:flex; align-items:center; justify-content:center;
  min-height:260px; overflow:hidden;
}
.story-image img{width:100%; height:100%; object-fit:cover;}
.story-image img.story-image--contain{
  object-fit:contain; padding:28px; max-height:340px;
}
@media (max-width:760px){ .story-image{min-height:200px;} }

.story-body{padding:32px 34px; display:flex; flex-direction:column; gap:12px;}
.story-body h3{
  font-family:'Playfair Display', serif; font-weight:700; font-size:21px;
  color:var(--cream); line-height:1.35;
}
.story-body p{font-size:14.5px; color:var(--muted); line-height:1.6;}
.story-highlight{color:var(--gold-bright) !important; font-weight:600;}
.story-checklist{display:flex; flex-direction:column; gap:8px; margin:4px 0 10px;}
.story-checklist li{
  font-size:13.5px; color:var(--cream); padding-left:24px; position:relative;
}
.story-checklist li::before{
  content:"✓"; position:absolute; left:0; top:0;
  color:var(--gold-bright); font-weight:800;
}
.story-body .btn{align-self:flex-start;}

.story-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px; height:36px; border-radius:50%;
  background:rgba(10,9,8,0.55); border:1px solid var(--line);
  color:var(--cream); font-size:20px; line-height:1;
  cursor:pointer; z-index:3;
  display:flex; align-items:center; justify-content:center;
}
.story-nav--prev{left:14px;}
.story-nav--next{right:14px;}
.story-nav:hover{background:rgba(10,9,8,0.85); border-color:var(--gold);}

/* ============ PROBLEM (COMPARAÇÃO) ============ */
.problem{background:var(--curtain-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.problem-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  margin-top:44px;
}
@media (max-width:900px){ .problem-grid{grid-template-columns:1fr;} }
.problem-card{
  background:var(--curtain); border:1px solid var(--line); border-radius:8px;
  padding:26px 24px;
}
.problem-tag{
  display:inline-block; font-family:'Bebas Neue', sans-serif;
  font-size:12.5px; letter-spacing:0.1em;
  color:var(--muted); border:1px solid var(--line);
  padding:4px 10px; border-radius:3px; margin-bottom:14px;
}
.problem-tag--gold{color:#241708; background:var(--gold-bright); border-color:var(--gold-bright);}
.problem-card h3{
  font-family:'Playfair Display', serif; font-weight:700; font-size:19px;
  color:var(--cream); margin-bottom:14px;
}
.problem-card ul{display:flex; flex-direction:column; gap:9px;}
.problem-card li{
  font-size:13.5px; color:var(--muted); padding-left:18px; position:relative;
}
.problem-card li::before{
  content:"–"; position:absolute; left:0; color:#8a7f6a;
}
.problem-card--highlight{
  background:linear-gradient(180deg, rgba(201,162,75,0.14), rgba(201,162,75,0.04));
  border-color:var(--gold);
}
.problem-card--highlight li::before{content:"✓"; color:var(--gold-bright);}
.problem-card--highlight li{color:var(--cream);}

/* ============ ORIGIN / MISSÃO ============ */
.origin{background:var(--void);}
.origin-grid{
  display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;
}
@media (max-width:900px){ .origin-grid{grid-template-columns:1fr;} }
.origin-visual img{
  border-radius:8px; border:1px solid var(--line);
  box-shadow:0 24px 50px rgba(0,0,0,0.45);
}
.origin-copy p{
  font-size:15px; color:var(--muted); margin-bottom:16px; line-height:1.7;
}
.origin-copy p:last-child{margin-bottom:0; color:var(--cream);}

/* ============ CATEGORIES / TICKET STUBS ============ */
.categories{background:var(--void);}
.ticket-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  margin-top:44px;
}
@media (max-width:900px){ .ticket-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .ticket-grid{grid-template-columns:1fr;} }

.ticket-stub{
  background:var(--curtain);
  border:1px solid var(--line);
  border-radius:6px;
  padding:22px 20px 26px;
  position:relative;
  transition:transform 0.18s ease, border-color 0.18s ease;
}
.ticket-stub:hover{transform:translateY(-4px); border-color:var(--gold);}
.ticket-stub-top{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px;
}
.ticket-num{
  font-family:'Bebas Neue', sans-serif;
  font-size:13px; letter-spacing:0.14em;
  color:var(--gold);
}
.ticket-perf{
  flex:1; margin-left:12px; height:1px;
  background-image:repeating-linear-gradient(90deg, var(--line) 0 5px, transparent 5px 10px);
}
.ticket-stub h3{
  font-family:'Playfair Display', serif; font-weight:700;
  font-size:22px; color:var(--cream); margin-bottom:8px;
}
.ticket-stub p{font-size:14.5px; color:var(--muted);}

.lancamentos-strip{
  margin-top:28px;
  display:flex; align-items:center; gap:16px;
  background:var(--marquee-red-dim);
  border:1px solid var(--marquee-red);
  border-radius:6px;
  padding:16px 22px;
}
.lancamentos-badge{
  font-family:'Bebas Neue', sans-serif;
  background:var(--gold-bright); color:#241708;
  padding:6px 12px; border-radius:3px; font-size:13px; letter-spacing:0.06em;
  flex:none;
}
.lancamentos-strip p{font-size:14.5px; color:var(--cream);}
@media (max-width:600px){ .lancamentos-strip{flex-direction:column; align-items:flex-start;} }

/* ============ HOW IT WORKS ============ */
.how{background:var(--curtain-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.how-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
}
@media (max-width:900px){ .how-grid{grid-template-columns:1fr;} }
.how-lede{font-size:16px; color:var(--muted); margin-bottom:34px;}
.how-steps{display:flex; flex-direction:column; gap:22px;}
.how-steps li{display:flex; gap:16px;}
.how-step-n{
  flex:none; width:34px; height:34px; border-radius:50%;
  border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue', sans-serif; color:var(--gold-bright); font-size:16px;
}
.how-steps h4{font-size:16px; color:var(--cream); margin-bottom:4px;}
.how-steps p{font-size:14.5px; color:var(--muted);}

.how-visual{position:relative; padding:20px 0 40px 40px;}
.browser-frame{
  background:#141010; border:1px solid var(--line); border-radius:8px; overflow:hidden;
  box-shadow:0 24px 50px rgba(0,0,0,0.5);
}
.browser-bar{
  display:flex; align-items:center; gap:6px;
  padding:9px 12px; background:#1e1614; border-bottom:1px solid var(--line);
}
.browser-bar span{width:8px; height:8px; border-radius:50%; background:#4a3a2a;}
.browser-url{
  margin-left:10px; font-size:11px; color:var(--muted);
  background:#0f0c0b; border-radius:3px; padding:3px 10px;
}
.phone-frame{
  position:absolute; right:-18px; bottom:-6px; width:34%;
  border:5px solid #141010; border-radius:20px; overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,0.55);
  background:#141010;
}
.how-visual--mockup{
  padding:0; display:flex; justify-content:center;
}
.how-visual--mockup img{
  max-width:100%;
  filter:drop-shadow(0 24px 40px rgba(0,0,0,0.5));
}
@media (max-width:900px){ .how-visual--mockup{padding-top:20px;} }

/* ============ DEVICES ============ */
.devices{background:var(--void);}
.device-row{
  display:flex; justify-content:space-between; flex-wrap:wrap;
  gap:28px; margin-top:44px;
}
.device-item{
  flex:1 1 140px; display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--muted); font-size:13.5px; font-weight:600;
}
.device-icon{width:40px; height:40px; color:var(--gold);}

/* ============ TICKET / PRICING ============ */
.ticket-section{background:var(--curtain-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.ticket-section-sub{
  max-width:600px; margin:0 auto; text-align:center;
  color:var(--muted); font-size:15.5px; margin-bottom:40px;
}

.price-compare{
  max-width:560px; margin:0 auto 48px;
  border:1px solid var(--line); border-radius:6px; overflow:hidden;
}
.pc-row{
  display:flex; justify-content:space-between; gap:16px;
  padding:14px 20px; font-size:14.5px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
}
.pc-strike{text-decoration:line-through; color:#8a7f6a; white-space:nowrap;}
.pc-final{
  background:rgba(201,162,75,0.1); border-bottom:none;
  font-weight:700; color:var(--cream);
}
.pc-highlight{color:var(--gold-bright); white-space:nowrap;}

.ticket-buy{
  max-width:760px; margin:0 auto;
  position:relative;
  background:var(--cream);
  border-radius:10px;
  color:#241708;
}
.ticket-buy-perf{
  height:22px; position:relative; overflow:hidden;
}
.ticket-buy-perf::before{
  content:"";
  position:absolute; left:0; right:0; top:50%;
  height:0; border-top:2px dashed rgba(36,23,8,0.35);
}
.ticket-buy-perf--top::before{top:100%;}
.ticket-buy-perf--bottom::before{top:0;}
.ticket-buy-perf::after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:36px; height:36px; border-radius:50%;
  background:var(--void);
  transform:translate(-50%,-50%);
  box-shadow:
    -300px 0 0 var(--void), 300px 0 0 var(--void),
    -600px 0 0 var(--void), 600px 0 0 var(--void);
}
.ticket-buy-body{
  display:grid; grid-template-columns:1.5fr 1fr;
  border-top:2px dashed rgba(36,23,8,0.0);
}
.ticket-buy-left{
  padding:38px 40px; border-right:2px dashed rgba(36,23,8,0.3);
}
.ticket-buy-eyebrow{
  font-size:11.5px; font-weight:800; letter-spacing:0.1em;
  color:var(--marquee-red); text-transform:uppercase;
}
.ticket-buy-left h3{
  font-family:'Bebas Neue', sans-serif; font-size:34px; margin:8px 0 18px;
  letter-spacing:0.02em;
}
.ticket-buy-list{display:flex; flex-direction:column; gap:10px;}
.ticket-buy-list li{
  font-size:14.5px; padding-left:22px; position:relative; color:#3a2a12;
}
.ticket-buy-list li::before{
  content:"✓"; position:absolute; left:0; top:0;
  color:var(--marquee-red); font-weight:800;
}
.ticket-buy-list li strong{color:var(--marquee-red);}
.ticket-buy-right{
  padding:38px 34px; display:flex; flex-direction:column; align-items:center; text-align:center;
  justify-content:center; gap:6px;
}
.ticket-buy-label{font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:#7a6a4a;}
.ticket-buy-price{
  font-family:'Bebas Neue', sans-serif; font-size:56px; color:var(--marquee-red); line-height:1;
}
.ticket-buy-price small{font-size:22px; vertical-align:top; margin-right:2px;}
.ticket-buy-forever{font-size:13px; font-weight:700; color:#3a2a12; margin-bottom:14px;}
.ticket-buy-secure{font-size:11.5px; color:#7a6a4a; margin-top:8px;}
@media (max-width:700px){
  .ticket-buy-body{grid-template-columns:1fr;}
  .ticket-buy-left{border-right:none; border-bottom:2px dashed rgba(36,23,8,0.3);}
}

.payment-methods{
  margin:40px auto 0; max-width:340px; opacity:0.85;
}

/* ============ TESTIMONIALS ============ */
.testimonials{background:var(--void);}
.testimonial-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  margin-top:44px;
}
@media (max-width:900px){ .testimonial-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .testimonial-grid{grid-template-columns:1fr;} }
.testimonial-card{
  background:var(--curtain); border:1px solid var(--line); border-radius:8px;
  padding:24px; margin:0;
}
.testimonial-photo{
  width:44px; height:44px; border-radius:50%; object-fit:cover;
  margin-bottom:14px; border:1.5px solid var(--gold);
}
.testimonial-card blockquote{
  margin:0; font-size:14.5px; color:var(--muted); font-style:italic; line-height:1.6;
}

/* ============ GUARANTEE ============ */
.guarantee{background:var(--curtain-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.guarantee-inner{
  display:flex; align-items:center; gap:48px;
}
@media (max-width:760px){ .guarantee-inner{flex-direction:column; text-align:center;} }
.guarantee-seal{
  flex:none; width:132px; height:132px; border-radius:50%;
  border:3px solid var(--gold);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:var(--gold-bright);
  position:relative;
}
.guarantee-seal::before{
  content:""; position:absolute; inset:8px; border:1px dashed var(--gold);
  border-radius:50%;
}
.guarantee-seal span{font-family:'Bebas Neue', sans-serif; font-size:40px; line-height:1;}
.guarantee-seal small{font-size:10.5px; letter-spacing:0.08em; margin-top:4px; text-align:center; color:var(--muted);}
.guarantee-copy p{color:var(--muted); font-size:15.5px; margin:14px 0 22px; max-width:560px;}

/* ============ FAQ ============ */
.faq{background:var(--void);}
.faq-list{max-width:720px; margin:44px auto 0; display:flex; flex-direction:column; gap:10px;}
.faq-item{
  background:var(--curtain); border:1px solid var(--line); border-radius:6px;
  padding:18px 22px;
}
.faq-item summary{
  cursor:pointer; font-weight:600; color:var(--cream); font-size:15.5px;
  list-style:none; display:flex; justify-content:space-between; align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+"; color:var(--gold-bright); font-size:20px; font-weight:400; margin-left:12px;
}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin-top:14px; font-size:14.5px; color:var(--muted);}
.faq-cta{text-align:center; margin-top:40px;}
.faq-cta p{color:var(--muted); font-size:14px; margin-bottom:14px;}

/* ============ FINAL CTA ============ */
.final-cta{
  position:relative; text-align:center; padding:100px 0; overflow:hidden;
  border-top:1px solid var(--line);
}
.final-cta-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0.35;
}
.final-cta-inner{position:relative; z-index:2;}
.final-cta h2{
  font-family:'Bebas Neue', sans-serif;
  font-size:clamp(28px, 4vw, 42px);
  color:var(--cream); margin-bottom:34px; letter-spacing:0.01em;
}

/* ============ FOOTER ============ */
.site-footer{background:var(--curtain-2);}
.footer-inner{padding:44px 0 30px;}
.footer-brand{display:flex; align-items:center; gap:8px; margin-bottom:30px;}
.footer-brand .brand-name{font-family:'Bebas Neue', sans-serif; font-size:22px; color:var(--cream);}
.footer-brand .brand-mark{color:var(--gold-bright);}
.footer-cols{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
  padding-bottom:30px; border-bottom:1px solid var(--line);
}
@media (max-width:700px){ .footer-cols{grid-template-columns:1fr;} }
.footer-cols h5{
  font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold);
  margin-bottom:8px;
}
.footer-cols p{font-size:13px; color:var(--muted); line-height:1.6;}
.footer-copy{font-size:12.5px; color:#7a6f58; margin-top:24px;}
