@font-face {
  font-family: 'Lava Pro Grunge';
  src: url('/assets/fonts/lava.ttf') format('truetype');
  font-display: block;
}

@font-face {
  font-family: 'Antio';
  src: url('/assets/fonts/antio.otf') format('opentype');
  font-display: block;
}

:root {
  --contact-desktop-nav-height: calc(100vw * 90 / 1920);
  --contact-desktop-board-offset: clamp(96px, calc(100vw * 100 / 1920), 118px);
}

body.contact-page {
  min-height: 100vh;
}

body.contact-page main.contact-main {
  position: relative;
  flex: 0 0 auto !important;
  min-height: auto !important;
  padding-top: var(--contact-desktop-board-offset) !important;
  padding-bottom: 5px !important;
  overflow: hidden !important;
  background-color: #1a1a1a !important;
  background-image: url('/assets/Background.png') !important;
  background-size: 100% 100% !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}

body.contact-page main.contact-main::before,
body.contact-page main.contact-main::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 35;
  height: clamp(6px, 0.42vw, 10px);
  background: linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.96) 3%,
    rgba(255,255,255,0.98) 97%,
    rgba(255,255,255,0) 100%
  );
  box-shadow: 0 0 10px rgba(255,255,255,0.15);
}

body.contact-page main.contact-main::before {
  top: calc(var(--contact-desktop-nav-height) - (clamp(6px, 0.42vw, 10px) / 2));
}

body.contact-page main.contact-main::after {
  bottom: 0;
}

body.contact-page .contact-wrapper {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 0 0 5px 0 !important;
  line-height: 0;
  z-index: 10;
}

body.contact-page .contact-master {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transform: scaleY(1.0048);
  transform-origin: top center;
}

body.contact-page .contact-content-layer {
  position: absolute;
  inset: 0;
  z-index: 50;
  pointer-events: none;
  line-height: normal;
  display: flex;
  justify-content: center;
  align-items: center;
}

body.contact-page .contact-box {
  width: min(940px, calc(100vw * 940 / 1920));
  padding: min(40px, calc(100vw * 40 / 1920)) min(34px, calc(100vw * 34 / 1920)) min(24px, calc(100vw * 24 / 1920));
  background: rgba(38, 38, 38, 0.95);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: min(24px, calc(100vw * 24 / 1920));
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  pointer-events: auto;
  user-select: text !important;
  -webkit-user-select: text !important;
  transform: translateY(calc(100vw * -6 / 1920));
  box-sizing: border-box;
}

body.contact-page .contact-box form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

body.contact-page .top-section {
  display: flex;
  gap: min(28px, calc(100vw * 28 / 1920));
  width: 100%;
  margin-bottom: min(18px, calc(100vw * 18 / 1920));
  align-items: flex-start;
}

body.contact-page .left-inputs {
  flex: 1.08;
  display: flex;
  flex-direction: column;
  gap: min(15px, calc(100vw * 15 / 1920));
}

body.contact-page .right-info {
  flex: 0.92;
  display: flex;
  align-items: center;
  min-height: 100%;
}

body.contact-page .info-text {
  margin: 0;
  color: #ccc;
  font-family: 'Antio', sans-serif;
  font-size: min(20px, calc(100vw * 20 / 1920));
  line-height: 1.38;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

body.contact-page .input-field {
  width: 100%;
  padding: min(14px, calc(100vw * 14 / 1920)) min(14px, calc(100vw * 14 / 1920));
  background: #333;
  border: 1px solid #555;
  border-radius: min(12px, calc(100vw * 12 / 1920));
  color: #fff;
  font-family: 'Quicksand', sans-serif;
  font-size: min(18px, calc(100vw * 18 / 1920));
  outline: none;
  transition: 0.3s;
  box-sizing: border-box;
}

body.contact-page .input-field::placeholder {
  color: rgba(255,255,255,0.72);
}

body.contact-page textarea.input-field {
  height: min(335px, calc(100vw * 335 / 1920));
  resize: none;
  margin-bottom: min(12px, calc(100vw * 12 / 1920));
}

body.contact-page .input-field:focus {
  border-color: #fecb2f;
  box-shadow: 0 0 0 2px rgba(254,203,47,0.2);
}

body.contact-page .contact-status {
  display: none;
  margin: min(10px, calc(100vw * 10 / 1920)) 0 min(14px, calc(100vw * 14 / 1920)) 0;
  padding: min(12px, calc(100vw * 12 / 1920)) min(14px, calc(100vw * 14 / 1920));
  border-radius: min(12px, calc(100vw * 12 / 1920));
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.28);
  color: #fff;
  text-align: center;
  font-family: 'Antio', sans-serif;
  font-weight: 700;
  font-size: min(20px, calc(100vw * 20 / 1920));
  letter-spacing: 0.2px;
}

body.contact-page .contact-status.ok,
body.contact-page .contact-status.err {
  border-color: rgba(255,255,255,0.22);
}

body.contact-page .send-btn {
  width: 100%;
  padding: min(15px, calc(100vw * 15 / 1920));
  background: #fecb2f;
  color: #000;
  font-weight: 800;
  border: none;
  border-radius: 99px;
  cursor: pointer;
  font-size: min(19px, calc(100vw * 19 / 1920));
  text-transform: uppercase;
  transition: 0.3s;
  font-family: 'Quicksand', sans-serif;
}

body.contact-page .send-btn:hover {
  background: #ffda59;
  transform: scale(1.01);
}

body.contact-page .inline-contact {
  color: #ffda59;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px dashed rgba(255,218,89,0.65);
}

body.contact-page .inline-contact:hover {
  border-bottom-style: solid;
}

/* 1488–2000 */
@media (min-width: 1488px) and (max-width: 2000px) {
  body.contact-page .contact-box {
    width: min(940px, calc(100vw * 940 / 1920));
  }
}

/* 1153–1487 */
@media (min-width: 1153px) and (max-width: 1487px) {
  body.contact-page .contact-box {
    width: calc(100vw * 890 / 1920);
    padding: calc(100vw * 36 / 1920) calc(100vw * 30 / 1920) calc(100vw * 20 / 1920);
    border-radius: calc(100vw * 22 / 1920);
    transform: translateY(calc(100vw * -4 / 1920));
  }

  body.contact-page .top-section {
    gap: calc(100vw * 22 / 1920);
  }

  body.contact-page .left-inputs {
    gap: calc(100vw * 13 / 1920);
  }

  body.contact-page .info-text {
    font-size: calc(100vw * 19 / 1920);
    line-height: 1.36;
  }

  body.contact-page .input-field {
    font-size: calc(100vw * 17 / 1920);
    padding: calc(100vw * 13 / 1920);
    border-radius: calc(100vw * 11 / 1920);
  }

  body.contact-page textarea.input-field {
    height: calc(100vw * 300 / 1920);
  }

  body.contact-page .contact-status {
    font-size: calc(100vw * 18 / 1920);
  }

  body.contact-page .send-btn {
    font-size: calc(100vw * 18 / 1920);
    padding: calc(100vw * 14 / 1920);
  }
}

/* 901–1152 */
@media (min-width: 901px) and (max-width: 1152px) {
  body.contact-page .contact-box {
    width: calc(100vw * 840 / 1920);
    padding: calc(100vw * 32 / 1920) calc(100vw * 24 / 1920) calc(100vw * 18 / 1920);
    border-radius: calc(100vw * 20 / 1920);
    transform: translateY(calc(100vw * -2 / 1920));
  }

  body.contact-page .top-section {
    gap: calc(100vw * 18 / 1920);
  }

  body.contact-page .left-inputs {
    gap: calc(100vw * 12 / 1920);
  }

  body.contact-page .info-text {
    font-size: calc(100vw * 17 / 1920);
    line-height: 1.34;
  }

  body.contact-page .input-field {
    font-size: calc(100vw * 16 / 1920);
    padding: calc(100vw * 12 / 1920);
    border-radius: calc(100vw * 10 / 1920);
  }

  body.contact-page textarea.input-field {
    height: calc(100vw * 270 / 1920);
  }

  body.contact-page .contact-status {
    font-size: calc(100vw * 17 / 1920);
  }

  body.contact-page .send-btn {
    font-size: calc(100vw * 17 / 1920);
    padding: calc(100vw * 13 / 1920);
  }
}

/* 2001–2250 */
@media (min-width: 2001px) and (max-width: 2250px) {
  :root {
    --contact-desktop-board-offset: clamp(104px, calc(100vw * 104 / 1920), 124px);
  }

  body.contact-page .contact-box {
    width: min(1020px, calc(100vw * 1020 / 1920));
    padding: min(44px, calc(100vw * 44 / 1920)) min(40px, calc(100vw * 40 / 1920)) min(24px, calc(100vw * 24 / 1920));
    transform: translateY(calc(100vw * -4 / 1920));
  }

  body.contact-page .top-section {
    gap: min(32px, calc(100vw * 32 / 1920));
  }

  body.contact-page .info-text {
    font-size: min(22px, calc(100vw * 22 / 1920));
    line-height: 1.4;
  }

  body.contact-page .input-field {
    font-size: min(19px, calc(100vw * 19 / 1920));
  }

  body.contact-page textarea.input-field {
    height: min(355px, calc(100vw * 355 / 1920));
  }

  body.contact-page .contact-status {
    font-size: min(21px, calc(100vw * 21 / 1920));
  }

  body.contact-page .send-btn {
    font-size: min(20px, calc(100vw * 20 / 1920));
  }
}

/* >2250 */
@media (min-width: 2251px) {
  :root {
    --contact-desktop-board-offset: clamp(108px, calc(100vw * 106 / 1920), 128px);
  }

  body.contact-page .contact-box {
    width: min(1100px, calc(100vw * 1100 / 1920));
    padding: min(48px, calc(100vw * 48 / 1920)) min(42px, calc(100vw * 42 / 1920)) min(26px, calc(100vw * 26 / 1920));
    transform: translateY(calc(100vw * -6 / 1920));
  }

  body.contact-page .top-section {
    gap: min(36px, calc(100vw * 36 / 1920));
  }

  body.contact-page .info-text {
    font-size: min(24px, calc(100vw * 24 / 1920));
    line-height: 1.42;
  }

  body.contact-page .input-field {
    font-size: min(21px, calc(100vw * 21 / 1920));
    padding: min(16px, calc(100vw * 16 / 1920));
  }

  body.contact-page textarea.input-field {
    height: min(385px, calc(100vw * 385 / 1920));
  }

  body.contact-page .contact-status {
    font-size: min(23px, calc(100vw * 23 / 1920));
  }

  body.contact-page .send-btn {
    font-size: min(22px, calc(100vw * 22 / 1920));
    padding: min(17px, calc(100vw * 17 / 1920));
  }
}

/* MOBILE */
@media (max-width: 900px) {
  body.contact-page main.contact-main {
    padding-top: 96px !important;
    padding-bottom: 0 !important;
    background-image: url('/assets/Background.png') !important;
    background-size: 100% 100% !important;
    background-position: top center !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    overflow: visible !important;
  }

  body.contact-page main.contact-main::before,
  body.contact-page main.contact-main::after {
    display: none !important;
  }

  body.contact-page .contact-master {
    display: none !important;
    transform: none !important;
  }

  body.contact-page .contact-wrapper {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 10px 8px 18px !important;
    box-sizing: border-box !important;
    line-height: normal !important;
  }

  body.contact-page .contact-content-layer {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    pointer-events: auto !important;
  }

  body.contact-page .contact-box {
    width: min(88vw, 480px) !important;
    padding: 20px 14px 16px !important;
    border-radius: 20px !important;
    transform: translateY(-8px) !important;
  }

  body.contact-page .top-section {
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 14px !important;
  }

  body.contact-page .right-info {
    order: 1 !important;
    width: 100% !important;
    flex: none !important;
    align-items: flex-start !important;
  }

  body.contact-page .left-inputs {
    order: 2 !important;
    width: 100% !important;
    flex: none !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
    margin-bottom: 2px !important;
    border-bottom: 1px solid rgba(255,255,255,0.14) !important;
  }

  body.contact-page .info-text {
    font-size: clamp(15px, 3.8vw, 19px) !important;
    line-height: 1.4 !important;
  }

  body.contact-page .input-field {
    font-size: clamp(15px, 3.8vw, 18px) !important;
    padding: 12px !important;
    border-radius: 10px !important;
  }

  body.contact-page textarea.input-field {
    height: min(38dvh, 260px) !important;
    margin-top: 4px !important;
    margin-bottom: 10px !important;
  }

  body.contact-page .contact-status {
    font-size: clamp(15px, 3.8vw, 19px) !important;
    padding: 11px 12px !important;
    margin: 8px 0 12px 0 !important;
  }

  body.contact-page .send-btn {
    font-size: clamp(15px, 3.8vw, 18px) !important;
    padding: 13px !important;
  }
}

@media (min-width: 650px) and (max-width: 900px) {
  body.contact-page .contact-box {
    width: min(92vw, 680px) !important;
    padding: 24px 18px 18px !important;
    border-radius: 22px !important;
    transform: translateY(-8px) !important;
  }

  body.contact-page .top-section {
    gap: 20px !important;
  }

  body.contact-page .info-text {
    font-size: clamp(18px, 2.7vw, 22px) !important;
  }

  body.contact-page .input-field {
    font-size: clamp(17px, 2.5vw, 20px) !important;
    padding: 13px !important;
  }

  body.contact-page textarea.input-field {
    height: min(40dvh, 300px) !important;
  }

  body.contact-page .contact-status {
    font-size: clamp(18px, 2.5vw, 21px) !important;
  }

  body.contact-page .send-btn {
    font-size: clamp(17px, 2.5vw, 20px) !important;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  body.contact-page .contact-box {
    width: min(82vw, 700px) !important;
    transform: translateY(-6px) !important;
  }

  body.contact-page .info-text {
    font-size: clamp(13px, 2.2vw, 17px) !important;
  }

  body.contact-page .input-field {
    font-size: clamp(13px, 2.2vw, 16px) !important;
  }

  body.contact-page textarea.input-field {
    height: min(32dvh, 200px) !important;
  }

  body.contact-page .contact-status {
    font-size: clamp(13px, 2.1vw, 16px) !important;
  }

  body.contact-page .send-btn {
    font-size: clamp(13px, 2.1vw, 16px) !important;
  }
}