:root{
  --navy:#071523;
  --navy-2:#0b1f34;
  --navy-3:#102a45;
  --cream:#f2efe9;
  --light:#e7edf1;
  --paper:#f8f7f3;
  --ink:#0d1b27;
  --text:#e8eef3;
  --muted:#9fb0bf;
  --steel:#748ba0;
  --line-dark:rgba(228,238,246,.15);
  --line-light:rgba(13,27,39,.16);
  --pad:clamp(22px,4.6vw,88px);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--text);font-family:var(--sans);overflow-x:hidden}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:#cdd9e2;color:#071523}
.shell{width:min(100%,1600px);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* Header */
.header{position:fixed;inset:0 0 auto 0;height:78px;z-index:100;border-bottom:1px solid var(--line-dark);background:rgba(5,18,31,.9);transition:background .25s ease,border-color .25s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.header.is-scrolled{background:#071523;border-bottom-color:rgba(228,238,246,.22)}
.header__inner{height:100%;display:grid;grid-template-columns:190px 1fr 190px;align-items:center;gap:24px}
.logo-link{display:inline-flex;align-items:center;width:max-content}
.logo{width:108px;height:auto;filter:brightness(1.04)}
.nav{display:flex;justify-content:center;align-items:center;gap:34px;font-size:12px;color:#9cacba}
.nav a{transition:color .2s ease}.nav a:hover{color:#fff}
.header-cta{justify-self:end;display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(228,238,246,.24);padding:10px 12px 10px 18px;border-radius:999px;font-size:12px;font-weight:600;transition:background .25s ease,color .25s ease,border-color .25s ease}
.header-cta span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e6edf2;color:#071523}
.header-cta:hover{background:#e6edf2;color:#071523;border-color:#e6edf2}
.menu-btn{display:none;background:none;border:0;padding:8px;justify-self:end}.menu-btn span{display:block;width:24px;height:1px;background:#fff;margin:6px 0}
.mobile-nav{display:none}

/* Generic animation — intentionally same simple model as Gemini */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
.reveal.active{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.30s}.reveal-delay-3{transition-delay:.45s}.reveal-delay-4{transition-delay:.60s}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;background:var(--navy);padding-top:78px}
.hero__media{position:absolute;inset:78px 0 0 0;z-index:0;overflow:hidden;background:#071523}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none}
.hero__overlay{position:absolute;inset:78px 0 0;z-index:1;background:linear-gradient(90deg,rgba(4,17,30,.34) 0%,rgba(4,17,30,.16) 35%,rgba(4,17,30,0) 58%),linear-gradient(180deg,rgba(4,17,30,0) 0%,rgba(4,17,30,.05) 68%,rgba(4,17,30,.34) 100%)}
.hero__content{position:relative;z-index:2;display:grid;grid-template-rows:1fr auto;width:100%;min-height:calc(100svh - 78px);padding-top:clamp(90px,11vh,150px);padding-bottom:34px}
.hero__copy{align-self:center;max-width:710px}
.hero__eyebrow,.section-label{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.18em;font-weight:600;color:#8ba0b4}
.hero__title{margin:26px 0 28px;font-family:var(--serif);font-size:clamp(82px,8.25vw,148px);line-height:.76;font-weight:500;letter-spacing:-.055em;color:#eef2f3}
.hero__title span{display:block}
.hero__lead{max-width:520px;margin:0;color:#aebcc8;font-size:clamp(15px,1.05vw,18px);line-height:1.72}
.hero__actions{display:flex;align-items:center;gap:26px;margin-top:34px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:0 20px;border:1px solid transparent;font-size:12px;font-weight:600;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer}
.button:hover{transform:translateY(-2px)}
.button--light{background:#e7edf1;color:#071523;border-color:#e7edf1}.button--light:hover{background:#fff;border-color:#fff}
.button--dark{background:#071523;color:#fff;border-color:#071523}.button--dark:hover{background:#102a45;border-color:#102a45}
.text-action{display:inline-flex;align-items:center;gap:16px;font-size:12px;padding-bottom:7px;border-bottom:1px solid rgba(230,238,244,.35);color:#d3dde5}
.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(260px,1.2fr);gap:32px;padding-top:26px;border-top:1px solid var(--line-dark);align-items:start}
.hero__stats div{display:flex;flex-direction:column;gap:6px}.hero__stats strong{font-family:var(--serif);font-size:35px;line-height:1;font-weight:500;color:#e8eef2}.hero__stats span,.hero__stats p{font-size:11px;line-height:1.55;color:#8fa1b1;margin:0}

/* Sections */
.section{padding:120px 0}.section--light{background:var(--light);color:var(--ink)}.section--cream{background:var(--cream);color:var(--ink)}.section--navy{background:var(--navy);color:var(--text)}
.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:end;margin-bottom:70px}.section-head--wide{grid-template-columns:1.25fr .75fr}.section-copy{max-width:520px;color:#566879;font-size:14px;line-height:1.75;margin:0}.section-copy--dark{color:#94a5b4}
.display{font-family:var(--serif);font-size:clamp(52px,5.8vw,104px);line-height:.87;letter-spacing:-.05em;font-weight:500;margin:18px 0 0;color:#0c1a27}.display em{font-weight:400;color:#71889d}.display--light{color:#eef3f6}.display--light em{color:#8ea3b6}
.editorial-head{margin-bottom:78px}.under-link{display:inline-flex;margin-top:20px;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(13,27,39,.28);font-size:12px}

.editorial-grid{display:grid;grid-template-columns:.85fr 1.15fr 1.15fr;border:1px solid var(--line-light)}
.editorial-card{min-height:430px;overflow:hidden}.editorial-card--copy{padding:40px;display:flex;flex-direction:column;justify-content:flex-end;background:#f4f6f7;border-right:1px solid var(--line-light)}
.editorial-card--copy span{font-size:9px;letter-spacing:.16em;color:#728291;margin-bottom:auto}.editorial-card--copy h3{font-family:var(--serif);font-size:38px;line-height:.95;font-weight:500;margin:0 0 18px}.editorial-card--copy p{margin:0;color:#687887;font-size:13px;line-height:1.65;max-width:300px}
.editorial-card--image{margin:0;position:relative}.editorial-card--image+ .editorial-card--image{border-left:1px solid var(--line-light)}.editorial-card--image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.editorial-card--image:hover img{transform:scale(1.025)}

/* Categories */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.category-card{position:relative;min-height:470px;border:0;padding:0;background:#0b1620;overflow:hidden;text-align:left;cursor:pointer;color:#fff}.category-card img,.category-card__image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s cubic-bezier(.16,1,.3,1)}.category-card::after,.category-card__shade{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,16,27,.90),rgba(5,16,27,.05) 55%,rgba(5,16,27,.02));pointer-events:none}.category-card>span:not(.category-card__shade),.category-card__meta{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;display:grid;gap:6px}.category-card small,.category-card__meta small{font:600 8px/1.3 var(--sans);letter-spacing:.16em;color:#9eb2c3}.category-card strong,.category-card__meta strong{font:500 26px/1 var(--serif);letter-spacing:-.02em;color:#fff}.category-card__meta i{position:absolute;right:0;bottom:2px;font-style:normal;font-size:17px;color:#c8d5df}.category-card:hover img,.category-card--react:hover .category-card__image{transform:scale(1.035)}
.category-card:nth-child(5),.category-card:nth-child(6),.category-card:nth-child(7){min-height:420px}

/* React category modal */
.category-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}.category-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(4,14,24,.78);cursor:pointer}.category-modal__panel{position:relative;z-index:2;width:min(1080px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px));display:grid;grid-template-columns:1fr 1fr;background:#f0eee8;color:#0d1b27;overflow:hidden;box-shadow:0 36px 100px rgba(0,0,0,.35)}.category-modal__image-wrap{min-width:0;min-height:0;background:#0b1620}.category-modal__image{width:100%;height:100%;object-fit:cover}.category-modal__content{padding:48px;display:flex;flex-direction:column;overflow:auto}.category-modal__eyebrow{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#74889a}.category-modal__content h3{font-family:var(--serif);font-size:54px;line-height:.9;letter-spacing:-.04em;font-weight:500;margin:16px 0 24px}.category-modal__description{color:#5a6a78;line-height:1.75;font-size:14px;margin:0 0 28px}.category-modal__features{border-top:1px solid var(--line-light);margin-bottom:34px}.category-modal__feature{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid var(--line-light)}.category-modal__feature span{font-size:9px;color:#778795}.category-modal__feature strong{font-family:var(--serif);font-size:20px;font-weight:500}.category-modal__cta{margin-top:auto;align-self:flex-start}.category-modal__close{position:absolute;z-index:4;right:18px;top:18px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(13,27,39,.18);background:rgba(248,247,243,.92);color:#0d1b27;font-size:24px;line-height:1;cursor:pointer}

/* Production band */
.production-band{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden;background:#071523}.production-band__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.production-band__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,17,30,.98) 0%,rgba(4,17,30,.82) 37%,rgba(4,17,30,.36) 68%,rgba(4,17,30,.16) 100%)}.production-band__content{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:end;width:100%}.production-band__intro{max-width:720px}.production-band__intro p{max-width:560px;color:#a8b6c2;font-size:14px;line-height:1.75;margin:26px 0 0}.section-label--light{color:#8fa4b8}.production-metrics{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.production-metrics div{padding:26px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);display:flex;flex-direction:column-reverse;gap:10px;min-height:150px}.production-metrics dt{font-size:10px;color:#8da0b0}.production-metrics dd{margin:0;font-family:var(--serif);font-size:54px;font-weight:500;color:#f0f4f7}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.process-item{min-height:250px;padding:28px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.process-item span{font-size:10px;color:#70879b}.process-item h3{font-family:var(--serif);font-size:26px;font-weight:500;margin:56px 0 12px}.process-item p{font-size:12px;line-height:1.65;color:#8195a7;margin:0;max-width:280px}

/* Quality */
.quality-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.quality-copy>p{color:#5c6e7d;line-height:1.75;font-size:14px;max-width:550px;margin:28px 0 0}.quality-list{margin-top:44px;border-top:1px solid var(--line-light)}.quality-list div{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-light)}.quality-list span{font-size:9px;color:#738594}.quality-list strong{font-family:var(--serif);font-size:21px;font-weight:500}.quality-image{margin:0;height:690px;overflow:hidden}.quality-image img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s cubic-bezier(.16,1,.3,1)}.quality-image:hover img{transform:scale(1.018)}

/* Partners */
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}.partner-card{min-height:220px;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);padding:28px;display:flex;flex-direction:column}.partner-card span{font-size:9px;color:#788997}.partner-card strong{font-family:var(--serif);font-size:28px;line-height:1;font-weight:500;margin-top:auto}.partner-card small{font-size:10px;color:#73818d;margin-top:8px}

/* Contact */
.contact{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;background:#071523}.contact__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.contact__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,27,.98),rgba(3,15,27,.84) 45%,rgba(3,15,27,.36))}.contact__content{position:relative;z-index:2;display:grid;grid-template-columns:1fr .85fr;gap:8vw;align-items:end}.contact__copy>p{color:#9eb0bf;line-height:1.75;font-size:14px;max-width:520px;margin:24px 0 0}.contact-form{padding:34px;background:rgba(7,21,35,.86);border:1px solid rgba(229,238,245,.16);display:grid;gap:18px}.contact-form label{display:grid;gap:8px}.contact-form label>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#8296a7}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(229,238,245,.22);background:transparent;color:#fff;padding:12px 0;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#c8d5df}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#5f7487}

.footer{background:#04101c;border-top:1px solid var(--line-dark)}.footer__inner{min-height:150px;display:grid;grid-template-columns:1fr 1fr auto;gap:24px;align-items:end;padding-top:36px;padding-bottom:36px}.footer__logo{width:100px}.footer__inner span,.footer__inner a{font-size:10px;color:#6f8394}
.toast{position:fixed;left:50%;bottom:28px;z-index:300;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e7edf1;color:#071523;padding:13px 18px;font-size:12px;transition:.3s ease}.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1180px){
  .header__inner{grid-template-columns:160px 1fr 160px}.nav{gap:20px}
  .category-grid{grid-template-columns:repeat(3,1fr)}
  .hero__stats{grid-template-columns:repeat(3,1fr)}.hero__stats p{grid-column:1/-1;max-width:520px}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .partners-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .header{height:70px}.header__inner{grid-template-columns:1fr auto;height:70px}.nav,.header-cta{display:none}.menu-btn{display:block}.logo{width:98px}.mobile-nav{position:absolute;top:70px;left:0;right:0;background:#071523;border-top:1px solid var(--line-dark);padding:22px var(--pad);display:grid;gap:18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s ease}.mobile-nav.open{opacity:1;transform:none;pointer-events:auto}.mobile-nav a{font-size:14px;color:#bcc8d2}
  .hero{padding-top:70px;min-height:1120px}.hero__media,.hero__overlay{inset:70px 0 0}.hero__media img{object-position:center top}.hero__overlay{background:linear-gradient(180deg,rgba(4,17,30,.02) 0%,rgba(4,17,30,.02) 38%,rgba(4,17,30,.52) 58%,rgba(4,17,30,.96) 77%,rgba(4,17,30,1) 100%)}.hero__content{min-height:1050px;padding-top:430px}.hero__title{font-size:clamp(72px,15vw,120px)}
  .section{padding:90px 0}.section-head,.section-head--wide,.production-band__content,.quality-layout,.contact__content{grid-template-columns:1fr;gap:42px}.editorial-grid{grid-template-columns:1fr 1fr}.editorial-card--copy{grid-column:1/-1;min-height:320px;border-right:0;border-bottom:1px solid var(--line-light)}
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .production-band{min-height:900px}.production-band__content{align-items:start}.production-metrics{max-width:680px}
  .quality-image{height:560px}.category-modal__panel{grid-template-columns:1fr;height:min(880px,calc(100vh - 32px));width:min(700px,calc(100vw - 32px))}.category-modal__image-wrap{height:42vh}.category-modal__content{padding:32px}.category-modal__content h3{font-size:46px}
}
@media (max-width:640px){
  :root{--pad:18px}
  .hero{min-height:1120px}.hero__content{min-height:1050px;padding-top:390px;padding-bottom:30px}.hero__copy{max-width:none}.hero__eyebrow{font-size:9px;letter-spacing:.17em}.hero__title{font-size:clamp(62px,17vw,78px);line-height:.78;margin-top:20px}.hero__lead{font-size:14px;line-height:1.68;max-width:96%}.hero__actions{gap:18px;margin-top:28px}.hero__stats{grid-template-columns:1fr 1fr;gap:20px}.hero__stats div:nth-child(3){grid-column:1/-1}.hero__stats strong{font-size:30px}.hero__stats p{display:none}
  .display{font-size:50px}.section-head{margin-bottom:44px}.section-copy{font-size:13px}.editorial-grid{grid-template-columns:1fr}.editorial-card--copy{grid-column:auto}.editorial-card--image+ .editorial-card--image{border-left:0;border-top:1px solid var(--line-light)}.editorial-card{min-height:380px}
  .category-grid{grid-template-columns:1fr}.category-card,.category-card:nth-child(5),.category-card:nth-child(6),.category-card:nth-child(7){min-height:500px}.category-card strong,.category-card__meta strong{font-size:28px}
  .production-band{min-height:980px}.production-metrics{grid-template-columns:1fr 1fr}.production-metrics div{min-height:125px;padding:20px}.production-metrics dd{font-size:42px}
  .process-grid,.partners-grid{grid-template-columns:1fr}.process-item{min-height:210px}.process-item h3{margin-top:40px}.quality-image{height:500px}
  .contact{min-height:900px}.contact-form{padding:24px}.footer__inner{grid-template-columns:1fr;align-items:start}.category-modal{padding:0}.category-modal__panel{width:100vw;height:100svh}.category-modal__image-wrap{height:40svh}.category-modal__content{padding:26px 22px}.category-modal__content h3{font-size:42px}.category-modal__close{right:14px;top:14px}
}

/* v12: approved hero composition */
.hero__media,.hero__media img{transform:none!important;filter:none!important}
@media (max-width:640px){
  .hero__media img{object-fit:cover;object-position:center top}
}

/* v13: removed former About editorial section; keep nav anchor functional without layout. */
.removed-section-anchor{
  display:block;
  height:0;
  width:0;
  position:relative;
  top:-78px;
  visibility:hidden;
  pointer-events:none;
}

/* v14: hero metrics/info strip removed */
.hero__stats{display:none!important}


/* v15: soften clothing cards */
.category-card,
.category-card--react{
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(7, 21, 35, 0.08);
}
.category-card::before,
.category-card--react::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,0.08);
  pointer-events:none;
  z-index:1;
}
.category-card>span:not(.category-card__shade),
.category-card__meta{
  bottom:20px;
}
@media (max-width:640px){
  .category-card,
  .category-card--react{
    border-radius: 16px;
  }
}


/* v17 — quality block: clean transparent product image, no blue frame */
.quality-image--clean{
  position:relative;
  height:720px;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
}
.quality-image--clean::before{
  content:"";
  position:absolute;
  width:72%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(126,151,172,.14) 0%,rgba(126,151,172,.055) 45%,transparent 72%);
  pointer-events:none;
}
.quality-image--clean img{
  position:relative;
  z-index:1;
  width:auto;
  max-width:92%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none!important;
  filter:drop-shadow(0 24px 34px rgba(7,21,35,.14));
  transition:none!important;
}
.quality-image--clean:hover img{transform:none!important}

@media (max-width:900px){
  .quality-image--clean{height:610px}
  .quality-image--clean img{max-width:86%}
}
@media (max-width:640px){
  .quality-image--clean{height:520px;margin-top:8px}
  .quality-image--clean img{max-width:94%}
}


/* v18: projects as a simple horizontal list instead of boxed cards */
.partners-grid{display:none!important}
.partners-list{
  display:flex;
  align-items:stretch;
  gap:0;
  border-top:1px solid var(--line-light);
  border-bottom:1px solid var(--line-light);
  overflow:hidden;
}
.partner-item{
  flex:1 1 0;
  min-width:0;
  padding:28px 28px 30px 0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:9px;
  position:relative;
}
.partner-item + .partner-item{
  padding-left:28px;
}
.partner-item + .partner-item::before{
  content:"";
  position:absolute;
  left:0;
  top:28px;
  bottom:28px;
  width:1px;
  background:var(--line-light);
}
.partner-item strong{
  font-family:var(--serif);
  font-size:clamp(24px,2vw,31px);
  line-height:.96;
  letter-spacing:-.025em;
  font-weight:500;
  color:#10202d;
}
.partner-item small{
  font-size:10px;
  color:#768694;
  line-height:1.45;
}
@media (max-width:900px){
  .partners-list{
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    margin-right:calc(var(--pad) * -1);
    padding-right:var(--pad);
  }
  .partners-list::-webkit-scrollbar{display:none}
  .partner-item{
    flex:0 0 min(72vw,340px);
    padding-top:26px;
    padding-bottom:28px;
  }
}
@media (max-width:640px){
  .partner-item{flex-basis:78vw}
  .partner-item strong{font-size:25px}
}


/* v19: infinite partners marquee — mobile only */
.partners-marquee{display:none}

@media (max-width:640px){
  .partners-list{display:none!important}

  .partners-marquee{
    display:block;
    overflow:hidden;
    margin-left:calc(var(--pad) * -1);
    margin-right:calc(var(--pad) * -1);
    border-top:1px solid var(--line-light);
    border-bottom:1px solid var(--line-light);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  }

  .partners-marquee__track{
    display:flex;
    width:max-content;
    animation:partnersMarquee 26s linear infinite;
    will-change:transform;
  }

  .partners-marquee__group{
    display:flex;
    flex:none;
  }

  .partner-marquee-item{
    position:relative;
    flex:0 0 270px;
    min-height:155px;
    padding:32px 28px 30px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:10px;
  }

  .partner-marquee-item + .partner-marquee-item::before{
    content:"";
    position:absolute;
    left:0;
    top:26px;
    bottom:26px;
    width:1px;
    background:var(--line-light);
  }

  .partner-marquee-item strong{
    font-family:var(--serif);
    font-size:25px;
    line-height:.98;
    letter-spacing:-.025em;
    font-weight:500;
    color:#10202d;
  }

  .partner-marquee-item small{
    font-size:10px;
    color:#768694;
    line-height:1.45;
  }

  .partners-marquee:active .partners-marquee__track{
    animation-play-state:paused;
  }

  @keyframes partnersMarquee{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-50%,0,0)}
  }
}


/* v20: cleaned mobile navigation */
@media (max-width:900px){
  .mobile-nav{
    gap:0;
    padding-top:24px;
    padding-bottom:26px;
  }

  .mobile-nav__links{
    display:grid;
    gap:22px;
  }

  .mobile-nav__links a{
    font-size:15px;
    line-height:1.4;
    color:#c7d2db;
  }

  .mobile-nav__cta{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid rgba(229,238,245,.14);
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:15px!important;
    font-weight:500;
    color:#eef3f6!important;
  }

  .mobile-nav__cta span{
    font-size:16px;
    color:#b9c7d2;
  }
}


/* v21: RU / EN / KZ language switcher */
.header__inner{grid-template-columns:190px 1fr auto}
.header-tools{justify-self:end;display:flex;align-items:center;gap:14px}
.lang-switcher{display:inline-flex;align-items:center;border:1px solid rgba(228,238,246,.18);border-radius:999px;padding:3px;background:rgba(255,255,255,.025)}
.lang-switcher button{appearance:none;border:0;background:transparent;color:#7f93a4;min-width:31px;height:29px;padding:0 7px;border-radius:999px;font:600 9px/1 var(--sans);letter-spacing:.05em;cursor:pointer;transition:background .2s ease,color .2s ease}
.lang-switcher button:hover{color:#eef3f6}
.lang-switcher button.is-active,.lang-switcher button[aria-pressed="true"]{background:#e7edf1;color:#071523}
.lang-switcher--mobile{display:none}

@media (max-width:1180px){
  .header__inner{grid-template-columns:160px 1fr auto}
  .header-tools{gap:9px}
  .lang-switcher button{min-width:28px;padding:0 5px}
}
@media (max-width:900px){
  .header-tools{display:none}
  .lang-switcher--mobile{display:inline-flex;align-self:flex-start;margin-top:26px}
  .mobile-nav__cta{margin-top:22px}
}


/* v22: language switcher stays visible in mobile header */
.lang-switcher--mobile-header{display:none}

@media (max-width:900px){
  .header__inner{
    grid-template-columns:1fr auto auto;
    column-gap:14px;
  }

  .lang-switcher--mobile{display:none!important}

  .lang-switcher--mobile-header{
    display:inline-flex;
    justify-self:end;
    align-self:center;
    border:0;
    background:transparent;
    padding:0;
    gap:4px;
  }

  .lang-switcher--mobile-header button{
    min-width:auto;
    width:auto;
    height:30px;
    padding:0 6px;
    border-radius:0;
    background:transparent!important;
    color:#7f93a4;
    font-size:9px;
    letter-spacing:.08em;
    position:relative;
  }

  .lang-switcher--mobile-header button.is-active,
  .lang-switcher--mobile-header button[aria-pressed="true"]{
    color:#eef3f6;
  }

  .lang-switcher--mobile-header button.is-active::after,
  .lang-switcher--mobile-header button[aria-pressed="true"]::after{
    content:"";
    position:absolute;
    left:6px;
    right:6px;
    bottom:2px;
    height:1px;
    background:#eef3f6;
  }

  .menu-btn{
    justify-self:end;
  }
}

@media (max-width:420px){
  .header__inner{column-gap:8px}
  .lang-switcher--mobile-header{gap:1px}
  .lang-switcher--mobile-header button{padding:0 4px;font-size:8px}
}


/* v24 — corrected mobile hero composition */
@media (max-width:640px){
  .hero__media{
    background:#071523;
  }

  .hero__media img{
    width:100%;
    height:auto!important;
    object-fit:contain!important;
    object-position:center top!important;
  }

  /* The new mobile asset already fades into navy.
     This overlay only gives the text a gentle readable transition. */
  .hero__overlay{
    background:
      linear-gradient(
        180deg,
        rgba(4,17,30,0) 0%,
        rgba(4,17,30,0) 30%,
        rgba(4,17,30,.18) 39%,
        rgba(4,17,30,.82) 50%,
        rgba(4,17,30,1) 62%,
        rgba(4,17,30,1) 100%
      );
  }
}


/* MOBILE HERO PATCH v25 — move mannequin composition lower */
@media (max-width: 640px) {
  .hero__media {
    background: #071523;
    overflow: hidden;
  }

  .hero__media img {
    width: 100%;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: translateY(34px) !important;
  }

  .hero__overlay {
    background:
      linear-gradient(
        180deg,
        rgba(4, 17, 30, 0) 0%,
        rgba(4, 17, 30, 0) 36%,
        rgba(4, 17, 30, 0.12) 44%,
        rgba(4, 17, 30, 0.58) 54%,
        rgba(4, 17, 30, 0.92) 64%,
        rgba(4, 17, 30, 1) 72%,
        rgba(4, 17, 30, 1) 100%
      );
  }
}

/* v26 — hero uses transparent mannequin composition */
.hero__media{
  background:
    radial-gradient(circle at 80% 18%, rgba(157,177,193,.08) 0%, rgba(157,177,193,0) 23%),
    linear-gradient(180deg, #08192b 0%, #071523 100%);
}

.hero__media img{
  position:absolute;
  right:max(0px, calc((100vw - 1600px) / 2));
  bottom:0;
  width:min(76vw, 1320px);
  height:auto !important;
  max-width:none;
  object-fit:contain !important;
  object-position:right bottom !important;
  transform:none !important;
}

.hero__overlay{
  background:
    linear-gradient(90deg,
      rgba(4,17,30,.84) 0%,
      rgba(4,17,30,.70) 20%,
      rgba(4,17,30,.34) 42%,
      rgba(4,17,30,.08) 58%,
      rgba(4,17,30,0) 69%),
    linear-gradient(180deg,
      rgba(4,17,30,0) 0%,
      rgba(4,17,30,.06) 66%,
      rgba(4,17,30,.48) 100%);
}

@media (max-width: 1280px){
  .hero__media img{
    width:min(74vw, 1060px);
  }
}

@media (max-width: 900px){
  .hero{
    padding-top:70px;
    min-height:1100px;
  }

  .hero__media,
  .hero__overlay{
    inset:70px 0 0;
  }

  .hero__media{
    height:470px;
  }

  .hero__media img{
    left:50%;
    right:auto;
    bottom:0;
    width:860px;
    max-width:none;
    transform:translateX(-36%) !important;
  }

  .hero__overlay{
    background:
      linear-gradient(180deg,
        rgba(4,17,30,0) 0%,
        rgba(4,17,30,0) 30%,
        rgba(4,17,30,.16) 42%,
        rgba(4,17,30,.72) 58%,
        rgba(4,17,30,.96) 74%,
        rgba(4,17,30,1) 100%),
      linear-gradient(90deg,
        rgba(4,17,30,.26) 0%,
        rgba(4,17,30,0) 44%);
  }

  .hero__content{
    min-height:1040px;
    padding-top:540px;
  }
}

@media (max-width: 640px){
  .hero{
    min-height:1080px;
  }

  .hero__media{
    height:440px;
  }

  .hero__media img{
    left:50%;
    right:auto;
    width:760px;
    transform:translateX(-37%) translateY(26px) !important;
  }

  .hero__content{
    min-height:1020px;
    padding-top:505px;
    padding-bottom:32px;
  }

  .hero__lead{
    max-width:100%;
  }
}


/* v27 — final hero asset refresh with improved mobile composition */
@media (max-width: 900px){
  .hero__media img{
    width: 900px;
    transform: translateX(-30%) !important;
  }
  .hero__content{
    padding-top: 520px;
  }
}

@media (max-width: 640px){
  .hero{
    min-height: 1040px;
  }

  .hero__media{
    height: 430px;
  }

  .hero__media img{
    left: 50%;
    right: auto;
    width: 720px;
    object-fit: contain !important;
    object-position: center top !important;
    transform: translateX(-50%) translateY(18px) !important;
  }

  .hero__content{
    min-height: 990px;
    padding-top: 470px;
    padding-bottom: 32px;
  }
}


/* v28 — mobile hero composition fix */
@media (max-width: 640px){
  .hero{
    min-height: 980px;
  }

  .hero__media{
    height: 420px;
  }

  .hero__media img{
    left: 50%;
    right: auto;
    width: min(92vw, 520px);
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: translateX(-50%) translateY(28px) !important;
  }

  .hero__overlay{
    background:
      linear-gradient(180deg,
        rgba(4,17,30,0) 0%,
        rgba(4,17,30,0) 28%,
        rgba(4,17,30,.12) 42%,
        rgba(4,17,30,.66) 58%,
        rgba(4,17,30,.92) 72%,
        rgba(4,17,30,1) 100%),
      linear-gradient(90deg,
        rgba(4,17,30,.18) 0%,
        rgba(4,17,30,0) 36%);
  }

  .hero__content{
    min-height: 940px;
    padding-top: 455px;
    padding-bottom: 28px;
  }
}

@media (max-width: 420px){
  .hero__media{
    height: 405px;
  }

  .hero__media img{
    width: min(92vw, 500px);
    transform: translateX(-50%) translateY(34px) !important;
  }

  .hero__content{
    padding-top: 442px;
  }
}

/* v30 — final mobile hero: no hard crop, smooth fade into navy */
@media (max-width: 640px){
  .hero{
    min-height: 1010px;
  }

  .hero__media{
    height: 500px !important;
    overflow: visible !important;
    background: #071523;
  }

  .hero__media img{
    position: absolute;
    left: 50% !important;
    right: auto !important;
    top: 18px !important;
    bottom: auto !important;
    width: min(94vw, 500px) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center top !important;
    transform: translateX(-50%) !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, rgba(0,0,0,.92) 84%, rgba(0,0,0,.55) 92%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 78%, rgba(0,0,0,.92) 84%, rgba(0,0,0,.55) 92%, transparent 100%);
  }

  .hero__overlay{
    background:
      linear-gradient(180deg,
        rgba(4,17,30,0) 0%,
        rgba(4,17,30,0) 38%,
        rgba(4,17,30,.12) 50%,
        rgba(4,17,30,.55) 65%,
        rgba(4,17,30,.90) 80%,
        rgba(4,17,30,1) 100%);
  }

  .hero__content{
    min-height: 950px;
    padding-top: 505px !important;
    padding-bottom: 28px;
  }
}

@media (max-width: 420px){
  .hero__media{
    height: 490px !important;
  }

  .hero__media img{
    top: 24px !important;
    width: 120vw !important;
    transform: translateX(-50%) !important;
  }

  .hero__content{
    padding-top: 495px !important;
  }
}


/* v30-form: contact phone + real form feedback. Hero/layout rules above are untouched. */
.contact-phone{
  display:inline-flex;
  width:max-content;
  margin-top:28px;
  padding-bottom:7px;
  border-bottom:1px solid rgba(230,238,244,.35);
  color:#e7edf1;
  font-family:var(--serif);
  font-size:clamp(25px,2.1vw,36px);
  line-height:1;
  letter-spacing:-.025em;
  transition:opacity .2s ease,border-color .2s ease;
}
.contact-phone:hover{
  opacity:.78;
  border-color:rgba(230,238,244,.72);
}

.form-honeypot{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Centered status notification */
.toast{
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  z-index:1000!important;
  width:min(520px,calc(100vw - 36px))!important;
  min-height:92px;
  padding:24px 28px 24px 78px!important;
  display:flex;
  align-items:center;
  border:1px solid rgba(231,237,241,.24);
  border-radius:18px;
  background:rgba(7,21,35,.97)!important;
  color:#f3f6f8!important;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
  font-size:15px!important;
  line-height:1.55;
  transform:translate(-50%,-46%) scale(.97)!important;
  opacity:0;
  pointer-events:none;
  transition:opacity .26s ease,transform .34s cubic-bezier(.16,1,.3,1)!important;
}
.toast::before{
  content:"✓";
  position:absolute;
  left:26px;
  top:50%;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7edf1;
  color:#071523;
  font-size:18px;
  font-weight:600;
  transform:translateY(-50%);
}
.toast.show{
  opacity:1!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
.toast.is-error{
  border-color:rgba(255,168,168,.25);
}
.toast.is-error::before{
  content:"!";
  background:#f2d6d3;
  color:#5e1813;
}

@media (max-width:640px){
  .contact-phone{
    margin-top:22px;
    font-size:28px;
  }
  .toast{
    min-height:84px;
    padding:20px 20px 20px 68px!important;
    font-size:14px!important;
  }
  .toast::before{
    left:20px;
    width:32px;
    height:32px;
  }
}
