/* Horizontal editorial experience, 2026 */
:root{--copper:#64baff;--ink:#dceaff;--cream:#081a36}
html,body{height:100%;overflow:hidden}
body{background:#06152d;color:#eaf4ff}
.top{position:fixed;top:0;left:0;right:0;z-index:30;background:#06142be8;backdrop-filter:blur(20px)}
.header{position:fixed;top:42px;z-index:29;background:#081d3b90;backdrop-filter:blur(20px);border-bottom-color:#8fc8ff22}
.nav{height:76px}.navcta{border-radius:100px;background:#298bff25;border-color:#79c2ff88}.mark{border-radius:9px}
main{height:100dvh;width:100vw;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}
main::-webkit-scrollbar{display:none}
main>section{flex:0 0 100vw;width:100vw;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-snap-align:start;scroll-snap-stop:always;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#4b8cd2 transparent;position:relative}
main>section .container{max-width:1340px}
.hero{min-height:0}.hero::before{background:linear-gradient(100deg,#04132af5 5%,#09295acb 46%,#0b2e6559 100%),url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=1800&q=85') center/cover}
.hero::after{border-color:#6bbaff44;box-shadow:0 0 0 75px #2b8cf00b,0 0 0 150px #3f9cf008;animation:orbit 16s ease-in-out infinite alternate}
.hero-content{padding-top:210px}.hero h1{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.075em;line-height:1.03}.hero h1 em{font-style:normal;color:#70bfff}
.eyebrow{color:#65bdff}.btn{border-radius:100px}.primary{background:linear-gradient(125deg,#76c9ff,#2384f5);color:#051c3b;box-shadow:0 12px 40px #2384f544}.outline{border-color:#a6d7ff77}
.section,.dark-section{padding:168px 0 100px;min-height:100dvh}.section h2,.dark-section h2{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.065em}
main>section:not(.hero){background:radial-gradient(ellipse at 80% 5%,#184a8252,transparent 45%),linear-gradient(145deg,#071932,#0e2a4d 70%,#071932);color:#eaf4ff}
.section-head>p,.about-copy>p,.service p,.section .stat span{color:#aabfda}.stat{border-color:#ffffff25}.stats{border-color:#ffffff25}
.service{background:#13355b99;color:#eaf4ff;border:1px solid #8cc8ff29;border-radius:24px;backdrop-filter:blur(15px);min-height:275px;transition:transform .35s,background .35s,box-shadow .35s}.service:hover{background:#1d5184;box-shadow:0 26px 70px #0005;transform:translateY(-9px)}.service p{color:#a9c2dc}.service h3{font-family:Manrope,Arial,sans-serif;font-weight:750;letter-spacing:-.05em}
.service.wide{background:linear-gradient(110deg,#0d386be8,#174e81af),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=1200&q=80') center/cover}
.about-list li{border-color:#ffffff24}.about-list li:before{color:#67bfff}.photo{border-radius:26px;overflow:visible;box-shadow:0 30px 80px #0005}.photo-badge{background:#4a9eff;color:#fff;border-radius:18px}
.dark-section .step,.article,.contact-panel{border-radius:22px}.quote{display:flex;align-items:center;padding:170px 0}.quote blockquote{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-.055em}
.contact{padding-bottom:125px}.footer{position:fixed;bottom:0;z-index:12;right:0;left:0;background:#06162ac9;border-top:1px solid #ffffff1d;backdrop-filter:blur(16px);padding:10px 0;font-size:10px;color:#b1c7dd}
.footer .container{gap:12px}
.slide-progress{position:fixed;bottom:52px;left:50%;transform:translateX(-50%);z-index:35;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #ffffff2a;background:#05162dcc;backdrop-filter:blur(25px);border-radius:100px;box-shadow:0 15px 45px #0005}
.slide-dot{width:7px;height:7px;border:0;border-radius:12px;background:#84a8cd70;padding:0;transition:width .35s,background .35s}.slide-dot[aria-current=true]{width:32px;background:#6ec5ff}
.slide-control{width:34px;height:34px;color:#fff;background:#ffffff14;border:1px solid #ffffff30;border-radius:50%;font-size:20px;display:grid;place-items:center}.slide-control:disabled{opacity:.3;cursor:default}
.slide-label{color:#b4d3ef;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.14em;margin:0 6px;min-width:30px;text-align:center}
.slide-hint{position:fixed;right:32px;bottom:65px;color:#b9dafa99;font:700 10px Manrope,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;z-index:20}
main>section .reveal{transition:transform .8s cubic-bezier(.2,.7,.1,1),opacity .8s}.hero-content>*{animation:slideIn .85s both}.hero-content>*:nth-child(2){animation-delay:.12s}.hero-content>*:nth-child(3){animation-delay:.24s}.hero-content>*:nth-child(4){animation-delay:.36s}
@keyframes orbit{to{transform:translate(-45px,30px) scale(1.12)}}@keyframes slideIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.header{top:42px}.navlinks{background:#081b36f5;border:1px solid #a0caff25;border-radius:20px;left:18px;right:18px;top:68px}.hero-content{padding-top:195px}.section,.dark-section{padding:150px 0 100px}.slide-hint{display:none}.footer .container{justify-content:center}.footer .container>*:not(:first-child){display:none}}
@media(max-width:600px){.top{height:32px}.header{top:32px}.nav{height:65px}.hero-content{padding-top:155px}.hero h1{font-size:clamp(42px,11vw,65px)}.section,.dark-section{padding:125px 0 105px}.quote{padding:130px 0}.slide-progress{bottom:42px}.footer{padding:7px 0}.hero-foot{bottom:0}.hero-foot .container{padding-bottom:100px}.service{min-height:240px}.photo{height:370px}.contact-panel{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){main{scroll-behavior:auto}.hero-content>*,.hero::after{animation:none}.slide-dot,.service{transition:none}}
/* Legibility pass: consistent high contrast in every horizontal panel. */
main>section:not(.hero),main>section:not(.hero) .container{color:#f4f8ff}
main>section:not(.hero) h2,main>section:not(.hero) h3,main>section:not(.hero) blockquote,main>section:not(.hero) strong,main>section:not(.hero) li,main>section:not(.hero) .detail a{color:#fff}
main>section:not(.hero) p,main>section:not(.hero) small,main>section:not(.hero) .stat span,main>section:not(.hero) .section-head>p,main>section:not(.hero) .about-copy>p,main>section:not(.hero) .step p,main>section:not(.hero) .article small,main>section:not(.hero) .detail span{color:#d6e6fa}
.about-list li,.contact-details,.step,.article{border-color:#85baf044}
.dark-section .step,.article,.contact-panel{background:#12375a;border:1px solid #8dc8ff36;color:#f4f8ff}
.service p,.service:hover p,.service .number,.service:hover .number,.service.wide p{color:#dcecff}
.service h3,.service:hover h3{color:#fff}
.contact-panel p,.contact-panel small,.quote span,.hero p{color:#e3efff}
.article a,.textlink,.contact a{color:#9cdaff}
.top,.footer,.slide-hint{color:#e0ebfa}
.navlinks>a:not(.navcta){opacity:1;color:#f4f8ff}
.logo small{color:#b8dcff;letter-spacing:.11em;margin-top:-4px;font-size:9px}
.brand-symbol{width:46px;height:46px;flex:none;filter:drop-shadow(0 0 12px #259aff50)}
.brand-symbol+div{line-height:1.2}
@media(max-width:600px){.brand-symbol{width:38px;height:38px}.logo{font-size:18px}.logo small{font-size:7px}}
/* Brand image only: transparent mark without an added label or plaque. */
.logo{display:inline-flex;align-items:center;background:transparent;border:0;padding:0;box-shadow:none}
.logo>div:not(.mark){display:none!important}
.logo .brand-symbol{width:148px;height:72px;object-fit:contain;filter:none}
@media(max-width:600px){.logo .brand-symbol{width:108px;height:58px}}
/* The wheel switches screens; each screen remains independently scrollable by touch or scrollbar. */
main{touch-action:pan-x pan-y}
.site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#06152d;transition:opacity .7s ease,visibility .7s ease}
.site-loader img{width:clamp(150px,28vw,290px);height:auto;animation:brandPulse 1.15s ease-in-out infinite alternate;filter:drop-shadow(0 0 24px #339bff75)}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes brandPulse{from{transform:scale(.94);opacity:.78}to{transform:scale(1.06);opacity:1}}
@media(prefers-reduced-motion:reduce){.site-loader img{animation:none}.site-loader{transition:none}}
.logo .brand-symbol{width:170px;height:64px;display:block;object-fit:contain}
.nav .logo{height:100%;max-height:76px;align-self:center;overflow:visible}
.site-loader img{width:min(640px,86vw);max-height:70vh;object-fit:contain}
@media(max-width:600px){.logo .brand-symbol{width:126px;height:48px}.nav .logo{max-height:65px}.nav{gap:12px}}
/* Responsive experience: keep slide navigation on every device, allow long content within each slide. */
html,body{width:100%;max-width:100%;margin:0}
main{width:100%;max-width:100%;min-width:0}
main>section{flex-basis:100%;width:100%;min-width:0;-webkit-overflow-scrolling:touch}
main>section .container{max-width:min(1340px,calc(100% - 48px))}
.nav{min-width:0}.navlinks{gap:clamp(12px,2vw,30px)}
.logo{min-width:0;flex-shrink:0}
.hero h1,.section h2,.dark-section h2{overflow-wrap:break-word}
.service,.article,.contact-panel,.about-copy{min-width:0}
.detail{overflow-wrap:anywhere}
@media(max-width:1100px){
 .container{width:calc(100% - 56px)}
 .navlinks{gap:14px;font-size:11px}
 .navcta{padding:11px 13px}
 .services{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .stat:nth-child(2){border-right:0}
 .about-grid{gap:5%}
 .photo{height:460px}
}
@media(max-width:900px){
 .header{z-index:60}
 .navlinks{box-shadow:0 25px 60px #0008;max-height:calc(100dvh - 120px);overflow-y:auto}
 .navlinks a{width:100%;padding:12px 4px;font-size:14px}
 .navlinks .navcta{text-align:center;padding:14px}
 .section-head{align-items:start;flex-direction:column;gap:18px}
 .section-head>p{max-width:700px}
 .about-grid,.contact-grid{grid-template-columns:1fr;gap:45px}
 .photo{height:380px}
 .contact-panel{max-width:650px}
 .articles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .container,main>section .container{width:calc(100% - 32px);max-width:calc(100% - 32px)}
 .top{font-size:9px}.top .container{gap:8px}.top .container>*{min-width:0}
 .nav{height:65px}.navlinks{top:65px}
 .hero-content{padding:145px 0 110px}
 .hero h1{font-size:clamp(36px,10vw,58px);line-height:1.06;margin:22px 0}
 .hero p{font-size:14px;line-height:1.65}
 .hero-foot .container{gap:10px;flex-wrap:wrap;font-size:9px}
 .section,.dark-section{padding:125px 0 110px}
 .section h2,.dark-section h2{font-size:clamp(30px,8.2vw,43px)}
 .section-head{margin-bottom:28px}
 .services,.articles,.steps,.stats{grid-template-columns:minmax(0,1fr)}
 .service.wide{grid-column:auto}
 .service{min-height:205px;padding:25px}
 .service h3{font-size:23px;margin:40px 0 12px}
 .stat{border-right:0;border-bottom:1px solid #ffffff25;padding:15px 0}
 .photo{height:260px}.photo-badge{right:0;bottom:-18px;padding:18px 24px}
 .photo-badge strong{font-size:35px}
 .contact-panel{padding:26px}
 .detail{flex-direction:column;gap:3px}
 .quote blockquote{font-size:clamp(25px,7vw,38px)}
 .footer{font-size:9px;text-align:center}
 .slide-progress{bottom:43px;gap:6px;padding:7px 9px;max-width:calc(100% - 24px)}
 .slide-dot{width:6px;height:6px}.slide-dot[aria-current=true]{width:18px}
 .slide-control{width:30px;height:30px;flex-shrink:0}
 .slide-label{font-size:9px;margin:0 2px}
}
@media(max-height:540px) and (orientation:landscape){
 .top{display:none}.header{top:0}.nav{height:55px}.navlinks{top:55px}
 .logo .brand-symbol{height:44px;width:120px}
 .hero-content{padding-top:100px;padding-bottom:90px}
 .section,.dark-section{padding-top:95px;padding-bottom:90px}
 .slide-progress{bottom:32px}.footer{padding:5px 0}
}
.conversion-callout{margin:44px 0 4px;padding:24px 28px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#173e69;border:1px solid #80c5ff55;border-radius:22px;color:#fff}
.conversion-callout strong{font-size:18px;line-height:1.3;flex-basis:100%}
.conversion-callout p{margin:0;color:#dbeeff;max-width:600px;font-size:13px;line-height:1.65;flex:1 1 280px}
.conversion-callout .btn{padding:13px 19px;white-space:nowrap;flex-shrink:0}
@media(max-width:600px){.conversion-callout{padding:21px 18px;gap:12px;margin-top:30px}.conversion-callout strong{font-size:16px}.conversion-callout .btn{width:100%}}

/* Video introduction: full viewport, responsive and keyboard-accessible. */
body.intro-active{overflow:hidden}
.site-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#041426;opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease}
.site-intro video{width:100%;height:100%;object-fit:contain;background:#041426;display:block}
.site-intro.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-skip{position:absolute;right:clamp(16px,3vw,44px);bottom:clamp(18px,3vw,42px);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:12px 21px;background:rgba(5,19,37,.80);color:#fff;font:700 13px Manrope,Arial,sans-serif;cursor:pointer;backdrop-filter:blur(14px);box-shadow:0 8px 28px #0005}
.intro-skip:hover,.intro-skip:focus-visible{background:#12518f;outline:2px solid #91d5ff;outline-offset:3px}
@media(max-width:600px){.intro-skip{right:14px;bottom:max(18px,env(safe-area-inset-bottom));padding:12px 17px}.site-intro video{object-fit:contain}}
@media(prefers-reduced-motion:reduce){.site-intro{transition:none}}
