:root {
  --lk-contact-bg: #10171a;
  --lk-contact-surface: #172024;
  --lk-contact-text: #f3f1eb;
  --lk-contact-muted: #9aa6a9;
  --lk-contact-accent: #26bce0;
  --lk-contact-border: rgba(255,255,255,.14);
}

body.page-template-page-contact,
body.page-contact { background: var(--lk-contact-bg); color: var(--lk-contact-text); }
.lk-contact-page { overflow: hidden; background: radial-gradient(circle at 82% 30%, rgba(38,188,224,.055), transparent 27%), var(--lk-contact-bg); }
.lk-contact-shell { width: min(1280px, calc(100vw - 64px)); margin-inline: auto; }

.lk-contact-hero { border-bottom: 1px solid var(--lk-contact-border); background: #0d1417; }
.lk-contact-hero__grid { min-height: 610px; display: grid; grid-template-columns: .78fr 1.22fr; }
.lk-contact-hero__copy { display: flex; justify-content: center; flex-direction: column; padding: 70px clamp(40px, 7vw, 95px) 70px 0; }
.lk-contact-hero h1 { margin: 0; color: #f8f5ef; font-family: var(--lk-display); font-size: clamp(76px, 10vw, 142px); font-weight: 850; letter-spacing: -.06em; line-height: .83; text-transform: uppercase; }
.lk-contact-hero__copy > i { width: 52px; height: 2px; margin: 42px 0 30px; background: var(--lk-contact-accent); }
.lk-contact-kicker { margin: 0 0 20px; color: var(--lk-contact-accent) !important; font-size: 9px !important; font-weight: 850; letter-spacing: .2em; text-transform: uppercase; }
.lk-contact-hero__copy > p:last-child { max-width: 410px; margin: 0; color: #b5bec0; font-size: 13px; line-height: 1.8; }
.lk-contact-hero figure { min-height: 610px; margin: 0 calc((100vw - min(1280px, calc(100vw - 64px))) / -2) 0 0; overflow: hidden; }
.lk-contact-hero figure img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 58% center; }

.lk-contact-main { padding: 64px 0 100px; }
.lk-contact-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 28px; align-items: start; }
.lk-contact-form-card { padding: 34px; border: 1px solid var(--lk-contact-border); background: rgba(20,29,33,.88); }
.lk-contact-form-card > h2 { margin: 0 0 28px; color: #f3f0ea; font-family: var(--lk-display); font-size: 30px; letter-spacing: -.025em; text-transform: uppercase; }
.lk-contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 18px; }
.lk-contact-form label { display: block; }
.lk-contact-form label > span { display: block; margin-bottom: 8px; color: #d6dcda; font-size: 8px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.lk-contact-form input,
.lk-contact-form textarea { width: 100%; min-height: 48px; padding: 13px 15px; border: 1px solid var(--lk-contact-border); border-radius: 0; outline: 0; background: #11191d; color: #eef1ee; font: inherit; font-size: 11px; transition: border-color .2s ease, box-shadow .2s ease; }
.lk-contact-form textarea { min-height: 156px; resize: vertical; line-height: 1.6; }
.lk-contact-form input::placeholder,
.lk-contact-form textarea::placeholder { color: #657277; }
.lk-contact-form input:focus,
.lk-contact-form textarea:focus { border-color: var(--lk-contact-accent); box-shadow: 0 0 0 3px rgba(38,188,224,.08); }
.lk-contact-form__message { grid-column: 1 / -1; }
.lk-contact-form button { min-width: 202px; min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; justify-self: start; padding: 14px 20px; border: 1px solid var(--lk-contact-accent); border-radius: 0; background: var(--lk-contact-accent); color: #061114; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .25s ease, color .25s ease, transform .25s ease; }
.lk-contact-form button:hover,
.lk-contact-form button:focus-visible { background: transparent; color: var(--lk-contact-accent); transform: translateY(-2px); }
.lk-contact-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.lk-contact-alert { grid-column: 1 / -1; margin: 0 0 22px; padding: 14px 16px; border-left: 3px solid var(--lk-contact-accent); background: #10191c; color: #dfe5e2; font-size: 11px; line-height: 1.6; }
.lk-contact-alert.is-error { border-left-color: #d76568; }

.lk-contact-details { display: grid; gap: 14px; }
.lk-contact-details article { min-height: 132px; display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 26px; border: 1px solid var(--lk-contact-border); background: rgba(20,29,33,.78); }
.lk-contact-details article > span { color: var(--lk-contact-accent); font-size: 27px; line-height: 1; }
.lk-contact-details h2 { margin: 0 0 12px; color: #f0f2ee; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.lk-contact-details strong,
.lk-contact-details a,
.lk-contact-details p { color: #aeb8ba; font-size: 10px; line-height: 1.65; }
.lk-contact-details strong { display: block; color: #e3e7e4; font-weight: 700; }
.lk-contact-details a { color: var(--lk-contact-accent); text-decoration: none; }
.lk-contact-details p { margin: 3px 0 0; }

.lk-contact-map { min-height: 360px; display: grid; grid-template-columns: 340px 1fr; margin-top: 42px; overflow: hidden; border: 1px solid var(--lk-contact-border); background: #0d1417; }
.lk-contact-map > div:first-child { position: relative; z-index: 2; display: flex; justify-content: center; flex-direction: column; padding: 42px; background: linear-gradient(90deg, #0b1114 75%, rgba(11,17,20,.88)); }
.lk-contact-map h2 { margin: 0 0 18px; color: #f4f1eb; font-family: var(--lk-display); font-size: 51px; letter-spacing: -.045em; line-height: .9; text-transform: uppercase; }
.lk-contact-map p:not(.lk-contact-kicker) { margin: 0 0 24px; color: #9ba7aa; font-size: 11px; line-height: 1.7; }
.lk-contact-map a { width: max-content; min-width: 174px; min-height: 44px; display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; padding: 12px 15px; border: 1px solid #768287; color: #eff1ee; font-size: 8px; font-weight: 850; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.lk-contact-map a:hover { border-color: var(--lk-contact-accent); color: var(--lk-contact-accent); }
.lk-contact-map__art { position: relative; isolation: isolate; overflow: hidden; background: #11191d; }
.lk-contact-map__art::before,
.lk-contact-map__art::after { content: ""; position: absolute; inset: -15%; z-index: -2; }
.lk-contact-map__art::before { opacity: .42; background: repeating-linear-gradient(28deg, transparent 0 22px, rgba(151,166,170,.18) 23px 24px, transparent 25px 54px), repeating-linear-gradient(116deg, transparent 0 36px, rgba(151,166,170,.14) 37px 38px, transparent 39px 72px); transform: rotate(-7deg) scale(1.15); }
.lk-contact-map__art::after { background: radial-gradient(circle at 57% 53%, rgba(38,188,224,.16), transparent 16%), linear-gradient(90deg, rgba(11,17,20,.5), transparent 45%); }
.lk-contact-map__art i { position: absolute; top: calc(53% - 16px); left: calc(57% - 16px); width: 33px; height: 33px; border: 7px solid var(--lk-contact-accent); border-radius: 50% 50% 50% 0; background: #0b1114; box-shadow: 0 0 0 5px rgba(38,188,224,.14); transform: rotate(-45deg); }
.lk-contact-map__art i::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--lk-contact-accent); }
.lk-contact-map__art b { position: absolute; top: calc(53% + 30px); left: calc(57% + 22px); color: #dbe0de; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }

.lk-contact-benefits { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border: 1px solid var(--lk-contact-border); background: #141d21; }
.lk-contact-benefits > div { min-height: 108px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 14px; padding: 22px 30px; border-right: 1px solid var(--lk-contact-border); }
.lk-contact-benefits > div:last-child { border-right: 0; }
.lk-contact-benefits > div > span { color: var(--lk-contact-accent); font-size: 26px; }
.lk-contact-benefits p { margin: 0; }
.lk-contact-benefits strong,
.lk-contact-benefits small { display: block; }
.lk-contact-benefits strong { color: #e8ece8; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.lk-contact-benefits small { margin-top: 5px; color: #899598; font-size: 9px; line-height: 1.55; }

@media (max-width: 960px) {
  .lk-contact-hero__grid { grid-template-columns: 1fr; }
  .lk-contact-hero__copy { min-height: 470px; padding-right: 0; }
  .lk-contact-hero figure { min-height: 460px; margin: 0 calc((100vw - min(1280px, calc(100vw - 64px))) / -2); }
  .lk-contact-grid { grid-template-columns: 1fr; }
  .lk-contact-details { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .lk-contact-shell { width: calc(100vw - 32px); }
  .lk-contact-hero__copy { min-height: 400px; padding-block: 58px; }
  .lk-contact-hero h1 { font-size: clamp(72px, 24vw, 104px); }
  .lk-contact-hero figure { min-height: 360px; margin-inline: -16px; }
  .lk-contact-main { padding-block: 38px 72px; }
  .lk-contact-form-card { padding: 24px 18px; }
  .lk-contact-form { grid-template-columns: 1fr; }
  .lk-contact-form__message { grid-column: auto; }
  .lk-contact-form button { width: 100%; }
  .lk-contact-details { grid-template-columns: 1fr; }
  .lk-contact-map { grid-template-columns: 1fr; }
  .lk-contact-map > div:first-child { min-height: 280px; padding: 30px 24px; }
  .lk-contact-map__art { min-height: 300px; }
  .lk-contact-benefits { grid-template-columns: 1fr; }
  .lk-contact-benefits > div { border-right: 0; border-bottom: 1px solid var(--lk-contact-border); }
  .lk-contact-benefits > div:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .lk-contact-form button { transition: none; }
}
