/* AutomatedFront V3 editorial refinement — five localized public homepages.
 * Replaces repeated marketing blocks with one clear conversion narrative.
 * No authenticated dashboard or functional modal styles are changed.
 */
body.af-premium {
  --af3-ink:#102c4d;
  --af3-muted:#465f78;
  --af3-border:#d8e5ef;
}
body.af-premium .hero.af-hero-premium {
  min-height:590px;
}
body.af-premium .hero.af-hero-premium .hero-content {
  padding-top:clamp(55px,5vw,82px);
  padding-bottom:clamp(52px,4vw,72px);
}
body.af-premium .hero h1 {max-width:720px;font-size:clamp(38px,3.6vw,60px);letter-spacing:-.048em}
body.af-premium .hero-sub {color:#345169;max-width:545px}
body.af-premium .af-hero-proof {margin-top:25px}
body.af-premium .af-advantage-bar {padding-top:22px;padding-bottom:22px}
body.af-premium nav .nav-links>a[href="/privacy#security"],
body.af-premium nav .nav-links>a[href="mailto:hello@automatedfront.com"] {
  display:none;
}
body.af-premium nav .nav-links{gap:clamp(12px,1.6vw,27px)}
body.af-premium .af3-inner{max-width:1180px;margin-inline:auto;width:100%}
body.af-premium .af3-eyebrow{
  display:inline-block;
  color:#086b96;
  font:800 11px/1.4 'Outfit',sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:18px;
}
body.af-premium .af3-process,body.af-premium .af3-method,
body.af-premium .af3-questions{
  padding:clamp(68px,7vw,102px) clamp(25px,5vw,78px);
}
body.af-premium .af3-process {background:#fff;border-top:1px solid #e1ecf3}
body.af-premium .af3-process h2,
body.af-premium .af3-method h2,
body.af-premium .af3-questions h2,
body.af-premium .af3-closing h2{
  color:var(--af3-ink);
  font:800 clamp(33px,3.8vw,52px)/1.12 'Outfit',sans-serif;
  letter-spacing:-.045em;
  margin:0;
}
body.af-premium .af3-process h2{max-width:850px}
body.af-premium .af3-intro{
  color:var(--af3-muted);
  font:450 17px/1.75 'Outfit',sans-serif;
  max-width:760px;
  margin:19px 0 38px;
}
body.af-premium .af3-steps{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
body.af-premium .af3-step{
  padding:clamp(24px,3.1vw,38px);
  border-radius:17px;
  border:1px solid var(--af3-border);
  background:linear-gradient(155deg,#ffffff,#f7fbfe);
  box-shadow:0 13px 38px rgba(8,46,89,.05);
}
body.af-premium .af3-index{
  font:800 13px 'Outfit',sans-serif;
  color:#0676a8;background:#e4f2fa;
  width:45px;height:45px;display:grid;place-items:center;
  border-radius:12px;margin-bottom:26px;
}
body.af-premium .af3-step h3,
body.af-premium .af3-value h3{
  font:770 clamp(17px,1.7vw,21px)/1.3 'Outfit',sans-serif;
  letter-spacing:-.025em;color:#123759;
  margin:0 0 11px;
}
body.af-premium .af3-step p,
body.af-premium .af3-value p{
  color:#445d73;font:450 15px/1.72 'Outfit',sans-serif;margin:0;
}
body.af-premium .af3-disclosure{
  max-width:1000px;
  margin:21px 0 0;padding:14px 20px;
  border-left:3px solid #8bb3d1;
  background:#f4f9fc;border-radius:0 9px 9px 0;
  color:#35536d;font:500 13px/1.7 'Outfit',sans-serif;
}
body.af-premium .af3-method{background:#f2f8fc}
body.af-premium .af3-method-grid{
  display:grid;grid-template-columns:.87fr 1.13fr;
  gap:clamp(40px,8vw,122px);align-items:start;
}
body.af-premium .af3-method h2{font-size:clamp(34px,3.6vw,48px);max-width:450px}
body.af-premium .af3-method-lead>p{
  color:#3f5a74;font:450 16px/1.75 'Outfit',sans-serif;max-width:480px;margin:21px 0;
}
body.af-premium .af3-method-lead>a{color:#075e90;text-decoration:none;font:750 14px 'Outfit',sans-serif}
body.af-premium .af3-method-lead>a:hover{text-decoration:underline}
body.af-premium .af3-method-details {display:grid;gap:0}
body.af-premium .af3-value{
  display:flex;align-items:flex-start;gap:17px;
  border-bottom:1px solid #cfdfeb;padding:23px 0;
}
body.af-premium .af3-value:first-child{padding-top:4px}
body.af-premium .af3-value:last-child{border-bottom:0}
body.af-premium .af3-check{
  flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;
  color:#087997;font:800 14px 'Outfit',sans-serif;
  background:#d8eef5;border-radius:50%;
}
body.af-premium .af3-value h3{margin-bottom:6px;font-size:19px}
body.af-premium .af3-privacy-strip{
  background:#0b2d4d;padding:27px clamp(25px,5vw,78px);
}
body.af-premium .af3-privacy-strip .af3-inner{
  display:flex;align-items:center;justify-content:space-between;gap:28px
}
body.af-premium .af3-privacy-copy{display:flex;gap:18px;align-items:center}
body.af-premium .af3-lock{
  border-radius:14px;width:48px;height:48px;flex:0 0 48px;
  display:grid;place-items:center;border:1px solid #2c6e92;
  background:rgba(18,171,207,.12);color:#8bd8f2;font-size:25px
}
body.af-premium .af3-privacy-strip strong{display:block;color:#fff;font:750 16px 'Outfit',sans-serif}
body.af-premium .af3-privacy-strip p{color:#d3e5f0;font:450 13px/1.65 'Outfit',sans-serif;margin:4px 0 0;max-width:750px}
body.af-premium .af3-privacy-strip a{
  color:#fff;white-space:nowrap;text-decoration:none;
  border:1px solid #6e9eb9;border-radius:10px;
  padding:12px 17px;font:700 13px 'Outfit',sans-serif;
}
body.af-premium .af3-privacy-strip a:hover{background:#14496e}
body.af-premium .af3-questions{background:#fff}
body.af-premium .af3-questions h2{margin-bottom:34px}
body.af-premium .af3-faq-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 17px;align-items:start
}
body.af-premium .af3-faq{
  border:1px solid #d9e5ec;
  background:#fff;border-radius:12px;
  box-shadow:0 8px 25px rgba(9,47,86,.035);
  overflow:hidden;
}
body.af-premium .af3-faq[open]{background:#f7fbfe;border-color:#afcfe2}
body.af-premium .af3-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  list-style:none;cursor:pointer;padding:19px 21px;
  color:#153c60;font:740 15px/1.5 'Outfit',sans-serif;
}
body.af-premium .af3-faq summary::-webkit-details-marker{display:none}
body.af-premium .af3-faq summary span{font-size:22px;color:#0784a8}
body.af-premium .af3-faq[open] summary span{transform:rotate(45deg)}
body.af-premium .af3-faq p{
  padding:0 21px 21px;margin:0;
  color:#395772;font:450 14px/1.75 'Outfit',sans-serif;
}
body.af-premium .af3-closing{
  padding:70px clamp(25px,5vw,78px);
  background:linear-gradient(116deg,#dbeffc,#f4faff);
}
body.af-premium .af3-closing .af3-inner{
  display:flex;align-items:center;justify-content:space-between;gap:50px;
}
body.af-premium .af3-closing h2{max-width:740px;font-size:clamp(30px,3.6vw,48px)}
body.af-premium .af3-closing p{
  color:#43627e;font:450 16px/1.72 'Outfit',sans-serif;
  margin:15px 0 0;max-width:700px;
}
body.af-premium .af3-closing-actions{
  display:grid;justify-items:center;gap:13px;min-width:260px;
}
body.af-premium .af3-closing-actions .af-primary{width:100%}
body.af-premium .af3-price-link{color:#0a527f;text-decoration:none;font:750 13px 'Outfit',sans-serif}
body.af-premium .af3-price-link:hover{text-decoration:underline}
body.af-premium .af3-faq summary:focus-visible,
body.af-premium .af3-privacy-strip a:focus-visible,
body.af-premium .af3-closing a:focus-visible,
body.af-premium .af3-closing button:focus-visible{outline:3px solid #12aad1;outline-offset:3px}
@media(max-width:1050px){
 body.af-premium .af3-method-grid{gap:40px}
 body.af-premium .af3-privacy-strip .af3-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:780px){
 body.af-premium .af3-steps{grid-template-columns:1fr}
 body.af-premium .af3-step{padding:23px}
 body.af-premium .af3-index{margin-bottom:16px}
 body.af-premium .af3-method-grid{grid-template-columns:1fr;gap:35px}
 body.af-premium .af3-faq-grid{grid-template-columns:1fr}
 body.af-premium .af3-closing .af3-inner{flex-direction:column;align-items:stretch}
 body.af-premium .af3-closing-actions{justify-items:start;max-width:330px;width:100%}
}
@media(max-width:480px){
 body.af-premium .af3-process,body.af-premium .af3-method,body.af-premium .af3-questions{padding:57px 20px}
 body.af-premium .af3-process h2,body.af-premium .af3-method h2,body.af-premium .af3-questions h2{font-size:clamp(31px,8.7vw,39px)}
 body.af-premium .af3-intro{font-size:15px}
 body.af-premium .af3-privacy-strip{padding:27px 20px}
 body.af-premium .af3-privacy-copy{gap:10px}
 body.af-premium .af3-privacy-strip a{white-space:normal}
 body.af-premium .af3-closing{padding:55px 20px}
}

/* ==== HOTFIX-A 2026-10-14 — reconciliation of dark-theme components with the premium light theme ====
   Root cause: af-home-premium.css switched the tokens (--text #092345, --muted #51647d) to the light theme but the
   demo modal kept hard-coded dark surfaces (.modal rgba(12,11,26,.98), .form-inp rgba(6,5,15,.9)) -> dark-on-dark.
   Every component below gets explicit light-theme colours, WCAG AA >= 4.5:1 for text, >= 3:1 for borders/focus. */
body.af-premium .modal-overlay{background:rgba(7,26,44,.62);backdrop-filter:blur(6px)}
body.af-premium #demoModal .modal{background:#fff;border:1px solid #d3e1ec;border-radius:16px;box-shadow:0 30px 80px rgba(7,26,44,.28);color:#0b2540;max-height:calc(100dvh - 2rem);overscroll-behavior:contain}
body.af-premium #demoModal .modal::before{background:linear-gradient(90deg,#075e90,#00a3c4)}
body.af-premium #demoModal h3{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:1.65rem;letter-spacing:-.02em;color:#0b2540}
body.af-premium #demoModal .modal p,body.af-premium #demoModal #demo-form-wrap>p{color:#36506a;font-size:15px;line-height:1.6}
body.af-premium #demoModal .form-lbl{font-family:'Outfit',system-ui,sans-serif;font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:#24405c;margin-bottom:6px}
body.af-premium #demoModal .form-inp{background:#fff;color:#0b2540;border:1.5px solid #7d93a8;border-radius:10px;padding:12px 14px;min-height:48px}
body.af-premium #demoModal .form-inp::placeholder{color:#5b718a}
body.af-premium #demoModal .form-inp:focus,body.af-premium #demoModal .form-inp:focus-visible{border-color:#075e90;box-shadow:0 0 0 3px rgba(7,94,144,.28);outline:none}
body.af-premium #demoModal .form-inp[aria-invalid="true"]{border-color:#b42318}
body.af-premium #demoModal .form-consent{color:#36506a;font-size:13px}
body.af-premium #demoModal .form-consent a,body.af-premium #demoModal .demo-fallback a{color:#075e90;text-decoration:underline;text-underline-offset:2px}
body.af-premium #demoModal .demo-err{color:#b42318;background:#fdecea;border:1px solid #f3b8b2;border-radius:8px;padding:10px 12px;font-size:14px}
body.af-premium #demoModal #demo-ok h3{color:#0f5c41}
body.af-premium #demoModal #demo-ok p{color:#24405c}
body.af-premium #demoModal .demo-fallback{color:#36506a;font-size:14px}
body.af-premium #demoModal .modal-close{color:#36506a;width:44px;height:44px;top:.5rem;right:.5rem;border-radius:10px;font-size:24px;line-height:1}
body.af-premium #demoModal .modal-close:hover{color:#0b2540;background:#eef4f8}
body.af-premium #demoModal .modal-close:focus-visible,body.af-premium #demoModal .modal-submit:focus-visible,body.af-premium #demoModal a:focus-visible{outline:3px solid #f0a020;outline-offset:2px}
body.af-premium #demoModal .modal-submit{background:#075e90 linear-gradient(135deg,#075e90,#006f8f);color:#fff;font-family:'Outfit',system-ui,sans-serif;font-size:15.5px;font-weight:700;letter-spacing:.01em;text-transform:none;border-radius:12px;min-height:50px}
body.af-premium #demoModal .modal-submit:disabled{opacity:.65}
/* demo-chat transcript labels on the dark phone panel (EN/ES/FR/DE homepages) */
body.af-premium .demo-panel .dm-label.caller{color:#c9d8e6}
body.af-premium .demo-panel .dm-label.alex{color:#7fd3ee}
body.af-premium .demo-result{color:#0f5c41;background:#e3f5ee;border-color:#9fd8bf}
/* demo-section step numbers (4.08 -> AA) */
body.af-premium #demo .af-demo-highlights span[aria-hidden="true"]{color:#055a7d}
/* scroll-reveal (EN/ES/FR/DE homepages): content must be visible without JS or if the observer never fires */
body.af-premium .reveal{opacity:1!important;transform:none!important}
/* 320px: demo-section CTA wraps instead of widening the page; Turnstile (min 300px wide) scaled to fit the modal */
body.af-premium #demo .af-primary{white-space:normal;max-width:100%;min-width:0;height:auto;min-height:48px;text-align:center}
@media (max-width:360px){body.af-premium .modal-overlay{padding:.5rem}body.af-premium #demoModal .modal{padding:1.75rem 1rem 1.25rem}body.af-premium #turnstile-demo{transform:scale(.88);transform-origin:left top;height:58px}}
html:has(body.af-premium){scroll-padding-top:84px}
body.af-premium .sec-tag{color:#055a7d}
body.af-premium #demoModal #demo-form-wrap>p{margin-bottom:1.25rem}
