/* ============================================================
   Home (Главная) — Direction A · Galleria
   Builds on concept.css + reuses catalog.css footer/header rules.
   ============================================================ */

body.home{ background:var(--paper); color:var(--ink); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
.home{ --font-display:'Cormorant Garamond', Georgia, serif; --accent:var(--copper); --accent-deep:var(--copper-deep); --accent-soft:var(--copper-soft); }

.h-header{ position:sticky; top:0; z-index:40; background:rgba(244,241,236,.82); backdrop-filter:blur(14px); border-bottom:1px solid transparent; transition:border-color .3s, background .3s; }
.h-header.scrolled{ border-color:var(--line); }
.h-header .nav{ padding:20px 100px; }
@media (max-width:1100px){ .h-header .nav{ padding:16px 48px; } }
@media (max-width:680px){ .h-header .nav{ padding:14px 20px; } .h-header .nav-links{ display:none; } }

/* ---------------- HERO ---------------- */
.hero{ display:grid; grid-template-columns:47% 53%; min-height:calc(100vh - 71px); position:relative; }
@media (max-width:900px){ .hero{ grid-template-columns:1fr; min-height:0; } }
.hero-left{ padding:72px 64px 56px 100px; display:flex; flex-direction:column; justify-content:center; }
@media (max-width:1100px){ .hero-left{ padding:56px 40px 44px 48px; } }
@media (max-width:680px){ .hero-left{ padding:40px 20px; } }
.hero-left h1{ font-family:var(--font-display); font-weight:500; font-size:clamp(52px,6.2vw,96px); line-height:.98; letter-spacing:-.012em; margin:24px 0 26px; }
.hero-left h1 .em{ font-style:italic; color:var(--copper); }
.hero-left .lede{ font-family:var(--font-body); font-size:19px; line-height:1.65; color:var(--ink-2); max-width:440px; margin:0 0 36px; }
.hero-cta{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.hero-stats{ display:flex; align-items:flex-end; justify-content:space-between; margin-top:auto; padding-top:44px; }
.hero-stats .stat{ display:flex; align-items:baseline; gap:14px; }
.hero-stats .stat .n{ font-family:var(--font-display); font-weight:500; font-size:46px; color:var(--copper); line-height:1; }
.hero-stats .stat .t{ font-size:14px; color:var(--ink-2); max-width:180px; }

.hero-stone{ position:relative; overflow:hidden; }
@media (max-width:900px){ .hero-stone{ height:60vh; min-height:380px; } }
.hero-stone .tex-par{ position:absolute; inset:-12% 0 -12% 0; will-change:transform; }
.hero-stone .frame{ position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,244,224,.12); pointer-events:none; }
.hero-stone .vmeta{ position:absolute; right:22px; top:50%; transform:translateY(-50%) rotate(180deg); writing-mode:vertical-rl;
  font-family:var(--font-body); font-size:11px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:rgba(251,246,238,.75); }
.hero-stone .feat{ position:absolute; left:28px; bottom:28px; color:#fff; }
.hero-stone .feat .ix{ font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:.18em; color:rgba(251,246,238,.72); margin-bottom:6px; }
.hero-stone .feat .nm{ font-family:var(--font-display); font-weight:500; font-size:42px; line-height:1; }
.scrollcue-h{ position:absolute; left:100px; bottom:30px; display:flex; align-items:center; gap:12px; color:var(--ink-3); }
@media (max-width:1100px){ .scrollcue-h{ left:48px; } }
@media (max-width:900px){ .scrollcue-h{ display:none; } }
.scrollcue-h .l{ width:46px; height:1px; background:linear-gradient(90deg,var(--copper),transparent); }
.scrollcue-h .t{ font-family:var(--font-body); font-size:10px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }

/* ---------------- SECTION CHROME ---------------- */
.sec{ padding:120px 100px; }
@media (max-width:1100px){ .sec{ padding:88px 48px; } }
@media (max-width:680px){ .sec{ padding:64px 20px; } }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:54px; }
.sec-head h2{ font-family:var(--font-display); font-weight:500; font-size:clamp(38px,4.4vw,60px); line-height:1.02; letter-spacing:-.01em; margin:14px 0 0; max-width:680px; }

/* ---------------- PHILOSOPHY ---------------- */
.philo{ background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.philo .grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; }
@media (max-width:900px){ .philo .grid{ grid-template-columns:1fr; gap:40px; } }
.philo .quote{ font-family:var(--font-display); font-weight:500; font-size:clamp(34px,3.8vw,52px); line-height:1.12; letter-spacing:-.01em; }
.philo .quote .em{ font-style:italic; color:var(--copper); }
.philo .body p{ font-family:var(--font-body); font-size:17px; line-height:1.72; color:var(--ink-2); margin:0 0 18px; }
.philo .meta-row{ display:flex; gap:40px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line-2); }
.philo .meta-row .m .n{ font-family:var(--font-display); font-size:42px; font-weight:500; color:var(--ink); line-height:1; }
.philo .meta-row .m .t{ font-size:13px; color:var(--ink-3); margin-top:6px; }

/* ---------------- TOP 5 ---------------- */
.t5-row{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media (max-width:900px){ .t5-row{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px){ .t5-row{ grid-template-columns:1fr 1fr; } }
.t5-item{ position:relative; height:440px; border-radius:3px; overflow:hidden; cursor:pointer; transition:flex .4s; }
.t5-item .ov{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,14,8,0) 40%, rgba(20,14,8,.6) 100%); }
.t5-item .no{ position:absolute; top:16px; left:16px; font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.16em; color:rgba(251,246,238,.85); z-index:2; }
.t5-item .cap{ position:absolute; left:18px; bottom:18px; z-index:2; color:#fff; }
.t5-item .cap .nm{ font-family:var(--font-display); font-weight:500; font-size:26px; line-height:1; }
.t5-item .cap .or{ font-family:var(--font-body); font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; opacity:.82; margin-top:5px; }
.t5-item:hover{ transform:translateY(-4px); transition:transform .35s; }

/* ---------------- ANCHOR BLOCKS ---------------- */
.anchors{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .anchors{ grid-template-columns:1fr; } }
.anchor{ position:relative; height:380px; border-radius:3px; overflow:hidden; cursor:pointer; display:flex; flex-direction:column; justify-content:flex-end; padding:32px; color:#fff; }
.anchor .ov{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,14,8,.15) 0%, rgba(20,14,8,.78) 100%); transition:background .35s; }
.anchor:hover .ov{ background:linear-gradient(180deg, rgba(20,14,8,.25) 0%, rgba(20,14,8,.86) 100%); }
.anchor .c{ position:relative; z-index:2; }
.anchor .ix{ font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; opacity:.8; }
.anchor h3{ font-family:var(--font-display); font-weight:500; font-size:38px; line-height:1.0; margin:10px 0 10px; }
.anchor p{ font-family:var(--font-body); font-size:14px; line-height:1.55; color:rgba(251,246,238,.82); max-width:280px; margin:0 0 18px; }
.anchor .go{ display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--copper-soft); }
.anchor:hover .go .ic{ transform:translateX(4px); }
.anchor .go .ic{ transition:transform .25s; }

/* ---------------- TRADE BAND ---------------- */
.trade{ background:var(--ink); color:var(--paper); }
.trade .grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media (max-width:900px){ .trade .grid{ grid-template-columns:1fr; gap:36px; } }
.trade h2{ font-family:var(--font-display); font-weight:500; font-size:clamp(36px,4vw,56px); line-height:1.04; margin:14px 0 20px; color:var(--paper); }
.trade p{ font-family:var(--font-body); font-size:17px; line-height:1.7; color:rgba(244,241,236,.78); max-width:460px; margin:0 0 30px; }
.trade .logos{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(244,241,236,.14); border:1px solid rgba(244,241,236,.14); border-radius:3px; overflow:hidden; }
.trade .logos .lg{ height:88px; background:var(--ink); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:20px; color:rgba(244,241,236,.55); transition:color .25s, background .25s; }
.trade .logos .lg:hover{ color:#fff; background:#262220; }
.trade .eyebrow{ color:var(--copper-soft); }

/* reveal */
@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .8s cubic-bezier(.2,.7,.3,1); }
  .reveal.in{ opacity:1; transform:none; }
}

/* ---------------- MOBILE POLISH ---------------- */
@media (max-width:680px){
  .hero-left{ min-height:auto; padding-top:36px; }
  .hero-left h1{ margin:18px 0 20px; }
  .hero-stats{ flex-direction:column; align-items:flex-start; gap:18px; padding-top:30px; }
  .sec-head{ flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:38px; }
  .philo .meta-row{ gap:24px; flex-wrap:wrap; }
  .anchor{ height:300px; padding:26px; }
  .anchor h3{ font-size:32px; }
  .trade .logos .lg{ height:72px; font-size:17px; }
}
