/* ============================================================================
   City's Towing — Flat Tire Service Page Styles
   /assets/css/flat-tire.css
   Section 1: Page styles — .ct-flt-page scoped, flt- prefix
   Section 2: Popup styles — unscoped ct-popup-* (homepage identical)
   ============================================================================ */

.ct-flt-page, .ct-flt-page * { box-sizing: border-box; }
.ct-flt-page {
    --flt-red:       #D32F2F; --flt-red-hot: #E84141; --flt-red-deep: #A81F1F;
    --flt-green:     #34A853;
    --flt-black:     #000000; --flt-ink: #0B0B0B; --flt-ink-2: #141414;
    --flt-gray:      #B0B0B0; --flt-gray-dim: #6F6F6F; --flt-line: rgba(255,255,255,.08);
    --flt-cream:     #F5F2EE; --flt-bone: #FAFAF8;
    --flt-shadow-lg: 0 30px 70px -28px rgba(0,0,0,.55);
    --flt-font:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    font-family: var(--flt-font); color: #1a1a1a; background: var(--flt-bone);
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
@keyframes fltPulse  { 0%{box-shadow:0 0 0 0 rgba(211,47,47,.65)} 70%{box-shadow:0 0 0 12px rgba(211,47,47,0)} 100%{box-shadow:0 0 0 0 rgba(211,47,47,0)} }
@keyframes fltPulseW { 0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)} 70%{box-shadow:0 0 0 10px rgba(255,255,255,0)} 100%{box-shadow:0 0 0 0 rgba(255,255,255,0)} }

/* ---- Layout ---- */
.ct-flt-page .flt-container { max-width:1320px; margin:0 auto; padding:0 24px; }
.ct-flt-page .flt-section   { padding:96px 24px; position:relative; }
.ct-flt-page .flt-section--dark  { background:var(--flt-black); color:#fff; }
.ct-flt-page .flt-section--ink   { background:var(--flt-ink);   color:#fff; }
.ct-flt-page .flt-section--cream { background:var(--flt-cream); }
.ct-flt-page .flt-eyebrow { display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.22em; font-size:11.5px; font-weight:700; color:var(--flt-red); margin-bottom:16px; }
.ct-flt-page .flt-eyebrow::before { content:""; width:24px; height:2px; background:var(--flt-red); }
.ct-flt-page .flt-h2 { margin:0 0 16px; font-size:clamp(28px,4vw,44px); font-weight:800; letter-spacing:-.018em; line-height:1.08; text-wrap:balance; }
.ct-flt-page .flt-h2 em { font-style:normal; color:var(--flt-red); }
.ct-flt-page .flt-lead { margin:0 0 48px; font-size:17px; line-height:1.6; color:rgba(0,0,0,.65); max-width:64ch; text-wrap:pretty; }
.ct-flt-page .flt-section--ink .flt-lead, .ct-flt-page .flt-section--dark .flt-lead { color:var(--flt-gray); }
.ct-flt-page .flt-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:56px; flex-wrap:wrap; }
.ct-flt-page .flt-section-head>div { max-width:64ch; }
.ct-flt-page .flt-section-head .flt-lead { margin-bottom:0; }
.ct-flt-page .flt-pulse-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--flt-red); animation:fltPulse 1.8s ease-out infinite; flex:0 0 auto; }
.ct-flt-page .flt-pulse-dot--white { background:#fff; animation:fltPulseW 1.8s ease-out infinite; }

/* ---- Buttons ---- */
.ct-flt-page .flt-btn { display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:12px; font-size:15px; font-weight:700; text-decoration:none; border:1px solid transparent; font-family:inherit; line-height:1.2; white-space:nowrap; transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; cursor:pointer; }
.ct-flt-page .flt-btn svg { width:16px; height:16px; flex:0 0 auto; }
.ct-flt-page .flt-btn--lg  { padding:18px 28px; font-size:16px; }
.ct-flt-page .flt-btn--lg svg { width:18px; height:18px; }
.ct-flt-page .flt-btn--primary { background:var(--flt-red); color:#fff; box-shadow:0 14px 28px -12px rgba(211,47,47,.7),inset 0 1px 0 rgba(255,255,255,.18); position:relative; overflow:hidden; }
.ct-flt-page .flt-btn--primary::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 45%); pointer-events:none; }
.ct-flt-page .flt-btn--primary:hover { background:var(--flt-red-hot); transform:translateY(-2px); box-shadow:0 20px 36px -12px rgba(232,65,65,.85); }
.ct-flt-page .flt-btn--ghost { background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.16); }
.ct-flt-page .flt-btn--ghost:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); transform:translateY(-2px); }
.ct-flt-page .flt-btn--ghost-light { background:#fff; color:#111; border-color:rgba(0,0,0,.08); box-shadow:0 8px 20px -10px rgba(0,0,0,.2); }
.ct-flt-page .flt-btn--ghost-light:hover { border-color:rgba(0,0,0,.18); transform:translateY(-2px); }

/* ============================================================================
   HERO — ABOUT PAGE STYLE (dark grid + red glow, NO background image)
   ============================================================================ */
.ct-flt-page .flt-hero { position:relative; background:var(--flt-black); color:#fff; overflow:hidden; padding:96px 24px 88px; }
.ct-flt-page .flt-hero-glow { position:absolute; inset:0; pointer-events:none; z-index:0;
    background: radial-gradient(65% 75% at 90% 10%,rgba(211,47,47,.28) 0%,rgba(211,47,47,0) 55%),
                radial-gradient(45% 55% at  5% 95%,rgba(211,47,47,.15) 0%,rgba(211,47,47,0) 60%),
                linear-gradient(180deg,#0B0B0B 0%,#000 100%); }
.ct-flt-page .flt-hero-grid { position:absolute; inset:0; pointer-events:none; z-index:0;
    background-image: linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
    background-size:56px 56px;
    mask-image:radial-gradient(ellipse 80% 65% at 50% 45%,#000 25%,transparent 80%);
    -webkit-mask-image:radial-gradient(ellipse 80% 65% at 50% 45%,#000 25%,transparent 80%); }
.ct-flt-page .flt-hero-inner { position:relative; z-index:2; max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.ct-flt-page .flt-hero-pre { display:inline-flex; align-items:center; gap:12px; padding:8px 14px 8px 10px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10); border-radius:999px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.85); font-weight:600; margin-bottom:24px; }
.ct-flt-page .flt-hero-content h1 { margin:0 0 22px; font-size:clamp(36px,5.2vw,68px); font-weight:800; letter-spacing:-.025em; line-height:1.02; text-wrap:balance; }
.ct-flt-page .flt-hero-content h1 em { font-style:normal; background:linear-gradient(180deg,#fff 0%,#fff 45%,var(--flt-red) 46%,var(--flt-red-hot) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; display:inline-block; }
.ct-flt-page .flt-hero-sub { margin:0 0 32px; font-size:18px; color:var(--flt-gray); max-width:54ch; line-height:1.58; text-wrap:pretty; }
.ct-flt-page .flt-hero-link { color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3); transition:color .18s ease,border-color .18s ease; }
.ct-flt-page .flt-hero-link:visited { color:#fff; }
.ct-flt-page .flt-hero-link:hover   { color:var(--flt-red-hot); border-color:var(--flt-red-hot); }
.ct-flt-page .flt-hero-cta { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:30px; }
.ct-flt-page .flt-hero-trust { display:flex; flex-wrap:wrap; gap:14px 22px; font-size:13px; color:rgba(255,255,255,.62); font-weight:600; }
.ct-flt-page .flt-hero-trust span { display:flex; align-items:center; gap:7px; }
.ct-flt-page .flt-hero-trust svg { width:14px; height:14px; color:var(--flt-red); }
.ct-flt-page .flt-hero-media { display:flex; flex-direction:column; gap:14px; }
.ct-flt-page .flt-hero-img-main { position:relative; border-radius:20px; overflow:hidden; border:1px solid var(--flt-line); box-shadow:var(--flt-shadow-lg); aspect-ratio:4/3; }
.ct-flt-page .flt-hero-img-main img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ct-flt-page .flt-hero-img-main:hover img { transform:scale(1.03); }
.ct-flt-page .flt-hero-img-badge { position:absolute; left:14px; bottom:14px; right:14px; display:flex; align-items:center; gap:12px; padding:12px 14px; background:rgba(8,8,8,.84); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid var(--flt-line); border-radius:12px; pointer-events:none; }
.ct-flt-page .flt-hero-img-badge strong { color:#fff; font-size:14px; font-weight:700; display:block; line-height:1.2; }
.ct-flt-page .flt-hero-img-badge small  { color:var(--flt-gray); font-size:11.5px; font-weight:500; }
.ct-flt-page .flt-hero-img-secondary { position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--flt-line); box-shadow:0 14px 36px -14px rgba(0,0,0,.5); aspect-ratio:16/7; width:68%; margin-left:auto; }
.ct-flt-page .flt-hero-img-secondary img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ct-flt-page .flt-hero-img-secondary:hover img { transform:scale(1.04); }
.ct-flt-page .flt-hero-img-tag { position:absolute; top:10px; left:10px; padding:5px 12px; background:var(--flt-red); color:#fff; border-radius:999px; font-size:10.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; pointer-events:none; }

/* Strip / Stats */
.ct-flt-page .flt-strip { background:linear-gradient(90deg,var(--flt-red-deep) 0%,var(--flt-red) 50%,var(--flt-red-deep) 100%); color:#fff; padding:22px 24px; border-bottom:1px solid rgba(0,0,0,.18); }
.ct-flt-page .flt-strip-inner { max-width:1320px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ct-flt-page .flt-strip-text { display:flex; align-items:center; gap:14px; font-size:16px; font-weight:700; }
.ct-flt-page .flt-strip a { color:#fff; text-decoration:none; font-size:18px; font-weight:800; display:inline-flex; align-items:center; gap:10px; padding:10px 18px; background:rgba(0,0,0,.2); border-radius:10px; border:1px solid rgba(255,255,255,.2); transition:background .18s ease,transform .18s ease; }
.ct-flt-page .flt-strip a svg { width:17px; height:17px; }
.ct-flt-page .flt-strip a:hover { background:rgba(0,0,0,.32); transform:translateY(-1px); }
.ct-flt-page .flt-stats-bar { background:var(--flt-red); color:#fff; padding:0 24px; border-bottom:1px solid rgba(0,0,0,.18); }
.ct-flt-page .flt-stats-inner { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.ct-flt-page .flt-stat { padding:28px 24px; border-right:1px solid rgba(255,255,255,.18); display:flex; flex-direction:column; gap:2px; }
.ct-flt-page .flt-stat:last-child { border-right:0; }
.ct-flt-page .flt-stat strong { font-size:clamp(28px,3vw,38px); font-weight:800; letter-spacing:-.02em; line-height:1; display:block; }
.ct-flt-page .flt-stat span  { font-size:14px; font-weight:700; opacity:.95; }
.ct-flt-page .flt-stat small { font-size:11px; opacity:.72; letter-spacing:.06em; text-transform:uppercase; font-weight:500; margin-top:2px; }

/* Services grid */
.ct-flt-page .flt-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.ct-flt-page .flt-service-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:26px 22px; display:flex; flex-direction:column; gap:10px; text-decoration:none; color:#1a1a1a; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.ct-flt-page .flt-service-card:hover { transform:translateY(-3px); border-color:rgba(211,47,47,.28); box-shadow:0 20px 38px -20px rgba(0,0,0,.14); }
.ct-flt-page .flt-service-icon { width:52px; height:52px; border-radius:14px; background:rgba(211,47,47,.1); color:var(--flt-red); display:inline-flex; align-items:center; justify-content:center; }
.ct-flt-page .flt-service-icon svg { width:24px; height:24px; }
.ct-flt-page .flt-service-card h3 { margin:0; font-size:18px; font-weight:700; letter-spacing:-.01em; }
.ct-flt-page .flt-service-card p  { margin:0; color:rgba(0,0,0,.6); font-size:14px; line-height:1.58; flex:1; }
.ct-flt-page .flt-inline-link { color:var(--flt-red); font-weight:600; text-decoration:none; }
.ct-flt-page .flt-inline-link:hover { text-decoration:underline; }
.ct-flt-page .flt-service-arrow { color:var(--flt-red); margin-top:auto; }
.ct-flt-page .flt-service-arrow svg { width:16px; height:16px; transition:transform .2s ease; }
.ct-flt-page .flt-service-card:hover .flt-service-arrow svg { transform:translateX(4px); }

/* Safety feature section */
.ct-flt-page .flt-feature-wrap { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.ct-flt-page .flt-feature-content .flt-h2 { margin-bottom:20px; }
.ct-flt-page .flt-feature-body { color:var(--flt-gray); font-size:15px; line-height:1.72; margin:0 0 18px; max-width:58ch; text-wrap:pretty; }
.ct-flt-page .flt-feature-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ct-flt-page .flt-feature-pills span { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; background:rgba(211,47,47,.12); border:1px solid rgba(211,47,47,.28); border-radius:999px; color:#fff; font-size:13px; font-weight:600; }
.ct-flt-page .flt-feature-pills svg { width:15px; height:15px; color:var(--flt-red); flex:0 0 auto; }
.ct-flt-page .flt-feature-media { display:flex; flex-direction:column; gap:16px; }
.ct-flt-page .flt-feature-img-wrap { position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--flt-shadow-lg); aspect-ratio:4/3; }
.ct-flt-page .flt-feature-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ct-flt-page .flt-feature-img-wrap:hover img { transform:scale(1.035); }
.ct-flt-page .flt-feature-img-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.5) 100%); pointer-events:none; }
.ct-flt-page .flt-feature-stat-card { display:flex; align-items:center; background:var(--flt-ink-2,#141414); border:1px solid var(--flt-line); border-radius:16px; padding:22px 28px; gap:24px; }
.ct-flt-page .flt-feat-stat { flex:1; display:flex; flex-direction:column; gap:4px; }
.ct-flt-page .flt-feat-stat span { font-size:42px; font-weight:900; letter-spacing:-.03em; color:var(--flt-red); line-height:1; }
.ct-flt-page .flt-feat-stat span sup { font-size:22px; vertical-align:super; }
.ct-flt-page .flt-feat-stat small { font-size:12px; color:var(--flt-gray); font-weight:600; letter-spacing:.04em; line-height:1.4; }
.ct-flt-page .flt-feat-divider { width:1px; height:60px; background:var(--flt-line); flex:0 0 auto; }

/* Spare vs Tow assessment grid */
.ct-flt-page .flt-assess-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; margin-bottom:24px; }
.ct-flt-page .flt-assess-card { border-radius:18px; overflow:hidden; }
.ct-flt-page .flt-assess-header { padding:18px 24px; }
.ct-flt-page .flt-assess-badge { display:inline-flex; padding:6px 16px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ct-flt-page .flt-assess-badge--green { background:rgba(52,168,83,.15); color:var(--flt-green); border:1px solid rgba(52,168,83,.3); }
.ct-flt-page .flt-assess-badge--red   { background:rgba(211,47,47,.15); color:var(--flt-red);   border:1px solid rgba(211,47,47,.3); }
.ct-flt-page .flt-assess-card--good { background:rgba(52,168,83,.04); border:1px solid rgba(52,168,83,.18); }
.ct-flt-page .flt-assess-card--tow  { background:rgba(211,47,47,.04); border:1px solid rgba(211,47,47,.18); }
.ct-flt-page .flt-assess-list { list-style:none; padding:0 24px 24px; margin:0; display:grid; gap:12px; }
.ct-flt-page .flt-assess-list li { display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:rgba(0,0,0,.72); line-height:1.5; font-weight:500; }
.ct-flt-page .flt-assess-list li svg { width:18px; height:18px; flex:0 0 auto; margin-top:2px; }
.ct-flt-page .flt-assess-card--good .flt-assess-list li svg { color:var(--flt-green); }
.ct-flt-page .flt-assess-card--tow  .flt-assess-list li svg { color:var(--flt-red); }
.ct-flt-page .flt-assess-vs { font-size:22px; font-weight:900; color:rgba(0,0,0,.18); text-align:center; white-space:nowrap; }
.ct-flt-page .flt-assess-note { text-align:center; color:rgba(0,0,0,.55); font-size:14.5px; font-weight:600; padding-top:8px; }

/* Process steps */
.ct-flt-page .flt-steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(255,255,255,.06); border-radius:18px; overflow:hidden; }
.ct-flt-page .flt-step-card { background:var(--flt-ink-2,#141414); padding:32px 26px; transition:background .2s ease; }
.ct-flt-page .flt-step-card:hover { background:rgba(211,47,47,.08); }
.ct-flt-page .flt-step-num { font-size:52px; font-weight:900; letter-spacing:-.04em; color:var(--flt-red); opacity:.3; margin-bottom:14px; line-height:1; }
.ct-flt-page .flt-step-card h3 { margin:0 0 10px; font-size:18px; font-weight:800; letter-spacing:-.01em; color:#fff; }
.ct-flt-page .flt-step-card p  { margin:0; color:var(--flt-gray); font-size:14px; line-height:1.6; }

/* Why choose */
.ct-flt-page .flt-why-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.ct-flt-page .flt-why-card { background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:16px; padding:26px 22px; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.ct-flt-page .flt-why-card:hover { transform:translateY(-3px); border-color:rgba(211,47,47,.28); box-shadow:0 20px 38px -20px rgba(0,0,0,.14); }
.ct-flt-page .flt-why-icon { width:48px; height:48px; border-radius:12px; background:rgba(211,47,47,.1); color:var(--flt-red); display:inline-flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ct-flt-page .flt-why-icon svg { width:22px; height:22px; }
.ct-flt-page .flt-why-card h3 { margin:0 0 8px; font-size:16px; font-weight:700; letter-spacing:-.01em; }
.ct-flt-page .flt-why-card p  { margin:0; color:rgba(0,0,0,.6); font-size:13.5px; line-height:1.6; }

/* Showcase */
.ct-flt-page .flt-showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:200px; gap:12px; }
.ct-flt-page .flt-showcase-tile { position:relative; border-radius:12px; overflow:hidden; background:var(--flt-ink); box-shadow:0 8px 24px -10px rgba(0,0,0,.25); transition:transform .28s ease; }
.ct-flt-page .flt-showcase-tile:hover { transform:scale(1.025); }
.ct-flt-page .flt-showcase-tile img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.ct-flt-page .flt-showcase-tile:hover img { transform:scale(1.06); }
.ct-flt-page .flt-tile-label { position:absolute; inset:auto 0 0 0; padding:16px 14px 12px; background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,transparent 100%); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ct-flt-page .flt-tile-lg { grid-column:span 1; grid-row:span 2; }

/* Service areas */
.ct-flt-page .flt-areas-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ct-flt-page .flt-area-card { background:var(--flt-ink-2,#141414); border:1px solid var(--flt-line); border-radius:14px; padding:24px; display:flex; flex-direction:column; gap:12px; text-decoration:none; color:#fff; transition:background .2s ease,border-color .2s ease,transform .22s ease; }
.ct-flt-page .flt-area-card:hover { background:rgba(211,47,47,.1); border-color:rgba(211,47,47,.42); transform:translateY(-2px); }
.ct-flt-page .flt-area-header { display:flex; flex-direction:column; gap:4px; }
.ct-flt-page .flt-area-header h3 { margin:0; font-size:20px; font-weight:800; letter-spacing:-.01em; }
.ct-flt-page .flt-area-kw { font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--flt-red); }
.ct-flt-page .flt-area-card>p { margin:0; font-size:13.5px; color:var(--flt-gray); line-height:1.58; flex:1; }
.ct-flt-page .flt-area-link { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--flt-red); }
.ct-flt-page .flt-area-link svg { width:13px; height:13px; transition:transform .2s ease; }
.ct-flt-page .flt-area-card:hover .flt-area-link svg { transform:translateX(4px); }

/* SEO */
.ct-flt-page .flt-seo { background:#fff; }
.ct-flt-page .flt-seo-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; }
.ct-flt-page .flt-seo h3 { margin:0 0 14px; font-size:20px; font-weight:700; letter-spacing:-.01em; }
.ct-flt-page .flt-seo p  { color:rgba(0,0,0,.65); font-size:15px; line-height:1.7; margin:0 0 14px; text-wrap:pretty; }
.ct-flt-page .flt-seo-link { color:var(--flt-red); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(211,47,47,.25); transition:border-color .18s ease; }
.ct-flt-page .flt-seo-link:hover { border-color:var(--flt-red); }

/* FAQ */
.ct-flt-page .flt-faq { max-width:880px; margin:0 auto; }
.ct-flt-page .flt-faq-item { border-bottom:1px solid rgba(0,0,0,.08); }
.ct-flt-page .flt-faq-item:first-child { border-top:1px solid rgba(0,0,0,.08); }
.ct-flt-page .flt-faq-q { width:100%; background:none; border:0; padding:24px 8px; text-align:left; font-family:inherit; font-size:17px; font-weight:600; letter-spacing:-.01em; color:inherit; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; line-height:1.4; }
.ct-flt-page .flt-faq-toggle { flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:rgba(211,47,47,.1); color:var(--flt-red); display:inline-flex; align-items:center; justify-content:center; transition:background .2s ease; }
.ct-flt-page .flt-faq-toggle svg { width:14px; height:14px; transition:transform .25s ease; }
.ct-flt-page .flt-faq-item.is-open .flt-faq-toggle svg { transform:rotate(45deg); }
.ct-flt-page .flt-faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.ct-flt-page .flt-faq-item.is-open .flt-faq-a { max-height:420px; }
.ct-flt-page .flt-faq-a-inner { padding:0 8px 24px; color:rgba(0,0,0,.65); font-size:15px; line-height:1.68; max-width:68ch; }

/* Related */
.ct-flt-page .flt-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:36px; }
.ct-flt-page .flt-related-card { display:flex; align-items:center; gap:16px; padding:20px; background:var(--flt-ink-2,#141414); border:1px solid var(--flt-line); border-radius:14px; text-decoration:none; color:#fff; transition:background .2s ease,border-color .2s ease,transform .22s ease; }
.ct-flt-page .flt-related-card:hover { background:rgba(211,47,47,.1); border-color:rgba(211,47,47,.42); transform:translateY(-2px); }
.ct-flt-page .flt-related-icon { width:44px; height:44px; border-radius:10px; flex:0 0 auto; background:rgba(211,47,47,.14); color:var(--flt-red); display:inline-flex; align-items:center; justify-content:center; }
.ct-flt-page .flt-related-icon svg { width:20px; height:20px; }
.ct-flt-page .flt-related-body { flex:1; min-width:0; }
.ct-flt-page .flt-related-body h3 { margin:0 0 3px; font-size:15px; font-weight:700; }
.ct-flt-page .flt-related-body p  { margin:0; font-size:12.5px; color:var(--flt-gray); line-height:1.4; }
.ct-flt-page .flt-related-arrow { flex:0 0 auto; color:var(--flt-gray-dim); transition:color .18s ease,transform .18s ease; }
.ct-flt-page .flt-related-arrow svg { width:16px; height:16px; }
.ct-flt-page .flt-related-card:hover .flt-related-arrow { color:var(--flt-red); transform:translateX(4px); }
.ct-flt-page .flt-related-links { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center; padding-top:28px; border-top:1px solid var(--flt-line); }
.ct-flt-page .flt-text-link { display:inline-flex; align-items:center; gap:7px; color:var(--flt-gray); font-size:13px; font-weight:600; text-decoration:none; transition:color .18s ease; }
.ct-flt-page .flt-text-link svg { width:14px; height:14px; color:var(--flt-red); }
.ct-flt-page .flt-text-link:hover { color:#fff; }

/* Final CTA */
.ct-flt-page .flt-final { position:relative; overflow:hidden; padding:116px 24px; color:#fff; text-align:center; background:radial-gradient(65% 70% at 50% 0%,rgba(211,47,47,.24) 0%,rgba(211,47,47,0) 55%),linear-gradient(180deg,#0B0B0B 0%,#000 100%); }
.ct-flt-page .flt-final::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse 80% 65% at 50% 50%,#000 30%,transparent 80%); -webkit-mask-image:radial-gradient(ellipse 80% 65% at 50% 50%,#000 30%,transparent 80%); }
.ct-flt-page .flt-final-inner { position:relative; z-index:2; max-width:820px; margin:0 auto; }
.ct-flt-page .flt-final .flt-eyebrow { justify-content:center; margin-bottom:18px; }
.ct-flt-page .flt-final h2 { margin:0 0 18px; font-size:clamp(30px,4.6vw,56px); font-weight:800; letter-spacing:-.024em; line-height:1.04; text-wrap:balance; }
.ct-flt-page .flt-final h2 em { font-style:normal; background:linear-gradient(180deg,var(--flt-red) 0%,var(--flt-red-hot) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ct-flt-page .flt-final p { margin:0 auto 42px; color:var(--flt-gray); font-size:17px; line-height:1.6; max-width:56ch; }
.ct-flt-page .flt-final-btns { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-bottom:28px; }
.ct-flt-page .flt-final-trust { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; color:var(--flt-gray-dim); font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.ct-flt-page .flt-final-trust svg { width:14px; height:14px; color:var(--flt-red); }

/* Sticky call */
.ct-flt-page .flt-sticky-call { display:none; position:fixed; left:16px; right:16px; bottom:16px; z-index:950; padding:16px 20px; border-radius:14px; background:var(--flt-red); color:#fff; text-decoration:none; font-weight:800; font-size:15.5px; box-shadow:0 18px 36px -10px rgba(211,47,47,.6),inset 0 1px 0 rgba(255,255,255,.18); align-items:center; justify-content:center; gap:10px; font-family:inherit; }
.ct-flt-page .flt-sticky-call svg { width:18px; height:18px; }

/* Responsive */
@media (max-width:1200px) { .ct-flt-page .flt-why-grid { grid-template-columns:repeat(3,1fr); } .ct-flt-page .flt-related-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:980px)  { .ct-flt-page .flt-hero-inner { grid-template-columns:1fr; gap:44px; } .ct-flt-page .flt-hero { padding:72px 20px 80px; } .ct-flt-page .flt-feature-wrap { grid-template-columns:1fr; gap:40px; } .ct-flt-page .flt-services-grid { grid-template-columns:repeat(2,1fr); } .ct-flt-page .flt-assess-grid { grid-template-columns:1fr; } .ct-flt-page .flt-assess-vs { font-size:16px; color:rgba(0,0,0,.25); } .ct-flt-page .flt-steps-grid { grid-template-columns:repeat(2,1fr); } .ct-flt-page .flt-areas-grid { grid-template-columns:repeat(2,1fr); } .ct-flt-page .flt-seo-grid { grid-template-columns:1fr; gap:32px; } }
@media (max-width:760px)  { .ct-flt-page .flt-stats-inner { grid-template-columns:repeat(2,1fr); } .ct-flt-page .flt-stat { border-bottom:1px solid rgba(255,255,255,.14); } .ct-flt-page .flt-stat:nth-child(2) { border-right:0; } .ct-flt-page .flt-stat:nth-child(3) { border-bottom:0; } .ct-flt-page .flt-stat:nth-child(4) { border-right:0; border-bottom:0; } .ct-flt-page .flt-services-grid { grid-template-columns:1fr; } .ct-flt-page .flt-why-grid { grid-template-columns:1fr; } .ct-flt-page .flt-steps-grid { grid-template-columns:1fr; gap:1px; } .ct-flt-page .flt-areas-grid { grid-template-columns:1fr; } .ct-flt-page .flt-related-grid { grid-template-columns:1fr; } .ct-flt-page .flt-section { padding:64px 20px; } .ct-flt-page .flt-hero-cta { flex-direction:column; } .ct-flt-page .flt-hero-cta .flt-btn { justify-content:center; } .ct-flt-page .flt-final-btns { flex-direction:column; } .ct-flt-page .flt-final-btns .flt-btn { justify-content:center; } .ct-flt-page .flt-sticky-call { display:inline-flex; } .ct-flt-page { padding-bottom:76px; } .ct-flt-page .flt-showcase-grid { grid-template-columns:1fr; } .ct-flt-page .flt-tile-lg { grid-column:span 1; } .ct-flt-page .flt-feature-stat-card { flex-direction:column; gap:16px; } .ct-flt-page .flt-feat-divider { width:100%; height:1px; } }
@media (prefers-reduced-motion:reduce) { .ct-flt-page *, .ct-popup, .ct-popup-scrim { animation:none!important; transition:none!important; } }

/* ============================================================================
   POPUP STYLES — unscoped ct-popup-* — identical to homepage
   ============================================================================ */
@keyframes ctPulse     { 0%{box-shadow:0 0 0 0 rgba(211,47,47,.7)} 70%{box-shadow:0 0 0 10px rgba(211,47,47,0)} 100%{box-shadow:0 0 0 0 rgba(211,47,47,0)} }
@keyframes ctFadeUp    { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@keyframes ctCheck     { to{stroke-dashoffset:0} }
@keyframes ctPulseRing { 0%{transform:scale(.85);opacity:.6} 100%{transform:scale(1.3);opacity:0} }
.ct-pulse-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#D32F2F; animation:ctPulse 1.8s ease-out infinite; }
.ct-popup-scrim { position:fixed; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .35s ease; z-index:1400; display:flex; align-items:center; justify-content:center; padding:24px; }
.ct-popup-scrim.is-open { opacity:1; pointer-events:auto; }
.ct-popup { position:relative; background:#141414; color:#fff; border:1px solid rgba(255,255,255,.08); border-radius:20px; width:min(480px,100%); max-height:calc(100dvh - 48px); overflow:auto; box-shadow:0 50px 100px -30px rgba(0,0,0,.8); transform:translateY(28px) scale(.96); opacity:0; transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease; }
.ct-popup-scrim.is-open .ct-popup { transform:translateY(0) scale(1); opacity:1; }
.ct-popup-head { padding:28px 28px 0; position:relative; }
.ct-popup-close { position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:background .18s ease,transform .18s ease; font-family:inherit; }
.ct-popup-close:hover { background:rgba(255,255,255,.12); transform:rotate(90deg); }
.ct-popup-close svg { width:16px; height:16px; }
.ct-popup-tag { display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 10px; background:rgba(211,47,47,.14); border:1px solid rgba(211,47,47,.32); color:#fff; border-radius:999px; font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; margin-bottom:14px; }
.ct-popup h3 { margin:0 0 8px; font-size:24px; font-weight:800; letter-spacing:-.018em; line-height:1.15; }
.ct-popup-sub { margin:0; color:#B0B0B0; font-size:14px; line-height:1.55; }
.ct-popup-body { padding:22px 28px 28px; }
.ct-form { display:grid; gap:12px; }
.ct-field { display:flex; flex-direction:column; gap:6px; }
.ct-field label { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#B0B0B0; }
.ct-field input, .ct-field select { background:rgba(255,255,255,.03); color:#fff; border:1px solid rgba(255,255,255,.08); border-radius:10px; padding:13px 14px; font-size:15px; width:100%; font-family:inherit; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.ct-field input:focus, .ct-field select:focus { outline:none; border-color:#D32F2F; background:rgba(211,47,47,.06); box-shadow:0 0 0 4px rgba(211,47,47,.18); }
.ct-field select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%23B0B0B0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:14px; padding-right:38px; }
.ct-btn-primary { display:inline-flex; align-items:center; gap:10px; padding:14px 24px; background:#D32F2F; color:#fff; border:0; text-decoration:none; border-radius:12px; font-size:15px; font-weight:700; line-height:1.2; box-shadow:0 14px 28px -12px rgba(211,47,47,.7),inset 0 1px 0 rgba(255,255,255,.18); cursor:pointer; font-family:inherit; position:relative; overflow:hidden; transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.ct-btn-primary::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 45%); pointer-events:none; }
.ct-btn-primary:hover { background:#E84141; transform:translateY(-2px); box-shadow:0 20px 34px -12px rgba(232,65,65,.85); }
.ct-btn-primary svg { width:17px; height:17px; }
.ct-form-submit { margin-top:6px; width:100%; justify-content:center; font-size:15.5px; padding:16px 20px; }
.ct-form.is-hidden { display:none; }
.ct-form-thanks { display:none; text-align:center; padding:12px 4px 4px; }
.ct-form-thanks.is-active { display:block; animation:ctFadeUp .55s ease both; }
.ct-thanks-icon { width:76px; height:76px; border-radius:50%; background:rgba(255,255,255,.05); border:2px solid #D32F2F; display:inline-flex; align-items:center; justify-content:center; margin-bottom:18px; position:relative; }
.ct-thanks-icon svg { width:36px; height:36px; color:#D32F2F; stroke-dasharray:100; stroke-dashoffset:100; animation:ctCheck .7s .2s ease forwards; }
.ct-thanks-icon::before { content:""; position:absolute; inset:-8px; border-radius:50%; border:2px solid #D32F2F; opacity:0; animation:ctPulseRing 1.6s .3s ease-out infinite; }
.ct-form-thanks h4 { margin:0 0 8px; font-size:22px; font-weight:800; color:#fff; }
.ct-form-thanks p  { margin:0 0 22px; color:#B0B0B0; font-size:14.5px; line-height:1.6; }
.ct-popup-divider { display:flex; align-items:center; gap:12px; color:#6F6F6F; font-size:11px; letter-spacing:.18em; text-transform:uppercase; margin:16px 0; }
.ct-popup-divider::before, .ct-popup-divider::after { content:""; flex:1; height:1px; background:rgba(255,255,255,.08); }
.ct-popup-call { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 20px; width:100%; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); color:#fff; text-decoration:none; font-size:15px; font-weight:700; transition:background .18s ease,border-color .18s ease; }
.ct-popup-call:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); }
.ct-popup-call svg { width:16px; height:16px; }
.ct-popup-call small { color:#B0B0B0; font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; margin-left:4px; }
