/* ==========================================================================
   AgTwin.OS homepage
   1. Tokens & base        6. Intelligence Engine     11. Footer
   2. Utilities & buttons  7. Quotes                  12. Overlays (modals, lightbox)
   3. Nav                  8. Platform tiers          13. Motion (intro, fades)
   4. Hero                 9. Recognition timeline    14. Tablet / mobile
   5. Outcomes & sliders  10. Proof grid, CTA         15. Fallback template
   ========================================================================== */

/* 1. Tokens & base ---------------------------------------------------------- */
@font-face { font-family:'Work Sans'; src:url("../fonts/WorkSans-Variable.woff2") format('woff2-variations'), url("../fonts/WorkSans-Variable.woff2") format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'Work Sans'; src:url("../fonts/WorkSans-Italic-Variable.woff2") format('woff2-variations'), url("../fonts/WorkSans-Italic-Variable.woff2") format('woff2'); font-weight:100 900; font-style:italic; font-display:swap; }

:root {
  --ae-ink:#FBFBF7;
  --ae-ink-82:rgba(251,251,247,0.82);
  --ae-ink-78:rgba(251,251,247,0.78);
  --ae-ink-75:rgba(251,251,247,0.75);
  --ae-ink-70:rgba(251,251,247,0.7);
  --ae-ink-60:rgba(251,251,247,0.6);
  --ae-ink-55:rgba(251,251,247,0.55);
  --ae-line:rgba(251,251,247,0.14);
  --ae-lime:#E8ED5C;
  --ae-dark:#23271A;
  --ae-muted:#5A5F4E;
  --ae-black:#050603;
  --ae-paper:#F2F2E8;
  --ae-paper-2:#FBFBF7;
  --ae-paper-line:rgba(56,61,33,0.28);
  --ae-gutter:56px;
  --ae-ease:cubic-bezier(.2,.6,.2,1);
  --ae-shadow:0 30px 70px -25px rgba(0,0,0,0.85);
}

html { scroll-behavior:smooth; }
body.ae-body {
  margin:0;
  background:#1D210F url("../img/contour-texture.svg") 0 0 / 1100px 1100px;
  font-family:'Work Sans',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
.ae-body img { border:0; }
.ae-page { color:var(--ae-ink); font-family:'Work Sans',system-ui,sans-serif; }
.ae-page section[id] { scroll-margin-top:96px; }
:where(.ae-page) :where(figure, blockquote) { margin:0; }
.admin-bar .ae-nav { top:32px; }
@media (max-width:782px) { .admin-bar .ae-nav { top:46px; } }

/* 2. Utilities & buttons ----------------------------------------------------- */
.ae-hl { color:var(--ae-lime); }
.ae-nw { white-space:nowrap; }
.ae-sr, .ae-skip:not(:focus) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.ae-skip:focus { position:fixed; top:12px; left:12px; z-index:300; background:var(--ae-lime); color:var(--ae-dark); padding:10px 16px; font:600 14px 'Work Sans',system-ui,sans-serif; text-decoration:none; }

.ae-btn { display:inline-block; font-weight:600; border-radius:2px; text-decoration:none; }
.ae-btn--solid { color:var(--ae-dark); background:var(--ae-lime); transition:filter .2s; }
.ae-btn--solid:hover { filter:brightness(1.06); }
.ae-btn--ghost { font-size:15px; color:var(--ae-ink); border:1px solid rgba(251,251,247,0.45); padding:14px 28px; transition:background .2s; }
.ae-btn--ghost:hover { background:rgba(251,251,247,0.08); }
.ae-btn--lg { font-size:16px; padding:17px 34px; }
.ae-btn:focus-visible, .ae-link-btn:focus-visible, .ae-compare-handle:focus-visible,
.ae-foot-link:focus-visible, .ae-foot-legal a:focus-visible, .ae-quote-link:focus-visible { outline:2px solid var(--ae-lime); outline-offset:3px; }

.ae-eyebrow { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-ink-55); margin:0 0 18px; }
.ae-h3 { font-size:38px; font-weight:700; letter-spacing:-0.02em; line-height:1.05; color:var(--ae-ink); margin:0 0 20px; }
.ae-text { font-size:16px; font-weight:300; line-height:1.6; color:var(--ae-ink-75); margin:0; }

.ae-frame { background:var(--ae-black); border:1px solid var(--ae-line); border-radius:10px; padding:9px; box-shadow:var(--ae-shadow); }
.ae-frame > img { display:block; width:100%; height:auto; border-radius:4px; }
[data-parallax] { will-change:transform; }

/* 3. Nav --------------------------------------------------------------------- */
.ae-nav { position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:16px var(--ae-gutter); background:rgba(26,30,13,0.94); border-bottom:1px solid rgba(251,251,247,0.08); }
.ae-nav-home { display:block; }
.ae-nav-logo { display:block; height:56px; width:auto; }
.ae-nav-cta { font-size:13px; padding:11px 22px; }

/* 4. Hero -------------------------------------------------------------------- */
.ae-hero { position:relative; height:145vh; }
.ae-hero-sticky { position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:center; }
.ae-hero-sticky::after { content:""; position:absolute; left:0; right:0; bottom:52px; height:1px; background:rgba(251,251,247,0.12); }
.ae-hero-copy { position:absolute; left:var(--ae-gutter); top:calc(50% + 40px); transform:translateY(-50%); max-width:520px; z-index:3; }
.ae-hero-eyebrow { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-ink-60); margin:0 0 22px; }
.ae-hero-title { font-size:clamp(42px,4.2vw,62px); font-weight:700; letter-spacing:-0.035em; line-height:1.02; color:var(--ae-ink); margin:0 0 24px; text-wrap:balance; }
.ae-hero-lead { font-size:18px; font-weight:400; line-height:1.65; color:rgba(251,251,247,0.8); margin:0 0 34px; max-width:40ch; }
.ae-hero-desk { position:absolute; left:62%; top:50%; width:64vw; transform:translate3d(-50%,-50%,0); z-index:1; perspective:1900px; will-change:opacity; }
.ae-hero-fold { transform:translate3d(12vw,0,0) rotateY(-4deg) scale(0.945); transform-origin:left center; will-change:transform; }
.ae-device { background:var(--ae-black); border:1px solid rgba(251,251,247,0.16); border-radius:12px; padding:10px; box-shadow:-40px 50px 100px -30px rgba(0,0,0,0.85); }
.ae-device img { display:block; width:100%; height:auto; border-radius:5px; }
.ae-hero-phone { position:absolute; right:6vw; top:72%; margin-top:-424px; transform:translate3d(220px,0,0) scale(0.42); transform-origin:center center; z-index:2; opacity:0; will-change:transform,opacity; }
.ae-phone { width:380px; background:var(--ae-black); border:1px solid rgba(251,251,247,0.18); border-radius:56px; padding:11px; box-shadow:0 50px 100px -30px rgba(0,0,0,0.9); }
.ae-phone img { display:block; width:100%; height:auto; aspect-ratio:1179/2556; object-fit:cover; border-radius:46px; background:var(--ae-black); }
.ae-hero-caption { position:absolute; left:var(--ae-gutter); bottom:20px; margin:0; font-size:13px; font-style:italic; font-weight:300; color:rgba(251,251,247,0.5); }

/* 5. Outcomes & before/after sliders ------------------------------------------ */
.ae-outcomes { padding:120px var(--ae-gutter) 0; }
.ae-intro { max-width:760px; }
.ae-h2-xl { font-size:clamp(40px,3.8vw,56px); font-weight:700; letter-spacing:-0.025em; line-height:1.02; color:var(--ae-ink); margin:0 0 24px; }
.ae-lead { font-size:18px; font-weight:300; line-height:1.6; color:var(--ae-ink-78); margin:0; }

.ae-pin { position:relative; height:230vh; }
.ae-pin-sticky { position:sticky; top:0; height:100vh; display:flex; align-items:center; }
.ae-feature { display:grid; grid-template-columns:420px 1fr; gap:64px; align-items:center; }
.ae-feature--media-left { grid-template-columns:1fr 420px; }
.ae-feature--spaced { padding-bottom:112px; }
.ae-pin .ae-feature { width:100%; }
.ae-feature-media { min-width:0; }

.ae-compare { position:relative; aspect-ratio:16/9; border-radius:4px; overflow:hidden; touch-action:pan-y; }
.ae-compare img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.ae-compare-after { position:absolute; inset:0; clip-path:inset(0 100% 0 0); will-change:clip-path; }
.ae-compare--rtl .ae-compare-after { clip-path:inset(0 0 0 100%); }
.ae-compare-handle { position:absolute; top:0; bottom:0; left:0; width:44px; margin-left:-22px; cursor:ew-resize; z-index:3; opacity:0; will-change:transform,opacity; }
.ae-compare-handle::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; margin-left:-1px; background:rgba(251,251,247,0.9); }
.ae-compare-knob { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:34px; height:34px; border-radius:50%; border:2px solid rgba(251,251,247,0.9); background:rgba(5,6,3,0.55); display:flex; align-items:center; justify-content:center; gap:5px; }
.ae-compare-knob::before, .ae-compare-knob::after { content:""; width:0; height:0; border-top:4px solid transparent; border-bottom:4px solid transparent; }
.ae-compare-knob::before { border-right:5px solid rgba(251,251,247,0.9); }
.ae-compare-knob::after { border-left:5px solid rgba(251,251,247,0.9); }
.ae-cmp-cap { display:flex; flex-direction:column; gap:6px; margin:16px 0 0; }
.ae-cmp-cap strong { font-size:15px; font-weight:600; color:var(--ae-ink); }
.ae-cmp-cap span { font-size:13px; font-weight:400; color:var(--ae-ink-60); }

/* 6. Intelligence Engine ------------------------------------------------------ */
.ae-ie { position:relative; height:160vh; background:#2B2F19; }
.ae-ie-sticky { position:sticky; top:0; height:100vh; overflow:hidden; display:grid; grid-template-columns:1fr 54%; column-gap:40px; align-items:center; box-shadow:inset -380px 0 320px -80px rgba(5,6,3,0.88); }
.ae-ie-copy { padding:0 0 0 var(--ae-gutter); min-width:0; }
.ae-eyebrow--ie { color:var(--ae-ink-60); margin-bottom:14px; }
.ae-ie-h2 { font-size:clamp(30px,2.6vw,42px); font-weight:700; letter-spacing:-0.025em; line-height:1.08; color:var(--ae-ink); margin:0 0 22px; max-width:24ch; }
.ae-ie-lead { font-size:17px; font-weight:300; line-height:1.65; color:var(--ae-ink-82); margin:0 0 44px; max-width:52ch; }
.ae-ie-q { font-size:clamp(18px,1.6vw,32px); font-weight:700; letter-spacing:-0.03em; line-height:1.12; color:var(--ae-ink); margin:0; white-space:nowrap; }
.ae-roller { display:inline-block; height:1.12em; overflow:hidden; vertical-align:bottom; }
.ae-roller-track { display:block; will-change:transform; }
.ae-roller-track > span { display:block; height:1.12em; white-space:nowrap; color:var(--ae-lime); }
.ae-ie-media { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; height:100%; padding-right:20px; }
.ae-ie-fan { position:relative; width:100%; will-change:transform; }

/* 7. Quotes ------------------------------------------------------------------- */
.ae-quote-sec { background:#2B2F19; padding:0 var(--ae-gutter) 120px; }
.ae-quote { display:grid; grid-template-columns:64px 1fr; gap:12px; max-width:1240px; border-top:1px solid var(--ae-line); padding-top:56px; }
.ae-quote-mark { font-size:92px; line-height:0.62; font-weight:600; color:var(--ae-lime); user-select:none; }
.ae-quote blockquote p { font-size:clamp(1.3rem,1.7vw,1.9rem); font-weight:200; font-style:italic; line-height:1.5; color:var(--ae-ink); margin:0 0 26px; }
.ae-quote-cite { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ae-quote-who { display:flex; flex-direction:column; gap:7px; }
.ae-quote-name { font-size:12px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-ink); }
.ae-quote-role { font-size:14px; font-weight:400; color:var(--ae-ink-60); }
.ae-quote-link { font-size:12px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-ink-60); text-decoration:none; transition:color .2s; }
.ae-quote-link:hover { color:var(--ae-ink); }

/* 8. Platform tiers (LIGHT / HD) --------------------------------------------- */
.ae-tiers { position:relative; overflow:hidden; background:#383D21; }
.ae-tiers-top { position:relative; padding:120px var(--ae-gutter) 56px; }
.ae-tiers-bottom { position:relative; padding:0 var(--ae-gutter) 120px; }
.ae-contour { position:absolute; inset:0; background:url("../img/contour-olive.svg") 0 0 / 1500px 1500px repeat; opacity:0.8; pointer-events:none; }
.ae-contour--sm { background-size:820px 820px; }
.ae-tier { position:relative; display:flex; flex-wrap:wrap; column-gap:64px; align-items:flex-start; max-width:1240px; }
.ae-tier-eyebrow { flex:0 0 100%; font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-ink-55); margin:0 0 14px; }
.ae-tier--intro .ae-tier-eyebrow { line-height:1.5; margin-bottom:18px; }
.ae-tier-h2 { flex:1 1 380px; font-size:clamp(36px,3.4vw,50px); font-weight:700; letter-spacing:-0.02em; line-height:1.05; color:var(--ae-ink); margin:0 0 24px; text-wrap:balance; }
.ae-tier-h3 { flex:1 1 380px; margin-bottom:16px; white-space:nowrap; }
.ae-tier-h3--wrap { white-space:normal; text-wrap:balance; }
.ae-tier-text { flex:1 1 380px; font-size:17px; font-weight:300; line-height:1.65; color:var(--ae-ink-78); margin:0; max-width:68ch; text-wrap:pretty; }
.ae-tier-rule { position:relative; max-width:1240px; height:1px; margin:56px 0; border:0; background:var(--ae-line); }
.ae-tier-rule--first { margin-top:0; }
.ae-quote--tiers { position:relative; margin-top:56px; }

/* 9. Recognition timeline ----------------------------------------------------- */
.ae-cred { background:var(--ae-paper); padding:96px var(--ae-gutter); }
.ae-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid rgba(56,61,33,0.18); padding-bottom:48px; }
.ae-timeline-track, .ae-milestones { display:contents; }
.ae-milestones { list-style:none; margin:0; padding:0; }
.ae-timeline-head { grid-row:1; grid-column:2 / 4; display:flex; flex-direction:column; align-items:flex-start; }
.ae-timeline-head img { display:block; height:44px; width:auto; }
.ae-timeline-bracket { display:block; width:50%; box-sizing:border-box; height:20px; margin:20px 0 0 4px; border:1px solid var(--ae-paper-line); border-bottom:none; }
.ae-milestone { grid-row:2; position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:12px; min-width:0; border-top:1px solid var(--ae-paper-line); padding:28px 24px 0 0; }
.ae-milestone::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:var(--ae-dark); }
.ae-milestone-year { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-muted); }
.ae-milestone-title { font-size:clamp(1rem,1.7vw,2rem); font-weight:700; letter-spacing:-0.02em; line-height:1.12; color:var(--ae-dark); margin:0; text-wrap:balance; }
.ae-milestone-note { font-size:13px; font-weight:400; line-height:1.45; color:var(--ae-muted); text-wrap:pretty; }
.ae-timeline-dots { display:none; }

.ae-logo-group { padding-top:48px; }
.ae-logo-group + .ae-logo-group { margin-top:64px; border-top:1px solid rgba(56,61,33,0.18); }
.ae-logo-label { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-muted); margin:0 0 36px; }
.ae-logos { display:grid; grid-template-columns:repeat(5,1fr); gap:44px 40px; align-items:center; justify-items:center; list-style:none; margin:0; padding:0; }
.ae-logos--tight { gap:32px 28px; }
.ae-logos img { display:block; max-height:var(--h,48px); max-width:100%; width:auto; object-fit:contain; }
.ae-logos img.is-round { border-radius:50%; }

/* 10. Proof grid & closing CTA -------------------------------------------------- */
.ae-proof-sec { background:var(--ae-paper-2); padding:104px var(--ae-gutter) 110px; }
.ae-proof-head { margin-bottom:72px; }
.ae-proof-head h2 { font-size:clamp(34px,3.2vw,46px); font-weight:700; letter-spacing:-0.02em; color:var(--ae-dark); margin:0 0 18px; }
.ae-proof-head p { font-size:16px; font-weight:400; line-height:1.55; color:var(--ae-muted); margin:0; max-width:50ch; }
.ae-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.ae-proof { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:0 44px 48px; }
.ae-proof:nth-child(3n+1) { padding-left:0; }
.ae-proof:nth-child(3n) { padding-right:0; }
.ae-proof:not(:nth-child(3n+1)) { border-left:1px solid rgba(35,39,26,0.12); }
.ae-proof:nth-child(n+4) { border-top:1px solid rgba(35,39,26,0.12); padding-top:48px; padding-bottom:0; }
.ae-proof-k { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--ae-muted); }
.ae-proof-v { font-size:clamp(1.75rem,2.1vw,2.5rem); font-weight:700; letter-spacing:-0.02em; line-height:1.12; color:var(--ae-dark); }
.ae-proof-d { font-size:15px; font-weight:400; line-height:1.55; color:var(--ae-muted); }
.ae-proof-foot { margin-top:auto; padding-top:16px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ae-link-btn { background:none; border:none; padding:0; cursor:pointer; font:600 14px 'Work Sans',system-ui,sans-serif; color:var(--ae-dark); text-decoration:none; }
.ae-link-btn:hover { text-decoration:underline; }
.ae-badge { font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:#8a5a00; background:rgba(232,237,92,0.35); padding:4px 10px; border-radius:2px; }

.ae-cta { position:relative; overflow:hidden; padding:160px var(--ae-gutter); }
.ae-cta-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0.18; }
.ae-cta-inner { position:relative; max-width:720px; }
.ae-cta-title { font-size:clamp(44px,4.4vw,64px); font-weight:700; letter-spacing:-0.03em; line-height:1; color:var(--ae-ink); margin:0 0 24px; }
.ae-cta-lead { font-size:18px; font-weight:300; line-height:1.6; color:var(--ae-ink-82); margin:0 0 40px; }

/* 11. Footer ------------------------------------------------------------------ */
.ae-footer { background:#262915; padding:72px var(--ae-gutter) 48px; }
.ae-foot-top { display:flex; justify-content:space-between; align-items:flex-start; gap:48px; flex-wrap:wrap; border-bottom:1px solid rgba(251,251,247,0.1); padding-bottom:48px; margin-bottom:32px; }
.ae-foot-brand { display:flex; flex-direction:column; gap:20px; }
.ae-foot-logo { height:72px; width:auto; align-self:flex-start; }
.ae-foot-tag { font-size:14px; font-weight:300; font-style:italic; color:var(--ae-ink-70); margin:0; }
.ae-foot-cols { display:flex; gap:64px; }
.ae-foot-col { display:flex; flex-direction:column; gap:12px; }
.ae-foot-link { font-size:14px; color:var(--ae-ink); text-decoration:none; }
.ae-foot-link:hover { text-decoration:underline; }
.ae-foot-link--muted { color:var(--ae-ink-70); }
.ae-foot-base { display:flex; justify-content:space-between; align-items:flex-start; gap:16px 32px; flex-wrap:wrap; font-size:13px; font-weight:400; color:var(--ae-ink-55); }
.ae-foot-base p { margin:0; }
.ae-foot-legal { display:flex; gap:24px; }
.ae-foot-legal a { color:var(--ae-ink-70); text-decoration:none; }
.ae-foot-legal a:hover { color:var(--ae-ink); text-decoration:underline; }

/* 12. Overlays ------------------------------------------------------------------ */
html.ae-modal-open, html.ae-modal-open body { overflow:hidden; }
.ae-modal[hidden], .ae-lightbox[hidden] { display:none !important; }
.ae-modal { position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:32px 20px; background:rgba(5,6,3,0); backdrop-filter:blur(0); transition:background .22s ease, backdrop-filter .22s ease; }
.ae-modal.is-open { background:rgba(5,6,3,0.82); backdrop-filter:blur(4px); }
.ae-modal-panel { position:relative; width:min(720px,100%); max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); overflow:auto; overscroll-behavior:contain; background:var(--ae-paper-2); color:var(--ae-dark); border-radius:6px; box-shadow:0 40px 100px -30px rgba(0,0,0,0.9); font-family:'Work Sans',system-ui,sans-serif; opacity:0; transform:translateY(16px) scale(.985); transition:opacity .22s ease, transform .22s ease; outline:none; }
.ae-modal.is-open .ae-modal-panel { opacity:1; transform:none; }
.ae-modal--legal .ae-modal-panel { width:min(860px,100%); }
.ae-modal-close { position:sticky; top:12px; float:right; margin:12px 12px 0 0; z-index:2; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:var(--ae-dark); color:var(--ae-ink); cursor:pointer; transition:background .2s; }
.ae-modal-close:hover { background:#383D21; }
.ae-modal-close:focus-visible { outline:2px solid var(--ae-lime); outline-offset:2px; }
.ae-modal-head { padding:44px 48px 8px; }
.ae-modal-head h2 { font-size:clamp(26px,3vw,34px); font-weight:700; letter-spacing:-0.02em; line-height:1.1; margin:0 0 12px; padding-right:40px; }
.ae-modal-head p { font-size:16px; font-weight:300; line-height:1.6; color:var(--ae-muted); margin:0; }
.ae-modal-body { padding:24px 48px 44px; }
.ae-modal-loading { color:var(--ae-muted); font-size:14px; }
.ae-legal { font-size:15px; line-height:1.65; font-weight:400; color:#383D21; padding-top:44px; }
.ae-legal h1 { font-size:clamp(26px,3vw,34px); font-weight:700; letter-spacing:-0.02em; line-height:1.1; color:var(--ae-dark); margin:0 0 24px; padding-right:48px; }
.ae-legal p { margin:0 0 14px; }
.ae-legal p strong:only-child { display:block; margin-top:26px; font-size:17px; color:var(--ae-dark); }
.ae-legal ol, .ae-legal ul { margin:0 0 16px; padding-left:22px; }
.ae-legal li { margin:0 0 6px; }
.ae-legal a { color:var(--ae-dark); text-decoration:underline; }

.ae-lightbox { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:48px; background:rgba(5,6,3,0.93); }
.ae-lb-close { position:absolute; top:24px; right:32px; background:none; border:1px solid rgba(251,251,247,0.4); color:var(--ae-ink); font:600 13px 'Work Sans',system-ui,sans-serif; letter-spacing:0.08em; text-transform:uppercase; padding:10px 18px; border-radius:2px; cursor:pointer; }
.ae-lb-close:hover { background:rgba(251,251,247,0.1); }
.ae-lb-stage { width:min(1100px,92vw); aspect-ratio:16/9; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:var(--ae-black); border:1px solid rgba(251,251,247,0.16); color:var(--ae-ink); font-family:'Work Sans',system-ui,sans-serif; }
.ae-lb-stage iframe, .ae-lb-stage video { width:100%; height:100%; border:0; display:block; background:#000; }
.ae-lb-play { width:0; height:0; border-left:22px solid rgba(251,251,247,0.35); border-top:14px solid transparent; border-bottom:14px solid transparent; }
.ae-lb-title { font-size:16px; font-weight:600; }
.ae-lb-note { font-size:13px; color:var(--ae-ink-55); }

/* 13. Motion -------------------------------------------------------------------- */
/* Hero intro: title fades in row by row (home.js sets --row / --d). */
.ae-js:not(.ae-intro-done) .ae-hero-copy > * { opacity:0; }
.ae-js:not(.ae-intro-done) .ae-hero-copy > .ae-hero-title { opacity:1; }
.ae-js:not(.ae-intro-done) .ae-hero-title .ae-w { opacity:0; }
.ae-hero-title .ae-w { display:inline-block; }
.ae-intro-go .ae-hero-eyebrow,
.ae-intro-go .ae-hero-lead,
.ae-intro-go .ae-hero-copy > .ae-btn { animation:aeUp .9s var(--ae-ease) both; animation-delay:var(--d,0ms); }
.ae-intro-go .ae-hero-title .ae-w { animation:aeUp 1s var(--ae-ease) both; animation-delay:calc(220ms + var(--row,0) * 160ms); }
@keyframes aeUp { from { opacity:0; transform:translateY(0.45em); } to { opacity:1; transform:none; } }
/* Failsafe: if the script never runs, show the hero after a moment. */
.ae-js:not(.ae-intro-go) .ae-hero-copy > *, .ae-js:not(.ae-intro-go) .ae-hero-title .ae-w { animation:aeShow 0s 2.5s forwards; }
@keyframes aeShow { to { opacity:1; } }

/* Scroll fades */
.ae-fade { opacity:0; translate:0 26px; transition:opacity .9s var(--ae-ease), translate .9s var(--ae-ease); }
.ae-fade.is-in { opacity:1; translate:0 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .ae-fade { opacity:1; translate:none; transition:none; }
  .ae-ie { height:auto; }
  .ae-ie-sticky { position:static; height:auto; }
}
@media (min-width:768px) and (prefers-reduced-motion: reduce) {
  .ae-ie-sticky { padding:120px 0; }
}

/* 14. Tablet / mobile ------------------------------------------------------------- */
@media (max-width:900px) {
  :root { --ae-gutter:20px; }
  .ae-page section[id] { scroll-margin-top:72px; }
  .ae-nav { padding:12px 20px; }
  .ae-nav-logo { height:40px; }
  .ae-nav-cta { font-size:12px; padding:9px 14px; }

  /* Hero: stacked, no scroll choreography */
  .ae-hero { height:auto; }
  .ae-hero-sticky { position:relative; height:auto; display:block; overflow:visible; padding:116px 20px 24px; }
  .ae-hero-sticky::after { display:none; }
  .ae-hero-copy { position:static; transform:none; max-width:none; }
  .ae-hero-title { font-size:clamp(36px,10.5vw,52px); }
  .ae-hero-desk { position:relative; left:auto; top:auto; width:auto; transform:none; margin:48px 0 0; }
  .ae-hero-fold { transform:none; }
  .ae-hero-phone { right:28px; top:auto; bottom:56px; margin:0; transform:none; opacity:1; }
  .ae-phone { width:clamp(84px,24vw,140px); border-radius:20px; padding:4px; }
  .ae-phone img { border-radius:16px; }
  .ae-hero-caption { position:static; margin-top:20px; }

  /* Outcomes */
  .ae-outcomes { padding-top:88px; }
  .ae-pin { height:auto; margin:64px 0; }
  .ae-pin-sticky { position:static; height:auto; display:block; }
  .ae-feature, .ae-feature--media-left { grid-template-columns:minmax(0,1fr); gap:28px; }
  .ae-feature--spaced { padding-bottom:64px; }
  .ae-feature--media-left > :first-child { order:2; }
  .ae-h3 { font-size:30px; }
  [data-parallax] { transform:none !important; } /* clears any desktop parallax left by home.js */

  /* Quotes & tiers */
  .ae-quote-sec { padding-bottom:88px; }
  .ae-quote { grid-template-columns:1fr; padding-top:40px; }
  .ae-quote-mark { font-size:64px; }
  .ae-tiers-top { padding-top:88px; padding-bottom:40px; }
  .ae-tiers-bottom { padding-bottom:88px; }
  .ae-tier-rule { margin:40px 0; }
  .ae-tier-rule--first { margin-top:0; }
  .ae-tier-h3 { white-space:normal; }
  .ae-quote--tiers { margin-top:40px; }

  /* Recognition: horizontal swipe carousel; logo + bracket span 2024–2025 (placed by home.js) */
  .ae-cred { padding-top:72px; padding-bottom:72px; }
  .ae-timeline { display:block; }
  .ae-timeline-track { display:block; position:relative; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-left:20px; margin:0 -20px; padding:89px 20px 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .ae-timeline-track::-webkit-scrollbar { display:none; }
  .ae-milestones { display:flex; }
  .ae-timeline-head { position:absolute; top:5px; left:0; }
  .ae-timeline-bracket { width:100%; }
  .ae-milestone { flex:0 0 72%; scroll-snap-align:start; }
  .ae-milestone:last-child { flex-basis:calc(72% + 20px); padding-right:20px; }
  .ae-milestone-title { font-size:18px; }
  .ae-timeline-dots { display:flex; gap:8px; margin-top:28px; }
  .ae-timeline-dots button { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(35,39,26,0.25); cursor:pointer; transition:background .2s, width .2s; }
  .ae-timeline-dots button.is-active { width:22px; border-radius:4px; background:var(--ae-dark); }
  .ae-logos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 20px; }

  /* Proof grid */
  .ae-proof-sec { padding-top:72px; padding-bottom:72px; }
  .ae-proof-head { margin-bottom:40px; }
  .ae-proof-grid { grid-template-columns:1fr; }
  .ae-proof, .ae-proof:nth-child(n) { padding:32px 0; border-left:0; border-top:1px solid rgba(35,39,26,0.12); }
  .ae-proof:first-child { border-top:0; padding-top:0; }

  /* CTA & footer */
  .ae-cta { padding-top:104px; padding-bottom:104px; }
  .ae-cta-title { font-size:clamp(34px,9.5vw,52px); }
  .ae-footer { padding-top:56px; }
  .ae-foot-logo { height:60px; }
  .ae-foot-cols { gap:40px; }

  .ae-lightbox { padding:16px; }
  .ae-lb-close { top:12px; right:12px; }
}

/* Intelligence Engine on phones: same pinned roller as desktop, restacked.
   home.js sizes the track and the sticky offset. */
@media (max-width:767px) {
  .ae-ie-sticky { display:block; height:auto; overflow:visible; box-shadow:none; padding:56px 20px 40px; }
  .ae-ie-copy { padding:0; }
  .ae-ie-h2 { font-size:clamp(28px,6.4vw,38px); line-height:1.15; max-width:none; margin-bottom:18px; }
  .ae-ie-lead { font-size:16px; margin-bottom:32px; }
  .ae-ie-q { font-size:clamp(26px,7vw,40px); white-space:normal; }
  .ae-ie-media { height:auto; padding:0; margin-top:32px; }
}

@media (max-width:600px) {
  .ae-modal { padding:0; align-items:stretch; }
  .ae-modal-panel { max-height:none; height:100%; border-radius:0; }
  .ae-modal-head { padding:28px 20px 4px; }
  .ae-modal-body { padding:16px 20px 32px; }
  .ae-legal { padding-top:28px; }
}

@media (max-width:480px) {
  .ae-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* 15. Fallback template (index.php) ------------------------------------------------ */
.ae-basic-main { max-width:760px; margin:0 auto; padding:140px 20px 96px; color:var(--ae-ink); font-size:17px; line-height:1.65; font-weight:300; }
.ae-basic-main h1 { font-size:clamp(32px,4vw,48px); font-weight:700; letter-spacing:-0.02em; line-height:1.1; }
.ae-basic-main a { color:var(--ae-lime); }
