.contact-page main { background:#02080c; }
.contact-page .site-nav a[aria-current="page"] { color:#f2c978; }
.contact-page .site-nav a[aria-current="page"]::after { display:none; }

.contact-hero,
.contact-rail,
.contact-main,
.contact-paths,
.contact-closing { position:relative; isolation:isolate; overflow:hidden; border-bottom:1px solid rgba(37,190,221,.56); }

.contact-hero { height:min(40.6vw,585px); min-height:490px; background:#02080c; }
.contact-hero-art { position:absolute; z-index:-2; inset:0; background:url("assets/contact-hero-hd.webp") center / cover no-repeat; }
.contact-hero-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#02080c 0%,rgba(2,8,12,.97) 31%,rgba(2,8,12,.64) 42%,rgba(2,8,12,.06) 59%,transparent 78%),linear-gradient(180deg,rgba(2,8,12,.14),transparent 58%,rgba(2,8,12,.45)); }
.contact-hero-copy { position:relative; z-index:2; width:49%; height:100%; padding:min(10.1vw,146px) min(2vw,29px) min(3.5vw,50px) min(4.85vw,70px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:linear-gradient(90deg,#02080c,rgba(2,8,12,.93) 68%,transparent); }
.contact-hero-copy .eyebrow { margin-bottom:min(1vw,15px); }
.contact-hero h1,
.contact-main h2,
.form-heading h2,
.contact-section-heading h2,
.contact-closing h2 { margin:0; font-weight:400; letter-spacing:-.04em; line-height:.98; text-transform:uppercase; }
.contact-hero h1 { font-size:clamp(3rem,5.6vw,5rem); }
.contact-hero h1 span,
.contact-main h2 span { color:#f0c477; }
.contact-hero-copy>p:not(.eyebrow) { max-width:min(35vw,504px); margin:min(1.3vw,19px) 0 min(1.7vw,25px); color:#d8e0e3; font-size:clamp(.88rem,1.06vw,1.08rem); line-height:1.5; }
.contact-hero-copy .button { min-width:min(24vw,346px); }

.contact-rail { min-height:min(7.3vw,105px); display:grid; grid-template-columns:repeat(3,1fr); padding-inline:min(4.85vw,70px); background:linear-gradient(90deg,#06141d,#071924 50%,#06141d); }
.contact-rail>div { position:relative; min-width:0; padding:min(1.35vw,20px) min(2.2vw,32px); display:grid; grid-template-columns:auto 1fr; align-items:center; gap:min(1.15vw,17px); }
.contact-rail>div+div { border-left:1px solid rgba(126,167,190,.28); }
.contact-rail>div::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:2px; background:linear-gradient(90deg,var(--gold),#3fe4ef); transition:right .35s ease; }
.contact-rail>div:hover::after { right:0; }
.contact-rail span { color:#efc777; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.7rem,2.7vw,2.45rem); }
.contact-rail p { margin:0; color:#aebec5; font-size:clamp(.62rem,.72vw,.77rem); line-height:1.35; }
.contact-rail strong { display:block; margin-bottom:.16rem; color:#f0f4f5; font-size:1.14em; font-weight:500; letter-spacing:.13em; text-transform:uppercase; }

.contact-main { min-height:min(56.5vw,814px); padding:min(4vw,58px) min(4.85vw,70px); display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:min(4vw,58px); background:radial-gradient(circle at 12% 9%,rgba(26,83,115,.28),transparent 31rem),linear-gradient(135deg,#06131b,#02080c 58%); }
.contact-main::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.34; background-image:linear-gradient(rgba(63,191,220,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(63,191,220,.08) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(90deg,#000,transparent 48%); }
.contact-intro { padding:min(1.15vw,17px) 0 0; }
.contact-intro>.eyebrow { margin-bottom:min(.85vw,12px); }
.contact-main h2 { font-size:clamp(2.15rem,3.75vw,3.4rem); }
.contact-lede { max-width:min(35vw,504px); margin:min(1.35vw,20px) 0 min(2.3vw,34px); color:#c6d2d7; font-size:clamp(.82rem,.95vw,.98rem); line-height:1.58; }
.contact-details { border-top:1px solid rgba(231,189,113,.6); }
.contact-detail { padding:min(1.25vw,18px) 0; display:grid; grid-template-columns:min(3.7vw,53px) 1fr; align-items:center; gap:min(1.1vw,16px); border-bottom:1px solid rgba(120,163,188,.26); }
.detail-icon { display:grid; place-items:center; width:min(3.2vw,46px); min-width:40px; aspect-ratio:1; border:1px solid rgba(231,189,113,.68); border-radius:50%; background:rgba(231,189,113,.04); }
.detail-icon svg { width:54%; fill:none; stroke:#efc879; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.contact-detail p { margin:0 0 min(.25vw,4px); color:#76e6ef; font-size:clamp(.52rem,.62vw,.67rem); font-weight:600; letter-spacing:.19em; text-transform:uppercase; }
.contact-detail address,
.contact-detail a,
.contact-detail div>span { color:#edf2f3; font-size:clamp(.8rem,.94vw,.98rem); font-style:normal; line-height:1.45; }
.contact-detail a:hover,
.contact-detail a:focus-visible { color:var(--gold); }
.contact-signature { margin-top:min(2vw,29px); padding:min(1.15vw,17px); display:flex; align-items:center; gap:min(1.1vw,16px); border:1px solid rgba(47,198,224,.36); background:linear-gradient(135deg,rgba(8,30,41,.9),rgba(4,15,22,.88)); }
.signature-mark { display:grid; place-items:center; flex:0 0 min(4.5vw,65px); aspect-ratio:1; border:1px solid var(--gold); border-radius:50%; color:#f0ca82; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.25rem,2vw,1.8rem); box-shadow:inset 0 0 22px rgba(231,189,113,.08),0 0 25px rgba(44,210,227,.06); }
.contact-signature p { margin:0; color:#abbcc3; font-size:clamp(.64rem,.72vw,.77rem); line-height:1.5; }
.contact-signature strong { color:#eff3f4; font-size:1.08em; font-weight:500; text-transform:uppercase; letter-spacing:.08em; }

.form-panel { align-self:start; min-width:0; padding:min(2.2vw,32px); border:1px solid rgba(54,199,224,.66); border-radius:5px; background:linear-gradient(145deg,rgba(6,24,34,.98),rgba(3,12,18,.99)); box-shadow:0 26px 70px rgba(0,0,0,.38),inset 0 0 45px rgba(44,202,225,.025); }
.form-heading { padding-bottom:min(1.35vw,20px); display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid rgba(231,189,113,.42); }
.form-heading .eyebrow { margin-bottom:min(.5vw,8px); }
.form-heading h2 { font-size:clamp(1.75rem,2.65vw,2.4rem); }
.form-heading>span { display:grid; place-items:center; width:min(4.2vw,60px); aspect-ratio:1; border:1px solid rgba(231,189,113,.65); border-radius:50%; color:#eac071; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.25rem,1.75vw,1.6rem); }
.contact-form { padding-top:min(1.55vw,23px); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:min(1.15vw,17px) min(1.3vw,19px); }
.contact-form label { min-width:0; display:grid; gap:min(.45vw,7px); color:#dce4e7; font-size:clamp(.56rem,.66vw,.7rem); font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.contact-form label small { color:#829ba7; font-size:.78em; font-weight:400; letter-spacing:.08em; }
.contact-form input,
.contact-form select,
.contact-form textarea { width:100%; min-width:0; border:1px solid rgba(110,157,181,.48); border-radius:3px; outline:0; background:#06131b; color:#edf3f4; font:inherit; font-size:clamp(.78rem,.86vw,.9rem); font-weight:400; letter-spacing:0; text-transform:none; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.contact-form input,
.contact-form select { height:min(3.55vw,51px); min-height:46px; padding:0 min(.85vw,13px); }
.contact-form textarea { min-height:min(9.2vw,133px); padding:min(.8vw,12px); resize:vertical; line-height:1.5; }
.contact-form textarea::placeholder { color:#6f858f; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color:#62dbe8; background:#071923; box-shadow:0 0 0 3px rgba(71,211,228,.1); }
.contact-form [aria-invalid="true"] { border-color:#f0b067; box-shadow:0 0 0 3px rgba(240,176,103,.1); }
.form-message { grid-column:1/-1; }
.form-actions { margin-top:min(1.4vw,20px); display:flex; align-items:center; gap:min(1.2vw,18px); }
.form-actions .button { min-width:min(18vw,259px); width:auto; min-height:min(3.45vw,50px); border:1px solid var(--gold); cursor:pointer; }
.form-actions p { margin:0; max-width:min(17vw,245px); color:#82969f; font-size:clamp(.54rem,.62vw,.67rem); line-height:1.45; }
.form-status { min-height:1.4em; margin:min(.75vw,11px) 0 0; color:#78e2eb; font-size:clamp(.62rem,.7vw,.75rem); line-height:1.45; }

.contact-paths { min-height:min(34vw,490px); padding:min(2.7vw,39px) min(3.25vw,47px) min(3vw,44px); background:radial-gradient(circle at 50% 125%,rgba(32,104,145,.32),transparent 52%),linear-gradient(180deg,#041019,#02080c); }
.contact-section-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; }
.contact-section-heading .eyebrow { margin-bottom:min(.5vw,8px); }
.contact-section-heading h2 { font-size:clamp(1.9rem,3vw,2.72rem); }
.contact-section-heading>p { margin:0 0 min(.25vw,4px); padding-left:min(1.5vw,22px); border-left:1px solid var(--gold); color:#afc0c7; font-size:clamp(.64rem,.72vw,.77rem); line-height:1.5; }
.path-grid { margin-top:min(1.65vw,24px); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:min(1vw,15px); }
.path-card { position:relative; height:min(24vw,346px); padding:min(1.35vw,20px) min(1.5vw,22px); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(50,198,225,.53); border-radius:4px; background:linear-gradient(145deg,#071b26,#030d13 74%); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.path-card::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(69,210,232,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(69,210,232,.16) 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(180deg,#000,transparent 77%); }
.path-card:hover,
.path-card:focus-visible { transform:translateY(-5px); border-color:#e5bd73; box-shadow:0 18px 40px rgba(0,0,0,.35); }
.path-number { position:relative; z-index:2; color:#eac476; font-size:clamp(.58rem,.68vw,.72rem); letter-spacing:.2em; }
.path-card h3 { position:relative; z-index:2; margin:min(.7vw,10px) 0 min(.7vw,10px); color:#f1f4f5; font-size:clamp(1.2rem,1.7vw,1.56rem); font-weight:400; line-height:1.05; text-transform:uppercase; }
.path-card p { position:relative; z-index:2; margin:0; max-width:min(23vw,331px); color:#aebdc4; font-size:clamp(.66rem,.76vw,.8rem); line-height:1.52; }
.path-card>strong { position:relative; z-index:2; margin-top:auto; padding-top:min(.85vw,12px); border-top:1px solid rgba(231,189,113,.3); color:#edc776; font-size:clamp(.54rem,.62vw,.67rem); font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.path-card>strong span { float:right; font-size:1.4em; }
.path-orbit,
.path-system,
.path-signal { position:absolute; z-index:1; right:min(1.5vw,22px); top:min(1.4vw,20px); width:min(8.3vw,120px); aspect-ratio:1; opacity:.82; }
.path-orbit { border:1px solid rgba(70,221,235,.4); border-radius:50%; box-shadow:inset 0 0 30px rgba(53,213,231,.08),0 0 28px rgba(53,213,231,.07); }
.path-orbit i { position:absolute; inset:17%; border:1px solid rgba(231,189,113,.66); border-radius:50%; transform:rotate(38deg) scaleY(.45); }
.path-orbit i+i { inset:27%; border-color:#47d9e7; transform:rotate(-38deg) scaleY(.45); }
.path-orbit b { position:absolute; left:50%; top:50%; width:9px; aspect-ratio:1; border-radius:50%; background:#f0c574; box-shadow:0 0 17px #f0c574; transform:translate(-50%,-50%); }
.path-system { display:grid; grid-template-columns:repeat(3,1fr); align-items:center; gap:8%; }
.path-system::before { content:""; position:absolute; left:8%; right:8%; top:50%; height:1px; background:linear-gradient(90deg,#49dce9,var(--gold),#49dce9); }
.path-system i { position:relative; aspect-ratio:1; border:1px solid #55dce9; border-radius:4px; background:#06151d; box-shadow:0 0 18px rgba(65,217,233,.16); }
.path-system i:nth-child(2) { border-color:var(--gold); transform:scale(1.16) rotate(45deg); }
.path-signal { display:flex; align-items:flex-end; justify-content:center; gap:7%; padding:13%; }
.path-signal i { width:14%; height:28%; border-radius:3px 3px 0 0; background:linear-gradient(180deg,#67ecf5,#15869c); box-shadow:0 0 12px rgba(71,219,234,.24); }
.path-signal i:nth-child(2){height:46%}.path-signal i:nth-child(3){height:69%;background:linear-gradient(180deg,#f4d18b,#b68134)}.path-signal i:nth-child(4){height:91%}

.contact-closing { height:min(25.2vw,363px); min-height:300px; display:grid; grid-template-columns:43% 57%; align-items:center; background:radial-gradient(circle at 71% 50%,rgba(25,115,154,.23),transparent 29%),linear-gradient(135deg,#02080c,#071923 58%,#02090d); }
.contact-closing-copy { padding:min(3vw,44px) min(2vw,29px) min(3vw,44px) min(4.85vw,70px); }
.contact-closing h2 { font-size:clamp(1.9rem,3.3vw,3rem); }
.contact-closing .button { margin-top:min(1.45vw,21px); min-width:min(25vw,360px); }
.closing-lines { position:relative; order:2; width:100%; height:100%; display:grid; place-items:center; overflow:hidden; }
.closing-lines::before { content:""; position:absolute; width:min(18vw,259px); aspect-ratio:1; border:1px solid rgba(78,221,235,.48); border-radius:50%; box-shadow:0 0 90px rgba(51,203,226,.16),inset 0 0 55px rgba(51,203,226,.1); }
.closing-lines::after { content:""; position:absolute; width:min(25vw,360px); aspect-ratio:1; border:1px solid rgba(231,189,113,.2); border-radius:50%; }
.closing-lines span { position:relative; z-index:3; display:grid; place-items:center; width:min(9.2vw,133px); aspect-ratio:1; border:1px solid var(--gold); border-radius:50%; background:radial-gradient(circle,#102a37,#02090d 74%); color:#f1c87a; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,4vw,3.6rem); box-shadow:0 0 45px rgba(231,189,113,.12); }
.closing-lines i,
.closing-lines b { position:absolute; z-index:1; left:0; right:50%; height:1px; background:linear-gradient(90deg,transparent,#3ed7e7); transform-origin:right; }
.closing-lines i:first-child{transform:rotate(-20deg)}.closing-lines i:nth-child(2){transform:rotate(0)}.closing-lines i:nth-child(3){transform:rotate(20deg)}
.closing-lines b { left:50%; right:0; background:linear-gradient(90deg,#e6bd72,transparent); transform-origin:left; }
.closing-lines b:nth-last-child(3){transform:rotate(-20deg)}.closing-lines b:nth-last-child(2){transform:rotate(0)}.closing-lines b:last-child{transform:rotate(20deg)}

.contact-page .site-footer { min-height:min(15vw,216px); padding-top:min(2vw,29px); }

@media (max-width:980px){
  .contact-hero-copy,.contact-main,.contact-closing-copy{padding-left:38px}.contact-hero-copy{width:54%}.contact-main{padding-right:38px;gap:34px}.contact-paths{padding-inline:28px}.form-panel{padding:24px}.contact-lede{max-width:100%}
}

@media (max-width:760px){
  .contact-hero{height:auto;min-height:790px;display:flex;align-items:flex-end;padding-top:68px}.contact-hero-art{inset:68px 0 auto;height:470px;background-position:64% center}.contact-hero-art::after{background:linear-gradient(180deg,rgba(2,8,12,.04),rgba(2,8,12,.08) 48%,#02080c 100%)}.contact-hero-copy{width:100%;height:auto;min-height:420px;padding:82px var(--mobile-pad) 45px;background:linear-gradient(180deg,transparent,#02080c 20%,#02080c)}.contact-hero h1{font-size:clamp(3rem,14vw,4.5rem)}.contact-hero-copy>p:not(.eyebrow){max-width:38rem;margin:18px 0 24px;font-size:1rem}.contact-hero-copy .button{width:100%;min-width:0}
  .contact-rail{padding:0 var(--mobile-pad);grid-template-columns:1fr}.contact-rail>div{padding:20px 2px}.contact-rail>div+div{border-left:0;border-top:1px solid rgba(126,167,190,.28)}.contact-rail span{font-size:2.15rem}.contact-rail p{font-size:.76rem}
  .contact-main{min-height:0;padding:56px var(--mobile-pad);grid-template-columns:1fr;gap:42px}.contact-main h2{font-size:clamp(2.4rem,10.5vw,3.7rem)}.contact-lede{max-width:38rem;margin:18px 0 29px;font-size:.96rem}.contact-detail{grid-template-columns:48px 1fr;padding:17px 0;gap:14px}.detail-icon{width:44px}.contact-detail p{font-size:.61rem}.contact-detail address,.contact-detail a,.contact-detail div>span{font-size:.92rem}.contact-signature{margin-top:27px;padding:16px;gap:15px}.signature-mark{flex-basis:58px}.contact-signature p{font-size:.72rem}
  .form-panel{padding:24px 18px}.form-heading{padding-bottom:18px}.form-heading h2{font-size:2rem}.form-heading>span{width:50px}.contact-form{padding-top:22px}.form-grid{grid-template-columns:1fr;gap:17px}.contact-form label{gap:7px;font-size:.64rem}.contact-form input,.contact-form select{height:50px}.contact-form textarea{min-height:140px}.form-actions{margin-top:20px;align-items:flex-start;flex-direction:column;gap:12px}.form-actions .button{width:100%;min-width:0}.form-actions p{max-width:30rem;font-size:.65rem}.form-status{margin-top:10px;font-size:.72rem}
  .contact-paths{min-height:0;padding:50px var(--mobile-pad)}.contact-section-heading{grid-template-columns:1fr;gap:17px}.contact-section-heading h2{font-size:clamp(2.15rem,9.5vw,3.4rem)}.contact-section-heading>p{font-size:.76rem}.path-grid{margin-top:28px;grid-template-columns:1fr;gap:13px}.path-card{height:330px;padding:20px}.path-card h3{margin:13px 0 12px;font-size:1.55rem}.path-card p{max-width:32rem;font-size:.79rem}.path-card>strong{padding-top:13px;font-size:.64rem}.path-orbit,.path-system,.path-signal{right:18px;top:18px;width:108px}
  .contact-closing{height:auto;min-height:660px;grid-template-columns:1fr;align-items:end}.closing-lines{position:absolute;inset:0 0 auto;height:370px}.closing-lines::before{width:230px}.closing-lines::after{width:320px}.closing-lines span{width:118px;font-size:3.2rem}.contact-closing-copy{position:relative;z-index:3;padding:335px var(--mobile-pad) 52px;background:linear-gradient(180deg,transparent 37%,#02080c 64%,#02080c)}.contact-closing h2{font-size:clamp(2.25rem,10vw,3.6rem)}.contact-closing .button{width:100%;min-width:0;margin-top:24px}.contact-page .site-footer{min-height:0}
}

@media (max-width:470px){
  .contact-hero{min-height:750px}.contact-hero-art{height:420px}.contact-hero-copy{padding-top:70px}.contact-hero h1{font-size:3rem}.contact-main h2,.contact-section-heading h2,.contact-closing h2{font-size:2.25rem}.form-heading h2{font-size:1.75rem}.form-heading>span{width:46px}.path-card{height:342px}.contact-signature{align-items:flex-start}.signature-mark{flex-basis:52px}
}

@media (prefers-reduced-motion:reduce){.contact-rail>div::after,.path-card{transition:none}}
