/* ============================================================
   UZHANSKY — structural styles  (part 2: distances → footer)
   ============================================================ */

/* ---------- 05 · DISTANCES ---------- */
.dist__top{ display:flex; justify-content:space-between; gap:120px; align-items:flex-start; }
.dist__top .lead-aside{ flex:0 0 480px; max-width:480px; font-family:var(--sans); font-weight:300; font-size:14px; line-height:24.5px; color:var(--muted); margin:0; align-self:flex-end; }
.dist__top .lead-aside strong {
  color: #fff;
}
.dist__top .h2 em {
  color: var(--gold);
}
.dist__map{ position:relative; margin:60px 0; aspect-ratio:1440/764; width:100%; }
.dist__map svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.map-route{ fill:none; stroke:rgba(245,240,234,.18); stroke-width:1; }
.map-grid{ fill:none; stroke:rgba(245,240,234,.05); stroke-width:1; }
.map-river{ fill:none; stroke:var(--gold); stroke-width:2; opacity:.4; }
.map-dot-o{ fill:#fff; }
.map-dot-i{ fill:var(--gold); }
.map-pin{ filter:drop-shadow(0 8px 24px rgba(0,0,0,.4)); }
.map-pill{ }
.map-pill rect{ fill:rgba(245,240,234,.5); }
.map-pill.gold rect{ fill:rgba(198,169,107,.85); }
.map-pill text{ fill:#fff; font-family:var(--sans); font-weight:500; }
.map-label{ fill:rgba(245,240,234,.78); font-family:var(--sans); font-size:11px; letter-spacing:.4px; }
.map-center-label{ fill:var(--cream); font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:2px; }
.dist__rail{ margin-top: 40px; display:flex; gap:0; }
.dist-card{ flex:1; padding:0 22px; border-left:1px solid var(--line); }
.dist-card:first-child{ border-left:0; padding-left:0; }
.dist-card__k{ font-family:var(--sans); font-size:10px; letter-spacing:2px; color:var(--gold); }
.dist-card__t{ font-family:var(--serif); font-weight:300; font-size:30px; line-height:1.1; letter-spacing:-.3px; color:var(--cream); margin:14px 0 12px; }
.dist-card__to{ font-family:var(--sans); font-weight:300; font-size:12.5px; line-height:18px; color:var(--muted); white-space:pre-line; }
.dist__rail2{ display:flex; gap:128px; margin-top:52px; padding-top:28px; border-top:1px solid var(--line); }
.dist__rail2 .rail2-l{ flex:0 0 560px; }
.dist__rail2 .rail2-l .lbl{
  text-transform: uppercase;
  font-family:var(--sans); font-size:11px; letter-spacing:1.76px; color:var(--gold); }
.dist__rail2 .rail2-l .big{ font-family:var(--serif); font-weight:300; font-size:30px; line-height:34.5px; letter-spacing:-.3px; color:var(--cream); margin-top:13px; }
.dist__rail2 .rail2-r{ margin: 0; font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:26.1px; color:var(--muted); }

/* ---------- 06 · ARCHITECTURE ---------- */
.arch__gallery{ display:grid; grid-template-columns:821fr 609fr; gap:10px; height:720px; }
.arch__hero{ position:relative; overflow:hidden; }
.arch__hero .kicker{ position:absolute; top:56px; left:56px; opacity:.6; }
.arch__hero-mark{ position:absolute; left:56px; bottom:283px; display:flex; align-items:center; gap:14px; }
.arch__hero .h2 em,
.rel__grid .h2 em,
.auto__left .h2 em {
  color: #C6A96B;
}
.arch__hero-mark .ln{ width:28px; height:1px; background:var(--muted); }
.arch__hero-mark .num{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:22px; color:var(--gold); }
.arch__hero .h2{ position:absolute; left:56px; bottom:48px; margin:0; font-family:var(--serif); font-weight:300; font-size:77.8px; line-height:77.76px; letter-spacing:-1.555px; color:var(--cream); }
.arch__col{ display:grid; grid-template-rows:1fr 1fr; gap:10px; }
.arch__cell{ position:relative; overflow:hidden; }
.arch__cell .kicker{ position:absolute; left:28px; bottom:28px; opacity:.78; }
.arch__intro{ margin-top:120px; display:flex; gap:80px; align-items:flex-start; }
.arch__pull{ flex:0 0 473px; max-width:473px; margin:0; font-family:var(--serif); font-weight:300; font-style:italic; font-size:28px; line-height:39.2px; color:var(--gold); }
.arch__intro-body{ display:flex; flex-direction:column; gap:20px; }
.arch__intro-body p{ margin:0; font-family:var(--sans); font-weight:300; font-size:15px; line-height:27.75px; color:var(--muted); }
.arch__features{ margin-top:64px; display:grid; grid-template-columns:repeat(4,1fr); }
.feat-card{
  padding:0 28px; border-left:1px solid var(--line);
}
.feat-card:first-child{ border-left:0; padding-left:0; }
.feat-card__k{ font-family:var(--serif); font-weight:300; font-size:30px; letter-spacing:-.3px; color:var(--cream); }
.feat-card__l{ margin-top:10px; font-family:var(--sans); font-size:13px; letter-spacing:.4px; color:var(--muted); }
.arch__features .feat-card__k {
  color: #C6A96B;
}
/* ---------- PASSAGE (quote band) ---------- */
.passage{ position:relative; height:620px; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.passage--ii{ height:560px; }
.passage__img{
  width: 100%;
  height: 100%;
  position:absolute; inset:0; object-fit:cover; transform:scale(1.06); will-change:transform; }
.passage__shade{ position:absolute; inset:0; background:rgba(20,29,26,.4); }
.passage--i .passage__shade{ background:linear-gradient(rgba(20,29,26,.5),rgba(20,29,26,.5)); }
.passage__inner{ position:relative; z-index:2; text-align:center; max-width:1100px; padding:0 56px; display:flex; flex-direction:column; align-items:center; gap:30px; }
.passage__eyebrow{ display:flex; align-items:center; gap:18px; }
.passage__eyebrow .ln{ width:48px; height:1px; background:rgba(245,240,234,.32); }
.passage__eyebrow span:not(.ln){ font-family:var(--sans); font-weight:500; font-size:10.5px; letter-spacing:2.31px; color:rgba(245,240,234,.72); }
.passage__quote{ margin:0; font-family:var(--serif); font-weight:300; font-style:italic; font-size:63.4px; line-height:76px; letter-spacing:-.95px; color:var(--cream-2); text-shadow:0 4px 30px rgba(0,0,0,.5); }
.passage__attr{ font-family:var(--sans); font-weight:500; font-size:10.5px; letter-spacing:2.31px; color:var(--gold); }

/* ---------- 07 · RELIABILITY ---------- */
.rel__grid{ display:flex; justify-content:space-between; gap:80px; }
.rel__left{ max-width:654px; display:flex; flex-direction:column; gap:26.8px; }
.rel__lede{ font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:26.83px; color:rgba(245,240,234,.6); margin:0; white-space:pre-line; }
.rel__list{ flex:0 0 594px; max-width:46%; list-style:none; margin:0; padding:0; }
.num-list li{ display:flex; gap:24px; padding:22px 0; border-bottom:1px solid var(--line); }
.num-list .n{ font-family:var(--serif); font-style:italic; font-size:18px; color:var(--gold); flex:0 0 26px; line-height:1.4; }
.num-list .k{ font-family:var(--sans); font-weight:500; font-size:15px; color:var(--cream); }
.num-list .d{ margin-top:6px; font-family:var(--sans); font-weight:300; font-size:13px; line-height:20px; color:var(--muted); }

/* ---------- 08 · AUTONOMY ---------- */
.auto__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:96px; }
.auto__left{ max-width:639px; display:flex; flex-direction:column; gap:22.9px; }
.auto__h2{ margin:0; font-family:var(--serif); font-weight:300; font-size:77.8px; line-height:73.87px; letter-spacing:-1.555px; color:var(--cream); }
.auto__sub{ margin:0; font-family:var(--serif); font-weight:300; font-style:italic; font-size:24px; line-height:34.8px; color:var(--muted); }
.auto__aside{ margin: 0 0 30px; flex:0 0 480px; max-width:480px; font-family:var(--sans); font-weight:300; font-size:15px; line-height:27.75px; color:var(--muted); }
.auto__feature{ position:relative; height:590px; margin-top:80px; overflow:hidden; }
.auto__feature .kicker{ position:absolute; top:28px; left:32px; opacity:.75; }
.auto__feature-quote{ position:absolute; left:36px; bottom:116px; max-width:420px; }
.auto__feature-quote p{ margin:0; font-family:var(--serif); font-weight:300; font-style:italic; font-size:40px; line-height:50px; letter-spacing:-.2px; color:var(--cream); text-shadow:0 4px 30px rgba(0,0,0,.5); }
.auto__panel{ position:absolute; right:36px; top:82px; width:446px; max-width:42%; background:#fff; overflow:hidden; padding:60px 32px; }
.auto__panel-glow{ position:absolute; inset:0; opacity:.12; background:radial-gradient(circle at 50% 40%, var(--gold) 0%, rgba(198,169,107,0) 50%); }
.auto__panel > *{ position:relative; }
.auto__panel .lbl{ font-family:var(--sans); font-weight:700; font-size:20px; letter-spacing:2.31px; color:var(--gold); }
.auto__panel .big{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:62px; line-height:.82; letter-spacing:-2.48px; color:var(--bg); margin:28px 0 18px; }
.auto__panel .txt{ font-family:var(--sans); font-weight:300; font-size:13px; line-height:20.15px; color:rgba(20,29,26,.7); }
.auto__panel-list{ margin-top:24px; padding-top:24px; border-top:1px solid rgba(20,29,26,.12); display:flex; flex-direction:column; gap:14px; }
.auto__panel-list .row{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
.auto__panel-list .k{ font-family:var(--sans); font-weight:500; font-size:13px; color:var(--bg); }
.auto__panel-list .v{ font-family:var(--sans); font-weight:300; font-size:12px; color:rgba(20,29,26,.55); }
.auto__cards{ margin-top:80px; display:grid; grid-template-columns:repeat(2,1fr); gap:0 72px; }
.auto-card{
  position:relative;
  padding:26px 28px;
  border-top:1px solid var(--line);
  display:flex;
  gap:18px;
  transition:background .35s;
}
.auto-card:hover{ background:rgba(245,240,234,.02); }
.auto-card:nth-child(4n+1){ border-left:0; }
.auto-card__num{
  font-family:var(--serif);
  font-style:italic;
  font-size:28px;
  color:var(--gold);
  position: relative;
  top: -6px;
}
.auto-card__k{
  color: #F5F0EA;
  font-family:var(--serif);
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: 26.4px;
  letter-spacing: -0.11px;
}
.auto-card__d{ margin:8px 0 0; font-family:var(--sans); font-weight:300; font-size:13px; line-height:20px; color:var(--muted); }
.auto-card__cat{ margin:0 0 0 auto; font-family:var(--sans); font-size:9px; letter-spacing:1.6px; text-transform:uppercase; color:rgba(245,240,234,.3); }
.auto__cta{ display:flex; gap:32px; justify-content:center; margin-top:48px; flex-wrap:wrap; }

/* ---------- 09 · SEASONS ---------- */
.seasons__head{ display:flex; flex-direction:column; align-items:center; gap:23.3px; text-align:center; }
.seasons__h2{ margin:0; font-family:var(--serif); font-weight:300; font-size:69.1px; line-height:72.58px; letter-spacing:-1.382px; color:var(--cream); }
.seasons__h2 em {
  color: var(--gold);
}
.seasons__grid{ margin-top:72px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.season{ position:relative; height:560px; overflow:hidden; }
.season__img{ max-width: none; position:absolute; inset:0; object-fit:cover; transition:transform 1.4s cubic-bezier(.16,1,.3,1); will-change:transform; }
.season:hover .season__img{ transform:scale(1.06); }
.season__shade{ position:absolute; inset:0; background:linear-gradient(rgba(20,29,26,.15) 0%, rgba(20,29,26,.7) 100%); }
.season__tag{ position:absolute; top:24px; left:24px; opacity:.7; font-family:var(--sans); font-size:9px; letter-spacing:1.44px; color:var(--cream); }
.season__body{ position:absolute; left:32px; bottom:32px; right:24px; }
.season__name{ margin:0; font-family:var(--serif); font-weight:300; font-size:48px; line-height:1; letter-spacing:-.72px; color:var(--gold); }
.season__d{ margin:14px 0 0; font-family:var(--sans); font-size:14px; line-height:21.7px; color:rgba(245,240,234,.85); }
.seasons__pull{ margin:72px auto 0; max-width:680px; text-align:center; font-family:var(--serif); font-weight:300; font-style:italic; font-size:28px; line-height:40.6px; color:var(--cream); }
.seasons__pull em {
  color:var(--gold);
}
/* ---------- 10 · PHASES ---------- */
.phases__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:96px; }
.phases__top .h2 em {
  color:var(--gold);
}
.phases__top .lead-aside{ flex:0 0 480px; max-width:480px; font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:26.83px; color:var(--muted); margin:0; }
.phase{ padding:64px 0; }
.phase:first-of-type{ border-top:0; }
.phase__media{ position:relative; height:560px; overflow:hidden; margin-bottom:56px; }
.phase__media.grid3{ display:grid; grid-template-columns:821fr 609fr; gap:10px; height:720px; background:none; }
.phase__media .pm-cell{ position:relative; overflow:hidden; }
.phase__media .pm-right{ display:grid; grid-template-rows:1fr 1fr; gap:10px; }
.phase__media img{ width: 100%; height: 100%; position:absolute; inset:0; object-fit:cover; transition:transform 1.4s cubic-bezier(.16,1,.3,1); }
.phase__media:hover img{ transform:scale(1.04); }
.phase__media .pm-tag{ position:absolute; left:56px; bottom:34px; display:flex; align-items:center; gap:12px; opacity:.85; }
.phase__media.single .pm-tag{ left:28px; }
.phase__media .pm-tag .ln{ width:18px; height:1px; background:var(--gold); }
.phase__media .pm-tag span{ font-family:var(--sans); font-size:9px; letter-spacing:1.98px; color:var(--cream); }
.phase__media .pm-end{ position:absolute; right:28px; bottom:24px; font-family:var(--sans); font-size:10px; letter-spacing:2px; color:var(--gold); }
.phase__media .pm-kicker{ position:absolute; top:24px; left:28px; opacity:.8; font-family:var(--sans); font-size:9px; letter-spacing:1.8px; color:var(--cream); }
.phase__body{ display:flex; grid-template-columns:140px 475px 1fr; gap:48px; align-items:start; }
/* single-card phases (II, III): wider middle column, card placed as in design */
.phase__custom-info {
  max-width: 500px;
  flex-shrink: 0;
}
.phase__meta{ flex-shrink: 0; display:flex; flex-direction:column; gap:6px; }
.phase__meta .lbl{ font-family:var(--sans); font-size:10px; letter-spacing:1.8px; color:var(--gold); }
.phase__meta .num{ font-family:var(--serif); font-weight:300; font-size:64px; line-height:1; color:var(--cream); }
.phase__meta .end{ font-family:var(--sans); font-weight:400; font-size:14px; text-transform: uppercase;color:var(--gold); margin-top:6px; }
.phase__meta .count{ font-family:var(--sans); font-weight:500; font-size:13px; color:var(--cream); }
.phase__title{ margin:0 0 20px; font-family:var(--serif); font-weight:300; font-size:38px; line-height:41.8px; letter-spacing:-.38px; color:var(--cream); }
.phase__summary{ margin:0; font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:26.1px; color:var(--muted); }
.phase__infra{ margin-top:28px; }
.phase__infra .lbl{ font-family:var(--sans); font-size:10px; letter-spacing:1.6px; color:rgba(245,240,234,.55); }
.phase__infra-chips{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.chip--sm{ font-size:11px; padding:7px 14px; }
.phase__types{ display:flex; width: 100%; max-width: 100%; grid-template-columns:repeat(2,1fr); gap:10px; }
.type-card{ width: 100%; background:rgba(245,240,234,.035); backdrop-filter:blur(4px); padding:28px 26px; display:flex; flex-direction:column; }
.type-card__head{ display:flex; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid var(--line); gap:16px; }
.type-card__lbl{ text-transform: uppercase; font-family:var(--sans); font-size:10px; letter-spacing:1.6px; color:rgba(245,240,234,.55); }
.type-card__area{ margin-top:4px; font-family:var(--serif); font-weight:300; font-size:32px; line-height:1; letter-spacing:-.32px; color:var(--cream); }
.type-card__right{ text-align:right; }
.type-card__plot{ margin-top:8px; font-family:var(--sans); font-weight:500; font-size:14px; color:var(--gold); }
.type-card__spec{ list-style:none; margin:24px 0; padding:0; display:flex; flex-direction:column; gap:10px; flex:1; }
.type-card__spec li{ display:flex; gap:10px; font-family:var(--sans); font-weight:300; font-size:13px; line-height:18px; color:rgba(245,240,234,.8); }
.type-card__spec .dash{ color:var(--gold); }
.type-card .pill{ justify-content:center; width:100%; border:1px solid var(--muted); font-size:14px; padding:12px 22px; }
.phases__pull{ margin:60px auto 12px; max-width:680px; text-align:center; font-family:var(--serif); font-weight:300; font-style:italic; font-size:30px; line-height:42px; color:var(--cream); }
.phases__note{ margin:0 auto; max-width:760px; text-align:center; font-family:var(--sans); font-weight:300; font-size:14px; line-height:24.5px; color:var(--muted); }
.phases__pull em {
  color:var(--gold);
}
/* ---------- 11 · PRICING ---------- */
.pricing__grid{ display:grid; grid-template-columns:624fr 624fr; gap:80px; align-items:center; }
.pricing__lede{ font-family:var(--sans); font-weight:300; font-size:15px; line-height:27.75px; color:var(--muted); margin:0; max-width:480px; }
.pricing__price{ margin-top:8px; }
.pricing__price .lbl{ font-family:var(--sans); font-size:10.5px; letter-spacing:2.31px; color:rgba(245,240,234,.5); }
.pricing__price-row{ display:flex; align-items:baseline; gap:10px; margin-top:12px; }
.pricing__price .v{ font-family:var(--serif); font-weight:300; font-size:56px; line-height:1; letter-spacing:-1px; color:var(--cream); }
.pricing__price .u{ font-family:var(--sans); font-size:14px; letter-spacing:1px; color:var(--gold); }
.pricing__panel{ background:var(--bg-soft); padding:40px 44px; }
.pricing__panel .lbl{ text-transform: uppercase;font-family:var(--sans); font-size:11px; letter-spacing:1.76px; color:var(--gold); }
.terms{ list-style:none; margin:24px 0; padding:0; }
.terms li{ display:flex; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); }
.terms li:last-child{ border-bottom:0; }
.terms .n{ font-family:var(--serif); font-style:italic; font-size:18px; color:var(--gold); flex:0 0 24px; }
.terms .k{ font-family:var(--sans); font-weight:500; font-size:14px; color:var(--cream); }
.terms .d{ margin-top:5px; font-family:var(--sans); font-weight:300; font-size:13px; line-height:19px; color:var(--muted); }

/* ---------- 12 · SERVICES ---------- */
.services__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:96px; }
.services__top .h2 em {
  color:var(--gold);
}
.services__top .lead-aside{ flex:0 0 480px; max-width:480px; font-family:var(--sans); font-weight:300; font-size:14.5px; line-height:26.83px; color:var(--muted); margin:0; }
.services__wave{ position:relative; height:590px; margin:48px 0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.services__wave img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; mix-blend-mode:screen; opacity:.85; }
.services__player{ position:relative; z-index:2; display:flex; align-items:center; gap:16px; }
.player-btn{ border-radius:50%; background:rgba(245,240,234,.08); border:1px solid var(--line-2); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; transition:background .3s, transform .3s; }
.player-btn:hover{ background:rgba(245,240,234,.16); transform:scale(1.05); }
.player-btn.sm{ width:64px; height:64px; }
.player-btn.lg{ width:96px; height:96px; background:var(--gold); border-color:var(--gold); }
.player-btn.lg:hover{ background:var(--gold-2); }
.player-btn svg{ width:24px; height:24px; }
.player-btn.lg svg{ width:30px; height:30px; }
.services__grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.svc-panel{ background:rgba(245,240,234,.035); backdrop-filter:blur(4px); padding:40px; }
.svc-panel__tag{ font-family:var(--sans); font-size:10px; letter-spacing:1.8px; color:var(--gold); }
.svc-panel__title{ margin:28px 0; font-family:var(--serif); font-weight:300; font-size:40px; line-height:42px; letter-spacing:-.6px; color:var(--cream); }
.svc-list{
  list-style:none; margin:0; padding:0;
  display: flex;
  flex-wrap: wrap;
}
.svc-list li{
  display:flex; gap:18px; align-items:baseline; padding:11px 0;
  width: 50%;
  padding-right: 20px;
}
.svc-list .n{ font-family:var(--serif); font-style:italic; font-size:15px; color:var(--gold); flex:0 0 22px; }
.svc-list .t{ font-family:var(--sans); font-weight:300; font-size:14px; color:rgba(245,240,234,.85); }
.services__note{ margin:48px 0 0; font-family:var(--sans); font-weight:300; font-style:italic; font-size:13.5px; line-height:22.95px; color:var(--muted); }

/* ---------- 13 · TEAM ---------- */
.team__grid{ display:flex; justify-content:space-between; gap:80px; }
.team__h2{ margin:0; font-family:var(--serif); font-weight:300; font-size:63.4px; line-height:66.53px; letter-spacing:-1.267px; color:var(--cream); max-width:567px; }
.team__h2 em {
  display: block;
  color: var(--gold);
}
.video-box__fake {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.team__right{ flex:0 0 681px; max-width:52%; display:flex; flex-direction:column; gap:32px; }
.team__lede{ margin:0; font-family:var(--sans); font-weight:300; font-size:15.5px; line-height:28.68px; color:var(--muted); }
.team__people{ display:grid; grid-template-columns:1fr 1fr; }
.team-person{ border:1px solid var(--line); padding:32px; }
.team-person:first-child{ border-right:0; }
.team-person__role{ font-family:var(--sans); font-size:10px; letter-spacing:1.8px; color:var(--gold); }
.team-person__name{ margin:24px 0 16px; font-family:var(--serif); font-weight:300; font-size:40px; line-height:42px; letter-spacing:-.6px; color:var(--cream); }
.team-person__name.sm{ font-size:32px; line-height:35.2px; letter-spacing:-.32px; }
.team-person__d{ font-family:var(--sans); font-size:13px; line-height:20.8px; color:var(--muted); }
.team__stats{ display:flex; gap:20px; }
.team-stat{ flex:1; }
.team-stat__k{ font-family:var(--serif); font-weight:300; font-size:48px; line-height:1; letter-spacing:-.5px; color:var(--gold); }
.team-stat__v{ margin-top:10px; font-family:var(--sans); font-weight:300; font-size:13px; line-height:19px; color:var(--muted); }

/* ---------- 14 · FINAL ---------- */
.final__hero{ position:relative; min-height:620px; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 56px; }
.final__hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.final__hero-shade{ position:absolute; inset:0; background:linear-gradient(rgba(20,29,26,.45) 0%, rgba(20,29,26,.95) 100%); }
.final__hero-inner{ position:relative; z-index:2; max-width:1010px; display:flex; flex-direction:column; align-items:center; gap:24px; }
.final__hero .eyebrow-center .ln{ background:#fff; width:28px; }
.final__hero .eyebrow-center .num{ font-family:var(--serif); font-weight:300; font-style:italic; font-size:22px; color:#fff; }
.final__h2{ margin:0; font-family:var(--serif); font-weight:300; font-size:86.4px; line-height:88.13px; letter-spacing:-1.728px; color:var(--cream); }
.final__lede{ margin:0; max-width:564px; font-family:var(--sans); font-weight:300; font-size:16px; line-height:29.6px; color:rgba(245,240,234,.78); }
.final__form-wrap{ background:var(--cream); color:var(--bg); padding:100px 0 120px; }
.final__form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.final__form-left .mark__rule{ background:var(--gold); }
.final__form-left .mark__num{ color:var(--gold); }
.final__form-left .mark__label{ color:var(--bg); }
.final__form-h3{ margin:46px 0 14px; font-family:var(--serif); font-weight:300; font-size:51.8px; line-height:57px; letter-spacing:-.778px; color:var(--bg); }
.final__form-lede{ margin:0; max-width:560px; font-family:var(--sans); font-weight:300; font-size:15px; line-height:27px; color:rgb(110,105,98); }
.final__contact{ margin-top:40px; }
.final__contact-row{ display:flex; gap:24px; padding:14px 0; border-top:1px solid rgba(20,29,26,.1); }
.final__contact-row:last-child{ border-bottom:1px solid rgba(20,29,26,.1); }
.final__contact-row .k{ flex:0 0 90px; font-family:var(--sans); font-size:10px; letter-spacing:1.8px; color:rgb(110,105,98); padding-top:3px; }
.final__contact-row .v{ font-family:var(--sans); font-weight:500; font-size:14px; color:var(--bg); }
.final__form{ display:flex; flex-direction:column; gap:16px; }
.final__form input, .final__form textarea{ width:100%; background:transparent; border:0; border-bottom:1px solid rgba(20,29,26,.25); padding:14px 2px; font-family:var(--sans); font-size:15px; color:var(--bg); transition:border-color .3s; resize:none; }
.final__form input::placeholder, .final__form textarea::placeholder{ color:rgb(140,135,128); }
.final__form input:focus, .final__form textarea:focus{ outline:none; border-bottom-color:var(--gold); }
.final__form-actions{ display:flex; gap:18px; margin-top:14px; flex-wrap:wrap; }
.btn-dark{ flex:1; min-width:240px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:18px 32px; border-radius:48px; background:var(--bg); color:#fff; font-family:var(--sans); font-weight:500; font-size:16px; transition:transform .3s, filter .3s; }
.btn-dark:hover{ transform:translateY(-2px); filter:brightness(1.15); }
.btn-dark svg{ width:14px; height:14px; flex:0 0 auto; }
.btn-outline{ flex:1; min-width:240px; display:inline-flex; align-items:center; justify-content:center; padding:18px 32px; border-radius:48px; border:1px solid var(--bg); background:transparent; color:var(--bg); font-family:var(--sans); font-weight:500; font-size:16px; transition:background .3s, color .3s; }
.btn-outline:hover{ background:var(--bg); color:#fff; }
.final__form-note{ display:flex; gap:12px; align-items:center; margin:6px 0 0; }
.final__form-note .ic{ flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:#f7f7f7; display:flex; align-items:center; justify-content:center; }
.final__form-note .ic svg{ width:18px; height:18px; }
.final__form-note p{ margin:0; font-family:var(--sans); font-size:12px; line-height:20px; color:var(--muted); }

/* ---------- FOOTER ---------- */
.footer{ background:var(--bg); padding:85px 0 60px; }
.footer__grid{ display:grid; grid-template-columns:266px 1fr auto auto; gap:64px; align-items:start; }
.footer__brand-name{ font-family:var(--sans); font-weight:700; font-size:36px; letter-spacing:.2em; color:#fff; }
.footer__brand-sub{ font-family:var(--sans); font-weight:300; font-size:16px; letter-spacing:.08em; color:var(--gold); margin-top:3px; }
.footer__social{ display:flex; gap:17px; margin-top:32px; }
.footer__social a{ width:48px; height:48px; border-radius:50%; background:#303C30; display:flex; align-items:center; justify-content:center; transition:transform .3s, background .3s; }
.footer__social a:hover{ transform:translateY(-3px); background:var(--gold); }
.footer__social svg{ width:20px; height:20px; }
.footer__col-h{ font-family:var(--sans); font-size:10px; letter-spacing:1.5px; color:#fff; margin-bottom:16px; }
.footer__col-links{ display:flex; flex-direction:column; gap:11px; }
.footer__col-links a{ max-width: 200px;font-family:var(--sans); font-weight:300; font-size:13px; color:var(--muted); transition:color .3s; }
.footer__col-links a:hover{ color:var(--cream); }
.footer__rule{ height:1px; background:var(--muted); margin:40px 0 24px; opacity:.4; }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.footer__bottom span{ font-family:var(--sans); font-size:12px; color:var(--muted); }
.footer__bottom-links{ display:flex; gap:24px; }
.footer__bottom-links a{ font-family:var(--sans); font-size:12px; color:var(--muted); transition:color .3s; }
.footer__bottom-links a:hover{ color:var(--cream); }
.popup {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 20;
  align-items: center;
  justify-content: center;
  display: none;
}
.popup.show {
  display: flex;
}
.popup__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.7);
}
.popup__holder {
  background: #fff;
  display: flex;
  z-index: 1;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.popup__image {
  max-width: 517px;
}
.popup__form {
  padding: 60px 62px;
  max-width: 626px;
  width: 100%;
}
.popup__form .btn-dark {
  border-radius: 48px;
  background: linear-gradient(180deg, #C6A96B 0%, #E0C48A 100%);
  max-width: 216px;
  padding: 20px 10px;
}
.popup__cancel {
  color: #141D1A;
  font-size: 18px;
  font-style: italic;
  font-family:var(--serif);
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.5px;
  text-transform: lowercase;
  gap: 10px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.popup__title {
  color: #141D1A;
  font-family:var(--serif);
  font-size: 48px;
  font-style: normal;
  font-weight: 500;
  line-height: 50px;
  margin-bottom: 14px;
}
.popup__text {
  color: #6E6962;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  margin-bottom: 26px;
  line-height: 24px;
}
.popup__close {
  position: absolute;
  right: -20px;
  top: -20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
}
.popup__close svg {
  width: 16px;
  height: 16px;
}
