@font-face{font-family:Pixel;src:url('/assets/pixel.woff2') format('woff2');font-display:swap}
@font-face{font-family:Space;src:url('/assets/body.woff2') format('woff2');font-display:swap}
:root{--ink:#14234C;--blue:#184CD7;--orange:#EF4035;--lime:#FFDF42;--paper:#FFFEF4;--peach:#9BDCFF;--line:2px solid var(--ink);font:100% Space,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;min-height:44px;border-radius:0}a{color:inherit}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:4px solid var(--orange);outline-offset:5px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:12px;background:var(--lime);padding:15px;z-index:99}.skip-link:focus{top:12px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 4%;min-height:94px;border-bottom:var(--line);background:var(--paper)}.wordmark{font-family:Pixel,monospace;text-decoration:none;font-size:1.2rem;letter-spacing:-1px;white-space:nowrap}.wordmark>span{color:var(--orange)}.wordmark small{font:700 .8rem Space,sans-serif;margin-left:6px;vertical-align:top;letter-spacing:0}.top-location{font-size:.875rem;line-height:1.6;font-weight:bold}.top-location span{display:block;font-weight:normal}nav{display:flex;align-items:center;gap:24px}nav button{border:0;background:none;font-size:1.125rem;padding:8px 0}.nav-contact{background:var(--lime);border:var(--line);box-shadow:4px 4px var(--ink);padding:10px 18px;font-weight:bold}.nav-contact span{margin-left:18px}
.journey{height:850svh;position:relative}.journey-stage{height:100svh;position:sticky;top:0;overflow:clip;isolation:isolate;background:var(--peach);--departure:0}.journey-stage.is-departing{background:#58c43c}.journey-heading{position:absolute;top:20px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5;font-size:.875rem;font-weight:bold;letter-spacing:.7px;pointer-events:none}.journey-heading>span:first-child{background:var(--lime);border:var(--line);padding:11px 16px;box-shadow:4px 4px var(--ink);transform:rotate(-1deg)}.journey-heading>span:last-child{padding:8px 12px;background:var(--paper);border:var(--line)}
.story-panels{position:absolute;left:6%;right:6%;top:13%;height:24%;z-index:4;opacity:calc(1 - var(--departure))}.story-panel{position:absolute;inset:0;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto auto;column-gap:7%;align-content:start;transform:translateY(var(--chapter-x,0px));opacity:var(--chapter-opacity,1);pointer-events:none}.story-panel.is-active{pointer-events:auto}.chapter-eyebrow{grid-column:1;font-size:.875rem;font-weight:700;letter-spacing:1px;display:flex;align-items:center;gap:12px;margin:0 0 15px}.chapter-eyebrow>span{font-family:Pixel,monospace;font-size:.875rem;background:var(--orange);color:white;box-shadow:3px 3px var(--ink);border:var(--line);padding:11px 9px}.story-panel h1,.story-panel h2{grid-column:1;grid-row:2 / 4;font-size:clamp(2.5rem,5vw,5.3rem);letter-spacing:-3px;line-height:1.02;margin:0;font-weight:700}.story-panel h1 em,.story-panel h2 em{font-style:normal;color:var(--blue);text-shadow:3px 3px 0 var(--paper)}.story-lead{grid-column:2;grid-row:1;font-size:1.375rem;font-weight:700;line-height:1.4;margin:0 0 12px}.story-copy{grid-column:2;grid-row:2;font-size:1.2rem;line-height:1.55;margin:0 0 18px;max-width:600px}.story-actions,.story-panel>.text-button{grid-column:2;grid-row:3;justify-self:start}.story-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.story-checks,.scroll-hint{display:none}.pixel-button{border:var(--line);box-shadow:5px 5px var(--ink);font-weight:bold;font-size:1.125rem;line-height:1.4;padding:14px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:52px;transition:transform .15s,box-shadow .15s}.primary{background:var(--orange);color:white}.pixel-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px var(--ink)}.pixel-button:active{transform:translate(3px,3px);box-shadow:2px 2px var(--ink)}.text-button{font-size:1.0625rem;font-weight:bold;line-height:1.5;padding:5px 0;border:0;border-bottom:2px solid;background:transparent;text-align:left}.text-button span{margin-left:10px}
.world-panel{position:static}.world-slot,.scene-halo,.scene-note{display:none}.continuous-world{position:absolute!important;z-index:1;margin:0;touch-action:pan-y}.world canvas{display:block;width:100%;height:100%;position:absolute;inset:0;image-rendering:pixelated}.scene-fallback{position:absolute;inset:10%;display:flex;flex-direction:column;align-items:center;justify-content:center}.scene-fallback img{width:180px;max-height:70%;object-fit:contain}.scene-fallback p{font-size:1.2rem}.world.ready .scene-fallback{display:none}.world-topline{position:absolute;left:4%;top:42%;z-index:3;display:flex;gap:10px;align-items:center;opacity:calc(1 - var(--departure))}.level-label{font:700 .875rem Space,sans-serif;border:var(--line);background:var(--paper);padding:10px 14px;box-shadow:3px 3px var(--ink);max-width:300px;line-height:1.5}.small-control{border:var(--line);background:var(--lime);width:44px;box-shadow:3px 3px var(--ink);font-size:1.1rem}.world-bottom{position:absolute;right:4%;bottom:175px;display:flex;gap:12px;align-items:center;z-index:4;opacity:calc(1 - var(--departure))}.rotate-controls{display:flex;gap:6px}.rotate-controls button{background:var(--paper);border:var(--line);width:44px;font-size:1.5rem}.rotate-controls span{display:none}.clean-button{padding:11px 16px;font-weight:bold;background:var(--lime);border:var(--line);box-shadow:4px 4px var(--ink);font-size:1rem}.sparkle-message{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);font-family:Pixel,monospace;font-size:1rem;line-height:1.9;text-align:center;white-space:nowrap;padding:20px;background:var(--lime);border:var(--line);box-shadow:7px 7px var(--ink);z-index:5;opacity:0;pointer-events:none}.sparkle-message.show{animation:score 3s both}@keyframes score{0%{opacity:0;scale:.8}12%,80%{opacity:1;scale:1}100%{opacity:0;translate:0 -15px}}
.route-controls{position:absolute;bottom:16px;left:4%;right:4%;background:var(--paper);border:var(--line);box-shadow:6px 6px var(--ink);padding:10px 18px;z-index:5}.route-topline{display:none}.route-stops{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:10px}.route-stops button{display:flex;gap:10px;align-items:center;text-align:left;font-size:.9375rem;line-height:1.3;padding:0;min-height:35px}.route-stops button>span{display:grid;place-items:center;flex-shrink:0;font:bold .875rem monospace;border:var(--line);width:30px;height:30px;background:#fff}.route-stops button[aria-current]{font-weight:bold;color:var(--blue)}.route-stops button[aria-current]>span{background:var(--lime);box-shadow:2px 2px var(--ink);color:var(--ink)}.route-stops button.is-complete>span{background:#3D9135;color:#fff}.journey-progress{height:6px;background:#14234c20;overflow:hidden}.journey-progress>div{height:100%;width:0;background:var(--orange)}.journey-buttons{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}.route-button{border:var(--line);background:var(--paper);font-size:1rem;font-weight:bold;padding:8px 15px;display:flex;align-items:center;gap:20px}.route-button.forward{background:var(--blue);color:white}.road-message{position:absolute;left:5%;top:25%;max-width:29%;padding:25px;background:var(--lime);border:var(--line);box-shadow:7px 7px var(--ink);z-index:4;visibility:hidden;opacity:0;transform:rotate(-2deg)}.road-message h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-1px;line-height:1.12;margin:15px 0 25px}.on-open-road .road-message{visibility:visible;opacity:1}.on-open-road .story-panels,.on-open-road .world-topline,.on-open-road .world-bottom{visibility:hidden;pointer-events:none}.on-open-road .route-stops{display:none}
.services-overview{padding:90px 6%;background:var(--lime);border-top:3px solid var(--ink)}.overview-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.section-kicker{font-family:monospace;font-size:.9375rem;letter-spacing:1px;font-weight:bold;line-height:1.5;margin:0 0 18px}.overview-heading h2{font-size:clamp(3rem,6vw,6rem);letter-spacing:-3px;line-height:1;margin:0}.overview-heading>p{font-size:1.4rem;line-height:1.6;margin:0;max-width:500px}.service-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-shortcuts button{background:var(--paper);border:var(--line);box-shadow:6px 6px var(--ink);padding:28px;display:flex;flex-direction:column;align-items:start;gap:15px;position:relative;text-align:left}.service-shortcuts button:nth-child(2){background:#A6DFFF}.service-shortcuts button:nth-child(3){background:#FBB6A2}.service-shortcuts button:hover{transform:translateY(-4px)}.shortcut-icon{font-size:2rem;color:var(--blue)}.service-shortcuts strong{font-size:1.5rem;line-height:1.3}.service-shortcuts button>span:not(.shortcut-icon):not(.shortcut-arrow){font-size:1.125rem;line-height:1.5}.shortcut-arrow{position:absolute;right:22px;top:20px;font-size:1.75rem}.closing-line{border-top:var(--line);margin-top:60px;padding-top:35px;display:flex;justify-content:space-between;align-items:center;gap:35px}.closing-line p{font-size:1.2rem;line-height:1.7;margin:0}.closing-line strong{font-size:1.7rem}footer{background:var(--ink);color:var(--paper);padding:28px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:.875rem;line-height:1.6}footer button{background:transparent;color:white;border:1px solid white;padding:10px 15px;font-size:1rem}footer button span{margin-right:10px}.no-script{padding:40px;font-size:1.2rem;line-height:1.6}
/* Playful windows, readable service details. */
dialog{width:880px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 40px);padding:0;overflow:hidden;border:3px solid var(--ink);box-shadow:9px 9px var(--ink);background:var(--paper);color:var(--ink)}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#14234c99;backdrop-filter:blur(4px)}.window-titlebar{display:flex;align-items:center;gap:12px;background:var(--blue);color:white;padding:10px 14px;border-bottom:3px solid var(--ink);font:1rem monospace;flex-shrink:0}.window-dot{width:14px;height:14px;background:var(--lime);border:1px solid var(--ink)}.window-titlebar button{margin-left:auto;width:44px;min-width:44px;font-size:1.8rem;border:var(--line);background:var(--paper)}.window-content{padding:38px;overflow:auto;overscroll-behavior:contain}.window-kicker{font:700 .9375rem monospace;color:var(--blue);line-height:1.5}.window-content h2{font-size:2.75rem;letter-spacing:-1px;line-height:1.15;margin:14px 0 24px}.window-content h3{font-size:1.5rem;line-height:1.3}.window-content p{font-size:1.25rem;line-height:1.65;margin:0 0 24px}.window-footer{display:flex;justify-content:space-between;gap:20px;padding:13px 16px;background:var(--lime);border-top:var(--line);font-size:.875rem;flex-shrink:0}.service-list,.difference-list{list-style:none;padding:0;margin:28px 0}.service-list li{position:relative;padding:15px 0 15px 30px;border-top:1px solid #14234c40;font-size:1.2rem;line-height:1.5}.service-list li::before{content:'+';position:absolute;left:0;font-size:1.5rem;color:var(--blue)}.difference-list li{font-size:1.25rem;line-height:1.5;display:flex;gap:15px;margin:14px 0}.difference-list li::before{content:'✓';font-weight:bold;color:var(--blue)}.window-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:var(--line);padding-top:28px}.window-cta p{font-size:1.125rem;margin:0}.plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}.plan-card{border:var(--line);box-shadow:4px 4px var(--ink);padding:24px;background:#A6DFFF}.plan-card:nth-child(2){background:#FFDF42}.plan-card:nth-child(3){background:#CEF2AE}.plan-card:nth-child(4){background:#FBB6A2}.plan-id{font:700 .9375rem monospace}.plan-card h3{margin:18px 0 12px}.plan-card p{font-size:1.125rem;margin:0}.note-box{background:#CEF2AE;border:var(--line);padding:24px;font-size:1.2rem;line-height:1.65;margin:28px 0}.about-top{display:grid;grid-template-columns:1fr 150px;gap:24px}.about-logo{width:150px;max-width:100%;border:var(--line)}.contact-details{display:flex;gap:20px;align-items:center;padding:24px;border:var(--line);background:var(--lime);margin:26px 0}.contact-details>span{font-size:2rem}.contact-details p{margin:0}.contact-details small{display:block;font-size:1.125rem;margin-top:8px}.contact-list{font-size:1.2rem;line-height:1.8;padding-left:25px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--lime);border:var(--line);box-shadow:4px 4px var(--ink);padding:16px 24px;font-size:1.125rem;opacity:0;z-index:30;pointer-events:none}.toast.show{opacity:1}
@media(max-width:1100px){.top-location{display:none}.story-panel h1,.story-panel h2{font-size:3.4rem}.story-copy{font-size:1.125rem}.story-actions{gap:14px}.story-actions .pixel-button{padding:10px 15px;font-size:1rem}.story-lead{font-size:1.2rem}.route-stops{gap:6px}.route-stops button{font-size:.875rem;gap:6px}.level-label{max-width:240px}}
@media(max-width:760px){
 .topbar{padding:16px 5%;min-height:80px;gap:15px}.wordmark{font-size:1rem}.wordmark small{font-size:.75rem}.topbar nav>button:not(.nav-contact){display:none}.nav-contact{padding:9px 12px;font-size:1rem}.nav-contact span{margin-left:8px}.journey{height:800svh}.journey-heading{top:12px;left:5%;right:5%;font-size:.875rem;letter-spacing:0}.journey-heading>span:first-child{padding:8px 10px}.journey-heading>span:last-child{display:none}
 .story-panels{top:10%;left:6%;right:6%;height:32%;overflow:hidden}.story-panel{display:block;overflow:auto;padding:0 4px 12px}.chapter-eyebrow{font-size:.875rem;margin-bottom:12px;letter-spacing:0}.chapter-eyebrow>span{padding:7px;font-size:.875rem}.story-panel h1,.story-panel h2{font-size:clamp(2.5rem,10vw,3.5rem);letter-spacing:-1.7px;line-height:1.05;margin:0 0 14px}.story-lead{font-size:1.2rem;line-height:1.4;margin-bottom:10px}.story-copy{font-size:1.125rem;line-height:1.5;margin-bottom:15px}.story-actions{gap:16px}.story-actions .pixel-button{font-size:1rem}.text-button{font-size:1rem}
 .world-topline{top:45%;left:5%}.level-label{display:none}.world-bottom{bottom:143px;right:5%}.rotate-controls{display:none}.clean-button{padding:9px 12px;font-size:.9375rem}.route-controls{bottom:12px;left:4%;right:4%;padding:9px}.route-stops{gap:4px;margin-bottom:8px}.route-stops button{font-size:0;justify-content:center}.route-stops button>span{font-size:.9375rem;width:35px;height:33px}.journey-buttons{gap:8px;margin-top:8px}.route-button{font-size:.875rem;padding:7px 9px;gap:6px}.road-message{top:15%;left:4%;max-width:43%;padding:14px;box-shadow:4px 4px var(--ink)}.road-message h2{font-size:1.45rem;letter-spacing:-.5px;margin:10px 0 16px}.road-message .section-kicker{font-size:.875rem;letter-spacing:0}.road-message .pixel-button{padding:8px 10px;font-size:1rem;min-height:44px;gap:6px}.sparkle-message{font-size:.875rem;padding:15px}
 .services-overview{padding:55px 6%}.overview-heading{display:block;margin-bottom:35px}.overview-heading h2{font-size:3.5rem;letter-spacing:-2px;margin-bottom:25px}.overview-heading>p{font-size:1.25rem}.service-shortcuts{grid-template-columns:1fr;gap:24px}.service-shortcuts button{padding:25px}.closing-line{display:block;margin-top:45px}.closing-line p{margin-bottom:25px;font-size:1.2rem}.closing-line strong{font-size:1.55rem}footer{flex-wrap:wrap;padding:24px 5%;gap:15px}footer>span:nth-child(2){display:none}
 dialog{max-width:calc(100vw - 22px);max-height:calc(100dvh - 28px);box-shadow:5px 5px var(--ink)}.window-titlebar{font-size:.875rem;padding:8px}.window-dot{display:none}.window-content{padding:26px 22px}.window-content h2{font-size:2.125rem;line-height:1.15}.window-content p{font-size:1.2rem}.window-cta{display:block}.window-cta p{margin-bottom:22px}.plan-grid{grid-template-columns:1fr}.about-top{grid-template-columns:1fr}.about-logo{width:130px;margin-bottom:15px}.window-footer span:last-child{display:none}.service-list li{font-size:1.125rem}.contact-details{padding:20px}.note-box{padding:20px;font-size:1.125rem}
}
@media(max-height:760px) and (min-width:761px){.story-panels{top:13%;height:25%;overflow:auto}.story-panel h1,.story-panel h2{font-size:2.8rem}.story-lead{font-size:1.125rem}.story-copy{font-size:1rem}.chapter-eyebrow{margin-bottom:8px}.story-actions .pixel-button{padding:8px 12px;min-height:44px}.world-topline{top:44%}.route-stops{display:none}.world-bottom{bottom:100px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.story-panel{transform:none;opacity:0}.story-panel.is-active{opacity:1}.sparkle-message.show{opacity:1}}

.contact-details p{min-width:0}.contact-details a{overflow-wrap:anywhere;text-underline-offset:4px}

/* A second, lightweight drive between the service cards and closing invitation. */
.footer-road{position:relative;height:170px;margin:32px -6.82% 0;overflow:hidden}
.footer-road canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
.footer-road button{position:absolute;top:0;right:6%;background:var(--paper);border:var(--line);padding:6px 12px;font-size:.875rem;z-index:1}
.footer-road + .closing-line{margin-top:12px;border-top:0;padding-top:15px}
@media(max-width:760px){.footer-road{height:145px;margin-top:28px}.chapter-eyebrow{flex-wrap:wrap}}

/* A slow day/night sky above the services, with controls shared by all motion. */
.services-overview{position:relative;isolation:isolate;padding-top:190px;overflow:hidden}
.services-sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;image-rendering:pixelated}
.services-overview.is-night .overview-heading,.services-overview.is-night .closing-line{color:#fff9df}
.services-overview.is-night .closing-line{border-color:#fff9df}
.services-overview .service-shortcuts button,.services-overview .footer-road button{color:var(--ink)}

.services-overview .overview-heading,.services-overview .closing-line{color:#000}
.services-overview.is-night .overview-heading,.services-overview.is-night .closing-line{color:#fff}
