:root{--ink:#081728;--purple:#675cff;--cream:#f1efe9}
.calculator-nav-link{display:inline-flex;align-items:center;padding:12px;color:inherit;white-space:nowrap}
.calculator-page{padding:150px max(20px,7vw) 90px;background:#f3f5f8;color:#081728;min-height:90vh}
.calculator-page h1{font-size:clamp(30px,4vw,56px);line-height:1.12;letter-spacing:-.04em;max-width:1100px;margin:0 auto 22px}
.calculator-lead{max-width:1100px;margin:0 auto 40px;color:#65738a;line-height:1.6}
.calculator-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1100px;margin:auto;padding:40px;background:white;border:1px solid #dce2ea;border-radius:24px}
#investment-form{display:grid;gap:20px;min-width:0}
#investment-form label{display:grid;gap:9px;font-size:15px;font-weight:600}
#investment-form input,#investment-form select{width:100%;min-width:0;padding:12px;border:1px solid #c7d0df;border-radius:10px;background:#fff;color:#081728}
#investment-form :focus-visible{outline:2px solid #675cff;outline-offset:3px}
.calculator-results{display:grid;align-content:start;gap:22px;min-width:0}
.calculator-results>div{padding:26px;border-radius:18px;background:linear-gradient(120deg,#f1f4ff,#e4ecff)}
.calculator-results output{display:block;font-size:clamp(24px,3vw,42px);line-height:1.25;margin-top:12px;overflow-wrap:anywhere}
.calculator-note{font-size:13px;line-height:1.7;color:#65738a}
body:has(.calculator-page) .nav{background:#081728}
@media(min-width:901px) and (max-width:1250px){.nav{gap:10px;padding-inline:20px}.nav .nav-trigger{padding-inline:6px}.calculator-nav-link{padding-inline:6px}}
@media(max-width:767px){.calculator-page{padding:115px 16px 48px}.calculator-layout{grid-template-columns:1fr;padding:22px;gap:28px}.calculator-results>div{padding:20px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Geist,Arial,sans-serif}
.nav{opacity:1;transform:none;animation:nav-arrive .7s cubic-bezier(.22,1,.36,1) both}.hero-final-backdrop{background-image:url('assets/hero-poster.jpg')}
.hero-copy{opacity:1;filter:none;transform:none}.hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-lead,.hero-actions{opacity:0;filter:blur(8px);transform:translateY(24px);animation:hero-arrive .8s cubic-bezier(.22,1,.36,1) forwards}.hero-copy h1{animation-delay:.11s}.hero-copy .hero-lead{animation-delay:.22s}.hero-actions{animation-delay:.33s}
.mega-menu{position:fixed;z-index:80;top:74px;left:clamp(12px,1.6vw,28px);right:clamp(12px,1.6vw,28px);transform-origin:top;background:#fff;color:#0a1b2d;padding:0;border-radius:0 0 4px 4px;opacity:0;visibility:hidden;transform:translateY(-10px) scaleY(.96);transition:opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility .22s;box-shadow:0 28px 60px #08172829}.mega-menu.open{opacity:1;visibility:visible;transform:none}.mega-content{padding:clamp(28px,3.2vw,48px)}.mega-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2fr);gap:clamp(34px,5vw,82px);max-width:1380px;margin:auto}.mega-intro{border-right:1px solid #e1e5ec;padding-right:42px}.mega-intro h3{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#778197}.mega-intro p{font-size:24px;line-height:1.25}.mega-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 35px}.mega-menu a{color:inherit;text-decoration:none;font-size:18px;padding:12px 0;border-bottom:1px solid #e8ebf0;transition:color .2s,padding-left .2s}.mega-menu a:hover{color:#5b6cff;padding-left:7px}.nav-trigger{position:relative}.nav-trigger:after{content:"";position:absolute;left:10px;right:10px;bottom:-7px;height:1px;background:#7885ff;transform:scaleX(0);transition:transform .25s}.nav-trigger:hover:after,.nav-trigger.active:after{transform:scaleX(1)}
.mobile-navigation{transform:translateX(100%);transition:.35s}.mobile-navigation.open{transform:none}.mobile-navigation nav a{display:block;color:#fff;text-decoration:none;font-size:36px;padding:14px 0}.menu-overlay.active{opacity:1;visibility:visible}
.reveal{opacity:0;filter:blur(8px);transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .8s}.reveal.visible{opacity:1;filter:blur(0);transform:none}
.world-map{width:100%;height:100%;object-fit:cover;opacity:.5;filter:invert(1)}.map-stage{position:relative;overflow:hidden}.map-marker-layer{visibility:hidden}.map-marker-anchor{z-index:4}.map-marker{cursor:pointer}.map-marker-popover{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px) scale(.97);transition:opacity .2s ease,transform .2s cubic-bezier(.22,1,.36,1),visibility .2s}.map-marker-anchor.active{z-index:8}.map-marker-anchor.active .map-marker-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}.map-marker-anchor.active .map-marker-core{transform:scale(1.18);background:#fff}.map-marker-anchor.active .map-marker-glow{animation:marker-active-pulse 1.4s ease-out infinite}.map-company-card{transition:border-color .25s,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}.map-company-card.active{transform:translateY(-4px);border-color:#6e72ff80;box-shadow:0 18px 50px #0003,0 0 35px #5b6cff1f}.marker-popup-logo .logo-wow{width:90px;height:27.3px;background-size:340px 135.7px;background-position:-60.2px -8.7px}.marker-popup-logo .logo-trilliant{width:66.5px;height:27.4px;background-size:306px 122.2px;background-position:-194.2px -46.9px}.popup-text-logo{font-size:10px;line-height:1.1}.marker-popup-demi-wordmark{display:flex;flex-direction:column;line-height:.8}.marker-popup-demi-wordmark strong{font-size:16px;letter-spacing:.12em}.marker-popup-demi-wordmark span{font-size:5px;letter-spacing:.35em}@keyframes marker-active-pulse{0%{transform:scale(.8);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.logo-wow{width:168.2px;height:51.04px;background-image:url('assets/partner-logos-source.png');background-size:635.1px 253.46px;background-position:-112.52px -16.24px}.logo-trilliant{width:138.04px;height:56.84px;background-image:url('assets/partner-logos-source.png');background-size:635.1px 253.46px;background-position:-403.1px -97.44px}
.brand-logo-image{max-width:160px}.particles i{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-16px);opacity:.25}}@keyframes hero-arrive{to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes nav-arrive{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media(max-width:760px){.hero-copy h1{font-size:clamp(44px,13vw,66px)}.world-map{min-height:330px}.map-stage{min-height:330px}.mega-menu{display:none}}

/* Mobile layout hardening: keep every public section inside the visual viewport. */
@media (max-width:620px){
  html,body,#top{width:100%;max-width:100%;overflow-x:clip}
  .nav{width:100%;padding-inline:20px;gap:14px}
  .nav .logo{min-width:0}
  .menu-button{flex:0 0 auto;margin-left:auto}
  .mobile-navigation{width:100%;max-width:100vw}
  .mobile-navigation .brand-wordmark,.mobile-navigation nav a{color:#071523}
  .mobile-navigation nav a{font-size:clamp(28px,9vw,36px);line-height:1.15}
  .mobile-navigation .mobile-cta{color:#fff}
  .hero-inner{width:100%;max-width:100%;padding:118px 20px 64px}
  .hero-copy,.hero-copy>div{width:100%;max-width:100%;min-width:0}
  .hero-copy .eyebrow{max-width:100%;font-size:8px;line-height:1.55;letter-spacing:.18em}
  .hero-copy .eyebrow>span{flex:0 0 24px}
  .hero h1{max-width:100%;margin:24px 0 25px;font-size:clamp(40px,11vw,46px);line-height:1.02;letter-spacing:-.06em}
  .hero h1 em{display:inline-block;max-width:100%}
  .hero-lead{width:100%;max-width:100%;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
  .hero-actions{width:100%;max-width:100%;gap:12px;margin-top:30px}
  .hero-actions .button{width:100%;max-width:100%;min-width:0;justify-content:space-between;padding-inline:22px}
  .section,.contact-section,footer{width:100%;max-width:100%;overflow:hidden}
  .section{padding-inline:20px}
  .section h2,.contact-section h2{max-width:100%;overflow-wrap:anywhere}
  .network-layout,.map-company-list,.network-map,.about-copy,.news-grid,.news-card,.footer-top,.footer-links{min-width:0;max-width:100%}
  .map-marker-popover{max-width:calc(100vw - 40px)}
  .contact-address{max-width:100%;overflow-wrap:anywhere}
}

@media (max-width:380px){
  .nav{padding-inline:16px}
  .hero-inner{padding-inline:16px}
  .hero h1{font-size:clamp(36px,10.8vw,41px)}
  .hero-copy .eyebrow{font-size:7.5px;letter-spacing:.15em}
  .section{padding-inline:16px}
  .footer-links{grid-template-columns:1fr}
}

/* Phones use a single static hero frame: no scroll-scrub spacer or video. */
@media (max-width:620px){
  .hero-scroll{height:auto;min-height:0}
  .hero{position:relative;top:auto;height:auto;min-height:0;background:linear-gradient(90deg,#081728e8,#08172880),url('assets/hero-poster.jpg') 62% center/cover no-repeat}
  .hero-inner{height:auto;min-height:0;padding-top:118px;padding-bottom:58px}
  .hero-video{display:none}
  .hero-final-backdrop{opacity:1!important;background-position:62% center}
  .hero-copy{opacity:1!important;transform:none!important}
  .hero-shade{opacity:1!important}
  .particles{display:none}
  .countries-section{padding-bottom:32px}
  .countries-section{padding-left:12px;padding-right:12px}
  .network-layout,.partners-map{width:100%}
  .network-map{width:100%;max-width:100%;height:auto;aspect-ratio:142/87;justify-self:stretch}
  .network-map .map-stage{min-height:0}
  .map-marker-popover-group{inset:-92px 8px auto auto}
  .about-section{padding-top:64px}
}

/* Exact popup logo crops from the original portfolio sprite. */
.logo-birga,.logo-ku,.logo-sibir{background-image:url('assets/partner-logos-source.png')}
.marker-popup-logo .partner-brand-crop{display:block}
.marker-popup-logo .logo-wow{width:89.9px;height:27.28px;background-size:339.45px 135.47px;background-position:-60.14px -8.68px}
.marker-popup-logo .logo-trilliant{width:66.64px;height:27.44px;background-size:306.6px 122.36px;background-position:-194.6px -47.04px}
.marker-popup-logo .logo-birga{width:68.6px;height:25.76px;background-size:306.6px 122.36px;background-position:-198.8px -7.28px}
.marker-popup-logo .logo-ku{width:60.2px;height:30.8px;background-size:306.6px 122.36px;background-position:-54.32px -42.84px}
.marker-popup-logo .logo-sibir{width:46.48px;height:32.48px;background-size:306.6px 122.36px;background-position:-130.48px -42.84px}
.marker-popup-demi-wordmark{width:100%;min-height:44px;padding:10px 14px;border:1px solid #8792ff;border-radius:7px;background:#616ff5;color:#fff;display:flex;flex-direction:row;align-items:center;gap:9px;line-height:1}
.marker-popup-demi-wordmark strong{font-size:20px;font-weight:400;letter-spacing:.05em}.marker-popup-demi-wordmark span{font-size:6px;font-weight:700;letter-spacing:.25em}

/* Dubai popup matches the original right-anchored card. */
.map-marker-popover{transform:translateY(8px) scale(.97);transform-origin:bottom left}
.map-marker-popover-left{transform-origin:bottom right}
.map-marker-anchor.active .map-marker-popover{transform:translateY(0) scale(1)}
.marker-popup-logo-demi{background:linear-gradient(135deg,#4058f5 0%,#6878ff 100%);border:1px solid #bec8ffb8;min-width:190px;box-shadow:0 8px 24px #4154eb4d}
.marker-popup-logo-demi .marker-popup-demi-wordmark{width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent}

/* Safari-safe mobile map layer. Its geometry is synchronized with the existing SVG viewBox in app.js. */
.mobile-map-background{display:none}
@media (max-width:767px){
  .network-map .real-world-map{visibility:hidden}
  .mobile-map-background{display:block;position:absolute;top:0;left:0;max-width:none;object-fit:fill;opacity:.22;filter:invert(72%) sepia(15%) saturate(560%) hue-rotate(182deg) brightness(84%);pointer-events:none;transform-origin:0 0}
  .map-company-card>a .arrow,.marker-popup-company>a .arrow{font-size:0;font-family:Arial,sans-serif;line-height:1}
  .map-company-card>a .arrow::before,.marker-popup-company>a .arrow::before{content:"\2197\FE0E";font-family:Arial,sans-serif;font-size:14px;line-height:1}
  .marker-popup-company>a .arrow::before{font-size:11px}
  .map-marker-anchor[data-location="dubai"].active .map-marker{opacity:0;visibility:hidden}
  .map-marker-popover-left .marker-popup-logo-demi{width:100%;min-width:0}
  .network-map{overflow:visible}
  .map-marker-anchor[data-location="tashkent"] .map-marker-popover-group{top:-92px;right:auto;left:0;width:min(400px,calc(100vw - 30px));max-width:none;transform:translateX(-56.5%) translateY(8px) scale(.97);transform-origin:center}
  .map-marker-anchor[data-location="tashkent"].active .map-marker-popover-group{transform:translateX(-56.5%) translateY(0) scale(1)}
  .map-marker-popover-group .marker-popup-company{grid-template-columns:96px minmax(0,1fr);gap:12px}
  .map-marker-popover-group .marker-popup-logo{width:96px;height:44px}
}

/* Full navigation panels and active header buttons. */
.nav-trigger:after{display:none}.nav-trigger{border-radius:999px;padding:0 16px;min-height:50px;transition:background .24s ease,color .24s ease}.nav-trigger.active{background:#ffffff12;color:#fff}.nav-trigger.active .chevron{transform:rotate(225deg) translate(-1px,-1px)}
.mega-menu{top:80px;left:30px;right:30px;width:auto;min-height:370px;border-radius:0 0 26px 26px;background:#f7f8fa;color:#071523;padding:0;overflow:hidden}
.mega-menu.open .mega-content{animation:mega-content-in .38s cubic-bezier(.22,1,.36,1) both}.mega-content{padding:58px 60px 60px}.mega-layout{grid-template-columns:minmax(330px,462px) minmax(0,1fr);gap:95px;min-height:250px}.mega-intro{border-right:1px solid #dde2e9;padding:5px 58px 0 0}.mega-eyebrow,.mega-groups h3{display:block;margin-bottom:24px;color:#78849a;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700}.mega-intro h2{margin:0 0 15px;font-size:48px;line-height:1.05;font-weight:450;letter-spacing:-.045em}.mega-intro p{max-width:350px;margin:0;color:#718096;font-size:15px;line-height:1.65}.mega-explore{width:max-content!important;min-height:48px!important;margin-top:30px!important;padding:0 19px!important;border:0!important;border-radius:999px!important;background:#e8ebff!important;color:#2848dc!important;display:inline-flex!important;align-items:center;gap:26px;font-size:12px!important;font-weight:700}.mega-explore:hover{background:#dde2ff!important;padding-left:19px!important;transform:translateY(-2px)}
.mega-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:64px}.mega-groups section h3{margin-top:0}.mega-groups section>div{display:grid}.mega-groups a{display:grid!important;gap:5px;padding:13px 0!important;border-bottom:1px solid #dfe3e9!important}.mega-groups a:hover{padding-left:7px!important}.mega-groups strong{font-size:14px}.mega-groups small{color:#738097;font-size:10px}.mega-groups .arrow{margin-left:auto}
@keyframes mega-content-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.mega-content{padding:42px}.mega-layout{grid-template-columns:320px 1fr;gap:48px}.mega-intro{padding-right:36px}.mega-intro h2{font-size:42px}}

/* Original DemInvestMe color system. */
.nav{color:#fff}.nav-scrolled{background:#081728c2;border-color:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav.mega-active{background:#081728f0;border-color:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.nav-trigger{color:#ffffffc2}.nav-trigger:hover,.nav-trigger.active{color:#fff;background:#ffffff1a}.nav-cta{background:linear-gradient(120deg,#5b6cff,#7a8bff);box-shadow:0 8px 26px #5b6cff40}
.mega-menu{background:#f7f8fa;color:#071523}.mega-eyebrow,.mega-groups h3{color:#78849a}.mega-intro{border-color:#dde2e9}.mega-intro p,.mega-groups small{color:#718096}.mega-explore{background:#e8ebff!important;color:#2848dc!important}
.news-section{background:#f3f5f8;color:#071523}.news-card{background:#fff;border-color:#e0e4eb}.news-card>p{color:#768093}.news-card>a{border-color:#e2e6ed}.news-card>a .arrow{color:#5b6cff}
.contact-address{max-width:690px;margin:28px auto 32px;color:#b6c2d4;font-size:14px;line-height:1.7;font-style:normal}.contact-address strong{color:#fff;font-weight:600}
.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:380px){.footer-links{grid-template-columns:1fr}}

/* Our developments: visual cards in the same editorial system as the news cards. */
.developments-section{padding-top:clamp(92px,10vw,156px);padding-bottom:clamp(92px,10vw,156px);background:#f3f5f8;color:#071523}
.developments-head{max-width:760px}
.developments-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:54px}
.development-card{display:flex;flex-direction:column;min-height:456px;border:1px solid #dce2ea;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 18px 38px #0b1b2d0c;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s}
.development-card:hover{transform:translateY(-5px);border-color:#b9c3d4;box-shadow:0 24px 46px #0b1b2d16}
.development-art{position:relative;height:196px;flex:0 0 196px;overflow:hidden;background:#112843}
.development-art::after{position:absolute;inset:0;content:"";background:linear-gradient(120deg,#07182d30,#4e5dca17);pointer-events:none}
.development-art img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.development-card:hover .development-art img{transform:scale(1.04)}
.development-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:29px 30px 28px}
.development-card h3{margin:0 0 12px;color:#0a192b;font-size:27px;line-height:1.1;letter-spacing:-.045em}
.development-card p{margin:0;color:#718096;font-size:14px;line-height:1.65}
.development-card .text-link{width:100%;display:flex;justify-content:space-between;gap:16px;margin-top:auto;padding-top:23px;border-top:1px solid #e1e6ed;color:#0a192b;font-size:12px;font-weight:700}.development-card .text-link .arrow{color:#5b6cff}
@media(max-width:620px){.developments-section{padding-top:72px;padding-bottom:72px}.developments-grid{grid-template-columns:1fr;gap:14px;margin-top:32px}.development-card{min-height:404px;border-radius:20px}.development-art{height:158px;flex-basis:158px}.development-card-content{padding:23px 22px 22px}.development-card h3{font-size:24px}.development-card p{font-size:13px}.development-card .text-link{padding-top:20px;margin-top:20px}}

/* Compact language control; it reuses the existing header spacing and palette. */
.language-switcher{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#ffffff70;font-size:9px;font-weight:700;letter-spacing:.1em}
.language-option{cursor:pointer;border:0;background:transparent;color:#ffffff8c;padding:7px 2px;transition:color .2s ease}
.language-option:hover,.language-option:focus-visible,.language-option.active{color:#fff}
.language-option:focus-visible{outline:1px solid #8490ff;outline-offset:2px;border-radius:4px}
.mobile-language-switcher{display:none}
@media(max-width:1100px) and (min-width:901px){.nav{gap:18px;padding-inline:28px}.nav-trigger{padding-inline:10px}.nav-cta{padding-inline:15px;gap:10px}}
@media(max-width:900px){.desktop-language-switcher{display:none}.mobile-language-switcher{display:flex;color:#667085;margin:0 0 14px}.mobile-language-switcher .language-option{color:#657087;font-size:12px;padding:10px 4px}.mobile-language-switcher .language-option.active{color:#4058f5}}

/* Longer localized headings keep the same hierarchy without leaving the phone viewport. */
@media(min-width:621px){
  html:lang(ru) .hero-copy{width:100%;max-width:min(960px,100%)}
  html:lang(ru) .hero h1{font-size:clamp(48px,5.15vw,80px)}
  html:lang(ru) .hero-actions .button{flex:0 0 auto;white-space:nowrap}
}
@media(max-width:620px){
  html:lang(ru) .hero h1,html:lang(ru) .countries-section h2{font-size:clamp(33px,9.2vw,38px);letter-spacing:-.055em}
  html:lang(ru) .hero h1,html:lang(ru) .section h2{overflow-wrap:normal;word-break:normal}
}
