:root{
  --bg:#f5f2ed;
  --bg-2:#ebe6de;
  --ink:#17160f;
  --ink-2:#5c584f;
  --line:rgba(23,22,15,.12);
  --accent:#a86f3b;
  --accent-2:#d9a76f;
  --dark:#121110;
  --dark-2:#1c1b19;
  --font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --pad:clamp(20px,5vw,72px);
  --section:clamp(90px,12vw,160px);
  --hs:1; /* масштаб заголовков; zh ставит на ступень меньше (см. блок html[lang="zh"]) */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.05}
h1{font-size:calc(clamp(40px,7vw,96px)*var(--hs));font-weight:700}
h2{font-size:calc(clamp(30px,4.6vw,60px)*var(--hs))}
h3{font-size:calc(clamp(20px,2vw,26px)*var(--hs))}
h4{font-size:calc(17px*var(--hs))}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:18px}
.lead{font-size:clamp(17px,1.6vw,22px);color:var(--ink-2);max-width:34ch;margin-top:24px}
.section-head{padding:0 var(--pad) 48px;max-width:1400px;margin:0 auto}
.section-head__text{color:var(--ink-2);max-width:56ch;margin-top:18px;font-size:clamp(16px,1.3vw,19px)}
.wrap{padding:0 var(--pad);max-width:1400px;margin:0 auto}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:15px;border:0;cursor:pointer;transition:transform .35s var(--ease),background .35s}
.btn:hover{transform:translateY(-2px);background:#000}
.btn--small{padding:11px 18px;font-size:14px}

/* ===== nav ===== */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);transition:background .4s,backdrop-filter .4s,padding .4s;color:#fff}
.nav.is-solid{background:rgba(245,242,237,.86);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);color:var(--ink);padding:12px var(--pad);border-bottom:1px solid var(--line)}
.nav__logo{font-weight:800;letter-spacing:.22em;font-size:16px}
.nav__links{display:flex;gap:26px;font-size:14px;font-weight:500;opacity:.85}
.nav__right{display:flex;align-items:center;gap:18px}
.nav .btn--small{background:#fff;color:var(--ink)}
.nav.is-solid .btn--small{background:var(--ink);color:#fff}
.lang{display:flex;gap:2px;font-size:12px;font-weight:700;letter-spacing:.08em}
.lang a{padding:6px 8px;border-radius:999px;opacity:.72;transition:opacity .3s,background .3s}
.lang a:hover{opacity:1}
html[lang="fr"] .lang a[data-lang="fr"],html[lang="en"] .lang a[data-lang="en"],html[lang="zh"] .lang a[data-lang="zh"]{opacity:1;background:rgba(255,255,255,.18)}
.nav.is-solid .lang a[data-lang]{background:transparent}
html[lang="fr"] .nav.is-solid .lang a[data-lang="fr"],html[lang="en"] .nav.is-solid .lang a[data-lang="en"],html[lang="zh"] .nav.is-solid .lang a[data-lang="zh"]{background:rgba(23,22,15,.08)}
.nav__burger{display:none;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:inherit}
.nav__burger span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s,opacity .3s}
.nav.is-solid .nav__burger{border-color:var(--line)}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){opacity:0}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1100px){.nav__links{gap:18px}.nav__cta{display:none}}
@media (max-width:820px){
  .nav__links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:8px 0 14px;background:rgba(245,242,237,.97);color:var(--ink);opacity:1;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .nav__links a{padding:14px var(--pad);font-size:16px;font-weight:600;border-top:1px solid var(--line)}
  .nav.is-open .nav__links{display:flex}
  .nav.is-open{background:rgba(245,242,237,.97);color:var(--ink)}
  .nav.is-open .lang a[data-lang]{background:transparent}
  .nav__burger{display:flex}
  .nav__right{gap:10px}
}

/* ===== HERO ===== */
.hero{position:relative;height:520vh;background:#0e0d0b}
.hero__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero__canvas,.hero__fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__fallback{display:none}
.no-canvas .hero__canvas{display:none}
.no-canvas .hero__fallback{display:block}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,0) 62%,rgba(0,0,0,.55) 100%);pointer-events:none}
.hero__stage{position:absolute;left:var(--pad);right:var(--pad);color:#fff;opacity:0;transform:translate(var(--bx,0),var(--by,0)) translateY(var(--ty,24px));transition:none;pointer-events:none;will-change:opacity,transform}
.hero__stage--0{top:50%;--by:-50%;max-width:760px}
.hero__stage--0 .eyebrow{color:#fff;opacity:.85;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.hero__stage--0 .lead{color:rgba(255,255,255,.82)}
.hero__stage--0 h1{text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero__stage--cap{bottom:12vh;max-width:460px;padding:26px 28px;border-radius:20px;background:rgba(12,11,9,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12)}
.hero__stage--cap h2{font-size:calc(clamp(26px,3vw,40px)*var(--hs));margin:6px 0 10px}
.hero__stage--cap p{color:rgba(255,255,255,.8);font-size:16px}
.hero__stage--right{left:auto}
.cap__num{font-size:13px;letter-spacing:.2em;color:var(--accent-2);font-weight:700}
.hero__stage--final{top:50%;left:50%;right:auto;--bx:-50%;--by:-50%;text-align:center;max-width:720px;pointer-events:auto}
.hero__stage--final h2{font-size:calc(clamp(36px,6vw,84px)*var(--hs));text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero__stage--final p{color:rgba(255,255,255,.85);font-size:clamp(17px,1.6vw,22px);margin:20px 0 32px}
.hero__stage--final .btn{background:#fff;color:var(--ink)}
.hero__stage.is-on{pointer-events:auto}
.scroll-hint{margin-top:40px;display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.scroll-hint span{width:1px;height:44px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-hint span::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#fff;animation:hint 1.8s infinite}
@keyframes hint{to{top:100%}}
.hero__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.14)}
.hero__progress i{display:block;height:100%;width:0;background:var(--accent-2)}
@media (max-width:820px){
  .hero{height:420vh}
  .hero__stage--0{top:auto;bottom:9vh;--by:0;left:20px;right:20px}
  .hero__stage--0 h1{font-size:calc(clamp(34px,9.5vw,44px)*var(--hs))}
  .hero__stage--0 .lead{font-size:15px;margin-top:14px}
  .scroll-hint{margin-top:22px}
  .hero__stage--cap{left:16px;right:16px;bottom:8vh;padding:20px}
  .hero__stage--right{left:16px}
  .hero__stage--final{width:calc(100% - 40px)}
}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ===== manifest ===== */
.manifest{padding:clamp(90px,14vw,190px) var(--pad);max-width:1400px;margin:0 auto}
.manifest__text{font-size:calc(clamp(26px,3.6vw,50px)*var(--hs));line-height:1.2;letter-spacing:-.02em;font-weight:500;max-width:22ch}
.manifest__text em{font-style:normal;color:var(--accent)}

/* ===== stats ===== */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{background:var(--bg);padding:clamp(28px,4vw,56px) var(--pad)}
.stat b{display:block;font-size:clamp(44px,6vw,88px);font-weight:700;letter-spacing:-.04em;line-height:1}
.stat span{display:block;margin-top:12px;color:var(--ink-2);font-size:15px;line-height:1.35}
@media (max-width:820px){.stats{grid-template-columns:1fr 1fr}}

/* ===== services ===== */
.services{padding:var(--section) 0 0}
.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.service{position:relative;padding:clamp(26px,3vw,44px);border-radius:22px;background:#fff;border:1px solid var(--line)}
.service__num{display:block;font-size:13px;letter-spacing:.2em;color:var(--accent);font-weight:700;margin-bottom:22px}
.service h3{font-size:calc(clamp(22px,2.2vw,30px)*var(--hs));margin-bottom:12px}
.service p{color:var(--ink-2);max-width:50ch}
.service__list{margin-top:22px;display:grid;gap:10px}
.service__list li{position:relative;padding-left:22px;font-size:15px}
.service__list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1.5px;background:var(--accent)}
@media (max-width:820px){.services__grid{grid-template-columns:1fr}}

/* ===== process ===== */
.process{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:#fff;margin-top:var(--section)}
.process__sticky{position:sticky;top:0;height:100vh;height:100svh;padding:var(--pad);display:flex;align-items:center}
.process__visual{position:relative;width:100%;aspect-ratio:4/5;max-height:calc(100vh - 2*var(--pad));border-radius:24px;overflow:hidden;background:var(--dark-2)}
.process__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s var(--ease),transform 1.6s var(--ease)}
.process__visual img.is-active{opacity:1;transform:none}
.process__counter{position:absolute;left:24px;bottom:20px;font-size:13px;letter-spacing:.16em;color:rgba(255,255,255,.7)}
.process__counter span{color:#fff;font-weight:700}
.process__steps{padding:14vh var(--pad) 30vh}
.process__head{max-width:520px;padding-bottom:6vh}
.process__head h2{font-size:calc(clamp(30px,3.6vw,48px)*var(--hs))}
.step{min-height:70vh;display:flex;flex-direction:column;justify-content:center;max-width:520px;opacity:.28;transition:opacity .6s}
.step.is-active{opacity:1}
.step__num{font-size:13px;letter-spacing:.2em;color:var(--accent-2);font-weight:700;margin-bottom:14px}
.step h3{font-size:calc(clamp(28px,3.2vw,44px)*var(--hs));margin-bottom:18px}
.step p{color:rgba(255,255,255,.72);font-size:17px}
@media (max-width:820px){
  .process{grid-template-columns:1fr}
  .process__sticky{height:52vh;height:52svh;padding:16px;align-items:stretch}
  .process__visual{aspect-ratio:auto;height:100%;max-height:none}
  .process__steps{padding:8vh 20px 12vh}
  .process__head{padding-bottom:20px}
  .step{min-height:auto;padding:28px 0}
}

/* ===== projects ===== */
.projects{padding:var(--section) 0}
.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.card{display:block;border-radius:22px;overflow:hidden;background:var(--bg-2);position:relative}
.card img{aspect-ratio:4/5;width:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.card:hover img{transform:scale(1.05)}
.card__badge{position:absolute;left:18px;top:18px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em;background:rgba(245,242,237,.9);color:var(--ink);backdrop-filter:blur(8px)}
.card__body{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.card__body p{opacity:.85;font-size:14px;margin-top:4px}
.card__place{color:var(--accent-2);font-weight:600;letter-spacing:.04em}
@media (max-width:1100px){.projects__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.projects__grid{grid-template-columns:1fr}.card img{aspect-ratio:4/3}}

/* ===== testimonials ===== */
.testimonials{padding:var(--section) 0;background:var(--bg-2)}
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.quote{margin:0;padding:clamp(24px,2.6vw,36px);border-radius:22px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:18px}
.quote__stars{display:flex;gap:4px}
.quote__stars i{width:14px;height:14px;background:var(--accent);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.quote blockquote{margin:0;font-size:16px;line-height:1.55;flex:1}
.quote figcaption{display:grid;gap:2px;font-size:14px;color:var(--ink-2)}
.quote figcaption b{color:var(--ink);font-weight:700}
@media (max-width:1100px){.testimonials__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.testimonials__grid{grid-template-columns:1fr}}

/* ===== about ===== */
.about{padding:var(--section) 0 0}
.about__inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.about__history{color:var(--ink-2);margin-top:22px;font-size:clamp(16px,1.3vw,19px);max-width:56ch}
.about__media img{border-radius:24px;aspect-ratio:16/11;object-fit:cover;width:100%}
.about__sub{font-size:clamp(22px,2.4vw,32px);margin-bottom:26px}
.about__values,.about__team{padding:clamp(60px,7vw,100px) var(--pad) 0;max-width:1400px;margin:0 auto}
.values__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.value{padding:clamp(22px,2.4vw,32px);border-radius:22px;background:#fff;border:1px solid var(--line)}
.value__num{display:block;font-size:13px;letter-spacing:.2em;color:var(--accent);font-weight:700;margin-bottom:16px}
.value h4{font-size:calc(19px*var(--hs));margin-bottom:10px}
.value p{color:var(--ink-2);font-size:15px}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.member{display:grid;justify-items:center;text-align:center;gap:6px;padding:clamp(22px,2.4vw,32px);border-radius:22px;background:var(--bg-2)}
.member__mono{width:96px;height:96px;color:var(--accent);margin-bottom:10px}
.member__mono text{font-family:var(--font);letter-spacing:.04em}
.member b{font-weight:700}
.member span{color:var(--ink-2);font-size:14px}
@media (max-width:1100px){.values__grid,.team__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.about__inner{grid-template-columns:1fr}.values__grid,.team__grid{grid-template-columns:1fr 1fr;gap:12px}.member{padding:18px 10px}.member__mono{width:72px;height:72px}}
@media (max-width:480px){.values__grid{grid-template-columns:1fr}}

/* ===== why ===== */
.why{padding:var(--section) 0 0}
.why__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.why__item{padding:clamp(26px,3vw,40px);border-radius:22px;background:#fff;border:1px solid var(--line)}
.why__item h3{margin-bottom:12px}
.why__item p{color:var(--ink-2)}
@media (max-width:820px){.why__grid{grid-template-columns:1fr}}

/* ===== guarantees & partners ===== */
.guarantees{padding:var(--section) 0 0}
.guarantees__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 var(--pad);max-width:1400px;margin:0 auto}
.guarantee{padding:clamp(26px,3vw,40px);border-radius:22px;background:var(--dark);color:#fff}
.guarantee svg{width:34px;height:34px;color:var(--accent-2);margin-bottom:20px}
.guarantee h3{margin-bottom:12px;font-size:calc(clamp(20px,1.8vw,24px)*var(--hs))}
.guarantee p{color:rgba(255,255,255,.72);font-size:15px}
.partners{padding:clamp(50px,6vw,80px) var(--pad) 0;max-width:1400px;margin:0 auto}
.partners__title{font-size:clamp(20px,2vw,26px)}
.partners__text{color:var(--ink-2);margin-top:8px}
.partners__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.partner{display:grid;gap:4px;padding:20px 22px;border-radius:16px;border:1px dashed rgba(23,22,15,.3);text-align:center;min-height:96px;align-content:center}
.partner b{font-weight:700;letter-spacing:.04em;font-size:14px}
.partner span{color:var(--ink-2);font-size:13px}
@media (max-width:1100px){.guarantees__grid{grid-template-columns:1fr}.partners__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.partners__grid{grid-template-columns:1fr}}

/* ===== faq ===== */
.faq{padding:var(--section) 0 0}
.faq__list{padding:0 var(--pad);max-width:960px;margin:0 auto;border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:600;font-size:calc(clamp(17px,1.4vw,20px)*var(--hs))}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary i{flex:none;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);position:relative;transition:transform .35s var(--ease)}
.faq__item summary i::before,.faq__item summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
.faq__item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item[open] summary i{transform:rotate(45deg)}
.faq__a{padding:0 0 24px;color:var(--ink-2);max-width:70ch}

/* ===== film ===== */
.film{padding:var(--section) 0}
.film__frame{position:relative;margin:0 var(--pad);border-radius:28px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:1400px;margin-inline:auto;width:calc(100% - 2*var(--pad))}
.film__frame video{width:100%;height:100%;object-fit:cover}
.film__sound{position:absolute;right:20px;bottom:20px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.4);color:#fff;font:inherit;font-size:13px;cursor:pointer;backdrop-filter:blur(8px)}

/* ===== contact ===== */
.contact{background:var(--dark);color:#fff;padding:var(--section) var(--pad)}
.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);max-width:1400px;margin:0 auto;align-items:start}
.contact__text>p:not(.eyebrow){color:rgba(255,255,255,.72);margin-top:20px;max-width:44ch}
.contact__details{margin-top:clamp(30px,4vw,48px);padding-top:clamp(24px,3vw,36px);border-top:1px solid rgba(255,255,255,.14)}
.contact__details h3{font-size:calc(18px*var(--hs));margin-bottom:18px}
.details{display:grid;gap:12px}
.details li{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:15px;align-items:baseline}
.details li>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.details li a{color:var(--accent-2);font-weight:600}
.details li b{font-weight:500}
.details small{display:block;color:rgba(255,255,255,.45);font-size:13px}
.zones{display:flex;flex-wrap:wrap;gap:6px}
.zones em{font-style:normal;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-size:13px}
.form{display:grid;gap:14px}
.form label{display:grid;gap:8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.form input,.form textarea{width:100%;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:16px;outline:0;transition:border-color .3s}
.form input:focus,.form textarea:focus{border-color:var(--accent-2)}
.form .btn{background:#fff;color:var(--ink);justify-self:start;margin-top:6px}
.form__consent{font-size:13px;color:rgba(255,255,255,.5)}
.form__consent a{color:rgba(255,255,255,.8);text-decoration:underline;text-underline-offset:3px}
.form__note{font-size:14px;color:var(--accent-2);min-height:1.4em}
.map{max-width:1400px;margin:clamp(40px,6vw,80px) auto 0;border-radius:24px;overflow:hidden;background:var(--dark-2);border:1px solid rgba(255,255,255,.1)}
.map iframe{display:block;width:100%;height:clamp(260px,32vw,420px);border:0;filter:saturate(.7)}
.map__hint{padding:16px 22px;font-size:14px;color:rgba(255,255,255,.6)}
@media (max-width:820px){.contact__inner{grid-template-columns:1fr}.details li{grid-template-columns:1fr;gap:4px}}

/* ===== footer ===== */
.footer{padding:clamp(48px,6vw,80px) var(--pad) 28px;font-size:14px;color:var(--ink-2);border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(24px,4vw,60px);max-width:1400px;margin:0 auto}
.footer__logo{display:inline-block;font-weight:800;letter-spacing:.22em;font-size:16px;color:var(--ink);margin-bottom:14px}
.footer__brand p{max-width:34ch}
.footer__col{display:grid;gap:10px;align-content:start;justify-items:start}
.footer__col h4{color:var(--ink);margin-bottom:6px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.footer__col a:hover{color:var(--ink)}
.lang--footer{gap:6px}
.lang--footer a{opacity:1;border:1px solid var(--line)}
html[lang="fr"] .lang--footer a[data-lang="fr"],html[lang="en"] .lang--footer a[data-lang="en"],html[lang="zh"] .lang--footer a[data-lang="zh"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.footer__bottom{max-width:1400px;margin:40px auto 0;padding-top:20px;border-top:1px solid var(--line);font-size:13px}
@media (max-width:820px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer__grid{grid-template-columns:1fr}}

/* ===== floating WhatsApp ===== */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:999px;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .35s var(--ease)}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:30px;height:30px}

/* ===== legal page ===== */
.page-legal{background:var(--bg)}
.legal{padding:clamp(120px,16vw,180px) var(--pad) var(--section)}
.legal__inner{max-width:760px;margin:0 auto}
.legal__back{display:inline-block;font-size:14px;color:var(--accent);font-weight:600;margin-bottom:28px}
.legal h1{font-size:calc(clamp(30px,4.6vw,56px)*var(--hs));margin-bottom:18px}
.legal__intro{color:var(--ink-2);font-size:clamp(16px,1.3vw,19px);margin-bottom:40px}
.legal__section{padding:28px 0;border-top:1px solid var(--line);display:grid;gap:12px}
.legal__section h2{font-size:calc(clamp(20px,2vw,26px)*var(--hs));margin-bottom:6px}
.legal__section p{color:var(--ink-2);font-size:16px}

/* ===== 404 ===== */
.page-404{min-height:100vh;display:grid;place-items:center}
.notfound{text-align:center;padding:60px var(--pad);display:grid;gap:22px;justify-items:center;max-width:640px}
.notfound__logo{font-weight:800;letter-spacing:.22em;font-size:16px}
.notfound__code{font-size:clamp(72px,14vw,140px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--accent)}
.notfound section{display:grid;gap:10px;justify-items:center;padding-top:14px;border-top:1px solid var(--line);width:100%}
.notfound section h1{font-size:clamp(22px,3vw,32px)}
.notfound section p{color:var(--ink-2);font-size:15px}
.notfound .btn{font-size:14px;padding:12px 20px}
.notfound .lang{justify-content:center;margin-top:10px}

/* ===== zh typography: без разрядки и капса, интерлиньяж 1.7, заголовки на ступень меньше латиницы (включая legal) ===== */
html[lang="zh"] body{font-family:"Manrope","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.7;letter-spacing:0}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3,html[lang="zh"] h4,html[lang="zh"] .manifest__text{letter-spacing:0;line-height:1.3}
html[lang="zh"]{--hs:.84} /* заголовки на ступень меньше латиницы: один масштаб вместо точечных clamp() */
html[lang="zh"] .manifest__text{line-height:1.35}
html[lang="zh"] .eyebrow,html[lang="zh"] .scroll-hint,html[lang="zh"] .form label,html[lang="zh"] .details li>span,html[lang="zh"] .footer__col h4{text-transform:none;letter-spacing:0}
html[lang="zh"] .lang a[lang="zh"],html[lang="zh"] .card__badge,html[lang="zh"] .card__place,html[lang="zh"] .partner b{letter-spacing:0}
html[lang="zh"] .stat span,html[lang="zh"] .quote blockquote{line-height:1.7}
html[lang="zh"] .nav__logo,html[lang="zh"] .footer__logo,html[lang="zh"] .notfound__logo{letter-spacing:.22em}
