/* ==========================================================
   AssetForge clean marketing layer — August 2026
   Product-led, workshop-focused, mobile-first.
   ========================================================== */
:root {
  --af-orange: #ff6808;
  --af-orange-dark: #e85b00;
  --af-bg: #0f1114;
  --af-surface: #15181d;
  --af-surface-2: #1b1f25;
  --af-text: #f4f5f6;
  --af-muted: #a8adb5;
  --af-muted-2: #7f858e;
  --af-border: #2b3038;
  --af-border-soft: #22272e;
  --af-max: 1180px;
}

html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body.clean-home { background: var(--af-bg); color: var(--af-text); font-family: 'Barlow', sans-serif; }

body::after { display: none !important; }
:focus-visible { outline: 2px solid #ff873c !important; outline-offset: 3px; box-shadow: none !important; }

.clean-home main { overflow: clip; }
.af-container { width: min(var(--af-max), calc(100% - 48px)); margin-inline: auto; }

/* Global cleanup shared by the existing pages too */
.clean-topbar,
body:not(.clean-home) .topbar {
  height: 72px;
  background: rgba(15,17,20,.96) !important;
  border-bottom: 1px solid var(--af-border-soft) !important;
  border-image: none !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
}
.clean-topbar .brand img,
body:not(.clean-home) .brand img { height: 27px; filter: none !important; }
.topbar-nav { gap: 4px; }
.topbar-nav a { color: #b1b6bd; border-radius: 7px; padding: 9px 11px; }
.topbar-nav a:hover, .topbar-nav a[aria-current="page"] { background: #1b1f24; color: #fff; }
.btn-primary {
  background: var(--af-orange) !important;
  border: 1px solid var(--af-orange) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  letter-spacing: .02em;
  text-transform: none;
  font-family: 'Barlow', sans-serif;
}
.btn-primary::before, .btn-primary::after { display: none !important; }
.btn-primary:hover { background: var(--af-orange-dark) !important; transform: translateY(-1px); box-shadow: none !important; }
.btn-outline {
  border: 1px solid #3a4049 !important;
  background: transparent !important;
  border-radius: 8px !important;
  color: #e4e6e8;
  text-transform: none;
  letter-spacing: 0;
  font-family: 'Barlow', sans-serif;
  backdrop-filter: none !important;
}
.btn-outline:hover { border-color: #616873 !important; background: #191d22 !important; transform: none; }
.page-progress span { background: var(--af-orange) !important; box-shadow: none !important; }

/* Hero */
.af-hero { padding: 142px 0 82px; border-bottom: 1px solid var(--af-border-soft); }
.af-hero-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 70px; align-items: center; }
.af-kicker, .af-eyebrow {
  display: flex; align-items: center; gap: 9px;
  color: #ff873c; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.af-kicker span { width: 22px; height: 2px; background: var(--af-orange); }
.af-hero h1 {
  margin-top: 20px; max-width: 680px;
  font-family: 'Barlow', sans-serif; font-size: clamp(54px, 5.5vw, 78px); line-height: 1.01; letter-spacing: -.04em; font-weight: 700;
}
.af-hero-accent { color: var(--af-orange); }
.af-lead { margin-top: 24px; max-width: 650px; font-size: 19px; line-height: 1.62; color: #b7bcc4; }
.af-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.af-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 28px; color: #8d939c; font-size: 13px; }
.af-hero-meta span { display: flex; align-items: center; gap: 7px; }
.af-hero-meta span::before { content: ''; width: 5px; height: 5px; background: var(--af-orange); border-radius: 50%; }
.af-hero-product { position: relative; min-width: 0; padding: 18px 0 48px 18px; }
.af-desktop-shot { overflow: hidden; background: #111315; border: 1px solid #343942; border-radius: 13px; box-shadow: 0 24px 70px rgba(0,0,0,.36); }
.af-window-bar { height: 38px; display: flex; align-items: center; gap: 6px; padding: 0 13px; background: #191c21; border-bottom: 1px solid #2a2e35; color: #858b94; font-size: 11px; }
.af-window-bar i { width: 8px; height: 8px; border-radius: 50%; background: #454b54; }
.af-window-bar span { margin-left: 6px; }
.af-desktop-shot img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center top; }
.af-phone-shot { position: absolute; left: -18px; bottom: 0; width: 148px; padding: 7px; background: #0b0d0f; border: 1px solid #3a4049; border-radius: 26px; box-shadow: 0 18px 44px rgba(0,0,0,.5); }
.af-phone-speaker { width: 44px; height: 5px; margin: 1px auto 5px; border-radius: 99px; background: #30343a; }
.af-phone-shot img { width: 100%; aspect-ratio: 560 / 1214; object-fit: cover; border-radius: 19px; }

/* Basics strip */
.af-basics { padding: 34px 0; background: #121519; border-bottom: 1px solid var(--af-border-soft); }
.af-basic-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.af-basic-grid > div { padding: 8px 24px; border-left: 1px solid var(--af-border); }
.af-basic-grid > div:first-child { border-left: 0; padding-left: 0; }
.af-basic-grid > div:last-child { padding-right: 0; }
.af-basic-grid strong { display: block; color: var(--af-orange); font-size: 12px; letter-spacing: .08em; margin-bottom: 8px; }
.af-basic-grid span { display: block; font-weight: 700; font-size: 16px; }
.af-basic-grid small { display: block; color: #8f959e; line-height: 1.45; margin-top: 6px; font-size: 13px; }

/* Sections */
.af-section { padding: 104px 0; }
.af-section + .af-section { border-top: 1px solid var(--af-border-soft); }
.af-section-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 50px; }
.af-section-head-narrow { margin-bottom: 18px; }
.af-section-head h2, .af-mobile-copy h2, .af-local h2, .af-final-cta h2 {
  margin-top: 12px; font-family: 'Barlow', sans-serif; font-size: clamp(42px, 4.4vw, 62px); line-height: 1.04; letter-spacing: -.035em; font-weight: 700;
}
.af-section-head > p { max-width: 520px; color: #aeb3bb; font-size: 17px; line-height: 1.6; }

/* 5S */
.af-five { background: #14171b; }
.af-five-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.af-five-card { grid-column: span 2; min-height: 196px; padding: 24px; background: #191d22; border: 1px solid #2d323a; border-radius: 12px; }
.af-five-card:nth-child(4) { grid-column: 2 / span 2; }
.af-five-card:nth-child(5) { grid-column: 4 / span 2; }
.af-five-num { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: var(--af-orange); color: #fff; font-weight: 700; }
.af-five-card h3 { display: inline; margin-left: 10px; font-family: 'Barlow', sans-serif; font-size: 22px; }
.af-five-card p { margin-top: 22px; color: #adb2ba; font-size: 15px; line-height: 1.55; }

/* Product workflow rows */
.af-product { padding-top: 112px; }
.af-feature-row { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: center; padding: 88px 0; border-top: 1px solid var(--af-border-soft); }
.af-feature-row:first-of-type { border-top: 0; }
.af-feature-row-reverse .af-feature-copy { order: 2; }
.af-feature-row-reverse > :last-child { order: 1; }
.af-feature-row-light { position: relative; z-index: 0; isolation: isolate; color: #171a1d; border-top: 0; }
.af-feature-row-light::before { content: ''; position: absolute; z-index: -1; inset: 0 -100vw; background: #f4f3f0; border-top: 1px solid #ddd9d1; border-bottom: 1px solid #ddd9d1; }
.af-feature-row-light .af-feature-step { color: #ce5000; }
.af-feature-row-light .af-feature-copy > p { color: #565e66; }
.af-feature-row-light .af-check-list li { color: #33383e; }
.af-feature-row-light .af-product-frame { border-color: #cbc8c1; box-shadow: 0 18px 44px rgba(18,21,25,.12); }
.af-feature-step { color: #ff873c; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.af-feature-copy h3 { margin-top: 13px; font-family: 'Barlow', sans-serif; font-size: clamp(34px, 3.5vw, 48px); line-height: 1.07; letter-spacing: -.025em; }
.af-feature-copy > p { margin-top: 20px; color: #adb2ba; font-size: 17px; line-height: 1.63; }
.af-check-list { display: grid; gap: 11px; margin-top: 24px; }
.af-check-list li { position: relative; padding-left: 25px; color: #d6d9dd; font-size: 15px; line-height: 1.45; }
.af-check-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--af-orange); font-weight: 700; }
.af-product-frame { margin: 0; overflow: hidden; background: #111315; border: 1px solid #343942; border-radius: 12px; box-shadow: 0 18px 44px rgba(0,0,0,.22); }
.af-product-frame img { width: 100%; display: block; }
.af-media-stack { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: start; }
.af-media-stack .af-product-frame:nth-child(2),
.af-media-stack-offset .af-product-frame:first-child,
.af-media-stack-offset .af-product-frame:nth-child(2) { margin-top: 0; }
.af-media-duo { position: relative; padding-bottom: 48px; padding-left: 8px; }
.af-product-frame-phone { position: absolute; right: -8px; bottom: 0; width: 142px; padding: 6px; border-radius: 25px; background: #0b0d0f; }
.af-product-frame-phone img { border-radius: 18px; }
.af-product-frame-wide img { aspect-ratio: 1140 / 645; object-fit: cover; }

/* Mobile product section */
.af-mobile-section { padding: 104px 0; background: #f4f3f0; color: #15171a; }
.af-mobile-section .af-eyebrow { color: #ce5000; }
.af-mobile-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.af-mobile-copy > p:not(.af-eyebrow) { margin-top: 20px; max-width: 550px; color: #555c64; font-size: 17px; line-height: 1.65; }
.af-mobile-points { display: grid; gap: 18px; margin-top: 30px; }
.af-mobile-points div { padding-top: 17px; border-top: 1px solid #d7d7d4; }
.af-mobile-points strong { display: block; font-size: 16px; }
.af-mobile-points span { display: block; margin-top: 5px; color: #676d74; line-height: 1.5; font-size: 14px; }
.af-phone-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: end; }
.af-phone-gallery figure { margin: 0; text-align: center; }
.af-phone-gallery img { width: 100%; border-radius: 28px; border: 1px solid #cacbc9; box-shadow: 0 18px 42px rgba(0,0,0,.12); background: #111; }
.af-phone-gallery figure:nth-child(2) { transform: translateY(-18px); }
.af-phone-gallery figcaption { margin-top: 11px; color: #53585e; font-size: 13px; font-weight: 600; }

/* Reports / output showcase */
.af-output-section { padding: 104px 0 112px; background: #121519; color: var(--af-text); border-top: 1px solid var(--af-border-soft); }
.af-output-section .af-eyebrow { color: #ff873c; }
.af-output-head { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.af-output-head h2 { margin-top: 12px; font-family: 'Barlow', sans-serif; font-size: clamp(42px, 4.4vw, 62px); line-height: 1.04; letter-spacing: -.035em; }
.af-output-head > p { max-width: 550px; color: #aeb3bb; font-size: 17px; line-height: 1.62; }
.af-output-showcase { display: grid; grid-template-columns: 1.28fr .72fr; gap: 18px; align-items: start; }
.af-output-main, .af-output-card { margin: 0; overflow: hidden; border: 1px solid #343942; border-radius: 14px; background: #171a1f; box-shadow: 0 18px 44px rgba(0,0,0,.22); }
.af-output-main img, .af-output-card img { display: block; width: 100%; height: auto; }
.af-output-side { display: grid; gap: 18px; }
.af-output-label { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; padding: 15px 17px; border-bottom: 1px solid #30353d; background: #171a1f; }
.af-output-label strong { color: #f0f2f4; font-size: 15px; }
.af-output-label span { color: #969da6; font-size: 12px; text-align: right; }

/* Local-first */
.af-local { background: #121519; }
.af-local-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 86px; align-items: start; }
.af-local-list { border-top: 1px solid var(--af-border); }
.af-local-list div { display: grid; grid-template-columns: .42fr .58fr; gap: 24px; padding: 21px 0; border-bottom: 1px solid var(--af-border); }
.af-local-list strong { font-size: 16px; }
.af-local-list span { color: #9fa5ad; line-height: 1.5; font-size: 14px; }

/* Pricing */
.af-pricing { padding: 104px 0; border-top: 1px solid var(--af-border-soft); }
.af-price-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; align-items: stretch; }
.af-price-card, .af-fit-card { border: 1px solid var(--af-border); border-radius: 13px; background: #171a1f; }
.af-price-card { padding: 30px; }
.af-price-top { display: flex; justify-content: space-between; color: #9ba1aa; font-size: 13px; }
.af-price { display: flex; align-items: baseline; gap: 8px; margin-top: 24px; }
.af-price strong { font-size: 58px; line-height: 1; letter-spacing: -.04em; }
.af-price span { color: #9ba1aa; }
.af-price-card > p { margin-top: 8px; color: #8c929a; font-size: 13px; }
.af-price-list { padding: 24px 0; margin: 26px 0; border-top: 1px solid var(--af-border); border-bottom: 1px solid var(--af-border); }
.af-price-card small { display: block; text-align: center; margin-top: 12px; color: #777d86; }
.af-fit-card { padding: 38px; display: flex; flex-direction: column; }
.af-fit-card h3 { margin-top: 14px; max-width: 720px; font-family: 'Barlow', sans-serif; font-size: clamp(30px, 3vw, 42px); line-height: 1.1; letter-spacing: -.02em; }
.af-fit-card ul { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; margin-top: 30px; color: #b7bcc4; }
.af-fit-card li { padding-top: 12px; border-top: 1px solid var(--af-border); }
.af-fit-card > a { margin-top: auto; padding-top: 34px; color: #ff8a42; font-weight: 600; }

/* FAQ */
.af-faq { padding: 104px 0; background: #14171b; border-top: 1px solid var(--af-border-soft); }
.af-faq-list { border-top: 1px solid var(--af-border); }
.af-faq-list details { background: transparent !important; border: 0 !important; border-radius: 0 !important; border-bottom: 1px solid var(--af-border) !important; box-shadow: none !important; }
.af-faq-list summary { padding: 21px 0 !important; font-size: 18px !important; }
.af-faq-list details p { padding: 0 36px 22px 0 !important; max-width: 850px; color: #aeb3bb !important; }
.af-faq-list summary::after { color: var(--af-orange) !important; }
.af-section-head-actions { align-items: end; }
.af-head-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 430px; }
.af-head-actions p { color: #9da4ac; line-height: 1.6; }
.af-faq-preview-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

/* FAQ page */
.faq-page main { padding-bottom: 96px; }
.faq-hero-page { position: relative; overflow: hidden; padding: 128px max(24px, calc((100vw - 1240px) / 2)) 58px; border-bottom: 1px solid var(--af-border); }
.faq-page-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 120px 120px; opacity: .42; pointer-events: none; }
.faq-hero-inner { position: relative; z-index: 1; max-width: 860px; }
.faq-hero-inner h1 { margin-top: 20px; font-family: 'Barlow', sans-serif; font-size: clamp(52px, 7vw, 84px); line-height: .95; letter-spacing: -.045em; }
.faq-hero-lead { margin-top: 22px; max-width: 760px; color: #a4abb3; font-size: 18px; line-height: 1.66; }
.faq-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.faq-support-tools { padding: 0 max(24px, calc((100vw - 1240px) / 2)) 26px; }
.faq-support-inner { display: grid; gap: 16px; }
.faq-search-wrap, .faq-user-hub { border: 1px solid var(--af-border); border-radius: 16px; background: #15181d; }
.faq-search-wrap { padding: 22px; }
.faq-search-wrap label { display: block; margin-bottom: 10px; color: #c7cbd0; font-weight: 700; font-size: 14px; }
.faq-search-box { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 16px; border: 1px solid #363c45; border-radius: 10px; background: #0f1114; }
.faq-search-box span { color: var(--af-orange); font-size: 22px; }
.faq-search-box input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #f3f4f5; font: inherit; font-size: 16px; }
.faq-search-box input::placeholder { color: #727983; }
.faq-search-status { min-height: 18px; margin-top: 9px; color: #868d96; font-size: 13px; }
.faq-user-hub { display: grid; grid-template-columns: .95fr 1.05fr; gap: 42px; padding: 28px; }
.faq-user-hub h2 { margin-top: 10px; font-family: 'Barlow', sans-serif; font-size: clamp(28px, 3.5vw, 40px); line-height: 1.06; letter-spacing: -.025em; }
.faq-user-hub > div > p:not(.eyebrow-tag) { margin-top: 14px; color: #a0a7af; line-height: 1.6; }
.faq-user-actions { display: grid; gap: 9px; }
.faq-user-actions a { padding: 15px 16px; border: 1px solid #30363f; border-radius: 10px; background: #111419; color: #e5e8eb; }
.faq-user-actions a:hover { border-color: rgba(255,106,0,.42); background: #171b20; }
.faq-user-actions strong { display: block; font-size: 15px; }
.faq-user-actions span { display: block; margin-top: 4px; color: #9299a2; font-size: 13px; line-height: 1.45; }
.faq-toc-section { padding: 0 max(24px, calc((100vw - 1240px) / 2)) 26px; }
.faq-toc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.faq-toc-grid a { padding: 18px 18px 17px; border: 1px solid var(--af-border); border-radius: 12px; background: #15181d; color: #dfe3e7; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.faq-toc-grid a:hover { transform: translateY(-2px); border-color: rgba(255,106,0,.4); background: #1b1f24; }
.faq-toc-grid .faq-toc-priority { border-color: rgba(255,106,0,.34); background: #1b1816; }
.faq-toc-grid strong { display: block; font-size: 16px; }
.faq-toc-grid span { display: block; margin-top: 7px; color: #99a0a8; font-size: 14px; line-height: 1.5; }
.faq-category { padding: 52px max(24px, calc((100vw - 1240px) / 2)) 0; }
.faq-category[hidden] { display: none !important; }
.faq-category-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 22px; }
.faq-category-head h2 { font-family: 'Barlow', sans-serif; font-size: clamp(34px, 4vw, 48px); line-height: 1.04; letter-spacing: -.03em; }
.faq-category-intro { max-width: 760px; color: #9ea5ae; line-height: 1.6; }
.faq-troubleshooting .faq-category-head h2 { color: #fff; }
.faq-accordion { border-top: 1px solid var(--af-border); background: transparent; color: #f0f2f4; }
.faq-accordion details { border-bottom: 1px solid var(--af-border); }
.faq-accordion details[hidden] { display: none !important; }
.faq-accordion summary { position: relative; padding: 22px 56px 22px 0; list-style: none; cursor: pointer; font-weight: 700; font-size: 18px; color: #e9ecef; }
.faq-accordion summary::-webkit-details-marker { display: none; }
.faq-accordion summary::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--af-orange); font-size: 24px; line-height: 1; }
.faq-accordion details[open] summary::after { content: '–'; }
.faq-accordion details p { padding: 0 48px 24px 0; color: #a2a9b2; line-height: 1.68; font-size: 15px; max-width: 950px; }
.faq-accordion details p a { color: #ff873c; font-weight: 600; }
.faq-page-cta { margin: 66px max(24px, calc((100vw - 1240px) / 2)) 0; padding: 40px; border: 1px solid var(--af-border); border-radius: 18px; background: #171a1f; }
.faq-page-cta h2 { margin-top: 14px; font-family: 'Barlow', sans-serif; font-size: clamp(34px, 4vw, 48px); line-height: 1.06; letter-spacing: -.03em; }
.faq-page-cta p:not(.eyebrow-tag) { margin-top: 14px; max-width: 760px; color: #a0a7af; line-height: 1.6; }

/* Affiliate offer cleanup */
.offer-stat { display: grid !important; grid-template-columns: minmax(0,1fr) 190px; align-items: end; gap: 24px; }
.offer-stat span { max-width: none !important; text-align: left !important; line-height: 1.45; }

/* Final CTA / footer */
.af-final-cta { padding: 72px 0; border-top: 1px solid var(--af-border-soft); }
.af-final-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.af-final-cta h2 { max-width: 650px; font-size: clamp(38px, 4vw, 54px); }
.af-final-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.clean-footer { background: #0b0d0f !important; border-top: 1px solid var(--af-border-soft) !important; }
.clean-footer .footer-brand img { filter: none !important; }
.af-mobile-buybar { display: none; }

/* Existing downloads / affiliate pages — cleaner, calmer surfaces */
body:not(.clean-home) { background: var(--af-bg); }
body:not(.clean-home) .eyebrow-tag { padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; color: #ff873c; }
body:not(.clean-home) .dl-hero { padding-top: 132px; }
body:not(.clean-home) .dl-hero h1,
body:not(.clean-home) .affiliate-hero h1,
body:not(.clean-home) .section-heading h2,
body:not(.clean-home) .share-card h2,
body:not(.clean-home) .detail-card h2,
body:not(.clean-home) .affiliate-cta h2 {
  font-family: 'Barlow', sans-serif !important;
  text-transform: none !important;
  letter-spacing: -.035em !important;
}
body:not(.clean-home) .dl-card,
body:not(.clean-home) .affiliate-step,
body:not(.clean-home) .detail-card,
body:not(.clean-home) .affiliate-rules,
body:not(.clean-home) .share-card,
body:not(.clean-home) .earnings-table-wrap,
body:not(.clean-home) .affiliate-offer {
  background: #171a1f !important;
  border: 1px solid var(--af-border) !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}
body:not(.clean-home) .affiliate-hero::before { opacity: .25 !important; }
body:not(.clean-home) .affiliate-offer { background: #171a1f !important; }
body:not(.clean-home) .affiliate-cta { background: #15181d !important; border-color: var(--af-border) !important; }
body:not(.clean-home) .share-channels span { background: #121519 !important; border-color: var(--af-border) !important; border-radius: 8px !important; }
body:not(.clean-home) .earnings-table th { background: #1c2026 !important; }

/* Responsive */
@media (max-width: 1050px) {
  .af-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .af-hero-copy { max-width: 760px; }
  .af-hero-product { max-width: 820px; }
  .af-basic-grid { grid-template-columns: 1fr 1fr; gap: 24px 0; }
  .af-basic-grid > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .af-five-grid { grid-template-columns: repeat(2, 1fr); }
  .af-five-card, .af-five-card:nth-child(4), .af-five-card:nth-child(5) { grid-column: auto; }
  .af-five-card:last-child { grid-column: 1 / -1; min-height: 0; }
  .af-feature-row { gap: 48px; }
  .af-mobile-grid { gap: 50px; }
}

@media (max-width: 900px) {
  .topbar-actions { display: none !important; }
  .hamburger { display: flex !important; }
  .clean-mobile-menu,
  body:not(.clean-home) .mobile-menu { top: 64px !important; background: #111419 !important; border-bottom: 1px solid var(--af-border) !important; }
  .topbar, .clean-topbar { height: 64px !important; padding-inline: 18px !important; }
  .brand img, .clean-topbar .brand img, body:not(.clean-home) .brand img { height: 25px !important; max-width: 190px; }

  .af-hero { padding-top: 112px; }
  .af-section-head { grid-template-columns: 1fr; gap: 18px; }
  .af-section-head > p { max-width: 680px; }
  .af-feature-row, .af-feature-row-reverse { grid-template-columns: 1fr; gap: 38px; padding: 64px 0; }
  .af-feature-row-reverse .af-feature-copy, .af-feature-row-reverse > :last-child { order: initial; }
  .af-feature-copy { max-width: 720px; }
  .af-media-stack { max-width: 820px; }
  .af-mobile-grid, .af-local-grid { grid-template-columns: 1fr; gap: 44px; }
  .af-mobile-copy { max-width: 720px; }
  .af-phone-gallery { max-width: 720px; }
  .af-output-head { grid-template-columns: 1fr; gap: 18px; }
  .af-output-showcase { grid-template-columns: 1fr; }
  .af-output-side { grid-template-columns: 1fr 1fr; }
  .af-price-layout { grid-template-columns: 1fr; }
  .af-final-cta-inner { align-items: flex-start; flex-direction: column; }
  .af-final-actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 68px; }
  body.clean-home { padding-bottom: 0; }
  .af-container { width: min(100% - 32px, var(--af-max)); }

  .topbar, .clean-topbar { padding-inline: 14px !important; }
  .brand img, .clean-topbar .brand img, body:not(.clean-home) .brand img { height: 22px !important; max-width: 170px !important; }
  .hamburger { margin-left: auto; width: 44px; height: 44px; align-items: center; justify-content: center; }
  .mobile-menu, .clean-mobile-menu { padding: 10px 14px 18px !important; max-height: calc(100dvh - 64px); overflow-y: auto; }
  .mobile-menu a, .clean-mobile-menu a { min-height: 46px; padding: 11px 12px !important; border-radius: 7px !important; }
  .mobile-menu .btn-primary { margin-top: 8px; }

  .af-hero { padding: 96px 0 48px; }
  .af-hero-grid { gap: 32px; }
  .af-kicker { font-size: 11px; letter-spacing: .06em; }
  .af-hero h1 { margin-top: 15px; font-size: clamp(41px, 12vw, 52px); line-height: 1.02; }
  .af-lead { margin-top: 18px; font-size: 16px; line-height: 1.55; }
  .af-hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 24px; }
  .af-hero-actions a { width: 100%; min-height: 48px; }
  .af-hero-meta { gap: 8px 13px; margin-top: 21px; font-size: 12px; }
  .af-hero-product { padding: 0; display: grid; gap: 14px; }
  .af-desktop-shot { border-radius: 10px; box-shadow: none; }
  .af-window-bar { height: 30px; font-size: 10px; }
  .af-phone-shot { position: static; width: min(52%, 185px); justify-self: center; border-radius: 24px; box-shadow: none; }
  .af-phone-shot img { border-radius: 17px; }

  .af-basics { padding: 26px 0; }
  .af-basic-grid { grid-template-columns: 1fr; gap: 0; }
  .af-basic-grid > div, .af-basic-grid > div:first-child, .af-basic-grid > div:nth-child(3), .af-basic-grid > div:last-child { padding: 17px 0; border-left: 0; border-top: 1px solid var(--af-border); }
  .af-basic-grid > div:first-child { border-top: 0; }
  .af-basic-grid small { max-width: 390px; }

  .af-section { padding: 70px 0; }
  .af-section-head { margin-bottom: 30px; }
  .af-section-head h2, .af-mobile-copy h2, .af-local h2, .af-final-cta h2 { font-size: 36px; line-height: 1.07; }
  .af-section-head > p { font-size: 15px; line-height: 1.55; }
  .af-eyebrow { font-size: 11px; }

  .af-five-grid { grid-template-columns: 1fr; gap: 10px; }
  .af-five-card, .af-five-card:last-child { grid-column: auto; min-height: 0; padding: 19px; border-radius: 10px; }
  .af-five-card p { margin-top: 15px; font-size: 14px; }
  .af-five-card h3 { font-size: 19px; }
  .af-five-num { width: 29px; height: 29px; }

  .af-product { padding-top: 74px; }
  .af-feature-row, .af-feature-row-reverse { padding: 54px 0; gap: 28px; }
  .af-feature-row-light { padding-top: 58px; padding-bottom: 58px; }
  .af-feature-row-light::before { inset: 0 -30px; }
  .af-feature-copy h3 { font-size: 32px; }
  .af-feature-copy > p { font-size: 15px; line-height: 1.56; }
  .af-check-list { gap: 9px; margin-top: 20px; }
  .af-check-list li { font-size: 14px; }
  .af-media-stack { grid-template-columns: 1fr; gap: 10px; }
  .af-media-stack .af-product-frame:nth-child(2), .af-media-stack-offset .af-product-frame:first-child { margin-top: 0; }
  .af-product-frame { border-radius: 9px; box-shadow: none; }
  .af-media-duo { padding: 0; display: grid; gap: 12px; }
  .af-product-frame-phone { position: static; width: min(52%, 190px); justify-self: center; border-radius: 23px; }

  .af-output-section { padding: 70px 0 76px; }
  .af-output-head { margin-bottom: 28px; }
  .af-output-head h2 { font-size: 36px; line-height: 1.07; }
  .af-output-head > p { font-size: 15px; line-height: 1.55; }
  .af-output-showcase, .af-output-side { grid-template-columns: 1fr; gap: 12px; }
  .af-output-main, .af-output-card { border-radius: 10px; box-shadow: none; }
  .af-output-label { padding: 13px 14px; align-items: flex-start; flex-direction: column; gap: 4px; }
  .af-output-label span { text-align: left; }
  .af-mobile-section { padding: 70px 0; }
  .af-mobile-grid { gap: 36px; }
  .af-mobile-copy > p:not(.af-eyebrow) { font-size: 15px; }
  .af-mobile-points { margin-top: 23px; }
  .af-phone-gallery { grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .af-phone-gallery figure { width: min(72%, 280px); justify-self: center; }
  .af-phone-gallery figure:nth-child(2) { transform: none; }
  .af-phone-gallery img { border-radius: 24px; box-shadow: 0 14px 30px rgba(0,0,0,.10); }
  .af-phone-gallery figcaption { font-size: 12px; margin-top: 8px; }

  .af-local-list div { grid-template-columns: 1fr; gap: 5px; padding: 17px 0; }

  .af-pricing, .af-faq { padding: 70px 0; }
  .af-price-card, .af-fit-card { padding: 22px; border-radius: 10px; }
  .af-price strong { font-size: 50px; }
  .af-fit-card h3 { font-size: 29px; }
  .af-fit-card ul { grid-template-columns: 1fr; gap: 10px; }
  .af-fit-card > a { margin-top: 24px; padding-top: 0; }
  .af-faq-list summary { font-size: 16px !important; padding: 18px 0 !important; }
  .af-faq-list details p { padding-right: 0 !important; font-size: 14px !important; }

  .af-final-cta { padding: 58px 0; }
  .af-final-actions { display: grid; width: 100%; }
  .af-final-actions a { width: 100%; }
  .clean-footer { padding-bottom: 34px !important; }
  .clean-footer .footer-inner { align-items: flex-start !important; text-align: left !important; }
  .clean-footer .footer-nav { justify-content: flex-start !important; }

  .af-mobile-buybar { display: none !important; }

  .af-head-actions, .af-faq-preview-actions { width: 100%; }
  .af-faq-preview-actions { display: grid; }
  .faq-hero-page { padding: 98px 16px 40px !important; }
  .faq-hero-inner h1 { font-size: 44px !important; line-height: 1.01 !important; }
  .faq-hero-lead { font-size: 15px !important; line-height: 1.6 !important; }
  .faq-hero-actions { display: grid; }
  .faq-hero-actions a { width: 100%; }
  .faq-toc-section { padding: 0 16px 12px !important; }
  .faq-toc-grid { grid-template-columns: 1fr !important; }
  .faq-category { padding: 42px 16px 0 !important; }
  .faq-category-head h2 { font-size: 34px !important; }
  .faq-support-tools { padding: 0 16px 12px !important; }
  .faq-search-wrap { padding: 16px !important; }
  .faq-user-hub { grid-template-columns: 1fr !important; gap: 22px !important; padding: 20px !important; }
  .faq-user-hub h2 { font-size: 30px !important; }
  .faq-accordion summary { padding: 18px 42px 18px 0 !important; font-size: 16px !important; }
  .faq-accordion summary::after { right: 2px !important; }
  .faq-accordion details p { padding: 0 22px 18px 0 !important; font-size: 14px !important; }
  .faq-page-cta { margin: 48px 16px 0 !important; padding: 24px 18px !important; }
  .faq-page-cta h2 { font-size: 34px !important; }
  .offer-stat { grid-template-columns: minmax(0,1fr) 132px !important; gap: 16px !important; }
  .offer-stat strong { font-size: 54px !important; }
  .offer-stat span { font-size: 14px !important; }

  /* Existing pages: make mobile feel intentionally stacked, not desktop squeezed down */
  body:not(.clean-home) .dl-hero { padding: 100px 16px 34px !important; }
  body:not(.clean-home) .dl-hero h1 { font-size: 44px !important; line-height: 1.03 !important; }
  body:not(.clean-home) .dl-hero p { font-size: 15px !important; line-height: 1.55; }
  body:not(.clean-home) .dl-grid { padding: 0 16px 62px !important; gap: 12px !important; }
  body:not(.clean-home) .dl-card { padding: 20px !important; border-radius: 10px !important; }
  body:not(.clean-home) .dl-card h2 { font-family: 'Barlow', sans-serif; font-size: 25px !important; }

  body:not(.clean-home) .affiliate-hero { padding: 100px 16px 50px !important; gap: 26px !important; }
  body:not(.clean-home) .affiliate-hero h1 { font-size: 44px !important; line-height: 1.02 !important; }
  body:not(.clean-home) .affiliate-lead { font-size: 15px !important; line-height: 1.55; }
  body:not(.clean-home) .affiliate-offer { padding: 21px !important; }
  body:not(.clean-home) .affiliate-section { padding: 62px 16px !important; }
  body:not(.clean-home) .affiliate-step,
  body:not(.clean-home) .detail-card,
  body:not(.clean-home) .affiliate-rules,
  body:not(.clean-home) .share-card { padding: 20px !important; }
  body:not(.clean-home) .share-card { gap: 28px !important; }
  body:not(.clean-home) .affiliate-cta { margin: 8px 16px 62px !important; padding: 42px 20px !important; }
  body:not(.clean-home) .earnings-table { min-width: 520px; }
  body:not(.clean-home) .footer { padding-inline: 16px !important; }
}

@media (max-width: 390px) {
  .af-container { width: calc(100% - 26px); }
  .brand img, .clean-topbar .brand img, body:not(.clean-home) .brand img { max-width: 155px !important; }
  .af-hero h1 { font-size: 39px; }
  .af-phone-gallery { gap: 18px; }
  .af-phone-gallery figure { width: min(78%, 270px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 1050px) {
  .faq-toc-grid { grid-template-columns: 1fr 1fr; }
}

/* Affiliate hero line spacing: keep descenders clear of the next line. */
body:not(.clean-home) .affiliate-hero h1 { line-height: 1.04 !important; }
