    :root {
      --surface: #f8f8f6;
      --surface-soft: #efefec;
      --surface-card: #f3f3f0;
      --surface-input: #fcfcfb;
      --border-soft: #e6e6e0;
    }

.contact-page .site-boxed {
  width: min(100% - 48px, var(--vy-container));
  margin-inline: auto;
}

.contact-page .contact-chip {
	 display: inline-flex;
	 align-items: center;
	 gap: 12px;
	 padding: 12px 14px 12px 20px;
	 background: var(--c1);
	 color: #fff;
	 border-radius: 999px;
	 font-size: 14px;
	 font-weight: 600;
	 box-shadow: 0 12px 24px rgba(234, 29, 37, 0.18);
}
 .contact-page .contact-chip__arrow {
	 width: 34px;
	 height: 34px;
	 border-radius: 50%;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 background: rgba(255, 255, 255, 0.14);
	 border: 1px solid rgba(255, 255, 255, 0.22);
	 font-size: 14px;
	 transform: rotate(-45deg);
}
 .contact-page .contact-chip:hover {
	 transform: translateY(-2px);
	 box-shadow: 0 16px 34px rgba(234, 29, 37, 0.26);
	 background: var(--c1h);
	 color: #fff;
}
 .contact-page .contact-hero {
	 padding: 12px 0 40px;
}
 .contact-page .contact-hero__grid {
	 align-items: center;
	 row-gap: 40px;
}
 .contact-page .contact-hero__content {
	 padding-right: 26px;
	 max-width: 550px;
}
 .contact-page .section-title {
	 margin: 0 0 22px;
	 font-size: clamp(44px, 5vw, 74px);
	 line-height: 0.98;
	 font-weight: 700;
	 letter-spacing: -0.04em;
}
 .contact-page .section-title em {
	 font-family: 'Playfair Display', serif;
	 font-style: italic;
	 font-weight: 600;
	 color: var(--c1);
}
 .contact-page .section-copy {
	 max-width: 410px;
	 margin: 0 0 34px;
	 font-size: 22px;
	 line-height: 1.3;
	 font-weight: 500;
	 letter-spacing: -0.03em;
}
 .contact-page .section-copy small {
	 display: block;
	 font-size: 15px;
	 line-height: 1.58;
	 font-weight: 500;
	 letter-spacing: 0;
	 color: #2f3136;
	 margin-top: 18px;
}
 .contact-page .hero-contact-list {
	 display: grid;
	 gap: 18px;
	 max-width: 420px;
}
 .contact-page .hero-contact-item {
	 display: grid;
	 grid-template-columns: 56px minmax(0, 1fr);
	 gap: 16px;
	 align-items: center;
}
 .contact-page .hero-contact-item__icon {
	 width: 56px;
	 height: 56px;
	 border-radius: 50%;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 background: var(--c1);
	 box-shadow: 0 14px 28px rgba(234, 29, 37, 0.16);
	 transition: 0.28s ease;
}
 .contact-page .hero-contact-item:hover .hero-contact-item__icon {
	 transform: translateY(-3px) scale(1.03);
	 box-shadow: 0 18px 32px rgba(234, 29, 37, 0.24);
	 background: var(--c1h);
}
 .contact-page .hero-contact-item__label {
	 display: block;
	 margin-bottom: 3px;
	 font-size: 15px;
	 line-height: 1.2;
	 color: #9a9ca0;
	 font-weight: 500;
}
 .contact-page .hero-contact-item__value {
	 display: block;
	 font-size: 18px;
	 line-height: 1.28;
	 font-weight: 600;
	 letter-spacing: -0.02em;
}
 .contact-page .hero-contact-item__value small {
	 display: block;
	 margin-top: 5px;
	 font-size: 11px;
	 line-height: 1.45;
	 color: #515359;
	 word-break: break-word;
}
 .contact-page .contact-hero__media {
	 position: relative;
	 min-height: 510px;
	 isolation: isolate;
}
 .contact-page .contact-hero__media img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

 .contact-page .media-card {
	 position: absolute;
	 border-radius: 28px;
	 background: linear-gradient(145deg, #d7dce2 0%, #c7ccd4 35%, #b8bec6 100%);
	 box-shadow: var(--vy-shadow-soft);
	 overflow: hidden;
	 border: 1px solid rgba(255, 255, 255, 0.55);
	 transition: 0.32s ease;
}
 .contact-page .media-card::before, .contact-page .media-card::after {
	 content: "";
	 position: absolute;
	 inset: 0;
}
 .contact-page .media-card:hover {
	 transform: translateY(-5px);
	 box-shadow: var(--shadow-hover);
}
 .contact-page .media-card--main {
	 inset: 52px 0 0 12px;
}
 .contact-page .media-card--secondary {
	 top: 0;
	 right: 0;
	 width: 43%;
	 height: 212px;
}
 .contact-page .media-card--secondary::before {
	 background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0));
}
 .contact-page .contact-main {
	 background: #fafaf8;
	 padding: 24px 0 36px;
}
 .contact-page .contact-main__grid {
	 align-items: stretch;
	 row-gap: 26px;
}
 .contact-page .contact-people {
	 display: grid;
	 gap: 18px;
	 height: 100%;
}
 .contact-page .contact-card, .contact-page .contact-form-card {
	 background: var(--surface-card);
	 border-radius: 24px;
	 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72);
	 transition: 0.28s ease;
}
 .contact-page .contact-card {
	 padding: 34px 34px 30px;
	 min-height: 206px;
}
 .contact-page .contact-card:hover, .contact-page .contact-form-card:hover {
	 transform: translateY(-4px);
	 box-shadow: 0 18px 42px rgba(12, 12, 12, 0.04), inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}
 .contact-page .contact-card__icon {
	 margin-bottom: 22px;
	 width: 34px;
	 height: 34px;
	 color: var(--c1);
}
 .contact-page .contact-card__title, .contact-page .contact-card__subtitle, .contact-page .contact-card__line {
	 margin: 0;
	 font-size: 16px;
	 line-height: 1.55;
	 font-weight: 500;
	 color: #18191d;
}
 .contact-page .contact-card__title {
	 font-weight: 600;
	 line-height: 1.4;
}
 .contact-page .contact-card__line + .contact-card__line, .contact-page .contact-card__title + .contact-card__line {
	 margin-top: 2px;
}
 .contact-page .contact-form-card {
	 height: 100%;
	 padding: 24px 26px 28px;
}
 .contact-page .contact-form .form-label {
	 margin-bottom: 10px;
	 font-size: 16px;
	 line-height: 1.25;
	 font-weight: 500;
	 color: #1b1c1f;
}
 .contact-page .contact-form .form-control {
	 border: 1px solid var(--border-soft);
	 background: var(--surface-input);
	 border-radius: 20px;
	 min-height: 66px;
	 padding: 18px 20px;
	 font-size: 15px;
	 line-height: 1.4;
	 color: #121316;
	 box-shadow: none;
}
 .contact-page .contact-form textarea.form-control {
	 min-height: 274px;
	 resize: none;
	 padding-top: 18px;
}
 .contact-page .contact-form .form-control::placeholder {
	 color: #c2c3c7;
}
 .contact-page .contact-form .form-control:focus {
	 border-color: rgba(234, 29, 37, 0.22);
	 box-shadow: 0 0 0 0.2rem rgba(234, 29, 37, 0.08);
}
 .contact-page .contact-form__actions {
	 display: flex;
	 justify-content: center;
	 padding-top: 22px;
}
 .contact-page .btn-send {
	 min-width: 154px;
	 padding: 0 10px;
	 display: inline-flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 16px;
	 border: 0;
	 border-radius: 999px;
	 background: var(--c1);
	 color: #fff;
	 font-weight: 600;
	 line-height: 1;
	 box-shadow: 0 14px 28px rgba(234, 29, 37, 0.2);
}
 .contact-page .btn-send__text {
    padding: 18px 0 18px 27px;
    font-size: 17px;
    line-height: 18px;
}
 .contact-page .btn-send__icon {
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-size: 17px;
    color: var(--c1);
    padding: 7px 10px 10px 8px;
    line-height: 17px;
}
 .contact-page .btn-send:hover {
	 color: #fff;
	 background: var(--c1h);
	 transform: translateY(-2px);
	 box-shadow: 0 18px 34px rgba(234, 29, 37, 0.26);
}
 .contact-page .site-footer {
	 padding: 62px 0 40px;
}
 .contact-page .footer-top {
	 display: grid;
	 grid-template-columns: 1.2fr 1fr 1fr 1fr 1.1fr;
	 gap: 48px;
	 align-items: start;
}
 .contact-page .footer-title {
	 margin: 0 0 22px;
	 font-size: 18px;
	 line-height: 1.2;
	 font-weight: 600;
	 letter-spacing: -0.02em;
}
 .contact-page .newsletter-form {
	 max-width: 270px;
}
 .contact-page .newsletter-input {
	 height: 44px;
	 border-radius: 999px;
	 border: 1px solid #bdbebb;
	 background: transparent;
	 padding: 0 18px;
	 font-size: 14px;
	 width: 100%;
	 outline: none;
	 color: var(--c2);
	 transition: 0.25s ease;
}
 .contact-page .newsletter-input:focus {
	 border-color: rgba(234, 29, 37, 0.4);
	 box-shadow: 0 0 0 4px rgba(234, 29, 37, 0.06);
}
 .contact-page .newsletter-btn {
	 margin-top: 14px;
	 min-width: 122px;
	 height: 40px;
	 border-radius: 999px;
	 border: 0;
	 background: #080808;
	 color: #fff;
	 font-size: 14px;
	 font-weight: 500;
	 padding: 0 20px;
	 transition: 0.25s ease;
}
 .contact-page .newsletter-btn:hover {
	 background: var(--c1);
	 transform: translateY(-2px);
}
 .contact-page .footer-tagline {
	 margin: 30px 0 0;
	 font-family: 'Playfair Display', serif;
	 font-style: italic;
	 font-size: 16px;
	 line-height: 1.18;
	 font-weight: 600;
	 max-width: 220px;
}
 .contact-page .footer-links {
	 list-style: none;
	 padding: 0;
	 margin: 0;
	 display: grid;
	 gap: 18px;
}
 .contact-page .footer-links a {
	 color: #131417;
	 font-size: 15px;
	 line-height: 1.2;
	 font-weight: 500;
}
 .contact-page .footer-links a:hover {
	 color: var(--c1);
	 padding-left: 4px;
}
 .contact-page .footer-bottom {
	 display: grid;
	 grid-template-columns: 1fr 2fr 1fr;
	 gap: 36px;
	 padding-top: 50px;
	 align-items: end;
}
 .contact-page .footer-bottom__label {
	 display: block;
	 margin-bottom: 12px;
	 font-size: 14px;
	 line-height: 1.2;
	 color: #111214;
	 font-weight: 500;
}
 .contact-page .footer-bottom__value {
	 margin: 0;
	 font-size: 15px;
	 line-height: 1.4;
	 font-weight: 500;
	 color: #121316;
}
 .contact-page .footer-bottom__center {
	 text-align: center;
}
 .contact-page .footer-bottom__right {
	 text-align: right;
}
 .contact-page .footer-bar {
	 margin-top: 24px;
	 border-radius: 10px;
	 background: var(--c1);
	 color: #fff;
	 padding: 22px 18px;
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 gap: 24px;
}
 .contact-page .footer-bar__brand {
	 display: inline-flex;
	 align-items: center;
	 gap: 12px;
	 font-family: 'Playfair Display', serif;
	 font-style: italic;
	 font-size: 17px;
	 font-weight: 600;
	 letter-spacing: 0.04em;
}
 .contact-page .footer-bar__brand::before {
	 content: "";
	 width: 64px;
	 height: 20px;
	 border-radius: 999px;
	 background: linear-gradient(90deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}
 .contact-page .footer-bar__copy {
	 margin: 0;
	 font-size: 15px;
	 line-height: 1.2;
	 font-weight: 500;
}
 .contact-page .icon-stroke, .contact-page .icon-fill {
	 width: 22px;
	 height: 22px;
}
 .contact-page .icon-stroke {
	 stroke: #fff;
	 fill: none;
	 stroke-width: 1.8;
	 stroke-linecap: round;
	 stroke-linejoin: round;
}
 .contact-page .icon-fill {
	 fill: var(--c1);
}
 @media (max-width: 1399.98px) {
  .contact-page .site-boxed {
    width: min(100% - 40px, 1240px);
  }
	 .contact-page .contact-hero__content {
		 padding-right: 12px;
	}
	 .contact-page .section-copy {
		 font-size: 20px;
	}
	 .contact-page .contact-hero__media {
		 min-height: 470px;
	}
}
 @media (max-width: 1199.98px) {
	 .contact-page .topbar-wrap {
		 padding-bottom: 30px;
	}
	 .contact-page .contact-hero {
		 padding-top: 6px;
	}
	 .contact-page .contact-hero__content {
		 max-width: none;
	}
	 .contact-page .contact-hero__media {
		 min-height: 420px;
	}
	 .contact-page .media-card--main {
		 inset: 46px 0 0 8px;
	}
	 .contact-page .footer-top {
		 grid-template-columns: repeat(4, minmax(0, 1fr));
		 gap: 36px 26px;
	}
	 .contact-page .footer-top__newsletter {
		 grid-column: -1;
	}
	 .contact-page .footer-bottom {
		 gap: 22px;
	}
}
 @media (max-width: 991.98px) {
	 .contact-page .site-boxed {
		 width: 99.6875%;
	}
	 .contact-page .topbar {
		 padding: 14px 14px 16px;
	}
	 .contact-page .navbar-toggler {
		 border: 0;
		 padding: 8px 10px;
		 border-radius: 12px;
		 background: rgba(234, 29, 37, 0.06);
		 box-shadow: none !important;
	}
	 .contact-page .navbar-collapse {
		 padding-top: 14px;
	}
	 .contact-page .navbar-nav {
		 gap: 4px;
		 padding: 10px 0;
	}
	 .contact-page .contact-chip {
		 margin-top: 10px;
		 justify-content: center;
	}
	 .contact-page .contact-hero {
		 padding: 0 0 30px;
	}
	 .contact-page .contact-hero__grid {
		 row-gap: 28px;
	}
	 .contact-page .contact-hero__content {
		 padding-right: 0;
	}
	 .contact-page .section-title {
		 margin-bottom: 18px;
	}
	 .contact-page .section-copy {
		 max-width: 100%;
		 margin-bottom: 28px;
	}
	 .contact-page .hero-contact-list {
		 max-width: 100%;
	}
	 .contact-page .contact-hero__media {
		 min-height: 380px;
	}
	 .contact-page .media-card {
		 border-radius: 24px;
	}
	 .contact-page .media-card--main {
		 inset: 72px 0 0 0;
	}
	 .contact-page .media-card--secondary {
		 width: 42%;
		 height: 160px;
	}
	 .contact-page .contact-main {
		 padding: 10px 0 30px;
	}
	 .contact-page .contact-card, .contact-page .contact-form-card {
		 border-radius: 22px;
	}
	 .contact-page .contact-card {
		 min-height: auto;
	}
	 .contact-page .footer-top {
		 grid-template-columns: repeat(2, minmax(0, 1fr));
		 gap: 34px 26px;
	}
	 .contact-page .footer-bottom {
		 grid-template-columns: 1fr;
		 text-align: left;
	}
	 .contact-page .footer-bottom__center, .contact-page .footer-bottom__right {
		 text-align: left;
	}
	 .contact-page .footer-bar {
		 border-radius: 16px;
		 padding: 20px 18px;
	}
}
 @media (max-width: 767.98px) {
	 .contact-page .topbar-wrap {
		 padding: 16px 0 22px;
	}
	 .contact-page .topbar {
		 border-radius: 18px;
	}
	 .contact-page .brand-mark {
		 width: 108px;
		 height: 36px;
	}
	 .contact-page .brand-mark span {
		 font-size: 22px;
	}
	 .contact-page .section-title {
		 font-size: clamp(38px, 12vw, 54px);
		 line-height: 1;
	}
	 .contact-page .section-copy {
		 font-size: 18px;
		 line-height: 1.34;
	}
	 .contact-page .section-copy small {
		 font-size: 14px;
	}
	 .contact-page .hero-contact-item {
		 grid-template-columns: 50px minmax(0, 1fr);
		 gap: 14px;
	}
	 .contact-page .hero-contact-item__icon {
		 width: 50px;
		 height: 50px;
	}
	 .contact-page .hero-contact-item__value {
		 font-size: 17px;
	}
	 .contact-page .contact-hero__media {
		 min-height: 320px;
	}
	 .contact-page .media-card {
		 border-radius: 20px;
	}
	 .contact-page .media-card--main {
		 inset: 82px 0 0 0;
	}
	 .contact-page .media-card--secondary {
		 right: 12px;
		 width: calc(100% - 24px);
		 height: 128px;
	}
	 .contact-page .contact-card, .contact-page .contact-form-card {
		 padding-left: 20px;
		 padding-right: 20px;
	}
	 .contact-page .contact-card {
		 padding-top: 24px;
		 padding-bottom: 22px;
	}
	 .contact-page .contact-form-card {
		 padding-top: 20px;
		 padding-bottom: 24px;
	}
	 .contact-page .contact-form .form-control {
		 min-height: 58px;
		 padding: 16px 18px;
		 border-radius: 18px;
	}
	 .contact-page .contact-form textarea.form-control {
		 min-height: 220px;
	}
	 .contact-page .btn-send {
		 min-width: 142px;
	}
	 .contact-page .btn-send__text {
		 padding-left: 26px;
	}
	 .contact-page .site-footer {
		 padding-top: 42px;
	}
	 .contact-page .footer-top {
		 grid-template-columns: 1fr;
		 gap: 30px;
	}
	 .contact-page .footer-links {
		 gap: 15px;
	}
	 .contact-page .footer-bottom {
		 padding-top: 34px;
		 gap: 18px;
	}
	 .contact-page .footer-bar {
		 flex-direction: column;
		 align-items: flex-start;
		 gap: 12px;
	}
}
 @media (max-width: 575.98px) {
	 .contact-page .site-boxed {
		 width: 99.7916666667%;
	}
	 .contact-page .topbar {
		 padding: 12px;
	}
	 .contact-page .contact-chip {
		 width: 100%;
	}
	 .contact-page .hero-contact-item__value {
		 font-size: 16px;
	}
	 .contact-page .contact-hero__media {
		 min-height: 280px;
	}
	 .contact-page .media-card--main {
		 inset: 88px 0 0 0;
	}
	 .contact-page .media-card--secondary {
		 top: 0;
		 right: 10px;
		 width: calc(100% - 20px);
		 height: 116px;
	}
	 .contact-page .contact-card__title, .contact-page .contact-card__subtitle, .contact-page .contact-card__line, .contact-page .footer-links a, .contact-page .footer-bottom__value {
		 font-size: 14px;
	}
	 .contact-page .footer-bar__copy {
		 font-size: 13px;
	}
}
 

  
