/* Self-contained AI agent promises. Visible by default, enhanced by JS. */
#agent-promise { position:relative; z-index:10; padding:clamp(72px,9vw,120px) 0; background:radial-gradient(ellipse at 80% 0,rgba(63,208,236,.08),transparent 45%),#070a1e; color:#fff; font-family:"Zen Kaku Gothic New",sans-serif; line-height:1.85; }
#agent-promise *, #agent-promise *::before, #agent-promise *::after { box-sizing:border-box; }
.ap-container { width:min(1120px,calc(100% - 48px)); margin:auto; }
.ap-head { text-align:center; max-width:820px; margin:0 auto 36px; }
.ap-tag { display:inline-flex; align-items:center; gap:10px; margin:0; color:#b6bdd0; font:700 12px/1 "Space Grotesk",sans-serif; letter-spacing:.28em; }
.ap-tag i { width:28px; height:2px; border-radius:2px; background:linear-gradient(90deg,#3fd0ec,#b18cff); }
.ap-title { margin:20px 0 18px; font-size:clamp(28px,4.2vw,46px); font-weight:900; line-height:1.4; letter-spacing:.01em; color:#fff; }
.ap-lead { margin:0; color:#b6bdd0; font-size:16px; }
.ap-lead > span { display:inline-block; }
.ap-terminal, .ap-work { overflow:hidden; border:1px solid #293047; background:#0d1428; border-radius:18px; box-shadow:0 24px 60px -36px #000; min-width:0; }
.ap-terminal { max-width:740px; margin:0 auto 80px; }
.ap-chrome { display:flex; align-items:center; gap:16px; padding:13px 18px; border-bottom:1px solid #293047; background:rgba(255,255,255,.025); color:#aab4cc; font:12px/1.5 "Space Grotesk",monospace; overflow-wrap:anywhere; }
.ap-dots { display:flex; gap:6px; flex-shrink:0; }
.ap-dots i { width:8px; height:8px; border-radius:50%; background:#f87171; }
.ap-dots i:nth-child(2) { background:#fbbf24; }
.ap-dots i:nth-child(3) { background:#34d399; }
.ap-terminal-body { padding:26px; min-height:158px; color:#8de3ee; font:14px/2 "Zen Kaku Gothic New",monospace; }
.ap-typed { white-space:pre-wrap; overflow-wrap:anywhere; }
.ap-caret { color:#b18cff; }
.ap-js .ap-caret { animation:ap-blink 1.1s steps(1) infinite; }
.ap-subtitle { margin:0 0 34px; text-align:center; font-size:clamp(24px,3vw,30px); font-weight:900; color:#fff; }
.ap-promises { display:grid; gap:64px; }
.ap-promise { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,6vw,80px); align-items:center; padding:0 0 56px; border-bottom:1px solid rgba(255,255,255,.1); }
.ap-promise:nth-child(even) .ap-copy { order:2; }
.ap-number { margin:0 0 16px; color:var(--ap-accent); font:700 12px/1.5 "Space Grotesk",sans-serif; letter-spacing:.2em; }
.ap-flaw { margin:0; color:#c3c9d8; font-size:18px; font-weight:700; }
.ap-therefore { margin:12px 0 5px; font-size:13px; color:#aab4cc; }
.ap-therefore span { color:var(--ap-accent); margin-left:8px; }
.ap-gain { margin:0 0 18px; font-size:clamp(25px,3vw,34px); font-weight:900; line-height:1.45; color:var(--ap-accent); }
.ap-description { margin:0 0 24px; color:#b6bdd0; font-size:15px; }
.ap-agent { display:flex; align-items:center; gap:12px; }
.ap-face { position:relative; display:block; width:56px; height:56px; flex-shrink:0; overflow:hidden; border-radius:50%; background:#17213b; border:1px solid var(--ap-accent); }
/* 720 × 960 sheets: center each face in a crop one third of the sheet width. */
.ap-face img { position:absolute; left:50%; top:50%; width:300%; height:400%; max-width:none; transform:translate(calc(-100% * var(--fx)),calc(-100% * var(--fy))); }
.ap-agent p { margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; line-height:1.5; }
.ap-agent strong { font-size:17px; }
.ap-agent p span { font:700 11px/1.5 "Space Grotesk",sans-serif; letter-spacing:.08em; color:var(--ap-accent); }
.ap-agent small { display:block; font-size:12px; color:#b6bdd0; }
.ap-work-body { padding:24px; font-size:13px; }
.ap-note { margin:18px 0 0; font-size:11px; color:#aab4cc; text-align:right; }
.ap-status { margin-top:20px; display:flex; justify-content:space-between; gap:10px; color:#b6bdd0; font-size:12px; }
.ap-status b { font-family:"Space Grotesk",sans-serif; font-size:18px; color:var(--ap-accent); }
.ap-timeline { position:relative; padding:0 0 10px; overflow:hidden; }
.ap-ruler { margin-bottom:18px; font:11px/1.5 "Space Grotesk",monospace; color:#aab4cc; white-space:nowrap; }
.ap-track { display:flex; gap:8px; margin:8px 0; height:30px; }
.ap-track i { display:block; flex:1; border-radius:4px; border:1px solid #38bdf877; background:#38bdf82e; }
.ap-track i:nth-child(2) { flex:1.6; }
.ap-audio { height:24px; }
.ap-audio i { background:repeating-linear-gradient(90deg,#b18cff60 0 2px,#b18cff20 2px 5px); border-color:#b18cff77; }
.ap-playhead { position:absolute; top:24px; bottom:0; left:0; width:2px; background:#fff; transform:translateX(0); }
.ap-work.ap-active .ap-playhead { animation:ap-play 3.2s ease-in-out forwards; }
.ap-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
.ap-calendar div { text-align:center; border:1px solid #293047; border-radius:6px; padding:7px 2px; font-size:12px; color:#b6bdd0; }
.ap-calendar i { display:block; margin:10px auto 4px; width:6px; height:6px; border-radius:50%; background:var(--ap-accent); }
.ap-calendar div:nth-child(3n) i { opacity:.25; }
.ap-window-label { color:#b6bdd0; font-size:12px; margin:20px 0 8px; }
.ap-bars { display:flex; align-items:flex-end; gap:10px; height:80px; }
.ap-bars i { flex:1; height:var(--ap-bar); border-radius:4px 4px 0 0; background:linear-gradient(0deg,#fb71854d,#fb7185); transform-origin:bottom; }
.ap-lines { min-height:168px; }
.ap-lines p { margin:0 0 12px; }
.ap-lines p span, .ap-online { color:var(--ap-accent); }
.ap-outline { color:#fff; font-weight:700; }
.ap-progress { height:5px; border-radius:5px; overflow:hidden; background:#293047; }
.ap-progress i { display:block; height:100%; background:var(--ap-accent); transform-origin:left; }
.ap-chat { min-height:195px; display:flex; flex-direction:column; gap:14px; }
.ap-chat p { margin:0; padding:12px 15px; border-radius:12px; max-width:90%; line-height:1.7; }
.ap-chat small { display:block; font-size:11px; color:#c2b3ec; margin-bottom:4px; }
.ap-question { align-self:flex-end; background:#242d46; }
.ap-answer { align-self:flex-start; border:1px solid #b18cff44; background:#b18cff12; }
#agent-promise .ap-cta { position:fixed; z-index:80; right:24px; bottom:var(--ap-cta-bottom,24px); display:flex; flex-direction:column; padding:10px 25px; border:1px solid #72dcea; border-radius:999px; background:#12334e; color:#fff; text-decoration:none; text-align:center; box-shadow:0 8px 28px #0006; line-height:1.5; }
#agent-promise .ap-cta[hidden] { display:none; }
.ap-cta small { font-size:11px; color:#c1e4ed; }
.ap-cta > span { font-size:16px; font-weight:700; }
.ap-cta:focus-visible { outline:3px solid #b18cff; outline-offset:4px; }
.ap-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.ap-js .ap-rv { opacity:0; transform:translateY(18px); transition:opacity .65s ease var(--ap-d,0ms),transform .65s ease var(--ap-d,0ms); }
.ap-js .ap-rv.ap-visible { opacity:1; transform:none; }
.ap-js .ap-work:not(.ap-active) .ap-seq { opacity:0; transform:translateY(6px); }
.ap-js .ap-seq { transition:opacity .6s ease var(--ap-step,0ms),transform .6s ease var(--ap-step,0ms); }
.ap-js .ap-work:not(.ap-active) .ap-bars i, .ap-js .ap-work:not(.ap-active) .ap-progress i { transform:scaleY(0); }
.ap-js .ap-work:not(.ap-active) .ap-progress i { transform:scaleX(0); }
.ap-js .ap-bars i { transition:transform 1.5s ease var(--ap-step,0ms); }
.ap-js .ap-progress i { transition:transform 2.4s ease; }
@keyframes ap-blink { 50% { opacity:0; } }
@keyframes ap-play { to { left:100%; transform:translateX(-2px); } }
@media(max-width:760px) {
 .ap-container { width:calc(100% - 36px); }
 .ap-title { font-size:clamp(24px,6.6vw,34px); }
 .ap-lead { font-size:14px; }
 .ap-terminal { margin-bottom:52px; }
 .ap-terminal-body { padding:20px 16px; font-size:12px; min-height:150px; }
 .ap-promises { gap:38px; }
 .ap-promise { grid-template-columns:minmax(0,1fr); gap:24px; padding-bottom:38px; }
 .ap-promise:nth-child(even) .ap-copy { order:0; }
 .ap-work-body { padding:20px; }
 .ap-flaw { font-size:16px; }
 .ap-face { width:48px; height:48px; }
 #agent-promise .ap-cta { right:14px; bottom:var(--ap-cta-bottom,calc(98px + env(safe-area-inset-bottom,0px))); padding:6px 14px; white-space:nowrap; }
 #agent-promise .ap-cta small { display:none; }
 #agent-promise .ap-cta > span { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 #agent-promise .ap-rv, #agent-promise .ap-seq { opacity:1; transform:none; transition:none; }
 #agent-promise .ap-bars i, #agent-promise .ap-progress i { transform:none; transition:none; }
 #agent-promise .ap-caret, #agent-promise .ap-playhead { animation:none; }
 #agent-promise .ap-playhead { left:100%; transform:translateX(-2px); }
}

/* November redesign: bright typography, LAB identities, viewport-bound motion. */
#agent-promise { overflow:clip; isolation:isolate; color:#d5deed; }
#agent-promise::before,#agent-promise::after { content:""; position:absolute; z-index:-1; pointer-events:none; }
#agent-promise::before { inset:-100px -15%; background:radial-gradient(ellipse at 20% 20%,#0ea5e91c,transparent 38%),radial-gradient(ellipse at 85% 65%,#8b5cf61c,transparent 40%); animation:ap-drift 18s ease-in-out infinite alternate; }
#agent-promise::after { inset:0; background-image:linear-gradient(#a5c7ff08 1px,transparent 1px),linear-gradient(90deg,#a5c7ff08 1px,transparent 1px); background-size:80px 100px; transform:perspective(900px) rotateX(12deg) scale(1.12); opacity:.6; animation:ap-grid 20s ease-in-out infinite alternate; }
#agent-promise [data-agent="korai"] { --ap-accent:#0ea5e9; --ap-ink:#62cfff; }
#agent-promise [data-agent="momo"] { --ap-accent:#f43f5e; --ap-ink:#ff8fa3; }
#agent-promise [data-agent="suzuka"] { --ap-accent:#10b981; --ap-ink:#64e5ba; }
#agent-promise [data-agent="minato"] { --ap-accent:#f59e0b; --ap-ink:#ffd078; }
#agent-promise [data-agent="eito"] { --ap-accent:#8b5cf6; --ap-ink:#c4a5ff; }
#agent-promise .ap-title { font-size:clamp(32px,4.5vw,56px); line-height:1.35; letter-spacing:-.025em; }
#agent-promise .ap-title-accent { color:#8ddcf8; background:linear-gradient(100deg,#8de5ff,#d0b7ff); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
#agent-promise .ap-lead { color:#d5deed; font-size:18px; line-height:1.9; }
#agent-promise .ap-tag { color:#d5deed; font-size:13px; }
#agent-promise .ap-terminal { max-width:820px; margin-bottom:30px; border-color:#4c8da8; box-shadow:0 0 35px #0ea5e91a,0 28px 70px #0005; }
#agent-promise .ap-chrome { color:#d5deed; font-size:13px; font-weight:700; letter-spacing:.035em; background:#121c32; }
#agent-promise .ap-terminal-body { min-height:180px; font-size:16px; color:#a9edff; }
#agent-promise .ap-ticker { overflow:hidden; margin:0 0 70px; padding:15px 0; border-block:1px solid #34415b; background:#10182c; }
#agent-promise .ap-ticker-track { display:flex; width:max-content; animation:ap-marquee 36s linear infinite; color:#d5deed; font-size:13px; font-weight:700; letter-spacing:.1em; }
#agent-promise .ap-ticker-track > span { flex:none; white-space:nowrap; }
#agent-promise .ap-ticker:hover .ap-ticker-track { animation-play-state:paused; }
#agent-promise .ap-promises { gap:72px; }
#agent-promise .ap-promise { position:relative; isolation:isolate; padding:35px 0 60px; gap:40px; }
#agent-promise .ap-copy { min-width:0; }
#agent-promise .ap-bg-number { position:absolute; z-index:-1; right:0; top:-35px; font:700 clamp(180px,26vw,320px)/1 "Space Grotesk",sans-serif; color:transparent; -webkit-text-stroke:1px var(--ap-accent); opacity:.17; pointer-events:none; }
#agent-promise .ap-promise:nth-child(even) .ap-bg-number { right:auto; left:0; }
#agent-promise .ap-number { display:inline-block; padding:7px 16px; border:1px solid var(--ap-accent); border-radius:8px; color:var(--ap-ink); background:#0b1128; font-size:17px; letter-spacing:.12em; box-shadow:0 0 24px color-mix(in srgb,var(--ap-accent) 15%,transparent); }
#agent-promise .ap-flaw { font-size:19px; color:#edf2fc; text-decoration:underline; text-decoration-color:var(--ap-accent); text-underline-offset:7px; text-decoration-thickness:1px; }
#agent-promise .ap-therefore { display:table; color:var(--ap-ink); background:#10182c; border-left:3px solid var(--ap-accent); padding:2px 12px; margin:20px 0 12px; font-size:13px; font-weight:800; letter-spacing:.1em; }
#agent-promise .ap-therefore span { color:inherit; }
#agent-promise .ap-gain { color:var(--ap-ink); font-size:clamp(30px,3.8vw,48px); line-height:1.35; letter-spacing:-.035em; text-shadow:0 0 32px color-mix(in srgb,var(--ap-accent) 25%,transparent); }
#agent-promise .ap-description { color:#d5deed; font-size:16px; }
#agent-promise .ap-agent { gap:23px; margin-top:32px; }
#agent-promise .ap-face { width:120px; height:120px; border:0; overflow:visible; isolation:isolate; box-shadow:0 0 30px color-mix(in srgb,var(--ap-accent) 22%,transparent); }
#agent-promise .ap-face::before { content:""; position:absolute; inset:-5px; z-index:-1; border-radius:50%; background:conic-gradient(from 0deg,transparent,var(--ap-accent),#e8f5ff,var(--ap-accent),transparent); animation:ap-ring 9s linear infinite; }
#agent-promise .ap-face::after { content:""; position:absolute; inset:0; border-radius:50%; background:repeating-linear-gradient(transparent 0 4px,#07102022 4px 5px); pointer-events:none; border:3px solid #0d1428; }
#agent-promise .ap-face img { clip-path:circle(12.5% at calc(100% * var(--fx)) calc(100% * var(--fy))); }
#agent-promise .ap-agent strong { font-size:24px; }
#agent-promise .ap-agent p { gap:6px 10px; }
#agent-promise .ap-agent p span { color:var(--ap-ink); font-size:13px; }
#agent-promise .ap-agent small { color:#d5deed; font-size:13px; font-weight:700; letter-spacing:.05em; }
#agent-promise .ap-work { border-color:color-mix(in srgb,var(--ap-accent) 55%,#293047); box-shadow:0 0 30px color-mix(in srgb,var(--ap-accent) 10%,transparent),0 24px 60px #0004; transition:box-shadow .3s; }
#agent-promise .ap-work-body { font-size:15px; }
#agent-promise .ap-note,#agent-promise .ap-status,#agent-promise .ap-window-label,#agent-promise .ap-ruler,#agent-promise .ap-calendar div,#agent-promise .ap-chat small { color:#d5deed; font-size:13px; }
#agent-promise .ap-note,#agent-promise .ap-window-label,#agent-promise .ap-chat small { font-weight:700; letter-spacing:.04em; }
#agent-promise .ap-status b,#agent-promise .ap-lines p span,#agent-promise .ap-online { color:var(--ap-ink); }
#agent-promise .ap-bars i { background:linear-gradient(0deg,color-mix(in srgb,var(--ap-accent) 30%,#10182c),var(--ap-accent)); }
#agent-promise .ap-playhead { left:0; width:2px; animation:none; box-shadow:0 0 10px #fff; }
#agent-promise .ap-timeline { --ap-play-width:0px; }
#agent-promise.ap-js .ap-playhead { animation:ap-play-loop 6s linear infinite; }
#agent-promise.ap-js .ap-bars i { animation:ap-grow-y 6s ease infinite; animation-delay:var(--ap-step); }
#agent-promise.ap-js .ap-progress i { animation:ap-grow-x 6s ease infinite; }
#agent-promise.ap-js .ap-calendar i { animation:ap-pulse 2s ease-in-out infinite; }
#agent-promise .ap-calendar div:nth-child(even) i { animation-delay:.6s; }
#agent-promise.ap-js .ap-lines .ap-seq { animation:ap-sequence 6s both infinite; animation-delay:var(--ap-step); }
#agent-promise.ap-js .ap-chat p { animation:ap-chat-loop 8s both infinite; animation-delay:var(--ap-step); }
#agent-promise .ap-chat { position:relative; padding-bottom:22px; }
#agent-promise .ap-chat-typing { position:absolute; bottom:0; display:flex; gap:5px; }
#agent-promise .ap-chat-typing i { width:5px; height:5px; border-radius:50%; background:#c4a5ff; animation:ap-pulse 1s ease-in-out infinite alternate; }
#agent-promise .ap-chat-typing i:nth-child(2) { animation-delay:.2s; }
#agent-promise .ap-chat-typing i:nth-child(3) { animation-delay:.4s; }
#agent-promise .ap-cta { background:linear-gradient(110deg,#075075,#5635a5); border-color:#9cdfff; box-shadow:0 8px 30px #0008,0 0 22px #0ea5e933; }
#agent-promise .ap-cta small { color:#e0f3ff; font-size:13px; font-weight:700; }
#agent-promise.ap-js .ap-work.ap-rv:not(.ap-visible) { transform:translateX(30px) scale(.97); }
#agent-promise.ap-js .ap-promise:nth-child(even) .ap-work.ap-rv:not(.ap-visible) { transform:translateX(-30px) scale(.97); }
#agent-promise .ap-face { transition:scale .8s ease; }
#agent-promise.ap-js .ap-copy:not(.ap-visible) .ap-face { scale:.82; }
#agent-promise.ap-js .ap-work:not(.ap-inview) *,#agent-promise.ap-js .ap-promise:not(.ap-inview) .ap-face::before,#agent-promise.ap-js:not(.ap-inview)::before,#agent-promise.ap-js:not(.ap-inview)::after,#agent-promise.ap-js:not(.ap-inview) .ap-ticker-track,#agent-promise.ap-js .ap-terminal:not(.ap-inview) .ap-caret { animation-play-state:paused; }
@media (hover:hover) and (pointer:fine) {
 #agent-promise .ap-work.ap-visible { transform:perspective(900px) rotateX(var(--ap-rx,0deg)) rotateY(var(--ap-ry,0deg)) translateY(var(--ap-lift,0px)); }
 #agent-promise .ap-work:hover { --ap-lift:-5px; box-shadow:0 0 45px color-mix(in srgb,var(--ap-accent) 24%,transparent),0 30px 60px #0006; }
}
@keyframes ap-drift { to { transform:translate3d(5%,2%,0) scale(1.06); opacity:.7; } }
@keyframes ap-grid { to { transform:perspective(900px) rotateX(12deg) translateY(35px) scale(1.12); opacity:.35; } }
@keyframes ap-ring { to { transform:rotate(360deg); } }
@keyframes ap-marquee { to { transform:translateX(-50%); } }
@keyframes ap-play-loop { from { transform:translateX(0); } to { transform:translateX(var(--ap-play-width)); } }
@keyframes ap-grow-y { 0%,8% { transform:scaleY(.06); } 65%,90% { transform:scaleY(1); } 100% { transform:scaleY(.06); } }
@keyframes ap-grow-x { 0%,8% { transform:scaleX(0); } 75%,95% { transform:scaleX(1); } 100% { transform:scaleX(0); } }
@keyframes ap-pulse { 50% { opacity:.35; transform:scale(.75); } }
@keyframes ap-sequence { 0%,8% { opacity:.25; transform:translateX(var(--flow-slide,16px)); } 25%,90% { opacity:1; transform:none; } 100% { opacity:.25; transform:translateX(var(--flow-slide,16px)); } }
@keyframes ap-chat-loop { 0%,12% { opacity:0; transform:translateY(8px); } 30%,90% { opacity:1; transform:none; } 100% { opacity:0; transform:translateY(8px); } }
@media(max-width:760px) {
 #agent-promise .ap-title { font-size:clamp(32px,7.4vw,42px); }
 #agent-promise .ap-lead { font-size:16px; }
 #agent-promise .ap-terminal-body { font-size:14px; min-height:190px; padding:22px 16px; }
 #agent-promise .ap-ticker { margin-bottom:44px; }
 #agent-promise .ap-promise { gap:28px; padding-top:16px; }
 #agent-promise .ap-bg-number { font-size:190px; top:0; }
 #agent-promise .ap-flaw { font-size:18px; }
 #agent-promise .ap-gain { font-size:clamp(30px,8.4vw,40px); }
 #agent-promise .ap-description { font-size:15px; }
 #agent-promise .ap-face { width:88px; height:88px; }
 #agent-promise .ap-agent { gap:19px; }
 #agent-promise .ap-agent strong { font-size:22px; }
 #agent-promise .ap-work-body { padding:20px 16px; }
 #agent-promise .ap-cta { right:12px; padding:7px 16px; }
}
@media(prefers-reduced-motion:reduce) {
 #agent-promise *,#agent-promise *::before,#agent-promise *::after,#agent-promise::before,#agent-promise::after { animation:none !important; transition:none !important; }
 #agent-promise .ap-rv,#agent-promise .ap-seq,#agent-promise .ap-work,#agent-promise .ap-bg-number { opacity:1 !important; transform:none !important; }
 #agent-promise .ap-bg-number { opacity:.17 !important; }
 #agent-promise .ap-face { scale:1 !important; }
 #agent-promise .ap-playhead { left:auto; right:0; transform:none; }
 #agent-promise .ap-chat-typing { display:none; }
}
#agent-promise .ap-face-crop { position:absolute; inset:0; border-radius:50%; overflow:hidden; background:#17213b; }
#agent-promise .ap-face img { clip-path:none; }
#agent-promise.ap-page-hidden *,#agent-promise.ap-page-hidden *::before,#agent-promise.ap-page-hidden::before,#agent-promise.ap-page-hidden::after { animation-play-state:paused !important; }
/* Keep the work descriptions readable while their status marks tick. */
#agent-promise.ap-js .ap-lines .ap-seq { animation:none; }
#agent-promise.ap-js .ap-lines .ap-seq > span { display:inline-block; animation:ap-check-loop 6s both infinite; animation-delay:var(--ap-step); transform-origin:center; }
#agent-promise .ap-chat-typing { display:none; }
#agent-promise.ap-js .ap-chat-typing { display:flex; animation:ap-typing-loop 8s infinite; }
@keyframes ap-check-loop { 0%,8% { transform:scale(0); } 22%,90% { transform:scale(1); } 100% { transform:scale(0); } }
@keyframes ap-typing-loop { 0%,25%,90%,100% { opacity:1; } 35%,80% { opacity:0; } }
@media(prefers-reduced-motion:reduce) { #agent-promise.ap-js .ap-chat-typing { display:none; } }
#agent-promise.ap-js .ap-work:not(.ap-inview) *,#agent-promise.ap-page-hidden *,#agent-promise.ap-page-hidden *::before { animation-play-state:paused !important; }

/* Consultation: benefits, clear handoffs, and direct inquiry routes. */
#agent-promise .ap-terminal-body { font-size:18px; line-height:1.8; padding:32px; min-height:190px; }
#agent-promise .ap-benefits { margin-top:88px; }
#agent-promise .ap-benefit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
#agent-promise .ap-benefit { min-width:0; padding:32px; border:1px solid color-mix(in srgb,var(--ap-accent) 48%,#34415b); border-radius:20px; background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--ap-accent) 10%,transparent),transparent 70%),#0d1428; box-shadow:0 0 30px color-mix(in srgb,var(--ap-accent) 8%,transparent); transition:transform .3s,box-shadow .3s; }
#agent-promise .ap-benefit-icon { display:grid; place-items:center; width:62px; height:62px; border:1px solid var(--ap-accent); border-radius:17px; color:var(--ap-ink); background:#101c32; box-shadow:0 0 24px color-mix(in srgb,var(--ap-accent) 22%,transparent); }
#agent-promise .ap-benefit-icon svg { width:34px; height:34px; }
#agent-promise .ap-benefit h4 { margin:24px 0 12px; color:#f1f5ff; font-size:clamp(21px,2.4vw,27px); line-height:1.6; }
#agent-promise .ap-benefit p { margin:0; color:#d5deed; font-size:16px; }
#agent-promise .ap-change-title { margin:48px 0 20px; font-size:24px; color:#fff; }
#agent-promise .ap-changes { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
#agent-promise .ap-change { display:grid; grid-template-columns:210px minmax(0,1fr) 24px minmax(0,1.3fr); align-items:center; gap:20px; padding:20px 24px; border:1px solid #34415b; border-left:3px solid var(--ap-accent); border-radius:12px; background:#0d1428; min-width:0; }
#agent-promise .ap-change-agent { display:flex; align-items:center; gap:16px; }
#agent-promise .ap-change .ap-face { width:52px; height:52px; }
#agent-promise .ap-change .ap-face::before { inset:-2px; animation:none; }
#agent-promise .ap-change strong { display:block; font-size:18px; color:#fff; }
#agent-promise .ap-change small { display:block; color:var(--ap-ink); font:700 12px/1.6 "Space Grotesk",sans-serif; }
#agent-promise .ap-change p { margin:0; font-size:15px; }
#agent-promise .ap-before { color:#c4cfe2; }
#agent-promise .ap-after { color:#edf2fc; font-weight:700; }
#agent-promise .ap-change-arrow { color:var(--ap-ink); font-size:24px; }
#agent-promise .ap-inquiry { position:relative; margin-top:88px; padding:clamp(24px,5vw,56px); border:1px solid transparent; border-radius:24px; background:linear-gradient(#10182d,#10182d) padding-box,linear-gradient(120deg,#0ea5e9,#8b5cf6,#10b981) border-box; box-shadow:0 0 48px #8b5cf61c,0 20px 60px #0004; text-align:center; }
#agent-promise .ap-inquiry-label { margin:0 0 18px; color:#a9edff; font-size:16px; font-weight:700; }
#agent-promise .ap-inquiry h3 { margin:0; color:#fff; font-size:clamp(30px,4vw,46px); line-height:1.5; }
#agent-promise .ap-inquiry-note { color:#d5deed; margin:20px auto 30px; max-width:650px; font-size:16px; }
#agent-promise .ap-inquiry-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0 0 30px; padding:0; list-style:none; text-align:left; }
#agent-promise .ap-inquiry-flow li { min-width:0; padding:16px 0 0; border-top:2px solid #0ea5e9; }
#agent-promise .ap-inquiry-flow li:nth-child(2) { border-color:#8b5cf6; }
#agent-promise .ap-inquiry-flow li:nth-child(3) { border-color:#10b981; }
#agent-promise .ap-inquiry-flow strong { color:#fff; font-size:16px; line-height:1.7; }
#agent-promise .ap-inquiry-flow strong span { color:#a9edff; }
#agent-promise .ap-inquiry-flow p { margin:6px 0 0; color:#b9c6dc; font-size:14px; line-height:1.7; }
#agent-promise .ap-inquiry .ap-examples h4 { margin:0; color:#d5deed; font-size:15px; }
#agent-promise .ap-inquiry-phone { margin:16px 0 0; color:#a6b3ca; font-size:13px; line-height:1.8; }
#agent-promise .ap-inquiry-phone a { color:inherit; text-underline-offset:3px; white-space:nowrap; }
#agent-promise .ap-chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; justify-content:center; }
#agent-promise .ap-chips a { padding:9px 14px; border:1px solid #52607d; border-radius:999px; color:#e0e7f5; background:#17223b; text-decoration:none; font-size:14px; overflow-wrap:anywhere; }
#agent-promise .ap-primary { display:inline-flex; align-items:center; justify-content:center; gap:24px; margin-top:32px; padding:18px 36px; border:1px solid #b9eaff; border-radius:12px; color:#fff; background:linear-gradient(110deg,#075075,#5635a5); font-size:20px; font-weight:900; text-decoration:none; box-shadow:0 0 28px #0ea5e92b; }
#agent-promise .ap-inquiry a:focus-visible { outline:3px solid #b9eaff; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) {
 #agent-promise .ap-benefit:hover { transform:translateY(-6px); box-shadow:0 0 38px color-mix(in srgb,var(--ap-accent) 20%,transparent); }
 #agent-promise .ap-chips a:hover { border-color:#a9edff; background:#1b2944; }
 #agent-promise .ap-primary:hover { background:linear-gradient(110deg,#09618c,#6742bd); }
}
@media(max-width:960px) {
 #agent-promise .ap-change { grid-template-columns:180px minmax(0,1fr) 20px minmax(0,1fr); gap:12px; padding:20px 18px; }
}
@media(max-width:768px) {
 #agent-promise .ap-cta { display:none; }
 #agent-promise .ap-terminal-body { font-size:15px; line-height:1.8; padding:24px 16px; }
 #agent-promise .ap-benefits,#agent-promise .ap-inquiry { margin-top:56px; }
 #agent-promise .ap-benefit-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 #agent-promise .ap-benefit { padding:26px; }
 #agent-promise .ap-benefit h4 { font-size:23px; }
 #agent-promise .ap-change { grid-template-columns:20px minmax(0,1fr); gap:10px; padding:22px; }
 #agent-promise .ap-change-agent { grid-column:1/-1; margin-bottom:6px; }
 #agent-promise .ap-before { grid-column:2; }
 #agent-promise .ap-change-arrow { grid-column:1; grid-row:3; }
 #agent-promise .ap-after { grid-column:2; }
 #agent-promise .ap-inquiry-flow { grid-template-columns:minmax(0,1fr); gap:14px; }
 #agent-promise .ap-inquiry-flow li { padding:0 0 0 12px; border-top:0; border-left:2px solid #0ea5e9; }
 #agent-promise .ap-inquiry h3 { font-size:clamp(23px,5.8vw,30px); }
 #agent-promise .ap-primary { width:100%; padding:18px 12px; font-size:18px; gap:16px; }
}
@media(prefers-reduced-motion:reduce) {
 #agent-promise .ap-benefit:hover { transform:none; }
}

/* SALES DESK: all proposal content stays visible until enhanced. */
#agent-promise .ap-sales { margin-top:88px; min-width:0; }
#agent-promise .ap-sales > .ap-tag { display:flex; justify-content:center; color:#a9edff; }
#agent-promise .ap-sales .ap-subtitle { margin:18px 0; }
#agent-promise .ap-sales-lead { max-width:780px; margin:0 auto 32px; color:#d5deed; text-align:center; font-size:17px; }
#agent-promise .ap-sales-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding:8px 4px 18px; margin-bottom:18px; }
#agent-promise .ap-sales-tab { min-width:0; display:grid; grid-template-columns:56px minmax(0,1fr); align-content:start; align-items:center; gap:12px; padding:14px; border:1px solid #52607d; border-radius:14px; color:#edf2fc; background:#10182d; text-decoration:none; }
#agent-promise .ap-sales-tab strong { display:block; font-size:20px; }
#agent-promise .ap-sales-tab small { display:block; color:var(--ap-ink); font:700 12px/1.5 "Space Grotesk",sans-serif; }
#agent-promise .ap-sales .ap-face { width:56px; height:56px; scale:1; }
#agent-promise .ap-sales .ap-face::before { animation:none; }
#agent-promise .ap-sales-tab[aria-selected="true"] { border-color:var(--ap-accent); background:#1a2840; box-shadow:0 0 22px color-mix(in srgb,var(--ap-accent) 18%,transparent); }
#agent-promise .ap-sales-panel { min-width:0; padding:clamp(18px,3vw,36px); margin-top:20px; border:1px solid var(--ap-accent); border-radius:20px; background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--ap-accent) 10%,transparent),transparent 65%),#0d1428; box-shadow:0 0 32px color-mix(in srgb,var(--ap-accent) 10%,transparent); scroll-margin-top:100px; }
#agent-promise .ap-sales-question { display:flex; gap:20px; align-items:center; margin:0 0 26px; font-size:clamp(19px,2.4vw,25px); line-height:1.65; color:#fff; }
#agent-promise .ap-sales-question > span:last-child { position:relative; padding:16px 20px; border:1px solid #52607d; border-radius:16px; background:#17223b; }
#agent-promise .ap-sales-question small { display:block; margin-bottom:6px; color:var(--ap-ink); font-size:13px; }
#agent-promise .ap-needs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
#agent-promise .ap-need { max-width:100%; padding:11px 16px; border:1px solid #667591; border-radius:999px; color:#edf2fc; background:#17223b; font:inherit; font-size:15px; line-height:1.6; text-align:left; overflow-wrap:anywhere; cursor:pointer; }
#agent-promise .ap-need[aria-pressed="true"] { color:#fff; border-color:var(--ap-ink); background:#293b56; box-shadow:inset 0 0 0 1px var(--ap-ink); }
#agent-promise .ap-proposal { padding:clamp(18px,3vw,30px); margin-top:20px; border:1px solid #52607d; border-radius:16px; background:#101a30; overflow-wrap:anywhere; }
#agent-promise .ap-proposal-need { margin:0 0 8px; color:var(--ap-ink); font-size:15px; font-weight:700; }
#agent-promise .ap-proposal h5 { margin:0 0 24px; color:#fff; font-size:clamp(21px,2.6vw,28px); line-height:1.6; }
#agent-promise .ap-proposal dl { margin:0; }
#agent-promise .ap-proposal dl > div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:20px; padding:16px 0; border-top:1px solid #3e4e6b; }
#agent-promise .ap-proposal dt { font-size:14px; font-weight:700; color:#bdcde5; }
#agent-promise .ap-proposal dd { margin:0; color:#edf2fc; font-size:16px; }
#agent-promise .ap-proposal h6 { margin:24px 0 10px; color:var(--ap-ink); font-size:18px; }
#agent-promise .ap-proposal ul { margin:0; padding-left:22px; color:#edf2fc; }
#agent-promise .ap-proposal-note { margin:24px 0 0; color:#bdcde5; font-size:13px; }
#agent-promise .ap-proposal-cta { display:inline-flex; justify-content:center; margin-top:22px; padding:14px 24px; border:1px solid var(--ap-ink); border-radius:10px; background:#243650; color:#fff; font-size:17px; font-weight:700; text-decoration:none; }
#agent-promise .ap-sales :is(a,button,[role="tabpanel"]):focus-visible { outline:3px solid #fff; outline-offset:4px; }
#agent-promise .ap-sales [hidden] { display:none; }
@media(max-width:768px) {
 #agent-promise .ap-sales { margin-top:56px; }
 #agent-promise .ap-sales-lead { text-align:left; font-size:16px; }
 #agent-promise .ap-sales-question { gap:12px; align-items:flex-start; }
 #agent-promise .ap-sales-question > span:last-child { padding:12px; }
 #agent-promise .ap-sales-question .ap-face { width:44px; height:44px; }
 #agent-promise .ap-proposal dl > div { grid-template-columns:minmax(0,1fr); gap:5px; }
 #agent-promise .ap-proposal-cta { width:100%; padding:14px 10px; font-size:16px; }
}


/* Specialties stay visible in every tab, including the mobile scroll row. */
#agent-promise .ap-sales-guide { margin:0 0 12px; color:#d5deed; text-align:center; font-size:15px; }
#agent-promise .ap-sales-tab > span { min-width:0; }
#agent-promise .ap-sales-specialty { grid-column:1 / -1; color:#edf2fc; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
#agent-promise .ap-sales-specialty b { color:var(--ap-ink); font-weight:700; }
@media(max-width:768px) {
 #agent-promise .ap-sales-tabs { display:flex; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:4px; }
 #agent-promise .ap-sales-tab { flex:0 0 70%; scroll-snap-align:start; }
 #agent-promise .ap-sales-guide { text-align:left; font-size:14px; }
}

#agent-promise .ap-promise-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin:0 0 18px}
#agent-promise .ap-promise-head .ap-number{margin:0;flex-shrink:0}
#agent-promise .ap-service{flex:0 1 auto;min-width:0;text-align:left}
#agent-promise .ap-service-label{display:inline-block;padding:7px 16px;border:1px solid var(--ap-accent);border-left-width:4px;border-radius:8px;background:#0b1128;color:var(--ap-ink);font-weight:800;font-size:17px;line-height:1.45;box-shadow:0 0 24px color-mix(in srgb,var(--ap-accent) 15%,transparent);max-width:100%;overflow-wrap:anywhere;margin:0}
#agent-promise .ap-service-desc{flex:0 0 100%;max-width:34em;margin:0;padding:8px 14px;text-align:left;border-left:3px solid var(--ap-accent);border-radius:0 8px 8px 0;background:color-mix(in srgb,var(--ap-accent) 8%,transparent);color:#d5deed;font-size:14px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;box-sizing:border-box}
@media(max-width:600px){
 #agent-promise .ap-service-label{font-size:15px}
 #agent-promise .ap-promise-head{gap:10px}
}

/* Promise badges and service labels. */
#agent-promise .ap-promise-head{row-gap:10px}
#agent-promise .ap-promise-head .ap-number{font-size:19px;font-weight:800;padding:8px 18px;position:relative;isolation:isolate;border:1.5px solid transparent;background:linear-gradient(#0b1128,#0b1128) padding-box,linear-gradient(135deg,#5ff3ff,var(--ap-accent),#3b6bff) border-box;text-shadow:0 0 8px color-mix(in srgb,var(--ap-accent) 70%,transparent),0 0 18px color-mix(in srgb,var(--ap-accent) 40%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--ap-accent) 45%,transparent),0 0 36px color-mix(in srgb,var(--ap-accent) 25%,transparent),inset 0 0 12px color-mix(in srgb,var(--ap-accent) 18%,transparent)}
#agent-promise .ap-promise-head .ap-number::after{content:'';position:absolute;inset:-6px;border-radius:12px;z-index:-1;pointer-events:none;box-shadow:0 0 28px 4px color-mix(in srgb,var(--ap-accent) 55%,transparent);animation:ap-badge-pulse 3.2s ease-in-out infinite;will-change:opacity,transform}
@keyframes ap-badge-pulse{0%,100%{opacity:.35;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}}
#agent-promise .ap-service-label{position:relative;overflow:hidden;isolation:isolate;text-shadow:0 0 10px color-mix(in srgb,var(--ap-accent) 55%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--ap-accent) 40%,transparent),0 0 34px color-mix(in srgb,var(--ap-accent) 20%,transparent)}
#agent-promise .ap-service-label::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);transform:translateX(-120%)}
#agent-promise .ap-copy.ap-visible .ap-service-label::after{animation:ap-label-shine 1.4s ease 1.05s 1 forwards}
@keyframes ap-label-shine{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){
 #agent-promise .ap-promise-head .ap-number::after,#agent-promise .ap-copy.ap-visible .ap-service-label::after{animation:none}
 #agent-promise .ap-service-label::after{animation:none;display:none}
 #agent-promise.ap-js .ap-promise-head > .ap-number,#agent-promise.ap-js .ap-promise-head > .ap-service,#agent-promise.ap-js .ap-promise-head > .ap-service-desc{opacity:1 !important;transform:none !important;transition:none !important}
}
#agent-promise .ap-promise-head{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:10px}
#agent-promise .ap-promise-head .ap-service{flex:0 1 auto;max-width:100%}
#agent-promise .ap-promise-head .ap-service-desc{flex:0 0 auto;width:100%}

#agent-promise{overflow-x:clip}
#agent-promise.ap-js .ap-promise-head > .ap-number,#agent-promise.ap-js .ap-promise-head > .ap-service,#agent-promise.ap-js .ap-promise-head > .ap-service-desc{opacity:0;transform:translateX(-40px);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}
#agent-promise.ap-js .ap-copy.ap-visible .ap-promise-head > *{opacity:1;transform:none}
#agent-promise.ap-js .ap-copy.ap-visible .ap-promise-head > .ap-number{transition-delay:150ms}
#agent-promise.ap-js .ap-copy.ap-visible .ap-promise-head > .ap-service{transition-delay:300ms}
#agent-promise.ap-js .ap-copy.ap-visible .ap-promise-head > .ap-service-desc{transition-delay:450ms}
