/* Homepage scenes. Shared motion lives in site-motion.css. Every effect has a still state. */

/* What Kairo does: one plain statement and two lanes of agent work. */
.hp-how { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:center; border-top:1px solid var(--line); padding-block:30px 34px; margin-top:36px; }
.hp-how-label { display:flex; gap:10px; align-items:center; font:700 12px/1.5 var(--body); letter-spacing:.09em; text-transform:uppercase; }
.hp-how-label span { color:var(--purple); font-size:22px; line-height:1; }
.pyramid-home .hp-how-statement { margin-top:12px; max-width:520px; font:500 21px/1.4 var(--display); letter-spacing:-.02em; color:var(--ink); }
.hp-how-statement em { color:var(--purple); }
.hp-how-lanes { display:grid; gap:14px; }
.hp-how-lane { display:grid; grid-template-columns:190px 1fr; gap:16px; align-items:center; padding:14px 16px; border:1px solid #e6e0f0; border-radius:14px; background:rgba(255,255,255,.6); animation:hp-fade-up .8s cubic-bezier(.2,.8,.2,1) both .7s; }
.hp-how-ops { animation-delay:.9s; }
.pyramid-home .hp-how-lane-title { display:grid; grid-template-columns:30px 1fr; column-gap:10px; align-items:center; }
.hp-how-icon { grid-row:span 2; width:30px; height:30px; display:grid; place-items:center; border-radius:9px; background:var(--purple); color:#fff; font-size:15px; }
.hp-how-ops .hp-how-icon { background:var(--lime); color:var(--ink); }
.hp-how-lane-title strong { font:600 16px/1.2 var(--display); letter-spacing:-.01em; }
.hp-how-lane-title small { color:var(--muted); font-size:11.5px; line-height:1.4; }
.hp-how-chips { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.hp-how-chips li { padding:6px 11px; border-radius:99px; background:#f2eeff; color:var(--purple-deep); font:700 12px/1.3 var(--body); animation:hp-chip-in .5s cubic-bezier(.34,1.56,.64,1) both; animation-delay:calc(1s + var(--i,0) * .07s); }
.hp-how-ops .hp-how-chips li { background:#eef9d6; color:#3f5613; animation-delay:calc(1.2s + var(--i,0) * .07s); }
@keyframes hp-chip-in { from { opacity:0; transform:scale(.8); } to { opacity:1; transform:none; } }

/* Brain: pointer spotlight, hover paths and the knowledge counter. */
.hp-brain::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .5s; background:radial-gradient(460px circle at var(--spot-x,50%) var(--spot-y,50%), rgba(174,152,255,.12), transparent 70%); }
.hp-brain.has-spot::after { opacity:1; }
.hp-brain>.section-shell { z-index:1; }
.hp-brain-bottom { flex-wrap:wrap; }
.pyramid-home .hp-brain-bottom .hp-brain-count { display:flex; align-items:baseline; gap:10px; color:#d4c5ff; }
.hp-brain-count strong { min-width:.7em; color:var(--lime); font:600 34px/1 var(--display); letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.hp-brain-bottom .hp-brain-count+p { margin-inline-start:auto; }

/* Expansion globe replaces the static rings. */
.hp-globe { position:absolute; left:-24px; top:6px; width:440px; height:440px; z-index:-1; }

/* Big-company advantage: the three layers around the brand. */
.hp-partner-grid { grid-template-columns:1.1fr .9fr; column-gap:80px; align-items:center; }
.hp-partner-grid>div { align-self:center; padding-bottom:0; }
.hp-partner-copy .hp-kicker { color:var(--purple-deep); }
.hp-partner-copy h2 { margin-bottom:22px; }
.pyramid-home .hp-partner-copy>p { max-width:520px; margin-top:12px; color:var(--ink-soft); font-size:16px; line-height:1.85; }
.hp-corner { display:grid; justify-items:center; gap:26px; }
.hp-corner-art { position:relative; width:360px; height:360px; }
.hp-corner-orbit { position:absolute; left:50%; top:50%; border:1px solid rgba(112,79,245,.24); border-radius:50%; animation:hp-spin var(--t) linear infinite; }
.hp-corner-o1 { --t:28s; --r:98px; width:196px; height:196px; margin:-98px 0 0 -98px; }
.hp-corner-o2 { --t:44s; --r:136px; width:272px; height:272px; margin:-136px 0 0 -136px; border-style:dashed; animation-direction:reverse; }
.hp-corner-o3 { --t:64s; --r:176px; width:352px; height:352px; margin:-176px 0 0 -176px; }
.hp-corner-node { position:absolute; left:50%; top:50%; transform:rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(calc(var(--a) * -1)); }
.hp-corner-agent { width:18px; height:18px; margin:-9px; border-radius:6px; background:var(--c); box-shadow:0 6px 14px rgba(23,32,51,.14); }
.hp-corner-expert { width:42px; height:42px; margin:-21px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--lime); box-shadow:0 0 0 4px rgba(201,244,90,.35); }
.hp-corner-expert svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; animation:hp-spin var(--t) linear infinite reverse; }
.hp-corner-neo { width:54px; height:54px; margin:-27px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 30%,#9b82ff,#5139d8 70%); color:#fff; box-shadow:0 0 0 6px rgba(112,79,245,.12), 0 10px 26px rgba(81,57,216,.35); }
.hp-corner-neo b { font:700 14px var(--display); animation:hp-spin var(--t) linear infinite reverse; }
.hp-corner-core { position:absolute; left:50%; top:50%; width:120px; height:120px; margin:-60px; display:grid; place-items:center; border-radius:50%; background:#fff; text-align:center; box-shadow:0 18px 40px rgba(81,57,216,.16), 0 0 0 10px rgba(255,255,255,.5); }
.hp-corner-core b { max-width:84px; font:600 17px/1.2 var(--display); letter-spacing:-.02em; }
.hp-corner-legend { display:grid; gap:10px; width:100%; max-width:390px; margin:0; padding:0; list-style:none; }
.hp-corner-legend li { display:flex; align-items:center; gap:12px; color:var(--ink-soft); font-size:13px; line-height:1.5; }
.hp-corner-legend strong { margin-inline-end:6px; color:var(--ink); }
.hp-corner-legend i { width:14px; height:14px; flex:none; border-radius:50%; }
.hp-corner-key-neo { background:var(--purple); }
.hp-corner-key-agent { background:var(--lime); border-radius:4px!important; }
.hp-corner-key-expert { background:var(--ink); box-shadow:0 0 0 3px rgba(201,244,90,.5); }
@keyframes hp-spin { to { rotate:360deg; } }

.pyramid-home .hp-alt-contact { margin-top:14px; color:var(--ink-soft); font-size:13px; line-height:1.7; }
.hp-alt-contact a { color:var(--purple-deep); font-weight:700; text-decoration:underline; text-underline-offset:4px; }

/* ---------- Council film ---------- */
.hp-cf { margin-top:48px; }
.hp-cf-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.hp-cf-viewport { position:relative; aspect-ratio:1160/640; overflow:hidden; isolation:isolate; border:1px solid #e3ddef; border-radius:22px; background:#fffcf7; box-shadow:0 30px 80px rgba(38,29,70,.07); }
.hp-cf.is-portrait .hp-cf-viewport { aspect-ratio:400/720; border-radius:18px; }
.hp-cf-stage { position:absolute; top:0; left:0; width:1160px; height:640px; transform:scale(var(--k,1)); transform-origin:0 0; direction:ltr; color:var(--ink); font-family:var(--body); }
.hp-cf.is-portrait .hp-cf-stage { width:400px; height:720px; }
.hp-cf-stage svg { overflow:visible; }
.hp-cf-mesh { position:absolute; inset:0; overflow:hidden; }
.hp-cf-mesh i { position:absolute; width:640px; height:640px; border-radius:50%; background:radial-gradient(circle, var(--c) 0%, transparent 68%); animation:hp-cf-drift 18s ease-in-out infinite alternate; }
.hp-cf-mesh i:nth-child(1) { --c:#e6dfff; left:-230px; top:-270px; }
.hp-cf-mesh i:nth-child(2) { --c:#ddf6ff; right:-210px; top:-250px; animation-delay:-6s; }
.hp-cf-mesh i:nth-child(3) { --c:#f1fbd6; right:-130px; bottom:-310px; animation-delay:-11s; }
.hp-cf-mesh i:nth-child(4) { --c:#ffe9e1; left:-210px; bottom:-330px; animation-delay:-3s; }
.hp-cf-mesh::after { content:''; position:absolute; inset:0; opacity:.6; background-image:radial-gradient(rgba(23,32,51,.07) 1.2px, transparent 1.2px); background-size:26px 26px; -webkit-mask-image:radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%); mask-image:radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%); }
@keyframes hp-cf-drift { from { translate:0 0; } to { translate:70px 50px; } }

/* Captions */
.hp-cf-captions { position:absolute; left:48px; top:42px; z-index:6; width:440px; }
.hp-cf-caption { position:absolute; top:0; left:0; width:100%; opacity:0; visibility:hidden; translate:0 14px; transition:opacity .45s, translate .6s cubic-bezier(.2,.8,.2,1), visibility 0s .6s; }
.hp-cf-caption.is-on { opacity:1; visibility:visible; translate:0 0; transition-delay:.12s, .12s, 0s; }
.pyramid-home .hp-cf-kicker { color:var(--purple-deep); font:12px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.pyramid-home .hp-cf-caption h3 { margin:14px 0; font:600 44px/1.06 var(--display); letter-spacing:-.045em; }
.pyramid-home .hp-cf-caption p:last-child { max-width:380px; color:var(--ink-soft); font-size:15px; line-height:1.65; }

/* Timed elements */
.hp-cf-visual [data-on] { opacity:0; visibility:hidden; translate:0 18px; transition:opacity .45s ease, translate .6s cubic-bezier(.2,.8,.2,1), scale .6s cubic-bezier(.34,1.56,.64,1), visibility 0s .6s; }
.hp-cf-visual [data-on].is-on { opacity:1; visibility:visible; translate:0 0; transition-delay:calc(var(--i,0) * .14s); }

/* Council */
.hp-cf-council { --cx:820px; --cy:360px; --cs:1; position:absolute; top:0; left:0; z-index:2; width:600px; height:440px; transform:translate(calc(var(--cx) - 300px), calc(var(--cy) - 220px)) scale(var(--cs)); transform-origin:300px 220px; transition:transform 1.1s cubic-bezier(.65,0,.35,1), opacity .6s; }
.hp-cf:not([data-chapter="0"]) .hp-cf-council { --cx:250px; --cy:455px; --cs:.62; }
.hp-cf[data-chapter="4"] .hp-cf-council { --cs:.5; opacity:0; }
.hp-cf-links { position:absolute; inset:0; width:600px; height:440px; }
.hp-cf-table { fill:none; stroke:rgba(112,79,245,.2); stroke-width:1.6; stroke-dasharray:5 9; }
.hp-cf-beams line { opacity:0; stroke:rgba(112,79,245,.2); stroke-width:1.8; transition:opacity .5s calc(.35s + var(--i) * .12s); }
.hp-cf-beams .hp-cf-expert-beam { stroke:rgba(23,32,51,.18); }
.hp-cf-beams .hp-cf-pulse { stroke:var(--lime); stroke-width:3; stroke-linecap:round; stroke-dasharray:.16 .84; animation:hp-cf-pulse 2.4s linear infinite; animation-delay:calc(var(--i) * -.37s); }
.hp-cf.is-ready .hp-cf-beams line { opacity:1; }
.hp-cf-loop-track,.hp-cf-loop { fill:none; opacity:0; transition:opacity .6s; }
.hp-cf-loop-track { stroke:rgba(112,79,245,.18); stroke-width:3; }
.hp-cf-loop { stroke:var(--purple); stroke-width:6; stroke-linecap:round; stroke-dasharray:.14 .86; animation:hp-cf-pulse 4s linear infinite; }
.hp-cf[data-chapter="3"] :is(.hp-cf-loop-track,.hp-cf-loop) { opacity:1; }
@keyframes hp-cf-pulse { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
.hp-cf-core { position:absolute; left:236px; top:156px; width:128px; height:128px; display:grid; place-content:center; border-radius:50%; background:radial-gradient(circle at 35% 30%,#9b82ff,#5139d8 70%); color:#fff; text-align:center; box-shadow:0 0 0 12px rgba(112,79,245,.1), 0 0 70px rgba(112,79,245,.45); opacity:0; scale:.3; transition:scale .8s cubic-bezier(.34,1.56,.64,1), opacity .4s; }
.hp-cf-core::before { content:''; position:absolute; inset:-12px; border:1px solid rgba(112,79,245,.3); border-radius:50%; animation:hp-cf-breathe 3.2s ease-in-out infinite; }
.hp-cf.is-ready .hp-cf-core { opacity:1; scale:1; }
.hp-cf-core strong { font:700 34px/1 var(--display); letter-spacing:-.03em; }
.hp-cf-core span { margin-top:6px; color:#e1d9ff; font:10px/1.4 var(--mono); letter-spacing:.14em; }
@keyframes hp-cf-breathe { 50% { scale:1.12; opacity:.25; } }
.hp-cf-agent { position:absolute; left:var(--x); top:var(--y); width:0; height:0; }
.hp-cf-tile { position:absolute; left:-32px; top:-32px; width:64px; height:64px; display:grid; place-items:center; border-radius:20px; background:var(--bg); color:var(--fg,var(--ink)); box-shadow:0 12px 26px rgba(23,32,51,.13); opacity:0; scale:.4; transition:scale .7s cubic-bezier(.34,1.56,.64,1) calc(.3s + var(--i) * .12s), opacity .4s calc(.3s + var(--i) * .12s), box-shadow .4s; }
.hp-cf.is-ready .hp-cf-tile { opacity:1; scale:1; }
.hp-cf.is-settled .hp-cf-tile { transition-delay:0s; }
.hp-cf-tile svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hp-cf-agent b { position:absolute; top:40px; left:-80px; width:160px; opacity:0; font:800 15px/1.3 var(--body); text-align:center; transition:opacity .4s calc(.5s + var(--i) * .12s); }
.hp-cf.is-ready .hp-cf-agent b { opacity:1; }
.hp-cf-a0 { --bg:linear-gradient(140deg,#8b6dff,#5139d8); --fg:#fff; }
.hp-cf-a1 { --bg:linear-gradient(140deg,#e6f8b8,#c9f45a); }
.hp-cf-a2 { --bg:linear-gradient(140deg,#ffd3c6,#ff8b72); }
.hp-cf-a3 { --bg:linear-gradient(140deg,#d9f4ff,#79d9ff); }
.hp-cf-a4 { --bg:linear-gradient(140deg,#ddf7ec,#99e3c4); }
.hp-cf-a5 { --bg:linear-gradient(140deg,#f2eeff,#cfc4ff); --fg:#5139d8; }
.hp-cf-expert .hp-cf-tile { left:-37px; top:-37px; width:74px; height:74px; border-radius:50%; background:var(--ink); color:var(--lime); box-shadow:0 0 0 5px rgba(201,244,90,.35); }
.hp-cf-expert .hp-cf-tile svg { width:32px; height:32px; }
.hp-cf-expert b { top:46px; }
.hp-cf[data-speaker="0"] .hp-cf-a0 .hp-cf-tile,.hp-cf[data-speaker="1"] .hp-cf-a1 .hp-cf-tile,.hp-cf[data-speaker="2"] .hp-cf-a2 .hp-cf-tile,.hp-cf[data-speaker="3"] .hp-cf-a3 .hp-cf-tile,.hp-cf[data-chapter="3"] .hp-cf-a4 .hp-cf-tile { scale:1.14; box-shadow:0 0 0 3px var(--lime), 0 0 0 9px rgba(112,79,245,.16), 0 18px 36px rgba(81,57,216,.3); }
.hp-cf[data-chapter="2"] .hp-cf-expert .hp-cf-tile { scale:1.12; box-shadow:0 0 0 10px rgba(201,244,90,.55); }
.hp-cf-pill { position:absolute; left:var(--x); top:var(--y); padding:8px 18px; border-radius:99px; background:#fff; color:var(--purple-deep); font:800 20px/1 var(--body); white-space:nowrap; box-shadow:0 10px 24px rgba(81,57,216,.18); opacity:0; translate:-50% -50%; scale:.6; transition:opacity .4s, scale .5s cubic-bezier(.34,1.56,.64,1); }
.hp-cf[data-chapter="3"] .hp-cf-pill { opacity:1; scale:1; transition-delay:calc(.25s + var(--i) * .12s); animation:hp-cf-pill 4s steps(1) infinite; animation-delay:calc(var(--i) * 1s); }
@keyframes hp-cf-pill { 0% { background:var(--purple); color:#fff; } 25%,100% { background:#fff; color:var(--purple-deep); } }

/* Speech */
.hp-cf-visual .hp-cf-say { position:absolute; top:0; left:0; z-index:7; width:max-content; max-width:300px; padding:10px 15px; border-radius:16px 16px 16px 5px; background:var(--ink); color:#fff; font:700 14px/1.4 var(--body); box-shadow:0 14px 30px rgba(23,32,51,.25); transform:translate(calc(var(--bx) - 16px), calc(var(--by) - 26px)) translateY(-100%); }
.hp-cf-visual .hp-cf-say-end { border-radius:16px 16px 5px 16px; transform:translate(calc(var(--bx) + 16px), calc(var(--by) - 26px)) translate(-100%, -100%); }
.hp-cf-say-0 { --bx:137px; --by:413px; }
.hp-cf-say-1 { --bx:227px; --by:373px; }
.hp-cf-say-2 { --bx:334px; --by:391px; }
.hp-cf-say-3 { --bx:378px; --by:440px; }

/* Campaign board */
.hp-cf-visual .hp-cf-board-label { position:absolute; left:580px; top:104px; z-index:3; display:flex; align-items:center; gap:10px; color:var(--purple); font:12px/1 var(--mono); letter-spacing:.12em; white-space:nowrap; }
.hp-cf-board-label svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linejoin:round; }
.hp-cf-label-results { display:none; }
.hp-cf[data-chapter="3"] .hp-cf-label-new { display:none; }
.hp-cf[data-chapter="3"] .hp-cf-label-results { display:inline; }
.hp-cf-live { display:none; align-items:center; gap:6px; padding:5px 10px; border-radius:99px; background:#e5484d; color:#fff; font-size:10px; letter-spacing:.1em; }
.hp-cf-live::before { content:''; width:6px; height:6px; border-radius:50%; background:#fff; animation:hp-cf-blink 1.2s ease-in-out infinite; }
.hp-cf.is-live .hp-cf-live,.hp-cf[data-chapter="3"] .hp-cf-live { display:inline-flex; }
@keyframes hp-cf-blink { 50% { opacity:.25; } }
.hp-cf-visual .hp-cf-ad { --s:1; --r:0deg; position:absolute; top:0; left:0; z-index:3; transform:translate(var(--ax), var(--ay)); transition:opacity .45s ease, translate .7s cubic-bezier(.2,.8,.2,1), scale .6s cubic-bezier(.34,1.56,.64,1), transform 1s cubic-bezier(.65,0,.35,1), visibility 0s .6s; translate:0 60px; }
.hp-cf-visual .hp-cf-ad.is-on { translate:0 0; }
.hp-cf-ad-a { --ax:580px; --ay:150px; --r:-3deg; --screen:#704ff5; --kit-accent:#c9f45a; }
.hp-cf-ad-b { --ax:728px; --ay:136px; --screen:#1f2a44; --kit-accent:#c9f45a; }
.hp-cf-ad-c { --ax:876px; --ay:150px; --r:3deg; --screen:#ff8b72; --kit-accent:#fff1d4; }
.hp-cf[data-chapter="3"] .hp-cf-ad { --s:.62; --r:0deg; --ay:150px; }
.hp-cf[data-chapter="3"] .hp-cf-ad-a { --ax:600px; }
.hp-cf[data-chapter="3"] .hp-cf-ad-b { --ax:790px; }
.hp-cf[data-chapter="3"] .hp-cf-ad-c { --ax:980px; }
.hp-cf-phone { width:140px; height:283px; padding:5px; border-radius:24px; background:var(--ink); box-shadow:0 26px 50px rgba(23,32,51,.22); transform:rotate(var(--r)) scale(var(--s)); transform-origin:0 0; transition:transform 1s cubic-bezier(.65,0,.35,1); }
.hp-cf-screen { position:relative; height:100%; overflow:hidden; border-radius:19px; background:var(--screen); color:#fff; }
.hp-cf-screen::before { content:''; position:absolute; top:5px; left:50%; z-index:2; width:40px; height:11px; margin-left:-20px; border-radius:9px; background:var(--ink); }
.hp-cf-ad-c .hp-cf-screen { color:var(--ink); }
.hp-cf-adid { position:absolute; top:9px; right:10px; font:8px var(--mono); opacity:.8; }
.hp-cf-kit { display:block; width:112px; height:112px; margin:30px auto 0; }
.hp-cf-screen strong { position:absolute; top:152px; right:10px; left:12px; font:700 20px/1.05 var(--display); letter-spacing:-.03em; }
.hp-cf-shop { position:absolute; bottom:14px; left:12px; padding:7px 10px; border-radius:9px; background:var(--kit-accent); color:var(--ink); font:800 10px/1 var(--body); }
.hp-cf-result { position:absolute; top:calc(283px * var(--s) + 14px); left:0; width:150px; opacity:0; transition:opacity .5s .3s, top 1s cubic-bezier(.65,0,.35,1); }
.hp-cf[data-chapter="3"] .hp-cf-result { opacity:1; }
.hp-cf-track { display:block; height:12px; overflow:hidden; border-radius:6px; background:#eeebf5; }
.hp-cf-track i { display:block; width:0; height:100%; border-radius:6px; background:#cfc4ff; transition:width 1.6s cubic-bezier(.2,.8,.2,1) .5s; }
.hp-cf-ad-b .hp-cf-track i { background:var(--purple); }
.hp-cf[data-chapter="3"] .hp-cf-track i { width:var(--w); }
.hp-cf-result small { display:block; margin-top:8px; color:var(--muted); font:700 12px/1.35 var(--body); }
.hp-cf-ad-b .hp-cf-result small { color:var(--purple-deep); }
.hp-cf-visual .hp-cf-winner { position:absolute; top:-18px; left:44px; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:99px; background:var(--lime); color:var(--ink); font:800 13px/1 var(--body); box-shadow:0 10px 24px rgba(120,160,20,.3); scale:.6; }
.hp-cf-visual .hp-cf-winner.is-on { scale:1; }
.hp-cf-winner svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hp-cf-visual .hp-cf-page { position:absolute; top:196px; left:962px; z-index:4; width:180px; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 30px 60px rgba(23,32,51,.16), 0 0 0 1px rgba(23,32,51,.07); transform:rotate(3deg); }
.hp-cf-browser { display:flex; align-items:center; gap:4px; height:28px; padding:0 9px; background:#f4f2f8; }
.hp-cf-browser i { width:7px; height:7px; border-radius:50%; background:#ff6b5e; }
.hp-cf-browser i:nth-child(2) { background:#ffbd2e; }
.hp-cf-browser i:nth-child(3) { background:#29c940; }
.hp-cf-browser span { flex:1; height:17px; margin-left:6px; overflow:hidden; padding:0 6px; border-radius:5px; background:#fff; color:var(--muted); font:8px/17px var(--mono); white-space:nowrap; }
.hp-cf-page-body { padding:13px; }
.hp-cf-page-body small { color:var(--purple); font:7.5px var(--mono); letter-spacing:.14em; }
.hp-cf-page-body strong { display:block; margin:4px 0 6px; font:700 19px/1.1 var(--display); letter-spacing:-.03em; }
.hp-cf-page-body ul { margin:0; padding:0; list-style:none; }
.hp-cf-page-body li { display:flex; align-items:center; gap:7px; margin-top:7px; color:var(--ink-soft); font:700 10.5px/1.3 var(--body); opacity:0; transition:opacity .35s; }
.hp-cf-page-body li::before { content:'✓'; width:15px; height:15px; flex:none; display:grid; place-items:center; border-radius:50%; background:#e7f4ed; color:#176448; font-size:9px; }
.hp-cf-page.is-on li { opacity:1; }
.hp-cf-page.is-on li:nth-child(1) { transition-delay:.35s; }
.hp-cf-page.is-on li:nth-child(2) { transition-delay:.5s; }
.hp-cf-page.is-on li:nth-child(3) { transition-delay:.65s; }
.hp-cf-page.is-on li:nth-child(4) { transition-delay:.8s; }
.hp-cf-cart { display:grid; place-items:center; height:30px; margin-top:13px; border-radius:9px; background:var(--purple); color:#fff; font:800 11px var(--body); }
.hp-cf-visual .hp-cf-channels { position:absolute; top:470px; left:580px; z-index:3; display:flex; gap:10px; }
.hp-cf-channels span { display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:12px; background:#fff; color:var(--ink-soft); font:800 13px/1 var(--body); box-shadow:0 10px 24px rgba(23,32,51,.08); opacity:0; translate:0 10px; transition:opacity .4s calc(var(--i) * .1s), translate .5s calc(var(--i) * .1s), background .4s, color .4s; }
.hp-cf-channels.is-on span { opacity:1; translate:0 0; }
.hp-cf-channels svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hp-cf.is-live .hp-cf-channels span { background:var(--ink); color:var(--lime); }
.hp-cf-visual .hp-cf-approve { position:absolute; top:524px; left:690px; z-index:6; width:430px; display:flex; align-items:center; gap:13px; padding:12px; border-radius:18px; background:#fff; box-shadow:0 26px 60px rgba(23,32,51,.18), 0 0 0 1px rgba(23,32,51,.06); }
.hp-cf-avatar { width:42px; height:42px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--lime); }
.hp-cf-avatar svg,.hp-cf-launch svg,.hp-cf-saved-icon svg,.hp-cf-chat-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.hp-cf-approve-text b { display:block; font:800 15px/1.3 var(--body); }
.hp-cf-approve-text small { display:block; color:var(--muted); font-size:12px; white-space:nowrap; }
.hp-cf-launch { position:relative; display:inline-flex; align-items:center; margin-left:auto; padding:12px 16px; border-radius:12px; background:var(--purple); color:#fff; font:800 14px/1 var(--body); white-space:nowrap; transition:background .3s, color .3s; }
.hp-cf-launch>span { align-items:center; gap:7px; }
.hp-cf-launch svg { width:15px; height:15px; stroke-width:2.2; }
.hp-cf-launch::after { content:''; position:absolute; inset:-3px; border:2px solid var(--lime); border-radius:14px; animation:hp-cf-ring 1.4s ease-out infinite; }
.hp-cf .hp-cf-post { display:none; }
.hp-cf-launch .hp-cf-pre { display:inline-flex; }
.hp-cf.is-live .hp-cf-pre { display:none; }
.hp-cf.is-live small.hp-cf-post { display:block; }
.hp-cf.is-live .hp-cf-launch .hp-cf-post { display:inline-flex; }
.hp-cf.is-live .hp-cf-launch { background:var(--ink); color:var(--lime); animation:hp-cf-press .3s ease; }
.hp-cf.is-live .hp-cf-launch::after { display:none; }
@keyframes hp-cf-ring { from { opacity:.9; scale:1; } to { opacity:0; scale:1.16; } }
@keyframes hp-cf-press { 40% { scale:.92; } }
.hp-cf { --tx:1050px; --ty:551px; }
.hp-cf-visual .hp-cf-cursor { position:absolute; top:0; left:0; z-index:8; width:26px; height:26px; fill:var(--ink); stroke:#fff; stroke-width:1.5; stroke-linejoin:round; filter:drop-shadow(0 4px 6px rgba(0,0,0,.25)); transform:translate(1190px, 690px); }
.hp-cf-visual .hp-cf-cursor.is-on { transform:translate(var(--tx), var(--ty)); transition:opacity .3s, visibility 0s, transform 1.4s cubic-bezier(.45,0,.2,1) .8s; }
.hp-cf.is-live .hp-cf-cursor { animation:hp-cf-press .3s ease; }
.hp-cf-visual .hp-cf-saved { position:absolute; top:452px; left:600px; z-index:5; display:flex; align-items:center; gap:14px; width:520px; padding:16px 20px; border-radius:18px; background:var(--ink); color:#fff; box-shadow:0 26px 60px rgba(23,32,51,.25); }
.hp-cf-saved-icon { width:42px; height:42px; flex:none; display:grid; place-items:center; border-radius:12px; background:var(--lime); color:var(--ink); }
.hp-cf-saved small { display:block; color:var(--lime); font:11px/1.4 var(--mono); letter-spacing:.14em; }
.hp-cf-saved b { display:block; margin-top:3px; font:700 16px/1.4 var(--body); }
.hp-cf-saved b em { background:linear-gradient(90deg,#c9c3e6 40%,#fff 50%,#c9c3e6 60%) 0 0/250% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:hp-cf-shine 3.2s linear infinite; }
@keyframes hp-cf-shine { from { background-position:100% 0; } to { background-position:-150% 0; } }

/* Support */
.hp-cf-visual .hp-cf-support { position:absolute; inset:0; z-index:4; translate:0 0; }
.hp-cf-chat-phone { position:absolute; top:84px; left:560px; width:236px; height:477px; transform:none; }
.hp-cf-support.is-on .hp-cf-chat-phone { animation:hp-cf-rise .8s cubic-bezier(.2,.8,.2,1) both; }
.hp-cf-chat { background:#f7f6fb; color:var(--ink); }
.hp-cf-chat-head { display:flex; align-items:flex-end; gap:10px; height:72px; padding:0 14px 11px; border-bottom:1px solid #eceaf2; background:#fff; }
.hp-cf-chat-icon { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:10px; background:linear-gradient(140deg,#f2eeff,#cfc4ff); color:var(--purple-deep); }
.hp-cf-chat-icon svg { width:18px; height:18px; }
.hp-cf-chat-head b { display:block; font:800 13px/1.3 var(--body); }
.hp-cf-chat-head small { color:#176448; font-size:11px; }
.hp-cf-chat-head small::before { content:'● '; }
.hp-cf-chat-body { display:flex; flex-direction:column; gap:9px; padding:14px; }
.hp-cf-visual .hp-cf-chat-body [data-on] { display:none; }
.hp-cf-visual .hp-cf-chat-body [data-on].is-on { display:block; animation:hp-cf-bubble .45s cubic-bezier(.2,.8,.2,1) both; }
.hp-cf-visual .hp-cf-chat-body :is(.hp-cf-typing,.hp-cf-product).is-on { display:flex; }
.hp-cf-msg { align-self:flex-start; max-width:86%; padding:9px 12px; border-radius:15px 15px 15px 5px; background:#fff; font:600 12.5px/1.4 var(--body); box-shadow:0 5px 14px rgba(23,32,51,.06); }
.hp-cf-me { align-self:flex-end; border-radius:15px 15px 5px 15px; background:var(--purple); color:#fff; }
.hp-cf-typing { align-self:flex-start; gap:5px; padding:11px 13px; border-radius:15px; background:#fff; }
.hp-cf-typing i { width:7px; height:7px; border-radius:50%; background:var(--purple); animation:hp-cf-dot 1s ease-in-out infinite; }
.hp-cf-typing i:nth-child(2) { animation-delay:.15s; }
.hp-cf-typing i:nth-child(3) { animation-delay:.3s; }
.hp-cf-product { align-self:flex-start; align-items:center; gap:10px; width:94%; padding:8px; border-radius:13px; background:#fff; box-shadow:0 5px 14px rgba(23,32,51,.06); }
.hp-cf-product .hp-cf-kit { --kit-accent:#c9f45a; width:46px; height:46px; flex:none; margin:0; border-radius:10px; background:var(--purple); }
.hp-cf-product b { display:block; font:800 12px/1.3 var(--body); }
.hp-cf-product small { color:var(--purple-deep); font-size:11px; }
.hp-cf-visual .hp-cf-pattern { position:absolute; top:150px; left:830px; width:300px; padding:18px 20px; border-radius:18px; background:var(--ink); color:#fff; box-shadow:0 26px 60px rgba(23,32,51,.25); }
.hp-cf-pattern small,.hp-cf-across small { color:var(--lime); font:11px/1.4 var(--mono); letter-spacing:.14em; }
.hp-cf-pattern b { display:block; margin-top:8px; font:700 18px/1.35 var(--body); }
.hp-cf-pattern span { display:flex; align-items:center; gap:8px; margin-top:14px; color:#d8d1ff; font:700 13px/1.3 var(--body); }
.hp-cf-arrow { width:15px; height:15px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hp-cf-mini-tile { width:26px; height:26px; flex:none; display:grid; place-items:center; border-radius:8px; background:linear-gradient(140deg,#ffd3c6,#ff8b72); color:var(--ink); }
.hp-cf-mini-tile svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.hp-cf-visual .hp-cf-across { position:absolute; top:360px; left:830px; width:320px; }
.hp-cf-across small { color:var(--muted); }
.hp-cf-across div { display:flex; flex-wrap:wrap; gap:9px; margin-top:11px; }
.hp-cf-across span { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border-radius:12px; background:#fff; color:var(--ink-soft); font:800 13px/1 var(--body); box-shadow:0 10px 24px rgba(23,32,51,.08); }
.hp-cf-across svg { width:15px; height:15px; fill:none; stroke:var(--purple); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
@keyframes hp-cf-bubble { from { opacity:0; transform:translateY(12px) scale(.94); } to { opacity:1; transform:none; } }
@keyframes hp-cf-rise { from { opacity:0; transform:translateY(80px) rotate(4deg); } to { opacity:1; transform:none; } }
@keyframes hp-cf-dot { 50% { opacity:.25; translate:0 -2px; } }

/* Controls */
.hp-cf-controls { display:flex; align-items:center; gap:24px; margin-top:18px; }
.hp-cf-chapters { display:flex; flex:1; gap:10px; }
.hp-cf-chapters button { flex:1; min-width:0; min-height:44px; padding:0 0 4px; border:0; background:none; color:var(--muted); font:600 13px/1.3 var(--body); text-align:start; cursor:pointer; }
.hp-cf-chapters button:hover,.hp-cf-chapters button[aria-pressed=true] { color:var(--ink); }
.hp-cf-bar { display:block; height:3px; margin-bottom:10px; overflow:hidden; border-radius:3px; background:#e4dfee; }
.hp-cf-bar i { display:block; width:calc(var(--p,0) * 100%); height:100%; border-radius:3px; background:var(--purple); }
.hp-cf-num { margin-inline-end:4px; color:var(--purple-deep); font:11px var(--mono); }
.hp-cf-toggle { flex:none; color:var(--ink-soft); }

/* Portrait edit of the film for phones */
.hp-cf.is-portrait .hp-cf-captions { top:22px; left:22px; width:356px; }
.pyramid-home .hp-cf.is-portrait .hp-cf-caption h3 { margin:10px 0; font-size:31px; }
.pyramid-home .hp-cf.is-portrait .hp-cf-caption p:last-child { font-size:13px; line-height:1.55; }
.pyramid-home .hp-cf.is-portrait .hp-cf-kicker { font-size:10.5px; }
.hp-cf.is-portrait .hp-cf-council { --cx:200px; --cy:440px; --cs:.62; }
.hp-cf.is-portrait:not([data-chapter="0"]) .hp-cf-council { --cx:200px; --cy:272px; --cs:.42; }
.hp-cf.is-portrait .hp-cf-agent b { font-size:17px; }
.hp-cf.is-portrait .hp-cf-say,.hp-cf.is-portrait .hp-cf-say-end { max-width:340px; border-radius:14px; font-size:13px; transform:translate(200px, 364px) translateX(-50%); }
.hp-cf.is-portrait .hp-cf-board-label { top:378px; left:22px; font-size:10px; }
.hp-cf.is-portrait:is([data-chapter="1"],[data-chapter="3"]) .hp-cf-board-label { opacity:0; }
.hp-cf.is-portrait .hp-cf-ad { --s:.77; }
.hp-cf.is-portrait .hp-cf-ad-a { --ax:22px; --ay:404px; }
.hp-cf.is-portrait .hp-cf-ad-b { --ax:146px; --ay:398px; }
.hp-cf.is-portrait .hp-cf-ad-c { --ax:270px; --ay:404px; }
.hp-cf.is-portrait[data-chapter="3"] .hp-cf-ad { --s:.5; --ay:404px; }
.hp-cf.is-portrait[data-chapter="3"] .hp-cf-ad-a { --ax:30px; }
.hp-cf.is-portrait[data-chapter="3"] .hp-cf-ad-b { --ax:160px; }
.hp-cf.is-portrait[data-chapter="3"] .hp-cf-ad-c { --ax:290px; }
.hp-cf.is-portrait .hp-cf-result { width:96px; }
.hp-cf.is-portrait .hp-cf-result small { font-size:10px; }
.hp-cf.is-portrait .hp-cf-winner { top:-16px; left:14px; padding:5px 9px; font-size:11px; }
.hp-cf.is-portrait .hp-cf-page,.hp-cf.is-portrait .hp-cf-across { display:none; }
.hp-cf.is-portrait .hp-cf-channels { top:646px; left:22px; gap:6px; }
.hp-cf.is-portrait .hp-cf-channels span { gap:5px; padding:8px 9px; font-size:11px; }
.hp-cf.is-portrait .hp-cf-approve { top:556px; left:22px; width:356px; gap:9px; padding:10px; }
.hp-cf.is-portrait .hp-cf-avatar { width:34px; height:34px; }
.hp-cf.is-portrait .hp-cf-approve-text { min-width:0; }
.hp-cf.is-portrait .hp-cf-approve-text b { font-size:13px; }
.hp-cf.is-portrait .hp-cf-approve-text small { font-size:10.5px; white-space:normal; }
.hp-cf.is-portrait .hp-cf-launch { padding:10px 11px; font-size:12px; }
.hp-cf.is-portrait { --tx:318px; --ty:581px; }
.hp-cf.is-portrait .hp-cf-cursor:not(.is-on) { transform:translate(420px, 760px); }
.hp-cf.is-portrait .hp-cf-saved { top:612px; left:22px; width:356px; gap:10px; padding:12px 14px; }
.hp-cf.is-portrait .hp-cf-saved-icon { width:34px; height:34px; }
.hp-cf.is-portrait .hp-cf-saved small { font-size:9.5px; }
.hp-cf.is-portrait .hp-cf-saved b { font-size:13px; }
.hp-cf.is-portrait .hp-cf-chat-phone { top:176px; left:100px; width:200px; height:404px; }
.hp-cf.is-portrait .hp-cf-chat-head { height:66px; gap:8px; padding:0 10px 9px; }
.hp-cf.is-portrait .hp-cf-chat-icon { width:28px; height:28px; }
.hp-cf.is-portrait .hp-cf-chat-head b { font-size:11px; white-space:nowrap; }
.hp-cf.is-portrait .hp-cf-chat-head small { font-size:10px; }
.hp-cf.is-portrait .hp-cf-chat-body { gap:7px; padding:10px; }
.hp-cf.is-portrait .hp-cf-msg { padding:7px 10px; font-size:11px; }
.hp-cf.is-portrait .hp-cf-product { gap:8px; padding:6px; }
.hp-cf.is-portrait .hp-cf-product .hp-cf-kit { width:36px; height:36px; }
.hp-cf.is-portrait .hp-cf-product b { font-size:11px; }
.hp-cf.is-portrait .hp-cf-product small { font-size:10px; }
.hp-cf.is-portrait .hp-cf-pattern { top:594px; left:22px; width:356px; padding:12px 16px; }
.hp-cf.is-portrait .hp-cf-pattern b { margin-top:5px; font-size:14px; }
.hp-cf.is-portrait .hp-cf-pattern span { margin-top:8px; font-size:11.5px; }

/* Hebrew keeps the film's geometry, with right-to-left text. */
html[dir=rtl] .hp-cf-stage :is(.hp-cf-caption,.hp-cf-say,.hp-cf-approve-text,.hp-cf-saved,.hp-cf-chat,.hp-cf-pattern,.hp-cf-across,.hp-cf-page-body,.hp-cf-result,.hp-cf-board-label) { direction:rtl; }
html[dir=rtl] .hp-cf-stage .hp-cf-caption { text-align:right; }
html[dir=rtl] .hp-cf-stage .hp-cf-screen strong { direction:rtl; text-align:right; }

/* Responsive */
@media (max-width:1100px) { .hp-how { gap:28px; } .hp-how-lane { grid-template-columns:160px 1fr; } .hp-partner-grid { column-gap:40px; } .hp-corner-art { scale:.88; margin:-20px 0; } }
@media (max-width:920px) {
  .hp-how { grid-template-columns:1fr; gap:18px; }
  .pyramid-home .hp-how-statement { max-width:none; }
  .hp-partner-grid { grid-template-columns:1fr; }
  .hp-corner { margin-top:42px; }
  .hp-globe { left:50%; width:400px; height:400px; translate:-50% 0; opacity:.9; }
}
@media (max-width:700px) {
  .hp-hero-note { display:none; }
  .hp-how-lane { grid-template-columns:1fr; gap:10px; padding:12px; }
  .pyramid-home .hp-how-statement { font-size:18px; }
  .hp-brain-stage { min-height:0; }
  .hp-source:not(.hp-source-marketing) { min-height:0; }
  .hp-source:not(.hp-source-marketing):not([aria-pressed=true]) .hp-source-explain { display:none; }
  .hp-brain-bottom .hp-brain-count+p { flex-basis:100%; order:3; margin-inline-start:0; }
  .pyramid-home .hp-brain-bottom .hp-brain-count { flex:1; max-width:none; }
  .hp-globe { width:360px; height:360px; top:46px; }
  .hp-cf { margin-top:32px; }
  .hp-cf-controls { flex-wrap:wrap; gap:6px; }
  .hp-cf-chapters { flex-basis:100%; gap:6px; }
  .hp-cf-chapters button { font-size:11px; }
  .hp-cf-toggle { margin-inline-start:auto; }
  .hp-corner-art { scale:.84; margin:-28px 0; }
}
@media (max-width:440px) {
  .hp-cf-name { display:none; }
  .hp-cf-num { font-size:12px; }
  .hp-video-play { width:44px; height:44px; }
  .hp-corner-art { scale:.76; margin:-42px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hp-cf-bar i { width:0; }
  .hp-cf-chapters button[aria-pressed=true] .hp-cf-bar i { width:100%; }
}
