/* Scoped exclusively to the Contact hero. */
.contact-page .contact-hero { min-height:620px; display:flex; align-items:center; position:relative; isolation:isolate; overflow:hidden; background:#fafcfd; padding:clamp(2.5rem,4.5vw,4rem) 0; }
.contact-hero::before { content:''; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse at 78% 45%,#009ecb0d,transparent 52%),linear-gradient(110deg,#fff 25%,#fafcfd); }
.contact-hero::after { content:''; position:absolute; inset:0 0 0 45%; z-index:-1; opacity:.32; background-image:linear-gradient(#007ea50a 1px,transparent 1px),linear-gradient(90deg,#007ea50a 1px,transparent 1px),radial-gradient(circle,#007ea529 1px,transparent 1.5px); background-size:48px 48px,48px 48px,96px 96px; mask-image:radial-gradient(ellipse,#000,transparent 75%); }
.contact-hero .contact-hero-grid { grid-template-columns:minmax(0,52fr) minmax(0,48fr); gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.contact-hero .contact-eyebrow { display:flex; align-items:center; gap:.75rem; letter-spacing:.19em; font-size:.7rem; margin-bottom:1.4rem; }.contact-hero .contact-eyebrow::before { content:''; width:29px; height:2px; background:var(--logo-blue); }
.contact-hero h1 { max-width:none; font-size:clamp(2.2rem,3.85vw,3.45rem); line-height:1.12; font-weight:750; letter-spacing:-.045em; margin-bottom:1.5rem; }.contact-hero .hero-ozone-accent { color:var(--color-accent); }.contact-hero .contact-lead { max-width:48ch; font-size:1rem; line-height:1.85; margin:0 0 1.8rem; }.contact-hero .contact-actions { gap:.8rem; }.contact-hero .button { min-height:49px; }.contact-hero .button-secondary { background:#ffffffd9; border-color:#aac4d3; }
.contact-hero .contact-visual { position:relative; background:linear-gradient(135deg,#ffffffed,#f4fafdF5); border:1px solid #cbdfe9; border-radius:16px; padding:1.5rem 1.6rem 1.15rem; box-shadow:0 18px 45px #007ea50b,0 2px 8px #10263804; }
.contact-hero .contact-visual-heading { position:relative; font-size:.59rem; letter-spacing:.15em; color:#487b92; border-color:#dce8ee; padding-bottom:.9rem; }.contact-hero .contact-visual-stack { position:relative; padding-top:1rem; }.contact-hero .visual-stage { position:relative; background:#ffffffd9; border:1px solid #dde8ef; border-radius:7px; min-height:64px; padding:.8rem 1rem; gap:.7rem; z-index:1; }.contact-hero .visual-number { width:24px; color:#508ba4; font-size:.64rem; }.contact-hero .visual-stage strong { font-size:.73rem; letter-spacing:.075em; }.contact-hero .visual-stage > div > span { font-size:.66rem; line-height:1.6; }.contact-hero .visual-connector { position:relative; height:22px; line-height:22px; font-size:.85rem; color:#82b1c5; margin-left:1.1rem; width:24px; }
.contact-hero .visual-stage--core { min-height:91px; background:linear-gradient(110deg,#eaf6fc,#f3fafd); border-color:#9fc8db; box-shadow:inset 3px 0 #009ecb66; }.contact-hero .visual-stage--core svg { width:63px; flex-shrink:0; color:var(--color-accent); }.contact-hero .visual-stage--core strong { color:var(--color-accent); font-size:.9rem; }.contact-hero .hero-reaction { color:#6c93a6; font-size:.59rem; letter-spacing:.1em; margin-top:.15rem; }
.contact-hero .hero-flow-line { position:absolute; top:1.2rem; bottom:1rem; left:28px; width:1px; background:#bdd9e6; overflow:hidden; }.contact-hero .hero-flow-line::after { content:''; position:absolute; left:0; top:-20%; height:24%; width:1px; background:linear-gradient(transparent,#009ecbb3,transparent); }
.contact-hero .hero-annotations { display:flex; justify-content:space-between; gap:.5rem; margin-top:1rem; border-top:1px solid #dce8ee; padding-top:.85rem; color:#6b94a6; font-size:.52rem; letter-spacing:.13em; }.contact-hero .hero-annotations span::before { content:'+'; color:#9bc4d5; margin-right:.3rem; }
.contact-hero .hero-particles { position:absolute; inset:-30px; z-index:-1; pointer-events:none; }.contact-hero .hero-particles i { position:absolute; width:3px; height:3px; border-radius:50%; background:#009ecb; opacity:.17; }.hero-particles i:nth-child(1){left:8%;top:10%}.hero-particles i:nth-child(2){left:91%;top:18%}.hero-particles i:nth-child(3){left:2%;top:49%}.hero-particles i:nth-child(4){left:96%;top:70%}.hero-particles i:nth-child(5){left:20%;top:95%}.hero-particles i:nth-child(6){left:74%;top:2%}.hero-particles i:nth-child(7){left:64%;top:97%}.hero-particles i:nth-child(8){left:99%;top:41%}
@media(prefers-reduced-motion:no-preference) {
 .contact-hero [data-contact-reveal] { animation:none; }
 .contact-hero .contact-eyebrow,.contact-hero h1,.contact-hero .contact-lead,.contact-hero .contact-actions { animation:hero-contact-up .45s ease-out both; }
 .contact-hero h1 { animation-delay:.06s; }.contact-hero .contact-lead { animation-delay:.12s; }.contact-hero .contact-actions { animation-delay:.18s; }
 .contact-hero .contact-visual { animation:hero-contact-panel .55s ease-out both; }
 .contact-hero .hero-flow-line::after { animation:hero-ozone-flow 6s linear infinite; }
 .contact-hero .visual-stage--core svg { animation:hero-molecule-pulse 6s ease-in-out infinite; }
 .contact-hero .visual-stage--core svg path { stroke-dasharray:5 3; animation:hero-molecule-line 6s linear infinite; }
 .contact-hero .hero-particles i { animation:hero-particle-drift 14s ease-in-out infinite alternate; }.contact-hero .hero-particles i:nth-child(even) { animation-delay:-7s; animation-duration:18s; }
 .contact-hero .button { transition:transform .18s,box-shadow .18s; }.contact-hero .button span { transition:transform .18s; }
 @media(hover:hover) { .contact-hero .button[href]:hover { transform:translateY(-2px); }.contact-hero .button:hover span { transform:translateX(4px); } }
}
@keyframes hero-contact-up { from { opacity:0;transform:translateY(8px) } to { opacity:1;transform:none } }@keyframes hero-contact-panel { from { opacity:0;transform:translateX(20px) } to { opacity:1;transform:none } }@keyframes hero-ozone-flow { to { top:110% } }@keyframes hero-molecule-pulse { 50% { opacity:.78;filter:drop-shadow(0 0 3px #009ecb22); } }@keyframes hero-molecule-line { to { stroke-dashoffset:-16 } }@keyframes hero-particle-drift { to { transform:translate(4px,-8px);opacity:.1 } }
@media(max-width:1050px) { .contact-hero .contact-hero-grid { gap:1.8rem; }.contact-hero .contact-visual { padding:1.2rem; }.contact-hero h1 { font-size:clamp(2rem,3.7vw,3rem); }.contact-hero .visual-stage { padding:.65rem .7rem; gap:.45rem; }.contact-hero .visual-stage--core svg { width:46px; }.contact-hero .visual-stage > div > span { font-size:.6rem; }.contact-hero .visual-stage--core strong { font-size:.76rem; } }
@media(max-width:760px) { .contact-page .contact-hero { min-height:0; padding:2.8rem 0; }.contact-hero .contact-hero-grid { grid-template-columns:1fr; gap:2.5rem; }.contact-hero h1 { font-size:clamp(2.2rem,6.7vw,3.1rem); }.contact-hero .contact-lead { max-width:50ch; }.contact-hero .contact-visual { max-width:34rem; width:100%; justify-self:center; }.contact-hero .hero-particles { display:none; }.contact-hero::after { inset:35% 0 0; }.contact-hero .visual-stage--core svg { animation:none; }.contact-hero .visual-stage--core svg path { animation:none; stroke-dasharray:none; }.contact-hero .hero-flow-line::after { animation-duration:7s; }.contact-hero .visual-stage > div > span { font-size:.65rem; }.contact-hero .visual-stage strong { font-size:.74rem; } }
@media(prefers-reduced-motion:reduce) { .contact-hero *,.contact-hero *::before,.contact-hero *::after { animation:none!important;transition:none!important; }.contact-hero .hero-flow-line::after { top:40%; }.contact-hero .visual-stage--core svg path { stroke-dasharray:none; } }
