/* v6 — dedicated hero and contact styles. */
.hero-editorial{position:relative;min-width:0;min-height:400px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border:1px solid #dbe5ed;background:#f3f7fa}
.editorial-top,.editorial-bottom>span{position:relative;z-index:2;font:700 10px/1.5 'DM Sans',sans-serif;letter-spacing:.15em;color:#71879b}
.editorial-top{display:flex;justify-content:space-between;align-items:center}.editorial-cross{font-size:22px;color:#d43b47}
.editorial-art{position:absolute;inset:12% -22% 9% 8%;pointer-events:none}.editorial-orbit{position:absolute;display:block;border:1px solid #c6d8e6;border-radius:50%}.orbit-one{width:310px;height:310px;top:0;left:15%}.orbit-two{width:235px;height:235px;top:38px;left:calc(15% + 38px)}.orbit-three{width:160px;height:160px;top:76px;left:calc(15% + 76px)}.editorial-core{position:absolute;top:132px;left:calc(15% + 132px);width:46px;height:46px;background:#1374bc;border-radius:50%;box-shadow:0 0 0 15px rgba(19,116,188,.08)}
.editorial-bottom{position:relative;z-index:2}.editorial-bottom p{font:800 clamp(26px,2.8vw,37px)/1.19 Manrope,sans-serif;letter-spacing:-.055em;color:#142b40;margin:0 0 24px}.editorial-bottom p em{font-style:normal;color:#1178d4}
.contact-section .contact-grid{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;gap:clamp(32px,6vw,80px)!important;align-items:center!important}.contact-section .contact-intro{min-width:0;padding:0}
.contact-section .contact-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:600px;padding:clamp(24px,3.5vw,42px)!important;background:#fff!important;color:#172e43!important;border:1px solid #e2e8ef!important;border-radius:8px!important;box-shadow:0 18px 45px rgba(0,0,0,.08)!important}
.contact-section .contact-card-heading{margin:0 0 26px!important}.contact-section .contact-card-eyebrow{display:block;color:#1178d4!important;font:700 10px/1.4 'DM Sans',sans-serif;letter-spacing:.14em}.contact-section .contact-card h3{margin:8px 0 7px!important;color:#172e43!important;font:800 25px/1.25 Manrope,sans-serif!important;letter-spacing:-.045em}.contact-section .contact-card-heading p{margin:0!important;color:#6a7d8f!important;font:400 13px/1.6 'DM Sans',sans-serif!important}
.contact-section form.contact-form{display:flex!important;flex-direction:column!important;gap:20px!important;margin:0!important}.contact-section .contact-form .contact-honeypot{display:none!important}.contact-section .contact-form .contact-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.contact-section .contact-form .form-field{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;margin:0!important;padding:0!important;width:100%!important;min-width:0!important}.contact-section .contact-form .form-field label{display:block!important;width:auto!important;margin:0!important;padding:0!important;color:#273e52!important;font:700 12px/1.5 'DM Sans',sans-serif!important;text-align:left!important}
.contact-section .contact-form .form-field input,.contact-section .contact-form .form-field textarea{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:13px 15px!important;border:1px solid #ccd8e2!important;border-radius:5px!important;background:#fff!important;color:#172e43!important;font:400 14px/1.5 'DM Sans',sans-serif!important;text-align:left!important;vertical-align:top!important;box-shadow:none!important;appearance:none}.contact-section .contact-form .form-field input{height:48px!important}.contact-section .contact-form .form-field textarea{height:156px!important;min-height:156px!important;resize:vertical!important}.contact-section .contact-form .form-field input::placeholder,.contact-section .contact-form .form-field textarea::placeholder{color:#91a1af!important;opacity:1!important}.contact-section .contact-form .form-field input:focus,.contact-section .contact-form .form-field textarea:focus{outline:none!important;border-color:#1178d4!important;box-shadow:0 0 0 3px rgba(17,120,212,.12)!important}
.contact-section .contact-verification{max-width:100%;min-height:65px;overflow:hidden}.contact-section .contact-submit-row{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:14px!important}.contact-section .contact-privacy{color:#7a8998!important;font-size:11px!important}.contact-section .contact-submit-row button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;min-height:48px!important;margin:0!important;padding:12px 19px!important;border:0!important;border-radius:5px!important;background:#10263c!important;color:white!important;font:700 13px/1.5 'DM Sans',sans-serif!important;cursor:pointer}.contact-section .contact-submit-row button:hover{background:#1178d4!important}
@media(max-width:900px){.contact-section .contact-grid{grid-template-columns:1fr!important;align-items:start!important}.contact-section .contact-card{max-width:none}.hero-editorial{min-height:330px}}@media(max-width:580px){.contact-section .contact-form .contact-fields{grid-template-columns:1fr!important}.contact-section .contact-submit-row button{width:100%!important}.hero-editorial{padding:24px}}


/* v7: compact contact section; preserve comfortable, accessible controls. */
.contact-section { padding: 44px 0 !important; }
.contact-section .contact-grid { align-items: center !important; gap: clamp(24px,4vw,56px) !important; }
.contact-section .contact-intro h2 { font-size: clamp(31px,3.4vw,46px) !important; margin: 12px 0 14px !important; }
.contact-section .contact-intro p { line-height:1.65 !important; margin-bottom:12px !important; }
.contact-section .contact-github { margin-top:10px !important; }
.contact-section .contact-card { padding: 22px 26px !important; }
.contact-section .contact-card-heading { margin-bottom: 15px !important; }
.contact-section .contact-card h3 { font-size:22px !important; margin:4px 0 4px !important; }
.contact-section form.contact-form { gap:12px !important; }
.contact-section .contact-form .contact-fields { gap:12px !important; }
.contact-section .contact-form .form-field { gap:5px !important; }
.contact-section .contact-form .form-field input { height:42px !important; padding:9px 12px !important; }
.contact-section .contact-form .form-field textarea { height:92px !important; min-height:92px !important; padding:10px 12px !important; }
.contact-section .contact-verification { min-height:65px !important; }
.contact-section .contact-submit-row { padding-top:10px !important; border-top:1px solid #e4eaf0; }
.contact-section .contact-submit-row button { min-height:42px !important; padding:9px 15px !important; }
@media(max-width:900px) { .contact-section { padding:46px 0 !important; } }
@media(max-width:580px) { .contact-section .contact-card { padding:20px !important; } .contact-section .contact-form .form-field textarea { height:110px !important; min-height:110px !important; } }
