:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f7f3e7;background:#0c1b30;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:linear-gradient(#07132280,#071322e8),url('../assets/moonlight.webp') center top/cover fixed no-repeat;min-height:100vh}header{width:100%}.skip-link{position:absolute;left:16px;top:-100px;z-index:100}.skip-link:focus{top:8px;background:white;padding:12px;color:#14253e}main{width:calc(100% - 48px);max-width:880px;margin:42px auto 0}.intro{text-align:center;margin-bottom:54px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#e7d8b6;margin:0 0 12px}h1{font-size:clamp(36px,5vw,52px);letter-spacing:-1.5px;margin:0 0 12px}h2{font-size:clamp(25px,3vw,32px);letter-spacing:-.7px;margin:0 0 22px}h3{font-size:13px;letter-spacing:.5px;color:#e7d8b6;margin:32px 0 12px}.intro>p:not(.eyebrow){color:#c8d4e1;font-size:17px;margin:0 0 20px}a{color:inherit;text-underline-offset:4px}.jump{font-size:14px;color:#e7d8b6}.jump span{margin-left:10px}.questions details{border:1px solid #91aac12e;border-radius:12px;background:#1c334a9c;margin-bottom:9px}.questions summary{display:flex;gap:18px;align-items:center;justify-content:space-between;cursor:pointer;padding:20px 22px;list-style:none;font-size:16px;font-weight:600;line-height:1.5}.questions summary::-webkit-details-marker{display:none}.questions summary::after{content:'+';font-size:23px;font-weight:400;color:#e7d8b6;flex:none}.questions details[open] summary::after{content:'−'}.questions details[open]{background:#233c53}.answer{padding:0 22px 18px;color:#d4dfe9;font-size:15px;line-height:1.75}.answer p{margin:0 0 12px}.answer p:last-child{margin-bottom:0}.answer ol{padding-left:22px}.answer li+li{margin-top:12px}.answer strong{color:#f7f3e7}summary:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #e7d8b6;outline-offset:4px}.message-panel{max-width:620px;margin:44px auto 0;padding:28px;border:1px solid #e4f2ffad;border-radius:22px;background:linear-gradient(135deg,#d3e5f5,#b8d0e7);color:#193348}.message-panel .eyebrow{color:#385b74}.message-panel h2{margin-bottom:10px}.form-intro{color:#3d5a70;font-size:15px;line-height:1.6;margin:0 0 20px}label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}input,select,textarea{display:block;width:100%;font:inherit;font-size:16px;line-height:1.5;color:#193348;background:#eef6fd;border:1px solid #7996ad;border-radius:9px;padding:12px 14px;min-height:48px}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:2px solid #476e89;outline-offset:2px}.field-help{font-size:12px;line-height:1.5;color:#476278;margin:10px 0 22px}#send-message{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:18px;border:0;border-radius:10px;background:#244a63;color:white;font:inherit;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer}#send-message:disabled{cursor:wait;opacity:.75}#form-status{margin:16px 0 0;font-size:14px;line-height:1.6}#form-status:empty{display:none}#form-status[data-error=true]{color:#912824}.website-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}footer{text-align:center;color:#b6c5d5;font-size:13px;padding:34px 0 38px}@media(max-width:600px){main{width:calc(100% - 32px);margin-top:22px}.intro{margin-bottom:34px}.message-panel{padding:24px 20px;margin-top:36px}.questions summary{padding:17px 16px;font-size:15px}.answer{padding:0 16px 16px}h3{margin-top:26px}}
/* Approved palette A: blue-grey metal strips and the shared smooth silver form. */
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{position:relative;isolation:isolate;background:none}
body::before{content:'';position:fixed;inset:0;z-index:-1;background-image:linear-gradient(0deg,#080f2529,transparent 42%),linear-gradient(90deg,#24486755,transparent 65%),linear-gradient(#78afdf20,#4e84b20d),url('../assets/moonlight.webp');background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none}
.questions details,.questions details[open]{background:linear-gradient(115deg,#40576a,#62788a 45%,#3a5268);border:1px solid #c7d6e76b;border-radius:10px;box-shadow:inset 0 1px 0 #ffffff42,inset 0 -1px 0 #091d3c40,0 3px 7px #0002;margin-bottom:10px}
.questions summary{padding:16px 22px;color:#fff;font-weight:600}.questions summary::after{color:#f1e3be}.questions summary:focus-visible{outline-offset:2px}.answer{color:#f0f4f7;padding-top:3px}.answer strong{color:#fff}
.message-panel{background:radial-gradient(ellipse at 0% 40%,#ffffffa6 0%,#ffffff00 65%),radial-gradient(ellipse at 100% 70%,#ffffff99 0%,#ffffff00 65%),linear-gradient(180deg,#dbe1e6 0%,#abb8c5 52%,#d4dce4 100%);color:#233747;border:1px solid #f6f8fa;box-shadow:0 20px 50px #0006,inset 0 2px 2px #ffffffe0,inset 0 -2px 3px #60708060}
.message-panel input,.message-panel select,.message-panel textarea{background:#ffffffbb;border-color:#8b9aa7;color:#233747;box-shadow:inset 0 1px 3px #23374712}.message-panel .form-intro,.message-panel .field-help,.message-panel .eyebrow{color:#465966}
@media(max-width:600px){.questions summary{padding:16px;font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the topic chevron comfortably inside the field in Safari and Chrome. */
.message-panel #topic{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23233747' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px}
@media(forced-colors:active){.message-panel #topic{-webkit-appearance:auto;appearance:auto;background-image:none}}

/* Sign In card geometry and metallic action treatment, scoped to Contact. */
@font-face{font-family:MoonSay;src:url('../assets/fonts/site-variable-1.woff2') format('woff2');font-weight:100 900;font-display:swap}
.message-panel{max-width:540px;min-height:580px;padding:28px 40px;border-radius:26px;border:1px solid #ffffffb0;background:linear-gradient(140deg,#e6edf2f7,#ccdae4f5);box-shadow:inset 0 1px 1px #fff,0 24px 70px #03132740;color:#243f50;font-family:MoonSay,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.message-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:12px;background:#eae5d5;border:1px solid #d3c7a8;color:#8a7442}
.message-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.message-panel .eyebrow{font-size:10px;color:#627b8a}
.message-panel h2{font-size:36px;line-height:1.15;letter-spacing:-1.4px;margin-bottom:12px}
.message-panel .form-intro{font-size:17px;line-height:1.5;color:#587180;margin-bottom:20px}
.message-panel label{font-size:14px;margin:12px 0 6px}
.message-panel input,.message-panel select{min-height:46px;padding:10px 12px}
.message-panel textarea{min-height:150px;padding:10px 12px}
.message-panel .field-help{color:#587180}
#send-message{min-height:50px;padding:12px 18px;border:1px solid #244a63;border-radius:11px;background:linear-gradient(145deg,#456d84 0%,#31566e 48%,#213e52 100%);color:#fff;box-shadow:inset 0 1px 0 #ffffff77,inset 0 0 0 1px #a7c4d43d,0 2px 0 #193344,0 5px 10px #142c3c20;text-shadow:0 1px 0 #102b4166;transform:translateY(0);transition:transform .16s,box-shadow .16s,filter .16s;touch-action:manipulation}
#send-message:is(:hover,:focus-visible):not(:disabled){transform:translateY(-2px);filter:brightness(1.04);box-shadow:inset 0 1px 0 #ffffff77,inset 0 0 0 1px #a7c4d43d,0 2px 0 #193344,0 7px 13px #142c3c30}
#send-message:active:not(:disabled){transform:translateY(0);filter:brightness(.99);box-shadow:inset 0 1px 0 #ffffff55,0 1px 0 #193344,0 3px 6px #142c3c20}
#send-message:disabled{transform:none;filter:none;cursor:wait;box-shadow:inset 0 1px 0 #ffffff33,0 1px 0 #193344;opacity:.6}
.message-panel :focus-visible{outline:2px solid #c49c4e;outline-offset:4px}
@media(max-width:600px){.message-panel{padding:27px 25px;border-radius:22px;min-height:0}.message-panel h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){#send-message{transition:none}#send-message:is(:hover,:focus-visible):not(:disabled){transform:none}}

/* Compact contact card with content-driven height. */
.message-panel{min-height:0;padding-top:24px;padding-bottom:36px}
.message-panel textarea{min-height:124px}
.message-panel .field-help{margin-bottom:18px}

/* FAQ-only sticky navigation stops at the message form boundary. */
main{max-width:1180px}
.questions{max-width:976px;margin-left:max(0px,calc((100% - 1052px)/2));margin-right:0}
.questions>h2{margin-bottom:28px;margin-left:256px}
.faq-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:32px;align-items:start}
.faq-nav{position:sticky;top:24px;padding:16px 12px;border:1px solid #d6e5f02e;border-radius:16px;background:linear-gradient(135deg,#ffffff0a,#ffffff03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff12,0 8px 24px #07132214}
.faq-nav-label{margin:4px 12px 12px;font-size:10px;font-weight:700;letter-spacing:1.6px;color:#d1be96}
.faq-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px;border-radius:9px;text-decoration:none;font-size:14px;line-height:1.4;color:#d8e2ed;border:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s,color .2s}
.faq-nav a+a{margin-top:5px}
.faq-nav a span{opacity:0;font-size:16px;flex:none}
.faq-nav a:hover{background:#ffffff10;border-color:#d6e5f033;color:#fff;box-shadow:0 4px 20px #f4d7990d}
.faq-nav a[aria-current="location"]{background:linear-gradient(135deg,#ffffff1a,#ffffff0b);border-color:#d6e5f066;color:#fff7e6;box-shadow:inset 0 1px 0 #ffffff18,0 0 22px #f4d79914;font-weight:650}
.faq-nav a[aria-current="location"] span{opacity:1}
.faq-group>h3{scroll-margin-top:30px;margin-top:30px}
.faq-group:first-child>h3{margin-top:0}
.questions details[data-current]{background:linear-gradient(#ffffff06,#ffffff06),linear-gradient(115deg,#40576a,#62788a 45%,#3a5268);box-shadow:inset 0 1px 0 #ffffff42,inset 0 -1px 0 #091d3c40,0 0 22px #d6e5f01c,0 3px 7px #0002}
.faq-groups{min-width:0}
@media(max-width:800px){
 .questions{margin-inline:auto}
 .faq-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .faq-nav{top:8px;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;border-radius:12px}
 .faq-nav-label,.faq-nav a span{display:none}
 .faq-nav a{min-height:48px;padding:7px 4px;justify-content:center;text-align:center;font-size:12px;line-height:1.3}
 .faq-nav a+a{margin-top:0}
 .faq-group>h3{scroll-margin-top:90px}
 .questions>h2{margin-bottom:20px;margin-left:0}
}
@media(forced-colors:active){.faq-nav a[aria-current="location"],.questions details[data-current]{outline:2px solid Highlight}}

@media(prefers-reduced-motion:reduce){.faq-nav a{transition:none}}

/* Anchor destinations remain focusable without a browser focus frame. */
.faq-group>h3[tabindex="-1"]:focus{outline:none}

/* Center the reading column independently of the desktop category rail. */
@media(min-width:1101px){
 .questions{max-width:none;margin-inline:0}
 .questions>h2{width:min(720px,calc(100% - 448px));margin-left:auto;margin-right:auto}
 .faq-layout{grid-template-columns:200px minmax(0,720px) 200px;gap:24px;justify-content:center}
}

.contact-attachments{margin:0 0 22px}
#add-attachments{width:auto;min-height:42px;padding:9px 14px;border:1px solid #68829480;border-radius:9px;background:#ffffff55;color:#29495d;font:inherit;font-size:14px;cursor:pointer}
#attachment-picker[hidden]{display:none}
#attachment-list{list-style:none;padding:0;margin:8px 0}
#attachment-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #68829433;font-size:13px}
#attachment-list span{min-width:0;overflow-wrap:anywhere;flex:1}
#attachment-list button{width:auto;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:#29495d;cursor:pointer;font:inherit}
#attachment-error{color:#912824;font-size:13px;margin:0}
.contact-attachments .field-help{margin:8px 0;font-size:12px}

/* Soft attachment-control highlights without layout movement. */
#add-attachments,#attachment-list button{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
@media(hover:hover){
 #add-attachments:hover:not(:disabled),#attachment-list button:hover:not(:disabled){background-color:#ffffffa6;border-color:#68829499;box-shadow:0 0 12px #ffffff70,inset 0 1px 0 #ffffffcc}
}
#add-attachments:focus-visible:not(:disabled),#attachment-list button:focus-visible:not(:disabled){background-color:#ffffffa6;border-color:#68829499;box-shadow:0 0 12px #ffffff70,inset 0 1px 0 #ffffffcc}
#add-attachments:active:not(:disabled),#attachment-list button:active:not(:disabled){background-color:#ffffff80;box-shadow:inset 0 1px 3px #29495d26}
#add-attachments:disabled,#attachment-list button:disabled{opacity:.55;cursor:default;box-shadow:none}
@media(prefers-reduced-motion:reduce){#add-attachments,#attachment-list button{transition:none}}

/* Focus is a soft light on the field itself, not an extra outer ring. */
.message-panel :is(input,select,textarea):focus{outline:none;border-color:#688294;background-color:#ffffff;box-shadow:0 0 18px #ffffffb3,0 0 6px #ffffff80,inset 0 1px 3px #23374712}
@media(forced-colors:active){.message-panel :is(input,select,textarea):focus{outline:2px solid Highlight;outline-offset:2px}}
