/* ============================================================
   AMANAH — дизайн-система
   Правило: страница обязана читаться, даже если JS отключён.
   Ничего не прячем через CSS без класса .js на <html>.
   ============================================================ */

:root{
  --black:#0B0B0C;
  --black-2:#131315;
  --black-3:#1B1B1E;
  --ivory:#F7F5F1;
  --ivory-2:#EDEAE3;

  --gold:#C9973F;
  --gold-lt:#E4C486;
  --gold-dk:#A87A2E;

  --on-dark:#F2F0EC;
  --on-dark-dim:rgba(242,240,236,.60);
  --on-light:#1A1A18;
  --on-light-dim:rgba(26,26,24,.62);

  --line-d:rgba(255,255,255,.12);
  --line-l:rgba(26,26,24,.14);

  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;

  --pad:clamp(20px,6vw,110px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.js{scroll-behavior:smooth}
body{
  background:var(--black);color:var(--on-dark);
  font-family:var(--sans);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--gold);color:#000}

/* ───────── Типографика ───────── */
.h-display{font-family:var(--serif);font-weight:300;font-size:clamp(40px,6.4vw,88px);line-height:1.04}
.h1{font-family:var(--serif);font-weight:300;font-size:clamp(30px,4.6vw,58px);line-height:1.12}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3.2vw,40px);line-height:1.18}
.h3{font-weight:500;font-size:clamp(16px,1.5vw,20px);line-height:1.4}
.lead{font-size:clamp(15px,1.4vw,18px);color:var(--on-dark-dim);max-width:56ch}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--gold-lt)}
.gold{color:var(--gold-lt)}
.note{font-size:12.5px;line-height:1.6;color:rgba(242,240,236,.42)}

/* Светлые секции — принудительно перекрашиваем всё внутри */
.light{background:var(--ivory);color:var(--on-light)}
.light .lead{color:var(--on-light-dim)}
.light .eyebrow,.light .gold{color:var(--gold-dk)}
.light .note{color:rgba(26,26,24,.5)}

/* ───────── Раскладка ───────── */
.section{padding:clamp(72px,10vw,140px) var(--pad)}
.section--tight{padding:clamp(48px,6vw,84px) var(--pad)}
.wrap{max-width:1240px;margin:0 auto}
.narrow{max-width:720px}
.center{text-align:center}
.mt-s{margin-top:12px}.mt-m{margin-top:24px}.mt-l{margin-top:44px}
.rule{height:1px;background:var(--line-d);border:0}
.light .rule{background:var(--line-l)}

.grid{display:grid;gap:clamp(18px,2.6vw,40px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.va{align-items:center}

/* ───────── Медиа ───────── */
.media{position:relative;overflow:hidden;background:var(--black-2)}
.media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.media--43{padding-top:75%}
.media--45{padding-top:125%}
.media--169{padding-top:56.25%}
.media--1{padding-top:100%}
.media[class*="media--"] img{position:absolute;inset:0}
.zoom:hover .media img{transform:scale(1.05)}

/* ───────── Шапка ───────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px var(--pad);
  background:rgba(11,11,12,.82);
  border-bottom:1px solid var(--line-d);
  transition:background .4s var(--ease),border-color .4s;
}
@supports (backdrop-filter:blur(1px)){
  .nav{backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
  html.js .nav.top{background:transparent;border-bottom-color:transparent}
}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand svg{width:24px;height:24px;flex-shrink:0}
.brand span{font-family:var(--serif);font-size:19px;letter-spacing:.32em;padding-left:2px;white-space:nowrap}
.menu{display:flex;gap:clamp(14px,2.2vw,32px);font-size:13.5px;color:var(--on-dark-dim)}
.menu a{transition:color .25s;white-space:nowrap}
.menu a:hover,.menu a[aria-current]{color:#fff}
.nav-r{display:flex;align-items:center;gap:12px;flex-shrink:0}
.lang{display:flex;gap:2px}
.lang button{
  background:none;border:0;cursor:pointer;color:var(--on-dark-dim);
  font-size:11px;letter-spacing:.08em;padding:5px 6px;border-radius:2px;transition:.25s;
}
.lang button:hover{color:#fff}
.lang button.on{color:#0B0B0C;background:var(--gold-lt)}

/* ───────── Кнопки ───────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 28px;border-radius:2px;font-size:13px;letter-spacing:.05em;font-weight:500;
  border:1px solid var(--gold);color:var(--gold-lt);background:transparent;
  cursor:pointer;transition:.35s var(--ease);white-space:nowrap;
}
.btn:hover{background:var(--gold);color:#0B0B0C}
.btn--fill{background:var(--gold);color:#0B0B0C;border-color:var(--gold)}
.btn--fill:hover{background:var(--gold-lt);border-color:var(--gold-lt)}
.btn--ghost{border-color:var(--line-d);color:var(--on-dark)}
.btn--ghost:hover{border-color:#fff;background:transparent;color:#fff}
.btn--sm{padding:9px 18px;font-size:12px}
.light .btn--ghost{border-color:var(--line-l);color:var(--on-light)}
.light .btn--ghost:hover{border-color:#000;color:#000}
.arrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold-lt);font-size:14px;transition:gap .3s var(--ease)}
.arrow:hover{gap:15px}
.light .arrow{color:var(--gold-dk)}

/* ───────── Обложка ───────── */
.hero{position:relative;display:flex;align-items:flex-end;min-height:640px;min-height:92vh;overflow:hidden}
.hero--sm{min-height:480px;min-height:64vh}
.hero__img{position:absolute;inset:0}
.hero__img img{width:100%;height:100%;object-fit:cover}
.hero__img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,11,12,.66) 0%,rgba(11,11,12,.20) 40%,rgba(11,11,12,.94) 100%);
}
.hero__in{position:relative;z-index:2;width:100%;max-width:940px;padding:0 var(--pad) clamp(52px,8vw,100px)}

/* ───────── До / после ───────── */
.ba{position:relative;height:560px;height:82vh;overflow:hidden;background:var(--black-2)}
.ba__l{position:absolute;inset:0}
.ba__l img{width:100%;height:100%;object-fit:cover}
.ba__after{clip-path:inset(0 0 0 50%)}
html.js .ba__after{clip-path:inset(0 0 0 var(--split,50%))}
.ba__h{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold-lt);z-index:4}
html.js .ba__h{left:var(--split,50%)}
.ba__h::after{
  content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;
  border-radius:50%;border:1px solid var(--gold-lt);background:rgba(11,11,12,.35);
}
.ba__t{position:absolute;bottom:28px;z-index:5;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.ba__t--l{left:var(--pad)}.ba__t--r{right:var(--pad)}
.ba__c{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);z-index:5;text-shadow:0 2px 14px rgba(0,0,0,.7)}

/* ───────── Список направлений ───────── */
.dirs{border-top:1px solid var(--line-d)}
.dir{
  position:relative;display:grid;grid-template-columns:64px 1fr 34px;align-items:center;
  gap:clamp(12px,2.6vw,36px);padding:clamp(24px,3.4vw,40px) var(--pad);
  border-bottom:1px solid var(--line-d);overflow:hidden;transition:background .45s var(--ease);
}
.dir__bg{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .55s var(--ease)}
.dir__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.42)}
.dir:hover{background:var(--black-3)}
.dir:hover .dir__bg{opacity:1}
.dir>*:not(.dir__bg){position:relative;z-index:1}
.dir__n{font-family:var(--serif);font-size:15px;color:var(--gold)}
.dir__t{font-family:var(--serif);font-size:clamp(22px,3vw,38px);font-weight:300;line-height:1.15}
.dir__d{font-size:13.5px;color:var(--on-dark-dim);margin-top:4px;max-width:62ch}
.dir__a{color:var(--gold-lt);font-size:19px;opacity:.55;transition:.35s var(--ease);text-align:right}
.dir:hover .dir__a{opacity:1;transform:translateX(5px)}

/* ───────── Цифра ───────── */
.num{font-family:var(--serif);font-size:clamp(88px,16vw,210px);line-height:.85;font-weight:300;color:var(--gold)}
.light .num{color:var(--gold-dk)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
.chip{font-size:11.5px;padding:7px 13px;border-radius:2px;border:1px solid var(--line-d);color:var(--on-dark-dim)}
.light .chip{border-color:var(--line-l);color:var(--on-light-dim)}

/* ───────── Лента ───────── */
.rail{display:flex;gap:18px;overflow-x:auto;padding-bottom:18px;-webkit-overflow-scrolling:touch}
.rail::-webkit-scrollbar{height:2px}
.rail::-webkit-scrollbar-thumb{background:var(--gold)}
.rail::-webkit-scrollbar-track{background:var(--line-d)}
.rail .card{flex:0 0 clamp(250px,30vw,380px)}
.card__t{font-weight:500;font-size:17px;margin-top:14px}
.card__m{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--on-dark-dim);margin-top:5px}
.light .card__m{color:var(--on-light-dim)}

/* ───────── Тарифы ───────── */
.tier{border:1px solid var(--line-d);padding:30px 26px;display:flex;flex-direction:column;gap:12px;transition:.4s var(--ease)}
.tier:hover{border-color:var(--gold)}
.tier--hi{border-color:var(--gold);background:rgba(201,151,63,.06)}
.tier__p{font-family:var(--serif);font-size:38px;font-weight:300;line-height:1}
.tier__p small{font-family:var(--sans);font-size:14px;color:var(--on-dark-dim)}
.light .tier{border-color:var(--line-l)}
.light .tier__p small{color:var(--on-light-dim)}
.ticks{list-style:none;font-size:13.5px;display:grid;gap:8px;margin-top:4px;color:inherit;opacity:.75}
.ticks li{padding-left:17px;position:relative}
.ticks li::before{content:"—";position:absolute;left:0;color:var(--gold);opacity:1}

/* ───────── Формы ───────── */
.field{display:grid;gap:7px;margin-bottom:20px}
.field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-dim)}
.field input,.field select{
  background:transparent;border:0;border-bottom:1px solid var(--line-d);border-radius:0;
  color:var(--on-dark);font:inherit;font-size:17px;padding:11px 0;outline:none;transition:border-color .3s;
}
.field input:focus{border-bottom-color:var(--gold)}
.light .field label{color:var(--on-light-dim)}
.light .field input{color:var(--on-light);border-bottom-color:var(--line-l)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{
  padding:11px 19px;border:1px solid var(--line-d);border-radius:2px;font-size:13.5px;
  cursor:pointer;background:transparent;color:var(--on-dark);transition:.3s var(--ease);
}
.opt:hover{border-color:var(--on-dark-dim)}
.opt.on{border-color:var(--gold);background:rgba(201,151,63,.14);color:var(--gold-lt)}
.light .opt{border-color:var(--line-l);color:var(--on-light)}
.light .opt.on{border-color:var(--gold-dk);color:var(--gold-dk);background:rgba(168,122,46,.1)}
.steps{display:flex;gap:5px;margin-bottom:34px}
.steps i{height:1px;flex:1;background:var(--line-d);transition:background .5s}
.steps i.on{background:var(--gold)}

/* ───────── Таблица ───────── */
.t{width:100%;border-collapse:collapse;font-size:14px}
.t th,.t td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line-d);vertical-align:top}
.t th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-lt);font-weight:500}
.light .t th,.light .t td{border-bottom-color:var(--line-l)}
.light .t th{color:var(--gold-dk)}
.t-wrap{overflow-x:auto}

/* ───────── Телефон (макеты приложения) ───────── */
.dev{border:1px solid var(--line-d);border-radius:24px;overflow:hidden;position:relative;background:var(--black-2);padding-top:205%}
.dev>.in{position:absolute;inset:0;padding:38px 18px 18px}
.dev::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:78px;height:19px;background:var(--black);border-radius:0 0 11px 11px;z-index:5}

/* ───────── Подвал ───────── */
footer{border-top:1px solid var(--line-d);padding:clamp(52px,7vw,84px) var(--pad) 30px}
.fg{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(22px,3.4vw,54px);max-width:1240px;margin:0 auto}
.fg h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:14px;font-weight:500}
.fg a,.fg p{display:block;font-size:13.5px;color:var(--on-dark-dim);margin-bottom:9px;transition:color .25s}
.fg a:hover{color:#fff}
.fb{max-width:1240px;margin:46px auto 0;padding-top:20px;border-top:1px solid var(--line-d);
    display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:11.5px;color:rgba(242,240,236,.36)}

/* ───────── Появление (только при работающем JS) ───────── */
html.js .rv{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
html.js .rv.in{opacity:1;transform:none}
html.js .d1{transition-delay:.08s}
html.js .d2{transition-delay:.16s}
html.js .d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html.js .rv{opacity:1;transform:none;transition:none}
  html.js{scroll-behavior:auto}
}

/* ───────── Адаптив ───────── */
@media(max-width:1000px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fg{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .menu{display:none}
  .g2,.g3{grid-template-columns:1fr}
  .swap{order:-1}
  .dir{grid-template-columns:34px 1fr 22px;gap:12px}
  .ba{height:68vh}
  .ba__c{top:auto;bottom:84px;transform:none}
  .brand span{font-size:16px;letter-spacing:.26em}
}
@media(max-width:520px){
  .fg{grid-template-columns:1fr}
  .g4{grid-template-columns:1fr}
  .hero{min-height:88vh}
}
