/* ==========================================================================
   Evidence Warranty page — Full Elevate brand.
   Tokens from brand/elevate-tokens.css · shared chrome in site.css
   ========================================================================== */
:root{--dur:.18s;}
body{overflow-x:hidden;}

@media(prefers-reduced-motion:no-preference){
  html{scroll-snap-type:y proximity;}
  .warr-hero,.warr-pitch{scroll-snap-align:start;}
}

/* ---- reveal primitives (future below-fold sections) ---- */
.r{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-silk),transform .6s var(--ease-silk);}
.r.in{opacity:1;transform:none;}
.rf{opacity:0;transition:opacity .55s var(--ease-silk);}
.rf.in{opacity:1;}
@media(prefers-reduced-motion:reduce){.r,.rf{opacity:1;transform:none;transition:none;}}

/* ========================================================================
   SECTION 1 — WARRANTY HERO
   Stage 1  : shield SVG scales from centre → fills viewport
   Stage 1.5: photorealistic ripple rings (canvas RAF, shield-shaped)
   Stage 2  : typewriter P1 → wave-emerge P2 → typewriter P3 → body → CTAs
   ======================================================================== */

.warr-hero{
  background:var(--canvas);
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:80px 24px 120px;
}

/* ---- Stage 1: expanding shield SVG ---- */
.warr-shield{
  position:absolute;
  left:50%;top:50%;
  width:128px;height:128px;
  overflow:visible;
  transform:translate(-50%,-50%) scale(0.01);
  transition:transform .6s cubic-bezier(.22,1,.36,1);
  z-index:1;
  pointer-events:none;
  will-change:transform;
}
.warr-shield path{fill:var(--forest);}
.warr-hero.burst-show    .warr-shield{transform:translate(-50%,-50%) scale(1);}
.warr-hero.burst-explode .warr-shield{transform:translate(-50%,-50%) scale(40);transition-duration:.6s;}

/* ---- Stage 1.5: ripple canvas ---- */
.warr-ripple{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  overflow:hidden;
  filter:blur(15px);
}

/* ---- Stage 2: text content ---- */
.warr-hero__in{
  position:relative;
  z-index:3;
  max-width:880px;
  width:100%;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.warr-hero__h{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:-0.036em;
  margin:0;
  line-height:1.06;
}
.warr-line{display:block;}
.warr-line--1{font-size:clamp(28px,4.5vw,64px);min-height:1.06em;}
.warr-line--2{font-size:clamp(36px,7.5vw,96px);min-height:1.06em;margin-top:6px;}
.warr-line--3{font-size:clamp(28px,4.5vw,64px);min-height:1.06em;margin-top:6px;}

#wh-p1{color:var(--on-dark);display:inline-block;opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease-silk),transform .65s var(--ease-silk);}
#wh-p2{color:var(--lime);display:inline-block;opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease-silk),transform .65s var(--ease-silk);}
#wh-p3{color:var(--on-dark);display:inline-block;opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease-silk),transform .65s var(--ease-silk);}
#wh-p1.visible,#wh-p2.visible,#wh-p3.visible{opacity:1;transform:none;}

.warr-hero__body{
  font-size:20px;
  line-height:1.62;
  color:#fff;
  max-width:540px;
  margin:32px auto 0;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s var(--ease-silk),transform .6s var(--ease-silk);
}
.warr-hero__body.visible{opacity:1;transform:none;}

.warr-hero__cta{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:44px;
}
.warr-hero__cta .btn{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .35s var(--ease-silk),transform .35s var(--ease-silk);
}
.warr-hero__cta .btn.visible{opacity:1;transform:none;}

.btn--lime{background:var(--lime);color:var(--forest);}
.btn--lime:hover{background:var(--lime-300);}
.btn--tertiary-dark{background:transparent;color:var(--on-dark);}
.btn--tertiary-dark:hover{background:rgba(255,255,255,0.10);}

/* ---- reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  .warr-shield{transition:none;transform:translate(-50%,-50%) scale(40)!important;}
  .warr-ripple{display:none;}
  #wh-p1,#wh-p2,#wh-p3{opacity:1!important;transform:none!important;transition:none!important;}
  .warr-hero__body{opacity:1!important;transform:none!important;transition:none!important;}
  .warr-hero__cta .btn{opacity:1!important;transform:none!important;transition:none!important;}
}

@media(max-width:640px){
  .warr-hero{padding:100px 20px 80px;}
  .warr-hero__body{font-size:18px;}
}

/* ========================================================================
   SECTION 2 — PITCH
   ======================================================================== */

.warr-pitch{
  background:var(--canvas);
  padding:var(--space-2xl) 24px;
}
.warr-pitch__in{
  max-width:880px;
  margin:0 auto;
}

.warr-pitch__h{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(32px,5vw,64px);
  line-height:1.05;
  letter-spacing:-0.03em;
  color:var(--ink);
  margin:0 0 var(--space-lg);
  opacity:0;
  transform:scale(1.07);
  transform-origin:left center;
  transition:opacity .65s var(--ease-silk),transform .65s var(--ease-silk);
}
.warr-pitch__h.visible{opacity:1;transform:scale(1);}

.warr-pitch__p1{
  font-size:20px;
  line-height:30px;
  margin:0 0 var(--space-xl);
  max-width:680px;
  opacity:0;
  transition:opacity .15s ease;
}
.warr-pitch__p1.active{opacity:1;}

.warr-word{
  color:var(--ink);
  display:inline;
}
.warr-scot-phrase{
  border-radius:3px;
  transition:background .35s ease, color .35s ease;
  display:inline;
}
.warr-scot-phrase.flash{
  background:var(--grapefruit);
  padding:2px 5px;
  margin:0 -1px;
}
.warr-scot-phrase.flash .warr-word--scot{
  color:var(--grapefruit-companion);
}

.warr-pitch__row{
  display:grid;
  grid-template-columns:55% 1fr;
  gap:48px;
  align-items:start;
}
.warr-pitch__p2{
  font-size:20px;
  line-height:30px;
  color:var(--ink);
  margin:0;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s var(--ease-silk),transform .5s var(--ease-silk);
}
.warr-pitch__p2.visible{opacity:1;transform:none;}

.warr-stack-wrap{
  position:relative;
  height:260px;
}
.warr-stack{
  position:absolute;
  inset:0;
  will-change:transform;
  opacity:0;
  transition:opacity .5s var(--ease-silk);
}
.warr-stack.visible{opacity:1;}

.warr-card{
  position:absolute;
  left:0;right:0;
  border-radius:var(--radius-card);
}
.warr-card--back{
  background:var(--slate-200);
  height:200px;
  top:36px;
  transform:rotate(2.5deg) translateX(6px);
  transform-origin:bottom center;
}
.warr-card--mid{
  background:var(--slate-100);
  height:210px;
  top:18px;
  transform:rotate(-1.5deg) translateX(-3px);
  transform-origin:bottom center;
}
.warr-card--front{
  background:var(--fill-1);
  top:0;
  padding:24px;
  z-index:2;
  overflow:hidden;
}

.warr-widget__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
}
.warr-chip{
  width:32px;height:32px;
  border-radius:var(--radius-input);
  background:var(--lime-300);
  color:var(--forest);
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.warr-widget__label{
  font-size:14px;
  font-weight:600;
  color:var(--ink);
}
.warr-widget__stat{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(36px,5vw,52px);
  line-height:1;
  color:var(--ink);
  letter-spacing:-0.03em;
  font-variant-numeric:tabular-nums;
  margin-bottom:16px;
  display:flex;
  align-items:baseline;
  gap:2px;
}
.warr-widget__sub{
  font-size:14px;
  line-height:1.5;
  color:var(--slate-600);
  margin:0;
}

.warr-laser{
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--lime) 35%,var(--lime-300) 50%,var(--lime) 65%,transparent 100%);
  opacity:0;
  pointer-events:none;
  will-change:transform,opacity;
}

@media(max-width:680px){
  .warr-pitch__row{grid-template-columns:1fr;gap:28px;}
  .warr-stack-wrap{height:240px;}
}
@media(prefers-reduced-motion:reduce){
  .warr-pitch__h{opacity:1!important;transform:scale(1)!important;transition:none!important;}
  .warr-pitch__p1{opacity:1!important;transition:none!important;}
  .warr-word{color:var(--ink)!important;transition:none!important;}
  .warr-word--scot.settled{background:transparent!important;color:var(--ink)!important;}
  .warr-pitch__p2,.warr-stack{opacity:1!important;transform:none!important;transition:none!important;}
  .warr-laser{display:none;}
}

/* ========================================================================
   SECTIONS 3–9
   ======================================================================== */

/* ---- chip svg sizing ---- */
.warr-chip svg{width:18px;height:18px;}
.warr-chip--grapefruit{background:var(--grapefruit);color:var(--grapefruit-companion);}

/* ---- shared section padding ---- */
.warr-cov,.warr-tiers,.warr-excl,.warr-backer,.warr-faq,.warr-cta{
  padding:var(--space-2xl) 24px;
}
@media(prefers-reduced-motion:no-preference){
  .warr-cov,.warr-tiers,.warr-excl,.warr-backer,.warr-faq,.warr-cta{
    scroll-snap-align:start;
  }
}

/* ──────── S3: Comparison — full-screen scroll takeover (the surface-demo
   effect, in tangerine): the card grows to overfill the screen, copy and the
   white FIRE panel stage in under scroll ──────── */
.warr-comp{position:relative;min-height:280vh;}
.warr-comp__take{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;}
.warr-comp__bg{position:absolute;left:50%;top:50%;width:min(780px,90vw);height:440px;transform:translate(-50%,-50%) scale(1);transform-origin:center;background:var(--tangerine);border-radius:28px;}
.warr-comp__canvas{position:absolute;inset:0;display:block;z-index:1;pointer-events:none;opacity:0;}
.warr-comp__stage{position:relative;z-index:2;width:100%;max-width:1120px;padding:0 24px;display:flex;flex-direction:column;align-items:center;}
.warr-comp__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(26px,3.8vw,48px);line-height:1.08;letter-spacing:-0.03em;
  color:var(--tangerine-companion);margin:0;text-align:center;
}   /* visible from the card's first frame (surface-demo pattern) */
.warr-comp__row{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch;
  width:100%;margin-top:60px;
}
.warr-comp__copy{position:relative;text-align:left;opacity:0;}
.warr-comp__body{font-size:18px;line-height:28px;color:var(--tangerine-companion);margin:0 0 16px;}
.warr-comp__body:last-child{margin:0;}
.warr-comp__bet{font-weight:600;margin-top:8px;}
.warr-comp__hl{
  background:var(--tangerine-companion);color:var(--tangerine);
  font-weight:700;font-size:inherit;line-height:1;
  border-radius:0.16em;padding:0.04em 0.2em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.warr-comp__panel{
  position:relative;min-height:380px;align-self:stretch;opacity:0;
  /* layout spacer — canvas draws the white card visually */
}
.warr-comp__tag{
  position:absolute;z-index:2;
  font-family:var(--font-body);font-size:12px;font-weight:600;
  padding:5px 12px;border-radius:var(--radius-pill);pointer-events:none;
}
.warr-comp__tag--fire{
  right:16px;bottom:16px;
  background:var(--lime-300);color:var(--forest);
}
@media(max-width:768px){
  .warr-comp__row{grid-template-columns:1fr;gap:24px;margin-top:24px;}
  .warr-comp__body{font-size:16px;line-height:24px;}
  .warr-comp__panel{min-height:200px;}
}
/* ──────── S4: Coverage ──────── */
.warr-cov{background:var(--canvas);}
.warr-cov__in{max-width:880px;margin:0 auto;}
.warr-cov__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,4.5vw,56px);line-height:1.06;letter-spacing:-0.03em;
  color:var(--ink);margin:0 0 16px;
}
.warr-cov__lead{
  font-size:20px;line-height:30px;color:var(--ink);
  margin:0 0 var(--space-lg);max-width:560px;
}
.warr-cov__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-bottom:var(--space-sm);
}
.warr-cov__card{
  background:var(--fill-1);border-radius:var(--radius-card);padding:24px;
}
.warr-cov__card h3{
  font-family:var(--font-display);font-weight:700;font-size:18px;
  color:var(--ink);margin:14px 0 8px;letter-spacing:-0.01em;
}
.warr-cov__card p{font-size:15px;line-height:22px;color:var(--slate-600);margin:0;}
.warr-cov__meta{display:flex;gap:10px;flex-wrap:wrap;}
.warr-badge{
  font-family:var(--font-body);font-size:14px;font-weight:600;
  padding:6px 14px;border-radius:var(--radius-pill);
  background:var(--fill-2);color:var(--ink);
}
@media(max-width:680px){.warr-cov__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:420px){.warr-cov__grid{grid-template-columns:1fr;}}

/* ──────── S5: Tiers ──────── */
.warr-tiers{background:var(--canvas);border-top:1px solid var(--hairline);}
.warr-tiers__in{max-width:880px;margin:0 auto;}
.warr-tiers__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,4.5vw,56px);line-height:1.06;letter-spacing:-0.03em;
  color:var(--ink);margin:0 0 var(--space-lg);
}
.warr-tiers__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-bottom:var(--space-md);
}
.warr-tier{background:var(--fill-1);border-radius:var(--radius-card);padding:40px 32px;}
.warr-tier--std{background:var(--fill-2);}
.warr-tier--max{background:var(--forest);}
.warr-tier__label{
  font-family:var(--font-body);font-size:14px;font-weight:600;
  color:var(--slate-500);margin:0 0 12px;
}
.warr-tier--max .warr-tier__label{color:rgba(134,239,172,0.65);}
.warr-tier__amt{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-0.04em;
  color:var(--ink);font-variant-numeric:tabular-nums;
}
.warr-tier--max .warr-tier__amt{color:var(--lime-300);}
.warr-tiers__note{font-size:15px;color:var(--slate-500);margin:0;line-height:1.6;}
@media(max-width:580px){
  .warr-tiers__grid{grid-template-columns:1fr;gap:12px;}
  .warr-tier{padding:28px 24px;}
}

/* ──────── S6: Exclusions ──────── */
.warr-excl{background:var(--canvas);border-top:1px solid var(--hairline);}
.warr-excl__in{max-width:880px;margin:0 auto;}
.warr-excl__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,4.5vw,56px);line-height:1.06;letter-spacing:-0.03em;
  color:var(--ink);margin:0 0 16px;
}
.warr-excl__lead{
  font-size:20px;line-height:30px;color:var(--ink);
  margin:0 0 var(--space-lg);max-width:600px;
}
.warr-excl__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.warr-excl__item{display:flex;gap:16px;align-items:flex-start;}
.warr-excl__content h4{
  font-family:var(--font-display);font-weight:700;font-size:17px;
  color:var(--ink);margin:4px 0 6px;letter-spacing:-0.01em;
}
.warr-excl__content p{font-size:15px;line-height:22px;color:var(--slate-600);margin:0;}
@media(max-width:580px){.warr-excl__grid{grid-template-columns:1fr;}}

/* ──────── S7: Cysurance ──────── */
.warr-backer{background:var(--surface-dark);text-align:center;}
.warr-backer__in{max-width:600px;margin:0 auto;}
.warr-backer__seal{margin-bottom:var(--space-sm);}
.warr-backer__ring{
  display:inline-flex;align-items:center;justify-content:center;
  width:72px;height:72px;border-radius:50%;
  border:2px solid rgba(134,239,172,0.35);
  background:rgba(134,239,172,0.08);
}
.warr-backer__letter{
  font-family:var(--font-display);font-weight:700;font-size:22px;
  color:var(--lime-300);letter-spacing:-0.02em;
}
.warr-backer__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,4.5vw,52px);line-height:1.06;letter-spacing:-0.03em;
  color:var(--on-dark);margin:0 0 16px;
}
.warr-backer__body{font-size:18px;line-height:28px;color:var(--on-dark);opacity:0.72;margin:0;}

/* ──────── S8: FAQ ──────── */
.warr-faq{background:var(--canvas);border-top:1px solid var(--hairline);}
.warr-faq__in{max-width:720px;margin:0 auto;}
.warr-faq__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,4.5vw,56px);line-height:1.06;letter-spacing:-0.03em;
  color:var(--ink);margin:0 0 var(--space-lg);
}
.warr-faq__list{display:flex;flex-direction:column;}
.warr-faq__item{padding:24px 0;border-top:1px solid var(--hairline);}
.warr-faq__item:last-child{border-bottom:1px solid var(--hairline);}
.warr-faq__q{
  font-family:var(--font-display);font-weight:700;font-size:18px;
  color:var(--ink);margin:0 0 12px;letter-spacing:-0.01em;
}
.warr-faq__a{font-size:16px;line-height:26px;color:var(--slate-600);margin:0;}

/* ──────── S9: CTA ──────── */
.warr-cta{background:var(--surface-dark);text-align:center;position:relative;overflow:hidden;}
.warr-cta__field{position:absolute;inset:0;pointer-events:none;z-index:0;}
.wdot--cta{
  position:absolute;width:4px;height:4px;border-radius:50%;
  background:var(--lime);opacity:0.18;transform:translate(-50%,-50%);
}
.warr-cta__in{position:relative;z-index:1;max-width:720px;margin:0 auto;}
.warr-cta__h{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(28px,5vw,64px);line-height:1.05;letter-spacing:-0.03em;
  color:var(--on-dark);margin:0 0 20px;
}
.warr-cta__body{
  font-size:20px;line-height:30px;color:var(--on-dark);opacity:0.72;
  margin:0 auto var(--space-md);max-width:520px;
}
