  :root{
    --bg:#0b0a09; --bg2:#100e0c; --panel:#151210;
    --ink:#f2ece3; --muted:#938676; --faint:#5f564c; --line:#241f1a;
    --accent:#ff4c24; --oxblood:#3f0f05;
    --disp:"Helvetica Neue",Helvetica,"Arial Narrow",Arial,sans-serif;
    --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
    --mono:"SF Mono","JetBrains Mono",ui-monospace,"Menlo",monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--bg);color:var(--ink);font-family:var(--sans);
    -webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5;}
  img{display:block;width:100%;height:100%;object-fit:cover;}
  a{color:inherit;text-decoration:none;}

  /* ---------- fixed corner UI ---------- */
  .hud{position:fixed;inset:0;z-index:50;pointer-events:none;
    padding:26px clamp(18px,3.4vw,44px);
    display:grid;grid-template-columns:1fr auto 1fr;align-items:start;}
  .hud>*{pointer-events:auto;}
  .hud::before{content:"";position:fixed;top:0;left:0;right:0;height:112px;z-index:-1;pointer-events:none;
    background:linear-gradient(180deg,rgba(11,10,9,.72),rgba(11,10,9,0));}
  .brand{font-family:var(--disp);font-weight:800;letter-spacing:.16em;font-size:19px;}
  .hud-mid{justify-self:center;}
  .hud-right{justify-self:end;display:flex;align-items:center;gap:18px;}
  .langtog{background:none;border:0;border-bottom:1px solid transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1;}
  .langtog .lg{color:var(--muted);transition:color .3s;}
  .langtog .lg.on{color:var(--ink);}
  .langtog:hover .lg{color:var(--accent);}
  .langtog .lgsep{color:var(--line);}
  .ui{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
  .ui .dot{color:var(--accent);}
  .disc{color:var(--ink);border-bottom:1px solid transparent;transition:border-color .3s,color .3s;}
  .disc:hover{border-color:var(--accent);color:var(--accent);}
  .clock{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;}
  .clock .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 10px var(--accent);animation:pulse 2.4s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.3;transform:scale(.65);}}

  /* ---------- custom cursor ---------- */
  @media (hover:hover) and (pointer:fine){
    body,a,button,.row,.mail{cursor:none;}
    .curDot,.curRing{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:200;
      mix-blend-mode:difference;will-change:transform;}
    .curDot{width:7px;height:7px;background:#fff;}
    .curRing{width:34px;height:34px;border:1px solid #fff;
      transition:width .28s cubic-bezier(.16,1,.3,1),height .28s cubic-bezier(.16,1,.3,1),background .28s,opacity .3s;}
    .curRing.hot{width:58px;height:58px;background:rgba(255,255,255,.12);}
  }
  @media (prefers-reduced-motion:reduce){.curRing{transition:opacity .3s;}}

  .progress{position:fixed;left:0;top:0;height:2px;width:0;background:var(--accent);z-index:60;transition:width .1s linear;}
  /* ---------- preloader ---------- */
  #preload{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;
    flex-direction:column;align-items:center;justify-content:center;gap:26px;
    transition:opacity .55s ease;}
  #preload.done{opacity:0;pointer-events:none;}
  #preload .pl-mark{font-family:var(--disp);font-weight:800;font-size:clamp(44px,9vw,86px);
    letter-spacing:.18em;color:var(--ink);opacity:0;transform:translateY(6px);
    animation:plIn .8s cubic-bezier(.2,1,.3,1) forwards;}
  #preload .pl-mark span{color:var(--accent);}
  #preload .pl-bar{width:min(180px,44vw);height:1px;background:var(--line);position:relative;overflow:hidden;}
  #preload .pl-bar::after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
    animation:plSlide 1.05s ease-in-out infinite;}
  @keyframes plIn{to{opacity:1;transform:none;}}
  @keyframes plSlide{0%{transform:translateX(-110%);}100%{transform:translateX(360%);}}
  @media(prefers-reduced-motion:reduce){#preload .pl-mark{animation:none;opacity:1;transform:none;}#preload .pl-bar::after{animation:none;}}

  /* ---------- reveal ---------- */
  .rv{opacity:0;transform:translateY(26px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);}
  .rv.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){.rv{opacity:1!important;transform:none!important;transition:none;}}

  /* ---------- hero ---------- */
  .hero{position:relative;height:100svh;min-height:600px;overflow:hidden;}
  .hero .media{position:absolute;inset:0;}
  .hero .media::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(11,10,9,.55) 0%,rgba(11,10,9,.1) 30%,rgba(11,10,9,.25) 62%,rgba(11,10,9,.92) 100%);}
  .hero-monogram{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);
    font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:.05em;z-index:4;}
  .hero-cap{position:absolute;left:clamp(18px,3.4vw,44px);bottom:60px;z-index:4;max-width:min(90vw,640px);}
  .hero-cap .ey{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
  .hero-cap h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(40px,8.5vw,120px);line-height:.9;letter-spacing:-.02em;text-wrap:balance;}
  .scrollcue{position:absolute;right:clamp(18px,3.4vw,44px);bottom:60px;z-index:4;
    font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
    writing-mode:vertical-rl;display:flex;align-items:center;gap:14px;}
  .scrollcue::after{content:"";width:1px;height:52px;background:linear-gradient(var(--accent),transparent);}

  /* ---------- generic section ---------- */
  section{position:relative;}
  .pad{padding:clamp(80px,12vh,160px) clamp(18px,3.4vw,44px);}
  .kick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);
    display:flex;gap:10px;align-items:baseline;}
  .kick b{color:var(--accent);font-weight:400;}
  .maxw{max-width:1360px;margin:0 auto;}

  /* ---------- manifesto (flat monotone) ---------- */
  .manifesto{background:var(--bg2);text-align:center;}
  .manifesto .inner{max-width:1080px;margin:0 auto;}
  .manifesto p{font-family:var(--disp);font-weight:700;text-transform:uppercase;
    font-size:clamp(24px,4.4vw,58px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance;}
  .manifesto p em{font-style:normal;color:var(--accent);}
  .manifesto .sub{margin-top:34px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;
    text-transform:uppercase;color:var(--muted);}

  /* ---------- stats ---------- */
  .stats{position:relative;overflow:hidden;background:var(--bg2);}
  .stats .bg{position:absolute;inset:0;opacity:.22;}
  .stats .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg2),rgba(16,14,12,.4),var(--bg2));}
  .stat-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(30px,5vw,72px);}
  .stat .n{font-family:var(--disp);font-weight:800;font-size:clamp(58px,11vw,150px);line-height:.86;letter-spacing:-.03em;}
  .stat .n small{color:var(--accent);font-size:.42em;vertical-align:super;letter-spacing:0;}
  .stat .lab{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
    font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(15px,1.7vw,19px);letter-spacing:.01em;}
  .stat .l{margin-top:9px;font-size:14px;line-height:1.5;color:var(--muted);max-width:30ch;}
  @media (max-width:820px){.stat-grid{grid-template-columns:1fr;gap:40px;}.stat .l{max-width:44ch;}}
  /* ---------- featured count-up ---------- */
  .stat-hero{position:relative;text-align:center;margin-bottom:clamp(46px,7vw,88px);
    padding-bottom:clamp(38px,6vw,60px);border-bottom:1px solid var(--line);}
  .sh-num{font-family:var(--disp);font-weight:800;font-size:clamp(52px,10vw,150px);
    line-height:.82;letter-spacing:-.04em;}
  .sh-num .unit{font-size:.30em;letter-spacing:.01em;color:var(--muted);margin-left:.12em;}
  .sh-num .unit .rub{color:var(--accent);}
  .sh-lab{margin-top:24px;font-family:var(--mono);font-size:clamp(11px,1.4vw,14px);
    letter-spacing:.22em;text-transform:uppercase;}
  .sh-sub{margin-top:11px;font-size:14px;line-height:1.5;color:var(--muted);
    max-width:44ch;margin-left:auto;margin-right:auto;}
  .sh-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,84px);align-items:start;}
  .sh-duo .sh-item{position:relative;}
  .sh-duo .sh-item + .sh-item::before{content:"";position:absolute;left:calc(clamp(28px,6vw,84px) * -0.5);top:4px;bottom:4px;width:1px;background:var(--line);}
  .sh-num .plus{color:var(--accent);font-size:.9em;margin-left:.01em;}
  @media(max-width:820px){.sh-duo{grid-template-columns:1fr;gap:46px;}.sh-duo .sh-item + .sh-item::before{display:none;}}

  /* ---------- directions ---------- */
  .dir-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,6vh,72px);}
  .dir-head h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:clamp(30px,5vw,68px);line-height:.92;letter-spacing:-.02em;}
  .dir-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:start;}
  .dir-media{position:sticky;top:12vh;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);}
  .dir-media img{transition:transform 1.2s cubic-bezier(.16,1,.3,1);}
  .dir-list{display:flex;flex-direction:column;}
  .row{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:baseline;
    padding:26px 6px;border-top:1px solid var(--line);cursor:default;transition:padding .4s,background .4s;}
  .row:last-child{border-bottom:1px solid var(--line);}
  .row .rn{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.1em;}
  .row .rt{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(19px,2.3vw,30px);letter-spacing:-.01em;transition:color .35s,transform .45s;}
  .row .rt span{display:block;font-family:var(--sans);font-weight:400;text-transform:none;letter-spacing:0;
    font-size:13px;color:var(--muted);margin-top:8px;max-width:44ch;transition:color .35s;}
  .row .rs{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap;}
  .row .rs.on{color:var(--accent);}
  .row:hover{background:linear-gradient(90deg,rgba(255,76,36,.06),transparent);padding-left:20px;}
  .row:hover .rt{color:var(--accent);transform:translateX(4px);}
  @media (max-width:860px){.dir-layout{grid-template-columns:1fr;}.dir-media{position:relative;top:0;aspect-ratio:16/11;margin-bottom:8px;}}

  /* ---------- philosophy ---------- */
  .phil{background:linear-gradient(180deg,var(--bg),var(--bg2));}
  .phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;}
  .phil h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:clamp(30px,4.8vw,66px);line-height:.94;letter-spacing:-.02em;text-wrap:balance;}
  .phil h2 em{font-style:normal;color:var(--accent);}
  .phil .body{color:var(--muted);margin-top:28px;max-width:52ch;font-size:15px;}
  .phil .body b{color:var(--ink);font-weight:600;}
  .ledger{margin-top:36px;border-top:1px solid var(--line);}
  .lrow{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);}
  .lrow .lk{font-size:14px;color:var(--ink);}
  .lrow .lv{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;}
  .lv.sys{color:var(--faint);}
  .lv.hum{color:var(--accent);}
  .phil-media{aspect-ratio:3/4;overflow:hidden;border:1px solid var(--line);}
  @media (max-width:860px){.phil-grid{grid-template-columns:1fr;}.phil-media{aspect-ratio:16/11;order:-1;}}

  /* ---------- services marquee ---------- */
  .svc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(28px,4.4vh,52px) 0;overflow:hidden;}
  .svc .track{display:flex;gap:0;width:max-content;animation:marq 38s linear infinite;}
  .svc .track span{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(24px,4.2vw,56px);letter-spacing:-.01em;line-height:1;padding:0 .4em;color:var(--ink);}
  .svc .track span.o{color:transparent;-webkit-text-stroke:1px var(--faint);}
  .svc .track .sep{color:var(--accent);-webkit-text-stroke:0;}
  @keyframes marq{to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){.svc .track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;}}

  /* ---------- contact ---------- */
  .contact{text-align:center;}
  .contact .kick{justify-content:center;}
  .contact h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(38px,8vw,128px);line-height:.9;letter-spacing:-.03em;margin:28px 0 40px;text-wrap:balance;}
  .contact h2 em{font-style:normal;color:var(--accent);}
  .mail{display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:clamp(13px,1.6vw,16px);
    letter-spacing:.08em;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:16px 26px;transition:border-color .3s,color .3s;}
  .mail:hover{border-color:var(--accent);color:var(--accent);}
  .contact .note{margin-top:26px;color:var(--muted);font-size:13px;max-width:52ch;margin-left:auto;margin-right:auto;}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line);padding:40px clamp(18px,3.4vw,44px);}
  .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .foot .mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
  .foot .mg{font-family:var(--disp);font-weight:800;font-size:22px;letter-spacing:.05em;}
  .idx{display:flex;gap:22px;flex-wrap:wrap;}
  .idx a{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color .3s;}
  .idx a:hover{color:var(--accent);}

  /* ---------- shared big heading ---------- */
  .h2big{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:clamp(28px,4.6vw,64px);line-height:.94;letter-spacing:-.02em;text-wrap:balance;}
  .h2big em{font-style:normal;color:var(--accent);}

  /* ---------- position statement ---------- */
  .pos-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,72px);align-items:start;}
  .pos-body{display:flex;flex-direction:column;gap:22px;color:var(--muted);font-size:clamp(15px,1.5vw,17px);max-width:54ch;padding-top:10px;}
  .pos-body b{color:var(--ink);font-weight:600;}
  @media(max-width:860px){.pos-grid{grid-template-columns:1fr;}}

  /* ---------- why cards ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:clamp(28px,5vh,52px);}
  .card2{background:var(--bg);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;min-height:210px;transition:background .4s;}
  .card2:hover{background:var(--panel);}
  .card2 .cl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
  .card2 h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(18px,2vw,26px);line-height:1.02;letter-spacing:-.01em;margin-top:10px;}
  .card2 p{color:var(--muted);font-size:14px;line-height:1.55;margin-top:auto;padding-top:20px;}
  @media(max-width:720px){.why-grid{grid-template-columns:1fr;}.card2{min-height:0;}}

  /* ---------- process steps ---------- */
  .steps{display:flex;flex-direction:column;margin-top:clamp(28px,5vh,52px);}
  .step{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,3vw,44px);align-items:start;
    padding:clamp(24px,3.4vh,40px) 0;border-top:1px solid var(--line);}
  .step:last-child{border-bottom:1px solid var(--line);}
  .step .sn{font-family:var(--disp);font-weight:800;font-size:clamp(28px,4vw,54px);line-height:.9;color:var(--faint);letter-spacing:-.02em;}
  .step .sc h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:clamp(18px,2.1vw,28px);letter-spacing:-.01em;}
  .step .sc p{color:var(--muted);font-size:14.5px;line-height:1.55;margin-top:10px;max-width:62ch;}
  .step .stag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding-top:10px;}
  @media(max-width:720px){.step{grid-template-columns:auto 1fr;}.step .stag{grid-column:2;padding-top:2px;}}

  /* ---------- team statement ---------- */
  .team{background:var(--bg2);text-align:center;}
  .team .kick{justify-content:center;}
  .team h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:clamp(30px,6vw,86px);line-height:.94;letter-spacing:-.02em;text-wrap:balance;}
  .team h2 em{font-style:normal;color:var(--accent);}
  .team .tsub{margin-top:22px;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}

  /* ---------- partners ---------- */
  .partners{border-top:1px solid var(--line);}
  .partners .kick{justify-content:center;}
  .partners .phead{text-align:center;max-width:60ch;margin:0 auto clamp(40px,6vh,72px);}
  .partners .ptitle{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(22px,3.4vw,44px);line-height:1;letter-spacing:-.01em;margin-top:18px;}
  .partners .ptitle em{font-style:normal;color:var(--accent);}
  .plogos{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
  .plogo{display:flex;align-items:center;justify-content:center;min-height:clamp(88px,13vh,132px);
    padding:18px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    opacity:.45;filter:grayscale(1) brightness(1.6);transition:opacity .45s ease,filter .45s ease;}
  .plogo:hover{opacity:1;filter:grayscale(1) brightness(2.2);}
  .plogo img{max-width:100%;max-height:38px;height:auto;display:block;}
  .plogo .wm{font-family:var(--disp);font-weight:800;text-transform:uppercase;color:var(--ink);
    font-size:clamp(13px,1.5vw,19px);letter-spacing:.04em;text-align:center;line-height:1.1;}
  @media(max-width:900px){.plogos{grid-template-columns:repeat(2,1fr);}}

  /* ---------- mobile ---------- */
  @media (max-width:600px){
    .hud{padding:16px 16px;}
    .brand{font-size:16px;letter-spacing:.14em;}
    .clock{font-size:9.5px;letter-spacing:.1em;gap:6px;}
    .clock .dot{width:5px;height:5px;}
    .disc{font-size:10px;letter-spacing:.08em;}
    .hud-right{gap:10px;}
    .langtog{font-size:10px;letter-spacing:.06em;gap:5px;}
    .scrollcue{display:none;}
    .hero-cap{bottom:44px;max-width:92vw;}
    .hero-cap .ey{font-size:10px;letter-spacing:.16em;margin-bottom:12px;}
    .hero-monogram{bottom:16px;font-size:19px;}
    .pad{padding-top:76px;padding-bottom:76px;}
    .dir-head{margin-bottom:32px;}
    .row{padding:20px 4px;gap:14px;grid-template-columns:auto 1fr;}
    .row .rs{grid-column:2;margin-top:6px;}
    .ledger{margin-top:28px;}
    .foot{justify-content:center;text-align:center;}
    .foot .mg{order:-1;}
  }
  @media (max-width:380px){
    .clock{display:none;}
    .hud{grid-template-columns:1fr auto;}
  }

  /* ================= SUBPAGES (v3) ================= */

  /* --- back link in HUD --- */
  .hud-left{display:flex;align-items:center;gap:16px;}
  .backlink{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--muted);border-bottom:1px solid transparent;transition:color .3s,border-color .3s;}
  .backlink:hover{color:var(--accent);border-color:var(--accent);}
  @media(max-width:600px){.backlink{display:none;}}

  /* --- sub hero (shorter than the home hero) --- */
  .shero{position:relative;height:min(84svh,760px);min-height:480px;overflow:hidden;}
  .shero .media{position:absolute;inset:0;}
  .shero .media::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(11,10,9,.72) 0%,rgba(11,10,9,.28) 34%,rgba(11,10,9,.55) 66%,rgba(11,10,9,.97) 100%);}
  .shero-cap{position:absolute;left:clamp(18px,3.4vw,44px);right:clamp(18px,3.4vw,44px);
    bottom:clamp(48px,8vh,86px);z-index:4;max-width:min(94vw,900px);}
  .crumbs{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--muted);margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;}
  .crumbs a{color:var(--muted);transition:color .3s;}
  .crumbs a:hover{color:var(--accent);}
  .crumbs .sepc{color:var(--faint);}
  .crumbs .cur{color:var(--accent);}
  .shero-cap h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(34px,7vw,104px);line-height:.9;letter-spacing:-.025em;text-wrap:balance;}
  .shero-cap .sub{margin-top:22px;color:var(--muted);font-size:clamp(14px,1.6vw,17px);
    line-height:1.6;max-width:56ch;}
  .shero-cap .sub b{color:var(--ink);font-weight:600;}

  /* --- key facts strip --- */
  .facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);background:var(--bg2);}
  .fact{padding:clamp(22px,3vw,36px) clamp(18px,2.4vw,32px);border-right:1px solid var(--line);}
  .fact:last-child{border-right:0;}
  .fact .fv{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,42px);
    line-height:.95;letter-spacing:-.02em;}
  .fact .fv em{font-style:normal;color:var(--accent);}
  .fact .fl{margin-top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--faint);line-height:1.5;}
  @media(max-width:900px){.facts{grid-template-columns:1fr 1fr;}
    .fact:nth-child(2n){border-right:0;}
    .fact:nth-child(-n+2){border-bottom:1px solid var(--line);}}

  /* --- offer list (what we do) --- */
  .offer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:clamp(28px,5vh,52px);}
  .offer .o-item{background:var(--bg);padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;
    min-height:200px;transition:background .4s;}
  .offer .o-item:hover{background:var(--panel);}
  .offer .on{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--accent);}
  .offer h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;
    font-size:clamp(17px,1.9vw,24px);line-height:1.04;letter-spacing:-.01em;margin-top:12px;}
  .offer p{color:var(--muted);font-size:14px;line-height:1.55;margin-top:auto;padding-top:18px;}
  @media(max-width:900px){.offer{grid-template-columns:1fr 1fr;}}
  @media(max-width:640px){.offer{grid-template-columns:1fr;}.offer .o-item{min-height:0;}}

  /* --- split block: text + image --- */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;}
  .split.rev .sp-media{order:-1;}
  .split .sp-media{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line);}
  .split .sp-body{color:var(--muted);font-size:clamp(15px,1.5vw,17px);line-height:1.65;
    display:flex;flex-direction:column;gap:20px;max-width:54ch;}
  .split .sp-body b{color:var(--ink);font-weight:600;}
  @media(max-width:860px){.split{grid-template-columns:1fr;}
    .split .sp-media,.split.rev .sp-media{aspect-ratio:16/11;order:-1;}}

  /* --- criteria / checklist --- */
  .crit{margin-top:clamp(26px,4vh,44px);border-top:1px solid var(--line);}
  .crit .cr{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2.4vw,30px);
    padding:20px 4px;border-bottom:1px solid var(--line);align-items:baseline;}
  .crit .cr .ck{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);}
  .crit .cr .cv{font-size:15px;line-height:1.6;color:var(--muted);}
  .crit .cr .cv b{color:var(--ink);font-weight:600;display:block;
    font-family:var(--disp);text-transform:uppercase;letter-spacing:-.01em;
    font-size:clamp(15px,1.7vw,19px);margin-bottom:7px;}

  /* --- cross links to other directions --- */
  .xlinks{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);}
  .xlink{background:var(--bg);padding:clamp(22px,2.8vw,34px);display:block;
    transition:background .4s;position:relative;}
  .xlink:hover{background:var(--panel);}
  .xlink .xn{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--faint);}
  .xlink h3{font-family:var(--disp);font-weight:700;text-transform:uppercase;
    font-size:clamp(17px,1.9vw,24px);line-height:1.05;margin-top:11px;transition:color .35s;}
  .xlink:hover h3{color:var(--accent);}
  .xlink .xar{position:absolute;right:clamp(22px,2.8vw,34px);top:clamp(22px,2.8vw,34px);
    color:var(--faint);font-family:var(--mono);font-size:13px;transition:color .35s,transform .35s;}
  .xlink:hover .xar{color:var(--accent);transform:translate(3px,-3px);}
  .xlink.soon{opacity:.45;pointer-events:none;}
  .xlink.soon .xn{color:var(--faint);}
  @media(max-width:900px){.xlinks{grid-template-columns:1fr;}}

  /* --- home: asset classes cards --- */
  .aclass{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:clamp(28px,5vh,52px);}
  .ac{background:var(--bg);padding:clamp(26px,3.2vw,42px);display:flex;flex-direction:column;
    min-height:250px;transition:background .4s;position:relative;}
  .ac:hover{background:var(--panel);}
  .ac .acn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--faint);}
  .ac h3{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(19px,2.2vw,29px);line-height:1;letter-spacing:-.015em;margin-top:14px;
    transition:color .35s;}
  .ac:hover h3{color:var(--accent);}
  .ac p{color:var(--muted);font-size:14px;line-height:1.55;margin-top:16px;}
  .ac .acs{margin-top:auto;padding-top:22px;font-family:var(--mono);font-size:10px;
    letter-spacing:.16em;text-transform:uppercase;color:var(--faint);}
  .ac .acs.on{color:var(--accent);}
  .ac .acar{position:absolute;right:clamp(26px,3.2vw,42px);top:clamp(26px,3.2vw,42px);
    font-family:var(--mono);font-size:13px;color:var(--faint);transition:color .35s,transform .35s;}
  .ac:hover .acar{color:var(--accent);transform:translate(3px,-3px);}
  @media(max-width:980px){.aclass{grid-template-columns:1fr 1fr;}}
  @media(max-width:640px){.aclass{grid-template-columns:1fr;}.ac{min-height:0;}}

  /* --- home: real-estate sub-directions strip --- */
  .redir{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:clamp(22px,3.4vh,36px);}
  .rd{background:var(--bg);padding:clamp(20px,2.4vw,30px);display:flex;
    justify-content:space-between;align-items:baseline;gap:14px;transition:background .4s;}
  .rd:hover{background:var(--panel);}
  .rd .rdt{font-family:var(--disp);font-weight:700;text-transform:uppercase;
    font-size:clamp(15px,1.6vw,20px);letter-spacing:-.01em;transition:color .35s;}
  .rd:hover .rdt{color:var(--accent);}
  .rd .rda{font-family:var(--mono);font-size:12px;color:var(--faint);transition:color .35s,transform .35s;}
  .rd:hover .rda{color:var(--accent);transform:translate(3px,-3px);}
  .rd.soon{opacity:.4;pointer-events:none;}
  @media(max-width:900px){.redir{grid-template-columns:1fr;}}

  /* --- lead form --- */
  .lead{background:var(--bg2);border-top:1px solid var(--line);}
  .lead .lwrap{max-width:820px;margin:0 auto;text-align:center;}
  .lead .kick{justify-content:center;}
  .lead h2{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(32px,6vw,86px);line-height:.92;letter-spacing:-.03em;margin:24px 0 20px;text-wrap:balance;}
  .lead h2 em{font-style:normal;color:var(--accent);}
  .lead .lnote{color:var(--muted);font-size:14.5px;line-height:1.6;max-width:52ch;margin:0 auto;}
  /* --- CTA: прямой контакт с менеджером --- */
  .cta{margin-top:clamp(30px,5vh,48px);display:flex;gap:14px;justify-content:center;
    flex-wrap:wrap;align-items:center;}
  .tgbtn{display:inline-flex;align-items:center;gap:12px;background:var(--accent);
    border:1px solid var(--accent);border-radius:999px;color:#0b0a09;
    font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
    padding:19px 34px;transition:background .3s,color .3s;}
  .tgbtn:hover{background:transparent;color:var(--accent);}
  .tgbtn svg{width:17px;height:17px;fill:currentColor;flex:none;}
  .lalt{margin-top:26px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
  .lalt a{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);
    font-size:13px;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);
    border-radius:999px;padding:13px 22px;transition:border-color .3s,color .3s;}
  .lalt a:hover{border-color:var(--accent);color:var(--accent);}
  .lwho{margin-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--faint);}
  .lwho b{color:var(--muted);font-weight:400;}

  /* ---------- header nav (v4) ---------- */
  .hudnav{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px);}
  .hudnav a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--muted);white-space:nowrap;padding-bottom:3px;border-bottom:1px solid transparent;
    transition:color .3s,border-color .3s;}
  .hudnav a:hover{color:var(--ink);border-color:var(--accent);}
  .hudnav a.on{color:var(--accent);border-color:var(--accent);}

  /* бургер — только на узких экранах */
  .burger{display:none;background:none;border:0;padding:6px 0 6px 4px;cursor:pointer;
    flex-direction:column;gap:5px;width:26px;}
  .burger span{display:block;height:1px;width:100%;background:var(--ink);
    transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s;}
  .burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  /* полноэкранное меню */
  .navpanel{position:fixed;inset:0;z-index:45;background:var(--bg);
    display:flex;flex-direction:column;justify-content:center;
    padding:clamp(72px,14vh,140px) clamp(18px,3.4vw,44px) clamp(40px,8vh,80px);
    opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;}
  .navpanel.open{opacity:1;visibility:visible;}
  .navpanel .npkick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;
    text-transform:uppercase;color:var(--faint);margin-bottom:clamp(20px,4vh,34px);}
  .navpanel .npkick b{color:var(--accent);font-weight:400;}
  .navpanel nav{display:flex;flex-direction:column;border-top:1px solid var(--line);}
  .navpanel nav a{font-family:var(--disp);font-weight:800;text-transform:uppercase;
    font-size:clamp(26px,7vw,52px);line-height:1;letter-spacing:-.02em;
    padding:clamp(16px,2.6vh,24px) 0;border-bottom:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:baseline;gap:16px;transition:color .3s;}
  .navpanel nav a:hover,.navpanel nav a.on{color:var(--accent);}
  .navpanel nav a .npn{font-family:var(--mono);font-weight:400;font-size:11px;
    letter-spacing:.16em;color:var(--faint);}
  .navpanel .npfoot{margin-top:clamp(26px,5vh,46px);display:flex;gap:12px;flex-wrap:wrap;}
  .navpanel .npfoot a{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);
    font-size:12.5px;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);
    border-radius:999px;padding:12px 20px;transition:border-color .3s,color .3s;}
  .navpanel .npfoot a:hover{border-color:var(--accent);color:var(--accent);}
  body.navopen{overflow:hidden;}

  @media(max-width:1180px){.hud-mid{display:none;}.hud{grid-template-columns:1fr auto;}}
  @media(max-width:1000px){
    .hudnav{display:none;}
    .burger{display:flex;}
  }

  /* ---------- мобильные доводки (v5) ---------- */

  /* левый скрим под подписью героя: на светлых кадрах крошки тонули */
  .shero .media::before{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(100deg,rgba(11,10,9,.78) 0%,rgba(11,10,9,.42) 40%,rgba(11,10,9,0) 70%);}

  /* панель меню должна прокручиваться, если не влезла (телефон в альбоме) */
  .navpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;}
  @media(max-height:560px){.navpanel{justify-content:flex-start;}}

  @media(max-width:560px){
    /* две колонки цифр на 390px были нечитаемы — в одну */
    .facts{grid-template-columns:1fr;}
    .fact{border-right:0;border-bottom:1px solid var(--line);}
    .fact:last-child{border-bottom:0;}
    .fact:nth-child(-n+2){border-bottom:1px solid var(--line);}
    .fact{padding:20px clamp(18px,3.4vw,44px);}
    .fact .fv{font-size:34px;}
    .fact .fl{font-size:10px;letter-spacing:.14em;}

    .shero{height:min(78svh,640px);min-height:440px;}
    .shero-cap .sub{font-size:14.5px;}
    .crumbs{font-size:10px;letter-spacing:.14em;gap:7px;margin-bottom:14px;}

    .crit .cr{grid-template-columns:1fr;gap:8px;padding:18px 4px;}
    .crit .cr .ck{color:var(--faint);}

    .tgbtn{padding:17px 26px;font-size:12px;letter-spacing:.12em;width:100%;justify-content:center;}
    .cta{width:100%;}
    .lalt a{font-size:12px;padding:12px 18px;}
    .lwho{font-size:10px;letter-spacing:.12em;line-height:1.6;}

    .xlink .xar{top:auto;bottom:clamp(22px,2.8vw,34px);}
  }
