/* Control tower: architectural model, using the site's paper / graphite / jet orange. */
#what-is-agent { background:var(--bg-page); color:var(--ink); padding-block:100px; }
.tower-layout { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.3fr); gap:clamp(28px,4vw,68px); align-items:center; }
#what-is-agent .h2 { font-size:clamp(42px,4.5vw,66px); line-height:1.04; }
.tower-intro { font-size:17px; line-height:1.65; color:var(--paper-600); max-width:39ch; margin:0 0 30px; }
.tower-steps { list-style:none; margin:0; padding:0; }
.tower-step { width:100%; display:flex; text-align:left; gap:18px; border:0; border-top:1px solid var(--border-default); background:transparent; padding:19px 12px 19px 0; color:var(--paper-600); font:inherit; cursor:pointer; transition:background .25s,color .25s; }
.tower-step:hover { background:var(--bg-sunken); }
.tower-step.is-active { color:var(--ink); }
.tower-step.is-active .tower-number { color:var(--red-2); }
.tower-step.is-active strong::after { content:' ↗'; color:var(--red-2); }
.tower-number { padding-top:4px; font:11px var(--font-mono); color:var(--paper-600); }
.tower-step strong { display:block; font-size:20px; font-weight:600; margin-bottom:7px; letter-spacing:-.03em; }
.tower-step strong + span { display:block; font-size:13px; line-height:1.65; }
.tower-demo { margin:0; min-width:0; }
.tower-scene-heading { display:flex; justify-content:space-between; gap:15px; padding:15px 0; border-top:1px solid var(--border-default); color:var(--paper-600); font:9px var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.tower-scene-heading i { display:inline-block; width:5px; height:5px; background:var(--red); border-radius:50%; margin-right:6px; vertical-align:middle; }
.tower-scene-heading > span:last-child { color:var(--paper-600); }
.tower-viewport { position:relative; height:460px; }
#control-tower-canvas { display:block; width:100%; height:100%; touch-action:pan-y; opacity:0; transition:opacity .4s; }
.tower-ready #control-tower-canvas { opacity:1; }
.tower-fallback { position:absolute; top:35%; left:10%; width:80%; font-size:18px; line-height:1.7; color:var(--paper-600); }
.tower-ready .tower-fallback { display:none; }
.tower-orbit-hint { position:absolute; bottom:15px; left:0; color:var(--paper-600); font:10px var(--font-mono); pointer-events:none; }
.tower-motion { position:absolute; right:0; bottom:9px; border:0; border-bottom:1px solid var(--border-strong); background:none; padding:5px 0; color:var(--paper-600); font:10px var(--font-mono); cursor:pointer; }
.tower-console { border-top:1px solid var(--border-default); border-bottom:1px solid var(--border-default); padding:17px 0 20px; min-height:139px; }
.tower-status-line { display:flex; justify-content:space-between; align-items:center; }
.tower-status-tag { color:var(--jet-600); font:10px var(--font-mono); letter-spacing:.08em; }
.tower-status-light { width:6px; height:6px; background:var(--red); border-radius:50%; }
.tower-status { margin:10px 0 8px; font-size:17px; line-height:1.4; letter-spacing:-.025em; color:var(--ink); }
.tower-console-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:32px; }
.tower-detail { color:var(--paper-600); font-size:11px; line-height:1.5; }
.tower-action { flex-shrink:0; justify-content:center; }

.tower-action[hidden],.tower-motion[hidden] { display:none; }
@media(max-width:1050px) { .tower-layout { gap:28px; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); } .tower-viewport { height:410px; } .tower-console-bottom { align-items:flex-start; flex-direction:column; } .tower-console { min-height:160px; } }
@media(max-width:760px) { #what-is-agent { padding-block:64px; } .tower-layout { grid-template-columns:1fr; gap:30px; } .tower-intro { max-width:52ch; } .tower-step { padding-block:15px; } .tower-viewport { height:390px; } .tower-console { min-height:150px; } .tower-console-bottom { flex-direction:row; align-items:center; } }
@media(max-width:420px) { .tower-scene-heading { font-size:8px; letter-spacing:0; } .tower-viewport { height:330px; } .tower-console-bottom { align-items:flex-start; flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { #control-tower-canvas,.tower-step { transition:none; } }

@media(pointer:coarse) { .tower-orbit-hint { display:none; } }
/* Scroll story: natural document flow, with the model held inside its section. */
.tower-introduction { max-width:760px; margin-bottom:40px; }
#what-is-agent .tower-introduction .h2 { font-size:clamp(36px,4.5vw,64px); }
.tower-introduction .tower-intro { max-width:65ch; }
.tower-layout { grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr); align-items:start; gap:clamp(35px,6vw,90px); }
.tower-ready .tower-demo { position:sticky; top:80px; align-self:start; background:var(--bg-page); }
.tower-viewport { height:clamp(300px,48vh,470px); overflow:hidden; }
#control-tower-canvas { position:absolute; left:-12%; width:90%; }
.tower-connection { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.tower-connection path { fill:none; stroke:var(--red); stroke-width:1; stroke-dasharray:4 6; }
.tower-connection circle { fill:var(--red); }
.tower-document { position:absolute; top:12%; right:2%; width:46%; max-width:245px; padding:18px; background:var(--bg-surface); border:1px solid var(--border-default); box-shadow:0 14px 28px -18px rgba(58,65,76,.47); transform:translateY(var(--doc-y,0px)) rotate(var(--doc-rotate,-4deg)); transition:border-color .3s; }
.tower-document-label { font:9px var(--font-mono); color:var(--paper-600); display:flex; justify-content:space-between; margin-bottom:20px; }
.tower-document-label span { color:var(--red-2); }
.tower-document-title { display:block; font-size:20px; line-height:1.2; color:var(--ink); }
.tower-email { font-size:13px; line-height:1.6; color:var(--paper-600); margin:16px 0; }
.tower-line-items { display:none; margin-block:18px; font:10px var(--font-mono); color:var(--paper-600); }
.tower-line-items > div { display:flex; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px solid var(--border-subtle); }
.tower-total { font-weight:bold; color:var(--ink); }
.tower-document-stamp { font:9px var(--font-mono); color:var(--jet-600); padding-top:12px; border-top:1px solid var(--border-subtle); }
#what-is-agent[data-phase="1"] .tower-email,#what-is-agent[data-phase="2"] .tower-email { display:none; }
#what-is-agent[data-phase="1"] .tower-line-items,#what-is-agent[data-phase="2"] .tower-line-items { display:block; }
#what-is-agent[data-phase="2"] .tower-document { border-color:var(--red); }
#what-is-agent[data-approved="true"] .tower-document { border-color:var(--ok-500); }
.tower-steps { margin:0; padding:0 0 15vh; }
.tower-story { min-height:75vh; display:flex; flex-direction:column; justify-content:center; padding:45px 0; opacity:1; }
.tower-ready .tower-story { opacity:.4; transition:opacity .35s; }
.tower-ready .tower-story.is-active { opacity:1; }
.tower-story h3 { font-size:clamp(30px,3vw,46px); line-height:1.1; letter-spacing:-.04em; font-weight:600; margin:24px 0; color:var(--ink); }
.tower-story p { font-size:clamp(18px,1.8vw,23px); line-height:1.5; margin:0 0 20px; color:var(--ink); }
.tower-story .tower-story-detail { font-size:15px; line-height:1.75; color:var(--paper-600); }
.tower-story .tower-number { color:var(--jet-600); font-size:10px; letter-spacing:.1em; }
.tower-story-note { border-top:1px solid var(--border-default); padding-top:18px; font:10px/1.6 var(--font-mono); color:var(--paper-600); margin-top:12px; }
@media(max-width:760px) {
 .tower-layout { display:block; }
 .tower-demo { top:80px; z-index:2; margin-inline:-8px; padding-inline:8px; box-shadow:0 12px 16px -12px var(--bg-page); }
 .tower-viewport { height:230px; }
 .tower-scene-heading { padding-block:10px; font-size:8px; letter-spacing:0; }
 .tower-console { min-height:110px; padding-block:10px; }
 .tower-status { font-size:14px; margin-block:6px; }
 .tower-console-bottom { flex-direction:row; align-items:center; }
 .tower-detail { font-size:10px; max-width:48%; }

 .tower-document { top:5%; padding:12px; width:45%; }
 .tower-document-label { font-size:7px; margin-bottom:10px; }
 .tower-document-title { font-size:16px; }
 .tower-email { font-size:11px; margin-block:10px; }
 .tower-line-items { font-size:8px; margin-block:8px; }
 .tower-line-items > div { padding-block:5px; }
 .tower-document-stamp { font-size:8px; padding-top:8px; }
 .tower-orbit-hint { font-size:8px; bottom:8px; }
 .tower-motion { font-size:8px; bottom:3px; }
 .tower-story { min-height:75vh; padding-top:45px; justify-content:center; }
 .tower-steps { padding-bottom:25vh; }
}
@media(max-height:650px) and (min-width:761px) { .tower-demo { top:60px; } .tower-viewport { height:260px; } .tower-console { min-height:110px; } }
@media(prefers-reduced-motion:reduce) { .tower-story,.tower-document { transition:none; } }
/* Desktop editorial stage: large model, one passage at a time. */
@media(min-width:761px) {
 #what-is-agent > .wrap { max-width:1600px; }
 .tower-ready .tower-layout { min-height:340vh; grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr); gap:clamp(32px,4vw,70px); }
 .tower-ready .tower-demo { top:80px; }
 .tower-ready .tower-viewport { height:clamp(340px,62vh,760px); }
 .tower-ready .tower-document { max-width:285px; padding:24px; top:15%; }
 .tower-ready .tower-document-title { font-size:25px; }
 .tower-ready .tower-email { font-size:15px; }
 .tower-ready .tower-document-label,.tower-ready .tower-document-stamp { font-size:11px; }
 .tower-ready .tower-line-items { font-size:12px; margin-block:24px; }
 .tower-ready .tower-line-items > div { padding-block:11px; }
 .tower-ready .tower-steps { position:sticky; top:80px; height:calc(100vh - 110px); padding:0; }
 .tower-ready .tower-story { position:absolute; inset:0; min-height:0; padding:20px 0; opacity:0; pointer-events:none; transition:none; transform:translateY(var(--story-y,0px)); }
 .tower-ready .tower-story.is-active { opacity:var(--story-alpha,1); pointer-events:auto; }
 .tower-ready .tower-story h3 { font-size:clamp(34px,3.2vw,54px); }
 .tower-ready .tower-story .tower-story-detail { font-size:17px; line-height:1.8; }
 .tower-ready .tower-console { min-height:125px; }
}
@media(min-width:761px) and (max-height:750px) {
 .tower-ready .tower-viewport { height:calc(100vh - 265px); min-height:270px; }
 .tower-ready .tower-document { padding:16px; }
 .tower-ready .tower-story .tower-story-detail { font-size:14px; line-height:1.6; }
 .tower-ready .tower-story h3 { margin-block:15px; }
}

/* Approval lives with the document; the right column carries the narrative. */
.tower-document .tower-action { margin-top:14px; width:100%; white-space:normal; }
@media(min-width:761px) { .tower-ready .tower-viewport { height:clamp(360px,72vh,860px); } }
@media(min-width:761px) and (max-height:750px) { .tower-ready .tower-viewport { height:calc(100vh - 160px); } }
@media(max-width:760px) { .tower-viewport { height:290px; } .tower-document .tower-action { margin-top:8px; } }

/* The definition is the opening passage of the same story. */
#what-is-agent[data-phase="-1"] .tower-document,
#what-is-agent[data-phase="-1"] .tower-connection { visibility:hidden; }
#what-is-agent .tower-opening .h2 { font-size:clamp(36px,3.5vw,58px); line-height:1.08; margin:24px 0; }
@media(min-width:761px) { .tower-ready .tower-layout { min-height:420vh; } }

/* Fit the complete turntable inside the scene at every story angle. */
#control-tower-canvas { left:0; width:82%; }

/* Reserve a quiet gutter for the fixed instrument dials and their labels. */
@media(min-width:901px) { #what-is-agent > .wrap { padding-right:100px; } }
@media(max-width:900px) { #what-is-agent > .wrap { padding-right:var(--pad); } }

@media(min-width:901px) { .tower-ready .tower-steps { transform:translateX(-40px); } .tower-ready .tower-layout { column-gap:70px; } }

/* One mobile stage keeps the model and current passage together. */
.tower-stage { display:contents; }
@media(max-width:760px) {
 #what-is-agent { --tower-mobile-height:clamp(210px,38svh,340px); }
 .tower-viewport { height:var(--tower-mobile-height); }
 .tower-story { min-height:0; justify-content:flex-start; padding:20px 0 32px; }
 .tower-ready .tower-layout { min-height:420svh; }
 .tower-ready .tower-stage { display:block; position:sticky; top:80px; background:var(--bg-page); }
 .tower-ready .tower-demo { position:relative; top:0; margin:0; padding:0; box-shadow:none; }
 .tower-ready .tower-steps { display:grid; padding:0; }
 .tower-ready .tower-story { grid-area:1 / 1; min-height:0; padding:16px 0 20px; opacity:0; visibility:hidden; pointer-events:none; transition:none; transform:translateY(var(--story-y,0px)); }
 .tower-ready .tower-story.is-active { opacity:var(--story-alpha,1); visibility:visible; pointer-events:auto; }
 #what-is-agent .tower-opening .h2,.tower-story h3 { font-size:30px; line-height:1.1; margin:10px 0 12px; }
 .tower-story p { font-size:16px; line-height:1.45; margin-bottom:12px; }
 .tower-story .tower-story-detail { font-size:14px; line-height:1.55; }
 .tower-document { width:48%; min-width:130px; top:12%; padding:10px; }
 #what-is-agent.section .tower-email,#what-is-agent.section .tower-line-items { display:none; }
 .tower-document-label { margin-bottom:8px; }
 .tower-document-title { font-size:15px; }
 .tower-document-stamp { margin-top:10px; }
 .tower-document .tower-action { min-height:44px; }
}
@media(max-width:760px) and (max-height:650px) {
 #what-is-agent .tower-opening .h2,.tower-story h3 { font-size:26px; }
 .tower-story p { font-size:15px; margin-bottom:10px; }
 .tower-story .tower-story-detail { font-size:13px; line-height:1.45; }
}

/* Conversation replaces the document within the illustration only. */
#what-is-agent[data-phase="2"] .tower-document { visibility:hidden; }
.tower-chat { display:none; position:absolute; top:10%; right:2%; width:49%; max-width:300px; gap:8px; z-index:2; }
#what-is-agent[data-phase="2"] .tower-chat { display:grid; }
.tower-chat-message { width:96%; padding:10px 12px; border:1px solid var(--border-default); border-radius:12px 12px 12px 3px; background:var(--bg-surface); color:var(--fg-primary);  }
.tower-chat-sender { display:block; font:9px var(--font-mono); color:var(--paper-600); margin-bottom:4px; }
.tower-chat p { font-size:13px; line-height:1.4; margin:0; }
.tower-chat-quote p,.tower-chat-total { display:flex; justify-content:space-between; gap:8px; }
.tower-chat-total { margin-top:6px; padding-top:6px; border-top:1px solid var(--border-subtle); font-size:12px; }
.tower-chat-human { justify-self:end; width:90%; background:var(--paper-900); border-color:var(--paper-900); color:var(--paper-000); border-radius:12px 12px 3px 12px; }
.tower-ready .tower-chat-message { opacity:0; visibility:hidden; transform:translateY(6px) scale(.96); transform-origin:bottom left; transition:opacity .25s ease,transform .4s cubic-bezier(.2,.9,.3,1.1); }
.tower-ready .tower-chat-message.is-shown { opacity:1; visibility:visible; transform:none; }
.tower-chat.is-typing .tower-chat-approval::after { content:'|'; color:var(--red); }
@media(max-width:760px) {
 .tower-chat { top:2%; width:52%; right:0; gap:4px; }
 .tower-chat-message { padding:6px 8px; }
 .tower-chat p { font-size:11px; line-height:1.3; }
 .tower-chat-sender { font-size:8px; margin-bottom:2px; }
 .tower-chat-total { font-size:11px; padding-top:3px; margin-top:3px; }
}
@media(max-width:760px) and (max-height:650px) {
 .tower-chat { top:10px; gap:3px; }
 .tower-chat-message { padding:3px 6px; }
 .tower-chat p { font-size:10px; }
 .tower-chat-sender { font-size:7px; }
 .tower-chat-total { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .tower-ready .tower-chat-message { transition:none; transform:none; } }

.tower-chat-human .tower-chat-sender { color:var(--paper-000); }
@media(max-width:760px) and (max-height:650px) {
 .tower-chat-message { padding-block:2px; }
 .tower-chat p { line-height:1.15; }
}
@media(max-width:360px) {
 .tower-chat { width:64%; top:8px; gap:3px; }
 .tower-chat-message { padding:3px 6px; }
 .tower-chat p { font-size:11px; line-height:1.2; }
 .tower-chat-sender { font-size:8px; margin-bottom:1px; }
 #what-is-agent[data-phase="2"] #control-tower-canvas { left:-6%; }
}

.tower-chat-message { box-shadow:var(--shadow-2); }
@media(max-width:360px) {
 .tower-chat-message { padding-block:2px; }
 .tower-chat p { line-height:1.1; }
 .tower-chat-sender { line-height:1.2; }
}

/* Familiar email and worksheet cues, without application chrome. */
.tower-email-from,.tower-email-subject { font-size:11px; line-height:1.5; color:var(--fg-secondary); }
.tower-email-from span,.tower-email-subject span { color:var(--paper-600); margin-right:6px; }
.tower-email-from small { font:8px var(--font-mono); color:var(--paper-600); }
.tower-email p { margin:12px 0 0; }
.tower-line-items .tower-sheet-formula { display:flex; justify-content:flex-start; padding:7px 0; gap:10px; border:0; }
.tower-sheet-formula span { color:var(--jet-600); }
.tower-sheet-formula code { font:inherit; color:var(--fg-secondary); }
.tower-sheet { width:100%; border-collapse:collapse; table-layout:fixed; font:11px var(--font-mono); color:var(--fg-secondary); }
.tower-sheet th,.tower-sheet td { border:1px solid var(--border-default); padding:8px 3px; text-align:center; }
.tower-sheet th { background:var(--bg-sunken); font-weight:400; color:var(--paper-600); }
.tower-sheet th:first-child { width:18px; }
.tower-sheet-selected { outline:1px solid var(--red); outline-offset:-1px; background:var(--jet-050); }
.tower-sheet-caption { font-size:10px; margin:8px 0 0; }
@media(max-width:760px) {
 #what-is-agent.section[data-phase="0"] .tower-email { display:block; }
 #what-is-agent.section[data-phase="1"] .tower-line-items { display:block; }
 .tower-email-from,.tower-email-subject { font-size:9px; line-height:1.4; }
 .tower-email p { font-size:11px; line-height:1.35; margin-top:8px; }
 .tower-sheet { font-size:9px; }
 .tower-sheet th,.tower-sheet td { padding:6px 1px; }
 .tower-sheet th:first-child { width:12px; }
 .tower-sheet-caption { font-size:9px; }
}
@media(max-width:760px) and (max-height:650px) {
 #what-is-agent[data-phase="1"] .tower-document-title { font-size:13px; }
 #what-is-agent[data-phase="1"] .tower-sheet-caption { display:none; }
}

/* Compact tool cards where desktop columns share a constrained panel. */
@media(min-width:761px) and (max-width:1100px) {
 .tower-ready .tower-document { padding:14px; }
 .tower-ready .tower-document-title { font-size:19px; }
 .tower-ready .tower-document-label { font-size:9px; margin-bottom:12px; }
 .tower-ready .tower-email { font-size:13px; }
 .tower-ready .tower-line-items { margin-block:12px; }
 .tower-ready .tower-line-items .tower-sheet-formula { padding-block:5px; }
 .tower-ready .tower-document-stamp { font-size:9px; }
}

/* Reserve the first message's final shape while its text is revealed. */
.tower-chat [data-full-text] { display:grid; }
.tower-chat [data-full-text] > span,.tower-chat [data-full-text]::after { grid-area:1 / 1; }
.tower-chat [data-full-text]::after { content:attr(data-full-text); visibility:hidden; }

.tower-email p { border-top:1px solid var(--border-subtle); padding-top:10px; }
.tower-seen-check { display:none; width:14px; height:14px; flex:none; background:var(--ok-500); mask:url('../assets/icons/phosphor-check.svg') center / contain no-repeat; }
#what-is-agent[data-seen="true"] .tower-seen-check { display:inline-block; vertical-align:middle; margin-left:5px; }
@media(max-width:760px) { .tower-email p { padding-top:7px; } .tower-seen-check { width:12px; height:12px; } }

@media(max-width:760px) and (max-height:650px) { #what-is-agent[data-phase="0"] .tower-document { top:4%; } }

.tower-calculating { display:none; margin-left:5px; gap:3px; align-items:center; }
#what-is-agent[data-phase="1"] .tower-calculating { display:inline-flex; }
.tower-calculating i { width:3px; height:3px; border-radius:50%; background:currentColor; }
#what-is-agent[data-phase="1"] .tower-calculating i { animation:tower-dot 1.2s ease-in-out infinite; }
.tower-calculating i:nth-child(2) { animation-delay:.15s !important; }
.tower-calculating i:nth-child(3) { animation-delay:.3s !important; }
@keyframes tower-dot { 0%,60%,100% { transform:translateY(0); } 30% { transform:translateY(-3px); } }
@media(prefers-reduced-motion:reduce) { #what-is-agent .tower-calculating i { animation:none; } }
@media(max-width:760px) and (max-height:650px) {
 #what-is-agent[data-phase="1"] .tower-document { top:4%; }
 #what-is-agent[data-phase="1"] .tower-document-stamp { margin-top:6px; padding-top:6px; font-size:7px; white-space:nowrap; }
}

#what-is-agent[data-seen="true"] .tower-status-copy { color:var(--ok-500); }

/* A compact, scroll-driven tool ledger; only the current action expands. */
.tower-ready .tower-layout { min-height:520vh; }
.tower-tools { display:none; list-style:none; padding:0; margin:16px 0; }
#what-is-agent[data-phase="1"] .tower-tools { display:grid; gap:5px; }
#what-is-agent[data-phase="1"] .tower-document { width:53%; max-width:300px; top:5%; padding:16px; }
#what-is-agent[data-phase="1"] .tower-document-label { margin-bottom:10px; }
#what-is-agent[data-phase="1"] .tower-document-title { font-size:21px; }
.tower-tool { display:grid; grid-template-columns:20px minmax(0,1fr) 10px; align-items:center; column-gap:8px; padding:5px 0; color:var(--paper-600); font-size:12px; line-height:1.2; }
.tower-tool img { width:20px; height:20px; object-fit:contain; }
.tower-tool[data-state="pending"] img { filter:grayscale(1); opacity:.55; }
.tower-tool[data-state="active"] { color:var(--ink); }
.tower-tool[data-state="active"] .tower-tool-name { font-weight:600; }
.tower-tool-indicator { width:6px; height:6px; border-radius:50%; }
.tower-tool[data-state="active"] .tower-tool-indicator { background:var(--red); }
.tower-tool[data-state="done"] .tower-tool-indicator { width:10px; height:10px; background:var(--ok-500); border-radius:0; mask:url('../assets/icons/phosphor-check.svg') center / contain no-repeat; }
.tower-tool-detail { display:none; grid-column:2 / -1; font-size:12px; line-height:1.35; padding-top:5px; min-height:37px; }
.tower-tool[data-state="active"] .tower-tool-detail { display:grid; }
.tower-tool-detail > span { grid-area:1 / 1; }
.tower-tool [data-tool-result] { visibility:hidden; }
.tower-tool[data-result="true"] [data-tool-action] { visibility:hidden; }
.tower-tool[data-result="true"] [data-tool-result] { visibility:visible; }
#what-is-agent[data-phase="1"] .tower-document-stamp { font-size:10px; margin-top:0; }
#what-is-agent[data-prepared="true"] .tower-status-copy { color:var(--ok-500); }
#what-is-agent[data-prepared="true"] .tower-calculating { display:none; }
@media(max-width:760px) {
 .tower-ready .tower-layout { min-height:520svh; }
 #what-is-agent[data-phase="1"] .tower-document { width:52%; max-width:260px; padding:8px; top:2%; }
 #what-is-agent[data-phase="1"] .tower-document-title { font-size:14px; }
 #what-is-agent[data-phase="1"] .tower-document-label { margin-bottom:6px; }
 #what-is-agent[data-phase="1"] .tower-tools { gap:2px; margin:8px 0; }
 .tower-tool { grid-template-columns:16px minmax(0,1fr) 8px; gap:5px; padding:2px 0; font-size:10px; }
 .tower-tool img { width:16px; height:16px; }
 .tower-tool-detail { font-size:11px; min-height:30px; padding-top:2px; }
 #what-is-agent[data-phase="1"] .tower-document-stamp { font-size:8px; padding-top:6px; }
}

.tower-tools { min-height:254px; align-content:start; }
.tower-chat { transform:rotate(var(--chat-rotate,0deg)); transform-origin:var(--chat-anchor-x,3px) var(--chat-anchor-y,40px); }
@media(max-width:760px) { .tower-tools { min-height:166px; } }
@media(max-width:760px) and (max-height:650px) {
 #what-is-agent[data-phase="1"] .tower-document { width:54%; padding:6px; }
 #what-is-agent[data-phase="1"] .tower-document-title { font-size:13px; }
 #what-is-agent[data-phase="1"] .tower-tools { margin:4px 0; min-height:134px; }
 .tower-tool { grid-template-columns:14px minmax(0,1fr) 8px; row-gap:2px; padding:1px 0; }
 .tower-tool img { width:14px; height:14px; }
 .tower-tool-detail { line-height:1.2; min-height:28px; }
}
@media(prefers-reduced-motion:reduce) { .tower-chat { transform:none; } }
/* Leave room for the outer corners of the gently rotating mobile cards. */
@media(max-width:760px) {
 .tower-chat { right:6px; }
 #what-is-agent[data-phase="0"] .tower-document { right:4%; }
}

@media(max-width:760px) and (max-height:650px) {
 #what-is-agent[data-phase="1"] .tower-document-label { margin-bottom:4px; }
}

/* Reuse the preparation tool mark without changing the email card's height. */
#what-is-agent[data-phase="0"] .tower-document-label { position:relative; padding-left:26px; }
#what-is-agent[data-phase="0"] .tower-document-label::before {
 content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
 width:20px; height:20px; background:url('../assets/icons/tools/gmail.svg') center / contain no-repeat;
}
@media(max-width:760px) {
 #what-is-agent[data-phase="0"] .tower-document-label { padding-left:22px; }
 #what-is-agent[data-phase="0"] .tower-document-label::before { width:16px; height:16px; }
}
@media(max-width:760px) and (max-height:650px) {
 #what-is-agent[data-phase="0"] .tower-document-label { padding-left:20px; }
 #what-is-agent[data-phase="0"] .tower-document-label::before { width:14px; height:14px; }
}

/* The preparation title already identifies this card. */
#what-is-agent[data-phase="1"] .tower-document-label { display:none; }


.tower-tool-detail { font-size:11px; line-height:1.25; padding-top:3px; min-height:30px; }
.tower-tools { min-height:247px; }
@media(max-width:760px) {
 .tower-tool-detail { font-size:10px; line-height:1.25; padding-top:1px; min-height:26px; }
 .tower-tools { min-height:160px; }
}
@media(max-width:760px) and (max-height:650px) {
 .tower-tool-detail { min-height:24px; }
 #what-is-agent[data-phase="1"] .tower-tools { min-height:130px; }
}
/* Section footer: after every story passage, immediately before the Agents panel. */
#what-is-agent > .tower-scroll-cue { position:sticky; bottom:20px; display:flex; flex-direction:column; align-items:center; gap:4px; margin:0; font:10px var(--font-mono); color:var(--paper-600); }
.tower-scroll-chevron { width:16px; height:16px; background:currentColor; mask:url('../assets/icons/phosphor-caret-double-down.svg') center / contain no-repeat; animation:tower-scroll-nudge 1.8s ease-in-out infinite; }
@keyframes tower-scroll-nudge { 0%,100% { transform:translateY(-2px); } 50% { transform:translateY(2px); } }
@media(prefers-reduced-motion:reduce) { .tower-scroll-chevron { animation:none; } }

@media(max-width:760px) and (max-height:650px) {
 #what-is-agent > .tower-scroll-cue { bottom:2px; flex-direction:row; justify-content:center; gap:5px; font-size:9px; height:12px; }
 .tower-scroll-chevron { width:12px; height:12px; }
}
/* Settle the pinned cue just above the next panel when this section releases. */
#what-is-agent > .tower-scroll-cue { margin-bottom:-80px; }
@media(max-width:760px) { #what-is-agent > .tower-scroll-cue { margin-bottom:-44px; } }
