/* Vantyan usability improvements, shared across all six pages. */
body p { text-align:left !important; text-justify:auto; text-align-last:auto; hyphens:none; }
header .logo-taglines,header .logo-divider { display:none !important; }
header .logo img { height:68px !important; }
header .nav { gap:24px; }
main,main > section { min-width:0; }
section[id] { scroll-margin-top:132px; }
.skip-link { position:fixed; top:8px; left:12px; z-index:500; padding:10px 16px; background:var(--navy); color:white; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.service-contact { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; padding:8px 0; border:0; background:none; font:600 14px/1.5 'Inter',sans-serif; color:var(--brand-blue); cursor:pointer; text-align:left; }
.service-contact:hover { text-decoration:underline; text-underline-offset:4px; }
.service-contact:focus-visible,summary:focus-visible { outline:2px solid var(--brand-blue); outline-offset:4px; }
.business-services article,.plat-card { display:flex; flex-direction:column; }
.service-copy { flex:1; display:flex; flex-direction:column; }
.service-copy .service-contact,.plat-card > .service-contact { margin-top:auto; padding-top:20px; }
.faq-section { padding:56px 0; border-top:1px solid var(--line); background:var(--paper-dim); }
.faq-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:48px; }
.faq-section h2 { font-size:clamp(24px,3vw,32px); line-height:1.25; }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list details:first-child { border-top:1px solid var(--line); }
.faq-list summary { cursor:pointer; padding:18px 26px 18px 0; font-weight:600; color:var(--navy); }
.faq-list p { padding:0 0 20px; color:var(--ink-soft); max-width:65ch; }
.faq-list details[open] summary { color:var(--brand-blue); }
#why .section-head { margin-bottom:28px; }
#about.compact-about { padding:48px 0; }
.about-more { display:inline-block; color:var(--brand-blue); text-decoration:underline; margin-top:16px; }
@media(max-width:880px) {
 header .logo img { height:58px !important; }
 .hero-grid .diagram-frame { order:0; }
 .hero-grid { gap:32px; }
 .faq-layout { grid-template-columns:1fr; gap:24px; }
 section[id] { scroll-margin-top:110px; }
}
@media(max-width:680px) {
 .flow-diagram { flex-direction:column; align-items:stretch; gap:10px; }
 .flow-node { flex:none; min-width:0; width:100%; }
 .flow-arrow { align-self:center; margin:2px auto; transform:rotate(90deg); }
 .business-hero { padding:36px 0; }
 .business-hero .bridge-line { font-size:15px; }
 .hero { padding:36px 0 48px; }
 .faq-section { padding:40px 0; }
 .modal-overlay { padding:14px; }
 .modal-box { padding:28px 22px; max-height:calc(100dvh - 28px); }
 .modal-close { min-width:36px; min-height:36px; top:8px; right:8px; }
 .modal-box h3 { padding-right:28px; }
 .form-row input,.form-row textarea,.form-row select { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .flow-arrow circle { display:none; } }

/* Full engineering identity where the header has room; compact on smaller screens. */
@media(min-width:1120px) {
 .engineering-page header .logo-divider { display:block !important; }
 .engineering-page header .logo-taglines { display:flex !important; }
 .engineering-page header .logo-taglines .tl1 { font-size:12px; white-space:nowrap; }
 .engineering-page header .logo-taglines .tl2 { font-size:11px; white-space:nowrap; }
}
