/* Discrete section navigation: wheel, keyboard and right-hand guide. */
html{scroll-snap-type:none}
.section-guide{position:fixed;z-index:45;right:13px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;padding:10px 7px;background:#0c1929db;border:1px solid #7c97bb44;border-radius:30px;backdrop-filter:blur(16px);box-shadow:0 5px 24px #0004;width:38px;color:#f0cf7c}.section-dots{display:flex;flex-direction:column;gap:0}.section-dot,.section-arrow{position:relative;display:grid;place-items:center;background:transparent;border:0;padding:0;min-width:24px;min-height:26px;color:#f2d387;border-radius:20px}.section-dot-mark{width:5px;height:5px;border-radius:50%;background:#7390b688;transition:transform .25s,background .25s,box-shadow .25s}.section-dot[aria-current]{background:#e3ab3b13}.section-dot[aria-current] .section-dot-mark{background:#f0cf7c;transform:scale(1.6);box-shadow:0 0 9px #e3ab3baa}.section-dot:hover .section-dot-mark{background:#f3d995}.section-tooltip{position:absolute;right:34px;top:50%;transform:translate(5px,-50%);opacity:0;pointer-events:none;white-space:nowrap;border:1px solid #6787b155;background:#0d2037f5;border-radius:5px;padding:5px 10px;color:#f4d998;font:11px 'IBM Plex Sans',sans-serif;transition:opacity .15s,transform .15s}.section-dot:hover .section-tooltip,.section-dot:focus-visible .section-tooltip{opacity:1;transform:translate(0,-50%)}.section-arrow{font-size:19px;min-height:25px}.section-arrow:disabled{opacity:.25;cursor:default}.section-count{font:8px/1.5 'IBM Plex Mono',monospace;color:#aabcd3;white-space:nowrap;letter-spacing:-.6px;margin:3px -4px 0}.section-guide button:focus-visible{outline:2px solid #f0cd74;outline-offset:1px}
@media(min-width:761px){main>.section{padding-right:max(65px,4vw)}.hero-map-console{right:max(65px,5%)}}
@media(max-width:760px){.section-guide{right:4px;width:23px;padding:7px 1px;gap:4px;border-radius:15px}.section-dot,.section-arrow{min-width:19px;min-height:24px}.section-arrow{font-size:15px}.section-dot-mark{width:4px;height:4px}.section-count{font-size:6px;letter-spacing:-.5px;margin-inline:-2px}.section-tooltip{right:25px}main>.section{padding-right:35px}.hero-map{padding-right:34px}.section-guide .section-dots{gap:0}}
@media(prefers-reduced-motion:reduce){.section-dot-mark,.section-tooltip{transition:none}}
/* One viewport per banner; longer content scrolls inside its own panel. */
:root{--banner-header:82px}
main>section,main>.section,.hero-map{height:calc(100svh - var(--banner-header));min-height:0;max-height:calc(100svh - var(--banner-header));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#5679a7 #0c1929;scroll-snap-align:start}
main>.section{display:block;padding-top:clamp(30px,6vh,64px);padding-bottom:clamp(30px,6vh,64px)}
main>.section>.two-col,main>.section>.section-heading{flex-shrink:0}
main>.section>.two-col:only-child{min-height:100%;align-content:center}
.hero-map{display:flex;padding-top:clamp(25px,5vh,60px);padding-bottom:65px;justify-content:center}
/* The assurance strip belongs to the opening banner, not a separate scroll stop. */
main>.assurance{display:none}
.hero-map .hero-content{flex-shrink:0}.hero-map h1{font-size:clamp(40px,8vh,76px);margin:18px 0}.hero-map .hero-content>p{font-size:clamp(13px,1.9vh,17px)}.hero-map .actions{margin-top:20px}.hero-map .product-pills{margin-top:18px}.hero-map-console{bottom:42px}
@media(max-width:760px){:root{--banner-header:70px}main>.section{padding-top:30px;padding-bottom:30px}.hero-map{padding-top:26px;padding-bottom:52px;justify-content:flex-start}.hero-map h1{font-size:clamp(34px,6.4vh,49px);margin:18px 0}.hero-map .hero-content>p{font-size:13px}.hero-map .hero-content .actions{margin-top:17px}.hero-map .product-pills{margin-top:14px}.hero-map-console{position:relative;margin-top:30px;bottom:auto;right:auto;max-width:360px;flex-shrink:0}.hero-map-console #map-events>div{padding:7px 0}.hero-map-console .map-feed-top{padding:8px 0}.hero-map-console .map-mode{margin-bottom:3px}.hero-map .section-next{position:relative;left:auto;bottom:auto;transform:none;justify-content:center;margin-top:18px;flex-shrink:0}.hero-map-stage{inset:80px -10% 0 4%}}
@media(max-height:700px) and (min-width:761px){.hero-map .eyebrow{font-size:8px;padding:5px 10px}.hero-map h1{font-size:clamp(36px,7.8vh,55px)}.hero-map .button{min-height:42px;padding:9px 18px}.hero-map-console{width:280px;padding:10px 14px;bottom:25px}.hero-map-console #map-events>div{padding:7px 0}.hero-map .section-next{bottom:15px}}
/* Compact banners: one document scroll, no nested section scrollbars. */
main>section,main>.section,.hero-map{overflow:visible;max-height:none;min-height:calc(100svh - var(--banner-header));height:auto}
@media(min-width:1001px) and (min-height:650px){
 main>.section{height:calc(100svh - var(--banner-header));min-height:0;padding:26px 65px 26px 40px;display:flex;flex-direction:column;justify-content:center;gap:0}
 .hero-map{height:calc(100svh - var(--banner-header));min-height:0;overflow:hidden}
 main>.section h2{font-size:clamp(28px,4.5vh,42px);letter-spacing:-1.3px}
 main>.section h3{font-size:19px}
 .section-heading{margin-bottom:22px;gap:35px;grid-template-columns:1fr 2fr}
 .section-heading p{margin-top:12px;font-size:13px;line-height:1.5}
 .kicker{font-size:14px}.eyebrow{font-size:9px}
 .two-col{gap:45px}.two-col h2{margin-top:15px}.two-col>div>p,.two-col>.reveal>p{font-size:13px;margin-top:15px}
 .product-visual{height:clamp(100px,19vh,175px)}.glass-icon{width:78px;height:78px;border-radius:18px}.float-tag{bottom:24px;right:25px;padding:5px 9px;font-size:9px}.example{bottom:6px;font-size:8px}.product-copy{padding:18px 22px}.product h3{font-size:23px;margin:10px 0}.product p{font-size:12px;line-height:1.5}.endpoint{margin:13px 0 10px;padding:7px;font-size:10px}.product details{padding:8px 0}.product details summary{font-size:12px}.product details p{margin-top:8px;font-size:10px}.product-bottom{margin-top:10px}.product-bottom small{font-size:9px}.product-bottom a{width:27px;height:27px}
 .mini-stats{margin:22px 0}.mini-stats strong{font-size:21px}.text-link{font-size:12px}.code-toolbar{padding:10px 14px}.code-path{padding:12px 17px}.code-footer{padding:10px 15px}.code-panel #api-panel{max-height:none;overflow:visible}.code-panel pre{min-height:0;font-size:10px;line-height:1.42;padding:4px 18px 16px}.code-panel{max-width:100%}
 .dashboard{max-width:1000px;width:100%;margin:0 auto;grid-template-columns:165px 1fr;transform:none}.dash-main{padding:18px 24px}.dashboard aside{padding:20px 14px}.dash-header h3{margin-bottom:17px}.dash-metrics>div{padding:10px}.dash-metrics strong{font-size:23px}.chart{height:clamp(80px,15vh,140px)}.chart-heading{margin:17px 0 12px}.dash-footer{margin-top:13px}
 .phone-scene{padding:0}.phone{zoom:.8}.phone-callout{bottom:25px;right:20px;font-size:10px;padding:11px 14px}.journey-list{margin-top:20px}.journey-list li{padding:14px 0}.journey-list h3{font-size:16px}
 .sectors article{padding:21px 25px}.sectors h3{font-size:18px;margin:21px 0 10px}.sectors p{font-size:12px}.infra-grid{gap:20px}.infra-grid article{padding-top:10px}.infra-grid h3{font-size:16px;margin:10px 0 7px}.infra-grid p{font-size:11px}.sla{margin-top:25px;padding-top:22px;gap:40px}.sla strong{font-size:48px;margin:10px 0}.sla strong span{font-size:30px}.sla-table>div{padding:10px 0}
 .center-heading{margin-bottom:24px}.center-heading h2{margin:10px 0}.center-heading p{font-size:12px}.plans{gap:12px}.plan{padding:17px 16px}.plan h3{font-size:18px}.plan>p{font-size:10px;margin:7px 0 12px}.price{font-size:24px}.price-small{font-size:19px}.plan>small{font-size:9px}.plan ul{padding-top:12px;margin:13px 0 12px;font-size:10px}.plan li{margin-bottom:6px}.plan .button{min-height:34px;font-size:9px;padding:7px}.plan-tag{font-size:8px;padding:4px 8px}
 .calculator{margin-top:15px;padding:16px 22px;gap:40px}.calculator h3{font-size:17px;margin:8px 0 13px}.calculator label{font-size:10px}.calculator input[type=range]{margin:12px 0 3px}.calculator .small{font-size:9px;margin-top:8px;max-width:none}.estimate-row{padding:9px 12px;margin:5px 0;font-size:11px}.estimate-row strong{font-size:13px}.estimate-row small{font-size:8px}
 .security-items>div{padding:16px 0}.security-items h3{font-size:17px}.security-items p{font-size:12px}.faq details{padding:15px 0}.faq summary{font-size:14px}.faq details p{font-size:12px;margin-top:10px}.contact form{padding:23px}.contact h2{font-size:42px}.form-grid{gap:12px}form .button{margin-top:15px;min-height:43px}
}
/* On small screens preserve readability with a single page scroll. */
@media(max-width:1000px),(max-height:649px){
 main>.section{height:auto;min-height:calc(100svh - var(--banner-header));max-height:none;overflow:visible;padding-top:35px;padding-bottom:35px}.hero-map{height:auto;min-height:calc(100svh - var(--banner-header));overflow:hidden}.code-panel #api-panel{max-height:none;overflow:visible}.code-panel pre{font-size:10px;line-height:1.6;min-height:0}.product-visual{height:150px}.product-copy{padding:20px}.product h3{font-size:22px}.section-heading{margin-bottom:24px}.section-heading h2,.center-heading h2{font-size:31px}.center-heading{margin-bottom:28px}.plan{padding:20px}.plan ul{margin:16px 0}.calculator{padding:20px}.two-col{gap:25px}
}
