:root {
  color-scheme: dark;
  --bg: #020b18;
  --panel: #061126;
  --line: rgba(255,255,255,.15);
  --text: #f6f7fb;
  --muted: rgba(235,240,250,.68);
  --blue: #1e74bd;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); }
body {
  overflow-x: hidden;
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Arial, sans-serif;
  background: linear-gradient(180deg, #020c1b 0%, #020b18 100%);
}

/* CONTACT header uses the same shared blue-nav navigation as the other pages. */
.top-header{position:relative;width:100%;line-height:0;background:#020919;}
.top-header-image{display:block;width:100%;height:auto;}

/* Same title scale and vertical rhythm as SCHEDULE */
.page-title {
  height: 7.72vw;
  min-height: 90px;
  max-height: 158px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background:
    linear-gradient(rgba(0,9,30,.34), rgba(0,9,30,.42)),
    url("assets/contact-stage.jpg") center 16% / cover no-repeat;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.page-title h1 {
  margin: 0;
  font-family: Baskerville, "Times New Roman", Times, serif;
  font-size: clamp(42px, 3.55vw, 72px);
  line-height: .95;
  font-weight: 400;
  letter-spacing: .20em;
  text-indent: .20em;
}
.page-title p {
  margin: clamp(7px, .8vw, 16px) 0 0;
  font-size: clamp(13px, .92vw, 19px);
  line-height: 1;
  letter-spacing: .18em;
  color: rgba(255,255,255,.80);
}

.contact-page { width: min(1060px, calc(100% - 64px)); margin: 0 auto; }
.intro {
  padding: 42px 0 38px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.lead {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 2;
  letter-spacing: .05em;
}

.contact-grid {
  display: grid;
  grid-template-columns: .74fr 1.4fr;
  gap: 72px;
  padding: 56px 0 82px;
}
.section-label {
  margin: 0 0 18px;
  color: rgba(255,255,255,.52);
  font-size: 11px;
  letter-spacing: .25em;
}
.contact-copy h2 {
  margin: 0 0 22px;
  font-family: Georgia, "Times New Roman", "Yu Mincho", serif;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.55;
  font-weight: 400;
}
.contact-copy > p:not(.section-label) {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 2;
}
.contact-copy .small-note { margin-top: 22px !important; font-size: 11px !important; }

.contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.contact-form label { display: block; }
.contact-form .full { grid-column: 1 / -1; }
.contact-form label > span {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
  color: rgba(255,255,255,.82);
  font-size: 12px;
}
em {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 6px;
  border: 1px solid rgba(30,116,189,.8);
  color: #8ec8f0;
  font-size: 9px;
  font-style: normal;
}
input, select, textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 0;
  background: rgba(4,15,32,.72);
  color: #fff;
  padding: 14px 15px;
  font: inherit;
  outline: none;
}
select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #8aa0b9 50%), linear-gradient(135deg, #8aa0b9 50%, transparent 50%);
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}
textarea { min-height: 170px; resize: vertical; line-height: 1.8; }
input:focus, select:focus, textarea:focus { border-color: rgba(48,134,204,.95); }

.submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 4px;
}
.submit-row p { margin: 0; color: rgba(255,255,255,.42); font-size: 10px; line-height: 1.6; }
.submit-row button {
  min-width: 220px;
  height: 54px;
  padding: 0 22px;
  border: 1px solid rgba(255,255,255,.38);
  background: transparent;
  color: #fff;
  font-size: 11px;
  letter-spacing: .15em;
  cursor: pointer;
}
.submit-row button span { margin-left: 24px; }
.submit-row button:hover { background: #fff; color: #031020; }

.site-footer {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--line);
  color: rgba(255,255,255,.62);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  letter-spacing: .03em;
}


/* Contact layout: no fixed canvas on tablets or phones */
html,body{width:100%;min-width:0;overflow-x:clip;}
.contact-page,.page-title,.site-footer{min-width:0;max-width:100%;}
.contact-grid>* , .contact-form>* {min-width:0;}
.contact-form input,.contact-form select,.contact-form textarea{min-width:0;max-width:100%;box-sizing:border-box;}
@media (max-width:980px){
 .contact-grid{grid-template-columns:minmax(0,1fr);gap:30px;}
}
@media (max-width:760px){
  *,*::before,*::after{box-sizing:border-box;}
  html,body{width:100%;max-width:100%;min-width:0;overflow-x:hidden;}
  .top-header{position:relative!important;display:block!important;width:100%!important;height:48px!important;min-height:48px!important;background:#020919!important;overflow:visible!important;}
  .top-header>.top-header-image{display:none!important;}
  /* One scenic strip, one logo and four clickable icons. */
  .top-header::before{content:''!important;position:absolute!important;inset:0!important;height:48px!important;display:block!important;background:#020919 url('assets/blue-mobile-topstrip.png') center center/cover no-repeat!important;pointer-events:none!important;z-index:1!important;}
  .top-header::after{content:none!important;display:none!important;}
  .top-header>nav.blue-nav{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:48px!important;min-height:48px!important;overflow:visible!important;background:transparent!important;pointer-events:none!important;z-index:10!important;}
  .top-header>nav.blue-nav::before{content:none!important;display:none!important;}
  .top-header .blue-nav-logo{display:block!important;position:absolute!important;top:0!important;left:8px!important;width:100px!important;height:48px!important;background:#020919 url('assets/blue-mobile-logo.png') center/contain no-repeat!important;font-size:0!important;pointer-events:auto!important;z-index:20!important;}
  .top-header .blue-nav-row{position:absolute!important;top:0!important;left:auto!important;right:7px!important;display:flex!important;align-items:center!important;width:184px!important;max-width:calc(100vw - 117px)!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0!important;pointer-events:auto!important;z-index:20!important;}
  .top-header .blue-nav-pages,.top-header .blue-nav-separator{display:none!important;}
  .top-header .blue-nav-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;gap:4px!important;flex:1 1 auto!important;width:100%!important;height:48px!important;margin:0!important;padding:0!important;}
  .top-header .blue-nav-actions>a,.top-header .blue-nav-actions>div{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:100%!important;height:44px!important;margin:0!important;}
  .top-header .blue-nav-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:44px!important;min-width:0!important;color:#fff!important;pointer-events:auto!important;background:transparent!important;}
  .top-header .blue-nav-icon svg{display:block!important;width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important;transform:none!important;}
  .top-header .blue-nav-popup{z-index:99!important;max-width:calc(100vw - 20px)!important;}
  .page-title{width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:154px!important;padding:25px 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;background-position:center center!important;}
  .page-title h1{margin:0!important;font-size:clamp(32px,10vw,46px)!important;letter-spacing:.1em!important;text-indent:.1em!important;line-height:1.15!important;white-space:nowrap!important;}
  .page-title p{font-size:12px!important;line-height:1.5!important;margin-top:12px!important;}
  .contact-page{display:block!important;width:calc(100% - 36px)!important;max-width:calc(100% - 36px)!important;min-width:0!important;margin:0 auto!important;}
  .intro{padding:26px 0 28px!important;}
  .lead{font-size:13px!important;line-height:1.8!important;overflow-wrap:anywhere!important;}
  .contact-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:26px!important;padding:36px 0 54px!important;}
  .contact-grid>*,.contact-form>*{min-width:0!important;max-width:100%!important;}
  .contact-copy h2{font-size:clamp(26px,7vw,34px)!important;}
  .contact-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:19px!important;width:100%!important;}
  .contact-form label,.contact-form .full{grid-column:1 / -1!important;}
  .contact-form input,.contact-form select,.contact-form textarea{width:100%!important;max-width:100%!important;}
  .submit-row{flex-direction:column!important;align-items:stretch!important;gap:15px!important;}
  .submit-row button{min-width:0!important;width:100%!important;}
  .site-footer{width:100%!important;max-width:100%!important;}
}
#formStatus.success{color:#8fc8ff}#formStatus.error{color:#ff9f9f}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
