/* Nine drawing-led application programs. Scoped to this patch; existing fonts and behavior remain local. */
.map-program{--map-ink:#123957;--map-line:#c6d4dc;--map-light:#eef4f6;--map-mineral:#d9e7e6;color:var(--map-ink)}
.map-program main.ne-page{background:#fff}
.map-program .nm-breadcrumb{font-size:14px;padding:20px 0}
.map-program .nm-hero{background:#fafaf8;padding:28px 0 35px}
.map-program .nm-hero-layout{gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.map-program .nm-hero h1{font-size:58px;line-height:1.05;max-width:700px;margin-bottom:22px}
.map-program .nm-hero .nm-lead{font-size:21px;line-height:1.5}
.map-program .nm-hero .nm-links{gap:12px 22px}
.map-program .map-buying-focus{font-size:16px;line-height:1.6;font-weight:600;margin:0 0 25px;color:var(--map-ink)}
.map-program .nm-hero-product{margin:0;min-width:0}
.map-program .nm-hero-product img{mix-blend-mode:normal;filter:none;object-fit:contain;aspect-ratio:3/2;background:#f6f8f7}
.map-program .nm-hero-product figcaption{font-size:15px;color:var(--map-ink);margin-top:12px}
.map-program .nm-hero-context{margin-top:28px;border-top:1px solid var(--map-line);padding-top:17px}
.map-program .nm-hero-context .nm-note{max-width:none;font-size:15px;line-height:1.5}
.map-program .nm-page-nav{padding:17px 0;border-color:var(--map-line)}
.map-program .nm-page-nav .nm-container{gap:12px 24px}
.map-program .nm-page-nav a{font-size:15px;min-height:28px;display:inline-flex;align-items:center}
.map-program .nm-section,.map-program .nma-focus{padding-block:66px}
.map-program .nm-section h2,.map-program .nma-focus h2{font-size:40px;line-height:1.1;margin-bottom:23px}
.map-program .nm-section h3{font-size:27px;line-height:1.15}
.map-program .nm-heading{max-width:860px}
.map-program .nm-card{background:white;border-top:1px solid var(--map-line);padding:24px 0}
.map-program .nm-grid{gap:34px}
.map-program .nm-section p,.map-program .nm-section li{font-size:18px;line-height:1.55}
.map-program .map-review{background:var(--map-light);color:var(--map-ink)}
.map-program .map-review h2,.map-program .map-review h3,.map-program .map-review a,.map-program .map-review .nm-note{color:var(--map-ink)}
.map-program main.ne-page .map-review a{color:var(--map-ink)}
.map-program .map-review .nm-card{background:transparent;color:var(--map-ink);border-color:#a8becb}
.map-program .map-review .nm-note{font-size:16px;border-color:#a8becb}
.map-program .map-review .nm-links{margin-bottom:15px}
.map-program .map-manufacturing .nm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-bottom:0}
.map-program .map-review .nm-decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.map-program .map-manufacturing .nm-card{border-top:2px solid #7996a6;padding:22px 0 0}
.map-program .map-manufacturing .nm-card h3{font-size:25px}
.map-program .map-manufacturing .nm-card p{font-size:17px}
.map-program .map-buying{background:var(--map-light)}
.map-program .map-buying .nm-two{grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:56px}
.map-program .map-buying .nm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;padding:0;list-style:none;margin:28px 0 0}
.map-program .map-buying .nm-list li{margin:0;border-top:1px solid #b0c5d0;padding:16px 0 0}
.map-program .map-commercial{background:white;padding:24px;border:1px solid var(--map-line)}
.map-program .map-commercial details{padding:0;margin:0}
.map-program .map-commercial summary{font-size:22px;line-height:1.25;cursor:pointer;padding:4px 0}
.map-program .map-commercial details h2{font-size:28px;margin-top:22px}
.map-program .map-commercial .ne-table-scroll{margin-bottom:0}
.map-program .map-commercial th,.map-program .map-commercial td{font-size:16px;padding:12px}
.map-program .map-commercial details:not([open]) summary{padding-bottom:4px}
.map-program .nma-focus{background:white;color:var(--map-ink)}
.map-program .nma-focus .nm-shell{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center}
.map-program .nma-focus h2,.map-program .nma-focus .nm-kicker,.map-program .nma-focus p{color:var(--map-ink)}
.map-program .nma-added-copy{font-size:18px;line-height:1.58}
.map-program .nma-photo-card{padding:15px;border:1px solid var(--map-line);background:#fff}
.map-program .nma-photo-card img{mix-blend-mode:normal;filter:none;object-fit:contain;background:#f6f8f7}
.map-program .nma-photo-card figcaption{font-size:16px;margin:13px 3px 2px}
.map-program .map-form-review{background:#fafaf8}
.map-program .nm-sequence{gap:32px;margin-top:30px}
.map-program .nm-sequence strong{font-size:22px}
.map-program .nm-form-note{background:white;border:1px solid var(--map-line);padding:23px}
.map-program .map-materials .nm-two{gap:70px}
.map-program .map-materials .nm-list{margin-bottom:0}
.map-program .map-sourcing-section{padding-block:35px}
.map-program .map-sourcing{padding:0}
.map-program .map-sourcing>summary{font-size:25px;cursor:pointer;line-height:1.3}
.map-program .map-sourcing[open]>.nm-heading{margin-top:28px}
.map-program .nm-related-section .nm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.map-program .nm-related-section .nm-card{padding:26px 0}
.map-program .nm-related-section .nm-card h3{font-size:27px}
.map-program .nm-related-section .nm-card p{font-size:17px}
.map-program .nm-faq-section{background:white}
.map-program #p3-project-review{background:var(--map-mineral)}
.map-program #p3-project-review .nm-container{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:65px;align-items:center}
.map-program #p3-project-review .nm-list{list-style:none;padding:0;margin:0}
.map-program #p3-project-review li{border-bottom:1px solid #a5bebd;padding:16px 0;margin:0}
.map-program .nm-rfq-section:last-of-type{background:#123957;color:white}
.map-program .nm-rfq-section:last-of-type h2,.map-program .nm-rfq-section:last-of-type p,.map-program .nm-rfq-section:last-of-type a{color:white}
.map-program main.ne-page .nm-rfq-section:last-of-type a.nm-text-link{color:white}
.map-program main.ne-page .nm-rfq-section:last-of-type .ne-button{background:#fff;color:#123957;border-color:#fff}
.map-program main a{text-decoration:none}
.map-program main a:hover{text-decoration:underline;text-underline-offset:4px}
.map-program a:focus-visible,.map-program summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
/* Axis-based component: the sectioned bearing view leads the interface explanation. */
.map-axis .nma-focus .nm-focus-grid{order:0}.map-axis .nma-focus .nm-focus-heading{order:1}
.map-axis .map-review .nm-decisions{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Electronics: contact path and connector review read as a thermal interface ledger. */
.map-thermal .map-review .nm-container{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:0 55px}
.map-thermal .map-review .nm-heading{grid-column:1;grid-row:1/3}
.map-thermal .map-review .nm-decisions{grid-column:2;grid-row:1/4;grid-template-columns:1fr;gap:0;margin:0}
.map-thermal .map-review .nm-links,.map-thermal .map-review .nm-note{grid-column:1}
.map-thermal .map-review .nm-card{padding:20px 0}
/* Luminaires: mounting, weather and finish remain equally visible. */
.map-luminaire .map-review{background:var(--map-mineral)}
.map-luminaire .nma-focus .nm-shell{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.map-luminaire .nma-focus .nm-focus-grid{order:0}.map-luminaire .nma-focus .nm-focus-heading{order:1}
/* Pressure integrity: acceptance criteria lead, with process and test route directly below. */
.map-pressure .map-review{background:#123957;color:white}
.map-pressure .map-review h2,.map-pressure .map-review h3,.map-pressure .map-review .nm-card,.map-pressure .map-review a,.map-pressure .map-review .nm-note{color:white}
.map-pressure main.ne-page .map-review a{color:white}
.map-pressure .map-buying{background:white}
.map-pressure .map-manufacturing{background:var(--map-light)}
/* Automotive: approval is a release checklist, rather than an image gallery. */
.map-approval .map-review .nm-decisions{grid-template-columns:repeat(3,minmax(0,1fr))}
.map-approval .map-review .nm-card{padding:24px;background:#fff;border:1px solid var(--map-line)}
.map-approval .map-manufacturing{padding-block:42px}
.map-approval .nma-focus{background:#f0f5f7}
/* RF: keep cavity detail alongside the contact/finish split, then show outdoor requirements. */
.map-rf .nma-focus{background:#d9e7e6}
.map-rf .map-review .nm-decisions{grid-template-columns:1fr 1fr}
.map-rf .map-review .nm-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.map-rf .map-review{background:white}
/* Battery housings: electrical, cooling and closure are three separate functional inputs. */
.map-battery .map-review .nm-decisions{gap:18px}
.map-battery .map-review .nm-card{background:white;border:1px solid var(--map-line);padding:25px}
.map-battery .nma-focus .nm-focus-grid{order:0}.map-battery .nma-focus .nm-focus-heading{order:1}
/* Large structures: a wide part view and early process scope support envelope review. */
.map-structure .nm-hero-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.map-structure .map-manufacturing{background:#123957;color:white;padding-block:45px}
.map-structure .map-manufacturing h2,.map-structure .map-manufacturing h3,.map-structure .map-manufacturing .nm-kicker,.map-structure .map-manufacturing .nm-card{color:white}
.map-structure .map-manufacturing .nm-card{background:transparent}
.map-structure .map-review{background:white}
.map-structure .nma-focus{background:var(--map-mineral)}
/* Zinc: supplied finish and material choices appear before detail and quotation inputs. */
.map-finish .nm-hero-product{order:-1}
.map-finish .map-materials{background:#123957;color:white}
.map-finish .map-materials h2{color:white}
.map-finish .map-review{background:white}
.map-finish .nma-focus .nm-focus-grid{order:0}.map-finish .nma-focus .nm-focus-heading{order:1}
@media(max-width:1050px){
 .map-program .nm-hero h1{font-size:48px}
 .map-program .nm-hero-layout,.map-program .nma-focus .nm-shell{gap:32px}
 .map-program .map-manufacturing .nm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-program .map-buying .nm-two{grid-template-columns:minmax(0,1.3fr) minmax(240px,.9fr);gap:30px}
}
@media(max-width:780px){
 .map-program .nm-hero-layout,.map-program .nma-focus .nm-shell,.map-program .map-buying .nm-two,.map-program #p3-project-review .nm-container,.map-thermal .map-review .nm-container{grid-template-columns:1fr;gap:28px}
 .map-program .nm-hero-copy,.map-program .nm-hero-product{order:initial}
 .map-program .nma-focus .nm-focus-heading{order:0}.map-program .nma-focus .nm-focus-grid{order:1}
 .map-thermal .map-review .nm-heading,.map-thermal .map-review .nm-decisions,.map-thermal .map-review .nm-links,.map-thermal .map-review .nm-note{grid-column:auto;grid-row:auto}
 .map-program .map-review .nm-decisions{grid-template-columns:1fr;gap:18px}
 .map-rf .map-review .nm-card:last-child{grid-column:auto;display:block}
 .map-program .map-review .nm-card{padding:22px 0}
 .map-approval .map-review .nm-card,.map-battery .map-review .nm-card{padding:23px}
 .map-program .nm-section,.map-program .nma-focus{padding-block:45px}
 .map-program .nm-section h2,.map-program .nma-focus h2{font-size:35px}
 .map-program .nm-hero h1{font-size:46px}
 .map-program .nm-hero .nm-lead{font-size:20px}
 .map-program .map-commercial{padding:21px}
 .map-program .map-materials .nm-two{gap:28px}
 .map-program .nm-related-section .nm-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
 .map-program .nm-shell{width:calc(100% - 36px)}
 .map-program .nm-breadcrumb{font-size:13px;gap:6px}
 .map-program .nm-hero{padding-top:24px}
 .map-program .nm-hero h1{font-size:43px;line-height:1.07}
 .map-program .nm-hero .nm-lead{font-size:19px;line-height:1.5}
 .map-program .map-buying-focus{font-size:15px;margin-bottom:20px}
 .map-program .nm-hero .nm-links{gap:12px;margin-bottom:8px;align-items:flex-start;flex-direction:column}
 .map-program .nm-hero .nm-text-link{font-size:17px}
 .map-program .nm-hero-context .nm-note{font-size:14px}
 .map-program .nm-page-nav .nm-container{gap:11px 20px}
 .map-program .nm-page-nav a{font-size:14px}
 .map-program .nm-section h2,.map-program .nma-focus h2{font-size:34px}
 .map-program .nm-section h3{font-size:26px}
 .map-program .nm-section p,.map-program .nm-section li,.map-program .nma-added-copy{font-size:17px;line-height:1.55}
 .map-program .map-manufacturing .nm-grid,.map-program .map-buying .nm-list{grid-template-columns:1fr;gap:23px}
 .map-program .map-manufacturing .nm-card{padding-top:19px}
 .map-program .map-buying .nm-list{margin-top:22px}
 .map-program .nma-photo-card{padding:10px}
 .map-program .nma-photo-card figcaption{font-size:15px}
 .map-program .nm-sequence{grid-template-columns:1fr;gap:24px}
 .map-program .nm-forms{grid-template-columns:1fr;gap:15px}
 .map-program .map-sourcing>summary{font-size:23px}
 .map-program .nm-faq-section summary{font-size:21px}
}
