/* Homepage-only variables */
:root { --accent-warm: #f5a623 }

/* ===== SCROLL PROGRESS BAR ===== */
.scroll-progress{position:fixed;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent),#a78bfa);z-index:10001;transition:none;pointer-events:none}

/* ===== NOISE TEXTURE OVERLAY ===== */
.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;mix-blend-mode:overlay}

@media (prefers-reduced-motion: reduce) {
    .hero-tag, .hero h1, .hero-desc, .hero-actions { opacity:1; transform:none; clip-path:none; filter:none }
    .hero h1 .hw { opacity:1; filter:none; animation:none }
    .hero::after { animation:none }
    .svc-card::before,.svc-card::after { display:none }
    .hero h1 em { animation:none }
    .tech-track { animation:none }
    .scroll-progress,.noise-overlay { display:none }
    .rotateBorder { animation:none }
}

input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid var(--accent); outline-offset:3px }

/* Homepage nav enhancements */
.nav-links a { position:relative }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:100%; height:1.5px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.22,1,.36,1) }
.nav-links a:hover::after { transform:scaleX(1) }
.nav-cta-btn::after { display:none!important }

/* ===== HERO ===== */
.hero { min-height:100vh; display:flex; align-items:center; position:relative; padding:140px 0 120px; overflow:hidden; background:var(--bg) }

.hero-dots { display:none }

/* Hero center indigo glow with subtle pulse */
.hero::after{content:'';position:absolute;top:35%;left:40%;width:700px;height:500px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(129,140,248,.1) 0%,rgba(129,140,248,.03) 40%,transparent 70%);pointer-events:none;z-index:0;animation:glowPulse 8s ease-in-out infinite}
@keyframes glowPulse{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}}
.hero-line { position:absolute; pointer-events:none; width:1px; background:linear-gradient(180deg,transparent,rgba(129,140,248,.15),transparent); height:300px }
.hero-line-1 { right:20%; top:5% }
.hero-line-2 { left:15%; bottom:0 }

.hero .container { position:relative; z-index:2; max-width:1000px }

.hero-tag { font-family:var(--mono); font-size:.72rem; color:var(--accent); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:28px; display:inline-flex; align-items:center; gap:12px; opacity:0; animation:fadeUp 1s cubic-bezier(.22,1,.36,1) .2s forwards; font-weight:500 }
.hero-tag-line { width:32px; height:1px; background:var(--accent) }

.hero h1 { font-family:var(--serif); font-size:clamp(3.5rem,8vw,7rem); font-weight:400; color:#fff; line-height:.95; letter-spacing:-3px; margin-bottom:32px; opacity:0; animation:fadeUp 1s cubic-bezier(.22,1,.36,1) .35s forwards }
/* Gradient shimmer on hero italic text */
.hero h1 em { font-style:italic; background:linear-gradient(135deg,#818cf8 0%,#a78bfa 40%,#c4b5fd 60%,#818cf8 100%); background-size:200% 200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:gradientShimmer 6s ease-in-out infinite }
.hero h1 em .hw { padding-bottom:.18em; background:linear-gradient(135deg,#818cf8 0%,#a78bfa 40%,#c4b5fd 60%,#818cf8 100%); background-size:200% 200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:wordBlur .8s cubic-bezier(.22,1,.36,1) forwards, gradientShimmer 6s ease-in-out infinite; animation-delay:calc(.3s + var(--wi) * .06s), 0s }
@keyframes gradientShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Word blur reveal */
.hero h1 .hw{display:inline-block;opacity:0;filter:blur(8px);animation:wordBlur .8s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(.3s + var(--wi) * .06s)}
.hero h1.hw-active{opacity:1;animation:none;transform:none}
@keyframes wordBlur{to{opacity:1;filter:blur(0)}}

.hero-desc { font-size:1.15rem; color:var(--text2); max-width:540px; line-height:1.85; margin-bottom:48px; opacity:0; animation:fadeUp 1s cubic-bezier(.22,1,.36,1) .5s forwards; font-weight:300 }

.hero-actions { display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp 1s cubic-bezier(.22,1,.36,1) .65s forwards }
@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

section { padding:120px 0; position:relative }
.divider { height:1px; background:rgba(255,255,255,.06); margin:0 auto; max-width:var(--container) }

.bg-white { background: var(--bg-light) }
.bg-cream { background: var(--bg) }
.bg-warm { background: var(--bg2) }
.bg-dark { background: var(--bg); color: var(--text) }
.bg-dark .stag { color: var(--accent) }
/* Subtle white-to-indigo gradient on dark section titles */
.bg-dark .stitle { background:linear-gradient(135deg,#fff 0%,#e0e7ff 50%,#a5b4fc 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text }
.bg-dark .ssub { color: var(--text3) }

/* Light section overrides */
.bg-white .stag { color: var(--accent-deep) } /* was --accent2 — failed AA on cream */
.bg-white .stitle { color: var(--dark) }
.bg-white .ssub { color: var(--text3-on-light) }

/* ===== AI PILLARS — Light section for contrast ===== */
.ai-header { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; text-align:left; margin-bottom:72px }
.ai-header-text { min-width:0 }
.ai-header-text .ssub { margin:0 }
.ai-header-visual { display:flex; justify-content:center; align-items:center }
.ai-header-visual img { width:100%; max-width:520px; height:auto; border-radius:var(--radius); box-shadow:0 12px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06); display:block }
@media(max-width:1024px){.ai-header{grid-template-columns:1fr;gap:48px;text-align:center}.ai-header-text .ssub{margin:0 auto}.ai-header-visual img{max-width:420px}}
@media(max-width:768px){.ai-header-visual img{max-width:340px}}
@media(max-width:480px){.ai-header-visual img{max-width:280px}}

.ai-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
.ai-card { background:var(--card-light); border:none; border-radius:var(--radius); padding:44px 36px; transition:all .5s cubic-bezier(.22,1,.36,1); box-shadow:0 0 0 1px rgba(0,0,0,.06) }
.ai-card:hover { box-shadow:0 0 0 1px rgba(99,102,241,.2), 0 0 30px rgba(99,102,241,.08); transform:translateY(-4px) scale(1.01) }

.ai-icon { width:48px; height:48px; background:rgba(99,102,241,.1); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:24px }
.ai-icon svg { width:22px; height:22px; stroke:var(--accent2); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.ai-card h3 { font-family:var(--serif); font-size:1.2rem; font-weight:400; color:var(--dark); margin-bottom:12px }
.ai-card p { font-size:.9rem; color:var(--text3-on-light); line-height:1.8 }

/* ===== SERVICES — Bento Grid ===== */
.services-header { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; margin-bottom:48px }
.services-header-text { min-width:0 }
.services-header-visual { display:flex; justify-content:center; align-items:center }
.services-header-visual img { width:100%; max-width:520px; height:auto; border-radius:var(--radius); box-shadow:var(--shadow-lg); display:block }
@media(max-width:1024px){.services-header{grid-template-columns:1fr;gap:48px}.services-header-visual img{max-width:420px}}
@media(max-width:768px){.services-header-visual img{max-width:340px}}
@media(max-width:480px){.services-header-visual img{max-width:280px}}

/* "What we help with" bridge between intro and dense card grid.
   Four plain-English outcome buckets; each scroll-anchors into the grid below. */
.svc-help-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:0 auto 64px; max-width:1080px; padding:0 }
.svc-help-bucket { background:var(--card); border:1px solid var(--card-border); border-left:3px solid var(--accent-deep); border-radius:var(--radius-sm); padding:20px 22px; text-decoration:none; display:grid; grid-template-columns:auto 1fr; align-items:start; gap:14px; transition:all .35s cubic-bezier(.22,1,.36,1); box-shadow:var(--shadow-sm) }
.svc-help-bucket:hover, .svc-help-bucket:focus-visible { transform:translateY(-2px); border-left-color:var(--warm); box-shadow:var(--shadow-md); background:var(--bg3) }
.svc-help-bucket:hover .svc-help-icon, .svc-help-bucket:focus-visible .svc-help-icon { color:var(--warm); transform:scale(1.06) }
.svc-help-icon { color:var(--accent); width:26px; height:26px; flex-shrink:0; margin-top:2px; display:inline-flex; transition:color .35s ease, transform .35s ease }
.svc-help-icon svg { width:100%; height:100%; display:block }
.svc-help-text { display:flex; flex-direction:column; gap:8px; min-width:0; color:var(--text2) }
.svc-help-label { font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent) }
.svc-help-tagline { font-family:var(--sans); font-size:.92rem; font-weight:300; line-height:1.55; color:var(--text2) }
@media(max-width:768px){.svc-help-row{grid-template-columns:repeat(2,1fr);margin-bottom:48px}}
@media(max-width:480px){.svc-help-row{grid-template-columns:1fr}}

.services-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px }

.svc-card { background:var(--card); border:none; border-radius:var(--radius); padding:40px; transition:all .5s cubic-bezier(.22,1,.36,1); position:relative; overflow:hidden; box-shadow:var(--ring-accent); scroll-margin-top:96px }
.svc-card:hover { box-shadow:var(--glow-accent); transform:translateY(-4px) scale(1.01) }
.svc-card.full-width { grid-column:1/-1 }
/* Bento: row 1 = 50/50 (Discovery + CMS), row 2 = thirds, row 3 = 50/50 */
.svc-card:nth-child(1),.svc-card:nth-child(2) { grid-column:span 3; padding:48px }
.svc-card:nth-child(3),.svc-card:nth-child(4),.svc-card:nth-child(5) { grid-column:span 2 }
.svc-card:nth-child(6),.svc-card:nth-child(7) { grid-column:span 3 }

.svc-num { font-family:var(--mono); font-size:2.5rem; color:rgba(129,140,248,.08); letter-spacing:-2px; margin-bottom:12px; font-weight:500; position:absolute; top:20px; right:24px; line-height:1 }
.svc-card h3 { font-family:var(--serif); font-size:1.3rem; font-weight:400; color:#fff; margin-bottom:12px }
.svc-card p { font-size:.9rem; color:var(--text3); line-height:1.85; margin-bottom:22px }
.svc-tags { display:flex; flex-wrap:wrap; gap:8px }
.svc-tag { font-family:var(--mono); font-size:.7rem; color:var(--text3); background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); padding:5px 14px; border-radius:100px; letter-spacing:.5px; transition:all .3s; font-weight:500 }
.svc-card:hover .svc-tag { border-color:rgba(129,140,248,.2); background:rgba(129,140,248,.06); color:var(--accent) }

/* Spotlight card — mouse-tracking radial glow */
.svc-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(129,140,248,.07),transparent 40%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:0}
.svc-card:hover::before{opacity:1}
.svc-card>*{position:relative;z-index:1}

/* Rotating gradient border on card hover */
.svc-card::after{content:'';position:absolute;inset:-1px;border-radius:inherit;background:conic-gradient(from var(--border-angle,0deg),transparent 40%,rgba(129,140,248,.4) 50%,transparent 60%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:-1;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px}
.svc-card:hover::after{opacity:1;animation:rotateBorder 3s linear infinite}
@keyframes rotateBorder{to{--border-angle:360deg}}
@property --border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}

/* ===== APPROACH — Swiss Army vs Purpose-Built ===== */
.approach-header { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; text-align:left; margin-bottom:72px }
.approach-header-text { min-width:0 }
.approach-header-text .ssub { margin:0 }
.approach-header-visual { display:flex; justify-content:center; align-items:center }
.approach-header-visual img { width:100%; max-width:520px; height:auto; border-radius:var(--radius); box-shadow:var(--shadow-lg); display:block }
@media(max-width:1024px){.approach-header{grid-template-columns:1fr;gap:48px;text-align:center}.approach-header-text .ssub{margin:0 auto}.approach-header-visual img{max-width:420px}}
@media(max-width:768px){.approach-header-visual img{max-width:340px}}
@media(max-width:480px){.approach-header-visual img{max-width:280px}}
.approach-compare { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:start }
.approach-card { background:var(--card); border:none; border-radius:var(--radius); padding:44px; box-shadow:var(--ring-accent); transition:all .5s cubic-bezier(.22,1,.36,1) }
.approach-card:hover { box-shadow:var(--glow-accent); transform:translateY(-4px) }
.approach-card-icon { width:48px; height:48px; background:var(--accent-dim); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:24px }
.approach-card-icon svg { width:22px; height:22px; stroke:var(--accent); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.approach-bloat .approach-card-icon { background:rgba(239,68,68,.1) }
.approach-bloat .approach-card-icon svg { stroke:#ef4444 }
.approach-card h3 { font-family:var(--serif); font-size:1.3rem; font-weight:400; color:#fff; margin-bottom:6px }
.approach-subtitle { font-size:.88rem; color:var(--text3); margin-bottom:24px; font-weight:300 }
.approach-list { list-style:none; padding:0; display:flex; flex-direction:column; gap:14px }
.approach-list li { font-size:.88rem; line-height:1.65; color:var(--text2); padding-left:28px; position:relative }
.approach-list-bad li::before { content:'✕'; position:absolute; left:0; color:#ef4444; font-weight:600; font-size:.8rem }
.approach-list-good li::before { content:'✓'; position:absolute; left:0; color:#10b981; font-weight:600; font-size:.8rem }
.approach-vs { display:flex; align-items:center; justify-content:center; padding-top:120px }
.approach-vs span { font-family:var(--mono); font-size:1rem; color:var(--text3); letter-spacing:3px; text-transform:uppercase; background:var(--bg); padding:14px 20px; border-radius:100px; border:1px solid rgba(255,255,255,.08) }

@media(max-width:1024px) {
    .approach-compare { grid-template-columns:1fr; gap:16px }
    .approach-vs { padding:0; }
    .approach-vs span { margin:0 auto }
}

/* ===== PROCESS — Horizontal stepped ===== */
.process-header { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; margin-bottom:72px }
.process-header-text { min-width:0 }
.process-header-visual { display:flex; justify-content:center; align-items:center }
.process-header-visual img { width:100%; max-width:520px; height:auto; border-radius:var(--radius); box-shadow:var(--shadow-lg); display:block }
@media(max-width:1024px){.process-header{grid-template-columns:1fr;gap:48px}.process-header-visual img{max-width:420px}}
@media(max-width:768px){.process-header-visual img{max-width:340px}}
@media(max-width:480px){.process-header-visual img{max-width:280px}}
.process-timeline { position:relative; padding-left:80px }
.process-timeline::before { content:''; position:absolute; left:28px; top:12px; width:1px; height:calc(100% - 24px); background:linear-gradient(180deg, var(--accent), rgba(255,255,255,.06) 80%) }
.process-item { position:relative; margin-bottom:56px }
.process-item:last-child { margin-bottom:0 }
.process-marker { position:absolute; left:-80px; top:6px; width:42px; height:42px; background:var(--card); border:1.5px solid var(--accent); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:.72rem; color:var(--accent); font-weight:500; transition:all .4s; box-shadow:0 0 12px rgba(129,140,248,.1) }
.process-item:hover .process-marker { background:var(--accent); color:#fff; box-shadow:var(--glow-accent) }
.process-item h3 { font-family:var(--serif); font-size:1.2rem; font-weight:400; color:#fff; margin-bottom:8px }
.process-item p { font-size:.9rem; color:var(--text3); line-height:1.85; max-width:620px }

.process-details { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:80px }
.pd-card { background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); padding:36px; transition:all .4s }
.pd-card:hover { border-color:var(--accent); box-shadow:var(--glow-accent); transform:translateY(-3px) }
.pd-card h3 { font-family:var(--serif); font-size:1.05rem; font-weight:400; color:#fff; margin-bottom:10px }
.pd-card p { font-size:.875rem; color:var(--text3); line-height:1.85 }

/* ===== RESULTS ===== */
.results-header { text-align:center; margin-bottom:72px }
.results-header .ssub { margin:0 auto }
.results-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px }
.res-card { text-align:center; padding:48px 20px; background:var(--card-light); border:1px solid var(--card-border-light); border-radius:var(--radius); transition:all .4s }
.res-card:hover { border-color:var(--accent2); box-shadow:0 0 30px rgba(99,102,241,.08); transform:translateY(-3px) }
.res-num { display:block; font-family:var(--serif); font-size:3rem; color:var(--accent2); margin-bottom:4px; font-weight:400 }
.res-label { font-size:.85rem; color:var(--text3-on-light); line-height:1.5 }

/* ===== EDGE — Asymmetric 2fr 1fr ===== */
.edge-layout { display:grid; grid-template-columns:2fr 1fr; gap:80px; align-items:center }
.edge-content .ssub { margin-bottom:40px }
.edge-points { display:flex; flex-direction:column; gap:32px }
.edge-point { display:flex; gap:18px; align-items:flex-start }
.edge-point-icon { width:42px; height:42px; min-width:42px; background:var(--accent-dim); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-top:2px }
.edge-point-icon svg { width:20px; height:20px; stroke:var(--accent); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.edge-point h3 { font-family:var(--serif); font-size:1.02rem; color:#fff; margin-bottom:4px; font-weight:400 }
.edge-point p { font-size:.85rem; color:var(--text3); line-height:1.75 }

.edge-visual { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.edge-stat { background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius-sm); padding:28px; text-align:center; transition:all .4s }
.edge-stat:hover { border-color:var(--accent); box-shadow:var(--glow-accent); transform:translateY(-2px) }
.edge-stat-icon { margin-bottom:12px }
.edge-stat-icon svg { width:26px; height:26px; stroke:var(--accent); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; margin:0 auto; display:block }
.edge-stat h3 { font-size:.88rem; font-weight:500; color:#fff; margin-bottom:2px }
.edge-stat p { font-size:.75rem; color:var(--text3) }

/* ===== TECH — Grid ribbon ===== */
.tech-header { text-align:center; margin-bottom:56px }
.tech-header .ssub { margin:0 auto }
/* Tech marquee — auto-scrolling ticker */
.tech-marquee{overflow:hidden;position:relative;padding:0 0 16px}
.tech-marquee::before,.tech-marquee::after{content:'';position:absolute;top:0;width:120px;height:100%;z-index:2;pointer-events:none}
.tech-marquee::before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}
.tech-marquee::after{right:0;background:linear-gradient(90deg,transparent,var(--bg))}
.tech-track{display:flex;gap:12px;width:max-content;animation:marqueeScroll 40s linear infinite}
.tech-track:hover{animation-play-state:paused}
@keyframes marqueeScroll{to{transform:translateX(-50%)}}
.tech-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:10px }
.tech-pill { background:var(--card); border:1px solid var(--card-border); padding:12px 24px; border-radius:100px; font-size:.84rem; font-weight:400; color:var(--text2); transition:all .35s; cursor:default; white-space:nowrap; flex-shrink:0 }
.tech-pill:hover { border-color:var(--accent); color:var(--accent); background:var(--accent-dim); transform:translateY(-2px); box-shadow:0 0 12px rgba(129,140,248,.08) }

/* ===== INSIGHTS — Dark cards with accent glow ===== */
.insights-header { margin-bottom:72px }
.insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px }
.insight-card { background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; transition:all .5s cubic-bezier(.22,1,.36,1); text-decoration:none; display:block }
.insight-card:hover { border-color:var(--accent); box-shadow:var(--glow-accent); transform:translateY(-6px) }
.insight-cover { height:200px; position:relative; overflow:hidden }
.insight-cover-bg { width:100%; height:100%; transition:transform .7s cubic-bezier(.22,1,.36,1) }
img.insight-cover-bg { object-fit:cover; object-position:center }
.insight-card:hover .insight-cover-bg { transform:scale(1.06) }
.ic1 { background:linear-gradient(135deg, #1a1e3a, #0d1028, #1a2040) }
.ic2 { background:linear-gradient(135deg, #2a2520, #1a1510, #2a2018) }
.ic3 { background:linear-gradient(135deg, #1a2530, #0d1820, #1a2a38) }
.ic4 { background:linear-gradient(135deg, #201a30, #140d20, #281a38) }
.insight-label { position:absolute; top:16px; left:16px; font-family:var(--mono); font-size:.7rem; color:#fff; letter-spacing:2px; text-transform:uppercase; background:rgba(129,140,248,.15); backdrop-filter:blur(8px); padding:6px 14px; border-radius:100px; font-weight:500 }
.insight-body { padding:28px 32px }
.insight-body h3 { font-family:var(--serif); font-size:1.08rem; color:#fff; margin-bottom:10px; line-height:1.4; font-weight:400 }
.insight-body p { font-size:.85rem; color:var(--text3); line-height:1.75; margin-bottom:18px }
.insight-link { font-family:var(--mono); font-size:.72rem; color:var(--accent); letter-spacing:.5px; display:inline-flex; align-items:center; gap:6px; transition:gap .3s; font-weight:500 }
.insight-card:hover .insight-link { gap:12px }

/* ===== CONTACT ===== */
.contact { padding-bottom:140px }
.contact-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:start }
.contact-info .ssub { margin-bottom:44px }
.contact-detail { display:flex; align-items:center; gap:16px; margin-bottom:22px }
.cd-icon { width:44px; height:44px; min-width:44px; background:var(--accent-dim); border-radius:12px; display:flex; align-items:center; justify-content:center }
.cd-icon svg { width:18px; height:18px; stroke:var(--accent); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.contact-detail p { font-size:.92rem; color:var(--text2) }
.contact-detail a { color:#fff; text-decoration:none; transition:color .3s }
.contact-detail a:hover, .contact-detail a:focus-visible { color:var(--accent) }

/* ===== MAGNETIC BUTTON ===== */
.btn-magnetic{transition:transform .3s cubic-bezier(.22,1,.36,1)}

/* ===== FAQ — Accordion grouped by category ===== */
.faq-header { text-align:center; margin-bottom:64px }
.faq-header .ssub { margin:0 auto }
.faq-categories { display:grid; grid-template-columns:1fr 1fr; gap:48px 56px; max-width:1100px; margin:0 auto }
.faq-category-title { font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--card-border) }
.faq-list { display:flex; flex-direction:column; gap:6px }
.faq-item { background:var(--card); border:1px solid var(--card-border); border-radius:var(--radius); overflow:hidden; transition:border-color .35s, box-shadow .35s }
.faq-item[open] { border-color:rgba(129,140,248,.2); box-shadow:var(--ring-accent) }
.faq-item:hover { border-color:rgba(129,140,248,.15) }
.faq-question { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; cursor:pointer; list-style:none; font-family:var(--serif); font-size:1rem; font-weight:400; color:#fff; line-height:1.4; transition:color .3s }
.faq-question::-webkit-details-marker { display:none }
.faq-question:hover { color:var(--accent) }
.faq-question-text { flex:1 }
.faq-question-icon { flex-shrink:0; width:18px; height:18px; color:var(--text3); transition:transform .35s cubic-bezier(.22,1,.36,1), color .3s }
.faq-question-icon svg { width:100%; height:100%; display:block }
.faq-item[open] .faq-question-icon { transform:rotate(180deg); color:var(--accent) }
.faq-answer { padding:0 22px 22px; color:var(--text2); font-size:.92rem; line-height:1.85; font-weight:300 }
.faq-answer p { margin:0 }

/* ===== PARALLAX GRID ===== */
.hero::before{transition:none!important}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px) {
    .ai-cards{grid-template-columns:1fr;gap:16px}.ai-card:first-child{grid-row:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.svc-card:nth-child(n){grid-column:span 1}.results-grid{grid-template-columns:repeat(2,1fr)}.edge-layout{grid-template-columns:1fr;gap:48px}.contact-layout{grid-template-columns:1fr;gap:48px}.process-details{grid-template-columns:1fr}.insights-grid{grid-template-columns:1fr}.faq-categories{grid-template-columns:1fr;gap:40px}
}
@media(max-width:768px) {
    section{padding:80px 0}.hero h1{letter-spacing:-1.5px}.hero-actions{flex-direction:column}.hero-actions a,.hero-actions button{width:100%;text-align:center;justify-content:center}.services-grid{grid-template-columns:1fr}.svc-card:nth-child(n){grid-column:span 1}.results-grid{grid-template-columns:1fr 1fr}.edge-visual{grid-template-columns:1fr 1fr}
}
@media(max-width:480px) {
    .results-grid{grid-template-columns:1fr}.edge-visual{grid-template-columns:1fr}.form-wrap{padding:28px 20px}
}
@media print{.hero-dots,.hero-line,.hero::before,.hero::after,canvas{display:none!important}.hero{min-height:auto;padding:40px 0;background:none}section{padding:40px 0}.reveal,.reveal-up,.reveal-left,.reveal-right,.reveal-scale,.reveal-clip{opacity:1;transform:none;clip-path:none}}

