/* One visual language for all public pages. */
body.page{padding-left:0;isolation:isolate;background:#f8fbff}
.page:before{background:radial-gradient(ellipse at 87% 15%,#e1ebff 0,transparent 46%),radial-gradient(ellipse at 8% 68%,#e1f2f5 0,transparent 42%),#f8fbff}
#ambient{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.85}
.site-header{position:sticky;top:12px;z-index:150}
.nav-capsule{box-shadow:0 12px 45px #3f659615;border-color:#fff;background:#f8fbfff2}
.site-directory summary{transition:background .25s,box-shadow .25s}.site-directory summary:hover{background:#2e5685;box-shadow:0 6px 18px #274d7520}
.directory-panel{animation:none!important;transform-origin:top center;box-shadow:0 22px 75px #27477326;background:#f6faff}
.story-layout{width:min(1140px,calc(100% - 80px));margin-inline:auto}
.story-stream{min-width:0}
.story-stream>section{padding:60px 0 80px;scroll-margin-top:125px}
.story-stream>section+section{border-top:1px solid #cbddec88}
.story-stream h2{font-size:clamp(35px,4.1vw,58px);line-height:1.12;margin:0 0 28px;max-width:960px}
.story-stream h3{font-size:26px;font-weight:550;line-height:1.25;margin:0 0 22px}
.story-stream p{font-size:18px;line-height:1.85;max-width:810px;margin-top:0}
.story-stream p+p{margin-top:22px}
.story-stream>.chapter-lead,.story-stream .chapter-lead{font-size:23px;line-height:1.65;max-width:900px;color:#355476;margin-bottom:28px}
.story-stream>section>p,.story-stream>section>.note,.story-stream>section>ul{margin-left:clamp(0px,6vw,86px)}
.story-stream ul{max-width:850px;padding-left:22px;color:var(--muted);font-size:17px;line-height:1.8}
.story-stream li{padding-left:5px;margin:15px 0}
.story-stream .text-next{margin-left:clamp(0px,6vw,86px)}
.chapter-intro{max-width:1000px}.chapter-intro p{margin-left:clamp(0px,6vw,86px)}
.server-landscape{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:24px;margin:45px 0 40px;padding:40px 35px;background:linear-gradient(125deg,#e7effc99,#edf9f899);border-radius:4px 60px 4px 60px}
.server-role{min-width:0}.server-role h3{font-size:25px}.server-role p{font-size:16px;line-height:1.75}.quiet-spec{display:block;color:#6587a4;font-size:12px;margin-top:20px}
.mini-server{position:relative;width:74px;height:92px;transform:skewY(-8deg);border:1px solid #8bacda;border-radius:9px;background:linear-gradient(110deg,#eaf4ff,#bdd5f3);box-shadow:12px 10px 0 #9fbedb45,0 25px 32px #4274a918;margin:0 0 40px 6px;animation:server-float 6s ease-in-out infinite}.home-server{background:linear-gradient(110deg,#e8f8f5,#abd6d6);border-color:#96bdbc;animation-delay:-3s}
.mini-server:after{content:"";position:absolute;right:10px;bottom:8px;width:5px;height:5px;border-radius:50%;background:#59a9b8;box-shadow:0 0 8px #8ae1d2}
.mini-server i{display:block;height:9px;margin:12px 10px 0;background:#f8fcffad;border:1px solid #9dbdd44d;border-radius:3px}
.server-bridge{display:flex;align-items:center;gap:6px;color:#7f9fc4;align-self:center}.server-bridge span{flex:1;height:1px;background:#9bbbdc}.server-bridge i{font:24px sans-serif}
@keyframes server-float{50%{transform:translateY(-7px) skewY(-8deg)}}
.route-ribbon{margin:35px 0 40px;display:grid;gap:35px}.route-ribbon>div{padding:28px 0 28px 30px;border-left:2px solid #9fbfea}.route-ribbon>div:nth-child(2){border-color:#99c8c7}.route-label{font-size:14px;color:#6084ac}.route-ribbon ol{display:flex;list-style:none;gap:0;padding:0;margin:20px 0 25px;flex-wrap:wrap}.route-ribbon li{padding:0;margin:0;font-size:17px;font-weight:550;color:#284b73}.route-ribbon li:not(:last-child):after{content:"→";margin:0 20px;color:#8cafcc}.route-ribbon p{font-size:16px;max-width:900px}
.service-notes{display:grid;grid-template-columns:1fr 1fr;gap:45px 60px;margin:38px 0}.service-notes>div{padding-top:22px;border-top:2px solid #afc9e8}.service-notes h3{font-size:24px;margin-bottom:18px}.service-notes p{font-size:17px;line-height:1.8}.service-notes a{display:inline-block;margin-top:22px;color:#326bb4;font-size:14px;text-underline-offset:6px}
.career-entry{position:relative;border-left:1px solid #b7cde5;padding:10px 0 35px 35px;margin:45px 0 0 12px}.career-entry:before{content:"";position:absolute;top:14px;left:-6px;width:11px;height:11px;border-radius:50%;background:#6a94d5;box-shadow:0 0 0 6px #e8f0fb}.career-period{display:block;color:#6385aa;font-size:13px;margin-bottom:15px}.career-entry h3{font-size:33px;margin:0 0 10px}.career-entry .role-name{font-size:16px;color:#71849b;margin-bottom:24px}.practice-line{display:flex;flex-wrap:wrap;gap:10px 24px;color:#6d87a4;font-size:13px;margin-top:26px}
.ownership-band{padding:35px 40px;margin:36px 0;background:linear-gradient(110deg,#e6effb99,#e6f3f599);border-left:3px solid #82aadb}.ownership-band p{font-size:17px}
.inline-destinations{display:flex;flex-wrap:wrap;gap:20px 50px}.story-stream .inline-destinations .text-next{margin-left:0;flex:1;min-width:240px;font-size:16px}
.repo-map{margin:35px 0}.repo-map>a{display:grid;grid-template-columns:1fr 1fr 24px;align-items:center;gap:20px;text-decoration:none;border-bottom:1px solid #ceddec;padding:22px 0;transition:padding .25s,color .25s}.repo-map>a:hover{padding-inline:12px;color:#326ebf}.repo-map span{color:#5d7692;font-size:15px}.repo-map b{font-weight:400}
.reference{border-bottom:1px solid #cbddec;padding:22px 0;margin:0;overflow:visible}.reference summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;font-size:19px;color:#284969;cursor:pointer}.reference summary::-webkit-details-marker{display:none}.reference summary:after{content:"＋";color:#6394c8;font-size:24px;transition:transform .35s}.reference[open] summary:after{content:"＋";transform:rotate(45deg)}.disclosure-content{padding-top:20px}.disclosure-content p{font-size:16px}
.reveal-item{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.68,.15,1);transition-delay:var(--reveal-delay,0ms)}.reveal-item.is-visible{opacity:1;transform:none}
.button,.ghost,.flow-button,.hero3d-tabs button{transition:background .25s,color .25s,box-shadow .25s,transform .25s}.button:active,.ghost:active{transform:translateY(1px)}
.lab-page .story-experience{display:flex;flex-direction:column;gap:25px}.lab-page .story-side,.lab-page .story-stage-card{width:100%;min-width:0}.lab-page .story-menu{display:flex;gap:8px;flex-wrap:wrap;position:static;padding:14px 20px}.lab-page .story-menu button{width:auto;padding:12px 16px}.lab-page .story-copy{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0 40px}.lab-page .story-copy>h3{font:400 clamp(30px,3vw,42px)/1.1 Georgia;grid-column:1;min-height:95px}.lab-page #storyLead{grid-column:1;min-height:100px}.lab-page .story-step-card{grid-column:2;grid-row:1/4;margin-top:0;min-height:290px}.lab-page #stepTitle{min-height:70px}.lab-page #stepText{min-height:90px}.lab-page #storyActions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-page #storyActions>button:only-child{grid-column:2}.lab-page .ref-shell{grid-template-columns:1fr}.lab-page .ref-tools{position:static;padding:20px}.lab-page .ref-tools input{max-width:500px}
.ref-item.motion-reference .ref-body,.ref-item.motion-reference.open .ref-body{display:grid;grid-template-rows:0fr;padding:0;opacity:0;visibility:hidden;transition:grid-template-rows .4s ease,opacity .35s,visibility .4s}.ref-item.motion-reference.open .ref-body{grid-template-rows:1fr;opacity:1;visibility:visible}.ref-content{min-height:0;overflow:hidden}.ref-inner{padding:0 22px 22px}
.hero3d-info{min-height:155px}.hero3d-info h4{min-height:60px}
@media(max-width:760px){.story-layout{width:calc(100% - 40px)}.story-stream>section{padding:38px 0 45px}.story-stream h2{font-size:36px}.story-stream h3{font-size:25px}.story-stream p{font-size:17px;line-height:1.8}.story-stream .chapter-lead{font-size:20px}.story-stream>section>p,.story-stream>section>.note,.story-stream>section>ul,.chapter-intro p,.story-stream .text-next{margin-left:0}.server-landscape{grid-template-columns:1fr;padding:28px 22px;gap:35px;border-radius:3px 35px 3px 35px}.server-bridge{display:none}.mini-server{margin-bottom:25px}.route-ribbon>div{padding:20px 0 20px 18px}.route-ribbon ol{display:grid;gap:14px}.route-ribbon li:not(:last-child):after{content:"↓";display:block;margin:10px 0 0}.service-notes{grid-template-columns:1fr;gap:30px}.career-entry{padding-left:23px;margin-left:5px}.career-entry h3{font-size:29px}.ownership-band{padding:24px}.repo-map>a{grid-template-columns:1fr 24px;gap:8px}.repo-map span{grid-row:2}.repo-map b{grid-column:2;grid-row:1/3}.reference summary{font-size:17px}.lab-page .story-copy{display:block;padding:22px}.lab-page .story-copy>h3{min-height:85px}.lab-page #storyLead{min-height:115px}.lab-page .story-step-card{margin-top:18px;min-height:315px}.lab-page #stepTitle{min-height:70px}.lab-page #stepText{min-height:125px}.hero3d-info{min-height:250px}}
.home-link>.home-link-more{font-size:13px}
@media(max-width:760px){.lab-page #stepTitle{min-height:110px}.lab-page #stepText{min-height:190px}.lab-page .story-step-card{min-height:420px}.home-link{grid-template-columns:minmax(0,1fr)}.home-link>.home-link-more{grid-column:1;grid-row:auto;justify-self:start}.home-link>div{min-width:0}.home-link h3{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.reveal-item{opacity:1;transform:none;transition:none}.mini-server{animation:none}.ref-item.motion-reference .ref-body{transition:none}}
