/* ════════════════════════════════════════════════════════════
   aichat-landing.css — Fidelis AI Chat Landing Page
   Scoped prefix: ac-
   ════════════════════════════════════════════════════════════ */

:root{
    --ac-bg:        #060e16;
    --ac-bg2:       #0a1420;
    --ac-card:      #0d1a27;
    --ac-card2:     #0f2030;
    --ac-teal:      #00ffd5;
    --ac-violet:    #7c5cff;
    --ac-amber:     #ffb74d;
    --ac-text:      #e9f1f6;
    --ac-muted:     #8ca3b4;
    --ac-border:    rgba(255,255,255,.08);
    --ac-border2:   rgba(0,255,213,.18);
    --ac-glow:      0 0 40px rgba(0,255,213,.25);
    --ac-radius:    18px;
    --ac-maxw:      1140px;
    --ac-font-head: 'Syne', system-ui, sans-serif;
    --ac-font-body: 'DM Sans', system-ui, sans-serif;
}

/* ── Base ─────────────────────────────────────────────────── */
.ac-page{
    background: var(--ac-bg);
    color: var(--ac-text);
    font-family: var(--ac-font-body);
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
}
.ac-page *{ box-sizing: border-box; }
.ac-wrap{ max-width: var(--ac-maxw); margin: 0 auto; padding: 0 22px; }
.ac-page h1,.ac-page h2,.ac-page h3{ font-family: var(--ac-font-head); font-weight: 800; line-height: 1.12; margin: 0; letter-spacing: -.02em; }
.ac-page em{ font-style: normal; background: linear-gradient(100deg,var(--ac-teal),var(--ac-violet)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ── Decorative blobs ─────────────────────────────────────── */
.ac-blob{ position:absolute; border-radius:50%; filter: blur(90px); opacity:.5; pointer-events:none; z-index:0; }
.ac-blob-1{ width:480px; height:480px; background:radial-gradient(circle,rgba(0,255,213,.45),transparent 70%); top:-160px; left:-120px; }
.ac-blob-2{ width:520px; height:520px; background:radial-gradient(circle,rgba(124,92,255,.40),transparent 70%); top:-80px; right:-180px; }
.ac-blob-3{ width:560px; height:560px; background:radial-gradient(circle,rgba(0,255,213,.30),transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); }

/* ── Nav ──────────────────────────────────────────────────── */
.ac-nav{ position:sticky; top:0; z-index:60; background:rgba(6,14,22,.78); backdrop-filter:blur(14px); border-bottom:1px solid var(--ac-border); }
.ac-nav-inner{ max-width:var(--ac-maxw); margin:0 auto; padding:14px 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.ac-nav-brand{ font-family:var(--ac-font-head); font-weight:800; font-size:1.2rem; color:#fff; text-decoration:none; letter-spacing:-.02em; }
.ac-nav-brand:hover{ color:var(--ac-teal); }
.ac-nav-links{ display:flex; gap:26px; }
.ac-nav-links a{ color:var(--ac-muted); text-decoration:none; font-size:.94rem; font-weight:600; transition:.2s; }
.ac-nav-links a:hover{ color:var(--ac-teal); }
.ac-nav-actions{ display:flex; gap:10px; }
.ac-nav-btn{ font-family:var(--ac-font-body); font-weight:700; font-size:.9rem; padding:9px 18px; border-radius:999px; cursor:pointer; text-decoration:none; transition:.2s; border:1px solid transparent; }
.ac-nav-btn.solid{ background:linear-gradient(100deg,var(--ac-teal),var(--ac-violet)); color:#04121a; }
.ac-nav-btn.solid:hover{ box-shadow:var(--ac-glow); transform:translateY(-1px); }
.ac-nav-btn.outline{ background:rgba(0,255,213,.08); color:var(--ac-teal); border-color:var(--ac-border2); }
.ac-nav-btn.outline:hover{ background:rgba(0,255,213,.16); }

/* ── Buttons ──────────────────────────────────────────────── */
.ac-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--ac-font-body); font-weight:700; font-size:1rem; padding:14px 28px; border-radius:999px; text-decoration:none; cursor:pointer; border:1px solid transparent; transition:.22s; }
.ac-btn.primary{ background:linear-gradient(100deg,var(--ac-teal),var(--ac-violet)); color:#04121a; box-shadow:0 10px 30px rgba(0,255,213,.22); }
.ac-btn.primary:hover{ transform:translateY(-2px); box-shadow:0 14px 40px rgba(0,255,213,.36); }
.ac-btn.secondary{ background:rgba(124,92,255,.10); color:#cdbcff; border-color:rgba(124,92,255,.35); }
.ac-btn.secondary:hover{ background:rgba(124,92,255,.20); transform:translateY(-2px); }

/* ── Sections ─────────────────────────────────────────────── */
.ac-section{ position:relative; padding:84px 0; z-index:1; }
.ac-section-sm{ position:relative; padding:36px 0; z-index:1; }
.ac-section-alt{ background:linear-gradient(180deg,var(--ac-bg),var(--ac-bg2),var(--ac-bg)); }
.ac-section-head{ text-align:center; max-width:680px; margin:0 auto 50px; }
.ac-section-kicker{ display:inline-block; font-size:.82rem; font-weight:700; letter-spacing:.04em; color:var(--ac-teal); background:rgba(0,255,213,.08); border:1px solid var(--ac-border2); padding:7px 16px; border-radius:999px; margin-bottom:18px; }
.ac-section-title{ font-size:clamp(1.7rem,3.6vw,2.5rem); margin-bottom:14px; }
.ac-section-sub{ color:var(--ac-muted); font-size:1.05rem; }

/* ── Hero ─────────────────────────────────────────────────── */
.ac-hero{ position:relative; padding:78px 0 60px; text-align:center; overflow:hidden; }
.ac-hero-inner{ position:relative; z-index:2; }
.ac-hero-kicker{ display:inline-block; font-size:.85rem; font-weight:700; color:var(--ac-teal); background:rgba(0,255,213,.08); border:1px solid var(--ac-border2); padding:8px 18px; border-radius:999px; margin-bottom:24px; }
.ac-hero-title{ font-size:clamp(2.1rem,5.4vw,3.6rem); margin-bottom:20px; }
.ac-hero-desc{ max-width:640px; margin:0 auto 32px; color:var(--ac-muted); font-size:1.12rem; }
.ac-hero-cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:46px; }
.ac-hero-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:760px; margin:0 auto; }
.ac-hero-stat{ background:rgba(255,255,255,.03); border:1px solid var(--ac-border); border-radius:14px; padding:18px 10px; }
.ac-hero-stat strong{ display:block; font-family:var(--ac-font-head); font-size:1.25rem; color:#fff; }
.ac-hero-stat span{ font-size:.8rem; color:var(--ac-muted); }

/* ── Overview video ───────────────────────────────────────── */
.ac-video-frame{ position:relative; max-width:880px; margin:0 auto; border-radius:22px; overflow:hidden; border:1px solid var(--ac-border2); box-shadow:0 30px 80px rgba(0,0,0,.55), var(--ac-glow); background:#000; aspect-ratio:16/9; }
.ac-video{ width:100%; height:100%; object-fit:cover; display:block; }
.ac-video-play{ position:absolute; inset:0; margin:auto; width:78px; height:78px; border-radius:50%; border:none; background:rgba(0,255,213,.92); color:#04121a; font-size:1.6rem; cursor:pointer; display:none; align-items:center; justify-content:center; box-shadow:0 0 0 12px rgba(0,255,213,.18); transition:.2s; }
.ac-video-play.is-visible{ display:flex; }
.ac-video-play:hover{ transform:scale(1.06); }
.ac-video-play-ico{ margin-left:4px; }
.ac-video-sound{ position:absolute; bottom:14px; right:14px; width:42px; height:42px; border-radius:50%; border:1px solid var(--ac-border); background:rgba(0,0,0,.55); color:#fff; cursor:pointer; font-size:1rem; backdrop-filter:blur(6px); transition:.2s; }
.ac-video-sound:hover{ background:rgba(0,0,0,.8); }
.ac-video-cap{ text-align:center; color:var(--ac-muted); font-size:.9rem; margin-top:16px; }

/* ── Feature split sections ───────────────────────────────── */
.ac-feature{ display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.ac-feature.reverse .ac-feature-text{ order:2; }
.ac-feature.reverse .ac-feature-visual{ order:1; }
.ac-feature-title{ font-size:clamp(1.6rem,3.2vw,2.3rem); margin-bottom:16px; }
.ac-feature-desc{ color:var(--ac-muted); font-size:1.05rem; margin-bottom:22px; }
.ac-feature-list{ list-style:none; padding:0; margin:0 0 28px; }
.ac-feature-list li{ display:flex; align-items:flex-start; gap:11px; padding:9px 0; font-size:1rem; color:#d6e3ec; }
.ac-feature-list li span{ color:var(--ac-teal); font-size:.95rem; margin-top:2px; flex-shrink:0; }

/* ── Chat UI mockup ───────────────────────────────────────── */
.ac-feature-visual{ display:flex; justify-content:center; }
.ac-shot{ width:100%; max-width:460px; border-radius:18px; border:1px solid var(--ac-border2); box-shadow:0 30px 70px rgba(0,0,0,.5); }
.ac-chatui{ width:100%; max-width:430px; background:linear-gradient(180deg,var(--ac-card2),var(--ac-card)); border:1px solid var(--ac-border2); border-radius:20px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.5), var(--ac-glow); }
.ac-float{ animation:acFloat 6s ease-in-out infinite; }
@keyframes acFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
.ac-chatui-bar{ display:flex; align-items:center; gap:7px; padding:13px 16px; background:rgba(255,255,255,.03); border-bottom:1px solid var(--ac-border); }
.ac-dot{ width:11px; height:11px; border-radius:50%; }
.ac-dot.r{ background:#ff5f57; } .ac-dot.y{ background:#febc2e; } .ac-dot.g{ background:#28c840; }
.ac-chatui-title{ margin-left:8px; font-weight:700; font-size:.88rem; color:#cfe0ea; }
.ac-chatui-body{ padding:18px 16px; display:flex; flex-direction:column; gap:12px; min-height:280px; }
.ac-bubble{ max-width:84%; padding:11px 15px; border-radius:16px; font-size:.92rem; line-height:1.45; }
.ac-bubble b{ color:#fff; }
.ac-bubble.user{ align-self:flex-end; background:linear-gradient(100deg,var(--ac-violet),#9d7bff); color:#fff; border-bottom-right-radius:5px; }
.ac-bubble.ai{ align-self:flex-start; background:rgba(0,255,213,.10); border:1px solid var(--ac-border2); color:#dff7f1; border-bottom-left-radius:5px; }
.ac-typing-bubble{ padding:14px 16px; }
.ac-typing{ display:inline-flex; gap:5px; }
.ac-typing i{ width:8px; height:8px; border-radius:50%; background:var(--ac-teal); opacity:.5; animation:acType 1.2s infinite; }
.ac-typing i:nth-child(2){ animation-delay:.2s; }
.ac-typing i:nth-child(3){ animation-delay:.4s; }
@keyframes acType{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-5px); opacity:1; } }

/* Buy card bubble */
.ac-buy-card{ align-self:flex-start; max-width:100%; width:100%; display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.04); border:1px solid var(--ac-border2); border-radius:14px; padding:13px 14px; }
.ac-buy-emoji{ font-size:1.7rem; flex-shrink:0; }
.ac-buy-info{ flex:1; min-width:0; }
.ac-buy-name{ font-weight:700; font-size:.92rem; color:#fff; }
.ac-buy-meta{ font-size:.76rem; color:var(--ac-muted); }
.ac-buy-side{ text-align:right; flex-shrink:0; }
.ac-buy-price{ font-size:.74rem; color:var(--ac-amber); font-weight:700; margin-bottom:5px; }
.ac-buy-btn{ display:inline-block; background:linear-gradient(100deg,var(--ac-teal),var(--ac-violet)); color:#04121a; font-weight:700; font-size:.74rem; padding:6px 11px; border-radius:999px; white-space:nowrap; }

/* ── Steps / how-to cards ─────────────────────────────────── */
.ac-steps-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.ac-step-card{ background:rgba(255,255,255,.03); border:1px solid var(--ac-border); border-radius:16px; padding:26px 22px; transition:.25s; }
.ac-step-card:hover{ border-color:var(--ac-border2); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.4); }
.ac-step-num{ width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-family:var(--ac-font-head); font-weight:800; font-size:1.15rem; color:#04121a; background:linear-gradient(120deg,var(--ac-teal),var(--ac-violet)); margin-bottom:16px; }
.ac-step-title{ font-family:var(--ac-font-head); font-weight:700; font-size:1.08rem; color:#fff; margin-bottom:8px; }
.ac-step-text{ font-size:.92rem; color:var(--ac-muted); }

.ac-examples{ margin-top:42px; text-align:center; }
.ac-examples-label{ color:var(--ac-muted); font-size:.92rem; margin-bottom:16px; }
.ac-chip-cloud{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ac-chip{ background:rgba(0,255,213,.07); border:1px solid var(--ac-border2); color:#cdeee7; font-size:.86rem; padding:9px 16px; border-radius:999px; }

/* ── Reviews ──────────────────────────────────────────────── */
.ac-reviews-outer{ max-width:1000px; margin:0 auto; }
.ac-reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ac-review-card{ background:rgba(255,255,255,.03); border:1px solid var(--ac-border); border-radius:16px; padding:24px; display:flex; flex-direction:column; gap:12px; }
.ac-review-card.is-hidden{ display:none; }
.ac-review-stars{ color:var(--ac-amber); letter-spacing:2px; font-size:1rem; }
.ac-review-badge{ display:inline-block; align-self:flex-start; font-size:.74rem; font-weight:700; color:var(--ac-teal); background:rgba(0,255,213,.08); border:1px solid var(--ac-border2); padding:5px 11px; border-radius:999px; }
.ac-review-quote{ color:#d6e3ec; font-size:.94rem; flex:1; margin:0; }
.ac-review-user{ display:flex; align-items:center; gap:11px; }
.ac-review-avatar{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--ac-font-head); font-weight:800; color:#04121a; background:linear-gradient(120deg,var(--ac-teal),var(--ac-violet)); flex-shrink:0; }
.ac-review-name{ font-weight:700; font-size:.92rem; color:#fff; }
.ac-review-handle{ font-size:.78rem; color:var(--ac-muted); }
.ac-review-dots{ display:flex; gap:10px; justify-content:center; margin-top:28px; }
.ac-review-dot{ width:11px; height:11px; border-radius:50%; border:none; background:rgba(255,255,255,.18); cursor:pointer; transition:.2s; padding:0; }
.ac-review-dot.is-active{ background:var(--ac-teal); width:30px; border-radius:999px; }

/* ── Final CTA ────────────────────────────────────────────── */
.ac-final{ position:relative; text-align:center; background:linear-gradient(160deg,var(--ac-card2),var(--ac-card)); border:1px solid var(--ac-border2); border-radius:26px; padding:64px 30px; overflow:hidden; }
.ac-final-title{ position:relative; z-index:2; font-size:clamp(1.7rem,3.6vw,2.6rem); margin-bottom:14px; }
.ac-final-sub{ position:relative; z-index:2; color:var(--ac-muted); font-size:1.06rem; margin-bottom:30px; }
.ac-final-cta{ position:relative; z-index:2; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ── Dividers via spacing handled by sections ─────────────── */

/* ── Scroll reveal ────────────────────────────────────────── */
.ac-reveal{ opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.ac-reveal.is-in{ opacity:1; transform:none; }

/* ── Modal ────────────────────────────────────────────────── */
.ac-modal-overlay{ position:fixed; inset:0; z-index:1000; background:rgba(3,8,13,.78); backdrop-filter:blur(6px); display:none; align-items:center; justify-content:center; padding:20px; }
.ac-modal-overlay.is-open{ display:flex; }
.ac-modal-box{ position:relative; width:100%; max-width:440px; background:linear-gradient(180deg,var(--ac-card2),var(--ac-card)); border:1px solid var(--ac-border2); border-radius:22px; padding:38px 30px 28px; text-align:center; box-shadow:0 40px 90px rgba(0,0,0,.6); animation:acPop .3s ease; }
@keyframes acPop{ from{ transform:scale(.94); opacity:0; } to{ transform:scale(1); opacity:1; } }
.ac-modal-close{ position:absolute; top:14px; right:16px; background:none; border:none; color:var(--ac-muted); font-size:1.2rem; cursor:pointer; transition:.2s; }
.ac-modal-close:hover{ color:#fff; }
.ac-modal-icon{ font-size:2.2rem; margin-bottom:12px; }
.ac-modal-title{ font-size:1.4rem; margin-bottom:10px; color:#fff; }
.ac-modal-desc{ color:var(--ac-muted); font-size:.95rem; margin-bottom:20px; }
.ac-lead-error{ background:rgba(255,90,90,.12); border:1px solid rgba(255,90,90,.35); color:#ffb3b3; font-size:.86rem; padding:10px 14px; border-radius:10px; margin-bottom:14px; }
.ac-lead-form{ display:flex; flex-direction:column; gap:14px; text-align:left; }
.ac-lead-field label{ display:block; font-size:.82rem; font-weight:600; color:#cfe0ea; margin-bottom:6px; }
.ac-lead-field input{ width:100%; background:rgba(255,255,255,.04); border:1px solid var(--ac-border); border-radius:11px; padding:13px 15px; color:#fff; font-family:var(--ac-font-body); font-size:.96rem; transition:.2s; }
.ac-lead-field input:focus{ outline:none; border-color:var(--ac-teal); background:rgba(0,255,213,.05); }
.ac-lead-submit{ width:100%; background:linear-gradient(100deg,var(--ac-teal),var(--ac-violet)); color:#04121a; font-family:var(--ac-font-body); font-weight:700; font-size:1rem; padding:14px; border:none; border-radius:11px; cursor:pointer; transition:.2s; }
.ac-lead-submit:hover{ box-shadow:var(--ac-glow); }
.ac-lead-submit:disabled{ opacity:.7; cursor:not-allowed; }
.ac-lead-login{ font-size:.86rem; color:var(--ac-muted); margin-top:16px; }
.ac-lead-login a{ color:var(--ac-teal); text-decoration:none; font-weight:600; }
.ac-lead-login a:hover{ text-decoration:underline; }
.ac-lead-privacy{ font-size:.78rem; color:var(--ac-muted); margin-top:8px; }

/* ════════════ RESPONSIVE ════════════ */
@media (max-width: 900px){
    .ac-feature{ grid-template-columns:1fr; gap:36px; }
    .ac-feature.reverse .ac-feature-text{ order:2; }
    .ac-feature.reverse .ac-feature-visual{ order:1; }
    .ac-steps-grid{ grid-template-columns:repeat(2,1fr); }
    .ac-reviews-grid{ grid-template-columns:1fr; }
    .ac-review-card.is-hidden{ display:flex; } /* show all, no carousel on mobile */
    .ac-review-dots{ display:none; }
}
@media (max-width: 640px){
    .ac-nav-links{ display:none; }
    .ac-section{ padding:58px 0; }
    .ac-hero{ padding:56px 0 44px; }
    .ac-hero-stats{ grid-template-columns:repeat(2,1fr); }
    .ac-hero-cta,.ac-final-cta{ flex-direction:column; }
    .ac-hero-cta .ac-btn,.ac-final-cta .ac-btn{ width:100%; }
    .ac-steps-grid{ grid-template-columns:1fr; }
    .ac-feature-list li{ font-size:.95rem; }
    .ac-final{ padding:48px 20px; }
    .ac-float{ animation:none; }
}