/* Page-owned styles. Shared navigation, footer and RFQ contract remain global. */
.on-demand-page { --od-light:#f0f5f8; }
.on-demand-page main { overflow:clip; }
.on-demand-page .btn { border-radius:2px; }
.on-demand-page main .btn--primary { background:#cf4900; border-color:#cf4900; }
.on-demand-page main .btn--primary:hover { background:#b43f00; border-color:#b43f00; }
.od-section:not(.od-dark) .eyebrow { color:#b83e00; }
.on-demand-page h2 { font-size:clamp(30px,2.6vw,38px); line-height:1.14; }
.on-demand-page h3 { font-size:19px; line-height:1.3; letter-spacing:-.02em; }
.od-section { padding:84px 0; }
.od-light { background:var(--od-light); }
.od-dark { color:#fff; background:var(--hk-navy); }
.od-dark p { color:#bdcad3; }
.od-heading { margin-bottom:34px; }
.od-heading .eyebrow { margin-bottom:12px; font-size:12px; }
.od-heading h2 { margin-bottom:16px; }
.od-heading p { max-width:740px; margin-bottom:0; font-size:16px; line-height:1.65; }
.od-heading--center { text-align:center; }
.od-heading--center p { margin-inline:auto; }
.od-icon { width:38px; height:38px; flex:0 0 38px; color:var(--hk-orange); }
.od-hero { position:relative; isolation:isolate; color:#fff; background:#071923; }
.od-hero__image { position:absolute; z-index:-2; right:0; top:0; width:58%; height:100%; object-fit:cover; object-position:58% center; }
.od-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#071923 0%,#071923 37%,rgba(7,25,35,.9) 44%,rgba(7,25,35,.15) 69%,rgba(7,25,35,0) 100%); }
.od-hero__layout { min-height:548px; display:flex; align-items:center; padding-block:70px; }
.od-hero__copy { width:55%; max-width:670px; }
.od-hero .eyebrow { margin-bottom:20px; }
.od-hero h1 { font-size:clamp(44px,3.7vw,56px); line-height:1.04; letter-spacing:-.035em; margin-bottom:24px; }
.od-hero__copy>p { color:#d4dfe7; font-size:17px; line-height:1.65; max-width:585px; }
.od-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 16px; }
.od-hero__copy .od-file-hint { font-size:12px; line-height:1.6; color:#b6c4ce; margin:0; }
.od-trust { background:#071923; color:#fff; border-top:1px solid #253a46; }
.od-trust>.container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.od-point { display:flex; align-items:flex-start; gap:16px; min-width:0; }
.od-point h3 { margin-bottom:6px; }
.od-point p { margin:0; font-size:14px; line-height:1.6; }
.od-trust .od-point { padding:24px 16px; border-right:1px solid #253a46; align-items:center; }
.od-trust .od-point:first-child { padding-left:0; }
.od-trust .od-point:last-child { border:0; }
.od-trust h3 { font-size:14px; margin-bottom:3px; }
.od-trust p { font-size:12px; color:#c4cfd7; }
.od-stage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.od-stage { position:relative; display:flex; flex-direction:column; padding:25px 24px 42px; border:1px solid var(--hk-line); background:#fff; transition:border-color .18s; }
.od-stage:hover { border-color:var(--hk-orange); }
.od-stage__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.od-stage__top .od-icon { color:#536477; width:34px; height:34px; }
.od-number { display:grid; place-items:center; width:29px; height:29px; background:var(--hk-orange); color:#fff; font-size:12px; font-weight:750; border-radius:50%; }
.od-stage h3 { font-size:18px; margin-bottom:16px; }
.od-stage h3 span { display:block; font-size:15px; margin-top:4px; }
.od-stage p { font-size:14px; line-height:1.65; margin:0; }
.od-arrow { position:absolute; right:23px; bottom:15px; color:var(--hk-orange); font-size:22px; }
.od-control-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:46px; align-items:center; }
.od-controls .od-heading h2 { max-width:640px; }
.od-controls .od-heading p { font-size:14px; }
.od-control-points { padding-left:36px; border-left:1px solid #29404e; display:grid; gap:26px; }
.od-control-points h3 { font-size:17px; }
.od-continuity { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.od-continuity>div { position:relative; text-align:center; }
.od-continuity>div:not(:last-child)::after { content:"›"; color:var(--hk-orange); position:absolute; right:-18px; top:54px; font-size:30px; }
.od-continuity img { width:100%; height:132px; object-fit:contain; background:#e9edef; margin-bottom:17px; }
.od-continuity strong { display:block; font-size:15px; }
.od-continuity span { display:block; font-size:12px; color:#bdcad3; margin-top:3px; }
.od-process-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.od-process { display:flex; flex-direction:column; border:1px solid var(--hk-line); background:#fff; }
.od-process>img { width:100%; height:155px; object-fit:cover; }
.od-process>div { padding:24px 17px 16px; flex:1; display:flex; flex-direction:column; }
.od-process h3 { font-size:17px; }
.od-process p { font-size:14px; line-height:1.7; margin-bottom:16px; }
.od-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#c74600; font-weight:700; font-size:13px; }
.od-link:hover { text-decoration:underline; text-underline-offset:4px; }
.od-process .od-link { margin-top:auto; }
.od-example-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:46px; align-items:center; }
.od-example-media>img { width:100%; height:340px; object-fit:contain; background:#fff; }
.od-example-features { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.od-example-features span { background:#e2eaf0; padding:12px 5px; text-align:center; font-size:12px; color:#405364; }
.od-example-copy>h3 { font-size:23px; margin-bottom:12px; }
.od-example-copy>p { font-size:15px; line-height:1.6; }
.od-specs { margin:20px 0 25px; font-size:14px; }
.od-specs>div { display:grid; grid-template-columns:140px 1fr; gap:14px; border-bottom:1px solid #dbe4eb; padding:9px 0; }
.od-specs dt { font-weight:650; }
.od-specs dd { margin:0; color:var(--hk-muted); }
.od-example-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.od-example-flow .od-point { gap:10px; }
.od-example-flow .od-icon { width:28px; height:28px; flex-basis:28px; }
.od-example-flow h3 { font-size:13px; }
.od-example-flow p { font-size:12px; }
.od-example-copy .od-example-note { font-size:12px; margin:22px 0 0; color:#526475; }
.od-info-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; }
.od-info { border:1px solid var(--hk-line); padding:25px 18px 22px; text-align:center; }
.od-info .od-icon { color:#2879e7; margin-bottom:14px; }
.od-info h3 { font-size:16px; margin-bottom:10px; }
.od-info p { font-size:13px; line-height:1.6; margin:0; }
.od-table-wrap { overflow-x:auto; }
.od-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; }
.od-table th,.od-table td { padding:15px 22px; text-align:left; border-bottom:1px solid #d0dfeb; }
.od-table thead { background:#1263cf; color:#fff; }
.od-table thead th:first-child { width:23%; }
.od-table tbody th { font-weight:650; }
.od-table td { color:var(--hk-muted); }
.od-table tbody tr:nth-child(even) { background:#fff; }
.od-quality-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:38px; align-items:center; }
.od-quality-grid .od-heading h2 { font-size:30px; }
.od-quality-grid .od-heading p { font-size:15px; }
.od-quality-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.od-quality-cards article { border:1px solid var(--hk-line); padding:21px 14px; }
.od-quality-cards .od-icon { color:#2879e7; width:30px; height:30px; margin-bottom:12px; }
.od-quality-cards h3 { font-size:15px; }
.od-quality-cards ul { list-style:none; padding:0; margin:0; font-size:12px; color:var(--hk-muted); line-height:1.65; }
.od-quality-cards li { position:relative; padding-left:12px; margin-top:7px; }
.od-quality-cards li::before { content:"✓"; position:absolute; left:0; color:#ca4700; font-size:10px; }
.od-quality-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.od-quality-media img { width:100%; height:194px; object-fit:cover; }
.od-engineering { padding-block:60px; }
.od-engineering .od-heading h2 { font-size:30px; }
.od-engineering .od-heading p { font-size:14px; }
.od-engineering-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }
.od-engineering-grid .od-point { gap:13px; padding-right:18px; border-right:1px solid #29404e; }
.od-engineering-grid .od-point:last-child { border:0; }
.od-engineering-grid h3 { font-size:15px; }
.od-engineering-grid p { font-size:13px; }
.od-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; align-items:start; }
.on-demand-page .od-faq-grid details { margin:0; border:1px solid var(--hk-line); border-radius:0; background:#fff; }
.on-demand-page .od-faq-grid summary { min-height:60px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 20px; font-size:15px; line-height:1.5; }
.od-faq-grid details p { font-size:14px; padding:0 20px 20px; margin:0; }
.on-demand-page .od-quote { background:var(--hk-navy); padding-block:76px; }
.od-quote .contact-shell { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:65px; align-items:center; }
.od-quote .contact-copy h2 { font-size:38px; }
.od-quote .contact-copy>p { max-width:480px; font-size:16px; color:#c5d1da; }
.od-quote .contact-benefits { margin-block:30px; }
.od-quote .contact-benefits li { font-size:14px; }
.od-quote .contact-form { box-shadow:none; border-radius:2px; padding:28px; }
.od-quote .form-group textarea { min-height:112px; }
.od-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1200px) {
 .on-demand-page .site-quick-actions { position:static; display:flex; justify-content:flex-end; gap:10px; padding:12px 18px 18px; background:var(--hk-navy); }
 .on-demand-page .site-quick-action__label { display:none; }
 .od-section { padding-block:74px; }
 .od-hero__copy { width:58%; }
 .od-hero__layout { min-height:525px; }
 .od-stage { padding-inline:19px; }
 .od-process-grid { gap:12px; }
 .od-process>div { padding-inline:13px; }
 .od-process>img { height:140px; }
 .od-control-grid,.od-example-grid { gap:30px; }
 .od-control-points { padding-left:25px; }
 .od-quality-grid { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:25px; }
 .od-quality-media img { height:210px; }
 .od-quote .contact-shell { gap:36px; }
}
@media(max-width:990px) {
 .od-hero__copy { width:65%; }
 .od-hero__image { width:60%; }
 .od-hero__layout { padding-block:65px; }
 .od-trust>.container { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .od-trust .od-point { border-bottom:1px solid #253a46; }
 .od-trust .od-point:nth-child(odd) { padding-left:0; }
 .od-trust .od-point:nth-child(even) { border-right:0; }
 .od-stage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .od-control-grid { grid-template-columns:1fr; gap:36px; }
 .od-continuity img { height:155px; }
 .od-control-points { grid-template-columns:repeat(2,minmax(0,1fr)); padding:30px 0 0; border-left:0; border-top:1px solid #29404e; }
 .od-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
 .od-process>img { height:180px; }
 .od-example-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:24px; }
 .od-example-media>img { height:310px; }
 .od-example-flow { gap:12px; }
 .od-example-flow .od-point { display:block; }
 .od-specs>div { grid-template-columns:110px 1fr; }
 .od-info-grid { gap:12px; }
 .od-info { padding-inline:12px; }
 .od-quality-grid { grid-template-columns:1fr; }
 .od-quality-media img { height:250px; }
 .od-engineering-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 .od-engineering-grid .od-point:nth-child(even) { border:0; }
 .od-quote .contact-shell { grid-template-columns:1fr; }
 .od-quote .contact-copy>p { max-width:660px; }
}
@media(max-width:768px) {
 .od-section { padding-block:56px; }
 .od-hero { display:flex; flex-direction:column; }
 .od-hero__layout { min-height:0; padding-block:48px 32px; order:0; }
 .od-hero__copy { width:100%; max-width:650px; }
 .od-hero__image { position:static; order:1; width:100%; height:300px; object-position:center 52%; }
 .od-hero::after { display:none; }
 .od-heading { margin-bottom:28px; }
 .od-heading p { font-size:15px; }
 .od-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .od-process>img { height:210px; }
 .od-example-grid { grid-template-columns:1fr; gap:30px; }
 .od-example-media>img { height:350px; }
 .od-example-flow .od-point { display:flex; }
 .od-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .od-info:last-child { grid-column:1/-1; }
 .od-table { min-width:680px; }
 .od-table th,.od-table td { padding:12px 16px; }
 .od-quality-media img { height:220px; }
 .od-faq-grid { grid-template-columns:1fr; gap:10px; }
 .od-quote .contact-copy h2 { font-size:32px; }
 .on-demand-page .od-quote { padding-block:56px; }
}
@media(max-width:480px) {
 .on-demand-page h2 { font-size:29px; }
 .od-hero h1 { font-size:36px; }
 .od-hero .eyebrow { font-size:11px; }
 .od-hero__copy>p { font-size:15px; }
 .od-hero__image { height:240px; }
 .od-actions { gap:10px; }
 .od-actions .btn { width:100%; font-size:14px; }
 .od-trust .od-point { gap:9px; padding:20px 8px; }
 .od-trust .od-icon { width:27px; height:27px; flex-basis:27px; }
 .od-trust h3 { font-size:12px; }
 .od-trust p { font-size:11px; }
 .od-stage-grid { grid-template-columns:1fr; gap:14px; }
 .od-stage { padding:22px 24px 38px; }
 .od-stage__top { margin-bottom:12px; }
 .od-stage h3 { margin-bottom:12px; }
 .od-continuity { gap:16px 23px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .od-continuity img { height:150px; }
 .od-continuity>div:nth-child(2)::after { display:none; }
 .od-control-points { grid-template-columns:1fr; gap:25px; }
 .od-process-grid { grid-template-columns:1fr; gap:20px; }
 .od-process>img { height:235px; }
 .od-process>div { padding:22px 22px 14px; }
 .od-process h3 { font-size:20px; }
 .od-process p { font-size:15px; }
 .od-example-media>img { height:280px; }
 .od-example-flow { gap:15px; }
 .od-example-flow .od-point { display:block; }
 .od-example-flow .od-icon { margin-bottom:8px; }
 .od-example-features span { font-size:11px; }
 .od-specs>div { grid-template-columns:100px 1fr; font-size:13px; }
 .od-quality-grid .od-heading h2,.od-engineering .od-heading h2 { font-size:29px; }
 .od-quality-cards { grid-template-columns:1fr; gap:12px; }
 .od-quality-cards article { padding:20px; }
 .od-quality-cards h3 { font-size:17px; }
 .od-quality-cards ul { font-size:14px; }
 .od-quality-media img { height:155px; }
 .od-engineering-grid { grid-template-columns:1fr; }
 .od-engineering-grid .od-point { border:0; padding-right:0; }
 .od-engineering-grid h3 { font-size:17px; }
 .od-engineering-grid p { font-size:14px; }
 .od-quote .contact-form { padding:23px 18px; }
 .od-quote .contact-shell { gap:34px; }
 .od-quote .contact-copy h2 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { .od-stage { transition:none; } }
