/* AS Web Studio / v1.3
   Design elements adapted from the user's private engineering site.
   Works alongside style.css; no third-party assets or trackers. */
:root { --as-ice:#d7f8ff;--as-cyan:#33d9f2;--as-blue:#147eff;--as-panel:#0b1520;--as-hair:rgba(133,201,236,.18); }
.as-skip-link {position:fixed;top:8px;left:8px;z-index:10001;transform:translateY(-160%);background:#e4fbff;color:#05101b;padding:12px 18px;font-weight:800;border-radius:3px}
.as-skip-link:focus {transform:translateY(0)}
:where(a,button,input,textarea,select):focus-visible {outline:2px solid #71e1ff;outline-offset:4px}
/* Intro: only made visible by JS, at most once per browsing session. */
.as-boot[hidden],.as-command[hidden]{display:none!important}
.as-boot {position:fixed;inset:0;display:grid;place-items:center;z-index:9999;background:#03070bf5;backdrop-filter:blur(20px);padding:22px;opacity:1;transition:opacity .25s ease,visibility .25s ease}
.as-boot.is-dismissing {opacity:0;visibility:hidden;pointer-events:none}
.as-boot-shell{position:relative;width:min(560px,100%);padding:29px;border:1px solid #2d5a70;background:linear-gradient(132deg,#101c29,#04090f 68%);box-shadow:0 28px 110px #000a,0 0 80px #0a9bf011;overflow:hidden}
.as-boot-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#6be2fb09 1px,transparent 1px),linear-gradient(90deg,#6be2fb09 1px,transparent 1px);background-size:27px 27px;pointer-events:none}
.as-boot-brand,.as-boot-log,.as-boot-ready,.as-boot-skip{position:relative}
.as-boot-brand{display:flex;align-items:center;gap:15px;border-bottom:1px solid #26394a;padding-bottom:21px}
.as-boot-brand img{width:85px;height:auto;filter:drop-shadow(0 0 16px #007cff33)}
.as-boot-brand strong,.as-boot-brand span{display:block;letter-spacing:.14em;font-family:ui-monospace,Consolas,monospace}
.as-boot-brand strong{font-size:12px}.as-boot-brand span{font-size:10px;color:#75a1b6;margin-top:7px}
.as-boot-log{display:grid;gap:17px;margin:30px 0 25px}
.as-boot-log p{margin:0;display:grid;grid-template-columns:25px minmax(130px,1fr) 1fr 54px;align-items:center;gap:12px;color:#b1c9d8;font:12px ui-monospace,Consolas,monospace;opacity:0;transform:translateY(7px);animation:as-boot-line .25s ease forwards}
.as-boot-log p:nth-child(2){animation-delay:.22s}.as-boot-log p:nth-child(3){animation-delay:.44s}.as-boot-log p:nth-child(4){animation-delay:.66s}
.as-boot-log p>span{color:#4ba9c8}.as-boot-log i{height:1px;background:linear-gradient(90deg,#254052,#63d4e5,#16303c)}.as-boot-log b{font-size:10px;color:#90f5ce;text-align:right}
.as-boot-ready{text-align:center;border:1px solid #275349;background:#0c251d;padding:12px;font:800 11px ui-monospace,Consolas,monospace;color:#a6f2d1;letter-spacing:.2em}
.as-boot-blink{display:inline-block;animation:as-blink 1s steps(2) infinite}
.as-boot-skip{display:block;margin:14px auto 0;border:0;background:transparent;color:#a2c7db;font:11px ui-monospace,Consolas,monospace;letter-spacing:.07em;padding:10px}
.as-boot-skip:hover{color:#fff}
@keyframes as-boot-line{to{opacity:1;transform:translateY(0)}}@keyframes as-blink{50%{opacity:.08}}
/* Header command key */
.as-header-actions{display:flex;align-items:center;gap:10px;order:3}
.as-command-trigger{height:38px;display:flex;align-items:center;gap:10px;padding:0 11px;border:1px solid #234050;background:#0b151e;color:#86aebd;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.14em;white-space:nowrap}
.as-command-trigger:hover{border-color:#48bad5;color:#e5fcff}
.as-command-trigger kbd{font:800 10px ui-monospace,Consolas,monospace;padding:4px 6px;color:#93ebff;border:1px solid #276176;background:#102531}
.main-nav{margin-left:auto}
/* Hero: engineering console aesthetic while preserving brand imagery */
.as-studio-hero{isolation:isolate;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(24px,4vw,65px);padding-top:76px}
.as-code-field{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.33;mask-image:linear-gradient(90deg,transparent 0%,#000 54%,#000 100%)}
.as-hero-copy{position:relative;z-index:2}
.as-hero-copy h1{font-size:clamp(44px,4.85vw,77px);max-width:14ch;overflow-wrap:normal;letter-spacing:-.052em;line-height:1.09}
.as-hero-copy .eyebrow{gap:9px;flex-wrap:wrap;font-family:ui-monospace,Consolas,monospace;letter-spacing:.14em;font-size:10px;line-height:1.6}
.as-eyebrow-separator{color:#567888}
.as-hero-copy .hero-lead{font-size:16.5px;line-height:1.78;max-width:600px}
.as-terminal{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:max-content;max-width:100%;margin-top:35px;padding:12px 17px;border:1px solid #284252;background:#07121be0;box-shadow:inset 3px 0 0 #1687cb;min-height:62px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.as-terminal-prompt{white-space:nowrap;font-size:11px;color:#47cce8}
.as-terminal-lines{display:flex;flex-direction:column;gap:4px;min-width:0}
.as-terminal strong{display:block;color:#e1f1fa;font-size:11px;font-weight:600;overflow-wrap:anywhere}
.as-terminal small{color:#789db0;letter-spacing:.09em;font-size:9px}
.as-terminal-caret{color:#82edff;animation:as-blink 1s steps(2) infinite}
.as-hero-copy .hero-meta{margin-top:28px}
.as-hero-art{position:relative;z-index:1;min-height:490px;height:530px;border:1px solid #23506e;overflow:hidden;background:radial-gradient(circle at 51% 50%,#15528b4a,transparent 49%),linear-gradient(150deg,#081b2b,#050b12 62%);box-shadow:0 28px 90px #0008,inset 0 0 100px #0f63a70b;transition:border-color .2s ease}
.as-hero-art:hover{border-color:#3783ab}
.as-visual-grid{position:absolute;inset:0;background-image:linear-gradient(#4ac3ff10 1px,transparent 1px),linear-gradient(90deg,#4ac3ff10 1px,transparent 1px);background-size:35px 35px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 87%)}
.as-visual-grid:before,.as-visual-grid:after{content:"";position:absolute;background:#3ad7f7;opacity:.23}
.as-visual-grid:before{width:1px;top:0;bottom:0;left:50%}.as-visual-grid:after{height:1px;left:0;right:0;top:50%}
.as-visual-head,.as-visual-foot{position:absolute;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;left:23px;right:23px;color:#77b4d0;font:9px ui-monospace,Consolas,monospace;letter-spacing:.13em}
.as-visual-head{top:22px}.as-visual-foot{bottom:22px;border-top:1px solid #1f4556;padding-top:13px;color:#5f8ca7}
.as-visual-live{color:#a8dedf;white-space:nowrap}.as-visual-live i{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px;background:#55e9cb;box-shadow:0 0 11px #48d1c1}
.as-hero-art .art-orbit{z-index:1;width:360px;height:360px;border-color:#326e9a80}
.as-hero-art .orbit-two{border-color:#0c86c880}
.as-art-center{z-index:3;width:min(81%,350px);filter:drop-shadow(0 0 44px #1181f044)}
.as-art-center .art-signet{width:100%;max-width:350px}
.as-stage-circuit{position:absolute;z-index:2;inset:0;width:100%;height:100%;stroke:#3a90be72;pointer-events:none}
.as-stage-circuit circle{fill:#78f2fa;stroke:none;filter:drop-shadow(0 0 6px #05adff)}
.as-scan-bar{position:absolute;z-index:4;top:18%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#79dfff70,transparent);box-shadow:0 0 20px #007eff5e;animation:as-scan 9s ease-in-out infinite;pointer-events:none}
@keyframes as-scan{50%{transform:translateY(310px);opacity:.45}}
.as-visual-label{position:absolute;z-index:5;font:10px/1.8 ui-monospace,Consolas,monospace;letter-spacing:.08em;color:#c1e6f9;pointer-events:none}
.as-visual-label span{font-size:9px;color:#6e9fbd}
.as-vlabel-left{left:28px;top:29%}.as-vlabel-right{right:28px;bottom:27%;text-align:right}
.as-studio-hero .hero-scroll{bottom:25px}
/* The original private website's data-bus inspired moving systems strip */
.as-data-bus{border-block:1px solid #23445b;background:linear-gradient(90deg,#0b1720,#102434 48%,#09131e);overflow:hidden}
.as-bus-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:76px}
.as-bus-label,.as-bus-status{display:flex;align-items:center;gap:10px;white-space:nowrap;font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.10em;color:#a3c5d7}
.as-bus-label{color:#72d3ec}.as-data-dot{width:7px;height:7px;border-radius:50%;background:#4ce4d2;box-shadow:0 0 15px #00bcff}
.as-bus-viewport{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);border-inline:1px solid #224155}
.as-bus-track{display:flex;width:max-content;align-items:center;gap:25px;white-space:nowrap;animation:as-bus-slide 35s linear infinite}
.as-bus-track span{font:700 11px ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#b6d0e0}
.as-bus-track i{display:block;width:33px;height:1px;background:#1a96da;position:relative}
.as-bus-track i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#58dcfc}
.as-bus-status{font-size:9px;color:#5c819d}.as-bus-status span{color:#9dece2;display:block;min-width:99px}
@keyframes as-bus-slide{to{transform:translateX(-50%)}}
.as-data-bus:hover .as-bus-track{animation-play-state:paused}
/* Engineering diagrams on service cards */
.service-card{position:relative;isolation:isolate;overflow:hidden;min-height:365px;gap:0}
.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 50%,#177ad70b),linear-gradient(#74b9ed06 1px,transparent 1px),linear-gradient(90deg,#74b9ed06 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;z-index:-1;opacity:0;transition:opacity .25s}
.service-card:hover:before,.service-card:focus-visible:before{opacity:1}
.service-card:after{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:linear-gradient(#138cff,#58e9ec);transition:height .33s}
.service-card:hover:after,.service-card:focus-visible:after{height:100%}
.service-no{letter-spacing:.08em}
.as-service-graphic{display:grid;place-items:center;height:98px;align-self:flex-end;width:152px;margin:-6px 0 -4px;color:#4d9cd4;opacity:.62;transition:color .25s,opacity .25s,transform .3s}
.as-service-graphic svg{display:block;width:100%;height:100%}
.service-card:hover .as-service-graphic,.service-card:focus-visible .as-service-graphic{color:#7ee8fb;opacity:1;transform:translateY(-4px)}
.service-card h3{margin:8px 0 10px;font-size:24px}
.service-card p{font-size:14px}
.service-arrow{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:12px;border-top:1px solid #214054;letter-spacing:.03em}
.service-arrow span{font-size:23px}
/* Interactive project architecture panel */
.as-system-section{position:relative;padding-top:110px;padding-bottom:120px;background:linear-gradient(180deg,#080c14,#0a1723 45%,#080d15);border-block:1px solid #193b54}
.as-system-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}
.as-system-intro h2{margin:17px 0 0}
.as-system-intro>p{max-width:370px;font-size:15px;line-height:1.85;color:#94aec1;margin:0}
.as-system-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:14px;align-items:stretch}
.as-system-board,.as-system-inspector{border:1px solid #2d5269;background:#07121b;min-width:0;position:relative;overflow:hidden}
.as-system-board{height:440px;background:radial-gradient(ellipse at 45% 47%,#103e5c64,transparent 55%),linear-gradient(90deg,#ffffff08 1px,transparent 1px),linear-gradient(#ffffff08 1px,transparent 1px),#07131f;background-size:auto,30px 30px,30px 30px,auto}
.as-board-top,.as-board-bottom,.as-inspector-top,.as-inspector-bottom{position:absolute;z-index:3;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:10px ui-monospace,Consolas,monospace;letter-spacing:.07em;color:#7ba6bb}
.as-board-top{top:19px}.as-board-top>span:last-child{color:#54829a}.as-board-top i{display:inline-block;width:6px;height:6px;margin-right:8px;background:#52e5cb;border-radius:50%}
.as-board-bottom{bottom:16px;border-top:1px solid #31526a;padding-top:12px;color:#5c96ab;font-size:9px}
.as-board-pulse{color:#73eed2;animation:as-blink 2s steps(2) infinite}
.as-system-connectors{position:absolute;z-index:1;width:calc(100% - 36px);height:calc(100% - 82px);left:18px;top:38px;color:#205c81;pointer-events:none}
.as-system-connectors circle{fill:#2ec8ef;stroke:none}.as-system-line{stroke:#366c8d;stroke-width:1.4;stroke-dasharray:4 6;animation:as-dash 18s linear infinite}
@keyframes as-dash{to{stroke-dashoffset:-180}}
.as-node-layer{position:absolute;z-index:2;inset:37px 18px 44px}
.as-system-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:137px;min-height:88px;text-align:left;padding:13px 13px 11px;background:#0b1b2adf;color:#d7eaf4;border:1px solid #32617d;box-shadow:0 10px 33px #0007;transition:background .2s,border-color .2s,box-shadow .2s}
.as-system-node small,.as-system-node strong,.as-system-node span{display:block;line-height:1.35}
.as-system-node small{font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.09em;color:#71afd3}
.as-system-node strong{font-size:16px;margin:7px 0 6px}
.as-system-node span{font:9px ui-monospace,Consolas,monospace;letter-spacing:.15em;color:#62889a}
.as-system-node:hover,.as-system-node:focus-visible,.as-system-node.is-current{background:#123149;border-color:#62cde8;box-shadow:0 0 0 1px #43b8dd4f,0 0 32px #078be72e}
.as-system-node.is-current:before{content:"";width:6px;height:6px;background:#73ffe0;position:absolute;top:-4px;right:-4px;border-radius:50%;box-shadow:0 0 17px #3fffca}
.as-system-inspector{display:flex;flex-direction:column;min-height:440px;background:linear-gradient(135deg,#0c1d2b,#080e18 78%)}
.as-inspector-top,.as-inspector-bottom{position:static;margin:0 23px;width:auto;padding:20px 0;border-bottom:1px solid #2a485b}
.as-inspector-top{color:#81e3ed}.as-inspector-top span:last-child{color:#8ab0c5}
.as-inspector-content{padding:27px 25px;flex:1;display:flex;flex-direction:column}
.as-inspector-state{font:10px ui-monospace,Consolas,monospace;letter-spacing:.11em;color:#6a9fb8}
.as-inspector-state span{margin-left:6px;color:#5de2f1}
.as-system-inspector h3{font-size:clamp(27px,2.6vw,36px);font-weight:680;line-height:1.2;margin:25px 0 19px;letter-spacing:-.045em;overflow-wrap:anywhere}
.as-system-inspector p{color:#9ebacb;line-height:1.8;font-size:14px;margin:0 0 24px}
.as-inspector-result{border-top:1px solid #28536d;padding-top:19px;margin-top:auto;display:flex;flex-direction:column;gap:10px}
.as-inspector-result span{font:9px ui-monospace,Consolas,monospace;letter-spacing:.13em;color:#4f98b3}.as-inspector-result strong{font-size:14px;color:#b5f2ec}
.as-inspector-bottom{border:0;border-top:1px solid #284052;color:#526e80;font-size:9px}
/* Personal profile continuity */
.small-note a{color:#80d4fb;text-decoration:underline;text-underline-offset:3px}
/* Palette: local quick search, route navigation, no remote queries */
.as-command{position:fixed;inset:0;z-index:9000;display:grid;justify-items:center;align-items:start;padding:9vh 16px 22px;overflow-y:auto}
.as-command-backdrop{position:fixed;inset:0;background:#000b14df;backdrop-filter:blur(13px)}
.as-command-dialog{position:relative;width:min(690px,100%);max-height:min(76vh,690px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid #37627b;background:#07121de8;box-shadow:0 30px 120px #000c,0 0 100px #089fdf15;overflow:hidden}
.as-command-top{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #264153}
.as-command-top span{font:700 10px ui-monospace,Consolas,monospace;color:#6edced;letter-spacing:.15em}
.as-command-top h2{font-size:21px;letter-spacing:-.03em;margin:7px 0 0}
.as-command-close{border:1px solid #3f657c;background:#0c1a28;color:#91b4c6;padding:9px 12px;font:11px ui-monospace,Consolas,monospace}
.as-command-input{display:flex;align-items:center;gap:15px;color:#65d9ed;padding:10px 22px;border-bottom:1px solid #264153;font:800 18px ui-monospace,Consolas,monospace}
.as-command-input input{flex:1;min-width:0;border:none;background:transparent;padding:9px 0;color:#f0fcff;font:14px ui-monospace,Consolas,monospace;outline:none!important}
.as-command-input input::placeholder{color:#6c889b}
.as-command-results{overflow:auto;padding:10px;min-height:95px}
.as-command-option{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:12px;color:#c4dbe8;background:none;border:1px solid transparent}
.as-command-option:hover,.as-command-option[aria-selected="true"]{background:#173449;border-color:#3e7b99}
.as-command-option .as-command-number{flex:0 0 35px;height:35px;display:grid;place-items:center;border:1px solid #31566f;color:#6bd8ef;font:800 10px ui-monospace,Consolas,monospace}
.as-command-option strong,.as-command-option small{display:block}.as-command-option strong{font-size:14px}.as-command-option small{font-size:11px;color:#84a3b7;margin-top:4px}.as-command-option .as-command-arrow{margin-left:auto;color:#5ac6e7}
.as-command-empty{padding:24px;color:#97b1c3;font-size:13px}
.as-command-bottom{display:flex;gap:25px;flex-wrap:wrap;padding:14px 21px;background:#0a1c2a;border-top:1px solid #25435a;color:#739bad;font:10px ui-monospace,Consolas,monospace}
body.as-command-open{overflow:hidden}
/* Fine-grained responsive safety */
@media(min-width:761px){.as-header-actions{order:2}.main-nav{order:3}.as-studio-hero .hero-scroll{left:0}}
@media(max-width:1100px){.as-studio-hero{gap:25px}.as-hero-copy h1{font-size:clamp(45px,4.8vw,67px)}.as-system-layout{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr)}.as-system-node{width:124px;padding:12px}.as-system-node strong{font-size:14px}.as-bus-inner{gap:14px}.as-bus-status{display:none}}
@media(max-width:900px){.as-bus-label{font-size:9px}.as-system-layout{grid-template-columns:1fr}.as-system-inspector{min-height:290px}.as-system-intro{align-items:start}.as-system-board{height:410px}}
@media(max-width:760px){.as-header-actions{margin-left:auto}.main-nav{order:0}.as-command-trigger{height:37px;padding:0 10px}.as-command-trigger-label{display:none}.as-command-trigger kbd{font-size:10px}.as-studio-hero{display:flex;flex-direction:column;align-items:stretch;padding-top:55px;padding-bottom:75px;gap:25px}.as-code-field{opacity:.16;mask-image:linear-gradient(#000,transparent)}.as-hero-copy h1{max-width:16ch;font-size:clamp(43px,8.2vw,60px)}.as-hero-art{width:100%;height:350px;min-height:350px}.as-hero-art .art-orbit{width:270px;height:270px}.as-vlabel-left{top:33%;left:20px}.as-vlabel-right{right:20px;bottom:28%}.as-visual-head,.as-visual-foot{left:16px;right:16px;font-size:8px}.as-art-center{width:min(65vw,260px)}.as-bus-inner{min-height:65px}.as-bus-label{font-size:9px}.as-bus-viewport{border-right:0}.as-system-section{padding:75px 0}.as-system-intro{display:block}.as-system-intro>p{margin-top:20px;max-width:540px}.as-system-node{width:135px}}
@media(max-width:600px){.as-studio-hero h1{font-size:clamp(41px,9vw,54px)}.as-system-board{height:auto;min-height:auto;padding:56px 17px 52px}.as-system-connectors{display:none}.as-node-layer{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.as-system-node{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:91px}.as-system-node:last-child{grid-column:1/-1}.as-system-inspector{min-height:310px}.as-bus-inner{grid-template-columns:1fr;gap:8px;padding-top:11px;padding-bottom:11px}.as-bus-viewport{min-height:18px}.as-bus-label{font-size:9px}.as-bus-track{gap:19px}.as-bus-track span{font-size:10px}.service-card{min-height:310px}.as-service-graphic{height:80px}.as-command{padding-top:5vh}.as-command-bottom{gap:11px}.as-command-top{padding:17px}.as-command-input{padding:10px 17px}}
@media(max-width:420px){.as-hero-copy .eyebrow{font-size:9px}.as-hero-copy h1{font-size:clamp(38px,9.6vw,45px);line-height:1.12;overflow-wrap:break-word}.as-hero-copy .hero-lead{font-size:15px}.as-terminal{padding:10px;width:100%;gap:8px}.as-terminal small{font-size:8px;letter-spacing:0}.as-terminal-prompt{font-size:9px}.as-visual-label{display:none}.as-system-intro h2{font-size:clamp(34px,9vw,43px)}.as-system-node strong{font-size:13px}.as-board-top,.as-board-bottom{font-size:8px}.as-visual-head,.as-visual-foot{font-size:8px}.as-visual-live{font-size:8px}.as-hero-art{height:300px;min-height:300px}.as-boot-shell{padding:19px}.as-boot-log p{font-size:10px;gap:7px;grid-template-columns:21px minmax(90px,1fr) 30px}.as-boot-log i{display:none}}
@media(hover:none),(pointer:coarse){.as-cursor{display:none!important}}
@media(prefers-reduced-motion:reduce){.as-boot,.as-scan-bar,.as-bus-track,.as-boot-log p,.as-system-line,.as-board-pulse,.as-terminal-caret{animation:none!important;transition:none!important}.as-bus-track{transform:none}.as-boot-log p{opacity:1;transform:none}}
.as-cursor{display:none;position:fixed;top:0;left:0;z-index:500;pointer-events:none;width:28px;height:28px;border:1px solid #74d8ff7f;border-radius:50%;transition:width .18s,height .18s,border-color .18s;opacity:.75;transform:translate3d(-100px,-100px,0)}
.as-cursor.is-enabled{display:block}.as-cursor.is-on-link{width:38px;height:38px;border-color:#79e7ef}

/* Node positions are CSS declarations, not inline styles, for strict CSP. */
.as-system-node[data-as-stage="0"]{--node-x:14%;--node-y:30%}
.as-system-node[data-as-stage="1"]{--node-x:40%;--node-y:24%}
.as-system-node[data-as-stage="2"]{--node-x:74%;--node-y:37%}
.as-system-node[data-as-stage="3"]{--node-x:59%;--node-y:76%}
.as-system-node[data-as-stage="4"]{--node-x:24%;--node-y:77%}
/* Personal portrait, borrowed from the owner's private engineering site */
.as-about-visual{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;align-items:center;min-height:410px}
.as-about-photo{grid-column:1;grid-row:1;position:relative;margin:0;height:410px;min-width:0;overflow:hidden;border:1px solid #31546a;background:#13202b}
.as-about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%;filter:saturate(.8) contrast(1.05)}
.as-about-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,#05111eeb 100%);pointer-events:none}
.as-about-photo figcaption{position:absolute;z-index:2;bottom:20px;left:17px;right:12px}
.as-about-photo figcaption span,.as-about-photo figcaption strong,.as-about-photo figcaption small{display:block}
.as-about-photo figcaption span{font:700 9px ui-monospace,Consolas,monospace;letter-spacing:.09em;color:#7dddf1}
.as-about-photo figcaption strong{margin:10px 0 5px;font-size:20px;color:white}.as-about-photo figcaption small{font-size:10px;color:#a8c4d2;line-height:1.5}
.as-about-code{grid-column:2;grid-row:1;z-index:2;align-self:center;transform:translateX(-41px) translateY(48px);width:calc(100% + 44px);box-shadow:0 24px 54px #000c}
.as-about-code pre{font-size:12px;padding:18px 17px;line-height:1.8}
.as-about-code .code-bar{padding-inline:12px}
.as-about-code .code-bar small{font-size:9px;margin-left:9px}
@media(max-width:1200px){.as-about-visual{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.as-about-code{transform:translateX(-32px) translateY(25px);width:calc(100% + 34px)}}
@media(max-width:760px){.as-about-visual{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:340px}.as-about-photo{height:340px}.as-about-code{transform:translateX(-26px) translateY(13px);width:calc(100% + 28px)}}
@media(max-width:530px){.as-about-visual{display:flex;flex-direction:column;align-items:stretch;gap:15px}.as-about-photo{height:310px}.as-about-code{transform:none;width:100%}.as-about-code pre{font-size:12px}}
/* Conversion-focused FAQ: native <details>, no JavaScript dependency. */
.as-faq{padding-top:105px;padding-bottom:105px}
.as-faq-list{border-top:1px solid #32506a}
.as-faq-list details{border-bottom:1px solid #283b4f;background:linear-gradient(90deg,#0a152000,transparent);transition:background .2s ease}
.as-faq-list details[open]{background:linear-gradient(90deg,#0d2234cc,transparent 80%)}
.as-faq-list summary{display:grid;grid-template-columns:165px minmax(0,1fr) 35px;gap:20px;align-items:center;min-height:94px;padding:18px 20px;cursor:pointer;list-style:none}
.as-faq-list summary::-webkit-details-marker{display:none}
.as-faq-list summary>span:first-child{font:700 10px ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#5da9c8}
.as-faq-list summary strong{font-size:clamp(17px,2vw,23px);font-weight:620;letter-spacing:-.035em}
.as-faq-plus{display:grid;place-items:center;width:31px;height:31px;border:1px solid #315d79;color:#72dafa;font:27px ui-monospace,Consolas,monospace;transition:transform .2s ease}
.as-faq-list details[open] .as-faq-plus{transform:rotate(45deg)}
.as-faq-list summary:hover,.as-faq-list summary:focus-visible{color:#b8f0ff;background:#15354b45}
.as-faq-answer{padding:0 65px 26px 205px}.as-faq-answer p{max-width:760px;line-height:1.8;color:#9fb3c7;font-size:15px;margin:0}
@media(max-width:760px){.as-faq{padding-top:75px;padding-bottom:75px}.as-faq-list summary{grid-template-columns:1fr 31px;gap:7px;min-height:85px;padding:18px 12px}.as-faq-list summary>span:first-child{grid-column:1}.as-faq-list summary strong{grid-column:1;grid-row:2}.as-faq-plus{grid-column:2;grid-row:1/3}.as-faq-answer{padding:0 20px 23px 12px}}
