
:root {
  --amnos-contact-bg: #230504;
  --amnos-contact-bg-2: #3b0705;
  --amnos-contact-text: #f6f0e9;
  --amnos-contact-muted: rgba(246,240,233,.58);
  --amnos-contact-line: rgba(205,167,101,.36);
  --amnos-contact-gold: #cda765;
}

.amnos-contact {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  color: var(--amnos-contact-text);
  background:
    radial-gradient(circle at 72% 10%, rgba(123,27,15,.34), transparent 36%),
    linear-gradient(135deg, var(--amnos-contact-bg), #120202 58%, #260404);
  isolation: isolate;
}

.amnos-contact * { box-sizing: border-box; }

.amnos-contact__ambient,
.amnos-contact__grid,
.amnos-contact__orb { position: absolute; inset: 0; pointer-events: none; }

.amnos-contact__ambient { z-index: -1; overflow: hidden; }

.amnos-contact__grid {
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
}

.amnos-contact__orb {
  width: 42vw;
  height: 42vw;
  border: 1px solid rgba(205,167,101,.12);
  border-radius: 50%;
  filter: blur(.2px);
  animation: amnosOrbit 14s linear infinite;
}

.amnos-contact__orb--one { left: -18vw; top: 15vh; }
.amnos-contact__orb--two { left: auto; right: -17vw; top: 42vh; animation-direction: reverse; animation-duration: 19s; }

.amnos-contact__hero {
  min-height: 76vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: clamp(120px, 16vh, 190px) 24px 92px;
}

.amnos-contact__seal-wrap {
  position: relative;
  width: 104px;
  height: 104px;
  display: grid;
  place-items: center;
  margin-bottom: 34px;
  animation: amnosReveal .9s cubic-bezier(.2,.75,.2,1) both;
}

.amnos-contact__seal { width: 58px; height: 58px; object-fit: contain; object-position: center; }

.amnos-contact__orbit {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(205,167,101,.42);
  border-radius: 50%;
  animation: amnosOrbit 9s linear infinite;
}
.amnos-contact__orbit::after {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--amnos-contact-gold);
  top: 7px;
  left: 50%;
  box-shadow: 0 0 14px rgba(205,167,101,.72);
}

.amnos-contact__eyebrow,
.amnos-contact__section-label {
  margin: 0;
  letter-spacing: .34em;
  font-size: 11px;
  color: var(--amnos-contact-gold);
  text-transform: uppercase;
}

.amnos-contact__hero h1 {
  margin: 18px 0 22px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(66px, 10vw, 152px);
  line-height: .88;
  font-weight: 400;
  letter-spacing: .02em;
  color: #fff;
  animation: amnosTitle 1.05s .12s cubic-bezier(.2,.75,.2,1) both;
}

.amnos-contact__intro {
  max-width: 700px;
  margin: 0;
  font-size: clamp(16px, 1.4vw, 21px);
  line-height: 1.75;
  color: var(--amnos-contact-muted);
  animation: amnosReveal .9s .35s both;
}

.amnos-contact__scroll {
  width: 1px;
  height: 90px;
  margin-top: 70px;
  background: rgba(255,255,255,.18);
  overflow: hidden;
}
.amnos-contact__scroll span {
  display: block;
  width: 100%;
  height: 34%;
  background: var(--amnos-contact-gold);
  animation: amnosScroll 2.2s ease-in-out infinite;
}

.amnos-contact__body {
  width: min(1440px, calc(100% - 80px));
  margin: 0 auto;
  padding: 110px 0 140px;
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(520px, 1.22fr);
  gap: clamp(70px, 8vw, 150px);
  border-top: 1px solid rgba(255,255,255,.1);
}

.amnos-contact__details h2 {
  margin: 22px 0 25px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5vw, 78px);
  line-height: .98;
  font-weight: 400;
}

.amnos-contact__copy {
  max-width: 470px;
  margin: 0 0 52px;
  color: var(--amnos-contact-muted);
  line-height: 1.75;
  font-size: 17px;
}

.amnos-contact__detail-list { border-top: 1px solid rgba(255,255,255,.15); }

.amnos-contact__detail {
  position: relative;
  display: grid;
  gap: 10px;
  padding: 24px 42px 24px 0;
  border-bottom: 1px solid rgba(255,255,255,.15);
  color: inherit;
  text-decoration: none;
  transition: padding-left .35s ease, border-color .35s ease;
}
.amnos-contact__detail:hover { padding-left: 14px; border-color: var(--amnos-contact-gold); }
.amnos-contact__detail span { font-size: 10px; letter-spacing: .28em; color: var(--amnos-contact-gold); }
.amnos-contact__detail strong { font-size: 17px; font-weight: 400; letter-spacing: .03em; }
.amnos-contact__detail i {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  font-style: normal;
  font-size: 22px;
  transition: transform .35s ease;
}
.amnos-contact__detail:hover i { transform: translate(6px, -7px); }

.amnos-contact__visual {
  position: relative;
  width: 270px;
  aspect-ratio: 1;
  margin: 72px auto 0;
  border: 1px solid rgba(205,167,101,.3);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.amnos-contact__visual::before,
.amnos-contact__visual::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.11);
}
.amnos-contact__visual::before { inset: 18px; }
.amnos-contact__visual::after { inset: 48px; }
.amnos-contact__visual img { width: 80px; height: 80px; object-fit: contain; object-position: center; position: relative; z-index: 2; }
.amnos-contact__visual p {
  position: absolute;
  bottom: 28px;
  margin: 0;
  color: var(--amnos-contact-muted);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .35em;
  text-align: center;
}
.amnos-contact__visual-ring {
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  border-top: 1px solid var(--amnos-contact-gold);
  animation: amnosOrbit 10s linear infinite;
}

.amnos-contact__form-panel { padding-top: 3px; }

.amnos-contact__form { margin-top: 45px; }

.amnos-contact__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
}

.amnos-contact__form label {
  position: relative;
  display: block;
  margin-bottom: 32px;
}

.amnos-contact__form label > span:not(.amnos-contact__consent span) {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
  letter-spacing: .25em;
  color: var(--amnos-contact-gold);
}

.amnos-contact__form input:not([type="checkbox"]),
.amnos-contact__form select,
.amnos-contact__form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.28);
  border-radius: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  padding: 13px 0 15px;
  outline: none;
  transition: border-color .3s ease;
  appearance: none;
}
.amnos-contact__form input:focus,
.amnos-contact__form select:focus,
.amnos-contact__form textarea:focus { border-color: var(--amnos-contact-gold); }
.amnos-contact__form select option { color: #111; }
.amnos-contact__form textarea { resize: vertical; min-height: 135px; }

.amnos-contact__message { margin-top: 9px; }

.amnos-contact__consent {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  color: var(--amnos-contact-muted);
  font-size: 13px;
  line-height: 1.6;
}
.amnos-contact__consent input { margin-top: 4px; accent-color: var(--amnos-contact-gold); }

.amnos-contact__submit-row {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 30px;
}

.amnos-contact__submit-row button {
  min-width: 270px;
  min-height: 64px;
  padding: 0 24px;
  border: 1px solid rgba(205,167,101,.72);
  background: transparent;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  letter-spacing: .2em;
  font-size: 11px;
  cursor: pointer;
  transition: background .35s ease, color .35s ease, transform .35s ease;
}
.amnos-contact__submit-row button:hover {
  background: var(--amnos-contact-gold);
  color: #190302;
  transform: translateY(-3px);
}
.amnos-contact__submit-row button i {
  font-size: 19px;
  font-style: normal;
  transition: transform .35s ease;
}
.amnos-contact__submit-row button:hover i { transform: translateX(7px); }
.amnos-contact__submit-row button[disabled] { opacity: .55; cursor: wait; }

.amnos-contact__status {
  margin: 0;
  color: var(--amnos-contact-muted);
  font-size: 14px;
}
.amnos-contact__status.is-success { color: #d8c297; }
.amnos-contact__status.is-error { color: #ffaaa0; }

@keyframes amnosOrbit { to { transform: rotate(360deg); } }
@keyframes amnosReveal {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}
@keyframes amnosTitle {
  from { opacity: 0; transform: translateY(55px); clip-path: inset(100% 0 0); }
  to { opacity: 1; transform: none; clip-path: inset(0); }
}
@keyframes amnosScroll {
  0% { transform: translateY(-120%); }
  55%,100% { transform: translateY(320%); }
}

@media (max-width: 900px) {
  .amnos-contact__hero { min-height: 70vh; padding-inline: 22px; }
  .amnos-contact__body {
    width: calc(100% - 44px);
    grid-template-columns: 1fr;
    gap: 85px;
    padding: 80px 0 105px;
  }
  .amnos-contact__visual { display: none; }
}

@media (max-width: 600px) {
  .amnos-contact {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
  }
  .amnos-contact__hero { min-height: 72svh; padding: 105px 20px 65px; }
  .amnos-contact__seal-wrap { width: 86px; height: 86px; margin-bottom: 25px; }
  .amnos-contact__seal { width: 48px; height: 48px; }
  .amnos-contact__hero h1 { font-size: clamp(56px, 19vw, 82px); }
  .amnos-contact__intro { font-size: 15px; }
  .amnos-contact__scroll { height: 62px; margin-top: 48px; }
  .amnos-contact__body { width: calc(100% - 36px); padding: 68px 0 90px; }
  .amnos-contact__row { grid-template-columns: 1fr; gap: 0; }
  .amnos-contact__submit-row { align-items: stretch; flex-direction: column; }
  .amnos-contact__submit-row button { width: 100%; min-width: 0; }
}
