/* KnoxIT service concepts share one editorial system and one set of content. */
html{scroll-behavior:smooth;scroll-padding-top:100px}body{overflow-x:clip}.services-nav{font-size:12px;margin-left:auto}.contact{margin-left:0}#story{position:relative;height:1100vh}.stage{position:sticky;inset:auto;top:0;height:100vh;height:100svh}.travel{position:absolute;top:0;left:0;height:1100vh;width:1px;pointer-events:none}.waypoints,.utility,.track{transition:opacity .2s}.past-opening .waypoints,.past-opening .utility,.past-opening .track{opacity:0;visibility:hidden;pointer-events:none}.services-intro{position:relative;background:#090d15;padding:110px 7.5vw 90px;z-index:2}.intro-top{display:flex;justify-content:space-between;font-size:9px;color:var(--accent);letter-spacing:2px;margin-bottom:45px}.intro-top span+span{color:var(--soft);letter-spacing:1px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:9vw;align-items:end}.intro-grid h2{font-size:clamp(44px,5.9vw,90px);font-weight:400;line-height:1.03;letter-spacing:-.06em;margin:0}.intro-grid em,.service-close em{font-style:normal;color:var(--accent)}.intro-grid p{max-width:390px;font-size:16px;line-height:1.7;color:var(--soft);margin:0 0 22px}.text-link{font-size:13px;display:inline-flex;gap:45px;border-bottom:1px solid #53617a;padding:12px 0}.service-index{display:flex;gap:25px;justify-content:space-between;border-top:1px solid #283448;margin-top:60px;padding-top:24px}.service-index a{font-size:12px;display:flex;align-items:center;gap:14px}.service-index span{color:var(--accent)}.service-journey{position:relative;height:680vh;background:#090d15}.service-sticky{height:100vh;height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.service-backgrounds,#system-world,.service-scrim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.service-backgrounds{z-index:-4;background:#070c15}.service-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;will-change:transform,opacity}.service-background:first-child{opacity:1}#system-world{z-index:-3}.service-scrim{z-index:-2;background:linear-gradient(90deg,#090d15f5 0%,#090d15e6 30%,#090d1570 56%,transparent 85%),linear-gradient(0deg,#090d15e8 0%,transparent 28%,transparent 78%,#090d15a6 100%)}[data-concept=explore] .service-backgrounds{opacity:0}.section-label{position:absolute;top:126px;left:7.5vw;right:7.5vw;display:flex;justify-content:space-between;color:var(--soft);font-size:9px;letter-spacing:2px}.section-label span:first-child{color:var(--accent)}.service-copy-stack{position:absolute;left:7.5vw;top:23vh;width:35vw;max-width:510px;z-index:3}.service-detail{position:absolute;top:0;left:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;will-change:transform,opacity}.service-detail.is-active{visibility:visible;pointer-events:auto}.service-name{font-size:13px;color:var(--accent);margin:0 0 22px}.service-detail h2{font-size:clamp(36px,4.3vw,67px);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:0 0 25px}.service-description{font-size:14px;line-height:1.75;color:#c1ccde;max-width:425px;margin:0}.service-detail ul{display:flex;gap:8px 18px;flex-wrap:wrap;padding:0;margin:25px 0;list-style:none;max-width:460px}.service-detail li{font-size:10px;color:#b7c4da;border-bottom:1px solid #31415b;padding:0 0 8px}.service-outcome{font-size:13px;color:#edf3ff;margin:26px 0 17px}.service-cta{display:inline-flex;align-items:center;gap:32px;border-bottom:1px solid var(--accent);padding:10px 0;font-size:12px;color:var(--accent)}.static-service-art{display:none}.service-deck{position:absolute;inset:0;pointer-events:none;z-index:2;perspective:1600px}.service-card{position:absolute;top:23vh;left:54vw;width:34vw;max-width:510px;height:56vh;max-height:560px;padding:0;border:1px solid #829fcc65;border-radius:8px;overflow:hidden;box-shadow:0 32px 75px #02060ca6;background:#0a1322;color:var(--ink);text-align:left;will-change:transform,opacity;transform-origin:center;cursor:pointer;pointer-events:auto}.service-card img{width:100%;height:100%;object-fit:cover;object-position:64% 50%;display:block}.card-shade{position:absolute;inset:0;background:linear-gradient(0deg,#040a16ee,transparent 60%),linear-gradient(180deg,#050d1770,transparent 30%)}.card-top{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#d4dfee}.card-top span{font-size:19px}.card-bottom{position:absolute;bottom:30px;left:30px;right:25px;display:flex;flex-direction:column}.card-verb{font-size:clamp(40px,5vw,75px);font-weight:400;letter-spacing:-.06em;margin-bottom:12px}.card-title{font-size:13px;color:#c4d0e4}.service-card:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.journey-bottom{position:absolute;bottom:10vh;left:7.5vw;right:7.5vw;display:flex;align-items:center;gap:32px;z-index:4}.journey-controls{display:flex;gap:10px}.journey-controls button{width:45px;height:45px;border:1px solid #7b8da85e;border-radius:50%;color:var(--ink);font-size:18px;background:#0b122090;cursor:pointer}.journey-controls button:hover{background:#263958}.journey-controls button:disabled{opacity:.3;cursor:default}.service-dots{display:flex;gap:24px;align-items:center}.service-dots a{display:flex;align-items:center;gap:8px;font-size:9px;color:#96a8c3;padding:12px 0}.service-dots a:before{content:'';width:5px;height:5px;border-radius:50%;background:#57677c}.service-dots a[aria-current]{color:#eaf1fd}.service-dots a[aria-current]:before{background:var(--accent);box-shadow:0 0 0 4px #91b0ff18}.journey-contact{margin-left:auto;font-size:10px}.concept-switch{position:fixed;bottom:19px;left:50%;transform:translateX(-50%);z-index:15;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #62769965;background:#0a1121ed;backdrop-filter:blur(14px);border-radius:7px;box-shadow:0 10px 30px #03081560;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}.past-opening .concept-switch{opacity:1;visibility:visible;pointer-events:auto}.concept-switch>span{font-size:8px;letter-spacing:1.3px;color:#91a3be;padding:0 10px}.concept-switch button{border:0;border-radius:4px;background:none;color:#9caecb;font-size:10px;padding:11px 13px;cursor:pointer}.concept-switch button[aria-pressed=true]{background:#dce6fa;color:#111b2d}.concept-switch button:hover{background:#283853;color:#fff}.service-close{position:relative;padding:110px 9vw 25px;background:#0b101a;overflow:hidden}.service-close>p{color:var(--accent);font-size:10px;letter-spacing:2px}.service-close h2{font-size:clamp(70px,10vw,154px);line-height:.95;font-weight:400;letter-spacing:-.065em;margin:45px 0 50px;position:relative}.close-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative}.close-bottom p{font-size:16px;line-height:1.7;color:var(--soft)}.close-bottom .button{margin:0}.close-orbit{width:45vw;height:45vw;position:absolute;right:-5vw;top:-8vw;border:1px solid #6b8bca22;border-radius:50%;box-shadow:0 0 0 55px #718db407,0 0 0 110px #718db404}.service-close footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #293449;margin-top:95px;padding:32px 0 55px}.service-close footer>a:not(.brand){font-size:12px;color:var(--soft)}
/* B changes the whole scene while compact portrait cards move across it. */
[data-concept=worlds] #system-world{opacity:0}[data-concept=worlds] .service-backgrounds{opacity:1}[data-concept=worlds] .service-scrim{background:linear-gradient(90deg,#060c17ee 0%,#060c17da 34%,#060c1760 58%,transparent 85%),linear-gradient(0deg,#060c17e6,transparent 35%,transparent 75%,#060c1780)}[data-concept=worlds] .service-card{top:35vh;left:54vw;width:17.5vw;max-width:255px;height:42vh;max-height:420px;border-radius:10px}[data-concept=worlds] .card-verb{font-size:44px}[data-concept=worlds] .card-top{left:18px;right:18px;top:20px;font-size:7px;letter-spacing:1px}[data-concept=worlds] .card-top>span{display:none}[data-concept=worlds] .card-bottom{left:23px;bottom:25px}[data-concept=worlds] .card-title{font-size:11px;line-height:1.4}[data-concept=worlds] .service-direction{color:#d7e2f3}
/* Reduced motion is a readable editorial sequence, not a very long blank pin. */
.static #story{height:auto}.static .stage{height:auto}.static #poster,.static .shade{position:absolute}.static .service-journey{height:auto}.static .service-sticky{position:relative;height:auto;overflow:visible}.static .service-copy-stack{position:relative;left:auto;top:auto;width:auto;max-width:none}.static .service-detail{position:relative;visibility:visible;opacity:1!important;transform:none!important;pointer-events:auto;padding:80px 7.5vw;min-height:600px;width:100%;isolation:isolate}.static .service-detail h2,.static .service-description,.static .service-detail ul,.static .service-outcome,.static .service-cta,.static .service-name{max-width:43%}.static .static-service-art{display:block;position:absolute;right:5vw;top:70px;width:44vw;height:calc(100% - 140px);object-fit:cover;object-position:65% center;z-index:-1;border-radius:8px}.static .section-label,.static .service-deck,.static .service-backgrounds,.static #system-world,.static .service-scrim,.static .journey-bottom{display:none}.static .service-detail+.service-detail{border-top:1px solid #24334c}
@media(max-width:1100px) and (min-width:701px){.service-copy-stack{left:6vw;width:40vw;top:24vh}.service-detail h2{font-size:43px}.service-description{font-size:12px}.service-detail ul{margin:15px 0}.service-outcome{margin:18px 0 8px}.service-card{left:57vw;width:35vw}.service-dots{gap:13px}.service-dots span{font-size:8px}.journey-bottom{left:6vw;right:6vw;gap:20px}.journey-contact{display:none}}
@media(max-width:700px){#story{height:1000vh}.travel{height:1000vh}.services-nav{font-size:10px}.services-intro{padding:95px 7vw 60px}.intro-top{font-size:8px;letter-spacing:1.5px;margin-bottom:32px}.intro-top span+span{display:none}.intro-grid{display:block}.intro-grid h2{font-size:46px}.intro-grid p{font-size:14px;margin-top:28px;max-width:350px}.service-index{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:22px 15px}.service-index a{font-size:10px;justify-content:space-between}.service-index a:nth-child(3){grid-column:1/-1;grid-row:2}.service-journey{height:650vh}.section-label{top:92px;left:7vw;right:7vw;font-size:8px;letter-spacing:1.3px}.service-direction{display:none}.service-copy-stack{left:7vw;top:15vh;width:86vw;max-width:none}.service-name{font-size:10px;margin-bottom:12px}.service-detail h2{font-size:37px;line-height:1.04;margin-bottom:17px}.service-description{font-size:12px;line-height:1.6;max-width:100%}.service-detail ul{margin:15px 0;gap:7px 15px}.service-detail li{font-size:8px;padding-bottom:5px}.service-outcome{display:none}.service-cta{font-size:10px;padding:8px 0;gap:25px}.service-card{left:7vw;top:57vh;width:69vw;max-width:none;height:25vh;max-height:none;border-radius:6px}.card-top{top:15px;left:18px;right:18px;font-size:7px}.card-bottom{left:18px;bottom:18px}.card-verb{font-size:36px;margin-bottom:4px}.card-title{font-size:9px}.service-card img{object-position:67% 52%}.service-scrim{background:linear-gradient(180deg,#090d15f0 10%,#090d15cc 43%,transparent 75%,#090d15cc 100%)}.journey-bottom{bottom:9vh;left:7vw;right:7vw;gap:18px}.journey-controls{gap:8px}.journey-controls button{width:34px;height:34px;font-size:16px}.service-dots{gap:12px}.service-dots span{display:none}.service-dots a{padding:12px 2px}.service-dots a:before{width:5px;height:5px}.journey-contact{font-size:9px}.concept-switch{bottom:10px;gap:3px;padding:4px}.concept-switch>span{display:none}.concept-switch button{padding:11px 13px;font-size:9px}.service-close{padding:85px 7vw 30px}.service-close>p{font-size:8px}.service-close h2{font-size:76px;margin:40px 0}.close-bottom{display:block}.close-bottom p{font-size:14px}.close-bottom .button{margin-top:20px}.service-close footer{margin-top:65px;flex-wrap:wrap;gap:22px;padding-bottom:55px}.service-close footer>a:not(.brand){font-size:10px}.service-close footer>a:last-child{display:none}[data-concept=worlds] .service-card{top:58vh;left:7vw;width:37vw;height:24vh;max-height:none;border-radius:6px}[data-concept=worlds] .card-top{font-size:6px;top:14px;left:14px}[data-concept=worlds] .card-bottom{left:14px;bottom:15px;right:10px}[data-concept=worlds] .card-verb{font-size:31px}[data-concept=worlds] .card-title{font-size:8px}[data-concept=worlds] .service-scrim{background:linear-gradient(180deg,#090d15eb 10%,#090d15cc 46%,#090d1530 70%,#090d15e8 100%)}[data-concept=worlds] .service-background{object-position:66% center}.static .service-detail{padding:65px 7vw;min-height:0}.static .service-detail h2,.static .service-description,.static .service-detail ul,.static .service-outcome,.static .service-cta,.static .service-name{max-width:100%}.static .static-service-art{position:relative;inset:auto;width:100%;height:250px;margin-top:30px}.static .service-outcome{display:block}.static .service-copy-stack{width:auto}}
@media(max-height:720px) and (min-width:701px){.section-label{top:100px}.service-copy-stack{top:24vh}.service-detail h2{font-size:42px;margin-bottom:16px}.service-description{font-size:12px}.service-detail ul{margin:15px 0}.service-outcome{margin:17px 0 7px}.service-name{margin-bottom:14px}.journey-bottom{bottom:9vh}.service-card{height:54vh}.service-cta{padding:8px 0}}
@media(max-height:720px) and (max-width:700px){.section-label{top:78px}.service-copy-stack{top:17vh}.service-name{margin-bottom:8px}.service-detail h2{font-size:30px;margin-bottom:11px}.service-description{font-size:10.5px;line-height:1.5}.service-detail ul{margin:10px 0;gap:5px 11px}.service-detail li{font-size:7px}.service-cta{font-size:9px;padding:5px 0}.service-card,[data-concept=worlds] .service-card{top:60vh;height:22vh}.journey-bottom{bottom:9.5vh}.card-top{display:none}.card-verb{font-size:29px}.journey-contact{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body:not(.design-preview) .concept-switch{display:none}.service-page-link{display:block;width:max-content;font-size:11px;color:#9eb9dd;padding:8px 0}.service-cta{margin-bottom:0}@media(max-width:700px){.service-page-link{font-size:10px;padding:4px 0}.service-detail ul{margin-bottom:8px}.service-outcome{margin-top:10px}}
