/* R03: continuous full-width sections and a single reading position. */
.technology{background:radial-gradient(ellipse at 80% 45%,rgb(var(--glow-rgb) / .28),transparent 66%),var(--dark);color:#fff;padding-bottom:90px}
.technology .eyebrow{color:var(--line)}
.technology-scroll{width:100%;margin-top:48px}
.tech-screen{padding:28px 0 40px;background:transparent}
.tech-screen:before{display:none}
.tech-orbits{right:max(-120px,calc((100vw - 1440px)/2 - 80px));width:1100px;height:1100px;top:-160px}
.tech-content{z-index:1}
.tech-main{gap:80px;grid-template-columns:1.15fr 1fr}
.tech-image{height:min(36vh,390px)}
.mechanism h3{font-size:clamp(28px,2.5vw,38px)}
.scene-tabs{margin-top:28px}
.scene-panel{min-height:90px;margin-top:24px}
.tech-figure{border-color:rgb(var(--ornament-rgb) / .25)}
.scroll-rail{position:fixed;z-index:90;left:max(22px,calc((100vw - 1440px)/2 + 32px));top:150px;bottom:65px;width:16px;pointer-events:none;color:var(--accent);transition:color .4s}
.scroll-rail.on-dark{color:#82bec6}
.rail-track{position:absolute;left:7px;top:0;bottom:34px;width:1px;background:currentColor;opacity:.7}
.rail-fill{position:absolute;inset:0;background:currentColor;transform:scaleY(var(--page-progress,0));transform-origin:top}
.rail-orb{position:absolute;left:-4px;top:calc(var(--page-progress,0) * 100%);width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 12%,transparent),0 0 22px color-mix(in srgb,currentColor 45%,transparent);transform:translateY(-50%)}
.rail-index{position:absolute;bottom:0;left:-5px;font-size:9px;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.orbit-dot:after{border-radius:50%;width:10px;height:10px;box-shadow:0 0 18px rgba(130,190,198,.65)}
.languages{gap:0}
.languages button{min-width:29px;min-height:40px;padding:6px 3px;cursor:pointer;opacity:.65;font-weight:500}
.languages button:hover,.languages button[aria-current="true"]{opacity:1;color:#fff}
.languages button[aria-current="true"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}
.header-inner{gap:22px}
.main-nav{gap:20px}
.main-nav>a{font-size:13px}
.header-actions{gap:18px}
.header-cta{font-size:13px;gap:18px}
.footer{flex-wrap:wrap}
.footer .motion-toggle{order:4;display:flex;gap:10px;width:auto;min-height:44px;font-size:12px;color:var(--line);padding:0 8px 0 0}
.footer .motion-toggle>span:first-child{font-size:20px}
.geography{background:var(--surface);padding-top:104px;padding-bottom:92px}
.geography .eyebrow{color:var(--muted)}
.geo-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:end}
.geo-intro h2{margin-top:38px}
.geo-caption{max-width:390px;justify-self:end}
.demo-badge{display:inline-block;padding:8px 12px;border:1px solid #93b3b9;border-radius:30px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.geo-caption>p{color:var(--muted);font-size:16px;margin-top:18px}
.map-board{position:relative;isolation:isolate;aspect-ratio:12/5;margin-top:72px}
.world-land{width:100%;height:100%;position:relative;pointer-events:none}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(82,109,117,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(82,109,117,.08) 1px,transparent 1px);background-size:8.333% 20%;mask-image:radial-gradient(ellipse,#000 35%,transparent 73%)}
.map-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-65%);border:1px solid #a2bec3;border-radius:25px;background:#fff;width:42px;height:52px;padding:7px 9px;cursor:pointer;z-index:2;box-shadow:0 5px 18px rgb(var(--depth-rgb) / .1)}
.map-marker img{width:22px;height:31px;position:relative;z-index:1}
.marker-number{position:absolute;top:2px;left:calc(100% + 7px);font-size:11px;color:var(--muted)}
.marker-halo{position:absolute;inset:-9px;border:1px solid var(--accent);border-radius:50%;opacity:0;transition:opacity .3s}
.map-marker[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 5px rgb(var(--glow-rgb) / .1),0 8px 20px rgb(var(--depth-rgb) / .13)}
.map-marker[aria-pressed="true"] .marker-halo{opacity:.35;animation:map-signal 3s ease-in-out infinite}
.map-marker:hover{transform:translate(-50%,-70%)}
@keyframes map-signal{0%,100%{transform:scale(.85);opacity:.15}50%{transform:scale(1.12);opacity:.5}}
.geo-bottom{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;margin-top:32px;border-top:1px solid #b4ced3;padding-top:32px;align-items:start}
.place-options{display:flex;flex-wrap:wrap;gap:4px 24px}
.place-options button{display:flex;gap:9px;align-items:baseline;background:none;border:0;border-bottom:1px solid transparent;padding:12px 0;min-height:44px;text-align:left;font-size:14px;color:var(--muted);cursor:pointer}
.place-options button span{font-size:10px;font-variant-numeric:tabular-nums}
.place-options button b{font-weight:500}
.place-options button[aria-pressed="true"]{border-color:var(--accent);color:var(--ink)}
.place-detail{max-width:400px;color:var(--muted);font-size:14px;min-height:104px}
.place-name{font-size:21px;font-weight:500;color:var(--ink);margin-bottom:12px}
.partners{background:#fff}
html[data-motion="paused"] .marker-halo{animation:none}
html[lang="es"] .hero h1>span{font-size:80px}
html[lang="es"] .hero h1>strong{font-size:80px}
html[lang="en"] .hero h1>span{font-size:76px}
html[lang="en"] .hero h1>strong{font-size:100px}
html:not([lang="ru"]) .hero-lead{max-width:650px}
@media(min-width:1100px){.tech-screen{padding-top:24px;padding-bottom:24px}.technology-scroll{height:calc(100vh + 620px)}}
@media(max-width:1250px){.header-inner{gap:15px}.main-nav{gap:15px}.main-nav>a{font-size:12px}.header-actions>.languages{display:flex}.header-cta{font-size:12px;padding:12px}.tech-main{gap:48px}.geo-intro{gap:60px}.scroll-rail{left:23px}html[lang="es"] .hero h1>span,html[lang="es"] .hero h1>strong{font-size:7vw}html[lang="en"] .hero h1>span{font-size:6vw}html[lang="en"] .hero h1>strong{font-size:8vw}}
@media(max-width:1099px){.tech-image{height:auto;aspect-ratio:600/440}.tech-main{gap:36px}.tech-screen{padding:24px 0 32px}.technology-scroll{height:auto}.scene-panel{min-height:115px}.mechanism h3{font-size:28px}.geo-intro{gap:36px}.geo-caption>p{font-size:15px}.geo-bottom{grid-template-columns:1.3fr 1fr;gap:32px}}
@media(max-width:1150px){.header-cta{display:none}.main-nav>a{font-size:28px}.main-nav{gap:8px}.scroll-rail{top:130px;bottom:44px;left:24px}}
@media(max-width:900px){.geo-intro{grid-template-columns:1fr}.geo-caption{justify-self:start;max-width:560px}.map-board{margin-top:50px}.geo-bottom{grid-template-columns:1fr}.place-detail{min-height:80px}.scene-tabs{gap:16px}.mechanism h3{font-size:25px}html[lang="en"] .hero h1>span{font-size:48px}html[lang="en"] .hero h1>strong{font-size:76px}html[lang="es"] .hero h1>span,html[lang="es"] .hero h1>strong{font-size:64px}}
@media(max-width:700px){.technology{padding-bottom:48px}.tech-screen{padding:8px 0 24px}.tech-main{grid-template-columns:1fr;gap:28px}.mechanism h3{font-size:27px}.scene-tabs{gap:10px;margin-top:28px}.scene-tabs>button{font-size:12px}.scene-panel{grid-template-columns:1fr;gap:12px;min-height:156px;margin-top:24px}.tech-orbits{width:700px;height:700px;right:-380px;top:140px}.scroll-rail{left:10px;top:132px;bottom:32px;width:10px}.rail-track{left:4px;bottom:26px}.rail-orb{width:7px;height:7px;left:-3px;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}.rail-index{font-size:8px;left:-1px}.header-inner{padding:12px 24px;min-height:110px;align-items:flex-start;position:relative}.brand{flex-basis:200px;padding:8px 12px}.brand img{width:176px;height:auto}.header-actions{gap:0;align-self:center}.header-actions>.languages{position:absolute;right:75px;bottom:10px;gap:0}.languages button{min-width:28px;min-height:34px;font-size:11px}.site-header.is-fixed .header-inner{min-height:104px}.site-header.is-fixed .brand{flex-basis:172px}.site-header.is-fixed .brand img{width:152px}.main-nav{top:100%;height:calc(100dvh - 110px)}.site-header.is-fixed .main-nav{height:calc(100dvh - 104px)}.hero-inner{padding-top:174px}.geography{padding-top:64px;padding-bottom:56px}.geo-intro{gap:28px}.geo-intro h2{margin-top:30px}.geo-caption>p{font-size:14px;line-height:1.5}.demo-badge{font-size:10px}.map-board{margin:44px -8px 0}.map-marker{width:27px;height:35px;padding:4px 5px;border-radius:16px}.map-marker img{width:15px;height:25px}.marker-number{font-size:8px;left:calc(100% + 2px)}.marker-halo{inset:-5px}.geo-bottom{gap:24px;margin-top:25px;padding-top:20px}.place-options{gap:4px 20px}.place-options button{font-size:13px}.place-name{font-size:20px}.place-detail{font-size:13px;min-height:100px}.footer .motion-toggle{font-size:11px}.footer .languages button{min-height:40px}.footer{align-items:center}html[lang="en"] .hero h1>span{font-size:clamp(25px,7.2vw,49px)}html[lang="en"] .hero h1>strong{font-size:clamp(46px,11vw,70px)}html[lang="es"] .hero h1>span,html[lang="es"] .hero h1>strong{font-size:clamp(34px,9vw,60px)}html:not([lang="ru"]) .hero-lead{max-width:100%}}
@media(max-width:360px){.header-inner{padding-left:20px;padding-right:20px}.header-actions .languages{display:flex}.brand{flex-basis:192px}.brand img{width:168px}.header-actions>.languages{right:66px}}
@media(prefers-reduced-motion:reduce){.marker-halo{animation:none!important}}
@media(max-width:700px){:root{--header:132px}.header-inner{min-height:132px;padding-bottom:42px;align-items:center}.header-actions>.languages{right:24px;bottom:3px}.header-actions .languages button{display:block}.site-header.is-fixed .header-inner{min-height:116px;padding-bottom:36px}.main-nav{height:calc(100dvh - 132px)}.site-header.is-fixed .main-nav{height:calc(100dvh - 116px)}.scroll-rail{top:150px}}

/* R04: presentation copy only, no animation control. */
.geo-intro{display:block}.geo-intro h2{margin-top:0}.geo-bottom{display:block}.place-options{justify-content:flex-start}.map-board{margin-top:48px}
@media(max-width:700px){.map-board{margin-top:36px}.geo-bottom{padding-top:16px}}
/* R05: one continuous lower edge and aligned reading cues. */
.hero-bottom>a{margin-top:0}

/* R06: headings and content without decorative numbering. */
.service-row{grid-template-columns:1fr 40px}

/* R07: approved reverse mark integrates with the dark masthead. */
.site-header .brand{background:transparent}
:root{--control-radius:14px;--control-hover:#EAF2F3}
.button{border-radius:var(--control-radius);min-height:58px;padding:16px 24px;gap:24px;transition:background-color .2s,color .2s}
.header-cta{min-height:54px;padding:12px 20px;font-size:14px;gap:16px}
.button span{font-size:20px;line-height:1;transition:transform .2s var(--ease)}
.button:hover{background:var(--control-hover)}
.button:hover span{transform:translate(2px,-2px)}
.button:focus-visible,.text-link:focus-visible,button:focus-visible{outline-offset:4px}

/* R08: one control family, with distinct primary and secondary emphasis. */
.hero-actions>.text-link{min-height:58px;padding:15px 20px;border:1px solid rgb(var(--ornament-rgb) / .45);border-radius:var(--control-radius);font-size:16px;gap:24px}
.hero-actions>.text-link:hover{background:rgb(var(--hover-rgb) / .1);border-color:#CFDFE2}
.hero-actions>.text-link span{font-size:20px;line-height:1;transition:transform .2s var(--ease)}
.hero-actions>.text-link:hover span{transform:translateY(2px)}
.languages{gap:4px}
.languages button{min-width:34px;border:1px solid transparent;border-radius:var(--control-radius);text-decoration:none}
.languages button:hover{background:rgb(var(--hover-rgb) / .08)}
.languages button[aria-current="true"]{background:rgb(var(--hover-rgb) / .14);border-color:rgb(var(--ornament-rgb) / .3);text-decoration:none}
.menu-toggle{border:1px solid rgb(var(--ornament-rgb) / .4);border-radius:var(--control-radius);width:44px}
.menu-toggle:hover{background:rgb(var(--hover-rgb) / .1)}
.scene-tabs{gap:12px}
.scene-tabs>button{min-height:58px;padding:14px 16px 20px;border:1px solid rgb(var(--ornament-rgb) / .35);border-radius:var(--control-radius);line-height:1.4}
.scene-tabs>button:hover{background:rgb(var(--hover-rgb) / .1);border-color:#CFDFE2}
.scene-tabs>button[aria-selected="true"]{background:var(--control-hover);border-color:var(--control-hover);color:var(--dark)}
.scene-tabs>button>i{left:14px;right:14px;bottom:7px;border-radius:4px;overflow:hidden}
.scene-tabs>button[aria-selected="true"]>i{background:#CFDFE2}
.place-options{gap:8px}
.place-options button{padding:12px 16px;border:1px solid #CFDFE2;border-radius:var(--control-radius);background:#fff;align-items:center;line-height:1.4}
.place-options button:hover{background:var(--control-hover);border-color:var(--accent)}
.place-options button[aria-pressed="true"]{background:var(--control-hover);border-color:var(--accent);color:var(--ink)}
@media(max-width:1150px){.main-nav .mobile-contact{min-height:58px;padding:16px 24px;border:0;border-radius:var(--control-radius);font-size:16px;color:var(--dark);line-height:1.5}.main-nav .mobile-contact:after{display:none}}
@media(max-width:700px){.scene-tabs{gap:8px}.scene-tabs>button{min-height:52px;padding:12px 8px 18px}.scene-tabs>button>i{left:10px;right:10px}.place-options button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.button:hover span,.hero-actions>.text-link:hover span{transform:none}.map-marker:hover{transform:translate(-50%,-65%)}}
