/* Shared usability fixes, loaded after page-specific styles. */
:root { --adq-ink:#101c2e; --adq-blue:#1e6fff; --adq-muted:#536176; --adq-line:#dde4ed; }
.home-hero-content { min-height: min(760px, calc(100svh - 72px)); padding-top:72px; padding-bottom:72px; }
.home-hero h1 { font-size:clamp(2.9rem,5.7vw,5.2rem); letter-spacing:-.045em; line-height:1.04; }
.home-hero .home-hero-content > div { max-width:780px; }
.home-hero .home-hero-content > div > p { max-width:610px; }
.home-hero > div:last-child { margin-top:0; padding-top:28px; padding-bottom:32px; }
.selection-section,.application-gallery,.technical-section { padding:80px 24px; background:#f5f7fa; color:var(--adq-ink); }
.selection-wrap { max-width:1280px; margin:0 auto; }
.eyebrow { font-size:11px; font-weight:650; line-height:1.6; letter-spacing:.14em; color:#1957bb; }
.section-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.section-intro h2,.technical-section h2 { font-size:clamp(1.75rem,3vw,2.5rem); line-height:1.15; letter-spacing:-.025em; font-weight:650; margin-top:12px; }
.section-intro > p { max-width:420px; color:var(--adq-muted); font-size:15px; line-height:1.7; }
.material-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.material-choice { display:flex; flex-direction:column; padding:26px; background:#fff; border:1px solid var(--adq-line); border-radius:10px; transition:border-color .2s,box-shadow .2s; }
.material-choice:hover { border-color:#1e6fff; box-shadow:0 8px 24px #142b4b0c; }
.choice-number { font-size:12px; color:#78879a; font-variant-numeric:tabular-nums; }
.material-choice h3 { font-size:19px; font-weight:650; margin-top:18px; letter-spacing:-.015em; }
.material-choice p { color:var(--adq-muted); font-size:14px; line-height:1.65; margin-top:8px; }
.choice-link { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:24px; margin-top:auto; color:#1957bb; font-weight:600; font-size:14px; }
.product-hero nav[aria-label="Breadcrumb"] { padding-top:24px; }
.product-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:64px; padding:12px 0 0; }
.product-hero-copy { margin-top:24px; }
.product-hero-copy h1 { font-size:clamp(2.2rem,3.8vw,3.7rem); font-weight:650; letter-spacing:-.035em; }
.product-hero-copy > p { font-size:17px; }
.product-hero-image { padding:24px; margin-top:28px; border-radius:12px; background:#fff; color:var(--adq-muted); }
.product-hero-image img { width:100%; height:340px; object-fit:contain; display:block; }
.product-hero-image figcaption { font-size:11px; line-height:1.6; text-align:center; margin-top:12px; }
.product-facts { display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; margin-top:32px; padding-top:24px; border-top:1px solid #ffffff26; }
.product-facts > div:last-child { grid-column:1/-1; }
.product-facts dt { color:#aebbd0; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.product-facts dd { color:#fff; font-size:15px; font-weight:550; margin-top:6px; }
.product-jump { position:sticky; top:72px; z-index:30; border-bottom:1px solid var(--adq-line); background:#fff; color:var(--adq-ink); }
.product-jump > div { display:flex; gap:28px; align-items:center; max-width:1344px; padding:0 24px; margin:auto; overflow-x:auto; scrollbar-width:thin; }
.product-jump a { flex-shrink:0; font-size:13px; font-weight:600; padding:19px 0; }
.product-jump a:hover { color:#1957bb; }
.product-jump .jump-cta { margin-left:auto; color:#1957bb; }
.product-page section[id] { scroll-margin-top:140px; }
.product-page > section:not(.product-hero):not(.technical-section) { padding-top:64px; padding-bottom:64px; }
.product-page #specifications .mt-10 { margin-top:28px; }
.technical-section { background:#f5f7fa; }
.technical-intro { color:var(--adq-muted); line-height:1.7; margin:16px 0 30px; }
.technical-detail { border-top:1px solid #cfd8e5; }
.technical-detail:last-child { border-bottom:1px solid #cfd8e5; }
.technical-detail summary { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:24px 0; font-size:18px; font-weight:600; cursor:pointer; list-style:none; }
.technical-detail summary::-webkit-details-marker { display:none; }
.technical-detail summary > span { font-size:24px; color:#1957bb; }
.technical-detail[open] summary > span { transform:rotate(45deg); }
.technical-detail > div { padding-bottom:28px; }
.technical-detail > div > div { padding-left:0; padding-right:0; }
.technical-detail .laser-line,.technical-detail .max-w-3xl { display:none; }
.technical-detail .mt-10,.technical-detail p.mt-6 { margin-top:16px; }
.application-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.application-card { border:1px solid var(--adq-line); border-radius:12px; background:#fff; overflow:hidden; display:flex; flex-direction:column; }
.application-photo { aspect-ratio:4/3; overflow:hidden; background:#eef1f5; }
.application-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.application-photo img[src*="medical"] { object-position:left center; }
.application-copy { padding:26px; display:flex; flex-direction:column; flex:1; }
.application-copy h3,.application-test h3 { font-size:21px; font-weight:650; line-height:1.3; letter-spacing:-.02em; margin:12px 0 20px; }
.application-copy dt { font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; color:#6b7685; margin-top:16px; }
.application-copy dd { font-size:14px; line-height:1.65; color:var(--adq-muted); margin-top:6px; }
.application-copy > a { display:flex; justify-content:space-between; gap:12px; font-size:13px; font-weight:600; color:#1957bb; margin-top:auto; padding-top:26px; }
.application-test { padding:32px; justify-content:center; background:#10233f; color:#fff; border-color:#10233f; }
.application-test .eyebrow { color:#8ab5ff; }
.application-test h3 { font-size:30px; }
.application-test > p:not(.eyebrow) { color:#c1cfdf; font-size:15px; line-height:1.8; }
.application-test > a { margin-top:32px; align-self:flex-start; }
@media(max-width:1000px) {
 .product-hero-grid { gap:32px; }
 .product-hero-image img { height:280px; }
 .application-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .product-jump > div { gap:22px; }
}
@media(max-width:700px) {
 .home-hero-content { min-height:620px; padding-top:64px; padding-bottom:48px; }
 .home-hero h1 { font-size:clamp(2.8rem,11vw,3.7rem); }
 .selection-section,.application-gallery,.technical-section { padding:56px 24px; }
 .section-intro { display:block; }
 .section-intro > p { margin-top:20px; }
 .material-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .material-choice { padding:18px; }
 .material-choice h3 { font-size:17px; }
 .material-choice p,.choice-link { font-size:12px; }
 .product-hero-grid { grid-template-columns:1fr; gap:24px; }
 .product-hero-image { margin-top:0; padding:20px; }
 .product-hero-image img { height:260px; }
 .product-hero-copy h1 { font-size:2.5rem; }
 .product-hero-copy .mt-10 { margin-top:24px; }
 .product-jump > div { padding:0 24px; gap:24px; }
 .product-jump a { padding:16px 0; }
 .product-page > section:not(.product-hero):not(.technical-section) { padding-top:48px; padding-bottom:48px; }
 .application-grid { grid-template-columns:1fr; }
 .technical-detail summary { font-size:16px; }
}
html { scroll-padding-top: 88px; }
body { overflow-x: clip; }
main { min-height: 50vh; }
main:focus { outline: none; }
.reveal, .reveal.is-visible, .js .rows-reveal tr { opacity: 1; transform: none; }
.logo-footer .logo-text { color: #fff; clip-path: none; animation: none; }
.logo-text { clip-path: none; animation: none; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex="0"]:focus-visible { outline: 3px solid #1e6fff; outline-offset: 5px; border-radius: 3px; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid #1e6fff; outline-offset: 3px; }
input, textarea, select { font: inherit; }
img, video { max-width: 100%; }
/* Fill photographic card frames; preserve complete machines and documents. */
img.media-photo { width: 100%; height: auto; object-fit: contain; background: transparent; display: block; }
.img-zoom[class*="aspect-"] > img.media-photo { height: 100%; object-fit: cover; }
.img-zoom[class*="aspect-"] > img[data-image-kind="machine"] { height: 100%; object-fit: contain; background: #fff; }
img[data-image-focus="left"] { object-position: left center; }
.video-container video { background: #f5f7fa; }
video { background: #141a24; }
.skip-link { position: fixed; z-index: 100; top: -100px; left: 16px; padding: 12px 20px; background: #fff; color: #0a0e14; border: 2px solid #1e6fff; border-radius: 6px; }
.skip-link:focus { top: 12px; }
.menu-is-open { overflow: hidden; }
#mobile-menu { overflow-y: auto; overscroll-behavior: contain; height: 100dvh; }
#mobile-menu[hidden] { display: none !important; }
.drawer-products { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 12px 0 20px; }
.drawer-products a { color: #c7d2e0; padding: 10px 12px; background: #141a24; border-radius: 6px; font-size: 14px; }
.engineering-table th, .engineering-table td, .eng-table td { vertical-align: top; }
.media-toggle { margin-top: 20px; padding: 10px 16px; border: 1px solid #cbd5e1; border-radius: 6px; color: #0a0e14; font-size: 14px; cursor: pointer; background: #fff; }
.bookmark-card { cursor: pointer; }
.inquiry-note { margin-top: 14px; line-height: 1.65; font-size: 13px; }
.inquiry-preview { margin-top: 32px; padding: 24px; border: 1px solid #cbd5e1; background: #f5f7fa; border-radius: 10px; color: #0a0e14; }
.inquiry-preview[hidden] { display: none; }
.inquiry-preview textarea { display: block; width: 100%; min-height: 240px; padding: 14px; margin: 16px 0; background: #fff; border: 1px solid #cbd5e1; border-radius: 6px; line-height: 1.6; }
.inquiry-actions { display: flex; flex-wrap: wrap; gap: 12px; }
#inquiry-status { margin-top: 20px; line-height: 1.65; color: #4a5568; }
.form-input { font-size: 16px; }
footer { padding-bottom: 100px; }
footer li { overflow-wrap: anywhere; }
@media (max-width: 639px) {
  .wa-float { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); width: 48px; height: 48px; }
  .engineering-table, .eng-table { min-width: 560px; }
  .inquiry-preview { padding: 16px; }
  .inquiry-actions > * { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
  .logo-text { clip-path: none !important; }
}

.inquiry-optional { margin-top:24px; border-top:1px solid #dde4ed; padding-top:20px; }
.inquiry-optional summary { cursor:pointer; color:#1957bb; font-size:14px; font-weight:600; }
.inquiry-optional summary span { color:#6b7685; font-weight:400; }
.inquiry-optional > div { margin-top:20px; }

/* Inquiry service: the honeypot is excluded from normal interaction. */
.form-trap { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
button:disabled { cursor:not-allowed; opacity:.65; }
.fallback-link { color:#1957bb; font-size:14px; text-decoration:underline; padding:4px 0; margin-right:16px; }
#inquiry-verification { min-height:65px; }
