@font-face{font-family:Space;src:url('assets/space-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Space;src:url('assets/space-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Mono;src:url('assets/mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#0b0c14;--paper:#f2f3f8;--accent:#96a1ff;--muted:#9396a8;--line:#2b2e40;--pad:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Space,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.contact a:focus-visible{outline-color:var(--ink)}::selection{background:var(--accent);color:var(--ink)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.04;letter-spacing:-.055em}.mono,.eyebrow{font-family:Mono,monospace;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.035em}.eyebrow{font-size:13px}.muted{color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;z-index:99;background:var(--accent);color:var(--ink);padding:12px}.skip:focus{top:20px}.header{height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--ink)}.brand{display:flex;align-items:center;gap:12px;font-size:28px;font-weight:700;letter-spacing:-1.4px;line-height:1}.brand-sub{display:block;margin-top:7px;font:10px Mono,monospace;letter-spacing:1.2px}.brand-mark{font-size:40px;font-style:italic;color:var(--accent);position:relative;line-height:1;width:35px}.brand-mark span{position:absolute;right:-1px;top:-8px;font-size:23px}.nav{display:flex;gap:35px}.nav a{font-size:14px}.nav a span{vertical-align:super;color:var(--muted);font:10px Mono,monospace;margin-left:4px}.nav a:hover,.text-link:hover{color:var(--accent)}.header-cta{display:flex;gap:35px;align-items:center;border-bottom:1px solid var(--paper);font-size:14px;padding:8px 0}.header-cta span{font-size:24px;color:var(--accent)}.menu-button{display:none;background:transparent}.hero{position:relative;padding:30px var(--pad) 0;overflow:hidden;min-height:710px}.hero-top{display:flex;justify-content:space-between;color:#b9bdcf;position:relative;z-index:2}.hero-top>span:first-child{display:flex;align-items:center;gap:10px}.status-dot{height:7px;width:7px;display:inline-block;background:var(--accent);border-radius:50%;box-shadow:0 0 14px #616bff66}.hero-copy{padding:76px 0 66px;position:relative;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy>.eyebrow{color:var(--accent);margin-bottom:22px}.hero h1{font-size:clamp(80px,8.8vw,148px);line-height:.94;letter-spacing:-.072em;max-width:920px}.outline{color:transparent;-webkit-text-stroke:1.5px var(--paper)}.period{font-size:.6em;display:inline-block;color:var(--accent);vertical-align:top;margin-left:22px;transform:translateY(14px)}.hero-description{font-size:17px;color:#b6bacd;max-width:440px;margin-top:30px;line-height:1.65}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{min-height:55px;display:inline-flex;gap:35px;align-items:center;justify-content:space-between;padding:14px 23px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#444cde;transform:translateY(-3px)}.primary{background:var(--accent);color:var(--ink)}.button span{font-size:24px;line-height:1}.text-link{font-size:14px;border-bottom:1px solid #616a8c;padding-bottom:5px;display:inline-flex;align-items:center;gap:18px;transition:color .2s}.text-link span{font-size:22px;line-height:1}.signal{position:absolute;right:1.8%;top:85px;width:49%;height:490px;opacity:.95}.signal canvas{width:100%;height:100%;display:block}.signal-coordinate{position:absolute;right:6%;top:8%;color:#8d93b0;font-size:10px;line-height:1.8}.signal-cross{position:absolute;font-size:24px;color:#626986}.cross-one{top:13%;left:12%}.cross-two{bottom:7%;right:8%}.signal-footer{position:absolute;bottom:0;right:8%;left:12%;display:flex;align-items:center;justify-content:space-between;color:#8d93b0;font-size:10px}.signal-bars{color:var(--accent);font-size:20px;letter-spacing:4px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);min-height:70px;color:#a7acc1;position:relative;z-index:2}.scroll-link{display:flex;align-items:center;gap:25px}.scroll-link span{font-size:24px;color:var(--accent)}.motion-toggle{background:transparent;padding:12px 0;color:#a7acc1;font-size:12px}.motion-toggle span{color:var(--accent);margin-left:10px}.ticker{background:var(--accent);color:var(--ink);overflow:hidden;transform:rotate(-1.2deg);width:calc(100% + 4px);margin:24px -2px 0;position:relative;z-index:3}.ticker-track{display:flex;width:max-content;animation:marquee 36s linear infinite}.ticker-track>span{font-size:20px;font-weight:700;letter-spacing:-.4px;white-space:nowrap;padding:13px 0}.ticker b{font-weight:400;margin:0 38px;font-size:26px;vertical-align:middle}.section{padding:110px var(--pad)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:60px}.section-index{color:var(--muted);margin-right:15px}.section h2{font-size:clamp(42px,4.8vw,76px);line-height:1.06}.section-heading>div>p{color:#a7acc1;margin-top:25px;font-size:16px}.service{border-top:1px solid var(--line);transition:background .2s}.service:last-child{border-bottom:1px solid var(--line)}.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:10% 1fr 55px;align-items:center;gap:20px;padding:33px 0}.service summary::-webkit-details-marker{display:none}.service-no{color:var(--muted)}.service-title{font-size:clamp(23px,2.8vw,42px);font-weight:700;letter-spacing:-.045em;line-height:1.12}.service-category{display:block;color:var(--muted);margin-top:10px;font-size:10px;letter-spacing:.065em}.service-toggle{border:1px solid #454c68;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:28px;font-weight:400;transition:transform .25s,background .25s}.service[open] .service-toggle{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:rotate(45deg)}.service summary:hover .service-title,.service[open] .service-no{color:var(--accent)}.service-body{padding:0 0 40px  calc(10% + 20px);display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:40px}.service-description>p{font-size:16px;line-height:1.7;color:#adb2c9;margin-bottom:25px}.service-description .text-link{font-size:13px;gap:12px;color:var(--accent)}.feature-list{list-style:none;margin:0;padding:0}.feature-list li{padding:8px 0;border-bottom:1px solid #272b3e;font-size:14px;color:#c9cddd}.feature-list li:before{content:'↗';margin-right:10px;color:var(--accent)}.service-diagram,.service-note{border-left:1px solid var(--line);padding-left:27px}.service-diagram>.mono,.service-note>.mono{font-size:10px;color:var(--muted)}.service-diagram>div{display:grid;grid-template-columns:22px 1fr;gap:3px 12px;margin-top:14px;font-size:13px}.service-diagram b{font:10px Mono;color:var(--accent);align-self:center}.service-diagram i{grid-column:2;color:#616c9c;font-style:normal}.service-note>p{color:var(--accent);font-size:25px;letter-spacing:-.8px;line-height:1.2;margin-top:18px}.solutions-foot{display:flex;justify-content:flex-end;gap:15px;margin-top:28px;color:var(--muted);font-size:11px}.solutions-foot a{color:var(--paper)}.people{background:var(--paper);color:var(--ink);padding-top:65px;padding-bottom:75px}.people-label{border-bottom:1px solid #cccfdf;padding-bottom:22px}.people-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;margin-top:38px}.people h2{font-size:35px;line-height:1.13}.people-grid>div>p{color:#525970;max-width:380px;margin-top:22px}.audiences{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px}.audiences .mono{color:#59617c}.audiences h3{font-size:24px;margin-top:27px;letter-spacing:-.8px}.audiences p{font-size:14px;line-height:1.7;margin-top:16px;color:#525970}.company-top,.contact-top{display:flex;justify-content:space-between;gap:25px;margin-bottom:43px}.company-top>.mono{color:var(--muted)}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:62px;align-items:start}.company-image{position:relative;padding-top:18px}.company-image:before{content:'';position:absolute;top:0;left:0;width:62px;height:3px;background:var(--accent)}.company-image img{width:100%;height:auto;display:block;filter:grayscale(1);aspect-ratio:1.05;object-fit:cover}.company-image figcaption{padding-top:18px;color:var(--muted);font-size:10px}.company-story>.lead{font-size:27px;color:var(--paper);letter-spacing:-1px;line-height:1.2}.company-story>p{color:#a7acc1;margin-top:23px;font-size:16px}.company-story>.lead{margin-top:14px}.principles{margin-top:34px}.principles>div{border-top:1px solid var(--line);display:grid;grid-template-columns:30px 1fr;gap:8px 16px;padding:20px 0}.principles .mono{color:var(--accent);padding-top:2px}.principles h3{font-size:19px;letter-spacing:-.5px}.principles p{grid-column:2;color:var(--muted);font-size:14px;max-width:370px}.contact{background:var(--accent);color:var(--ink);padding-top:55px;padding-bottom:58px}.contact-top{border-bottom:1px solid #515bc6;padding-bottom:22px}.contact .section-index{color:#c3c8ff}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-heading h2{font-size:clamp(62px,7.8vw,125px);letter-spacing:-.065em;line-height:.99}.contact-heading h2>span{text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:2px}.contact-arrow{font-size:110px;border:1px solid #7882ed;border-radius:50%;width:175px;height:175px;display:grid;place-items:center;line-height:1;flex-shrink:0;transition:background .2s,transform .2s}.contact-arrow:hover{background:var(--ink);color:var(--accent);transform:rotate(8deg)}.contact-bottom{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:35px;border-top:1px solid #515bc6;margin-top:60px;padding-top:30px}.contact-bottom>p{font-size:16px;color:#e0e3ff;max-width:310px}.contact-channel{display:flex;flex-direction:column;align-items:flex-start}.contact-channel>.mono{font-size:10px;margin-bottom:12px;color:#c8ceff}.contact-channel>a{font-size:18px;letter-spacing:-.5px;line-height:1.9}.contact-channel>a:hover{text-decoration:underline}.contact-channel>a>span{font-size:16px;margin-left:18px}.contact-location{font-size:14px;margin-top:8px;color:#e0e3ff}.footer{padding:58px var(--pad) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:45px}.footer-wordmark{font-size:clamp(64px,12vw,190px);line-height:1;font-weight:700;letter-spacing:-.08em}.footer-wordmark>span{font-size:.6em;color:var(--accent);display:inline-block;vertical-align:top;margin:5px 0 0 17px}.footer-top>p{color:var(--muted);font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px}.footer-bottom a{color:var(--paper)}.motion-paused .ticker-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero{min-height:820px}.hero-copy{padding-top:95px;padding-bottom:80px}.signal{height:580px}.hero-description{font-size:19px;max-width:490px}}
@media(max-width:1100px){.hero h1{font-size:100px}.signal{right:-12%;width:62%;opacity:.6}.hero-copy{padding-top:65px}.hero-edition{display:none}.service-body{grid-template-columns:1fr 1fr;gap:30px}.service-diagram,.service-note{display:none}.people-grid{grid-template-columns:1fr;gap:35px}.people-grid>div>p{max-width:600px}.company-grid{gap:6%}.contact-arrow{width:135px;height:135px;font-size:90px}.contact-bottom{grid-template-columns:1fr 1fr}.contact-bottom>p{grid-column:1/-1;max-width:none}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:83px;gap:18px}.brand{font-size:23px}.brand-sub{font-size:8px}.brand-mark{font-size:35px;width:30px}.header-cta{margin-left:auto;gap:15px;font-size:13px}.menu-button{display:block;font:12px Mono;padding:12px 0}.menu-button span{color:var(--accent);font-size:18px;margin-left:6px}.nav{display:none;position:absolute;left:0;right:0;top:82px;padding:25px var(--pad);background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;gap:22px}.nav.is-open{display:flex}.hero{min-height:0;padding-top:24px}.hero-top{font-size:9px}.hero-top>span:first-child{gap:7px}.hero-copy{padding:58px 0 38px}.hero-copy>.eyebrow{font-size:10px;margin-bottom:20px}.hero h1{font-size:clamp(62px,12.4vw,92px);letter-spacing:-.07em}.period{margin-left:12px}.hero-description{font-size:16px;max-width:380px;margin-top:25px}.hero-actions{gap:23px;margin-top:27px;align-items:flex-start;flex-direction:column}.signal{right:-33%;top:93px;width:95%;height:350px;opacity:.26;pointer-events:none}.signal-coordinate,.signal-footer,.signal-cross{display:none}.hero-copy{background:linear-gradient(90deg,var(--ink) 0%,transparent 95%)}.hero-bottom{min-height:70px;gap:12px}.hero-bottom>.mono{display:none}.hero-bottom .mono{font-size:9px}.scroll-link{gap:13px}.ticker{margin-top:15px}.ticker-track>span{font-size:16px;padding:9px 0}.ticker b{margin:0 23px;font-size:23px}.section{padding-top:70px;padding-bottom:70px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section h2{font-size:45px}.section-heading>div>p{font-size:15px}.section-heading br:not(h2 br){display:none}.eyebrow{font-size:11px}.service summary{grid-template-columns:24px 1fr 37px;gap:13px;padding:26px 0}.service-title{font-size:26px}.service-category{font-size:8px;line-height:1.6;letter-spacing:0;max-width:220px}.service-toggle{width:35px;height:35px;font-size:23px}.service-body{padding:0 0 32px 37px;grid-template-columns:1fr;gap:20px}.service-description>p{font-size:15px;margin-bottom:20px}.feature-list li{font-size:13px}.solutions-foot{font-size:9px;flex-direction:column;gap:4px;align-items:flex-start}.people{padding-top:40px;padding-bottom:42px}.people h2{font-size:34px}.people-grid{gap:30px}.audiences{grid-template-columns:1fr;gap:0}.audiences>div{display:grid;grid-template-columns:30px 1fr 1.25fr;gap:12px;padding:22px 0;border-top:1px solid #cccfdf;align-items:start}.audiences h3{margin:0;font-size:22px}.audiences p{margin:0;font-size:13px}.audiences .mono{font-size:10px}.company-top{margin-bottom:28px}.company-top>.mono{display:none}.company-grid{grid-template-columns:1fr;gap:25px;margin-top:35px}.company-image img{aspect-ratio:1.4}.company-story>.lead{font-size:25px}.company-story>p{font-size:15px}.contact{padding-top:35px;padding-bottom:38px}.contact-top{margin-bottom:32px}.contact-top>.mono{display:none}.contact-heading{gap:15px;align-items:flex-end}.contact-heading h2{font-size:clamp(45px,8.8vw,68px)}.contact-heading h2>span{text-underline-offset:5px}.contact-arrow{width:64px;height:64px;font-size:44px}.contact-bottom{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:25px}.contact-bottom>p{font-size:15px}.contact-channel>a{font-size:20px}.footer{padding-top:35px}.footer-top{display:block;padding-bottom:28px}.footer-wordmark{font-size:clamp(62px,15vw,112px)}.footer-top>p{font-size:12px;margin-top:25px}.footer-top>p br{display:none}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:15px}.footer-bottom>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*,*:before,*:after{transition:none!important}.signal{opacity:.45}}

/* Sorfware identity: royal blue, signal red and cool silver. */
:root{--brand-blue:#2726ad;--brand-red:#ff3828;--silver:#e1e4ed}
.brand-logo{width:44px;height:55px;object-fit:contain;flex-shrink:0;background:#fff}
.footer-wordmark{display:flex;align-items:center;gap:22px}
.footer-logo{width:clamp(45px,7vw,100px);height:auto;flex-shrink:0;background:#fff}
.footer-wordmark>span{margin-left:0}
.status-dot{background:var(--brand-red);box-shadow:0 0 14px #ff382855}
.period,.header-cta span,.footer-wordmark>span{color:var(--brand-red)}
.primary{background:var(--brand-blue);color:#fff}
.ticker{background:var(--brand-red);color:#fff}
.contact{background:var(--brand-blue);color:#fff}
.contact a:focus-visible{outline-color:#fff}
.contact-arrow:hover{background:#fff;color:var(--brand-blue)}
.contact-heading h2>span{text-decoration-color:#ff6a5c}
.company-image:before{background:var(--brand-red)}
.signal-bars{color:#ff6a5c}
@media(max-width:760px){.brand-logo{width:34px;height:43px}.brand{gap:9px}.footer-wordmark{font-size:clamp(47px,11.5vw,88px);gap:12px}.footer-wordmark>span{margin-top:0}}

/* School product and package comparison. */
.service-body{grid-template-columns:1.3fr 1fr;gap:60px}
.school-proof{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}
.proof-count{display:flex;flex-direction:column}.proof-count strong{font-size:clamp(90px,12vw,180px);letter-spacing:-.08em;line-height:1}.proof-count strong span{color:var(--brand-blue)}.proof-count>.mono{margin-top:20px;color:#525970}
.school-proof h2{margin:18px 0;font-size:clamp(36px,4vw,60px)}.school-proof p:not(.eyebrow){max-width:530px;color:#525970}
.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.package{padding:40px;border:1px solid var(--line);display:flex;align-items:flex-start;flex-direction:column}.package-premium{border-top:4px solid var(--brand-red);background:#17192b;padding-top:37px}.package>.eyebrow{color:var(--accent)}.package h3{font-size:36px;margin-top:22px}.price{font-size:clamp(48px,5vw,76px);line-height:1.2;letter-spacing:-.06em;margin-top:25px}.billing-note{font-size:13px;color:#abb0c7;margin-top:8px}.package-description{color:#b6bacd;margin:28px 0;max-width:410px}.package .button{margin-top:auto;width:100%}.premium-inclusions{list-style:none;padding:0;margin:28px 0}.premium-inclusions li{border-top:1px solid #3c415c;padding:20px 0}.premium-inclusions strong{display:block;font-size:18px;line-height:1.4}.premium-inclusions span{display:block;color:#b6bacd;margin-top:8px;font-size:15px}
@media(max-width:760px){.hero h1{font-size:clamp(50px,10.5vw,78px)}.service-body{grid-template-columns:1fr;gap:20px}.school-proof{grid-template-columns:1fr;gap:35px}.package-grid{grid-template-columns:1fr}.package{padding:28px}.package h3{font-size:30px}.package .button{font-size:13px;gap:14px}.package-premium{padding-top:25px}}
