/* ==========================================================================
   Nusantara Digital — styles
   Источник: Figma "Nusantre", страница concept (макет 1440px).
   Все размеры заданы в единицах макета через --u:
   при ширине окна >= 1440px 1u = 1px, при меньшей — макет пропорционально
   масштабируется (в прототипе нет отдельных мобильных экранов).
   ========================================================================== */

/* Fonts ------------------------------------------------------------------- */
/* Inter 3.19 (static) — метрики совпадают с макетом в Figma; Inter 4 с Google Fonts даёт другие ширины строк */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url('../fonts/nunito-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito';font-style:normal;font-weight:200 1000;font-display:swap;src:url('../fonts/nunito-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/poppins-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/poppins-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/poppins-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Tokens ------------------------------------------------------------------ */
:root{
  --u:min(1px, calc(100vw / 1440));

  --yellow:#ffba00;
  --yellow-hover:#ffd230;
  --orange:#fd9a00;
  --neutral-100:#f5f5f5;
  --neutral-700:#404040;
  --gray:#444;
  --blue-500:#2b7fff;
  --neutral-200:#e5e5e5;
  --border-default:#cacaca;
  --border-filled:#a1a1a1;
  --border-brand:#0070cc;
  --border-danger:#fb2c36;
  --text-primary:#171717;
  --text-tertiary:#737373;
  --text-disabled:#a1a1a1;
  --text-danger:#e7000b;

  --ff-title:'Poppins',sans-serif;
  --ff-text:'Inter',sans-serif;
  --ff-logo:'Nunito',sans-serif;
  --ff-field:'Space Grotesk',sans-serif;
}

/* Base -------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#fff;color:#000;font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*16);line-height:calc(var(--u)*24);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
h1,h2,h3,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
img{display:block;max-width:none}
picture{display:contents}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

/* Typography (Figma text styles) ------------------------------------------ */
.t-4xl{font-family:var(--ff-title);font-weight:500;font-size:calc(var(--u)*60);line-height:calc(var(--u)*64)}
.t-3xl{font-family:var(--ff-title);font-weight:500;font-size:calc(var(--u)*48);line-height:calc(var(--u)*52);letter-spacing:calc(var(--u)*-1.44)}
.t-sm{font-family:var(--ff-title);font-weight:500;font-size:calc(var(--u)*20);line-height:calc(var(--u)*28)}
.t-xs{font-family:var(--ff-title);font-weight:500;font-size:calc(var(--u)*16);line-height:calc(var(--u)*24)}
.x-lg{font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*18);line-height:calc(var(--u)*28)}
.x-md{font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*16);line-height:calc(var(--u)*24)}
.x-sm{font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*14);line-height:calc(var(--u)*24)}
.w-400{font-weight:400}
.w-500{font-weight:500}
.w-600{font-weight:600}
.c-white{color:#fff}
.c-gray{color:var(--gray)}

/* Page frame -------------------------------------------------------------- */
.page{position:relative;width:calc(var(--u)*1440);margin:0 auto}
.main{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*120);padding-top:calc(var(--u)*32)}

/* Header ------------------------------------------------------------------ */
.header{position:absolute;inset:0 0 auto 0;z-index:10;height:0}
.logo{position:absolute;left:calc(var(--u)*81);top:calc(var(--u)*42);display:flex;align-items:flex-start;gap:calc(var(--u)*10)}
.logo__mark{width:calc(var(--u)*59.293);height:calc(var(--u)*36);margin-top:calc(var(--u)*4)}
.logo__text{display:flex;flex-direction:column;flex:none;min-width:calc(var(--u)*113);white-space:nowrap;font-family:var(--ff-logo);font-size:calc(var(--u)*20);line-height:calc(var(--u)*24);color:#000}
.logo__text b{font-weight:900;margin-bottom:calc(var(--u)*-4)}
.logo__text span{font-weight:500}
.nav{position:absolute;left:calc(var(--u)*408);top:calc(var(--u)*62);display:flex;align-items:center;gap:calc(var(--u)*32);white-space:nowrap}

/* Button ------------------------------------------------------------------ */
.btn{display:inline-flex;align-items:flex-start;flex:none;padding-bottom:calc(var(--u)*4);border-radius:calc(var(--u)*24);cursor:pointer}
.btn__box{display:flex;align-items:center;border-radius:calc(var(--u)*24);background:var(--yellow);box-shadow:0 calc(var(--u)*4) 0 var(--orange);color:#000;white-space:nowrap;transition:background-color .1s linear,box-shadow .1s ease-in-out,transform .1s ease-in-out}
.btn__label{display:flex;align-items:center;justify-content:center}
.btn--xl{height:calc(var(--u)*80)}
.btn--xl .btn__box{height:calc(var(--u)*76);gap:calc(var(--u)*16);padding:calc(var(--u)*16) calc(var(--u)*36) calc(var(--u)*16) calc(var(--u)*40)}
.btn--xl .btn__icon{width:calc(var(--u)*48);height:calc(var(--u)*48)}
.btn__icon--circle{display:flex;align-items:center;justify-content:center;flex:none;border:calc(var(--u)*1) solid #000;border-radius:calc(var(--u)*99)}
.btn__icon--circle img{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.btn--md{height:calc(var(--u)*52)}
.btn--md .btn__box{height:calc(var(--u)*48);gap:calc(var(--u)*8);padding:calc(var(--u)*16) calc(var(--u)*30) calc(var(--u)*16) calc(var(--u)*32)}
.btn--md .btn__label{padding:0 calc(var(--u)*2)}
.btn--md .btn__icon{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.btn:hover .btn__box{background:var(--yellow-hover)}
.btn:active .btn__box{background:var(--yellow);box-shadow:0 calc(var(--u)*1) 0 var(--orange);transform:translateY(calc(var(--u)*3))}

/* Button "go to" (круглая стрелка) ---------------------------------------- */
.goto{flex:none;width:calc(var(--u)*48);height:calc(var(--u)*48);border-radius:calc(var(--u)*99);background:var(--yellow);overflow:hidden;transition:background-color .001s linear}
.goto__slider{display:flex;align-items:center;width:calc(var(--u)*144);height:100%;transform:translateX(calc(var(--u)*-96));transition:transform .001s linear}
.goto__cell{flex:none;width:calc(var(--u)*48);display:flex;align-items:center;justify-content:center}
.goto__cell img{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.goto:hover{background:var(--yellow-hover)}
.goto:hover .goto__slider{transform:translateX(calc(var(--u)*-48))}

/* Section tag ------------------------------------------------------------- */
.tag{display:flex;align-items:center;gap:calc(var(--u)*10);color:var(--neutral-700);font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*14);line-height:calc(var(--u)*24);letter-spacing:calc(var(--u)*.7);white-space:nowrap}
.tag--g12{gap:calc(var(--u)*12)}
.tag--white{color:#fff}
.tag__mark{flex:none;display:flex;justify-content:center;width:calc(var(--u)*26);height:calc(var(--u)*22);transform:scaleX(-1)}
.tag__mark img{width:calc(var(--u)*24.2927);height:calc(var(--u)*22)}

/* Hero (index) ------------------------------------------------------------ */
.hero{position:relative;flex:none;width:calc(var(--u)*1368);height:calc(var(--u)*501)}
.hero__photo{position:absolute;right:0;top:0;width:calc(var(--u)*788);height:calc(var(--u)*460);border-radius:calc(var(--u)*40);background:#d9d9d9;overflow:hidden}
.hero__photo img{position:absolute;left:-34.83%;top:-8.26%;width:169.67%;height:153.26%}
.hero__btn{position:absolute;left:calc(var(--u)*1044.25);top:calc(var(--u)*421)}
.hero__shape{position:absolute;left:0;top:calc(var(--u)*212);width:calc(var(--u)*784.251);height:calc(var(--u)*289)}
.hero__title{position:absolute;left:calc(var(--u)*116);top:calc(var(--u)*256);color:#fff;white-space:nowrap}
.hero__text{position:absolute;left:calc(var(--u)*272.25);top:calc(var(--u)*410);width:calc(var(--u)*466);color:#fff}
.hero__circle{position:absolute;left:calc(var(--u)*611.25);top:calc(var(--u)*113);width:calc(var(--u)*217.743);height:calc(var(--u)*213.279);animation:circle-rotate 10s linear infinite}
@keyframes circle-rotate{from{transform:rotate(-360deg)}to{transform:rotate(0deg)}}

/* What we do / section head ----------------------------------------------- */
.section{display:flex;flex-direction:column;align-items:center;flex:none}
.shead{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*20);width:calc(var(--u)*1136)}
.shead__row{display:flex;align-items:center;gap:calc(var(--u)*60);width:100%}
.shead__title{flex:1 0 0;min-width:1px}
.shead__text{flex:none;width:calc(var(--u)*439)}

.cards{display:flex;align-items:flex-start;justify-content:space-between;width:calc(var(--u)*1158)}
.card{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*24);flex:none;width:calc(var(--u)*344);cursor:pointer}
.card__media{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}
.card__base{position:absolute;left:0;bottom:0;width:calc(var(--u)*344);height:calc(var(--u)*95);padding:0 1.51%}
.card__base img{width:100%;height:100%}
.card__img{position:relative;flex:none;width:calc(var(--u)*292);height:calc(var(--u)*240);overflow:hidden;pointer-events:none}
.card__img img{position:absolute;left:0;top:-10.53%;width:100%;height:121.8%}
.card__body{display:flex;align-items:flex-start;gap:calc(var(--u)*16);width:100%;padding:0 calc(var(--u)*12)}
.card__text{display:flex;flex-direction:column;gap:calc(var(--u)*8);flex:1 0 0;min-width:1px}

/* Real technology --------------------------------------------------------- */
.real{position:relative;flex:none;width:calc(var(--u)*1368.209);height:calc(var(--u)*513)}
.real__media{position:absolute;inset:0}
.real__bg{position:absolute;left:0;top:0;width:100%;height:100%}
.real__title{position:absolute;left:calc(var(--u)*108.21);top:calc(var(--u)*44);color:#fff;white-space:nowrap}
.real__list{position:absolute;left:calc(var(--u)*1011.21);top:calc(var(--u)*3);width:calc(var(--u)*237);display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*8)}
.real__list li{display:flex;align-items:center;gap:calc(var(--u)*8);white-space:nowrap;color:var(--gray);font-weight:500}
.real__list img{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.real__note{position:absolute;left:calc(var(--u)*151.21);top:calc(var(--u)*369);display:flex;align-items:center;gap:calc(var(--u)*24)}
.real__mark{flex:none;width:calc(var(--u)*124);height:calc(var(--u)*113);transform:scaleX(-1)}
.real__note p{width:calc(var(--u)*660);color:#fff}

/* Our impact -------------------------------------------------------------- */
.section--g40 > .tag,.trusted .tag{width:calc(var(--u)*1137)}
.stats{display:flex;align-items:center;gap:calc(var(--u)*16);width:calc(var(--u)*1137);text-align:center}
.stat{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*8);flex:1 0 0;min-width:1px;padding:calc(var(--u)*40) 0;border-radius:calc(var(--u)*28);background:var(--neutral-100)}
.stat p{width:100%}

/* Trusted by -------------------------------------------------------------- */
.trusted{width:calc(var(--u)*1368);gap:calc(var(--u)*40);justify-content:center}
.logos{position:relative;flex:none;width:calc(var(--u)*1137);height:calc(var(--u)*40);overflow:hidden}
.logos__row{position:absolute;left:0;top:0;display:flex;align-items:center;gap:calc(var(--u)*80);animation:logos-slide 9.23s linear infinite}
.logos__set{display:flex;align-items:center;gap:calc(var(--u)*80);flex:none}
.logos__item{flex:none}
.logo-unity{width:calc(var(--u)*108.571);height:calc(var(--u)*39.934)}
.logo-unreal{display:flex;align-items:center;gap:calc(var(--u)*7.937)}
.logo-unreal__mark{width:calc(var(--u)*40.054);height:calc(var(--u)*40)}
.logo-unreal__text{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*2.646);width:calc(var(--u)*82.897)}
.logo-unreal__t1{width:calc(var(--u)*82.897);height:calc(var(--u)*11.258)}
.logo-unreal__t2{width:calc(var(--u)*49.944);height:calc(var(--u)*7.668)}
.logo-aws{position:relative;width:calc(var(--u)*60.686);height:calc(var(--u)*36);padding:.6% .55%}
.logo-aws img{width:100%;height:100%}
.logo-gcloud{width:calc(var(--u)*196);height:calc(var(--u)*28)}
.logo-nvidia{width:calc(var(--u)*157.981);height:calc(var(--u)*30)}
.logo-amd{width:calc(var(--u)*117);height:calc(var(--u)*28)}
.logos__grad{position:absolute;top:0;bottom:0;width:calc(var(--u)*146);background:linear-gradient(to right,#fff,rgba(255,255,255,0));pointer-events:none}
.logos__grad--l{left:0}
.logos__grad--r{right:0;transform:scaleX(-1)}
/* один набор логотипов + gap = 1251.126u — бесшовный цикл */
@keyframes logos-slide{from{transform:translateX(0)}to{transform:translateX(calc(var(--u)*-1251.126))}}

/* About ------------------------------------------------------------------- */
.about{display:flex;align-items:flex-end;justify-content:center;flex:none;width:calc(var(--u)*1368)}
.about__left{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*10);flex:none;width:calc(var(--u)*837);height:calc(var(--u)*345);margin-right:calc(var(--u)*-197)}
.about__shape{position:absolute;left:0;top:0;width:calc(var(--u)*847);height:calc(var(--u)*345);padding:0 1.62%}
.about__shape img{width:100%;height:100%}
.about__content{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*25);width:100%;padding:calc(var(--u)*44) calc(var(--u)*252) calc(var(--u)*44) calc(var(--u)*166)}
.about__head{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*20);width:calc(var(--u)*369)}
.about__right{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*32);flex:none;padding-bottom:calc(var(--u)*44)}
.about__n{width:calc(var(--u)*520);height:calc(var(--u)*306)}
.about__row{display:flex;align-items:flex-end;justify-content:space-between;width:100%}
.about__slogan{white-space:nowrap}

/* Footer ------------------------------------------------------------------ */
.footer{position:relative;height:calc(var(--u)*804);margin-top:calc(var(--u)*120);border-radius:calc(var(--u)*40) calc(var(--u)*40) 0 0;background:#000;overflow:hidden}
.footer__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.footer__cta{position:absolute;left:calc(50% + var(--u)*.5);top:calc(var(--u)*40);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*32);width:calc(var(--u)*813)}
.footer__head{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*20);width:100%}
.footer__title{width:100%;text-align:center;color:#fff}
.footer__bar{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;padding:calc(var(--u)*56) calc(var(--u)*10);background:rgba(0,0,0,.5)}
.footer__inner{display:flex;align-items:center;justify-content:space-between;width:calc(var(--u)*1134)}
.footer__left{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}
.footer__brand{display:flex;align-items:flex-end;gap:calc(var(--u)*72)}
.footer__logo{display:flex;align-items:center;gap:calc(var(--u)*10)}
.footer__logo .logo__mark{margin-top:0}
.footer__logo .logo__text{color:#fff}
.footer__right{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*34);flex:none;color:#fff}
.footer__nav{display:flex;align-items:center;gap:calc(var(--u)*32);width:100%;white-space:nowrap}

/* Generic section widths (внутренние страницы) ---------------------------- */
.section--g60{width:calc(var(--u)*1368);gap:calc(var(--u)*60)}
.section--g40{width:calc(var(--u)*1366);gap:calc(var(--u)*40)}
.section--g40 .stats{width:calc(var(--u)*1137)}

/* Inner hero -------------------------------------------------------------- */
.ihero{position:relative;flex:none;width:calc(var(--u)*1368);padding-top:calc(var(--u)*439)}
.ihero__photo{position:absolute;right:0;top:0;width:calc(var(--u)*788);height:calc(var(--u)*460);border-radius:calc(var(--u)*40);overflow:hidden}
.ihero__photo img{width:100%;height:100%;object-fit:cover}
.ihero__btn{position:absolute;left:calc(var(--u)*1044.25);top:calc(var(--u)*348)}
.ihero__shape{position:absolute;left:0;top:calc(var(--u)*212);width:calc(var(--u)*657.835);height:calc(var(--u)*192)}
.ihero__title{position:absolute;left:calc(var(--u)*116);top:calc(var(--u)*256);color:#fff;white-space:nowrap}
.ihero__text{position:relative;width:calc(var(--u)*407);margin-left:calc(var(--u)*117)}

.crumbs{position:absolute;left:calc(var(--u)*116);top:calc(var(--u)*162);display:flex;align-items:center;gap:calc(var(--u)*12);white-space:nowrap}
.crumbs__home,.crumbs__home img{display:block;flex:none;width:calc(var(--u)*20);height:calc(var(--u)*20)}
.crumbs__mark{flex:none;display:flex;justify-content:center;width:calc(var(--u)*12);height:calc(var(--u)*22);transform:scaleX(-1)}
.crumbs__mark img{width:calc(var(--u)*10.7928);height:calc(var(--u)*22)}

/* Feature cards (2 и 3 в ряд) ---------------------------------------------- */
.fcards{display:flex;align-items:flex-start;gap:calc(var(--u)*60);width:calc(var(--u)*1158)}
.fcard{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u)*24);flex:1 0 0;min-width:1px}
.fcard__media{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}
.fcard__base{position:absolute;bottom:0;display:flex;justify-content:center;height:calc(var(--u)*95)}
.fcard__base img{height:100%}
.fcard__base--a{left:0;width:calc(var(--u)*548.385)}
.fcard__base--a img{width:calc(var(--u)*538.026)}
.fcard__base--b{left:calc(var(--u)*10);width:calc(var(--u)*538.885)}
.fcard__base--b img{width:calc(var(--u)*528.526)}
.fcard__base--c{left:0;width:calc(var(--u)*346.385)}
.fcard__base--c img{width:calc(var(--u)*336.026)}
.fcard__img{position:relative;flex:none;width:calc(var(--u)*var(--w,292));height:calc(var(--u)*240);overflow:hidden}
.fcard__img img{position:absolute;left:0;top:var(--t,0);width:100%;height:var(--h,100%)}
.fcard__img--cover img{object-fit:cover}
.fcard__body{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*8);width:100%;padding:0 calc(var(--u)*12)}
.fcard__body > *{width:100%}

/* Steps ------------------------------------------------------------------- */
.steps{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*16);width:calc(var(--u)*1136)}
.steps__line{position:relative;flex:none;width:calc(var(--u)*887);height:calc(var(--u)*10)}
.steps__line img{position:absolute;left:calc(var(--u)*-4);top:calc(var(--u)*-4);width:calc(var(--u)*895);height:calc(var(--u)*18)}
.steps__row{display:flex;align-items:flex-start;gap:calc(var(--u)*20);width:100%}
.step{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*8);flex:1 0 0;min-width:1px}
.step__head{display:flex;align-items:flex-end;gap:calc(var(--u)*12);white-space:nowrap}
.step__num{font-family:var(--ff-title);font-weight:400;font-size:calc(var(--u)*24);line-height:calc(var(--u)*32);color:var(--blue-500);text-align:center}
.step__title{padding:calc(var(--u)*1) 0}
.step > p{width:100%}

/* Global foundation (infrastructure) -------------------------------------- */
.global{display:flex;align-items:center;justify-content:space-between;flex:none;align-self:flex-start;width:calc(var(--u)*1135);margin-left:calc(var(--u)*152)}
.global__col{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*20);flex:none;width:calc(var(--u)*538)}
.global__col h2{width:100%}
.global__text{width:calc(var(--u)*407)}
.global__map{flex:none;width:calc(var(--u)*544.946);height:calc(var(--u)*340)}

/* Contacts ---------------------------------------------------------------- */
.chero{position:relative;display:grid;grid-template-columns:calc(var(--u)*928) calc(var(--u)*385);align-items:start;flex:none;width:calc(var(--u)*1368);min-height:calc(var(--u)*554)}
.chero__shape{position:absolute;left:calc(var(--u)*1.55);top:calc(var(--u)*212);width:calc(var(--u)*697.835);height:calc(var(--u)*192)}
.chero__title{position:absolute;left:calc(var(--u)*116);top:calc(var(--u)*256);color:#fff;white-space:nowrap}
.chero__circle{position:absolute;left:calc(var(--u)*611);top:calc(var(--u)*113);width:calc(var(--u)*217.743);height:calc(var(--u)*213.279);animation:circle-rotate 10s linear infinite}
.cinfo{grid-area:1/1;position:relative;margin:calc(var(--u)*480) 0 calc(var(--u)*-50) calc(var(--u)*114);display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*24);width:calc(var(--u)*254)}
.cinfo__row{display:flex;align-items:center;gap:calc(var(--u)*20);width:100%;white-space:nowrap}
.cinfo__icon{flex:none;display:flex;align-items:center;justify-content:center;width:calc(var(--u)*48);height:calc(var(--u)*48);border-radius:calc(var(--u)*99);background:var(--neutral-200)}
.cinfo__icon img{width:calc(var(--u)*24);height:calc(var(--u)*24)}
.cinfo__text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}

.form{grid-area:1/2;position:relative;margin:calc(var(--u)*212) 0 calc(var(--u)*-50);display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*24);width:calc(var(--u)*385)}
.form__fields{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*12);width:100%}
.form__item{display:flex;flex-direction:column;gap:calc(var(--u)*6);width:100%}
.field{display:block;width:100%;height:calc(var(--u)*48);margin:0;padding:0 calc(var(--u)*20);border:calc(var(--u)*1) solid var(--border-default);border-radius:calc(var(--u)*16);background:#fff;color:var(--text-primary);font-family:var(--ff-field);font-weight:400;font-size:calc(var(--u)*16);line-height:calc(var(--u)*24);outline:none;-webkit-appearance:none;appearance:none}
textarea.field{height:calc(var(--u)*108);padding:calc(var(--u)*12) calc(var(--u)*20);resize:none}
.field::placeholder{color:var(--text-tertiary);opacity:1}
.field:not(:placeholder-shown){border-color:var(--border-filled)}
.field:focus:placeholder-shown{border-color:var(--border-brand)}
.field:disabled{background:var(--neutral-100);border-color:var(--border-filled);color:var(--text-disabled)}
.field:disabled::placeholder{color:var(--text-disabled)}
.field.is-error,.field.is-error:focus{border-color:var(--border-danger)}
.form__status{width:100%;color:var(--text-primary);font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*14);line-height:calc(var(--u)*20)}
.form__status.is-error{color:var(--text-danger)}
.form__status[hidden]{display:none}
.field__error{padding:0 calc(var(--u)*20);color:var(--text-danger);font-family:var(--ff-text);font-weight:400;font-size:calc(var(--u)*14);line-height:calc(var(--u)*20)}

.footer--short{height:calc(var(--u)*602)}
.footer--short .footer__bg{inset:auto;left:0;top:-33.76%;width:100%;height:133.97%}

/* ==========================================================================
   Mobile / tablet (< 900px)
   В прототипе мобильных экранов нет — раскладка адаптирована по согласованию:
   те же компоненты и стили, сложенные в одну колонку. База 390px,
   1u = ширина / 390 (на планшетах колонка ограничена и центрируется).
   ========================================================================== */
@media (max-width:899.98px){
  :root{--u:min(calc(100vw / 390), 1.6px)}
  .page{width:calc(var(--u)*390)}
  .main{gap:calc(var(--u)*72);padding-top:calc(var(--u)*84)}

  /* type */
  .t-3xl{font-size:calc(var(--u)*30);line-height:calc(var(--u)*36);letter-spacing:calc(var(--u)*-.9)}
  .x-lg{font-size:calc(var(--u)*16);line-height:calc(var(--u)*24)}
  .shead br,.hero__text br,.real__note br,.fcard p br,.step p br,.global br{display:none}

  /* header */
  .logo{left:calc(var(--u)*16);top:calc(var(--u)*22);gap:calc(var(--u)*8)}
  .logo__mark{width:calc(var(--u)*47.43);height:calc(var(--u)*28.8);margin-top:calc(var(--u)*3.2)}
  .logo__text{min-width:0;font-size:calc(var(--u)*16);line-height:calc(var(--u)*19.2)}
  .logo__text b{margin-bottom:calc(var(--u)*-3.2)}
  .nav{left:auto;right:calc(var(--u)*16);top:calc(var(--u)*27);gap:calc(var(--u)*20);font-size:calc(var(--u)*14)}

  /* hero (index) */
  .hero{display:grid;grid-template-columns:100%;width:calc(var(--u)*358);height:auto}
  .hero__photo{position:relative;grid-area:1/1;right:auto;top:auto;width:100%;height:calc(var(--u)*240);border-radius:calc(var(--u)*28)}
  .hero__photo img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:60% 25%}
  .hero__shape{position:relative;grid-area:2/1;left:0;top:0;width:100%;height:calc(var(--u)*104.5);margin-top:calc(var(--u)*-44)}
  .hero__title{position:relative;grid-area:2/1;left:0;top:0;align-self:center;margin-top:calc(var(--u)*-44);padding-left:calc(var(--u)*40);font-size:calc(var(--u)*24);line-height:calc(var(--u)*28)}
  .hero__text{position:static;grid-area:3/1;width:100%;margin-top:calc(var(--u)*20);color:#000}
  .hero__btn{position:relative;grid-area:4/1;left:0;top:0;justify-self:start;margin-top:calc(var(--u)*24)}
  .hero__circle{left:auto;right:calc(var(--u)*8);top:calc(var(--u)*8);width:calc(var(--u)*98);height:calc(var(--u)*96)}

  /* sections */
  .section--g60{width:calc(var(--u)*358);gap:calc(var(--u)*40)}
  .section--g40{width:calc(var(--u)*358);gap:calc(var(--u)*28)}
  .section--g40 > .tag,.trusted .tag{width:100%}
  .shead{width:100%;gap:calc(var(--u)*12)}
  .shead__row{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*16)}
  .shead__title{flex:none;width:100%}
  .shead__text{width:100%}

  .cards{flex-direction:column;align-items:center;gap:calc(var(--u)*40);width:100%}

  /* real technology */
  .real{display:flex;flex-direction:column;gap:calc(var(--u)*20);width:calc(var(--u)*358);height:auto}
  .real__title{position:static;order:1;color:#000;white-space:normal}
  .real__list{position:static;order:2;width:100%}
  .real__media{position:relative;inset:auto;order:3;width:100%;height:calc(var(--u)*190);border-radius:calc(var(--u)*28);overflow:hidden}
  .real__bg{left:calc(var(--u)*-116);top:calc(var(--u)*-66.5);width:calc(var(--u)*684);height:calc(var(--u)*256.5)}
  .real__note{position:static;order:4;gap:calc(var(--u)*16)}
  .real__mark{width:calc(var(--u)*62);height:calc(var(--u)*56.5)}
  .real__note p{width:auto;color:#000;font-size:calc(var(--u)*16);line-height:calc(var(--u)*24)}

  /* impact */
  .stats,.section--g40 .stats{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u)*12);width:100%}
  .stat{padding:calc(var(--u)*24) 0;border-radius:calc(var(--u)*24);gap:calc(var(--u)*4)}
  .stat .t-4xl{font-size:calc(var(--u)*36);line-height:calc(var(--u)*44)}
  .stat .x-md{font-size:calc(var(--u)*14);line-height:calc(var(--u)*20)}

  /* trusted */
  .trusted{width:calc(var(--u)*358);gap:calc(var(--u)*24)}
  .logos{width:100%}
  .logos__grad{width:calc(var(--u)*48)}

  /* about */
  .about{flex-direction:column;align-items:stretch;width:calc(var(--u)*358)}
  .about__left{width:100%;height:auto;margin-right:0;border-radius:calc(var(--u)*28);overflow:hidden}
  .about__shape{inset:0;width:100%;height:100%;padding:0}
  .about__shape img{object-fit:cover}
  .about__content{gap:calc(var(--u)*16);padding:calc(var(--u)*32) calc(var(--u)*24) calc(var(--u)*72)}
  .about__head{width:100%;gap:calc(var(--u)*12)}
  .about__right{align-items:stretch;gap:calc(var(--u)*24);margin-top:calc(var(--u)*-48);padding-bottom:0}
  .about__n{align-self:flex-end;width:calc(var(--u)*238);height:calc(var(--u)*140);margin-right:calc(var(--u)*12)}
  .about__row{align-items:center}
  .about__slogan{font-size:calc(var(--u)*14);line-height:calc(var(--u)*20)}

  /* footer */
  .footer{display:flex;flex-direction:column;height:auto;margin-top:calc(var(--u)*72);border-radius:calc(var(--u)*28) calc(var(--u)*28) 0 0}
  .footer__bg{object-position:50% 40%}
  .footer__cta{position:relative;left:auto;top:auto;transform:none;gap:calc(var(--u)*24);width:calc(var(--u)*358);margin:calc(var(--u)*40) auto 0}
  .footer__head{gap:calc(var(--u)*12)}
  .footer__bar{position:relative;margin-top:calc(var(--u)*250);padding:calc(var(--u)*32) 0}
  .footer__inner{flex-direction:column;align-items:flex-start;gap:calc(var(--u)*24);width:calc(var(--u)*358)}
  .footer__left,.footer__right{display:contents}
  .footer__brand{order:1;align-items:center;justify-content:space-between;gap:0;width:100%}
  .footer__nav{order:2;justify-content:flex-start;gap:calc(var(--u)*20);color:#fff}
  .footer__right > p{order:3;color:#fff}
  .footer__left > p{order:4}
  .footer--short{height:auto}
  .footer--short .footer__bg{inset:0;top:0;height:100%}
  .footer--short .footer__bar{margin-top:calc(var(--u)*230)}

  /* inner hero */
  .ihero{display:grid;grid-template-columns:100%;width:calc(var(--u)*358);padding-top:0}
  .crumbs{position:static;grid-area:1/1;margin-bottom:calc(var(--u)*16)}
  .ihero__photo{position:relative;grid-area:2/1;right:auto;top:auto;width:100%;height:calc(var(--u)*220);border-radius:calc(var(--u)*28)}
  .ihero__shape{position:relative;grid-area:3/1;left:0;top:0;width:100%;height:calc(var(--u)*104.5);margin-top:calc(var(--u)*-44)}
  .ihero__title{position:relative;grid-area:3/1;left:0;top:0;align-self:center;margin-top:calc(var(--u)*-44);padding-left:calc(var(--u)*40);font-size:calc(var(--u)*24);line-height:calc(var(--u)*28);letter-spacing:calc(var(--u)*-.72)}
  .ihero__text{grid-area:4/1;width:100%;margin:calc(var(--u)*20) 0 0}
  .ihero__btn{position:relative;grid-area:5/1;left:0;top:0;justify-self:start;margin-top:calc(var(--u)*24)}

  /* feature cards */
  .fcards{flex-direction:column;align-items:center;gap:calc(var(--u)*40);width:100%}
  .fcard{flex:none;width:calc(var(--u)*346)}
  .fcard__base,.fcard__base--a,.fcard__base--b,.fcard__base--c{left:0;width:calc(var(--u)*346.385)}
  .fcard__base img,.fcard__base--a img,.fcard__base--b img,.fcard__base--c img{width:calc(var(--u)*336.026)}

  /* steps: вертикальная шкала вместо горизонтальной */
  .steps{width:100%;gap:0}
  .steps__line{display:none}
  .steps__row{flex-direction:column;gap:0}
  .step{position:relative;flex:none;width:100%;padding:0 0 calc(var(--u)*24) calc(var(--u)*30)}
  .step:last-child{padding-bottom:0}
  .step::before{content:'';position:absolute;left:calc(var(--u)*4);top:calc(var(--u)*16);bottom:calc(var(--u)*-16);width:calc(var(--u)*2);background:#bedbff}
  .step:last-child::before{display:none}
  .step::after{content:'';position:absolute;left:0;top:calc(var(--u)*11);width:calc(var(--u)*10);height:calc(var(--u)*10);border-radius:50%;background:var(--blue-500);box-shadow:0 0 0 calc(var(--u)*4) #fff}

  /* global foundation */
  .global{flex-direction:column;align-items:flex-start;align-self:center;gap:calc(var(--u)*32);width:calc(var(--u)*358);margin-left:0}
  .global__col{width:100%;gap:calc(var(--u)*12)}
  .global__text{width:100%}
  .global__map{width:calc(var(--u)*358);height:calc(var(--u)*223.4)}

  /* contacts */
  .chero{grid-template-columns:100%;width:calc(var(--u)*358);min-height:0}
  .chero__shape{position:relative;grid-area:2/1;left:0;top:0;width:100%;height:calc(var(--u)*98.5)}
  .chero__title{position:relative;grid-area:2/1;left:0;top:0;align-self:center;padding-left:calc(var(--u)*40);font-size:calc(var(--u)*24);line-height:calc(var(--u)*28);letter-spacing:calc(var(--u)*-.72)}
  .chero__circle{left:auto;right:calc(var(--u)*-6);top:calc(var(--u)*-8);width:calc(var(--u)*98);height:calc(var(--u)*96)}
  .cinfo{grid-area:3/1;width:100%;margin:calc(var(--u)*32) 0 0}
  .cinfo__row{white-space:normal}
  .form{grid-area:4/1;width:100%;margin:calc(var(--u)*32) 0 0}
}

/* Motion preferences ------------------------------------------------------ */
@media (prefers-reduced-motion:reduce){
  .hero__circle,.chero__circle,.logos__row{animation-play-state:paused}
}
