/* Franczewska Pro — Figma 1920 artboard */

:root {
  --gold: #b68917;
  --gold-light: #cdb044;
  --gold-deep: #ba8b14;
  --gold-title: #b88f2d;
  --gold-grad: linear-gradient(13.34deg, #ffdf8f 25%, #ffd22b 47.5%, #ffc022 70%);
  --gold-grad-title: linear-gradient(13.34deg, #b68917 25%, #cdb044 47.5%, #ba8b14 70%);
  --gold-hover: #cdb044;
  --text: #414141;
  --muted: #8d8d8d;
  --line: #e0e0e0;
  --line-strong: #d0d0d0;
  --soft: #f6f6f6;
  --white: #fff;
  --black: #000;
  --font: Cambria, "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --w: 1920px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  /* Sticky header clearance for native hash jumps (e.g. blog → index.html#kontakt) */
  scroll-padding-top: 150px;
}
#oferty {
  scroll-margin-top: 210px;
}
#kontakt {
  scroll-margin-top: 150px;
}
#proces,
#blog {
  scroll-margin-top: 110px;
}
body {
  font-family: var(--font);
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  /* no overflow-y on body — only the window scrollbar */
}
/* Artboard images must keep exact Figma sizes — do not shrink */
img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button, input, textarea {
  font: inherit; color: inherit; border: none; background: none; outline: none;
}
button { cursor: pointer; }
address { font-style: normal; }

/* Clips unscaled layout height after transform:scale */
.page-scaler {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.page {
  position: relative;
  width: 1920px;
  height: 9318px;
  margin: 0;
  overflow: hidden;
  background: var(--white);
  transform-origin: top left;
}
.page.is-offers-expanded {
  height: calc(9318px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .strategy {
  top: calc(4534px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .process {
  top: calc(5395px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .mgmt {
  top: calc(6105px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .blog {
  top: calc(7020px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .contact {
  top: calc(7773px + var(--offers-more-h, 0px));
}
.page.is-offers-expanded .footer {
  top: calc(8794px + var(--offers-more-h, 0px));
}

/* Buttons */
.btn-gold,
.btn-outline,
.btn-share,
.about__visit-btn,
.services__btn,
.offers__details,
.offers__share,
.strategy__btn,
.contact__submit {
  transition:
    background .35s ease,
    background-image .35s ease,
    border-color .35s ease,
    color .35s ease,
    filter .35s ease;
}
.btn-gold img,
.btn-outline img,
.btn-share img,
.about__visit-btn img,
.services__btn img,
.offers__details img,
.offers__share img,
.contact__submit img,
.btn-share i,
.offers__share i {
  transition: filter .35s ease, color .35s ease;
}

.btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 40px;
  padding: 11px 34px;
  background: var(--gold-grad);
  color: var(--white);
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.btn-gold:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 40px;
  padding: 11px 25px 11px 42px;
  border: 1px solid var(--line);
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--black);
  background: var(--white);
}
.btn-outline:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.btn-outline:hover img { filter: brightness(0) invert(1); }
.btn-outline img { width: 18px; height: 18px; }
.btn-outline--sm { padding-left: 28px; padding-right: 20px; }

.btn-share {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid var(--line);
  font-size: 14px;
  letter-spacing: .42px;
  text-transform: uppercase;
  color: var(--text);
  background: transparent;
}
.btn-share i { color: var(--gold); }
.btn-share:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.btn-share:hover i { color: #fff; }

/* Title blocks — C-bracket (short top, long bottom), dark gold title */
.title-block { position: relative; padding-left: 30px; margin-bottom: 43px; }
.title-block__corner {
  position: absolute;
  left: 2px;
  top: 81px;
  width: 106px;
  height: 45px;
  display: block;
  pointer-events: none;
}
.title-block__gold {
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  letter-spacing: .5px;
  text-transform: uppercase;
  background: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.title-block__sub {
  margin-top: 11px;
  margin-left: 117px; /* 233-116 */
  font-size: 18px;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--black);
}
.title-block__sub--light { color: var(--white); }

.section-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 48px;
}
.section-head__text { text-align: center; }
.section-head__text h2 {
  font-size: 42px;
  font-weight: 400;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--text);
  line-height: 1.15;
}
.section-head__text p {
  margin-top: 8px;
  font-size: 18px;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--text);
}
.section-head__corner {
  width: 106px;
  height: 42px;
  flex-shrink: 0;
  border-bottom: 1px solid #c8c8c8;
}
.section-head__corner--l { border-left: 1px solid #c8c8c8; }
.section-head__corner--r { border-right: 1px solid #c8c8c8; }
.section-head--compact { margin-bottom: 24px; }
.section-head--compact .section-head__text h2 { font-size: 36px; }

/* ========== HEADER — Figma absolute ========== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 1920px;
  height: 110px;
  background: var(--white);
  transform-origin: top left;
}
.header.is-stuck {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.header__logo-fn {
  position: absolute;
  left: 31px;
  top: 23px;
  width: 274px;
  height: 75px;
}
.header__logo-fn img {
  width: 274px;
  height: 75px;
  object-fit: contain;
}
.header__logo-fd {
  position: absolute;
  left: 398px;
  top: 27px;
  width: 241px;
  height: 57px;
}
.header__logo-fd img {
  width: 241px;
  height: 57px;
  object-fit: contain;
}
.header__line {
  position: absolute;
  top: 30px;
  width: 1px;
  height: 50px;
  background: #d0d0d0;
}
.header__line--1 { left: 355px; }
.header__line--2 { left: 685px; }
.header__nav {
  position: absolute;
  left: 788px;
  top: 45px;
  display: flex;
  align-items: center;
  gap: 20px;
  height: 21px;
}
.header__nav a {
  font-size: 18px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--text);
  white-space: nowrap;
  line-height: 21px;
}
.header__nav a:hover { color: var(--gold); }
.header__sep {
  width: 1px;
  height: 8px;
  background: #8d8d8d;
  opacity: .4;
  flex-shrink: 0;
}
.header__phone {
  position: absolute;
  left: 1835px;
  top: 33px;
  width: 40px;
  height: 40px;
  border: 1px solid #d0d0d0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__burger {
  display: none;
}
.header__phone img {
  width: 24px;
  height: 24px;
  transform: scaleX(-1);
}

/* ========== HERO — Figma 0,112 1920×829 ========== */
.hero {
  position: absolute;
  top: 112px;
  left: 0;
  width: 1920px;
  height: 829px;
  line-height: 0;
  overflow: hidden;
}
.hero__img {
  width: 1920px;
  height: 829px;
  /* fill frame exactly — cover was cropping the black contact bar */
  object-fit: fill;
}

/* ========== BRANDS — Figma y982 ========== */
.brands {
  position: absolute;
  top: 982px;
  left: 0;
  width: 1920px;
  height: 575px;
  margin: 0;
}
.brands__card {
  position: absolute;
  top: 0;
  height: 575px;
  overflow: hidden;
  display: block;
  color: var(--white);
  background: #000;
}
.brands__card--fn {
  left: 0;
  width: 940px;
}
.brands__card--fd {
  left: 981px;
  width: 939px;
}
.brands__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .6s ease;
}
.brands__card:hover .brands__photo {
  transform: scale(1.08);
}
.brands__fade {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 393px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000d9);
  pointer-events: none;
}
.brands__fade--fd {
  width: 100%;
}
/* White corner cutout — gold logo sits on white, not gold */
.brands__badge {
  position: absolute;
  left: 0;
  top: auto;
  bottom: 0;
  width: 140px;
  height: 140px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
}
.brands__badge img {
  width: 65px;
  height: auto;
}
.brands__badge--fd {
  left: 799px; /* 1780 - 981 */
  right: auto;
}
.brands__badge--fd img {
  width: 71px;
}
.brands__copy {
  position: absolute;
  z-index: 2;
  top: 455px;
  text-align: center;
}
.brands__copy--fn {
  left: 298px;
  width: 540px;
}
.brands__copy--fn .brands__title {
  margin-left: 90px;
  width: 381px;
}
.brands__copy--fn .brands__sub {
  width: 30vw;
  font-size: 1.1vw;
  margin-left: -4.7vw;
  margin-top: 0.57vw;
}
.brands__copy--fd {
  left: 167px;
  width: 640px;
}
.brands__copy--fd .brands__title {
  width: 339px;
  margin-left: 0;
}
.brands__copy--fd .brands__sub {
  margin-top: 0.7vw;
  margin-left: 60px;
  width: 30vw;
  font-size: 1.1vw;
}
.brands__title {
  position: relative;
  z-index: 1;
  font-size: 42px;
  line-height: 47px;
  letter-spacing: .5px;
  text-transform: uppercase;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.brands__sub {
  position: relative;
  z-index: 1;
  margin-top: 5px;
  font-size: 18px;
  line-height: 23px;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: var(--white);
  white-space: nowrap;
}
.brands__bracket {
  position: absolute;
  top: 483px;
  width: 106px;
  height: 45px;
  display: block;
  pointer-events: none;
  z-index: 5;
}
.brands__bracket--r {
  left: 37vw;
  top: 25.8vw;
}
.brands__bracket--l {
  left: 1119px;
}

/* ========== ABOUT — Figma y1650 ========== */
.about {
  position: absolute;
  top: 1650px;
  left: 0;
  width: 1920px;
  height: 548px;
  margin: 0;
}
.about__copy {
  position: absolute;
  left: 116px;
  top: 42px; /* 1692-1650 */
  width: 734px;
}
.about__text {
  font-size: 20px;
  line-height: 30px;
  color: #000000;
  margin-top: 0;
}
.about__map {
  position: absolute;
  left: 961px;
  top: 0;
  width: 550px;
  height: 548px;
  overflow: hidden;
  background: #eee;
}
.about__map > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .7;
  mix-blend-mode: luminosity;
  filter: grayscale(1);
}
/* Pin stack — Figma: white ◇ 1184/1859 106px, tip 1224/1930 26px, logo 1212/1832 */
.about__pin {
  position: absolute;
  left: 223px;
  top: 114px;
  width: 106px;
  height: 124px;
  pointer-events: none;
}
.about__pin-bg {
  position: absolute;
  left: 15px;
  top: 42px; /* centers 75px square inside 106 AABB at y209 */
  width: 75px;
  height: 75px;
  background: var(--white);
  transform: rotate(45deg);
  box-shadow: 0 4px 4px rgba(0, 0, 0, .25);
}
.about__pin-diamond {
  position: absolute;
  left: 44px;
  top: 142px;
  width: 18px;
  height: 18px;
  background: var(--gold-grad-title);
  transform: rotate(45deg);
  z-index: 0;
}
.about__pin img {
  position: absolute;
  left: 28px;
  top: 53px;
  z-index: 1;
  width: 45px;
  height: auto;
  filter: none;
  opacity: 1;
  mix-blend-mode: normal;
}
.about__visit {
  position: absolute;
  left: 1511px;
  top: 0;
  width: 409px;
  height: 548px;
  background: var(--black);
  color: var(--white);
  padding: 82px 49px 40px 58px;
  box-sizing: border-box;
}
.about__visit h3 {
  font-size: 33px;
  line-height: 38px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 46px;
  background: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.about__visit-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 28px;
  color: rgba(255, 255, 255, .92);
}
.about__visit-row img {
  width: 18px;
  height: 18px;
  margin-top: 5px;
  flex-shrink: 0;
  filter: invert(72%) sepia(54%) saturate(600%) hue-rotate(6deg) brightness(90%);
}
/* Outline gold CTA — Figma Group 466 */
.about__visit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 40px;
  min-width: 230px;
  margin-top: 25px;
  margin-left: 37px;
  padding: 11px 28px;
  border: 1px solid #ffffff;
  background: transparent;
  color: #ffffff;
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.about__visit-btn:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.about__visit-btn img {
  width: 14px;
  height: 10px;
  filter: brightness(10);
}
.about__visit-btn:hover img { filter: brightness(0) invert(1); }

/* ========== SERVICES — Figma y2198, h581 ========== */
.services {
  position: absolute;
  top: 2198px;
  left: 0;
  width: 1920px;
  height: 581px;
  margin: 0;
  background: #f6f6f638;
}
.services__heading {
  position: absolute;
  left: 733px;
  top: 77px;
  width: 481px;
  margin: 0;
  text-align: center;
  font-size: 32px;
  font-weight: 400;
  line-height: 38px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  background: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* Vertical rules between columns — Figma Line 4/5 x637 / x1245 */
.services__divider {
  position: absolute;
  top: 192px; /* ~2390 - 2198 */
  width: 1px;
  height: 310px;
  background: #e0e0e0;
  pointer-events: none;
}
.services__divider--1 { left: 637px; }
.services__divider--2 { left: 1245px; }

.services__item { position: absolute; top: 192px; height: 380px; }
/* Column anchors: icon x → item left; content offset = title_x - icon_x */
.services__item--1 { left: 72px; width: 520px; }
.services__item--2 { left: 708px; width: 537px; }
.services__item--3 { left: 1313px; width: 533px; }

.services__num {
  position: absolute;
  top: 0;
  left: 154px; /* 226 - 72 */
  font-size: 41px;
  line-height: 30px;
  letter-spacing: .5px;
  background: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.services__item--2 .services__num { left: 144px; /* 852 - 708 */ }
.services__item--3 .services__num { left: 140px; /* 1453 - 1313 */ }

.services__icon {
  position: absolute;
  left: 0;
  top: 87px; /* 2477 - 2390 */
  width: 105px;
  height: auto;
}
.services__item--2 .services__icon { top: 91px; width: 104px; }
.services__item--3 .services__icon { top: 94px; width: 100px; }

.services__title {
  position: absolute;
  left: 154px;
  top: 87px;
  margin: 0;
  font-size: 22px;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: #414141;
}
.services__item--2 .services__title { left: 144px; }
.services__item--3 .services__title { left: 140px; }

.services__text {
  position: absolute;
  left: 154px;
  top: 125px; /* 2515 - 2390 */
  width: 341px;
  margin: 0;
  font-size: 18px;
  line-height: 30px;
  color: #8d8d8d;
}
.services__item--2 .services__text { left: 144px; width: 393px; }
.services__item--3 .services__text { left: 140px; width: 393px; }

.services__btn {
  position: absolute;
  left: 154px;
  top: 271px; /* 2661 - 2390 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 40px;
  padding: 11px 22px 11px 28px;
  border: 1px solid #e0e0e0;
  background: transparent;
  font-size: 15px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #000;
  white-space: nowrap;
}
.services__btn:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.services__btn:hover img { filter: brightness(0) invert(1); }
.services__btn img {
  width: 14px;
  height: 10px;
}
.services__item--2 .services__btn { left: 144px; }
.services__item--3 .services__btn { left: 140px; }

/* ========== OFFERS — Figma 3503:563, 1951×1576, centered on the 1920 artboard ========== */
.offers {
  position: absolute;
  top: 2870px;
  left: -15.5px;
  width: 1951px;
  height: 1576px;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-weight: 400;
}
/* Wrappers are layout-transparent on desktop (absolute children stay vs .offers).
   Expanded “more” cards keep a real box model so they can mirror the featured layout. */
.offers__card:not(.offers__card--more),
.offers__card:not(.offers__card--more) .offers__body,
.offers__card:not(.offers__card--more) .offers__specs,
.offers__card:not(.offers__card--more) .offers__spec-item,
.offers__card:not(.offers__card--more) .offers__actions,
.offers__sort {
  display: contents;
}

.offers__bracket,
.offers__title,
.offers__subtitle,
.offers__found,
.offers__sort-label,
.offers__sort-wrap,
.offers__photo,
.offers__ribbon,
.offers__panel,
.offers__city,
.offers__name,
.offers__type,
.offers__icon,
.offers__spec,
.offers__price,
.offers__perm,
.offers__details,
.offers__share,
.offers__all {
  position: absolute;
  margin: 0;
}

.offers__bracket--l { left: 671px; top: 28px; }
.offers__bracket--r {
  left: 1124px;
  top: 28px;
  transform: scaleX(-1);
}
.offers__title {
  left: 712px;
  top: 0;
  width: 548px;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  white-space: nowrap;
  color: transparent;
  background-image: linear-gradient(5.11deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.offers__subtitle {
  left: 671px;
  top: 57px;
  width: 629px;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  color: #000;
  text-align: center;
  white-space: nowrap;
}

.offers__found {
  left: 88px;
  top: 136px;
  font-size: 20px;
  line-height: 23px;
}
.offers__sort-label {
  left: 1570px;
  top: 136px;
  font-size: 20px;
  line-height: 23px;
  color: #000;
  cursor: pointer;
}
.offers__sort-wrap {
  left: 1647px;
  top: 136px;
  width: 240px;
  height: 27px;
}
.offers__sort-select {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 22px 6px 0;
  border: none;
  border-bottom: 1px solid #d0d0d0;
  border-radius: 0;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 1.6px;
  text-align: right;
  text-transform: uppercase;
  color: #000;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: none;
}
.offers__sort-select:hover,
.offers__sort-select:focus {
  border-bottom-color: var(--gold-hover);
  color: #000;
}
.offers__sort-select option {
  font-family: inherit;
  font-size: 15px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #000;
  background: #fff;
}
.offers__sort-icon {
  position: absolute;
  right: 0;
  top: 4px;
  font-size: 12px;
  color: #000;
  pointer-events: none;
}

.offers__photo {
  overflow: hidden;
  background: #fff;
}
.offers__photo--house { left: 27px; top: 206px; width: 960px; height: 592px; }
.offers__photo--warehouse { left: 987px; top: 878px; width: 960px; height: 592px; }
.offers__viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.offers__photo-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  user-select: none;
}
.offers__photo-img--base {
  z-index: 0;
}
.offers__photo-img--fade {
  z-index: 1;
  opacity: 0;
  left: 0;
  transition:
    opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
    left 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.offers__photo-img--fade.is-prep {
  transition: none;
}
.offers__photo-img--fade.is-from-next {
  left: 56px;
}
.offers__photo-img--fade.is-from-prev {
  left: -56px;
}
.offers__photo-img--fade.is-in {
  opacity: 1;
  left: 0;
}

.offers__badge {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 204px;
  height: 35px;
  margin: 0;
  padding: 8px 0 0 23px;
  box-sizing: border-box;
  background: #fff;
  color: #000;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.51px;
}
.offers__badge--left { left: 0; right: auto; }

.offers__prev,
.offers__next {
  position: absolute;
  z-index: 2;
  /* Match Figma inset: 45px from right, 40px from bottom of photo */
  right: 124px;
  bottom: 40px;
  left: auto;
  top: auto;
  width: 57px;
  height: 57px;
  padding: 0;
  cursor: pointer;
}
.offers__next {
  right: 45px;
  border: 1px solid #b68917;
  box-sizing: border-box;
  background-image: linear-gradient(45deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
}
/* Warehouse photo is clipped ~12px by the 1920 artboard — add extra inset so it matches offer 1 */
.offers__prev--warehouse {
  right: 138px;
  bottom: 43px;
}
.offers__next--warehouse {
  right: 59px;
  bottom: 43px;
}
.offers__next img {
  position: absolute;
  left: 23px;
  top: 16px;
}

.offers__ribbon {
  left: 0;
  top: 179px;
  width: 196px;
  height: 196px;
  z-index: 3;
  pointer-events: none;
}
.offers__ribbon-shape {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.offers__ribbon-text {
  position: absolute;
  left: 97.93px;
  top: 34px;
  width: 125.865px;
  height: 125.865px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
}
.offers__ribbon-text span {
  font-weight: 700;
  font-size: 17.5px;
  line-height: normal;
  letter-spacing: -0.7px;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  white-space: nowrap;
  transform: rotate(-45deg);
}

.offers__panel {
  box-sizing: border-box;
  border: 1px solid #e9e9e9;
  pointer-events: none;
}
.offers__panel--house { left: 986px; top: 206px; width: 965px; height: 592px; }
.offers__panel--warehouse { left: 23px; top: 878px; width: 965px; height: 592px; }

.offers__city {
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.51px;
  color: transparent;
  background-image: linear-gradient(15.52deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.offers__city--house { left: 1100px; top: 241px; }
.offers__city--warehouse { left: 147px; top: 913px; }

.offers__name {
  font-size: 37px;
  font-weight: 400;
  line-height: 43px;
  letter-spacing: -0.37px;
  color: #000;
}
.offers__name--house { left: 1098px; top: 274px; width: 720px; }
.offers__name--warehouse { left: 145px; top: 946px; width: 589px; }

.offers__type {
  font-size: 20px;
  line-height: 30px;
  color: #000;
}
.offers__type--house { left: 1100px; top: 395px; width: 727px; }
.offers__type--warehouse { left: 147px; top: 1067px; width: 727px; }

.offers__icon--area { transform: scaleY(-1); }
.offers__icon--area-house { left: 1099px; top: 500px; }
.offers__icon--area-warehouse { left: 146px; top: 1172px; }
.offers__icon--rooms { left: 1255px; top: 500px; transform: scaleY(-1); }
.offers__icon--year-house { left: 1408px; top: 500px; }
.offers__icon--year-warehouse { left: 323px; top: 1172px; }

.offers__spec {
  font-size: 18px;
  line-height: 23.36px;
  color: #000;
  white-space: nowrap;
}
.offers__spec sup {
  font-size: 11.61px;
  line-height: 0;
}
.offers__spec--area-house { left: 1150.61px; top: 506.67px; }
.offers__spec--rooms { left: 1305.57px; top: 506.67px; }
.offers__spec--year-house { left: 1458.27px; top: 506.67px; }
.offers__spec--area-warehouse { left: 197.61px; top: 1178.67px; }
.offers__spec--year-warehouse { left: 373.26px; top: 1178.67px; }

.offers__price {
  font-size: 37px;
  line-height: 43px;
  letter-spacing: -0.37px;
  color: transparent;
  white-space: nowrap;
  -webkit-background-clip: text;
  background-clip: text;
}
.offers__price--house {
  left: 1098px;
  top: 596px;
  background-image: linear-gradient(8.79deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
}
.offers__price--warehouse {
  left: 145px;
  top: 1268px;
  background-image: linear-gradient(10.16deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
}
.offers__perm {
  font-size: 26px;
  line-height: 31px;
  letter-spacing: -0.26px;
  color: #676767;
  white-space: nowrap;
}
.offers__perm span {
  font-size: 16.77px;
}
.offers__perm sup {
  font-size: 11px;
  line-height: 0;
}
.offers__perm--house { left: 1397px; top: 602px; }
.offers__perm--warehouse { left: 404px; top: 1274px; }

.offers__details {
  box-sizing: border-box;
  width: 186px;
  height: 40px;
  border: 1px solid #e0e0e0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 15px;
  line-height: normal;
  letter-spacing: 1.5px;
  color: #000;
  white-space: nowrap;
}
.offers__details:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.offers__details:hover img { filter: brightness(0) invert(1); }
.offers__details--house { left: 1100px; top: 701px; }
.offers__details--warehouse { left: 147px; top: 1373px; }
.offers__details-arrow {
  position: relative;
  width: 18px;
  height: 18px;
  flex: none;
}
.offers__details-arrow img {
  position: absolute;
  left: 2.25px;
  top: 4.09px;
}

.offers__share {
  box-sizing: border-box;
  width: 233px;
  height: 40px;
  border: 1px solid #e0e0e0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 0 16px;
  font-size: 15px;
  line-height: normal;
  letter-spacing: 1.5px;
  color: #000;
  white-space: nowrap;
}
.offers__share:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.offers__share:hover i { color: #fff; }
.offers__share span { white-space: nowrap; }
.offers__share--house { left: 1319px; top: 701px; }
.offers__share--warehouse { left: 367px; top: 1373px; }
.offers__share i {
  font-size: 15px;
  line-height: 1;
  color: #000;
}

.offers__all {
  left: 738px;
  top: 1549px;
  display: flex;
  align-items: center;
  gap: 21px;
  height: 27px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font: inherit;
  font-size: 19.5px;
  line-height: 23px;
  letter-spacing: 1.95px;
  color: #000;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.offers__all[hidden] {
  display: none !important;
}
.offers.is-expanded .offers__all {
  display: none !important;
}
.offers__more {
  display: none;
  box-sizing: border-box;
}
/* Keep featured offers box fixed; extra cards hang below without covering later sections */
.offers.is-expanded {
  overflow: visible;
}
.offers.is-expanded .offers__more {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 1576px;
  z-index: 1;
  gap: 80px;
  width: 100%;
  margin: 0;
  padding: 40px 27px 60px;
  background: #fff;
  box-sizing: border-box;
}
/* Mirror featured cards: house = photo | info ; warehouse = info | photo */
.offers.is-expanded .offers__card--more {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 592px;
  width: 100% !important;
  max-width: 1920px;
  height: 592px !important;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
.offers.is-expanded .offers__card--more.offers__card--house .offers__photo {
  grid-column: 1;
  grid-row: 1;
}
.offers.is-expanded .offers__card--more.offers__card--house .offers__panel,
.offers.is-expanded .offers__card--more.offers__card--house .offers__body,
.offers.is-expanded .offers__card--more.offers__card--house .offers__ribbon {
  grid-column: 2;
  grid-row: 1;
}
.offers.is-expanded .offers__card--more.offers__card--house .offers__ribbon {
  grid-column: 1;
  justify-self: start;
  align-self: start;
}
.offers.is-expanded .offers__card--more.offers__card--warehouse .offers__photo {
  grid-column: 2;
  grid-row: 1;
  position: relative !important;
}
.offers.is-expanded .offers__card--more.offers__card--warehouse .offers__panel,
.offers.is-expanded .offers__card--more.offers__card--warehouse .offers__body {
  grid-column: 1;
  grid-row: 1;
}
.offers.is-expanded .offers__card--more .offers__photo,
.offers.is-expanded .offers__card--more .offers__panel,
.offers.is-expanded .offers__card--more .offers__body,
.offers.is-expanded .offers__card--more .offers__ribbon,
.offers.is-expanded .offers__card--more .offers__city,
.offers.is-expanded .offers__card--more .offers__name,
.offers.is-expanded .offers__card--more .offers__type,
.offers.is-expanded .offers__card--more .offers__icon,
.offers.is-expanded .offers__card--more .offers__spec,
.offers.is-expanded .offers__card--more .offers__price,
.offers.is-expanded .offers__card--more .offers__perm,
.offers.is-expanded .offers__card--more .offers__details,
.offers.is-expanded .offers__card--more .offers__share,
.offers.is-expanded .offers__card--more .offers__badge,
.offers.is-expanded .offers__card--more .offers__prev,
.offers.is-expanded .offers__card--more .offers__next {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}
.offers.is-expanded .offers__card--more .offers__photo {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  background: #111;
}
.offers.is-expanded .offers__card--more .offers__viewport {
  position: absolute !important;
  inset: 0 !important;
}
.offers.is-expanded .offers__card--more .offers__photo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}
.offers.is-expanded .offers__card--more .offers__panel {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 1px solid #e9e9e9;
  background: #fff;
  pointer-events: none;
  z-index: 0;
}
.offers.is-expanded .offers__card--more .offers__body {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-start;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  /* Match featured: city at x1100 inside panel x986 → ~114px inset from photo */
  padding: 35px 120px 52px 114px !important;
  box-sizing: border-box;
  background: transparent;
}
.offers.is-expanded .offers__card--more .offers__ribbon {
  position: absolute !important;
  left: 0 !important;
  top: 18px !important;
  z-index: 4;
  width: 240px !important;
  height: auto !important;
  pointer-events: none;
}
.offers.is-expanded .offers__card--more .offers__ribbon {
  display: none !important;
}
.offers.is-expanded .offers__card--more .offers__badge,
.offers.is-expanded .offers__card--more .offers__badge--left {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  z-index: 3;
  margin: 0 !important;
  padding: 9px 10px;
  width: auto !important;
  background: rgba(255, 255, 255, 0.94);
  font-size: 12px;
}
.offers.is-expanded .offers__card--more .offers__prev,
.offers.is-expanded .offers__card--more .offers__next,
.offers.is-expanded .offers__card--more .offers__prev--warehouse,
.offers.is-expanded .offers__card--more .offers__next--warehouse {
  position: absolute !important;
  top: auto !important;
  left: auto !important;
  z-index: 3;
  margin: 0 !important;
  padding: 0 !important;
  width: 57px !important;
  height: 57px !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box;
}
.offers.is-expanded .offers__card--more .offers__prev,
.offers.is-expanded .offers__card--more .offers__prev--warehouse {
  right: 124px !important;
  bottom: 40px !important;
}
.offers.is-expanded .offers__card--more .offers__next,
.offers.is-expanded .offers__card--more .offers__next--warehouse {
  right: 45px !important;
  bottom: 40px !important;
  border: 1px solid #b68917 !important;
  background-image: linear-gradient(45deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%) !important;
}
.offers.is-expanded .offers__card--more .offers__gallery-prev-icon,
.offers.is-expanded .offers__card--more .offers__prev img {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 57px !important;
  height: 57px !important;
  display: block;
  transform: none !important;
}
.offers.is-expanded .offers__card--more .offers__gallery-next-icon,
.offers.is-expanded .offers__card--more .offers__next img {
  position: absolute !important;
  left: 23px !important;
  top: 16px !important;
  width: 13px !important;
  height: 25px !important;
  display: block;
  transform: none !important;
}
.offers.is-expanded .offers__card--more .offers__city {
  display: block !important;
  margin: 0 0 12px !important;
  font-size: 17px !important;
  line-height: 20px !important;
  letter-spacing: 0.51px;
  color: transparent !important;
  background-image: linear-gradient(15.52deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.offers.is-expanded .offers__card--more .offers__name {
  display: block !important;
  width: auto !important;
  max-width: 720px;
  /* Featured: type at +121px from name top; ~2-line title → ~28–35px to subtitle */
  margin: 0 0 28px !important;
  font-size: 37px !important;
  line-height: 43px !important;
  letter-spacing: -0.37px;
  white-space: normal !important;
  color: #000 !important;
}
.offers.is-expanded .offers__card--more .offers__type {
  display: block !important;
  margin: 0 0 75px !important;
  font-size: 20px !important;
  line-height: 30px !important;
  color: #000 !important;
  white-space: normal !important;
}
.offers.is-expanded .offers__card--more .offers__specs {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 28px 48px;
  width: 100% !important;
  margin: 0 0 60px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
.offers.is-expanded .offers__card--more .offers__spec-item {
  display: flex !important;
  align-items: center;
  gap: 16px;
}
.offers.is-expanded .offers__card--more .offers__icon {
  display: block !important;
  width: 35px !important;
  height: 35px !important;
  margin: 0 !important;
  flex: none;
}
.offers.is-expanded .offers__card--more .offers__icon--rooms {
  width: 32px !important;
  height: 32px !important;
  transform: scaleY(-1) !important;
}
.offers.is-expanded .offers__card--more .offers__icon--area {
  transform: scaleY(-1) !important;
}
.offers.is-expanded .offers__card--more .offers__spec {
  display: block !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 23.36px !important;
  white-space: nowrap !important;
  color: #000 !important;
}
/* Price + grey /m² on one row — same as featured absolute layout */
.offers.is-expanded .offers__card--more .offers__price-row {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 18px 28px;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none;
}
.offers.is-expanded .offers__card--more .offers__price {
  display: block !important;
  margin: 0 !important;
  font-size: 37px !important;
  line-height: 43px !important;
  letter-spacing: -0.37px;
  white-space: nowrap !important;
  text-align: left !important;
  color: transparent !important;
  background-image: linear-gradient(8.79deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}
.offers.is-expanded .offers__card--more .offers__perm {
  display: block !important;
  margin: 0 !important;
  font-size: 26px !important;
  line-height: 31px !important;
  letter-spacing: -0.26px;
  white-space: nowrap !important;
  text-align: left !important;
  color: #676767 !important;
}
.offers.is-expanded .offers__card--more .offers__perm[hidden] {
  display: none !important;
}
.offers.is-expanded .offers__card--more .offers__perm span {
  font-size: 16.77px;
}
.offers.is-expanded .offers__card--more .offers__actions {
  display: flex !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 33px;
  width: 100% !important;
  /* Featured: buttons ~62px below price line */
  margin: 62px 0 0 !important;
  padding: 0 !important;
  flex: none;
}
.offers.is-expanded .offers__card--more .offers__details,
.offers.is-expanded .offers__card--more .offers__share {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 186px !important;
  min-width: 186px;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid #e0e0e0;
  background: #fff;
  box-sizing: border-box;
  font-size: 15px !important;
  letter-spacing: 1.5px;
  color: #000;
  transition:
    background 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease;
}
.offers.is-expanded .offers__card--more .offers__share {
  width: 233px !important;
  min-width: 233px;
}
.offers.is-expanded .offers__card--more .offers__details:hover,
.offers.is-expanded .offers__card--more .offers__share:hover {
  background: var(--gold-hover) !important;
  border-color: var(--gold-hover) !important;
  color: #fff !important;
}
.offers.is-expanded .offers__card--more .offers__details:hover img {
  filter: brightness(0) invert(1);
}
.offers.is-expanded .offers__card--more .offers__share:hover i {
  color: #fff !important;
}
.offers__all-arrow {
  position: relative;
  width: 27px;
  height: 27px;
  flex: none;
}
.offers__all-arrow img {
  position: absolute;
  left: 3.375px;
  top: 6.14px;
}

/* ========== STRATEGY — Figma 3516:168, 1920×861 ========== */
.strategy {
  position: absolute;
  top: 4534px;
  left: 0;
  width: 1920px;
  height: 861px;
  margin: 0;
  background: #000;
  color: #fff;
  font-weight: 400;
}
.strategy__photo,
.strategy__bracket,
.strategy__title,
.strategy__sub,
.strategy__lead,
.strategy__diamond,
.strategy__item,
.strategy__line,
.strategy__btn {
  position: absolute;
  margin: 0;
}
.strategy__photo {
  left: 0;
  top: 0;
  width: 960px;
  height: 861px;
  object-fit: cover;
}
.strategy__bracket { left: 1077px; top: 141px; }
.strategy__title {
  left: 1107px;
  top: 113px;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  white-space: nowrap;
  color: transparent;
  background-image: linear-gradient(6.31deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.strategy__sub {
  left: 1194px;
  top: 170px;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  color: #fff;
  white-space: nowrap;
}
.strategy__lead {
  left: 1077px;
  top: 236px;
  width: 627px;
  font-size: 20px;
  line-height: 30px;
  text-align: justify;
  color: #fff;
  opacity: 0.8;
}
.strategy__item {
  left: 1122px;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
  white-space: nowrap;
}
.strategy__item--1 { top: 372px; }
.strategy__item--2 { top: 431px; }
.strategy__item--3 { top: 493px; }
.strategy__item--4 { top: 554px; }
.strategy__diamond {
  left: 1079.64px;
  width: 16.717px;
  height: 16.717px;
}
.strategy__diamond--1 { top: 379px; }
.strategy__diamond--2 { top: 438.1px; }
.strategy__diamond--3 { top: 500px; }
.strategy__diamond--4 { top: 561px; }
.strategy__diamond::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11.821px;
  height: 11.821px;
  transform: translate(-50%, -50%) rotate(-135deg) scaleY(-1);
  background-image: linear-gradient(86.47deg, #b68917 33.769%, #ffe06d 46.003%, #ba8b14 125.78%);
}
.strategy__line--1 { left: 1083px; top: 418px; }
.strategy__line--2 { left: 1083px; top: 477px; }
.strategy__line--3 { left: 1083px; top: 538px; }
.strategy__line--4 { left: 1083px; top: 599px; }
.strategy__btn {
  left: 1077px;
  top: 662px;
  width: 232px;
  height: 55px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  background-image: linear-gradient(13.34deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  color: #fff;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 1.5px;
  white-space: nowrap;
}
.strategy__btn:hover {
  background: transparent;
  background-image: none;
  border-color: var(--gold-hover);
  color: var(--gold-hover);
}

/* ========== PROCESS — Figma 3519:234, 1920×630 ========== */
.process {
  position: absolute;
  top: 5395px;
  left: 0;
  width: 1920px;
  height: 630px;
  margin: 0;
  padding: 0;
  background: #fbfbfb;
  color: #000;
  font-weight: 400;
}
.process__bracket,
.process__title,
.process__sub,
.process__lead,
.process__diamond,
.process__mask,
.process__num,
.process__icon,
.process__name,
.process__desc {
  position: absolute;
  margin: 0;
}
.process__bracket { left: 116px; top: 200px; }
.process__title {
  left: 146px;
  top: 124px;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  text-transform: uppercase;
  white-space: nowrap;
  color: transparent;
  background-image: linear-gradient(18.55deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.process__sub {
  left: 233px;
  top: 229px;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  color: #000;
  white-space: nowrap;
}
.process__lead {
  left: 116px;
  top: 296px;
  width: 333px;
  font-size: 20px;
  line-height: 30px;
  color: #000;
}
.process__diamond {
  width: 307.657px;
  height: 307.657px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
  pointer-events: none;
}
.process__diamond::before {
  content: "";
  width: 217.546px;
  height: 217.546px;
  box-sizing: border-box;
  border: 1px solid #eaeaea;
  transform: rotate(-45deg);
  background-image:
    linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%),
    linear-gradient(90deg, #fbfbfb 0%, #fbfbfb 100%);
}
.process__diamond--1 { left: 573.94px; top: 119.09px; }
.process__diamond--2 { left: 881.41px; top: 119px; }
.process__diamond--3 { left: 1188.87px; top: 119.09px; }
.process__diamond--4 { left: 1496.34px; top: 119.09px; }
.process__mask {
  background: #fbfbfb;
  z-index: 1;
}
.process__mask--1 { left: 555px; top: 121px; width: 131px; height: 115px; }
.process__mask--2 { left: 869px; top: 121px; width: 128px; height: 115px; }
.process__mask--3 { left: 1180px; top: 121px; width: 128px; height: 115px; }
.process__mask--4 { left: 1485px; top: 121px; width: 130px; height: 115px; }
.process__num {
  top: 145px;
  width: 99px;
  height: 105px;
  font-size: 78px;
  line-height: normal;
  text-align: center;
  text-transform: uppercase;
  color: #dbdbdb;
  z-index: 2;
  user-select: none;
}
.process__num--1 { left: 587px; }
.process__num--2 { left: 895px; }
.process__num--3 { left: 1203px; width: 98px; }
.process__num--4 { left: 1508px; }
.process__icon { z-index: 2; }
.process__icon--1 { left: 690px; top: 236px; }
.process__icon--2 { left: 992px; top: 227px; }
.process__icon--3 { left: 1305px; top: 233px; }
.process__icon--4 { left: 1609px; top: 231px; }
.process__name {
  top: 457px;
  font-size: 21px;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
  text-transform: uppercase;
  color: #676767;
  white-space: nowrap;
  z-index: 2;
}
.process__name--1 { left: 590px; width: 275px; }
.process__name--2 { left: 930px; width: 210px; }
.process__name--3 { left: 1228px; width: 231px; }
.process__name--4 { left: 1530px; width: 236px; }
.process__desc {
  top: 501px;
  font-size: 17px;
  line-height: 26px;
  text-align: center;
  color: #000;
  z-index: 2;
}
.process__desc--1 { left: 573px; width: 308px; }
.process__desc--2 { left: 917px; width: 232px; }
.process__desc--3 { left: 1229px; width: 231px; }
.process__desc--4 { left: 1532px; width: 231px; }

/* ========== MANAGEMENT — Figma 3531:338, 1920×769 ========== */
.mgmt {
  position: absolute;
  top: 6105px;
  left: 0;
  width: 1920px;
  height: 768.91px;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-weight: 400;
}
.mgmt__item {
  display: contents;
}
.mgmt__cell,
.mgmt__bracket,
.mgmt__title,
.mgmt__sub,
.mgmt__lead,
.mgmt__icon,
.mgmt__text {
  position: absolute;
  margin: 0;
}
.mgmt__cell {
  box-sizing: border-box;
}
.mgmt__cell--center {
  left: 382.18px;
  top: 0;
  width: 1153.365px;
  height: 383.318px;
  background: rgba(255, 255, 255, 0.9);
}
.mgmt__cell--tl {
  left: 0;
  top: 0;
  width: 382.18px;
  height: 383.318px;
  border: 1px solid #eaeaea;
  opacity: 0.7;
  background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
}
.mgmt__cell--tr {
  left: 1535.54px;
  top: 0;
  width: 384.455px;
  height: 383.318px;
  border: 1px solid #eaeaea;
  opacity: 0.7;
  background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
}
.mgmt__cell--bl {
  left: 0;
  top: 383.32px;
  width: 382.18px;
  height: 385.592px;
  background: rgba(255, 255, 255, 0.9);
}
.mgmt__cell--b2 {
  left: 382.18px;
  top: 383.32px;
  width: 385.592px;
  height: 385.592px;
  border: 1px solid #eaeaea;
  opacity: 0.7;
  background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
}
.mgmt__cell--b3 {
  left: 767.77px;
  top: 383.32px;
  width: 384.455px;
  height: 385.592px;
  background: rgba(255, 255, 255, 0.9);
}
.mgmt__cell--b4 {
  left: 1152.23px;
  top: 383.32px;
  width: 383.318px;
  height: 385.592px;
  border: 1px solid #eaeaea;
  opacity: 0.7;
  background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
}
.mgmt__cell--b5 {
  left: 1535.54px;
  top: 383.32px;
  width: 384.455px;
  height: 385.592px;
  background: rgba(255, 255, 255, 0.9);
}
.mgmt__bracket--l { left: 574px; top: 78px; }
.mgmt__bracket--r {
  left: 1162px;
  top: 78px;
  transform: scaleX(-1);
}
.mgmt__title {
  left: 624px;
  top: 50px;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  white-space: nowrap;
  color: transparent;
  background-image: linear-gradient(4.2deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.mgmt__sub {
  left: 767px;
  top: 107px;
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  color: #000;
  white-space: nowrap;
}
.mgmt__lead {
  left: 519px;
  top: 185px;
  width: 878px;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #000;
}
.mgmt__lead strong { font-weight: 700; }
.mgmt__text {
  font-size: 20px;
  line-height: 29.573px;
  letter-spacing: 0.6px;
  text-align: center;
  color: #000;
}
.mgmt__text strong { font-weight: 700; }
.mgmt__text--timing {
  left: 44.36px;
  top: 272.99px;
  width: 292.322px;
}
.mgmt__text--handshake {
  left: 1623.13px;
  top: 272.99px;
  width: 211.564px;
}
.mgmt__text--communication {
  left: 63.7px;
  top: 654.03px;
  width: 254.787px;
}
.mgmt__text--bookkeeping {
  left: 442.46px;
  top: 654.03px;
  width: 265.024px;
}
.mgmt__text--system {
  left: 788.25px;
  top: 654.03px;
  width: 343.507px;
}
.mgmt__text--career {
  left: 1239.81px;
  top: 654.03px;
  width: 208.152px;
}
.mgmt__text--house {
  left: 1610.62px;
  top: 654.03px;
  width: 236.588px;
}
.mgmt__icon--timing {
  left: 133.08px;
  top: 128.53px;
  transform: scaleX(-1);
}
.mgmt__icon--handshake { left: 1664.08px; top: 123.98px; }
.mgmt__icon--communication {
  left: 142.18px;
  top: 503.89px;
  transform: scaleX(-1);
}
.mgmt__icon--bookkeeping {
  left: 525.5px;
  top: 494.79px;
  transform: scaleX(-1);
}
.mgmt__icon--system {
  left: 904px;
  top: 485.69px;
  transform: scaleX(-1);
}
.mgmt__icon--career { left: 1284.17px; top: 487.96px; }
.mgmt__icon--house { left: 1674.31px; top: 491.37px; }

/* ========== BLOG — Figma 3533:373, 1920×680 ========== */
.blog {
  position: absolute;
  top: 7020px;
  left: 0;
  width: 1920px;
  height: 680px;
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-weight: 400;
}
.blog__bracket,
.blog__title,
.blog__sub,
.blog__card {
  position: absolute;
  margin: 0;
}
.blog__bracket--l { left: 665px; top: 28px; }
.blog__bracket--r {
  left: 1037.5px;
  top: 28px;
  transform: scaleX(-1);
}
.blog__title {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  white-space: nowrap;
  text-align: center;
  color: transparent;
  background-image: linear-gradient(25.66deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.blog__sub {
  left: 50%;
  top: 57px;
  transform: translateX(-50%);
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  text-align: center;
  color: #000;
  white-space: nowrap;
}
.blog__card {
  top: 159px;
  width: 453px;
  height: 521px;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  border: none;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none;
  color: inherit;
  display: block;
}
.blog__card:focus,
.blog__card:focus-visible {
  outline: none;
}
.blog__card--1 { left: 0; }
.blog__card--2 { left: 489px; }
.blog__card--3 { left: 978px; }
.blog__card--4 { left: 1467px; }
.blog__media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
/* Zoom via size (not transform) — avoids shake under page scale() */
.blog__media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition:
    top 0.5s ease,
    left 0.5s ease,
    width 0.5s ease,
    height 0.5s ease;
}
.blog__card:hover .blog__media img {
  top: -3%;
  left: -3%;
  width: 106%;
  height: 106%;
}
.blog__media--wide img {
  left: -35.76%;
  width: 159.2%;
  height: 100%;
}
.blog__card:hover .blog__media--wide img {
  top: -3%;
  left: calc(-35.76% - 4.776%);
  width: calc(159.2% * 1.06);
  height: 106%;
}
.blog__cap {
  position: absolute;
  left: -2px;
  right: -2px;
  top: 74.28%;
  bottom: -2px;
  z-index: 1;
  background: rgba(255, 255, 255, 0.9);
  transition: background 0.25s ease;
  pointer-events: none;
}
.blog__card:hover .blog__cap {
  background: rgba(65, 65, 65, 0.72);
}
.blog__date,
.blog__name,
.blog__author {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
  margin: 0;
  text-align: center;
  color: #414141;
  white-space: nowrap;
  transition: color 0.25s ease;
  pointer-events: none;
}
.blog__card:hover .blog__date,
.blog__card:hover .blog__name,
.blog__card:hover .blog__author {
  color: #fff;
}
.blog__date {
  top: 77.54%;
  font-size: 17px;
  line-height: normal;
  letter-spacing: 0.51px;
}
.blog__name {
  top: 440px;
  left: 0;
  right: 0;
  transform: none;
  font-size: 24px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.24px;
}
.blog__author {
  top: 93.86%;
  font-size: 14px;
  line-height: normal;
  letter-spacing: 0.42px;
}

/* ========== CONTACT — Figma 3535:206, mapped x−61 onto 1920 ========== */
.contact {
  position: absolute;
  top: 7773px;
  left: 0;
  width: 1920px;
  height: 1022px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: white;
  color: #000;
  font-weight: 400;
}
.contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1021px;
  background-image: linear-gradient(-71.29deg, rgba(255, 255, 255, 0) 0%, #fff 63.832%);
  pointer-events: none;
}
.contact__mark,
.contact__bracket,
.contact__title,
.contact__sub,
.contact__meta,
.contact__hours,
.contact__intro,
.contact__form {
  position: absolute;
  margin: 0;
  z-index: 1;
}
.contact__mark {
  left: -61px;
  top: 192px;
  width: 698px;
  height: 645.113px;
  pointer-events: none;
}
.contact__bracket--l { left: 737px; top: 101px; }
.contact__bracket--r {
  left: 1146.5px;
  top: 101px;
  transform: scaleX(-1);
}
.contact__title {
  left: 50%;
  top: 73px;
  transform: translateX(-50%);
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  white-space: nowrap;
  text-align: center;
  color: transparent;
  background-image: linear-gradient(8.35deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
}
.contact__sub {
  left: 50%;
  top: 130px;
  transform: translateX(-50%);
  font-size: 20px;
  line-height: 23px;
  letter-spacing: 2px;
  text-align: center;
  color: #000;
  white-space: nowrap;
}
.contact__meta {
  left: 523px;
  top: 208px;
  width: 873px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  white-space: nowrap;
}
.contact__meta a,
.contact__meta > span:not(.contact__sep) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.contact__meta i {
  color: #cdb044;
  font-size: 17px;
  line-height: 30px;
}
.contact__sep {
  display: inline-block;
  width: 1px;
  height: 20px;
  margin: 0 18px;
  background: #d0d0d0;
  flex: none;
}
.contact__hours {
  left: 50%;
  top: 260px;
  transform: translateX(-50%);
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  white-space: nowrap;
}
.contact__hours i {
  color: #cdb044;
  font-size: 17px;
}
.contact__intro {
  left: 50%;
  top: 316px;
  transform: translateX(-50%);
  width: 675px;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  color: #000;
}
.contact__form {
  left: 0;
  top: 0;
  width: 1920px;
  height: 1022px;
  pointer-events: none;
}
.contact__form > * { pointer-events: auto; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.contact__input,
.contact__line,
.contact__check,
.contact__submit {
  position: absolute;
  margin: 0;
}
.contact__line {
  height: 1px;
  background: #d9d9d9;
}
.contact__line--name { left: 515px; top: 496px; width: 890px; }
.contact__line--phone { left: 515px; top: 568px; width: 435px; }
.contact__line--email { left: 970px; top: 568px; width: 435px; }
.contact__line--msg { left: 517px; top: 790px; width: 888px; }
.contact__input {
  border: none;
  background: transparent;
  padding: 0 0 8px;
  box-sizing: border-box;
  font: inherit;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.51px;
  color: #000;
  outline: none;
}
.contact__input::placeholder {
  color: #000;
  opacity: 1;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.51px;
  text-transform: uppercase;
}
.contact__input--name {
  left: 515px;
  top: 467px;
  width: 890px;
  height: 27px;
}
.contact__input--phone {
  left: 515px;
  top: 539px;
  width: 435px;
  height: 28px;
}
.contact__input--email {
  left: 970px;
  top: 539px;
  width: 435px;
  height: 28px;
}
.contact__input--msg {
  left: 517px;
  top: 614px;
  width: 888px;
  height: 176px;
  padding: 0 0 10px;
  resize: none;
}
.contact__check {
  left: 516px;
  top: 817px;
  width: 657px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
  font-size: 16px;
  line-height: 21px;
  color: #000;
}
.contact__check input {
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid #676767;
  background: #fff;
  appearance: none;
  flex-shrink: 0;
  box-sizing: border-box;
}
.contact__check input:checked {
  background: var(--gold-grad-title);
  border-color: var(--gold);
}
.contact__check a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.contact__captcha {
  position: absolute;
  left: 516px;
  top: 872px;
  width: 350px;
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: #6b6b6b;
}
.contact__captcha a {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}
.contact__submit {
  left: 883px;
  top: 906px;
  width: 154px;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid #e0e0e0;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 15px;
  line-height: normal;
  letter-spacing: 1.5px;
  color: #000;
  white-space: nowrap;
}
.contact__submit:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.contact__submit:hover img { filter: brightness(0) invert(1); }
.contact__submit-arrow {
  position: relative;
  width: 18px;
  height: 18px;
  flex: none;
}
.contact__submit-arrow img {
  position: absolute;
  left: 2.25px;
  top: 4.09px;
}
.contact__submit:disabled {
  opacity: 0.7;
  cursor: wait;
}
.contact__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.contact__status {
  position: absolute;
  left: 516px;
  top: 958px;
  margin: 0;
  width: 520px;
  font-size: 15px;
  line-height: 20px;
  color: #000;
}
.contact__status.is-ok { color: #2f6b3c; }
.contact__status.is-err { color: #a33; }

/* ========== FOOTER — Figma 3536:322, 1920×524 ========== */
.footer {
  position: absolute;
  top: 8794px;
  left: 0;
  width: 1920px;
  height: 524px;
  margin: 0;
  padding: 0;
  background: #f7f6f200;
  color: #000;
  font-weight: 400;
  overflow: hidden;
}
.footer__photo,
.footer__vline,
.footer__hline,
.footer__icon,
.footer__addr,
.footer__phones,
.footer__hours,
.footer__follow,
.footer__social,
.footer__col-title,
.footer__col,
.footer__privacy,
.footer__copy,
.footer__up {
  position: absolute;
  margin: 0;
}
.footer__photo {
  left: 0;
  top: 1px;
  width: 560px;
  height: 523px;
  object-fit: cover;
  object-position: bottom;
}
.footer__vline {
  width: 1px;
  background: rgba(212, 179, 73, 0.45);
}
.footer__vline--main { left: 560px; top: 1px; height: 523px; }
.footer__vline--a { left: 858px; top: 60px; height: 141px; }
.footer__vline--b { left: 1150px; top: 60px; height: 141px; }
.footer__hline {
  height: 1px;
  background: rgba(212, 179, 73, 0.45);
}
.footer__hline--top { left: 0; top: 0; width: 1920px; }
.footer__hline--mid { left: 561px; top: 201.11px; width: 1359px; }
.footer__hline--bot { left: 561px; top: 468.11px; width: 1359px; }
.footer__icon--loc { left: 605px; top: 62px; }
.footer__addr {
  left: 625px;
  top: 53px;
  font-size: 17px;
  line-height: 28px;
  letter-spacing: 0.51px;
  color: #000;
}
.footer__icon--phone1 { left: 903px; top: 60px; }
.footer__icon--phone2 { left: 903px; top: 88px; }
.footer__icon--mail { left: 904px; top: 119px; }
.footer__phones {
  left: 924px;
  top: 53px;
  font-size: 17px;
  line-height: 28px;
  letter-spacing: 0.51px;
  color: #000;
}
.footer__phones a {
  color: inherit;
  text-decoration: none;
}
.footer__phones a:hover {
  color: var(--gold);
}
.footer__icon--clock { left: 1195px; top: 61px; }
.footer__hours {
  left: 1217px;
  top: 53px;
  width: 361px;
  font-size: 17px;
  line-height: 28px;
  letter-spacing: 0.51px;
  color: #000;
}
.footer__follow {
  left: 1624px;
  top: 53px;
  font-size: 17px;
  line-height: 28px;
  letter-spacing: 0.51px;
  color: #000;
}
.footer__social {
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid rgba(212, 179, 73, 0.45);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(212, 179, 73, 0.45);
  font-size: 20px;
  line-height: 1;
}
.footer__social--yt { left: 1624px; top: 95px; }
.footer__social--ig { left: 1676px; top: 95px; }
.footer__social--fb { left: 1728px; top: 95px; }
.footer__col-title {
  top: 236px;
  font-size: 19px;
  line-height: 28px;
  letter-spacing: 0.57px;
  color: #000;
  white-space: nowrap;
}
.footer__col-title--1 { left: 605px; }
.footer__col-title--2 { left: 903px; }
.footer__col-title--3 { left: 1195px; }
.footer__col {
  top: 272px;
  display: flex;
  flex-direction: column;
}
.footer__col a {
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.48px;
  text-transform: uppercase;
  color: #707070;
  white-space: nowrap;
}
.footer__col--1 { left: 605px; }
.footer__col--2 { left: 903px; }
.footer__col--3 { left: 1195px; }
.footer__col--4 { left: 1524px; }
.footer__privacy {
  left: 1083px;
  top: 483.78px;
  font-size: 15px;
  line-height: 26px;
  letter-spacing: 0.45px;
  color: #000;
  opacity: 0.54;
  white-space: nowrap;
}
.footer__copy {
  left: auto;
  right: 152px;
  top: 483.78px;
  font-size: 15px;
  line-height: 24px;
  text-align: right;
  color: #000;
  opacity: 0.54;
  white-space: nowrap;
}
.footer__copy-sep {
  display: inline;
  white-space: pre;
}
.footer__up {
  left: 1821px;
  top: 390px;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  border: 1px solid rgba(202, 179, 128, 0.52);
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer__up img {
  width: 13.89px;
  height: 9.82px;
  transform: rotate(-90deg);
}

/* Width fitting is handled by scale-to-fit.js (scales 1920 artboard to viewport) */

/* ========== ENTRY POPUP — Figma 3410:231 ========== */
.popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.popup[hidden] {
  display: none !important;
}
.popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(255 255 255 / 0%);
  backdrop-filter: blur(6.8px);
  -webkit-backdrop-filter: blur(9.8px);
}
.popup__dialog {
  position: relative;
  z-index: 1;
  width: 882px;
  height: 483px;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  box-shadow: 0 0 82.2px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.popup__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.popup__dialog::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
}
.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 40px;
  height: 40px;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(45deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
}
.popup__close:hover {
  filter: brightness(1.08);
}
.popup__close-icon {
  width: 14px;
  height: 14px;
  display: block;
}
.popup__content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 50px 40px;
  gap: 8px;
}
.popup__date,
.popup__title,
.popup__time {
  margin: 0;
  font-weight: 400;
  color: transparent;
  background-image: linear-gradient(7.55deg, #e8ba47 25.003%, #ffe06d 47.486%, #fbc232 69.97%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}
.popup__date {
  font-size: 32px;
  line-height: normal;
  margin-bottom: 10px;
}
.popup__title {
  font-size: 62px;
  line-height: 1.05;
  letter-spacing: 0.02em;
}
.popup__time {
  font-size: 62px;
  line-height: 1.05;
  margin-top: 5px;
}
.popup__address {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  font-size: 23px;
  line-height: 34px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
}
.popup__address:hover {
  color: #ffe06d;
}
.popup__pin {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: block;
}
body.popup-open {
  overflow: hidden;
}

/* ========== COOKIE CONSENT ========== */
.cc__bar[hidden],
.cc__modal[hidden],
.cc__reopen[hidden] {
  display: none !important;
}
.cc__bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10050;
  padding: 20px;
  pointer-events: none;
}
.cc__bar-inner {
  pointer-events: auto;
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  gap: 36px;
  padding: 28px 32px 28px 36px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--line);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.12);
  position: relative;
  overflow: hidden;
  transform: translateY(18px);
  opacity: 0;
  transition: transform 0.45s ease, opacity 0.45s ease;
}
.cc__bar.is-open .cc__bar-inner {
  transform: translateY(0);
  opacity: 1;
}
.cc__bar-inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--gold-grad-title);
}
.cc__bar-copy {
  flex: 1;
  min-width: 0;
}
.cc__eyebrow {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc__bar-title,
.cc__modal-title {
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: transparent;
  background-image: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cc__bar-text,
.cc__modal-lead {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: var(--text);
  max-width: 58ch;
}
.cc__privacy {
  display: inline-block;
  margin-top: 12px;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc__privacy:hover {
  color: var(--gold-hover);
}
.cc__bar-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  min-width: 220px;
}
.cc__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 22px;
  font-size: 14px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease,
    filter 0.3s ease;
}
.cc__btn--gold {
  background: var(--gold-grad);
  color: var(--white);
}
.cc__btn--gold:hover {
  background: var(--gold-hover);
  color: #fff;
}
.cc__btn--outline {
  border: 1px solid var(--line-strong);
  background: var(--white);
  color: var(--black);
}
.cc__btn--outline:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
  color: #fff;
}
.cc__btn--ghost {
  min-height: 36px;
  padding: 6px 10px;
  font-size: 13px;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: uppercase;
}
.cc__btn--ghost:hover {
  color: var(--gold);
}

.cc__modal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.cc__modal.is-open {
  display: flex;
}
.cc__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.cc__dialog {
  position: relative;
  z-index: 1;
  width: 560px;
  max-width: calc(100vw - 48px);
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: 0 0 82px rgba(0, 0, 0, 0.14);
  padding: 40px 40px 32px;
}
.cc__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(45deg, #b68917 25%, #cdb044 47.5%, #ba8b14 70%);
}
.cc__close:hover {
  filter: brightness(1.08);
}
.cc__close-x {
  position: relative;
  width: 14px;
  height: 14px;
  display: block;
}
.cc__close-x::before,
.cc__close-x::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 1.5px;
  background: #fff;
}
.cc__close-x::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.cc__close-x::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.cc__dialog-head {
  padding-right: 28px;
  margin-bottom: 28px;
}
.cc__prefs {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}
.cc__pref {
  padding: 18px 18px 16px;
  background: var(--soft);
  border: 1px solid var(--line);
}
.cc__pref-top {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  justify-content: space-between;
}
.cc__pref-title {
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 500;
  color: var(--black);
  letter-spacing: 0.02em;
}
.cc__pref-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--muted);
  max-width: 36ch;
}
.cc__pref-badge {
  display: inline-block;
  margin-top: 12px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc__switch {
  position: relative;
  flex-shrink: 0;
  width: 48px;
  height: 28px;
  cursor: pointer;
}
.cc__switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.cc__switch-ui {
  position: absolute;
  inset: 0;
  background: #d8d8d8;
  transition: background 0.25s ease;
}
.cc__switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  transition: transform 0.25s ease;
}
.cc__switch input:checked + .cc__switch-ui {
  background: var(--gold-grad-title);
}
.cc__switch input:checked + .cc__switch-ui::after {
  transform: translateX(20px);
}
.cc__switch--locked {
  cursor: default;
  opacity: 0.85;
}
.cc__modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.cc__modal-actions .cc__btn {
  flex: 1 1 180px;
}
.cc__privacy--modal {
  display: inline-block;
  margin-top: 18px;
}
.cc__reopen {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 10040;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
  transition: border-color 0.3s ease, background 0.3s ease, color 0.3s ease;
}
.cc__reopen-label {
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc__reopen:hover {
  background: var(--gold-hover);
  border-color: var(--gold-hover);
}
.cc__reopen:hover .cc__reopen-label {
  color: #fff;
}
body.cc-modal-open {
  overflow: hidden;
}

/* Lazy sections — placeholder until data-src is hydrated */
[data-lazy-section] img[data-src] {
  background: var(--soft);
}

/* === AUTO: vw @media (min-width: 991px) — 1px = 0.052vw === */
@media (min-width: 991px) {
  .page-scaler {
    height: 484.536vw !important; /* 9318 * 0.052 */
  }
  .page {
    transform: none !important;
    margin-left: 0 !important;
    width: 99.84vw !important; /* 1920 * 0.052 */
    height: 484.536vw !important;
  }
  .header {
    transform: none !important;
    left: 0 !important;
    width: 99.84vw !important;
  }
  /* Franczewska Pro — Figma 1920 artboard */

  :root {
    --gold: #b68917;
    --gold-light: #cdb044;
    --gold-deep: #ba8b14;
    --gold-title: #b88f2d;
    --gold-grad: linear-gradient(13.34deg, #ffdf8f 25%, #ffd22b 47.5%, #ffc022 70%);
    --gold-grad-title: linear-gradient(13.34deg, #b68917 25%, #cdb044 47.5%, #ba8b14 70%);
    --gold-hover: #cdb044;
    --text: #414141;
    --muted: #8d8d8d;
    --line: #e0e0e0;
    --line-strong: #d0d0d0;
    --soft: #f6f6f6;
    --white: #fff;
    --black: #000;
    --font: Cambria, "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --w: 99.84vw;
  }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    scroll-padding-top: 7.8vw; /* header 5.72vw + 40 design px */
  }
  #oferty {
    scroll-margin-top: 10.92vw;
  }
  #kontakt {
    scroll-margin-top: 7.8vw;
  }
  #proces,
  #blog {
    scroll-margin-top: 5.72vw;
  }
  body {
    font-family: var(--font);
    color: var(--text);
    background: var(--white);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    /* no overflow-y on body — only the window scrollbar */
  }
  /* Artboard images must keep exact Figma sizes — do not shrink */
  img { display: block; max-width: none; }
  a { color: inherit; text-decoration: none; }
  ul { list-style: none; }
  button, input, textarea {
    font: inherit; color: inherit; border: none; background: none; outline: none;
  }
  button { cursor: pointer; }
  address { font-style: normal; }

  /* Clips unscaled layout height after transform:scale */
  .page-scaler {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  .page {
    position: relative;
    width: 99.84vw;
    height: 484.536vw;
    margin: 0;
    overflow: hidden;
    background: var(--white);
    transform-origin: top left;
  }

  /* Buttons */
  .btn-gold,
  .btn-outline,
  .btn-share,
  .about__visit-btn,
  .services__btn,
  .offers__details,
  .offers__share,
  .strategy__btn,
  .contact__submit {
    transition:
      background .35s ease,
      background-image .35s ease,
      border-color .35s ease,
      color .35s ease,
      filter .35s ease;
  }
  .btn-gold img,
  .btn-outline img,
  .btn-share img,
  .about__visit-btn img,
  .services__btn img,
  .offers__details img,
  .offers__share img,
  .contact__submit img,
  .btn-share i,
  .offers__share i {
    transition: filter .35s ease, color .35s ease;
  }

  .btn-gold {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.624vw;
    min-height: 2.08vw;
    padding: 0.572vw 1.768vw;
    background: var(--gold-grad);
    color: var(--white);
    font-size: 0.78vw;
    letter-spacing: 0.078vw;
    text-transform: uppercase;
  }
  .btn-gold:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }

  .btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    min-height: 2.08vw;
    padding: 0.572vw 1.3vw 0.572vw 2.184vw;
    border: 0.052vw solid var(--line);
    font-size: 0.78vw;
    letter-spacing: 0.078vw;
    text-transform: uppercase;
    color: var(--black);
    background: var(--white);
  }
  .btn-outline:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .btn-outline:hover img { filter: brightness(0) invert(1); }
  .btn-outline img { width: 0.936vw; height: 0.936vw; }
  .btn-outline--sm { padding-left: 1.456vw; padding-right: 1.04vw; }

  .btn-share {
    display: inline-flex;
    align-items: center;
    gap: 0.52vw;
    min-height: 2.08vw;
    padding: 0 0.936vw;
    border: 0.052vw solid var(--line);
    font-size: 0.728vw;
    letter-spacing: 0.0218vw;
    text-transform: uppercase;
    color: var(--text);
    background: transparent;
  }
  .btn-share i { color: var(--gold); }
  .btn-share:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .btn-share:hover i { color: #fff; }

  /* Title blocks — C-bracket (short top, long bottom), dark gold title */
  .title-block { position: relative; padding-left: 1.56vw; margin-bottom: 2.236vw; }
  .title-block__corner {
    position: absolute;
    left: 0.104vw;
    top: 4.212vw;
    width: 5.512vw;
    height: 2.34vw;
    display: block;
    pointer-events: none;
  }
  .title-block__gold {
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    background: var(--gold-grad-title);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .title-block__sub {
    margin-top: 0.7332vw;
    margin-left: 4.884vw;
    font-size: 0.936vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    color: var(--black);
  }
  .title-block__sub--light { color: var(--white); }

  .section-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.248vw;
    margin-bottom: 2.496vw;
  }
  .section-head__text { text-align: center; }
  .section-head__text h2 {
    font-size: 2.184vw;
    font-weight: 400;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    color: var(--text);
    line-height: 1.15;
  }
  .section-head__text p {
    margin-top: 0.416vw;
    font-size: 0.936vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    color: var(--text);
  }
  .section-head__corner {
    width: 5.512vw;
    height: 2.184vw;
    flex-shrink: 0;
    border-bottom: 0.052vw solid #c8c8c8;
  }
  .section-head__corner--l { border-left: 0.052vw solid #c8c8c8; }
  .section-head__corner--r { border-right: 0.052vw solid #c8c8c8; }
  .section-head--compact { margin-bottom: 1.248vw; }
  .section-head--compact .section-head__text h2 { font-size: 1.872vw; }

  /* ========== HEADER — Figma absolute ========== */
  .header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 99.84vw;
    height: 5.72vw;
    background: var(--white);
    transform-origin: top left;
  }
  .header.is-stuck {
    box-shadow: 0 0.104vw 0.624vw rgba(0, 0, 0, 0.08);
  }
  .header__logo-fn {
    position: absolute;
    left: 1.612vw;
    top: 1.196vw;
    width: 14.248vw;
    height: 3.9vw;
  }
  .header__logo-fn img {
    width: 14.248vw;
    height: 3.9vw;
    object-fit: contain;
  }
  .header__logo-fd {
    position: absolute;
    left: 20.696vw;
    top: 1.404vw;
    width: 12.532vw;
    height: 2.964vw;
  }
  .header__logo-fd img {
    width: 12.532vw;
    height: 2.964vw;
    object-fit: contain;
  }
  .header__line {
    position: absolute;
    top: 1.56vw;
    width: 0.052vw;
    height: 2.6vw;
    background: #d0d0d0;
  }
  .header__line--1 { left: 18.46vw; }
  .header__line--2 { left: 35.62vw; }
  .header__nav {
    position: absolute;
    left: 40.976vw;
    top: 2.34vw;
    display: flex;
    align-items: center;
    gap: 1.04vw;
    height: 1.092vw;
  }
  .header__nav a {
    font-size: 0.936vw;
    letter-spacing: 0.0936vw;
    text-transform: uppercase;
    color: var(--text);
    white-space: nowrap;
    line-height: 1.092vw;
  }
  .header__nav a:hover { color: var(--gold); }
  .header__sep {
    width: 0.052vw;
    height: 0.416vw;
    background: #8d8d8d;
    opacity: .4;
    flex-shrink: 0;
  }
  .header__phone {
    position: absolute;
    left: 95.42vw;
    top: 1.716vw;
    width: 2.08vw;
    height: 2.08vw;
    border: 0.052vw solid #d0d0d0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__phone img {
    width: 1.248vw;
    height: 1.248vw;
    transform: scaleX(-1);
  }

  /* ========== HERO — Figma 0,112 1920×829 ========== */
  .hero {
    position: absolute;
    top: 5.824vw;
    left: 0;
    width: 99.84vw;
    height: 43.108vw;
    line-height: 0;
    overflow: hidden;
  }
  .hero__img {
    width: 99.84vw;
    height: 43.108vw;
    /* fill frame exactly — cover was cropping the black contact bar */
    object-fit: fill;
  }

  /* ========== BRANDS — Figma y982 ========== */
  .brands {
    position: absolute;
    top: 51.064vw;
    left: 0;
    width: 99.84vw;
    height: 29.9vw;
    margin: 0;
  }
  .brands__card {
    position: absolute;
    top: 0;
    height: 29.9vw;
    overflow: hidden;
    display: block;
    color: var(--white);
    background: #000;
  }
  .brands__card--fn {
    left: 0;
    width: 48.88vw;
  }
  .brands__card--fd {
    left: 51.012vw;
    width: 48.828vw;
  }
  .brands__photo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform .6s ease;
  }
  .brands__card:hover .brands__photo {
    transform: scale(1.08);
  }
  .brands__fade {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20.436vw;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000d9);
    pointer-events: none;
  }
  .brands__fade--fd {
    width: 100%;
  }
  /* White corner cutout — gold logo sits on white, not gold */
  .brands__badge {
    position: absolute;
    left: 0;
    top: auto;
    bottom: 0;
    width: 7.28vw;
    height: 7.28vw;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
  }
  .brands__badge img {
    width: 3.38vw;
    height: auto;
  }
  .brands__badge--fd {
    left: 41.548vw; /* 1780 - 981 */
    right: auto;
  }
  .brands__badge--fd img {
    width: 3.692vw;
  }
  .brands__copy {
    position: absolute;
    z-index: 2;
    top: 23.66vw;
    text-align: center;
  }
  .brands__copy--fn {
    left: 15.496vw;
    width: 28.08vw;
  }
  .brands__copy--fn .brands__title {
    margin-left: 4.68vw;
    width: 19.812vw;
  }
  .brands__copy--fn .brands__sub {
    width: 30vw;
    font-size: 1.1vw;
    margin-left: -4.7vw;
    margin-top: 0.57vw;
  }
  .brands__copy--fd {
    left: 8.684vw;
    width: 33.28vw;
  }
  .brands__copy--fd .brands__title {
    width: 17.628vw;
    margin-left: 0;
  }
  .brands__copy--fd .brands__sub {
    margin-top: 0.7vw;
    margin-left: 3.12vw;
    width: 30vw;
    font-size: 1.1vw;
  }
  .brands__title {
    position: relative;
    z-index: 1;
    font-size: 2.184vw;
    line-height: 2.444vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    background: var(--gold-grad);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .brands__sub {
    position: relative;
    z-index: 1;
    margin-top: 0.26vw;
    font-size: 0.936vw;
    line-height: 1.196vw;
    letter-spacing: 0.0416vw;
    text-transform: uppercase;
    color: var(--white);
    white-space: nowrap;
  }
  .brands__bracket {
    position: absolute;
    top: 25.116vw;
    width: 5.512vw;
    height: 2.34vw;
    display: block;
    pointer-events: none;
    z-index: 5;
  }
  .brands__bracket--r {
    left: 37vw;
    top: 25.8vw;
  }
  .brands__bracket--l {
    left: 58.188vw;
  }

  /* ========== ABOUT — Figma y1650 ========== */
  .about {
    position: absolute;
    top: 85.8vw;
    left: 0;
    width: 99.84vw;
    height: 28.496vw;
    margin: 0;
  }
  .about__copy {
    position: absolute;
    left: 6.032vw;
    top: 2.184vw; /* 1692-1650 */
    width: 38.168vw;
  }
  .about__text {
    font-size: 1.04vw;
    line-height: 1.56vw;
    color: #000000;
    margin-top: 0;
  }
  .about__map {
    position: absolute;
    left: 49.972vw;
    top: 0;
    width: 28.6vw;
    height: 28.496vw;
    overflow: hidden;
    background: #eee;
  }
  .about__map > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .7;
    mix-blend-mode: luminosity;
    filter: grayscale(1);
  }
  /* Pin stack — Figma: white ◇ 1184/1859 5.512vw, tip 1224/1930 1.352vw, logo 1212/1832 */
  .about__pin {
    position: absolute;
    left: 11.596vw;
    top: 5.928vw;
    width: 5.512vw;
    height: 6.448vw;
    pointer-events: none;
  }
  .about__pin-bg {
    position: absolute;
    left: 0.78vw;
    top: 2.184vw; /* centers 3.9vw square inside 106 AABB at y209 */
    width: 3.9vw;
    height: 3.9vw;
    background: var(--white);
    transform: rotate(45deg);
    box-shadow: 0 0.208vw 0.208vw rgba(0, 0, 0, .25);
  }
  .about__pin-diamond {
    position: absolute;
    left: 2.288vw;
    top: 7.384vw;
    width: 0.936vw;
    height: 0.936vw;
    background: var(--gold-grad-title);
    transform: rotate(45deg);
    z-index: 0;
  }
  .about__pin img {
    position: absolute;
    left: 1.456vw;
    top: 2.756vw;
    z-index: 1;
    width: 2.34vw;
    height: auto;
    filter: none;
    opacity: 1;
    mix-blend-mode: normal;
  }
  .about__visit {
    position: absolute;
    left: 78.572vw;
    top: 0;
    width: 21.268vw;
    height: 28.496vw;
    background: var(--black);
    color: var(--white);
    padding: 4.264vw 2.548vw 2.08vw 3.016vw;
    box-sizing: border-box;
  }
  .about__visit h3 {
    font-size: 1.716vw;
    line-height: 1.976vw;
    letter-spacing: 0.052vw;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 2.392vw;
    background: var(--gold-grad-title);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .about__visit-row {
    display: flex;
    gap: 0.728vw;
    align-items: flex-start;
    font-size: 1.04vw;
    line-height: 1.456vw;
    margin-bottom: 1.456vw;
    color: rgba(255, 255, 255, .92);
  }
  .about__visit-row img {
    width: 0.936vw;
    height: 0.936vw;
    margin-top: 0.26vw;
    flex-shrink: 0;
    filter: invert(72%) sepia(54%) saturate(600%) hue-rotate(6deg) brightness(90%);
  }
  /* Outline gold CTA — Figma Group 466 */
  .about__visit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    min-height: 2.08vw;
    min-width: 11.96vw;
    margin-top: 1.3vw;
    margin-left: 1.924vw;
    padding: 0.572vw 1.456vw;
    border: 0.052vw solid #ffffff;
    background: transparent;
    color: #ffffff;
    font-size: 0.78vw;
    letter-spacing: 0.078vw;
    text-transform: uppercase;
  }
  .about__visit-btn:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .about__visit-btn img {
    width: 0.728vw;
    height: 0.52vw;
    filter: brightness(10);
  }
  .about__visit-btn:hover img { filter: brightness(0) invert(1); }

  /* ========== SERVICES — Figma y2198, h581 ========== */
  .services {
    position: absolute;
    top: 114.296vw;
    left: 0;
    width: 99.84vw;
    height: 30.212vw;
    margin: 0;
    background: #f6f6f638;
  }
  .services__heading {
    position: absolute;
    left: 38.116vw;
    top: 4.004vw;
    width: 25.012vw;
    margin: 0;
    text-align: center;
    font-size: 1.664vw;
    font-weight: 400;
    line-height: 1.976vw;
    letter-spacing: 0.078vw;
    text-transform: uppercase;
    background: var(--gold-grad-title);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  /* Vertical rules between columns — Figma Line 4/5 x637 / x1245 */
  .services__divider {
    position: absolute;
    top: 9.984vw; /* ~2390 - 2198 */
    width: 0.052vw;
    height: 16.12vw;
    background: #e0e0e0;
    pointer-events: none;
  }
  .services__divider--1 { left: 33.124vw; }
  .services__divider--2 { left: 64.74vw; }

  .services__item { position: absolute; top: 9.984vw; height: 19.76vw; }
  /* Column anchors: icon x → item left; content offset = title_x - icon_x */
  .services__item--1 { left: 3.744vw; width: 27.04vw; }
  .services__item--2 { left: 36.816vw; width: 27.924vw; }
  .services__item--3 { left: 68.276vw; width: 27.716vw; }

  .services__num {
    position: absolute;
    top: 0;
    left: 8.008vw; /* 226 - 72 */
    font-size: 2.132vw;
    line-height: 1.56vw;
    letter-spacing: 0.026vw;
    background: var(--gold-grad-title);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .services__item--2 .services__num { left: 7.488vw; /* 852 - 708 */ }
  .services__item--3 .services__num { left: 7.28vw; /* 1453 - 1313 */ }

  .services__icon {
    position: absolute;
    left: 0;
    top: 4.524vw; /* 2477 - 2390 */
    width: 5.46vw;
    height: auto;
  }
  .services__item--2 .services__icon { top: 4.732vw; width: 5.408vw; }
  .services__item--3 .services__icon { top: 4.888vw; width: 5.2vw; }

  .services__title {
    position: absolute;
    left: 8.008vw;
    top: 4.524vw;
    margin: 0;
    font-size: 1.144vw;
    font-weight: 400;
    line-height: 1.456vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    color: #414141;
  }
  .services__item--2 .services__title { left: 7.488vw; }
  .services__item--3 .services__title { left: 7.28vw; }

  .services__text {
    position: absolute;
    left: 8.008vw;
    top: 6.5vw; /* 2515 - 2390 */
    width: 17.732vw;
    margin: 0;
    font-size: 0.936vw;
    line-height: 1.56vw;
    color: #8d8d8d;
  }
  .services__item--2 .services__text { left: 7.488vw; width: 20.436vw; }
  .services__item--3 .services__text { left: 7.28vw; width: 20.436vw; }

  .services__btn {
    position: absolute;
    left: 8.008vw;
    top: 14.092vw; /* 2661 - 2390 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    min-height: 2.08vw;
    padding: 0.572vw 1.144vw 0.572vw 1.456vw;
    border: 0.052vw solid #e0e0e0;
    background: transparent;
    font-size: 0.78vw;
    letter-spacing: 0.078vw;
    text-transform: uppercase;
    color: #000;
    white-space: nowrap;
  }
  .services__btn:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .services__btn:hover img { filter: brightness(0) invert(1); }
  .services__btn img {
    width: 0.728vw;
    height: 0.52vw;
  }
  .services__item--2 .services__btn { left: 7.488vw; }
  .services__item--3 .services__btn { left: 7.28vw; }

  /* ========== OFFERS — Figma 3503:563, 1951×1576, centered on the 1920 artboard ========== */
  .offers {
    position: absolute;
    top: 149.24vw;
    left: -0.806vw;
    width: 101.452vw;
    height: 81.952vw;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #000;
    font-weight: 400;
  }
  .offers__bracket,
  .offers__title,
  .offers__subtitle,
  .offers__found,
  .offers__sort-label,
  .offers__sort-wrap,
  .offers__photo,
  .offers__ribbon,
  .offers__panel,
  .offers__city,
  .offers__name,
  .offers__type,
  .offers__icon,
  .offers__spec,
  .offers__price,
  .offers__perm,
  .offers__details,
  .offers__share,
  .offers__all {
    position: absolute;
    margin: 0;
  }

  .offers__bracket--l { left: 34.892vw; top: 1.456vw; }
  .offers__bracket--r {
    left: 58.448vw;
    top: 1.456vw;
    transform: scaleX(-1);
  }
  .offers__title {
    left: 37.024vw;
    top: 0;
    width: 28.496vw;
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    white-space: nowrap;
    color: transparent;
    background-image: linear-gradient(5.11deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .offers__subtitle {
    left: 34.892vw;
    top: 2.964vw;
    width: 32.708vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    color: #000;
    text-align: center;
    white-space: nowrap;
  }

  .offers__found {
    left: 4.576vw;
    top: 7.072vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
  }
  .offers__sort-label {
    left: 81.64vw;
    top: 7.072vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
    color: #000;
    cursor: pointer;
  }
  .offers__sort-wrap {
    left: 85.644vw;
    top: 7.072vw;
    width: 12.48vw;
    height: 1.404vw;
  }
  .offers__sort-select {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 1.144vw 0.312vw 0;
    border: none;
    border-bottom: 0.052vw solid #d0d0d0;
    border-radius: 0;
    background: transparent;
    font-family: inherit;
    font-size: 0.832vw;
    line-height: 1.04vw;
    letter-spacing: 0.0832vw;
    text-align: right;
    text-transform: uppercase;
    color: #000;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
  }
  .offers__sort-select:hover,
  .offers__sort-select:focus {
    border-bottom-color: var(--gold-hover);
    color: #000;
  }
  .offers__sort-select option {
    font-family: inherit;
    font-size: 0.78vw;
    letter-spacing: 0.026vw;
    text-transform: uppercase;
    color: #000;
    background: #fff;
  }
  .offers__sort-icon {
    position: absolute;
    right: 0;
    top: 0.208vw;
    font-size: 0.624vw;
    color: #000;
    pointer-events: none;
  }

  .offers__photo {
    overflow: hidden;
    background: #fff;
  }
  .offers__photo--house { left: 0; top: 10.712vw; width: 51.3vw; height: 30.784vw; }
  .offers__photo--warehouse { left: 51.324vw; top: 45.656vw; width: 49.92vw; height: 30.784vw; }
  .offers__viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
  .offers__photo-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
  }
  .offers__photo-img--base {
    z-index: 0;
  }
  .offers__photo-img--fade {
    z-index: 1;
    opacity: 0;
    left: 0;
    transition:
      opacity 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
      left 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  .offers__photo-img--fade.is-prep {
    transition: none;
  }
  .offers__photo-img--fade.is-from-next {
    left: 2.912vw;
  }
  .offers__photo-img--fade.is-from-prev {
    left: -2.912vw;
  }
  .offers__photo-img--fade.is-in {
    opacity: 1;
    left: 0;
  }

  .offers__badge {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: 10.608vw;
    height: 1.82vw;
    margin: 0;
    padding: 0.416vw 0 0 1.196vw;
    box-sizing: border-box;
    background: #fff;
    color: #000;
    font-size: 0.884vw;
    line-height: 1.04vw;
    letter-spacing: 0.0265vw;
  }
  .offers__badge--left { left: 0; right: auto; }

  .offers__prev,
  .offers__next {
    position: absolute;
    z-index: 2;
    /* Match Figma inset: 2.34vw from right, 2.08vw from bottom of photo */
    right: 6.448vw;
    bottom: 2.08vw;
    left: auto;
    top: auto;
    width: 2.964vw;
    height: 2.964vw;
    padding: 0;
    cursor: pointer;
  }
  .offers__next {
    right: 2.34vw;
    border: 0.052vw solid #b68917;
    box-sizing: border-box;
    background-image: linear-gradient(45deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  }
  /* Warehouse photo is clipped ~0.624vw by the 1920 artboard — add extra inset so it matches offer 1 */
  .offers__prev--warehouse {
    right: 8.076vw;
    bottom: 2.236vw;
  }
  .offers__next--warehouse {
    right: 3.868vw;
    bottom: 2.236vw;
  }
  .offers__next img {
    position: absolute;
    left: 1.196vw;
    top: 0.832vw;
  }

  .offers__ribbon {
    left: 0;
    top: 9.308vw;
    width: 10.192vw;
    height: 10.192vw;
    z-index: 3;
    pointer-events: none;
  }
  .offers__ribbon-shape {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .offers__ribbon-text {
    position: absolute;
    left: 5.0924vw;
    top: 1.768vw;
    width: 6.545vw;
    height: 6.545vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%);
  }
  .offers__ribbon-text span {
    font-weight: 700;
    font-size: 0.91vw;
    line-height: normal;
    letter-spacing: -0.0364vw;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    white-space: nowrap;
    transform: rotate(-45deg);
  }

  .offers__panel {
    box-sizing: border-box;
    border: 0.052vw solid #e9e9e9;
    pointer-events: none;
  }
  .offers__panel--house { left: 51.272vw; top: 10.712vw; width: 50.18vw; height: 30.784vw; }
  .offers__panel--warehouse { left: 1.196vw; top: 45.656vw; width: 50.18vw; height: 30.784vw; }

  .offers__city {
    font-size: 0.884vw;
    line-height: 1.04vw;
    letter-spacing: 0.0265vw;
    color: transparent;
    background-image: linear-gradient(15.52deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .offers__city--house { left: 57.2vw; top: 12.532vw; }
  .offers__city--warehouse { left: 7.644vw; top: 47.476vw; }

  .offers__name {
    font-size: 1.924vw;
    font-weight: 400;
    line-height: 2.236vw;
    letter-spacing: -0.0192vw;
    color: #000;
  }
  .offers__name--house { left: 57.096vw; top: 14.248vw; width: 37.44vw; }
  .offers__name--warehouse { left: 7.54vw; top: 49.192vw; width: 30.628vw; }

  .offers__type {
    font-size: 1.04vw;
    line-height: 1.56vw;
    color: #000;
  }
  .offers__type--house { left: 57.2vw; top: 20.54vw; width: 37.804vw; }
  .offers__type--warehouse { left: 7.644vw; top: 55.484vw; width: 37.804vw; }

  .offers__icon--area { transform: scaleY(-1); }
  .offers__icon--area-house { left: 57.148vw; top: 26vw; }
  .offers__icon--area-warehouse { left: 7.592vw; top: 60.944vw; }
  .offers__icon--rooms { left: 65.26vw; top: 26vw; transform: scaleY(-1); }
  .offers__icon--year-house { left: 73.216vw; top: 26vw; }
  .offers__icon--year-warehouse { left: 16.796vw; top: 60.944vw; }

  .offers__spec {
    font-size: 0.936vw;
    line-height: 1.2147vw;
    color: #000;
    white-space: nowrap;
  }
  .offers__spec sup {
    font-size: 0.6037vw;
    line-height: 0;
  }
  .offers__spec--area-house { left: 59.8317vw; top: 26.3468vw; }
  .offers__spec--rooms { left: 67.8896vw; top: 26.3468vw; }
  .offers__spec--year-house { left: 75.83vw; top: 26.3468vw; }
  .offers__spec--area-warehouse { left: 10.2757vw; top: 61.2908vw; }
  .offers__spec--year-warehouse { left: 19.4095vw; top: 61.2908vw; }

  .offers__price {
    font-size: 1.924vw;
    line-height: 2.236vw;
    letter-spacing: -0.0192vw;
    color: transparent;
    white-space: nowrap;
    -webkit-background-clip: text;
    background-clip: text;
  }
  .offers__price--house {
    left: 57.096vw;
    top: 30.992vw;
    background-image: linear-gradient(8.79deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  }
  .offers__price--warehouse {
    left: 7.54vw;
    top: 65.936vw;
    background-image: linear-gradient(10.16deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
  }
  .offers__perm {
    font-size: 1.352vw;
    line-height: 1.612vw;
    letter-spacing: -0.0135vw;
    color: #676767;
    white-space: nowrap;
  }
  .offers__perm span {
    font-size: 0.872vw;
  }
  .offers__perm sup {
    font-size: 0.572vw;
    line-height: 0;
  }
  .offers__perm--house { left: 72.644vw; top: 31.304vw; }
  .offers__perm--warehouse { left: 21.008vw; top: 66.248vw; }

  .offers__details {
    box-sizing: border-box;
    width: 9.672vw;
    height: 2.08vw;
    border: 0.052vw solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    font-size: 0.78vw;
    line-height: normal;
    letter-spacing: 0.078vw;
    color: #000;
    white-space: nowrap;
  }
  .offers__details:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .offers__details:hover img { filter: brightness(0) invert(1); }
  .offers__details--house { left: 57.2vw; top: 36.452vw; }
  .offers__details--warehouse { left: 7.644vw; top: 71.396vw; }
  .offers__details-arrow {
    position: relative;
    width: 0.936vw;
    height: 0.936vw;
    flex: none;
  }
  .offers__details-arrow img {
    position: absolute;
    left: 0.117vw;
    top: 0.2127vw;
  }

  .offers__share {
    box-sizing: border-box;
    width: 12.116vw;
    height: 2.08vw;
    border: 0.052vw solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    padding: 0 0.832vw;
    font-size: 0.78vw;
    line-height: normal;
    letter-spacing: 0.078vw;
    color: #000;
    white-space: nowrap;
  }
  .offers__share:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .offers__share:hover i { color: #fff; }
  .offers__share span { white-space: nowrap; }
  .offers__share--house { left: 68.588vw; top: 36.452vw; }
  .offers__share--warehouse { left: 19.084vw; top: 71.396vw; }
  .offers__share i {
    font-size: 0.78vw;
    line-height: 1;
    color: #000;
  }

  .offers__all {
    left: 38.376vw;
    top: 80.548vw;
    display: flex;
    align-items: center;
    gap: 1.092vw;
    height: 1.404vw;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    font: inherit;
    font-size: 1.014vw;
    line-height: 1.196vw;
    letter-spacing: 0.1014vw;
    color: #000;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
  .offers__more {
    display: none;
  }
  .offers.is-expanded {
    overflow: visible;
  }
  .offers__all[hidden],
  .offers.is-expanded .offers__all {
    display: none !important;
  }
  .offers.is-expanded .offers__more {
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 0;
    top: 81.952vw;
    z-index: 1;
    gap: 4.16vw;
    width: 100%;
    margin: 0;
    padding: 2.08vw 1.404vw 3.12vw;
    background: #fff;
  }

  /* Push sections below offers when more list is open (desktop absolute layout) */
  .page.is-offers-expanded {
    height: calc(484.536vw + var(--offers-more-h, 0px)) !important;
  }
  .page-scaler.is-offers-expanded {
    height: calc(484.536vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .strategy {
    top: calc(235.768vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .process {
    top: calc(280.54vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .mgmt {
    top: calc(317.46vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .blog {
    top: calc(365.04vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .contact {
    top: calc(404.196vw + var(--offers-more-h, 0px)) !important;
  }
  .page.is-offers-expanded .footer {
    top: calc(457.288vw + var(--offers-more-h, 0px)) !important;
  }
  .offers.is-expanded .offers__card--more .offers__prev,
  .offers.is-expanded .offers__card--more .offers__prev--warehouse {
    right: 6.448vw !important;
    bottom: 2.08vw !important;
    width: 2.964vw !important;
    height: 2.964vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__next,
  .offers.is-expanded .offers__card--more .offers__next--warehouse {
    right: 2.34vw !important;
    bottom: 2.08vw !important;
    width: 2.964vw !important;
    height: 2.964vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__gallery-prev-icon,
  .offers.is-expanded .offers__card--more .offers__prev img {
    width: 2.964vw !important;
    height: 2.964vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__gallery-next-icon,
  .offers.is-expanded .offers__card--more .offers__next img {
    left: 1.196vw !important;
    top: 0.832vw !important;
    width: 0.676vw !important;
    height: 1.3vw !important;
  }
  .offers.is-expanded .offers__card--more {
    grid-template-rows: 30.784vw;
    height: 30.784vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__body {
    padding: 1.82vw 6.24vw 2.704vw 5.928vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__city {
    margin: 0 0 0.624vw !important;
    font-size: 0.884vw !important;
    line-height: 1.04vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__name {
    margin: 0 0 1.456vw !important;
    font-size: 1.924vw !important;
    line-height: 2.236vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__type {
    margin: 0 0 3.9vw !important;
    font-size: 1.04vw !important;
    line-height: 1.56vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__specs {
    gap: 1.456vw 2.496vw;
    margin: 0 0 3.12vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__price-row {
    gap: 0.936vw 1.456vw;
  }
  .offers.is-expanded .offers__card--more .offers__price {
    font-size: 1.924vw !important;
    line-height: 2.236vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__perm {
    font-size: 1.352vw !important;
    line-height: 1.612vw !important;
  }
  .offers.is-expanded .offers__card--more .offers__actions {
    gap: 1.716vw;
    margin: 3.224vw 0 0 !important;
  }
  .offers.is-expanded .offers__card--more .offers__details {
    width: 9.672vw !important;
    min-width: 9.672vw;
  }
  .offers.is-expanded .offers__card--more .offers__share {
    width: 12.116vw !important;
    min-width: 12.116vw;
  }
  .offers.is-expanded .offers__card--more.offers__card--warehouse .offers__photo {
    position: relative !important;
  }
  .offers.is-expanded .offers__card--more .offers__badge,
  .offers.is-expanded .offers__card--more .offers__badge--left {
    position: absolute !important;
    top: 0.728vw !important;
    right: 0.728vw !important;
    left: auto !important;
    z-index: 3;
    margin: 0 !important;
    padding: 0.468vw 0.52vw;
    width: auto !important;
    background: rgba(255, 255, 255, 0.94);
    font-size: 0.624vw;
  }
  .offers.is-expanded .offers__card--more .offers__details,
  .offers.is-expanded .offers__card--more .offers__share {
    height: 2.08vw !important;
    font-size: 0.78vw !important;
    background: #fff;
    border: 0.052vw solid #e0e0e0;
  }
  .offers.is-expanded .offers__card--more .offers__details:hover,
  .offers.is-expanded .offers__card--more .offers__share:hover {
    background: var(--gold-hover) !important;
    border-color: var(--gold-hover) !important;
    color: #fff !important;
  }
  .offers.is-expanded .offers__card--more .offers__details:hover img {
    filter: brightness(0) invert(1);
  }
  .offers.is-expanded .offers__card--more .offers__share:hover i {
    color: #fff !important;
  }
  .offers__all-arrow {
    position: relative;
    width: 1.404vw;
    height: 1.404vw;
    flex: none;
  }
  .offers__all-arrow img {
    position: absolute;
    left: 0.1755vw;
    top: 0.3193vw;
  }

  /* ========== STRATEGY — Figma 3516:168, 1920×861 ========== */
  .strategy {
    position: absolute;
    top: 235.768vw;
    left: 0;
    width: 99.84vw;
    height: 44.772vw;
    margin: 0;
    background: #000;
    color: #fff;
    font-weight: 400;
  }
  .strategy__photo,
  .strategy__bracket,
  .strategy__title,
  .strategy__sub,
  .strategy__lead,
  .strategy__diamond,
  .strategy__item,
  .strategy__line,
  .strategy__btn {
    position: absolute;
    margin: 0;
  }
  .strategy__photo {
    left: 0;
    top: 0;
    width: 49.92vw;
    height: 44.772vw;
    object-fit: cover;
  }
  .strategy__bracket { left: 56.004vw; top: 7.332vw; }
  .strategy__title {
    left: 57.564vw;
    top: 5.876vw;
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    white-space: nowrap;
    color: transparent;
    background-image: linear-gradient(6.31deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .strategy__sub {
    left: 62.088vw;
    top: 8.84vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    color: #fff;
    white-space: nowrap;
  }
  .strategy__lead {
    left: 56.004vw;
    top: 12.272vw;
    width: 32.604vw;
    font-size: 1.04vw;
    line-height: 1.56vw;
    text-align: justify;
    color: #fff;
    opacity: 0.8;
  }
  .strategy__item {
    left: 58.344vw;
    font-size: 1.04vw;
    line-height: 1.56vw;
    color: #fff;
    white-space: nowrap;
  }
  .strategy__item--1 { top: 19.344vw; }
  .strategy__item--2 { top: 22.412vw; }
  .strategy__item--3 { top: 25.636vw; }
  .strategy__item--4 { top: 28.808vw; }
  .strategy__diamond {
    left: 56.1413vw;
    width: 0.8693vw;
    height: 0.8693vw;
  }
  .strategy__diamond--1 { top: 19.708vw; }
  .strategy__diamond--2 { top: 22.7812vw; }
  .strategy__diamond--3 { top: 26vw; }
  .strategy__diamond--4 { top: 29.172vw; }
  .strategy__diamond::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.6147vw;
    height: 0.6147vw;
    transform: translate(-50%, -50%) rotate(-135deg) scaleY(-1);
    background-image: linear-gradient(86.47deg, #b68917 33.769%, #ffe06d 46.003%, #ba8b14 125.78%);
  }
  .strategy__line--1 { left: 56.316vw; top: 21.736vw; }
  .strategy__line--2 { left: 56.316vw; top: 24.804vw; }
  .strategy__line--3 { left: 56.316vw; top: 27.976vw; }
  .strategy__line--4 { left: 56.316vw; top: 31.148vw; }
  .strategy__btn {
    left: 56.004vw;
    top: 34.424vw;
    width: 12.064vw;
    height: 2.86vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.052vw solid transparent;
    background-image: linear-gradient(13.34deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    color: #fff;
    font-size: 0.78vw;
    line-height: 0.936vw;
    letter-spacing: 0.078vw;
    white-space: nowrap;
  }
  .strategy__btn:hover {
    background: transparent;
    background-image: none;
    border-color: var(--gold-hover);
    color: var(--gold-hover);
  }

  /* ========== PROCESS — Figma 3519:234, 1920×630 ========== */
  .process {
    position: absolute;
    top: 280.54vw;
    left: 0;
    width: 99.84vw;
    height: 32.76vw;
    margin: 0;
    padding: 0;
    background: #fbfbfb;
    color: #000;
    font-weight: 400;
  }
  .process__bracket,
  .process__title,
  .process__sub,
  .process__lead,
  .process__diamond,
  .process__mask,
  .process__num,
  .process__icon,
  .process__name,
  .process__desc {
    position: absolute;
    margin: 0;
  }
  .process__bracket { left: 6.032vw; top: 10.4vw; }
  .process__title {
    left: 7.592vw;
    top: 6.448vw;
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    text-transform: uppercase;
    white-space: nowrap;
    color: transparent;
    background-image: linear-gradient(18.55deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .process__sub {
    left: 12.116vw;
    top: 11.908vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    color: #000;
    white-space: nowrap;
  }
  .process__lead {
    left: 6.032vw;
    top: 15.392vw;
    width: 17.316vw;
    font-size: 1.04vw;
    line-height: 1.56vw;
    color: #000;
  }
  .process__diamond {
    width: 15.9982vw;
    height: 15.9982vw;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 0;
    pointer-events: none;
  }
  .process__diamond::before {
    content: "";
    width: 11.3124vw;
    height: 11.3124vw;
    box-sizing: border-box;
    border: 0.052vw solid #eaeaea;
    transform: rotate(-45deg);
    background-image:
      linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%),
      linear-gradient(90deg, #fbfbfb 0%, #fbfbfb 100%);
  }
  .process__diamond--1 { left: 29.8449vw; top: 6.1927vw; }
  .process__diamond--2 { left: 45.8333vw; top: 6.188vw; }
  .process__diamond--3 { left: 61.8212vw; top: 6.1927vw; }
  .process__diamond--4 { left: 77.8097vw; top: 6.1927vw; }
  .process__mask {
    background: #fbfbfb;
    z-index: 1;
  }
  .process__mask--1 { left: 28.86vw; top: 6.292vw; width: 6.812vw; height: 5.98vw; }
  .process__mask--2 { left: 45.188vw; top: 6.292vw; width: 6.656vw; height: 5.98vw; }
  .process__mask--3 { left: 61.36vw; top: 6.292vw; width: 6.656vw; height: 5.98vw; }
  .process__mask--4 { left: 77.22vw; top: 6.292vw; width: 6.76vw; height: 5.98vw; }
  .process__num {
    top: 7.54vw;
    width: 5.148vw;
    height: 5.46vw;
    font-size: 4.056vw;
    line-height: normal;
    text-align: center;
    text-transform: uppercase;
    color: #dbdbdb;
    z-index: 2;
    user-select: none;
  }
  .process__num--1 { left: 30.524vw; }
  .process__num--2 { left: 46.54vw; }
  .process__num--3 { left: 62.556vw; width: 5.096vw; }
  .process__num--4 { left: 78.416vw; }
  .process__icon { z-index: 2; }
  .process__icon--1 { left: 35.88vw; top: 12.272vw; }
  .process__icon--2 { left: 51.584vw; top: 11.804vw; }
  .process__icon--3 { left: 67.86vw; top: 12.116vw; }
  .process__icon--4 { left: 83.668vw; top: 12.012vw; }
  .process__name {
    top: 23.764vw;
    font-size: 1.092vw;
    font-weight: 400;
    line-height: 1.56vw;
    text-align: center;
    text-transform: uppercase;
    color: #676767;
    white-space: nowrap;
    z-index: 2;
  }
  .process__name--1 { left: 30.68vw; width: 14.3vw; }
  .process__name--2 { left: 48.36vw; width: 10.92vw; }
  .process__name--3 { left: 63.856vw; width: 12.012vw; }
  .process__name--4 { left: 79.56vw; width: 12.272vw; }
  .process__desc {
    top: 26.052vw;
    font-size: 0.884vw;
    line-height: 1.352vw;
    text-align: center;
    color: #000;
    z-index: 2;
  }
  .process__desc--1 { left: 29.796vw; width: 16.016vw; }
  .process__desc--2 { left: 47.684vw; width: 12.064vw; }
  .process__desc--3 { left: 63.908vw; width: 12.012vw; }
  .process__desc--4 { left: 79.664vw; width: 12.012vw; }

  /* ========== MANAGEMENT — Figma 3531:338, 1920×769 ========== */
  .mgmt {
    position: absolute;
    top: 317.46vw;
    left: 0;
    width: 99.84vw;
    height: 39.9833vw;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #000;
    font-weight: 400;
  }
  .mgmt__cell,
  .mgmt__bracket,
  .mgmt__title,
  .mgmt__sub,
  .mgmt__lead,
  .mgmt__icon,
  .mgmt__text {
    position: absolute;
    margin: 0;
  }
  .mgmt__cell {
    box-sizing: border-box;
  }
  .mgmt__cell--center {
    left: 19.8734vw;
    top: 0;
    width: 59.975vw;
    height: 19.9325vw;
    background: rgba(255, 255, 255, 0.9);
  }
  .mgmt__cell--tl {
    left: 0;
    top: 0;
    width: 19.8734vw;
    height: 19.9325vw;
    border: 0.052vw solid #eaeaea;
    opacity: 0.7;
    background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
  }
  .mgmt__cell--tr {
    left: 79.8481vw;
    top: 0;
    width: 19.9917vw;
    height: 19.9325vw;
    border: 0.052vw solid #eaeaea;
    opacity: 0.7;
    background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
  }
  .mgmt__cell--bl {
    left: 0;
    top: 19.9326vw;
    width: 19.8734vw;
    height: 20.0508vw;
    background: rgba(255, 255, 255, 0.9);
  }
  .mgmt__cell--b2 {
    left: 19.8734vw;
    top: 19.9326vw;
    width: 20.0508vw;
    height: 20.0508vw;
    border: 0.052vw solid #eaeaea;
    opacity: 0.7;
    background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
  }
  .mgmt__cell--b3 {
    left: 39.924vw;
    top: 19.9326vw;
    width: 19.9917vw;
    height: 20.0508vw;
    background: rgba(255, 255, 255, 0.9);
  }
  .mgmt__cell--b4 {
    left: 59.916vw;
    top: 19.9326vw;
    width: 19.9325vw;
    height: 20.0508vw;
    border: 0.052vw solid #eaeaea;
    opacity: 0.7;
    background-image: linear-gradient(180deg, rgba(251, 251, 251, 0.2) 0%, rgba(215, 215, 215, 0.2) 100%);
  }
  .mgmt__cell--b5 {
    left: 79.8481vw;
    top: 19.9326vw;
    width: 19.9917vw;
    height: 20.0508vw;
    background: rgba(255, 255, 255, 0.9);
  }
  .mgmt__bracket--l { left: 29.848vw; top: 4.056vw; }
  .mgmt__bracket--r {
    left: 60.424vw;
    top: 4.056vw;
    transform: scaleX(-1);
  }
  .mgmt__title {
    left: 32.448vw;
    top: 2.6vw;
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    white-space: nowrap;
    color: transparent;
    background-image: linear-gradient(4.2deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .mgmt__sub {
    left: 39.884vw;
    top: 5.564vw;
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    color: #000;
    white-space: nowrap;
  }
  .mgmt__lead {
    left: 26.988vw;
    top: 9.62vw;
    width: 45.656vw;
    font-size: 1.04vw;
    line-height: 1.56vw;
    text-align: center;
    color: #000;
  }
  .mgmt__lead strong { font-weight: 700; }
  .mgmt__text {
    font-size: 1.04vw;
    line-height: 1.5378vw;
    letter-spacing: 0.0312vw;
    text-align: center;
    color: #000;
  }
  .mgmt__text strong { font-weight: 700; }
  .mgmt__text--timing {
    left: 2.3067vw;
    top: 14.1955vw;
    width: 15.2007vw;
  }
  .mgmt__text--handshake {
    left: 84.4028vw;
    top: 14.1955vw;
    width: 11.0013vw;
  }
  .mgmt__text--communication {
    left: 3.3124vw;
    top: 34.0096vw;
    width: 13.2489vw;
  }
  .mgmt__text--bookkeeping {
    left: 23.0079vw;
    top: 34.0096vw;
    width: 13.7812vw;
  }
  .mgmt__text--system {
    left: 40.989vw;
    top: 34.0096vw;
    width: 17.8624vw;
  }
  .mgmt__text--career {
    left: 64.4701vw;
    top: 34.0096vw;
    width: 10.8239vw;
  }
  .mgmt__text--house {
    left: 83.7522vw;
    top: 34.0096vw;
    width: 12.3026vw;
  }
  .mgmt__icon--timing {
    left: 6.9202vw;
    top: 6.6836vw;
    transform: scaleX(-1);
  }
  .mgmt__icon--handshake { left: 86.5322vw; top: 6.447vw; }
  .mgmt__icon--communication {
    left: 7.3934vw;
    top: 26.2023vw;
    transform: scaleX(-1);
  }
  .mgmt__icon--bookkeeping {
    left: 27.326vw;
    top: 25.7291vw;
    transform: scaleX(-1);
  }
  .mgmt__icon--system {
    left: 47.008vw;
    top: 25.2559vw;
    transform: scaleX(-1);
  }
  .mgmt__icon--career { left: 66.7768vw; top: 25.3739vw; }
  .mgmt__icon--house { left: 87.0641vw; top: 25.5512vw; }

  /* ========== BLOG — Figma 3533:373, 1920×680 ========== */
  .blog {
    position: absolute;
    top: 365.04vw;
    left: 0;
    width: 99.84vw;
    height: 35.36vw;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #000;
    font-weight: 400;
  }
  .blog__bracket,
  .blog__title,
  .blog__sub,
  .blog__card {
    position: absolute;
    margin: 0;
  }
  .blog__bracket--l { left: 34.58vw; top: 1.456vw; }
  .blog__bracket--r {
    left: 53.95vw;
    top: 1.456vw;
    transform: scaleX(-1);
  }
  .blog__title {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    white-space: nowrap;
    text-align: center;
    color: transparent;
    background-image: linear-gradient(25.66deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .blog__sub {
    left: 50%;
    top: 2.964vw;
    transform: translateX(-50%);
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    text-align: center;
    color: #000;
    white-space: nowrap;
  }
  .blog__card {
    top: 8.268vw;
    width: 23.556vw;
    height: 27.092vw;
    overflow: hidden;
    cursor: pointer;
    outline: none;
    border: none;
    background: #fff;
    -webkit-tap-highlight-color: transparent;
  }
  .blog__card:focus,
  .blog__card:focus-visible {
    outline: none;
  }
  .blog__card--1 { left: 0; }
  .blog__card--2 { left: 25.428vw; }
  .blog__card--3 { left: 50.856vw; }
  .blog__card--4 { left: 76.284vw; }
  .blog__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
  }
  /* Zoom via size (not transform) — avoids shake under page scale() */
  .blog__media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transition:
      top 0.5s ease,
      left 0.5s ease,
      width 0.5s ease,
      height 0.5s ease;
  }
  .blog__card:hover .blog__media img {
    top: -3%;
    left: -3%;
    width: 106%;
    height: 106%;
  }
  .blog__media--wide img {
    left: -35.76%;
    width: 159.2%;
    height: 100%;
  }
  .blog__card:hover .blog__media--wide img {
    top: -3%;
    left: calc(-35.76% - 4.776%);
    width: calc(159.2% * 1.06);
    height: 106%;
  }
  .blog__cap {
    position: absolute;
    left: -0.104vw;
    right: -0.104vw;
    top: 74.28%;
    bottom: -0.104vw;
    z-index: 1;
    background: rgba(255, 255, 255, 0.9);
    transition: background 0.25s ease;
    pointer-events: none;
  }
  .blog__card:hover .blog__cap {
    background: rgba(65, 65, 65, 0.72);
  }
  .blog__date,
  .blog__name,
  .blog__author {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    margin: 0;
    text-align: center;
    color: #414141;
    white-space: nowrap;
    transition: color 0.25s ease;
    pointer-events: none;
  }
  .blog__card:hover .blog__date,
  .blog__card:hover .blog__name,
  .blog__card:hover .blog__author {
    color: #fff;
  }
  .blog__date {
    top: 77.54%;
    font-size: 0.884vw;
    line-height: normal;
    letter-spacing: 0.0265vw;
  }
  .blog__name {
    top: 22.88vw;
    left: 0;
    right: 0;
    transform: none;
    font-size: 1.248vw;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.0125vw;
  }
  .blog__author {
    top: 93.86%;
    font-size: 0.728vw;
    line-height: normal;
    letter-spacing: 0.0218vw;
  }

  /* ========== CONTACT — Figma 3535:206, mapped x−61 onto 1920 ========== */
  .contact {
    position: absolute;
    top: 404.196vw;
    left: 0;
    width: 99.84vw;
    height: 53.144vw;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: white;
    color: #000;
    font-weight: 400;
  }
  .contact::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 99.84vw;
    height: 53.092vw;
    background-image: linear-gradient(-71.29deg, rgba(255, 255, 255, 0) 0%, #fff 63.832%);
    pointer-events: none;
  }
  .contact__mark,
  .contact__bracket,
  .contact__title,
  .contact__sub,
  .contact__meta,
  .contact__hours,
  .contact__intro,
  .contact__form {
    position: absolute;
    margin: 0;
    z-index: 1;
  }
  .contact__mark {
    left: -3.172vw;
    top: 9.984vw;
    width: 36.296vw;
    height: 33.5459vw;
    pointer-events: none;
  }
  .contact__bracket--l { left: 38.324vw; top: 5.252vw; }
  .contact__bracket--r {
    left: 59.618vw;
    top: 5.252vw;
    transform: scaleX(-1);
  }
  .contact__title {
    left: 50%;
    top: 3.796vw;
    transform: translateX(-50%);
    font-size: 2.184vw;
    font-weight: 400;
    line-height: 2.548vw;
    white-space: nowrap;
    text-align: center;
    color: transparent;
    background-image: linear-gradient(8.35deg, #b68917 25.003%, #cdb044 47.486%, #ba8b14 69.97%);
    -webkit-background-clip: text;
    background-clip: text;
  }
  .contact__sub {
    left: 50%;
    top: 6.76vw;
    transform: translateX(-50%);
    font-size: 1.04vw;
    line-height: 1.196vw;
    letter-spacing: 0.104vw;
    text-align: center;
    color: #000;
    white-space: nowrap;
  }
  .contact__meta {
    left: 27.196vw;
    top: 10.816vw;
    width: 45.396vw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    font-size: 1.04vw;
    line-height: 1.56vw;
    text-align: center;
    white-space: nowrap;
  }
  .contact__meta a,
  .contact__meta > span:not(.contact__sep) {
    display: inline-flex;
    align-items: center;
    gap: 0.416vw;
  }
  .contact__meta i {
    color: #cdb044;
    font-size: 0.884vw;
    line-height: 1.56vw;
  }
  .contact__sep {
    display: inline-block;
    width: 0.052vw;
    height: 1.04vw;
    margin: 0 0.936vw;
    background: #d0d0d0;
    flex: none;
  }
  .contact__hours {
    left: 50%;
    top: 13.52vw;
    transform: translateX(-50%);
    font-size: 1.04vw;
    line-height: 1.56vw;
    text-align: center;
    white-space: nowrap;
  }
  .contact__hours i {
    color: #cdb044;
    font-size: 0.884vw;
  }
  .contact__intro {
    left: 50%;
    top: 16.432vw;
    transform: translateX(-50%);
    width: 35.1vw;
    font-size: 1.04vw;
    line-height: 1.56vw;
    text-align: center;
    color: #000;
  }
  .contact__form {
    left: 0;
    top: 0;
    width: 99.84vw;
    height: 53.144vw;
    pointer-events: none;
  }
  .contact__form > * { pointer-events: auto; }
  .visually-hidden {
    position: absolute;
    width: 0.052vw;
    height: 0.052vw;
    padding: 0;
    margin: -0.052vw;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .contact__input,
  .contact__line,
  .contact__check,
  .contact__submit {
    position: absolute;
    margin: 0;
  }
  .contact__line {
    height: 0.052vw;
    background: #d9d9d9;
  }
  .contact__line--name { left: 26.78vw; top: 25.792vw; width: 46.28vw; }
  .contact__line--phone { left: 26.78vw; top: 29.536vw; width: 22.62vw; }
  .contact__line--email { left: 50.44vw; top: 29.536vw; width: 22.62vw; }
  .contact__line--msg { left: 26.884vw; top: 41.08vw; width: 46.176vw; }
  .contact__input {
    border: none;
    background: transparent;
    padding: 0 0 0.416vw;
    box-sizing: border-box;
    font: inherit;
    font-size: 0.884vw;
    line-height: 1.04vw;
    letter-spacing: 0.0265vw;
    color: #000;
    outline: none;
  }
  .contact__input::placeholder {
    color: #000;
    opacity: 1;
    font-size: 0.884vw;
    line-height: 1.04vw;
    letter-spacing: 0.0265vw;
    text-transform: uppercase;
  }
  .contact__input--name {
    left: 26.78vw;
    top: 24.284vw;
    width: 46.28vw;
    height: 1.404vw;
  }
  .contact__input--phone {
    left: 26.78vw;
    top: 28.028vw;
    width: 22.62vw;
    height: 1.456vw;
  }
  .contact__input--email {
    left: 50.44vw;
    top: 28.028vw;
    width: 22.62vw;
    height: 1.456vw;
  }
  .contact__input--msg {
    left: 26.884vw;
    top: 31.928vw;
    width: 46.176vw;
    height: 9.152vw;
    padding: 0 0 0.52vw;
    resize: none;
  }
  .contact__check {
    left: 26.832vw;
    top: 42.484vw;
    width: 34.164vw;
    display: flex;
    align-items: flex-start;
    gap: 0.78vw;
    font-size: 0.832vw;
    line-height: 1.092vw;
    color: #000;
  }
  .contact__check input {
    width: 1.04vw;
    height: 1.04vw;
    margin: 0;
    border: 0.052vw solid #676767;
    background: #fff;
    appearance: none;
    flex-shrink: 0;
    box-sizing: border-box;
  }
  .contact__check input:checked {
    background: var(--gold-grad-title);
    border-color: var(--gold);
  }
  .contact__check a {
    text-decoration: underline;
    text-underline-position: from-font;
  }
  .contact__captcha {
    position: absolute;
    left: 26.832vw;
    top: 45.344vw;
    width: 18.2vw;
    margin: 0;
    font-size: 0.624vw;
    line-height: 0.832vw;
    color: #6b6b6b;
  }
  .contact__captcha a {
    color: inherit;
    text-decoration: underline;
    text-underline-position: from-font;
  }
  .contact__submit {
    left: 45.916vw;
    top: 47.112vw;
    width: 8.008vw;
    height: 2.08vw;
    box-sizing: border-box;
    border: 0.052vw solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.728vw;
    font-size: 0.78vw;
    line-height: normal;
    letter-spacing: 0.078vw;
    color: #000;
    white-space: nowrap;
  }
  .contact__submit:hover {
    background: var(--gold-hover);
    border-color: var(--gold-hover);
    color: #fff;
  }
  .contact__submit:hover img { filter: brightness(0) invert(1); }
  .contact__submit-arrow {
    position: relative;
    width: 0.936vw;
    height: 0.936vw;
    flex: none;
  }
  .contact__submit-arrow img {
    position: absolute;
    left: 0.117vw;
    top: 0.2127vw;
  }
  .contact__submit:disabled {
    opacity: 0.7;
    cursor: wait;
  }
  .contact__honeypot {
    position: absolute !important;
    left: -519.948vw !important;
    width: 0.052vw !important;
    height: 0.052vw !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .contact__status {
    position: absolute;
    left: 26.832vw;
    top: 49.816vw;
    margin: 0;
    width: 27.04vw;
    font-size: 0.78vw;
    line-height: 1.04vw;
    color: #000;
  }
  .contact__status.is-ok { color: #2f6b3c; }
  .contact__status.is-err { color: #a33; }

  /* ========== FOOTER — Figma 3536:322, 1920×524 ========== */
  .footer {
    position: absolute;
    top: 457.288vw;
    left: 0;
    width: 99.84vw;
    height: 27.248vw;
    margin: 0;
    padding: 0;
    background: #f7f6f200;
    color: #000;
    font-weight: 400;
    overflow: hidden;
  }
  .footer__photo,
  .footer__vline,
  .footer__hline,
  .footer__icon,
  .footer__addr,
  .footer__phones,
  .footer__hours,
  .footer__follow,
  .footer__social,
  .footer__col-title,
  .footer__col,
  .footer__privacy,
  .footer__copy,
  .footer__up {
    position: absolute;
    margin: 0;
  }
  .footer__photo {
    left: 0;
    top: 0.052vw;
    width: 29.12vw;
    height: 27.196vw;
    object-fit: cover;
    object-position: bottom;
  }
  .footer__vline {
    width: 0.052vw;
    background: rgba(212, 179, 73, 0.45);
  }
  .footer__vline--main { left: 29.12vw; top: 0.052vw; height: 27.196vw; }
  .footer__vline--a { left: 44.616vw; top: 3.12vw; height: 7.332vw; }
  .footer__vline--b { left: 59.8vw; top: 3.12vw; height: 7.332vw; }
  .footer__hline {
    height: 0.052vw;
    background: rgba(212, 179, 73, 0.45);
  }
  .footer__hline--top { left: 0; top: 0; width: 99.84vw; }
  .footer__hline--mid { left: 29.172vw; top: 10.4577vw; width: 70.668vw; }
  .footer__hline--bot { left: 29.172vw; top: 24.3417vw; width: 70.668vw; }
  .footer__icon--loc { left: 31.46vw; top: 3.224vw; }
  .footer__addr {
    left: 32.5vw;
    top: 2.756vw;
    font-size: 0.884vw;
    line-height: 1.456vw;
    letter-spacing: 0.0265vw;
    color: #000;
  }
  .footer__icon--phone1 { left: 46.956vw; top: 3.12vw; }
  .footer__icon--phone2 { left: 46.956vw; top: 4.576vw; }
  .footer__icon--mail { left: 47.008vw; top: 6.188vw; }
  .footer__phones {
    left: 48.048vw;
    top: 2.756vw;
    font-size: 0.884vw;
    line-height: 1.456vw;
    letter-spacing: 0.0265vw;
    color: #000;
  }
  .footer__phones a {
    color: inherit;
    text-decoration: none;
  }
  .footer__phones a:hover {
    color: var(--gold);
  }
  .footer__icon--clock { left: 62.14vw; top: 3.172vw; }
  .footer__hours {
    left: 63.284vw;
    top: 2.756vw;
    width: 18.772vw;
    font-size: 0.884vw;
    line-height: 1.456vw;
    letter-spacing: 0.0265vw;
    color: #000;
  }
  .footer__follow {
    left: 84.448vw;
    top: 2.756vw;
    font-size: 0.884vw;
    line-height: 1.456vw;
    letter-spacing: 0.0265vw;
    color: #000;
  }
  .footer__social {
    width: 2.08vw;
    height: 2.08vw;
    box-sizing: border-box;
    border: 0.052vw solid rgba(212, 179, 73, 0.45);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(212, 179, 73, 0.45);
    font-size: 1.04vw;
    line-height: 1;
  }
  .footer__social--yt { left: 84.448vw; top: 4.94vw; }
  .footer__social--ig { left: 87.152vw; top: 4.94vw; }
  .footer__social--fb { left: 89.856vw; top: 4.94vw; }
  .footer__col-title {
    top: 12.272vw;
    font-size: 0.988vw;
    line-height: 1.456vw;
    letter-spacing: 0.0296vw;
    color: #000;
    white-space: nowrap;
  }
  .footer__col-title--1 { left: 31.46vw; }
  .footer__col-title--2 { left: 46.956vw; }
  .footer__col-title--3 { left: 62.14vw; }
  .footer__col {
    top: 14.144vw;
    display: flex;
    flex-direction: column;
  }
  .footer__col a {
    font-size: 0.832vw;
    line-height: 1.456vw;
    letter-spacing: 0.025vw;
    text-transform: uppercase;
    color: #707070;
    white-space: nowrap;
  }
  .footer__col--1 { left: 31.46vw; }
  .footer__col--2 { left: 46.956vw; }
  .footer__col--3 { left: 62.14vw; }
  .footer__col--4 { left: 79.248vw; }
  .footer__privacy {
    left: 56.316vw;
    top: 25.1566vw;
    font-size: 0.78vw;
    line-height: 1.352vw;
    letter-spacing: 0.0234vw;
    color: #000;
    opacity: 0.54;
    white-space: nowrap;
  }
  .footer__copy {
    left: auto;
    right: 7.904vw;
    top: 25.1566vw;
    font-size: 0.78vw;
    line-height: 1.248vw;
    text-align: right;
    color: #000;
    opacity: 0.54;
    white-space: nowrap;
  }
  .footer__up {
    left: 94.692vw;
    top: 20.28vw;
    width: 2.08vw;
    height: 2.08vw;
    box-sizing: border-box;
    border: 0.052vw solid rgba(202, 179, 128, 0.52);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .footer__up img {
    width: 0.7223vw;
    height: 0.5106vw;
    transform: rotate(-90deg);
  }

  /* Width fitting is handled by scale-to-fit.js (scales 1920 artboard to viewport) */

  /* Manual vw tweaks */
  .brands__bracket--r {
    left: 36vw;
    top: 25vw;
  }
  .brands__copy--fn .brands__sub {
    width: 30vw;
    font-size: 1.1vw;
    margin-left: -5.3vw;
    margin-top: 0.57vw;
  }
  .offers__bracket--l {
    left: 34.892vw;
    top: 1.456vw;
    width: 9vw;
    height: 2.3vw;
  }
  .offers__bracket--r {
    left: 58.448vw;
    top: 1.456vw;
    transform: scaleX(-1);
    width: 9vw;
    height: 2.3vw;
  }
  .offers__ribbon {
    left: 0.1vw;
  }
  .strategy__bracket {
    left: 56.004vw;
    top: 7.332vw;
    width: 5.3vw;
    height: 2.22vw;
  }
  .process__bracket {
    left: 6.032vw;
    top: 10.4vw;
    width: 5.5vw;
    height: 2.2vw;
  }
  .mgmt__bracket--l {
    left: 29.848vw;
    top: 4.056vw;
    width: 9vw;
    height: 2.23vw;
  }
  .mgmt__bracket--r {
    left: 60.424vw;
    top: 4.056vw;
    transform: scaleX(-1);
    width: 9vw;
    height: 2.23vw;
  }
  .blog__bracket--l {
    left: 34.58vw;
    top: 1.456vw;
    width: 11.3vw;
    height: 2.23vw;
  }
  .blog__bracket--r {
    left: 53.95vw;
    top: 1.456vw;
    transform: scaleX(-1);
    width: 11.3vw;
    height: 2.23vw;
  }
  .contact__bracket--l {
    left: 38.324vw;
    top: 5.252vw;
    width: 2.3vw;
    height: 2.23vw;
  }
  .contact__bracket--r {
    left: 59.118vw;
    top: 5.252vw;
    transform: scaleX(-1);
    width: 2.3vw;
    height: 2.23vw;
  }
  /* SVG sizes in vw (HTML width/height attrs are px — override at ≥991) */
  .header__phone-icon,
  .header__phone img {
    width: 1.248vw;
    height: 1.248vw;
  }
  .brands__badge-icon,
  .brands__badge img {
    width: 3.38vw;
    height: auto;
  }
  .brands__badge--fd .brands__badge-icon,
  .brands__badge--fd img {
    width: 3.692vw;
    height: auto;
  }
  .brands__bracket {
    width: 5.512vw;
    height: 2.34vw;
  }
  .title-block__corner {
    width: 5.512vw;
    height: 2.34vw;
  }
  .about__pin-logo,
  .about__pin img {
    width: 2.34vw;
    height: auto;
  }
  .about__visit-icon,
  .about__visit-row img {
    width: 0.936vw;
    height: 0.936vw;
  }
  .about__visit-btn-arrow,
  .about__visit-btn img {
    width: 0.728vw;
    height: 0.52vw;
  }
  .services__icon {
    width: 5.46vw;
    height: auto;
  }
  .services__item--2 .services__icon { width: 5.408vw; }
  .services__item--3 .services__icon { width: 5.2vw; }
  .services__btn-arrow,
  .services__btn img {
    width: 0.728vw;
    height: 0.52vw;
  }
  .offers__bracket--l,
  .offers__bracket--r {
    width: 9vw;
    height: 2.3vw;
  }
  .offers__gallery-prev-icon,
  .offers__prev img {
    width: 2.964vw;
    height: 2.964vw;
    display: block;
  }
  .offers__gallery-next-icon,
  .offers__next img {
    width: 0.664vw;
    height: 1.318vw;
    display: block;
  }
  .offers__ribbon-shape {
    width: 12.441vw;
    height: 1.973vw;
  }
  .offers__icon--area,
  .offers__icon--year {
    width: 1.82vw;
    height: 1.82vw;
  }
  .offers__icon--rooms {
    width: 1.664vw;
    height: 1.66vw;
  }
  .offers__details-arrow-icon,
  .offers__details-arrow img {
    width: 0.722vw;
    height: 0.51vw;
  }
  .offers__all-arrow-icon,
  .offers__all-arrow img {
    width: 1.084vw;
    height: 0.766vw;
  }
  .strategy__bracket {
    width: 5.3vw;
    height: 2.22vw;
  }
  .strategy__line {
    width: 32.292vw;
    height: 0.052vw;
  }
  .process__bracket {
    width: 5.5vw;
    height: 2.2vw;
  }
  .process__icon--1 {
    width: 3.9vw;
    height: 3.952vw;
  }
  .process__icon--2 {
    width: 4.472vw;
    height: 4.472vw;
  }
  .process__icon--3 {
    width: 3.952vw;
    height: 3.952vw;
  }
  .process__icon--4 {
    width: 4.16vw;
    height: 4.16vw;
  }
  .mgmt__bracket--l,
  .mgmt__bracket--r {
    width: 9vw;
    height: 2.23vw;
  }
  .mgmt__icon--timing,
  .mgmt__icon--handshake,
  .mgmt__icon--communication,
  .mgmt__icon--bookkeeping,
  .mgmt__icon--system,
  .mgmt__icon--career,
  .mgmt__icon--house {
    width: 5.5vw;
    height: auto;
    object-fit: contain;
  }
  .blog__bracket--l,
  .blog__bracket--r {
    width: 11.3vw;
    height: 2.23vw;
  }
  .contact__mark {
    width: 36.296vw;
    height: 33.546vw;
  }
  .contact__bracket--l,
  .contact__bracket--r {
    width: 2.3vw;
    height: 2.23vw;
  }
  .contact__submit-arrow-icon,
  .contact__submit-arrow img {
    width: 0.722vw;
    height: 0.51vw;
  }
  .footer__icon--loc,
  .footer__icon--clock {
    width: 0.624vw;
    height: 0.624vw;
  }
  .footer__icon--phone1,
  .footer__icon--phone2 {
    width: 0.676vw;
    height: 0.676vw;
  }
  .footer__icon--mail {
    width: 0.572vw;
    height: 0.572vw;
  }
  .footer__up-icon,
  .footer__up img {
    width: 0.722vw;
    height: 0.51vw;
  }

  /* Entry popup — vw */
  .popup__dialog {
    width: 45.864vw;
    height: 25.116vw;
    max-width: none;
    box-shadow: 0 0 4.274vw rgba(0, 0, 0, 0.15);
  }
  .popup__close {
    width: 2.08vw;
    height: 2.08vw;
  }
  .popup__close-icon {
    width: 0.728vw;
    height: 0.728vw;
  }
  .popup__content {
    padding: 3.12vw 2.6vw 2.08vw;
    gap: 0.416vw;
  }
  .popup__date {
    font-size: 1.664vw;
    margin-bottom: 0.52vw;
  }
  .popup__title {
    font-size: 3.224vw;
    line-height: 1.05;
  }
  .popup__time {
    font-size: 3.224vw;
    line-height: 1.05;
    margin-top: 0.26vw;
  }
  .popup__address {
    margin-top: 1.56vw;
    gap: 0.624vw;
    font-size: 1.2vw;
    line-height: 1.768vw;
  }
  .popup__pin {
    width: 1.137vw;
    height: 1.137vw;
  }

}

/* ========== BLOG PAGE (listing) ========== */
.blog-page .page,
.blog-page .page-scaler {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
.blog-page .page {
  background: #fff;
  overflow: visible !important;
}
.blog-page .blog--page {
  position: relative;
  top: 0;
  left: 0;
  width: 1920px;
  height: auto;
  min-height: 900px;
  padding: 160px 0 60px; /* clear fixed header (~110px) */
  box-sizing: border-box;
}
.blog-page .blog__heading {
  position: relative;
  height: 120px;
  margin: 0 auto;
}
.blog-page .blog__bracket,
.blog-page .blog__title,
.blog-page .blog__sub {
  position: absolute;
}
.blog-page .blog__bracket--l { left: 665px; top: 28px; }
.blog-page .blog__bracket--r {
  left: 1037.5px;
  top: 28px;
  transform: scaleX(-1);
}
.blog-page .blog__title {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.blog-page .blog__sub {
  left: 50%;
  top: 57px;
  transform: translateX(-50%);
}
.blog-page .blog__grid {
  display: grid;
  grid-template-columns: repeat(4, 453px);
  column-gap: 36px;
  row-gap: 48px;
  width: 1920px;
  margin: 40px 0 0;
  padding: 0 0 40px;
  justify-content: start;
  box-sizing: border-box;
}
.blog-page .blog__card {
  position: relative;
  left: auto !important;
  top: auto !important;
  display: block;
  text-decoration: none;
  color: inherit;
}
.blog-page .blog__name {
  white-space: normal;
  padding: 0 16px;
  box-sizing: border-box;
}
.blog-page .blog__empty {
  position: relative;
  text-align: center;
  font-size: 20px;
  color: #8d8d8d;
  padding: 80px 20px;
}
.blog-page .blog-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 20px 0 40px;
  position: relative;
}
.blog-pager__btn {
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #000;
  font-family: var(--font);
  font-size: 16px;
  cursor: pointer;
}
.blog-pager__btn:hover:not(:disabled):not(.is-current) {
  border-color: var(--gold);
  color: var(--gold);
}
.blog-pager__btn.is-current {
  background-image: linear-gradient(45deg, #b68917 25%, #cdb044 48%, #ba8b14 70%);
  border-color: transparent;
  color: #fff;
  cursor: default;
}
.blog-pager__btn:disabled {
  opacity: 0.35;
  cursor: default;
}
.blog-page .footer {
  position: relative !important;
  top: auto !important;
  left: 0 !important;
  margin-top: 0 !important;
  height: 524px;
}

@media (min-width: 991px) {
  /* Override landing artboard height — blog is short */
  .blog-page .page-scaler,
  .blog-page .page {
    height: auto !important;
    min-height: 0 !important;
  }
  .blog-page .footer {
    width: 99.84vw;
    height: 27.248vw;
  }
  .blog-page .blog--page {
    width: 99.84vw;
    padding: 8.32vw 0 3.12vw; /* clear fixed header */
    min-height: 0;
  }
  .blog-page .blog__heading {
    height: 6.24vw;
  }
  .blog-page .blog__bracket--l { left: 34.58vw; top: 1.456vw; width: 11.3vw; height: 2.23vw; }
  .blog-page .blog__bracket--r { left: 53.95vw; top: 1.456vw; width: 11.3vw; height: 2.23vw; }
  .blog-page .blog__grid {
    grid-template-columns: repeat(4, 23.556vw);
    column-gap: 1.872vw;
    row-gap: 2.496vw;
    width: 99.84vw;
    margin-top: 2.08vw;
    padding-bottom: 2.08vw;
  }
  .blog-page .blog__card {
    width: 23.556vw;
    height: 27.092vw;
  }
  .blog-page .blog__name {
    top: 22.88vw;
    font-size: 1.248vw;
    padding: 0 0.832vw;
  }
  .blog-page .blog-pager {
    gap: 0.52vw;
    padding: 1.04vw 0 2.08vw;
  }
  .blog-pager__btn {
    min-width: 2.184vw;
    height: 2.184vw;
    padding: 0 0.624vw;
    font-size: 0.832vw;
  }
}

/* Single post — strategy-like split, white background */
.post-page {
  background: #fff;
}
.post-page .header {
  width: 100% !important;
  max-width: 100vw;
  left: 0 !important;
  transform: none !important;
}
.post {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  min-height: calc(100vh - 110px);
  margin-top: 110px;
  background: #fff;
  color: #000;
}
.post__loading,
.post__error {
  grid-column: 1 / -1;
  padding: 80px 40px;
  text-align: center;
  color: #8d8d8d;
  font-size: 20px;
}
.post__media {
  position: relative;
  min-width: 0;
  min-height: calc(100vh - 110px);
  overflow: hidden;
  background: #111;
}
.post__photo {
  position: sticky;
  top: 110px;
  display: block;
  width: 100%;
  max-width: 100%;
  height: calc(100vh - 110px);
  object-fit: cover;
}
.post__content {
  box-sizing: border-box;
  min-width: 0;
  position: relative;
  z-index: 1;
  padding: 72px 96px 100px 80px;
  background: #fff;
  min-height: calc(100vh - 110px);
}
.post__content--solo {
  grid-column: 1 / -1;
  max-width: 720px;
  margin: 0 auto;
}
.post__back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
  color: #000;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.post__back:hover { color: var(--gold); }
.post__heading {
  position: relative;
  margin-bottom: 28px;
}
.post__title {
  margin: 0;
  font-size: 42px;
  font-weight: 400;
  line-height: 1.15;
  text-transform: uppercase;
  background: var(--gold-grad-title);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 36px;
  font-size: 16px;
  letter-spacing: 0.04em;
  color: #8d8d8d;
}
.post__meta-sep { opacity: 0.6; }
.post__author { color: #414141; }
.post__body {
  font-size: 20px;
  line-height: 1.7;
  color: #414141;
  -webkit-text-fill-color: currentcolor;
  text-align: justify;
  overflow: visible;
}
.post__body :where(p, li, span, h2, h3, h4, blockquote, a, strong, em) {
  -webkit-text-fill-color: currentcolor;
}
.post__body p { margin: 0 0 1.1em; }
.post__body h2,
.post__body h3 {
  margin: 1.5em 0 0.55em;
  color: #000;
  font-weight: 400;
  text-transform: uppercase;
}
.post__body ul,
.post__body ol {
  margin: 0 0 1.1em;
  padding-left: 1.2em;
}
.post__body li { margin-bottom: 0.45em; }
.post__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 48px 0 0;
  min-width: 232px;
  height: 55px;
  padding: 0 28px;
  box-sizing: border-box;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 16px;
  color: #fff;
  background-image: linear-gradient(45deg, #b68917 25%, #cdb044 48%, #ba8b14 70%);
}
.post__cta:hover { filter: brightness(1.06); }

.post-page__footer-scaler {
  width: 100%;
  overflow: hidden;
  height: 524px !important;
  max-height: 524px !important;
}
.post-page .page.post-page__footer-page,
.post-page__footer-page {
  position: relative !important;
  width: 1920px !important;
  height: 524px !important;
  max-height: 524px !important;
  min-height: 0 !important;
  transform-origin: top left;
  overflow: hidden !important;
  margin: 0 !important;
}
.post-page .footer {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1920px !important;
  height: 524px !important;
}

@media (min-width: 991px) {
  .post {
    margin-top: 5.72vw;
    margin-bottom: 3vw;
    min-height: calc(100vh - 5.72vw);
  }
  .post__media,
  .post__content {
    min-height: calc(100vh - 5.72vw);
  }
  .post__photo {
    top: 5.72vw;
    height: calc(100vh - 5.72vw);
  }
  .post__content {
    padding: 3.744vw 5vw 5.2vw 4.16vw;
  }
  .post__heading { margin-bottom: 1.456vw; }
  .post__title { font-size: 2.184vw; }
  .post__meta { margin-bottom: 1.872vw; font-size: 0.832vw; }
  .post__body { font-size: 1.04vw; line-height: 1.7; }
  .post__cta {
    margin: 2.496vw 0 0;
    min-width: 12.064vw;
    height: 2.86vw;
    font-size: 0.832vw;
  }
  .post-page__footer-scaler {
    height: 27.248vw !important;
    max-height: 27.248vw !important;
  }
  .post-page .page.post-page__footer-page,
  .post-page__footer-page {
    width: 99.84vw !important;
    height: 27.248vw !important;
    max-height: 27.248vw !important;
    min-height: 0 !important;
  }
  .post-page .footer {
    width: 99.84vw !important;
    height: 27.248vw !important;
    top: 0 !important;
  }
}

@media (max-width: 990px) {
  .post {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 90px;
  }
  .post__media {
    min-height: 0;
  }
  .post__photo {
    position: relative;
    top: auto;
    height: 56vw;
    max-height: 420px;
  }
  .post__content {
    padding: 36px 24px 64px;
    min-height: 0;
  }
  .post__title { font-size: 28px; }
  .post__body { font-size: 17px; }
}

/* ========== SCROLL REVEAL ========== */
/* Use `translate` (not `transform`) so scaleX(-1) / translateX(-50%) stay intact */
.js-reveal .reveal {
  opacity: 0;
  will-change: opacity, translate;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    translate 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
.js-reveal .reveal--up { translate: 0 48px; }
.js-reveal .reveal--left { translate: -56px 0; }
.js-reveal .reveal--right { translate: 56px 0; }
.js-reveal .reveal--fade { translate: 0 0; }

.js-reveal .reveal.is-in {
  opacity: 1;
  translate: 0 0;
}

.grecaptcha-badge { visibility: hidden !important; }

@media (prefers-reduced-motion: reduce) {
  .js-reveal .reveal,
  .js-reveal .reveal.is-in {
    opacity: 1 !important;
    translate: none !important;
    transition: none !important;
  }
}

/* Post column must stay on screen even before the reveal observer fires */
.post-page .post__media.reveal,
.post-page .post__content.reveal {
  opacity: 1;
  translate: none;
}


