/* Contact page, plus the shared enquiry form styles (also loaded by partners.html). */

/* ---------- Hero (night sky): route chooser ---------- */
.ct-hero .page-hero__grid { align-items: center; }
.chooser { display: grid; gap: .75rem; }
.chooser__title { font-size: var(--step-micro); letter-spacing: .14em; text-transform: uppercase; font-weight: 650; color: var(--gold); }
.chooser ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.chooser a {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .25rem 1rem;
  padding: 1.05rem 1.15rem 1.05rem 1.3rem; border-radius: var(--radius-card);
  background: rgb(242 239 230 / 6%); border: 1px solid rgb(230 178 60 / 26%);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  text-decoration: none; color: var(--ivory);
  transition: background-color var(--dur-base), border-color var(--dur-base), transform var(--dur-base) var(--ease-out-expo);
}
.chooser a:hover { background: var(--ivory); color: var(--paper-fg); border-color: var(--ivory); transform: translateY(-2px); }
.chooser a:hover small { color: var(--paper-fg-muted); }
.chooser strong { font-family: var(--font-display); font-weight: 600; font-size: var(--step-subhead); line-height: 1.2; letter-spacing: -0.01em; }
.chooser small { grid-column: 1; font-size: var(--step-caption); color: var(--navy-fg-muted); line-height: 1.45; }
.chooser .btn__disc { grid-column: 2; grid-row: 1 / span 2; width: 2rem; height: 2rem; margin: 0; background: var(--gold); color: var(--navy); }
.chooser a:hover .btn__disc { background: var(--navy); color: var(--gold); transform: translate(2px, -2px) rotate(-45deg); }

/* ---------- Write to us ---------- */
.ct-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.ct-aside { display: grid; gap: 1.25rem; }
.ct-aside h3 { font-size: var(--step-h3); }
.ct-route { padding-top: 1.1rem; border-top: 1px solid rgb(9 24 50 / 14%); }
.ct-route strong { display: block; font-size: var(--step-micro); letter-spacing: .14em; text-transform: uppercase; font-weight: 650; color: var(--accent-text); margin-bottom: .35rem; }
.ct-route p { color: var(--paper-fg-muted); font-size: var(--step-caption); }
.ct-route a { font-weight: 650; text-decoration-color: var(--accent-text); text-underline-offset: .2em; color: var(--paper-fg); }
@media (max-width: 860px) { .ct-grid { grid-template-columns: 1fr; } }
/* Contact page only: the long form section is one key that the sky climbs through from night
   to sunrise, so the form column and the contact details each sit on a paper sheet. */
#write .ct-grid > div:first-child, #write .ct-aside { background: var(--paper); color: var(--paper-fg); border-radius: var(--radius-card); padding: clamp(1.4rem, 3.2vw, 2.5rem); }
#write .ct-grid { gap: clamp(1rem, 2.5vw, 2rem); }
#write .enquiry { padding: 0; background: transparent; border: 0; border-radius: 0; }
#write .eyebrow { color: var(--accent-text); }
#write .eyebrow::before { background: var(--accent-text); }
#write .section-head p:not(.eyebrow) { color: var(--paper-fg-muted); }

/* ---------- Shared enquiry form ---------- */
.enquiry { padding: clamp(1.4rem, 3.2vw, 2.5rem); border-radius: var(--radius-card); background: rgb(255 255 255 / 66%); border: 1px solid rgb(9 24 50 / 12%); }
.enquiry h3 { font-size: var(--step-h3); }
.enquiry .req { color: var(--accent-text); margin-left: .2em; }
.enquiry .field label { color: var(--paper-fg); }
.enquiry .opt { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--paper-fg-muted); }
.select-wrap { position: relative; }
.select-wrap::after { content: ""; position: absolute; right: 1.1rem; top: 50%; width: .5rem; height: .5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.select-wrap .select { padding-right: 2.75rem; }
.field-error { font-size: var(--step-caption); font-weight: 600; color: #8b1e1e; }
.input[aria-invalid="true"], .textarea[aria-invalid="true"] { border-color: #8b1e1e; }
.form-errors { padding: 1rem 1.2rem; border-radius: 10px; border-top: 2px solid #8b1e1e; background: rgb(139 30 30 / 7%); color: var(--paper-fg); }
.form-errors:focus { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.form-errors h3 { font-family: var(--font-body); font-size: var(--step-body); font-weight: 650; letter-spacing: 0; }
.form-errors ul { margin: .5rem 0 0; padding-left: 1.2rem; font-size: var(--step-caption); }
.form-errors a { color: #8b1e1e; font-weight: 600; text-underline-offset: .2em; }
.form__note a { color: inherit; text-decoration-color: var(--accent-text); text-underline-offset: .2em; }
.form-status { display: grid; gap: .8rem; justify-items: start; padding: 1.1rem 1.25rem; border-radius: 10px; background: var(--navy); color: var(--ivory); font-size: var(--step-caption); }
.form-status .text-link { color: var(--ivory); border-bottom-color: var(--gold); }
.form-status[hidden], .form-errors[hidden], .field-error[hidden] { display: none; }
.enquiry__go { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.enquiry button.btn { cursor: pointer; font-family: inherit; }
.enquiry__after { padding: 1rem 1.2rem; border-radius: 10px; background: var(--paper-dim); font-size: var(--step-caption); color: var(--paper-fg-muted); }
.enquiry__after strong { display: block; color: var(--paper-fg); margin-bottom: .25rem; }

/* Honeypot: hidden from people (and screen readers); bots that fill every field reveal themselves. */
.hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
