@font-face{font-family:Roboto;src:url("/assets/fonts/roboto-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url("/assets/fonts/roboto-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Roboto;src:url("/assets/fonts/roboto-700.woff2") format("woff2");font-weight:700;font-display:swap}
.contact-page{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:#fff;overflow-x:hidden}
.contact-page .contact-header{box-shadow:0 1px 0 rgba(255,255,255,.07)}
.contact-hero{position:relative;overflow:hidden}
.contact-hero:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-42px;height:82px;background:#fff;border-radius:50% 50% 0 0/80% 80% 0 0}
.contact-hero-copy,.contact-steps{position:relative;z-index:1}
.contact-hero-copy h1 em{font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:700;color:#149cff}
.contact-steps{border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.contact-steps article{min-width:0}
.briefing{max-width:1540px;margin:0 auto}
.briefing-copy blockquote{font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:500;border-left:0;padding-left:0;color:#17496b}
.briefing-form{border-radius:24px;box-shadow:0 24px 70px rgba(13,48,70,.08)}
input,textarea,select{min-width:0}
input[type=file]{max-width:100%}
.file-drop input::file-selector-button{border:0;border-radius:999px;background:#061a29;color:#fff;padding:10px 14px;margin-right:12px;font:600 13px Roboto,Arial,sans-serif;cursor:pointer}
@media(max-width:900px){
 .contact-page .contact-header{height:72px;position:sticky;top:0}.contact-page .site-logo{width:158px;height:50px}
 .contact-page .main-nav{top:72px}
 .contact-hero{padding:58px 24px 62px;min-height:0;gap:34px;background-position:62% center}
 .contact-hero-copy{max-width:720px}.contact-hero-copy h1{font-size:clamp(3rem,10vw,5.2rem);max-width:760px}
 .trust-row{gap:0;margin-top:22px}.trust-row span{border:0;padding:0;font-size:12px;letter-spacing:0;color:#d5e4eb}
 .trust-row span:not(:last-child):after{content:"•";padding:0 10px;color:#149cff}
 .contact-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:rgba(4,23,37,.72);border:1px solid rgba(255,255,255,.14);box-shadow:none}
 .contact-steps article{display:block;padding:18px 16px;background:transparent;border-right:1px solid rgba(255,255,255,.12)}
 .contact-steps article:last-child{border-right:0}.contact-steps b{display:block;margin-bottom:8px}.contact-steps h2{font-size:1rem;line-height:1.15}.contact-steps p{font-size:.82rem;line-height:1.35}
 .briefing{padding:46px 24px 72px;gap:34px}.briefing-copy{max-width:720px}.briefing-copy h2{font-size:clamp(2.7rem,8vw,4.5rem)}
 .briefing-copy blockquote{margin-top:24px;font-size:1.15rem}
 .briefing-form{padding:28px;border-radius:20px}
}
@media(max-width:620px){
 .contact-page .contact-header{padding:0 16px}.contact-page .site-logo{width:146px}.contact-page .menu-toggle{padding:8px;margin-right:-8px}
 .contact-hero{padding:42px 18px 54px;gap:28px;background:linear-gradient(105deg,rgba(3,17,29,.97),rgba(3,17,29,.78)),url("../../uploads/hero-night.png") 64% center/cover no-repeat}
 .contact-hero:after{bottom:-33px;height:58px}
 .contact-hero-copy .eyebrow{font-size:9px;letter-spacing:.17em;line-height:1.5}
 .contact-hero-copy h1{font-size:clamp(2.8rem,15vw,4.1rem);line-height:.92;letter-spacing:-.045em;margin:12px 0 18px}
 .contact-hero-copy>p{font-size:.98rem;line-height:1.55;margin:0}
 .trust-row{display:flex;line-height:1.8}.trust-row span{font-size:11px}
 .contact-steps{grid-template-columns:1fr;border-radius:16px;overflow:hidden}
 .contact-steps article{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:14px 14px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
 .contact-steps article:last-child{border-bottom:0}.contact-steps b{margin:2px 0 0}.contact-steps h2{font-size:.98rem;margin:0 0 2px}.contact-steps p{font-size:.78rem}
 .briefing{padding:38px 18px 60px;display:block}.briefing-copy{margin-bottom:32px}.briefing-copy .eyebrow{font-size:9px}.briefing-copy h2{font-size:clamp(2.45rem,12vw,3.6rem);margin:8px 0 15px}.briefing-copy>p{font-size:.95rem;line-height:1.55}.briefing-copy blockquote{font-size:1rem;line-height:1.5;margin:18px 0 0;padding:14px 16px;background:#eef7fd;border-radius:14px}
 .briefing-form{background:transparent;border:0;box-shadow:none;padding:0}.briefing-form form{gap:20px}
 .form-heading{grid-template-columns:36px 1fr;gap:11px;padding-top:22px;margin-top:6px}.form-heading>b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e7f4ff;font-size:11px}.form-heading h3{font-size:1.25rem;line-height:1.15}
 .form-grid{grid-template-columns:1fr;gap:14px}label{font-size:13px}input,textarea,select{font-size:16px;min-height:52px;padding:14px;border-radius:12px;background:#fff}textarea{min-height:150px}
 .choice-fieldset legend{margin-bottom:10px}.project-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px}.project-choices label{min-width:0}.project-choices span,.choice span{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px;border-radius:12px;font-size:12px}
 .attachment-box{padding:18px;border-radius:16px;background:#f4f9fc}.attachment-box h3{font-size:1.15rem}.attachment-box p{font-size:.88rem;line-height:1.45}.file-drop{display:block;border-radius:14px;padding:14px}.file-drop input{width:100%;margin:0 0 8px;font-size:13px}.file-drop small{display:block}
 .choice-row{display:grid;grid-template-columns:1fr;gap:9px}.choice span{justify-content:flex-start;padding-left:14px}
 .availability-note{line-height:1.5}.submit-row{gap:14px}.submit-row .button{width:100%;min-height:54px;border-radius:999px;font-size:14px}.submit-row p{font-size:11px;line-height:1.45}
 .success{padding:38px 10px}.success h2{font-size:2rem}
 .contact-page .site-footer{padding:28px 18px}.contact-page .site-footer{display:grid;grid-template-columns:1fr;gap:22px}.contact-page .footer-logo{width:160px;height:auto}.contact-page .site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;justify-self:stretch}.contact-page .footer-meta{text-align:left;display:grid;gap:10px}
}
@media(max-width:390px){
 .contact-hero{padding-left:15px;padding-right:15px}.briefing{padding-left:15px;padding-right:15px}
 .contact-hero-copy h1{font-size:2.65rem}.trust-row span:not(:last-child):after{padding:0 6px}
 .project-choices{grid-template-columns:1fr}
}

/* v26 WCAG contrast refinement */
.briefing .eyebrow,.attachment-box .eyebrow{color:#365a70}
.contact-hero-copy .eyebrow{color:#dbe9f0}
@media(max-width:620px){.briefing-copy .eyebrow,.attachment-box .eyebrow{color:#365a70}.trust-row span{font-size:12px}}

/* v27 mobile attachment contrast */
.attachment-box p{color:#53626b}

/* v29 contact footer alignment */
.contact-page .site-footer{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:30px;padding:30px var(--page-pad);background:#02101a}
.contact-page .footer-logo{display:block;width:180px;height:auto}
.contact-page .footer-logo img{display:block;width:100%;height:auto;object-fit:contain}
.contact-page .site-footer nav{justify-self:center;display:flex;align-items:center;justify-content:center;gap:18px 24px;flex-wrap:wrap}
.contact-page .site-footer nav a,.contact-page .site-footer nav button{font-size:12px}
.contact-page .footer-meta{text-align:right;color:#d5e0e6;line-height:1.5}
.contact-page .footer-meta small{display:block;margin-top:8px;color:#91a5b0;white-space:normal}
@media(max-width:900px){
 .contact-page .site-footer{grid-template-columns:170px 1fr;align-items:start}
 .contact-page .footer-logo{width:160px}
 .contact-page .site-footer nav{justify-self:end;justify-content:flex-end}
 .contact-page .footer-meta{grid-column:1/-1;text-align:left}
}
@media(max-width:620px){
 .contact-page .site-footer{grid-template-columns:1fr;gap:20px;padding:30px 18px}
 .contact-page .footer-logo{width:160px}
 .contact-page .site-footer nav{justify-self:stretch;justify-content:start;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
 .contact-page .footer-meta{grid-column:auto;text-align:left;margin-top:4px}
}
