/* Full Latin glyphs, conventional E/É shapes and room for French accents. */
:root{--heading:'Sora','Manrope',sans-serif}
/* Use the existing self-hosted Cyrillic family for the Russian edition. */
html[lang="ru"]{--heading:'Manrope',sans-serif;--mono:'JetBrains Mono','Manrope',monospace}
h1,h2{letter-spacing:-.04em;font-feature-settings:normal;font-variant-ligatures:normal}
.hero h1{letter-spacing:-.055em}
.location-card>strong{letter-spacing:-.035em}
.brand strong,.brand:not(:has(strong)),.footer-brand strong{font-family:'Unbounded','Sora',sans-serif}
.auth-intro h1,.support-hero h1{line-height:1.22}
/* Real Natural Earth country boundaries; no country silhouette is hand drawn. */
.geographic-map{min-height:0!important;width:100%;height:355px;margin:0;overflow:visible}
.map-panel:has(.geographic-map){justify-content:space-between;min-height:440px}
.map-graticule{fill:none;stroke:#8ba278;stroke-width:.6;opacity:.13}
.europe-country{fill:#131f17;stroke:#536b4c;stroke-width:.65;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.map-country-highlight{pointer-events:none}
.map-country-highlight>path{fill:#ccff5f29;stroke:#b3e87c;stroke-width:1.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .25s,stroke .25s}
.map-country-highlight.active>path{fill:#ccff5f58;stroke:#dbffab}
.map-location>path{stroke:#b6d48f;stroke-width:.8;vector-effect:non-scaling-stroke}
.map-location .node-center{fill:#dcffab}
.map-location .node-halo{fill:#ccff5f12;stroke:#ccff5f7d;vector-effect:non-scaling-stroke}
.map-location text.map-country-code{font:600 18px 'JetBrains Mono',monospace;letter-spacing:.06em;fill:#e6ffd0}
.map-location text.map-country-label{font:500 20px 'Manrope',sans-serif;fill:#d3e5bd}
@media(max-width:820px){.geographic-map{height:auto;max-height:390px}.map-panel:has(.geographic-map){min-height:360px}.map-location text.map-country-label{font-size:24px}.map-location text.map-country-code{font-size:22px}}
@media(max-width:580px){.map-panel:has(.geographic-map){min-height:300px}.geographic-map{min-height:210px!important}.hero h1{letter-spacing:-.045em}}
/* Compact instrument panels make the infrastructure figures easy to scan. */
.foundation-grid{gap:12px;padding-block:22px;align-items:stretch}
.foundation-grid>.foundation-intro{padding-right:12px;align-self:center}
.foundation-grid>.foundation-metric{position:relative;padding:14px 17px!important;border:1px solid #68845448!important;background:radial-gradient(ellipse at 100% 0,#9dcc4c0d,transparent 65%),linear-gradient(145deg,#142016,#0d150f);border-radius:8px 0 8px 0;transition:border-color .25s,background .25s;overflow:hidden}
.foundation-metric:before{content:'';position:absolute;top:0;right:0;width:25px;height:2px;background:#ccff5f99}
.foundation-metric:after{content:'';position:absolute;right:0;top:0;width:2px;height:17px;background:#ccff5f55}
.foundation-metric-label svg{width:18px;height:18px;color:var(--lime)}
.foundation-metric .metric-index{font-size:8px;color:#a6ba99}
.foundation-grid .foundation-metric>strong{font-size:clamp(26px,2.4vw,34px);margin-top:10px;letter-spacing:-.04em}
.foundation-metric>small{font-size:11px;color:#aab8a3;line-height:1.5;max-width:190px}
@media(hover:hover){.foundation-grid>.foundation-metric:hover{border-color:#b5d98580!important;background:linear-gradient(145deg,#1b2c1c,#101b12)}}
@media(max-width:1120px){.foundation-grid{gap:9px}.foundation-grid>.foundation-metric{padding:13px 12px!important}.foundation-grid .foundation-metric>strong{font-size:27px}.foundation-metric-label{gap:6px}.foundation-metric .metric-index{font-size:7px}.foundation-metric>small{font-size:10px}}
@media(max-width:820px){.foundation-grid>.foundation-intro{margin-bottom:0;padding-bottom:10px}.foundation-grid>.foundation-metric{padding:14px 12px!important}}
@media(max-width:580px){.foundation-grid{gap:10px;padding-block:18px}.foundation-grid>.foundation-intro{border-bottom:0;padding-bottom:3px}.foundation-grid>.foundation-metric{padding:14px!important}.foundation-grid .foundation-metric>strong{font-size:28px}.foundation-metric>small{font-size:11px}.foundation-metric-label svg{width:16px;height:16px}}
/* Keep the final invitation clear after removing decorative direction arrows. */
.cta-round svg{width:40%;height:40%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}
/* The light offer matrix needs a distinct, accessible range action as well. */
.plans-section .range-detail{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;margin-top:15px;padding:12px 18px;border:1px solid #253e1b;border-radius:6px 0 6px 0;background:#1c321c;color:#d8ff8e;font-size:12px;font-weight:800;line-height:1.4;text-align:center;text-decoration:none;box-shadow:0 3px 0 #a1b18d;transition:background .18s,border-color .18s,box-shadow .18s}
.plans-section .range-detail:hover{background:#2e4b24;border-color:#2e4b24;color:#e7ffb6;box-shadow:0 3px 0 #829669}
.plans-section .range-detail:focus-visible{outline:2px solid #355c24;outline-offset:4px}
.plans-section .range-detail:active{box-shadow:0 1px 0 #a1b18d}
@media(max-width:580px){.plans-section .range-detail{min-height:46px;width:100%;padding:12px 15px;font-size:12px}.plans-section .range-intro>div{min-width:0}}
.plans-section .billing-savings-badge{display:inline-flex;width:fit-content;margin-top:7px;padding:4px 7px;border:1px solid #7f9e5d;border-radius:4px 0 4px 0;background:#d7eabd;color:#2b461c;font-size:10px;font-weight:800;line-height:1.4}
.configuration-saving{margin-top:12px;padding:11px 13px;border:1px solid #8aaa4866;border-left:3px solid #ccff5f;background:#ccff5f09;color:#d4eeaf;font-size:12px;line-height:1.65}
/* Long locale labels must fit the smallest catalogue and profile layouts. */
@media(max-width:580px){.provider-section-heading h2{overflow-wrap:anywhere;hyphens:auto}}
@media(max-width:370px){.plans-section .catalog-toolbar{width:100%;min-width:0;max-width:100%}.plans-section .product-tabs{min-width:0;max-width:100%}.plans-section .product-tabs button{min-width:0;flex:1 1 0;overflow-wrap:anywhere}.plans-section .region-select{flex-wrap:wrap;min-width:0;max-width:100%;gap:8px}.plans-section .region-select>span{flex-basis:100%}.plans-section .region-select select{width:100%;min-width:0;max-width:100%}}
