:root{
  /* ASF brand tokens */
  --asf-magenta:#C4234F;
  --asf-magenta-900:#7A1433;
  --asf-coral:#FF6A5B;
  --asf-amber:#FFC24B;
  --asf-ink:#0E0E14;
  --asf-graphite:#2A2A33;
  --asf-mist:#F5F3F0;
  --asf-cloud:#E6E1DA;
  --asf-steel:#6B6B78;
  --asf-signal:#15A66B;
  --asf-gradient:linear-gradient(135deg,#7A1433 0%,#C4234F 45%,#FF6A5B 100%);
  --radius-card:20px;
  --radius-btn:999px;
  --shadow-card:0 18px 40px rgba(196,35,79,0.18);

  --font-head:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--asf-ink);
  color:var(--asf-mist);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* Atmospheric background: layered gradient glows + subtle grain */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(60% 45% at 12% 8%, rgba(196,35,79,0.28) 0%, rgba(196,35,79,0) 60%),
    radial-gradient(55% 50% at 88% 4%, rgba(255,106,91,0.20) 0%, rgba(255,106,91,0) 55%),
    radial-gradient(70% 60% at 50% 110%, rgba(122,20,51,0.30) 0%, rgba(122,20,51,0) 60%);
}
/* Subtle noise/grain texture */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a{color:inherit;}

/* ---------- Layout shell ---------- */
.page{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:26px 28px 0;}

/* ---------- Masthead ---------- */
.masthead{display:flex;align-items:center;gap:12px;padding:6px 0 4px;}
.masthead-link{display:inline-block;line-height:0;}
.masthead-logo{height:40px;width:auto;display:block;}
.wordmark{
  display:inline-flex;align-items:baseline;gap:2px;
  font-family:var(--font-head);font-weight:800;font-size:26px;letter-spacing:-0.02em;
  color:var(--asf-mist);user-select:none;
}
.wordmark .dot{
  width:9px;height:9px;border-radius:50%;margin-left:5px;align-self:center;
  background:var(--asf-gradient);box-shadow:0 0 14px rgba(255,106,91,0.7);
}
.wordmark small{
  font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--asf-steel);margin-left:10px;align-self:center;
}

/* ---------- Main split grid ---------- */
.grid{
  display:grid;
  grid-template-columns:minmax(0,45fr) minmax(0,55fr);
  gap:44px;
  align-items:start;
  padding:34px 0 48px;
}

/* ---------- Left pitch column ---------- */
.pitch{max-width:560px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-mono);font-weight:600;font-size:12.5px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--asf-coral);
  padding:7px 14px;border-radius:var(--radius-btn);
  background:rgba(255,106,91,0.10);border:1px solid rgba(255,106,91,0.28);
}
.eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--asf-coral);box-shadow:0 0 10px var(--asf-coral);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.7);}}

h1#lp-headline{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(2.15rem,4.2vw,3.35rem);line-height:1.04;letter-spacing:-0.025em;
  margin:22px 0 0;color:#fff;text-wrap:balance;
}
h1#lp-headline .accent{
  background:var(--asf-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
}

.subhead{
  margin:20px 0 0;font-size:1.115rem;line-height:1.5;color:var(--asf-cloud);max-width:520px;
}
.subhead strong{color:#fff;font-weight:600;}

/* Proof bullets */
.proof{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;}
.proof li{display:flex;align-items:flex-start;gap:11px;font-size:0.985rem;color:var(--asf-mist);}
.proof .ck{
  flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(21,166,107,0.14);border:1px solid rgba(21,166,107,0.4);
}
.proof .ck svg{width:12px;height:12px;stroke:var(--asf-signal);stroke-width:3;fill:none;}

/* Trust: testimonial + logo strip */
.trust{margin:34px 0 0;padding:22px 24px;border-radius:var(--radius-card);
  background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.08);
  position:relative;overflow:hidden;}
.trust::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--asf-gradient);}
.trust blockquote{margin:0;font-size:1.03rem;line-height:1.5;color:#fff;font-weight:500;}
.trust blockquote::before{content:"\201C";font-family:var(--font-head);font-size:2rem;color:var(--asf-coral);
  line-height:0;position:relative;top:8px;margin-right:2px;}
.trust .attr{margin-top:12px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--asf-steel);}

.logostrip{margin:22px 0 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.logostrip .label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--asf-steel);}
.logostrip .logo{height:26px;padding:0 16px;display:grid;place-items:center;border-radius:6px;
  background:rgba(255,255,255,0.05);border:1px dashed rgba(255,255,255,0.14);
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;color:var(--asf-steel);}
.cred-logo{height:56px;width:auto;display:block;}

/* Mobile-only CTA that jumps to scheduler */
.jump-cta{display:none;}

/* ---------- Right scheduler column ---------- */
.scheduler{
  position:relative;border-radius:var(--radius-card);
  background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
/* gradient hairline top edge */
.scheduler::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--asf-gradient);z-index:3;}
.sched-head{padding:22px 24px 16px;border-bottom:1px solid rgba(255,255,255,0.08);}
.sched-head h2{font-family:var(--font-head);font-weight:700;font-size:1.28rem;letter-spacing:-0.02em;margin:0;color:#fff;}
.sched-head p{margin:6px 0 0;font-size:0.9rem;color:var(--asf-steel);}
.sched-reassure{
  display:flex;align-items:center;gap:8px;margin-top:14px;
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.05em;color:var(--asf-cloud);
}
.sched-reassure svg{width:14px;height:14px;stroke:var(--asf-signal);stroke-width:2.4;fill:none;flex:0 0 auto;}

.iframe-wrap{position:relative;min-height:648px;}
.iframe-wrap iframe{width:100%;height:100%;min-height:648px;border:0;display:block;background:transparent;}

/* Loading state */
.sched-loading{
  position:absolute;inset:0;display:grid;place-items:center;gap:16px;
  background:var(--asf-ink);z-index:2;transition:opacity .5s ease;
}
.sched-loading[hidden]{opacity:0;pointer-events:none;}
.spinner{width:38px;height:38px;border-radius:50%;
  border:3px solid rgba(255,255,255,0.12);border-top-color:var(--asf-coral);
  animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.sched-loading .txt{font-family:var(--font-mono);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--asf-steel);text-align:center;}

/* ---------- Footer ---------- */
footer{
  position:relative;z-index:1;max-width:1240px;margin:0 auto;
  padding:26px 28px 34px;border-top:1px solid rgba(255,255,255,0.07);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
}
footer .copy{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.05em;color:var(--asf-steel);}
footer nav{display:flex;gap:22px;}
footer nav a{font-size:0.86rem;color:var(--asf-cloud);text-decoration:none;transition:color .2s;}
footer nav a:hover{color:var(--asf-coral);}

/* ---------- Focus states ---------- */
a:focus-visible,button:focus-visible,iframe:focus-visible{
  outline:2px solid var(--asf-coral);outline-offset:3px;border-radius:6px;
}

/* ---------- Staggered load-in ----------
   Elements are visible by default; the animation only enhances entry.
   If the animation never runs (or is interrupted), content stays visible,
   so no section can be permanently hidden in production. */
.rise{animation:rise .7s cubic-bezier(.2,.7,.3,1) both;}
.d1{animation-delay:.05s;} .d2{animation-delay:.14s;} .d3{animation-delay:.23s;}
.d4{animation-delay:.32s;} .d5{animation-delay:.41s;} .d6{animation-delay:.5s;} .d7{animation-delay:.6s;}
@keyframes rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){
  .rise{animation:none;opacity:1;transform:none;}
  .eyebrow::before{animation:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
  .grid{grid-template-columns:1fr;gap:26px;padding:22px 0 40px;}
  .pitch{max-width:none;}
  h1#lp-headline{font-size:clamp(2rem,7vw,2.6rem);}
  .proof{grid-template-columns:1fr 1fr;}
  /* Condense pitch on mobile: hide the heavier trust block from first scroll */
  .trust,.logostrip{display:none;}
  .jump-cta{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    margin-top:26px;width:100%;padding:16px 26px;
    font-family:var(--font-head);font-weight:700;font-size:1.02rem;
    color:#fff;text-decoration:none;cursor:pointer;border:0;
    background:var(--asf-gradient);border-radius:var(--radius-btn);
    box-shadow:var(--shadow-card);transition:transform .18s ease,box-shadow .18s ease;
  }
  .jump-cta:active{transform:translateY(1px);}
  .sched-reassure{white-space:normal;}
}
@media (max-width:520px){
  .page{padding:20px 18px 0;}
  footer{padding:22px 18px 30px;}
  .proof{grid-template-columns:1fr;gap:11px;}
  .iframe-wrap,.iframe-wrap iframe{min-height:620px;}
  .wordmark small{display:none;}
}

/* GTM noscript fallback iframe — hidden (mirrors homepage .gtm-noscript-iframe). */
.gtm-noscript-iframe {
  display: none;
  visibility: hidden;
}
