/* One terminal vocabulary for content, actions and the conversation. */
:root{--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--term-line:#30464d;--term-ink:#b9cad1;--term-bg:#080f15ed}
.terminal-shell{position:relative;background:var(--term-bg);border:0;border-radius:0;box-shadow:none;color:var(--term-ink);font-family:var(--mono);isolation:isolate;margin-top:32px;min-width:0}
.terminal-shell:before,.terminal-shell:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1}
.terminal-shell:before{border-top:1px solid #60847f;border-bottom:1px solid var(--term-line)}
.terminal-shell:after{border-left:1px solid var(--term-line);border-right:1px solid var(--term-line)}
.terminal-bar{height:43px;display:flex;align-items:center;gap:12px;padding:0 20px;font:10px var(--mono);color:#89a09f;border-bottom:1px solid #263a41;background:#0e171c80;letter-spacing:.1px}
.terminal-mark{font-size:14px;color:var(--accent)}.terminal-kind{margin-left:auto;color:#526d77;font-size:9px}.terminal-body{padding:25px 24px 22px}.terminal-command{font:11px/1.8 var(--mono);color:#bdd1d5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}.terminal-command>span{color:#89c9b7}.terminal-command>b{color:#627f8e;font-weight:400;margin-left:-7px}.terminal-caret{display:inline-block;width:6px;height:12px;background:#9acdbc;animation:terminal-blink 1.2s step-end infinite;flex-shrink:0;vertical-align:middle}.terminal-footer{display:flex;justify-content:space-between;padding:9px 20px;border-top:1px solid #25373e;color:#526c79;font:9px var(--mono);letter-spacing:.3px}.terminal-shell .lead.small{font:13px/1.85 var(--mono);margin:0;color:#aec5cf}.terminal-shell .service-list{margin-top:24px;max-width:none}.terminal-shell .service{padding:16px 0;background:none;border-color:#243941}.terminal-shell .service:last-child{border-bottom:0}.terminal-shell .service-top{gap:12px}.terminal-shell .service b{font:12px/1.6 var(--mono);color:#acc1ca}.terminal-shell .service small{font:10px var(--mono);color:#526f7c}.terminal-shell .service i{font:12px var(--mono)}.terminal-shell .service.active b{color:#b7e3d6}.terminal-shell .service.active small{color:var(--accent)}.terminal-shell .service.active .service-detail{padding:12px 0 0 27px;max-height:180px}.terminal-shell .service-detail{font:11px/1.9 var(--mono);color:#859da9}.terminal-shell .service:hover .service-top b{color:var(--accent)}.terminal-shell .service:hover{background:none}.terminal-shell .scenario-tabs{gap:17px;margin-top:18px}.terminal-shell .scenario-tabs button{font:10px/1.6 var(--mono);border-bottom-color:transparent;padding-block:9px}.terminal-shell .scenario-tabs button[aria-selected=true]{border-color:var(--accent)}.terminal-shell .scenario-panel{padding:21px 0 0;margin-top:4px;border:0;border-top:1px dashed #2f424a;background:none;max-width:none}.terminal-shell .scenario-panel:before{display:none}.terminal-shell .micro{font:9px var(--mono);letter-spacing:.8px;color:#6a8796}.terminal-shell #case-prompt{font:12px/1.9 var(--mono);color:#c1cfd2;min-height:50px;margin-top:13px}.terminal-shell #case-prompt:before{content:'input > ';color:#71988c}.terminal-shell .run-button{background:none;border:0;border-bottom:1px solid #2e4848;color:#99d1bf;font:11px/1.7 var(--mono);padding:10px 0;justify-content:flex-start;gap:18px}.terminal-shell .run-button:before{content:'$';color:#5e7c89}.terminal-shell .run-button:hover{color:#d2fdeb;border-color:var(--accent)}.terminal-shell .trace{font:10px/2 var(--mono);min-height:76px;margin-top:19px;color:#7e99a7}.terminal-shell .trace p{display:block}.terminal-shell .infra-tabs{margin-top:16px;gap:18px}.terminal-shell .infra-tabs button{font:10px/1.7 var(--mono)}.terminal-shell .infra-copy{margin:24px 0}.terminal-shell .infra-copy h3{font:15px/1.65 var(--mono);color:#bdcfd4;margin:12px 0}.terminal-shell .infra-copy p{font:11px/1.9 var(--mono);color:#869fac}.terminal-shell .infra-path{font:9px/1.7 var(--mono);gap:15px;flex-wrap:wrap;margin-top:22px}.terminal-shell .text-link{font:11px/1.8 var(--mono);border:0}.terminal-shell .text-link:before{content:'$ ';color:#628175}.disclosure{font-size:10px;margin-top:16px;max-width:510px}
/* Actions are clickable command lines, with their human labels retained. */
.button,.button:hover{background:none;border:0;border-bottom:1px solid #42695f;padding:14px 0;gap:14px;color:#b6ded2;font:12px/1.8 var(--mono);box-shadow:none;border-radius:0;position:relative}.button:after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.button:hover:after{transform:scaleX(1)}.button:hover{color:#d5ffee}.button .command-prefix,.command-prefix{font:12px var(--mono);color:#669d8b}.button .command-label{font:12px/1.8 var(--mono)}.button .command-enter{font:16px var(--mono);margin-left:9px;color:#87b4a5;transition:transform .25s}.button:hover .command-enter{transform:translateX(4px)}.header-contact{font:11px var(--mono);gap:10px;border:0}
/* The same terminal becomes the live conversation; no bubble or card styling. */
/* Content assembles when its terminal enters the viewport. Layout remains reserved. */
.terminal-enhanced [data-terminal]:not(.terminal-ready){background:transparent}
.terminal-enhanced [data-terminal]:not(.terminal-ready):before{transform:scaleX(.05);opacity:.2}
.terminal-enhanced [data-terminal]:not(.terminal-ready):after{transform:scaleY(.05);opacity:0}
.terminal-enhanced [data-terminal]:not(.terminal-ready)>.terminal-bar,.terminal-enhanced [data-terminal]:not(.terminal-ready)>.terminal-footer{opacity:0;transform:translateY(-8px)}
.terminal-enhanced [data-terminal]:not(.terminal-ready)>.terminal-body>*{opacity:0;transform:translateX(20px)}
.terminal-enhanced [data-terminal]{transition:background .6s}
.terminal-enhanced [data-terminal]:before{transform-origin:left;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .5s}
.terminal-enhanced [data-terminal]:after{transform-origin:top;transition:transform .65s .1s,opacity .5s .1s}
.terminal-bar,.terminal-footer{transition:opacity .5s .1s,transform .5s .1s}
.terminal-body>*{transition:opacity .5s .2s,transform .6s .2s}
.terminal-body>.lead{transition-delay:.3s}.terminal-body>.service-list,.terminal-body>.scenario-tabs{transition-delay:.42s}.terminal-body>.scenario-panel{transition-delay:.5s}
.terminal-ready .terminal-command{animation:command-reveal .6s steps(28,end) both}
.terminal-ready .service{animation:terminal-line .5s both}.terminal-ready .service:nth-child(1){animation-delay:.42s}.terminal-ready .service:nth-child(2){animation-delay:.53s}.terminal-ready .service:nth-child(3){animation-delay:.64s}
@keyframes terminal-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
@keyframes command-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes terminal-line{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes terminal-open{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.terminal-body{padding:22px 19px}.terminal-command{font-size:10px}.terminal-shell .service b{font-size:11px}.terminal-shell .scenario-tabs{gap:12px}.terminal-shell .scenario-tabs button{font-size:9px}.terminal-shell .infra-tabs{gap:14px}.terminal-shell .infra-tabs button{font-size:9px}}
@media(max-width:760px){.terminal-shell{margin-top:27px}.terminal-bar{padding:0 15px;gap:10px;font-size:9px;height:39px}.terminal-body{padding:21px 17px}.terminal-command{font-size:9px;gap:6px;letter-spacing:-.2px}.terminal-command>b{margin-left:-5px}.terminal-kind{font-size:8px}.terminal-shell .lead.small{font-size:11px}.terminal-shell .service-top{gap:10px}.terminal-shell .service b{font-size:11px}.terminal-shell .service-detail{font-size:10px}.terminal-shell .service.active .service-detail{padding-left:23px;max-height:220px}.terminal-shell .scenario-tabs{gap:12px}.terminal-shell #case-prompt{font-size:11px}.terminal-shell .trace{font-size:9px;line-height:2}.terminal-footer{padding:9px 15px;font-size:8px}.terminal-shell .infra-copy p{font-size:10px}.terminal-shell .infra-copy h3{font-size:13px}.terminal-shell .infra-path{font-size:8px;gap:11px}.button .command-label{font-size:11px}.button{gap:10px}.button .command-enter{margin-left:4px}.header-contact .command-prefix{display:none}}
@media(prefers-reduced-motion:reduce){.terminal-enhanced [data-terminal],.terminal-enhanced [data-terminal] *,.terminal-enhanced [data-terminal]:before,.terminal-enhanced [data-terminal]:after{animation:none!important;transition:none!important}.terminal-caret{animation:none}}
body.motion-paused .terminal-shell *,body.motion-paused .terminal-shell:before,body.motion-paused .terminal-shell:after{animation:none!important;transition:none!important}
.button:hover .command-label{animation:command-reveal .4s steps(24,end) both}
@media(prefers-reduced-motion:reduce){.button:hover .command-label{animation:none!important}}
