/* Rubik variable font — self-hosted, latin-ext */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/rubik-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Rubik variable font — self-hosted, latin */
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/rubik-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Rubik variable font — self-hosted italic, latin-ext */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/rubik-latin-ext-italic.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Rubik variable font — self-hosted italic, latin */
@font-face {
  font-family: 'Rubik';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/rubik-latin-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-left-\[9999px\]{left:-9999px}.-top-4{top:-1rem}.bottom-6{bottom:1.5rem}.right-3{right:.75rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-16{top:4rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[65\]{z-index:65}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[96\]{z-index:96}.z-\[97\]{z-index:97}.col-span-5{grid-column:span 5/span 5}.m-0{margin:0}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.box-border{box-sizing:border-box}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.aspect-\[16\/11\]{aspect-ratio:16/11}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-full{height:100%}.h-px{height:1px}.max-h-\[70vh\]{max-height:70vh}.min-h-\[44px\]{min-height:44px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[12\%\]{width:12%}.w-\[38\%\]{width:38%}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.min-w-\[44px\]{min-width:44px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-\[1440px\]{max-width:1440px}.max-w-\[960px\]{max-width:960px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.touch-pan-y{--tw-pan-y:pan-y;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-y-6{row-gap:1.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-slate-200\/70>:not([hidden])~:not([hidden]){border-color:#e2e8f0b3}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#1E3A8A\]\/70{border-color:#1e3a8ab3}.border-\[\#1E4ED8\]{--tw-border-opacity:1;border-color:rgb(30 78 216/var(--tw-border-opacity))}.border-\[\#CBD5E1\]{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-\[color-mix\(in_oklab\2c var\(--brand\)_24\%\2c var\(--line\)\)\]{border-color:color-mix(in oklab,var(--brand) 24%,var(--line))}.border-\[var\(--line\)\]{border-color:var(--line)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-200\/70{border-color:#e2e8f0b3}.border-slate-200\/80{border-color:#e2e8f0cc}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.bg-\[\#1e3a8a\]\/25{background-color:#1b3a8a40}.bg-\[\#1E4ED8\]{--tw-bg-opacity:1;background-color:rgb(30 78 216/var(--tw-bg-opacity))}.bg-\[\#eff6ff\]{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-\[color-mix\(in_oklab\2c var\(--brand\)_10\%\2c white\)\]{background-color:color-mix(in oklab,var(--brand) 10%,#fff)}.bg-\[var\(--line\)\]{background-color:var(--line)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-black\/30{background-color:#0000004d}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-blue-500\/60{background-color:#3b82f699}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/5{background-color:#ffffff0d}.bg-white\/90{background-color:#ffffffe6}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-left-top{-o-object-position:left top;object-position:left top}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pr-24{padding-right:6rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-9{padding-top:2.25rem}.pt-\[6\.5rem\]{padding-top:6.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-\[-2px\]{vertical-align:-2px}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[22px\]{font-size:22px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-7{line-height:1.75rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#0f172a\]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-\[\#1e3a8a\]{--tw-text-opacity:1;color:rgb(27 58 138/var(--tw-text-opacity))}.text-\[\#1E4ED8\]{--tw-text-opacity:1;color:rgb(30 78 216/var(--tw-text-opacity))}.text-\[\#1F2937\]{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-\[\#1e4ed8\]{--tw-text-opacity:1;color:rgb(30 78 216/var(--tw-text-opacity))}.text-\[\#60a5fa\]{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.text-\[\#93c5fd\]{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-\[\#93C5FD\]{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-\[\#DBEAFE\]{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity))}.text-\[\#e2e8f0\]{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-300\/60{color:#cbd5e199}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-400\/70{color:#94a3b8b3}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-70{opacity:.7}.shadow-\[0_0_0_2px_rgba\(30\2c 78\2c 216\2c 0\.35\)\]{--tw-shadow:0 0 0 2px #1e4ed859;--tw-shadow-colored:0 0 0 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_30px_-20px_rgba\(15\2c 23\2c 42\2c 0\.35\)\]{--tw-shadow:0 12px 30px -20px #0f172a59;--tw-shadow-colored:0 12px 30px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_40px_rgba\(2\2c 8\2c 23\2c 0\.22\)\]{--tw-shadow:0 18px 40px #02081738;--tw-shadow-colored:0 18px 40px var(--tw-shadow-color)}.shadow-\[0_18px_40px_rgba\(2\2c 8\2c 23\2c 0\.22\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-700\/90{--tw-ring-color:#1d4ed8e6}.ring-white\/5{--tw-ring-color:#ffffff0d}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.placeholder\:text-slate-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.placeholder\:text-slate-500::placeholder{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.first\:pt-0:first-child{padding-top:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:border-\[\#1B46C4\]:hover{--tw-border-opacity:1;border-color:rgb(27 70 196/var(--tw-border-opacity))}.hover\:border-\[\#1E4ED8\]:hover{--tw-border-opacity:1;border-color:rgb(30 78 216/var(--tw-border-opacity))}.hover\:border-\[\#1E4ED8\]\/40:hover{border-color:#1e4ed866}.hover\:border-\[\#1E4ED8\]\/50:hover{border-color:#1e4ed880}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:bg-\[\#1B46C4\]:hover{--tw-bg-opacity:1;background-color:rgb(27 70 196/var(--tw-bg-opacity))}.hover\:bg-\[\#1E4ED8\]:hover{--tw-bg-opacity:1;background-color:rgb(30 78 216/var(--tw-bg-opacity))}.hover\:bg-\[\#1E4ED8\]\/\[0\.03\]:hover{background-color:#1e4ed808}.hover\:bg-\[\#eff6ff\]:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-\[\#1B46C4\]:hover{--tw-text-opacity:1;color:rgb(27 70 196/var(--tw-text-opacity))}.hover\:text-\[\#1E4ED8\]:hover{--tw-text-opacity:1;color:rgb(30 78 216/var(--tw-text-opacity))}.hover\:text-\[\#1b46c4\]:hover{--tw-text-opacity:1;color:rgb(27 70 196/var(--tw-text-opacity))}.hover\:text-\[\#93c5fd\]:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.focus\:border-\[\#1E4ED8\]:focus{--tw-border-opacity:1;border-color:rgb(30 78 216/var(--tw-border-opacity))}.focus\:text-\[\#93c5fd\]:focus{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#1E4ED8\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 78 216/var(--tw-ring-opacity))}.focus\:ring-\[\#1E4ED8\]\/30:focus{--tw-ring-color:#1e4ed84d}.focus\:ring-\[\#1E4ED8\]\/45:focus{--tw-ring-color:#1e4ed873}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[\#1E4ED8\]\/40:focus-visible{--tw-ring-color:#1e4ed866}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.group:hover .group-hover\:translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0{--tw-translate-x:0px}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:0.125rem}.group:hover .group-hover\:scale-\[1\.02\],.group:hover .group-hover\:translate-x-0\.5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02}.group:hover .group-hover\:text-\[\#1E4ED8\]{--tw-text-opacity:1;color:rgb(30 78 216/var(--tw-text-opacity))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:grayscale-0{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.peer:checked~.peer-checked\:pointer-events-auto{pointer-events:auto}.peer:checked~.peer-checked\:opacity-100{opacity:1}.has-\[\:checked\]\:border-\[\#1E4ED8\]\/50:has(:checked){border-color:#1e4ed880}.has-\[\:checked\]\:bg-\[\#1E4ED8\]\/\[0\.04\]:has(:checked){background-color:#1e4ed80a}@media (min-width:640px){.sm\:-mx-8{margin-left:-2rem;margin-right:-2rem}.sm\:mb-0{margin-bottom:0}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-7{margin-bottom:1.75rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:table-header-group{display:table-header-group}.sm\:hidden{display:none}.sm\:min-w-0{min-width:0}.sm\:min-w-\[200px\]{min-width:200px}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:gap-16{gap:4rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:p-14{padding:3.5rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pb-10{padding-bottom:2.5rem}.sm\:pb-14{padding-bottom:3.5rem}.sm\:pb-16{padding-bottom:4rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pl-10{padding-left:2.5rem}.sm\:pr-10{padding-right:2.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:pt-12{padding-top:3rem}.sm\:pt-14{padding-top:3.5rem}.sm\:pt-16{padding-top:4rem}.sm\:pt-28{padding-top:7rem}.sm\:pt-6{padding-top:1.5rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[clamp\(1\.4rem\2c 2\.4vw\2c 2\.1rem\)\]{font-size:clamp(1.4rem,2.4vw,2.1rem)}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:tracking-\[0\.18em\]{letter-spacing:.18em}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:pt-4{padding-top:1rem}}@media (min-width:1024px){.lg\:ml-auto{margin-left:auto}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-72{width:18rem}.lg\:w-80{width:20rem}.lg\:max-w-3xl{max-width:48rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:gap-10{gap:2.5rem}.lg\:gap-14{gap:3.5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-0{padding-bottom:0}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-8{padding-bottom:2rem}.lg\:pt-12{padding-top:3rem}.lg\:pt-16{padding-top:4rem}}@media (min-width:1280px){.xl\:col-start-2{grid-column-start:2}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\>tr\:not\(\:last-child\)\]\:border-b>tr:not(:last-child){border-bottom-width:1px}.\[\&_td\:first-child\]\:w-\[1\%\] td:first-child{width:1%}.\[\&_td\:first-child\]\:pr-4 td:first-child{padding-right:1rem}.\[\&_td\:first-child\]\:font-medium td:first-child{font-weight:500}.\[\&_td\:first-child\]\:text-\[\#1E4ED8\] td:first-child{--tw-text-opacity:1;color:rgb(30 78 216/var(--tw-text-opacity))}@media (min-width:640px){.sm\:\[\&_td\:first-child\]\:pr-16 td:first-child{padding-right:4rem}}.\[\&_th\:first-child\]\:w-\[1\%\] th:first-child{width:1%}.\[\&_th\:first-child\]\:pr-4 th:first-child{padding-right:1rem}@media (min-width:640px){.sm\:\[\&_th\:first-child\]\:pr-16 th:first-child{padding-right:4rem}}
/* ================================================
   NAV BASE CSS (canonical, consolidated from index.html)
   Applies to all pages. Do not add per-page nav <style> blocks.
   ================================================ */

:root {
  --brand: #1E4ED8;
  --brand-hover: #1B46C4;
  --brand-deep: #1b3a8a;
  --ink: #0f172a;
  --body: #1f2937;
  --body-soft: #334155;
  --muted: #475569;
  --muted-soft: #64748b;
  /* PWI dark canvas — shared by header, mega menu, footer, heroes */
  --pwi-canvas-top: #0d1e40;
  --pwi-canvas-mid: #0f2244;
  --pwi-canvas-bottom: #0b1a38;
  --pwi-canvas-gradient-footer: linear-gradient(180deg, var(--pwi-canvas-top) 0%, var(--pwi-canvas-bottom) 42%, var(--pwi-canvas-bottom) 100%);
  --pwi-canvas-gradient: var(--pwi-canvas-gradient-footer);
  --pwi-canvas-gradient-header: var(--pwi-canvas-gradient-footer);
}

/* Ensure Rubik is always first in the font stack regardless of Tailwind's compiled .font-sans */
.font-sans, body, html {
  font-family: "Rubik", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.text-ink { color: var(--ink) !important; }
.text-body { color: var(--body) !important; }
.text-muted { color: var(--muted) !important; }
.data-heading { color: var(--brand-deep) !important; }

/* ---- Related product card image height ---- */
/* .stat-card.group targets product cards only — dealer logo cards don't use the group class */
.stat-card.group img {
  height: 10rem;
  width: 100%;
  object-fit: cover;
  display: block;
}

/* ---- Collection/gallery card image height ---- */
/* h-40 is not compiled into tailwind.css, so we enforce it here */
.gallery-img-link {
  height: 10rem;
  overflow: hidden;
}

/* ---- Font for ref table cells ---- */
.ref-table {
  table-layout: auto;
  width: 100%;
}
.ref-table td {
  font-family: inherit;
  font-size: 0.8125rem;
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}
.ref-table .pn {
  font-family: inherit !important;
}
.ref-table .serial-text {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}
span.inline-flex.items-center.justify-center.rounded-md.border.border-line.bg-surface-soft {
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #334155;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}
.sn-pill {
  display: inline-block;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 9999px;
  padding: 2px 9px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #334155;
  white-space: nowrap;
  margin: 2px 4px 2px 0;
  cursor: default;
}

/* ---- Pills (layout) ---- */
.pill-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.pill-wrap .sn-pill {
  margin: 0;
  padding: 4px 10px;
  background: #f8fafc;
  border-color: #dbe4f0;
  color: #475569;
  box-shadow: none;
  transition: none;
}

/* Normalize legacy hard-coded product pills to the shared sn-pill style. */
.flex.flex-wrap.gap-1\.5 > span[class*="rounded-md"][class*="bg-surface-soft"][class*="text-xs"] {
  min-width: auto !important;
  border-radius: 9999px !important;
  padding: 4px 10px !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #475569 !important;
  background: #f8fafc !important;
  border-color: #dbe4f0 !important;
  box-shadow: none !important;
}

/* When serial-number lists become pill wraps */
.sn-list.pill-wrap { margin-top: 0.5rem; }

/* ---- Collapsible pill lists (show N, reveal all) ---- */
.pill-list { position: relative; }
.pill-list[data-collapsible="true"] .pill-toggle {
  margin-top: 0.5rem;
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 600;
  color: #1b3a8a;
  background: transparent;
  border: none;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pill-list[data-collapsible="true"] .pill-toggle:focus { outline: none; }
.pill-list[data-collapsible="true"] .pill-toggle:focus-visible {
  outline: 2px solid rgba(30, 78, 216, 0.35);
  outline-offset: 3px;
  border-radius: 6px;
}
/* Collapse on all breakpoints when explicitly requested */
.pill-list[data-collapsible="true"][data-collapse="always"]:not([data-expanded="true"]) .pill-wrap .sn-pill:nth-child(n + 5) {
  display: none;
}
@media (max-width: 639px) {
  .pill-list[data-collapsible="true"]:not([data-expanded="true"]) .pill-wrap .sn-pill:nth-child(n + 5) {
    display: none;
  }
}
@media (min-width: 640px) {
  /* default behavior: only collapse on mobile, so hide the toggle on desktop */
.pill-list[data-collapsible="true"]:not([data-collapse="always"]) .pill-toggle {
    display: none;
  }
}

/* ---- Footer certification links ---- */
.footer-cert-list {
  color: rgba(226, 232, 240, 0.82);
}
.footer-cert-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  color: #e8eefc;
  line-height: 1.55;
  text-decoration: none;
  text-decoration-color: rgba(147, 197, 253, 0.45);
  text-underline-offset: 0.18em;
  transition: color 150ms ease, text-decoration-color 150ms ease;
}
.footer-cert-link:focus-visible {
  color: #bfdbfe;
  text-decoration: underline;
  text-decoration-color: rgba(191, 219, 254, 0.85);
}
@media (hover: hover) and (pointer: fine) {
  .footer-cert-link:hover {
    color: #bfdbfe;
    text-decoration: underline;
    text-decoration-color: rgba(191, 219, 254, 0.85);
  }
}
.footer-cert-link:focus {
  outline: none;
}
.footer-cert-link.is-primary {
  font-weight: 500;
}
.footer-cert-code {
  color: rgba(191, 219, 254, 0.72);
  font-size: 0.92em;
  white-space: nowrap;
}
.footer-link-list {
  color: rgba(226, 232, 240, 0.82);
}
.footer-link {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  color: #93c5fd;
  line-height: 1.55;
  text-decoration: none;
  text-decoration-color: rgba(147, 197, 253, 0.4);
  text-underline-offset: 0.18em;
  transition: color 150ms ease, text-decoration-color 150ms ease;
}
.footer-link:focus-visible {
  color: #bfdbfe;
  text-decoration: underline;
  text-decoration-color: rgba(191, 219, 254, 0.85);
}
@media (hover: hover) and (pointer: fine) {
  .footer-link:hover {
    color: #bfdbfe;
    text-decoration: underline;
    text-decoration-color: rgba(191, 219, 254, 0.85);
  }
}
.footer-link:focus {
  outline: none;
}
.footer-link.is-primary {
  color: #93c5fd;
  font-weight: 500;
}
.footer-link.is-contact {
  color: #e4ebfb;
}
.footer-contact-text {
  display: inline-flex;
  align-items: baseline;
  color: #e2e8f0;
  line-height: 1.55;
}
.footer-link-note {
  color: #e2e8f0;
  white-space: nowrap;
}

/* ---- Global hero-dark background ---- */
.hero-dark {
  background: var(--pwi-canvas-gradient);
  color: #e2e8f0;
}
.hero-mobile-bump h1 {
  text-wrap: balance;
}
@media (max-width: 639px) {
  .hero-mobile-bump .reveal {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  .hero-mobile-bump h1 {
    font-size: 2.85rem !important;
    line-height: 0.99 !important;
    letter-spacing: 0 !important;
  }
  .hero-mobile-bump-long h1 {
    font-size: 2.58rem !important;
    line-height: 1.01 !important;
    letter-spacing: 0 !important;
  }
  .hero-mobile-bump-xlong h1 {
    font-size: 2.22rem !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }
}
.hero-unified {
  background: var(--canvas, #f6f7f9) !important;
  color: #0f172a;
}
.hero-unified h1 {
  color: #0f172a !important;
}
.hero-unified [class*="text-\\[\\#60a5fa\\]"],
.hero-unified .hero-kicker {
  color: #1e4ed8 !important;
}
.hero-unified .reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.hero-unified h1 {
  color: #0f172a !important;
}
.hero-unified p.text-slate-300,
.hero-unified p.text-slate-200 {
  color: #334155 !important;
}
.hero-unified p.text-slate-400,
.hero-unified p.text-slate-500 {
  color: #475569 !important;
}
.hero-dark.hero-unified p.text-slate-300,
.hero-dark.hero-unified p.text-slate-200 {
  color: #cbd5e1 !important;
}
.hero-dark.hero-unified p.text-slate-400,
.hero-dark.hero-unified p.text-slate-500 {
  color: #94a3b8 !important;
}
.hero-unified [class*="border-[#1E3A8A]"],
.hero-unified [class*="bg-[#1e3a8a]"] {
  background: #1e4ed8 !important;
  border-color: #1e4ed8 !important;
  color: #ffffff !important;
  box-shadow: none;
}
.hero-unified a.inline-flex {
  background: #1e4ed8 !important;
  border-color: #1e4ed8 !important;
  color: #ffffff !important;
}
@media (hover: hover) and (pointer: fine) {
  .hero-unified a.inline-flex:hover {
    background: #1b46c4 !important;
    border-color: #1b46c4 !important;
  }
}
@media (max-width: 639px) {
  .hero-unified .utility-hero-inner {
    padding-top: 6.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .hero-unified .utility-hero-inner h1 {
    font-size: 2.55rem !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }
}

.dd { position: relative; }
.dd-panel {
  opacity: 0;
  transform: translate3d(0, 4px, 0);
  pointer-events: none;
  transition: opacity 200ms ease-out, transform 200ms ease-out;
  will-change: opacity, transform;
}
.dd.is-open .dd-panel {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
.dd-chevron { display: inline-block; transition: transform 200ms ease-out; }
.dd.is-open .dd-chevron { transform: rotate(180deg); }
.accordion-panel { overflow: hidden; height: 0; will-change: height; }

:root {
  --header-h: 5rem;
}
@media (max-width: 1279px) {
  :root { --header-h: 66px; }
}
.site-header-spacer {
  height: var(--header-h);
}

.site-header::before,
.site-header::after { content: none; }

.site-header {
  background: var(--pwi-canvas-gradient-header);
  border-bottom: 0;
  box-shadow: none;
  position: fixed;
  height: var(--header-h);
  overflow: hidden;
  box-sizing: border-box;
}
.site-header::before { content: none; }
.site-header::after { content: none; }
.site-header-inner { height: var(--header-h); min-height: 0; box-sizing: border-box; }
@media (min-width: 1280px) {
  .site-header-inner {
    gap: 1.25rem;
  }
  .site-header .site-header-inner > nav.md\:flex {
    margin-left: auto;
    flex-shrink: 1;
    min-width: 0;
  }
}
.site-header a[aria-label="PWI Home"] { position: relative; z-index: 2; }

.site-header .dd > a,
.site-header nav:not(#mobile-nav) > a:not(.inline-flex) {
  position: relative;
  color: rgba(226, 232, 240, 0.96);
  font-weight: 400;
  letter-spacing: 0.01em;
  transition: color 180ms ease;
}
.site-header .dd > a::after,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex)::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #93c5fd;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 200ms ease;
  border-radius: 1px 1px 0 0;
}
.site-header .dd:hover > a,
.site-header .dd:focus-within > a,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex):hover,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex):focus-visible,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex)[aria-current="page"] { color: #bfdbfe; }
.site-header .dd:hover > a::after,
.site-header .dd:focus-within > a::after,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex):hover::after,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex):focus-visible::after,
.site-header nav:not(#mobile-nav) > a:not(.btn-primary):not(.mob-cta):not(.inline-flex)[aria-current="page"]::after { transform: scaleX(1); }

.nav-sep {
  display: none;
}
.site-header nav:not(#mobile-nav) > a.nav-secondary:not(.inline-flex) {
  color: rgba(203, 213, 225, 0.9);
}
.site-header nav:not(#mobile-nav) > a.nav-secondary:not(.inline-flex):hover,
.site-header nav:not(#mobile-nav) > a.nav-secondary:not(.inline-flex):focus-visible,
.site-header nav:not(#mobile-nav) > a.nav-secondary:not(.inline-flex)[aria-current="page"] {
  color: #bfdbfe;
}

.site-header .dd-panel {
  top: 5rem !important;
  border-top: none;
  background: var(--pwi-canvas-bottom);
  box-shadow: 0 14px 30px rgba(2, 8, 23, 0.42), 0 24px 48px rgba(147, 197, 253, 0.07), inset 0 1px 0 rgba(148, 163, 184, 0.08);
}

/* ===== MEGA MENU ENHANCEMENTS ===== */
.mega-accent-bar {
  position: relative;
}

/* Simple dropdown divider between groups (E&M) */
.simple-dd-divider {
  width: 1px;
  align-self: stretch;
  background: rgba(148, 163, 184, 0.18);
  margin: 0.25rem 0.5rem;
  flex-shrink: 0;
}

/* Simple dropdown panel for STC/PMA */
.simple-dd-bar {
  background: var(--pwi-canvas-bottom);
  box-shadow: 0 14px 30px rgba(2, 8, 23, 0.42), 0 24px 48px rgba(147, 197, 253, 0.07), inset 0 1px 0 rgba(148, 163, 184, 0.08);
}
.simple-dd-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 1rem;
  border-radius: 0.5rem;
  min-width: 13rem;
  text-decoration: none;
  transition: background 160ms ease;
}
.simple-dd-item:hover {
  background: rgba(255, 255, 255, 0.09);
}
.simple-dd-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.3;
  letter-spacing: 0.015em;
}
.simple-dd-item:hover .simple-dd-title { color: #ffffff; }
.simple-dd-desc {
  font-size: 0.72rem;
  color: rgba(148, 163, 184, 0.72);
  line-height: 1.3;
}
.mega-col-head {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.08);
}
.mega-col-head h3 {
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.015em;
  color: #ffffff !important;
}
.mega-col-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.375rem;
  background: rgba(147, 197, 253, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.05rem;
}
.mega-col-icon svg {
  width: 0.9rem;
  height: 0.9rem;
  stroke: #93c5fd;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mega-col-desc {
  display: block;
  font-size: 0.72rem;
  color: rgba(148, 163, 184, 0.64);
  font-weight: 400;
  margin-top: 0.125rem;
  letter-spacing: 0.01em;
}

/* Category label in mega menu columns */
.mega-cat-label {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(147, 197, 253, 0.55);
  padding: 0.15rem 0.5rem 0.3rem;
  margin: 0 -0.5rem;
}

/* Product accordion category labels */
.category-label {
  display: block;
  background: #eff6ff;
  border-left: 2px solid #1e4ed8;
  padding: 0.25rem 0.625rem !important;
  border-radius: 0 4px 4px 0;
  font-weight: 700 !important;
  margin-top: 1rem !important;
  margin-bottom: 0.5rem !important;
}
.category-label:first-child {
  margin-top: 0 !important;
}

/* Match footer navigation: color-only hover for mega-menu links */
.site-header .dd-panel .mega-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0.85rem 0.3rem 1rem;
  margin: 0.05rem -0.85rem;
  border: 1px solid transparent;
  border-left: 3px solid transparent;
  border-radius: 0 0.5rem 0.5rem 0;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.35;
  color: rgba(203, 213, 225, 0.92);
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.site-header .dd-panel .mega-link::before { content: none; }
.site-header .dd-panel .mega-link:hover {
  background: transparent;
  color: #93c5fd;
  border-color: transparent;
  border-left-color: transparent;
}
.site-header .dd-panel .mega-link::after { content: none; }

/* Utility link (STC/PMA) */
.mega-link-util {
  font-size: 0.75rem;
  color: rgba(148, 163, 184, 0.7);
  margin-bottom: 0.25rem;
  letter-spacing: 0.02em;
}
.mega-link-util:hover {
  color: #93c5fd !important;
}
.mega-link-util:hover svg {
  stroke: #93c5fd;
}

/* Chevron for mega menu accordions */
.mega-chevron {
  width: 0.7rem;
  height: 0.7rem;
  stroke: rgba(148, 163, 184, 0.6);
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 200ms ease, stroke 200ms ease;
  flex-shrink: 0;
}
details.group[open] > summary .mega-chevron {
  transform: rotate(90deg);
  stroke: #93c5fd;
}
.site-header .dd-panel details.group > summary {
  font-weight: 500;
  font-size: 0.81rem;
  color: rgba(203, 213, 225, 0.85);
  padding: 0.34rem 0.5rem;
  margin: 0 -0.5rem;
  border-radius: 0;
  transition: background 160ms ease, color 160ms ease;
}
.site-header .dd-panel details.group > summary:hover {
  color: #bfdbfe;
  background: rgba(147, 197, 253, 0.08);
}
.site-header .dd-panel details.group[open] {
  padding: 0.2rem 0.5rem 0.3rem;
  margin: 0;
}
.site-header .dd-panel details.group[open] > summary {
  margin: 0;
  border-radius: 0;
  background: transparent;
}
.site-header .dd-panel .space-y-0\.5.text-\[13px\] {
  border-radius: 0.5rem;
  overflow: hidden;
}

/* Resource icon list */
.mega-res-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.5rem;
  margin: 0 -0.5rem;
  border-radius: 0.375rem;
  font-weight: 400;
  color: rgba(203, 213, 225, 0.85);
  transition: background 160ms ease, color 160ms ease;
}
.mega-res-link:hover {
  background: rgba(147, 197, 253, 0.08);
  color: #bfdbfe;
}
.mega-res-icon {
  width: 1rem;
  height: 1rem;
  stroke: rgba(148, 163, 184, 0.6);
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  transition: stroke 160ms ease;
}
.mega-res-link:hover .mega-res-icon { stroke: #93c5fd; }
.mega-col-resources {
  border-left: 1px solid rgba(148, 163, 184, 0.12);
  padding-left: 2rem;
}
.site-header a.inline-flex.rounded-full {
  border-radius: 0.625rem;
  box-shadow: 0 2px 8px rgba(30, 78, 216, 0.24);
  letter-spacing: 0.07em;
  padding-inline: 0.95rem !important;
  font-size: 0.69rem !important;
}
.site-header a.inline-flex.rounded-full:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(30, 78, 216, 0.3);
}
.dd-chevron {
  opacity: 1;
  margin-left: 0.25rem;
  position: relative;
  top: -1px;
  font-size: 1.1rem !important;
  font-weight: 700;
}
.site-header a:focus-visible,
.site-header summary:focus-visible,
#mobile-menu-button:focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 2px;
  border-radius: 0.375rem;
}
#mobile-nav:not(.mnvc) a:focus-visible,
#mobile-nav:not(.mnvc) summary:focus-visible {
  outline: none;
  background: rgba(96, 165, 250, 0.14);
  box-shadow: inset 3px 0 0 0 rgba(96, 165, 250, 0.85);
}
#mobile-nav .mob-cta:focus,
#mobile-nav .mob-cta:focus-visible {
  background: #1B46C4;
}

/* Header fallback fixes */
@media (min-width: 1024px) {
  .site-header .site-header-inner nav {
    gap: 1.15rem !important;
  }
  .site-header .site-header-inner nav > a,
  .site-header .site-header-inner nav > .dd > a {
    font-size: 0.82rem;
    letter-spacing: 0.015em;
  }
  [data-dd] .dd-panel { opacity: 0; transform: translateY(4px); pointer-events: none; transition: opacity 200ms ease, transform 200ms ease; }
  [data-dd].is-open .dd-panel { opacity: 1; transform: translateY(0); pointer-events: auto; }
  [data-dd].is-open .dd-chevron { transform: rotate(180deg); }
  .site-header .dd-panel .mega-accent-bar .grid {
    column-gap: 1.35rem;
    row-gap: 0.85rem;
  }
}
#mobile-menu-button > span {
  transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), opacity 200ms ease;
  transform-origin: center;
}
#mobile-menu-button.is-active > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#mobile-menu-button.is-active > span:nth-child(2) { opacity: 0; transform: scaleX(0.4); }
#mobile-menu-button.is-active > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile hamburger: minimum 44px touch target */
#mobile-menu-button {
  min-height: 44px;
  min-width: 44px;
  align-items: center;
  justify-content: center;
}

/* Force closed state by default on every page */
#mobile-menu-overlay,
#mobile-menu-panel {
  display: none;
  opacity: 0;
  pointer-events: none;
}
#mobile-menu-toggle:checked ~ #mobile-menu-overlay,
#mobile-menu-toggle:checked ~ #mobile-menu-panel {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

@media (min-width: 1280px) {
  #mobile-menu-overlay,
  #mobile-menu-panel {
    display: none !important;
  }
}

#mobile-nav:not(.mnvc) details[open] > summary svg:last-child {
  transform: rotate(180deg);
}

@media (max-width: 1279px) {
  #mobile-menu-panel {
    background: var(--pwi-canvas-gradient-header);
    border-top: 1px solid rgba(148, 163, 184, 0.25);
    box-shadow: inset 0 1px 0 rgba(147, 197, 253, 0.18);
  }
  /* Atmosphere ::before/::after live in the mnvc block below */
  #mobile-nav { padding-top: 1.25rem; padding-bottom: 1.5rem; letter-spacing: 0.005em; font-size: 1rem; }
  #mobile-nav:not(.mnvc) > a:not(.mob-cta),
  #mobile-nav:not(.mnvc) > details > summary {
    border: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    border-radius: 8px;
    background: transparent;
    padding: 0.8rem 0.75rem;
    margin: 0 -0.75rem;
    font-size: 0.975rem;
    font-weight: 500;
    color: rgba(248, 250, 252, 0.95);
    display: flex;
    align-items: center;
    gap: 0.65rem;
    letter-spacing: 0.01em;
    transition: background 160ms ease;
  }
  #mobile-nav:not(.mnvc) > a:not(.mob-cta):active,
  #mobile-nav:not(.mnvc) > details > summary:active {
    background: rgba(255, 255, 255, 0.06);
  }
  #mobile-nav:not(.mnvc) > details[open] > summary {
    color: #fff;
  }
  #mobile-nav:not(.mnvc) > details > .accordion-panel {
    margin-top: 0.5rem;
    border-radius: 10px;
    overflow: hidden;
  }
  #mobile-nav .mob-cta {
    display: block;
    margin-top: 0.75rem;
    text-align: center;
    border-radius: 999px;
    border: none;
    background: #1E4ED8;
    padding: 0.75rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    transition: background 200ms ease;
  }
  #mobile-nav .mob-cta:hover {
    background: #1B46C4;
  }
  #mobile-nav:not(.mnvc) details > .accordion-panel > div {
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    padding: 0.25rem 0 !important;
    box-shadow: none !important;
  }
  #mobile-nav:not(.mnvc) details details > summary {
    border: 0; border-radius: 0; background: transparent;
    padding: 0.5rem 0; font-size: 0.88rem; font-weight: 400;
    color: rgba(226, 232, 240, 0.88);
  }
  #mobile-nav:not(.mnvc) details details[open] > summary {
    color: #93c5fd;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel {
    margin: 0 0 0.5rem 0;
    padding: 0.35rem 0.45rem 0.45rem;
    border: 1px solid rgba(147, 197, 253, 0.26);
    border-radius: 0.5rem;
    background: rgba(147, 197, 253, 0.04);
    overflow: hidden;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem 0.5rem 1rem;
    margin: 0.05rem 0;
    border: 1px solid transparent;
    border-left: 3px solid transparent;
    background: transparent;
    border-radius: 0 0.5rem 0.5rem 0;
    font-size: 0.82rem;
    font-weight: 400;
    color: rgba(226, 232, 240, 0.7);
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: transparent;
    transition: background 160ms ease;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:hover,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus-visible,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:active {
    background: linear-gradient(135deg, rgba(30,78,216,0.1) 0%, rgba(96,165,250,0.04) 100%);
    color: #fff;
    border-color: rgba(96,165,250,0.15);
    border-left-color: rgba(96,165,250,0.8);
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:hover::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus-visible::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:active::before {
    background: rgba(96,165,250,0.8);
  }
  #mobile-nav .mob-quick-link {
    display: flex;
    padding: 0.4rem 0.5rem;
    margin: 0 -0.5rem;
    border-radius: 0.375rem;
    border: 0 !important;
    font-size: 0.85rem;
    font-weight: 400;
    color: rgba(226, 232, 240, 0.8);
    transition: background 160ms ease, color 160ms ease;
  }
  #mobile-nav .mob-quick-link:hover {
    background: rgba(147, 197, 253, 0.08);
    color: #93c5fd;
  }
  #mobile-nav .mob-section-divider {
    height: 1px;
    background: rgba(148, 163, 184, 0.15);
    margin: 0.5rem 0;
  }
  .mob-nav-footer {
    margin-top: auto !important;
    padding: 1.5rem 0 0.5rem;
    text-align: center;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.02em;
  }
  .mob-nav-footer a {
    color: rgba(255, 255, 255, 0.55);
    transition: color 160ms ease;
  }
  .mob-nav-footer a:hover {
    color: #93c5fd;
  }
  .mob-nav-footer-dot {
    display: inline-block;
    margin: 0 0.5rem;
    opacity: 0.4;
  }
}

/* ---- Mobile nav: Framer overlay structure + PWI brand language ---- */
@media (max-width: 1279px) {
  #mobile-menu-overlay {
    background: rgba(11, 26, 56, 0.55) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    transition: opacity 0.3s ease !important;
  }

  #mobile-menu-panel {
    transform: translateY(-6px);
    transition:
      opacity 0.32s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
    background: var(--pwi-canvas-gradient-header) !important;
    isolation: isolate;
  }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel {
    transform: none;
  }
  #mobile-menu-panel::before,
  #mobile-menu-panel::after {
    content: none !important;
    display: none !important;
  }

  #mobile-nav.mnvc {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    min-height: 100dvh;
    box-sizing: border-box;
    counter-reset: mnvc-i;
  }

  #mobile-nav.mnvc::before { content: none; display: none; }
  .mnvc-kicker,
  .mnvc-kicker-led { display: none !important; }

  /* Top-level: type-led + indexes, sized for PWI / Rubik */
  #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row,
  #mobile-nav.mnvc > a.mnvc-row--link {
    gap: 0.85rem;
    padding: 0.9rem 0.1rem;
    font-size: clamp(1.15rem, 4.2vw, 1.35rem);
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.25;
    color: rgba(248, 250, 252, 0.96);
    border: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row .mnvc-row-icon,
  #mobile-nav.mnvc > a.mnvc-row--link .mnvc-row-icon {
    display: none !important;
  }
  #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row .mnvc-row-label,
  #mobile-nav.mnvc > a.mnvc-row--link .mnvc-row-label {
    display: flex;
    align-items: baseline;
    gap: 0.85rem;
  }
  #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row .mnvc-row-label::before,
  #mobile-nav.mnvc > a.mnvc-row--link .mnvc-row-label::before {
    counter-increment: mnvc-i;
    content: counter(mnvc-i, decimal-leading-zero);
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgba(147, 197, 253, 0.65);
    font-variant-numeric: tabular-nums;
    transform: translateY(-0.08em);
  }
  #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row .mnvc-chevron {
    width: 18px;
    height: 18px;
    color: rgba(148, 163, 184, 0.45);
  }

  @keyframes mnvc-sheet-in {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
  }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-details,
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link,
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-divider,
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-lang,
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-footer {
    animation: mnvc-sheet-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-details:nth-of-type(1) { animation-delay: 0.06s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-details:nth-of-type(2) { animation-delay: 0.1s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(1) { animation-delay: 0.14s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(2) { animation-delay: 0.17s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(3) { animation-delay: 0.2s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(4) { animation-delay: 0.23s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(5) { animation-delay: 0.26s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link:nth-of-type(6) { animation-delay: 0.29s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-divider { animation-delay: 0.28s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-lang { animation-delay: 0.32s; }
  #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-footer { animation-delay: 0.36s; }

  @media (prefers-reduced-motion: reduce) {
    #mobile-menu-panel,
    #mobile-menu-overlay { transition: none !important; transform: none !important; }
    #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-details,
    #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > a.mnvc-row--link,
    #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-divider,
    #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-lang,
    #mobile-menu-toggle:checked ~ #mobile-menu-panel #mobile-nav.mnvc > .mnvc-footer {
      animation: none !important;
    }
  }

  .mnvc-row {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 0.75rem 0.1rem;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    list-style: none;
    text-decoration: none;
    transition: color 160ms ease, opacity 160ms ease;
  }
  .mnvc-row::-webkit-details-marker { display: none; }
  .mnvc-row::marker { content: ""; }

  .mnvc-row-icon {
    display: none;
  }
  .mnvc-row--link > .mnvc-row-icon,
  .mnvc-details > summary.mnvc-row > .mnvc-row-icon {
    display: none;
  }
  .mnvc-row-icon svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    stroke: currentColor;
  }
  .mnvc-row-label {
    flex: 1;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.2;
  }
  .mnvc-chevron {
    flex-shrink: 0;
    color: rgba(148, 163, 184, 0.5);
    transition: transform 180ms ease;
  }
  .mnvc-details[open] > summary .mnvc-chevron,
  .mnvc-cat[open] > summary .mnvc-chevron {
    transform: rotate(180deg);
  }

  .mnvc-details .mnvc-panel > .mnvc-link {
    margin-left: 0;
    padding-left: 0;
  }

  #mobile-nav.mnvc a,
  #mobile-nav.mnvc summary {
    -webkit-tap-highlight-color: transparent;
  }
  #mobile-nav.mnvc a::after,
  #mobile-nav.mnvc summary::after {
    content: none !important;
    display: none !important;
  }
  #mobile-nav.mnvc a:focus-visible,
  #mobile-nav.mnvc summary:focus-visible {
    /* Visible keyboard focus ring (inset so the scrolling menu panel cannot clip it). */
    outline: 2px solid rgba(147, 197, 253, 0.6);
    outline-offset: -2px;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }

  @media (hover: hover) and (pointer: fine) {
    #mobile-nav.mnvc > a.mnvc-row--link:hover,
    #mobile-nav.mnvc > .mnvc-details > summary.mnvc-row:hover {
      color: #bfdbfe;
      background: transparent;
    }
    .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat:hover,
    .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat:hover,
    .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat:hover,
    .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat:hover,
    .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat:hover {
      background: transparent;
      color: #bfdbfe;
    }
    a.mnvc-row--cat.mnvc-row--link:hover,
    a.mnvc-row--cat.mnvc-row--link:focus-visible {
      background: transparent;
      border-color: transparent;
      color: #bfdbfe;
    }
    a.mnvc-row--cat.mnvc-row--link:hover .mnvc-row-icon,
    a.mnvc-row--cat.mnvc-row--link:focus-visible .mnvc-row-icon {
      background: rgba(147, 197, 253, 0.12);
      color: #93c5fd;
    }
    .mnvc-link:hover,
    .mnvc-link:focus-visible {
      color: #bfdbfe;
      background: transparent;
    }
  }

  .mnvc-details[open] > summary,
  .mnvc-cat[open] > summary {
    color: #fff;
  }

  /* Nested products sheet */
  .mnvc-panel {
    padding: 0.35rem 0 1rem 0;
    margin: 0 0 0 0.15rem;
  }

  .mnvc-browse-all {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.1rem 0 0.75rem;
    padding: 0.55rem 0.95rem;
    min-height: 40px;
    border: 1px solid rgba(147, 197, 253, 0.28);
    border-radius: 999px;
    background: rgba(30, 78, 216, 0.22);
    color: #bfdbfe;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
  }
  .mnvc-browse-all svg {
    width: 14px;
    height: 14px;
    color: inherit;
  }
  .mnvc-browse-all:hover,
  .mnvc-browse-all:focus-visible {
    color: #fff;
    background: rgba(30, 78, 216, 0.38);
    border-color: rgba(147, 197, 253, 0.5);
  }

  .mnvc-cat {
    margin: 0 0 0.4rem;
    border: 1px solid transparent;
    border-radius: 14px;
    transition: background 180ms ease, border-color 180ms ease;
  }
  .mnvc-cat[open] {
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(147, 197, 253, 0.14);
  }
  .mnvc-panel > .mnvc-browse-all + .mnvc-cat { margin-top: 0; }

  .mnvc-row--cat {
    font-size: 0.95rem;
    font-weight: 500;
    padding: 0.55rem 0.1rem;
    min-height: 40px;
    color: rgba(248, 250, 252, 0.92);
    letter-spacing: -0.015em;
  }

  a.mnvc-row--cat.mnvc-row--link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    cursor: pointer;
    min-height: 48px;
    padding: 0.55rem 0.65rem;
    margin: 0 0 0.4rem;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    color: rgba(248, 250, 252, 0.92);
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
  }
  a.mnvc-row--cat.mnvc-row--link .mnvc-row-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(147, 197, 253, 0.12);
    color: #93c5fd;
    transition: background 180ms ease, color 180ms ease;
  }
  a.mnvc-row--cat.mnvc-row--link .mnvc-row-icon svg {
    width: 16px;
    height: 16px;
  }
  a.mnvc-row--cat.mnvc-row--link .mnvc-row-label {
    flex: 1;
    min-width: 0;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    text-transform: none;
    color: inherit;
  }
  a.mnvc-row--cat.mnvc-row--link:hover,
  a.mnvc-row--cat.mnvc-row--link:focus-visible {
    background: transparent;
    border-color: transparent;
    color: #bfdbfe;
  }
  a.mnvc-row--cat.mnvc-row--link:hover .mnvc-row-icon,
  a.mnvc-row--cat.mnvc-row--link:focus-visible .mnvc-row-icon {
    background: rgba(147, 197, 253, 0.12);
    color: #93c5fd;
  }
  a.mnvc-row--cat.mnvc-row--link:active {
    background: rgba(147, 197, 253, 0.08);
  }
  .mnvc-details[open] > .mnvc-panel > a.mnvc-row--cat.mnvc-row--link {
    animation: mnvc-link-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .mnvc-details[open] > .mnvc-panel > a.mnvc-row--cat.mnvc-row--link:nth-of-type(1) { animation-delay: 0.04s; }
  .mnvc-details[open] > .mnvc-panel > a.mnvc-row--cat.mnvc-row--link:nth-of-type(2) { animation-delay: 0.08s; }
  .mnvc-details[open] > .mnvc-panel > a.mnvc-row--cat.mnvc-row--link:nth-of-type(3) { animation-delay: 0.12s; }
  @media (prefers-reduced-motion: reduce) {
    .mnvc-details[open] > .mnvc-panel > a.mnvc-row--cat.mnvc-row--link { animation: none !important; }
  }

  .mnvc-cat-panel {
    margin: 0;
    padding: 0.05rem 0.45rem 0.55rem 0.55rem;
    border-left: 0;
  }
  .mnvc-cat > summary.mnvc-row--cat {
    pointer-events: none;
    min-height: 0;
    padding: 0.55rem 0.1rem 0.15rem;
  }
  .mnvc-cat > summary.mnvc-row--cat .mnvc-chevron,
  .mnvc-cat > summary.mnvc-row--cat .mnvc-row-icon { display: none; }
  .mnvc-cat > summary.mnvc-row--cat .mnvc-row-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #64748b;
  }

  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat {
    pointer-events: auto;
    cursor: pointer;
    align-items: center;
    gap: 0.75rem;
    min-height: 48px;
    padding: 0.55rem 0.65rem;
    margin: 0;
    border-radius: 12px;
    transition: color 160ms ease;
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat:active,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat:active,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat:active,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat:active,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat:active {
    background: rgba(147, 197, 253, 0.08);
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat .mnvc-row-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(147, 197, 253, 0.12);
    color: #93c5fd;
    transition: background 180ms ease, color 180ms ease;
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat .mnvc-row-icon svg,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat .mnvc-row-icon svg,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat .mnvc-row-icon svg,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat .mnvc-row-icon svg,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat .mnvc-row-icon svg {
    width: 16px;
    height: 16px;
  }
  .mnvc-cat[data-cat="cabin"][open] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="exterior"][open] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="reading"][open] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="fluorescent"][open] > summary.mnvc-row--cat .mnvc-row-icon,
  .mnvc-cat[data-cat="coils"][open] > summary.mnvc-row--cat .mnvc-row-icon {
    background: rgba(30, 78, 216, 0.55);
    color: #fff;
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat .mnvc-chevron,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat .mnvc-chevron,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat .mnvc-chevron,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat .mnvc-chevron,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat .mnvc-chevron {
    display: block;
    width: 16px;
    height: 16px;
    color: rgba(148, 163, 184, 0.55);
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat .mnvc-row-label {
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    text-transform: none;
    color: inherit;
  }
  .mnvc-cat[data-cat="cabin"] > summary.mnvc-row--cat:hover .mnvc-chevron,
  .mnvc-cat[data-cat="exterior"] > summary.mnvc-row--cat:hover .mnvc-chevron,
  .mnvc-cat[data-cat="reading"] > summary.mnvc-row--cat:hover .mnvc-chevron,
  .mnvc-cat[data-cat="fluorescent"] > summary.mnvc-row--cat:hover .mnvc-chevron,
  .mnvc-cat[data-cat="coils"] > summary.mnvc-row--cat:hover .mnvc-chevron {
    color: #93c5fd;
  }
  .mnvc-cat[data-cat="cabin"][open] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="exterior"][open] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="reading"][open] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="fluorescent"][open] > summary.mnvc-row--cat .mnvc-row-label,
  .mnvc-cat[data-cat="coils"][open] > summary.mnvc-row--cat .mnvc-row-label {
    color: #fff;
  }

  @keyframes mnvc-link-in {
    from { opacity: 0; transform: translateX(-8px); }
    to { opacity: 1; transform: none; }
  }
  .mnvc-link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 0.7rem;
    margin: 0.12rem 0;
    min-height: 42px;
    border-radius: 10px;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.3;
    color: rgba(203, 213, 225, 0.9);
    text-decoration: none;
    transition: background 160ms ease, color 160ms ease;
  }
  .mnvc-link-icon {
    display: inline-flex !important;
    flex-shrink: 0;
    color: rgba(147, 197, 253, 0.45);
    transition: color 160ms ease, transform 160ms ease;
  }
  .mnvc-link-icon svg {
    width: 14px;
    height: 14px;
  }
  .mnvc-link:hover,
  .mnvc-link:focus-visible {
    color: #bfdbfe;
    background: transparent;
  }
  .mnvc-link:hover .mnvc-link-icon,
  .mnvc-link:focus-visible .mnvc-link-icon {
    color: #93c5fd;
    transform: translateX(2px);
  }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link {
    animation: mnvc-link-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
  }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(1) { animation-delay: 0.02s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(2) { animation-delay: 0.05s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(3) { animation-delay: 0.08s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(4) { animation-delay: 0.11s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(5) { animation-delay: 0.14s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(6) { animation-delay: 0.17s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(7) { animation-delay: 0.2s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(8) { animation-delay: 0.23s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(9) { animation-delay: 0.26s; }
  .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link:nth-child(10) { animation-delay: 0.29s; }
  @media (prefers-reduced-motion: reduce) {
    .mnvc-cat[open] > .mnvc-cat-panel > .mnvc-link { animation: none !important; }
  }

  .mnvc-divider { display: none; }

  .mnvc-lang {
    margin: 1.25rem 0 0.5rem;
    padding-top: 0;
    border-top: 0;
  }
  .mnvc-lang-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 600;
    color: #64748b;
    margin: 0 0 0.65rem;
  }
  .mnvc-lang-grid { display: flex; flex-wrap: wrap; gap: 6px; }

  /* Bottom bar: meta + primary CTA */
  .mnvc-footer {
    position: sticky;
    bottom: 0;
    margin-top: auto;
    padding: 1.5rem 0 calc(1.1rem + env(safe-area-inset-bottom, 0px));
    background: linear-gradient(180deg, transparent 0%, var(--pwi-canvas-bottom) 42%);
    border-top: 0;
  }
  .mnvc-quickcontact {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    margin-bottom: 0.85rem;
    justify-content: stretch;
  }
  .mnvc-quick-btn {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px !important;
    padding: 0.65rem 0.75rem !important;
    border: 1px solid rgba(147, 197, 253, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
    color: rgba(241, 245, 249, 0.92) !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
  }
  .mnvc-quick-btn svg {
    width: 14px;
    height: 14px;
    color: #93c5fd;
  }
  .mnvc-quick-btn:hover,
  .mnvc-quick-btn:focus-visible {
    color: #fff !important;
    background: rgba(147, 197, 253, 0.12) !important;
    border-color: rgba(147, 197, 253, 0.45) !important;
    text-decoration: none !important;
  }
  #mobile-nav .mnvc-footer .mob-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0.875rem 1.5rem !important;
    border-radius: 999px;
    border: none !important;
    background: var(--brand, #1E4ED8) !important;
    color: #fff !important;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: background 200ms ease;
  }
  #mobile-nav .mnvc-footer .mob-cta:hover,
  #mobile-nav .mnvc-footer .mob-cta:focus-visible {
    background: #1B46C4 !important;
    color: #fff !important;
  }

  .mnvc-link[aria-current="page"] {
    color: #fff;
    font-weight: 500;
    background: rgba(30, 78, 216, 0.28);
    border-radius: 10px;
  }
  .mnvc-link[aria-current="page"] .mnvc-link-icon {
    color: #93c5fd;
  }
  .mnvc-cat.has-current > summary .mnvc-row-label::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #93c5fd;
    margin-left: 8px;
    vertical-align: middle;
  }
  .mnvc-row--link[aria-current="page"] {
    color: #93c5fd;
  }
}



/* ================================================
   PWI Site-Wide CSS Overrides
   Loaded after tailwind.css to patch UI issues.
   ================================================ */

/* ---- 1. TABLET NAV: force mobile layout at 768-1279px (desktop nav needs ~1280px+) ---- */
@media (min-width: 768px) and (max-width: 1279.98px) {
  .site-header .site-header-inner > nav.md\:flex {
    display: none !important;
  }
  #mobile-menu-button.md\:hidden {
    display: flex !important;
  }
  #mobile-menu-overlay.md\:hidden {
    display: block !important;
  }
  #mobile-menu-panel.md\:hidden {
    display: block !important;
  }
}

/* ---- 1b. TABLET NAV INNER STYLES: apply mobile nav styling at 768-1279px ----
   Per-page <style> blocks only cover max-width:767px; this extends them to tablets. */
@media (min-width: 768px) and (max-width: 1279.98px) {
  /* Keep atmosphere layers from the mobile mnvc block */
  #mobile-nav {
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
    letter-spacing: 0.005em;
  }
  #mobile-nav:not(.mnvc) > a:not(.mob-cta),
  #mobile-nav:not(.mnvc) > details > summary {
    border: 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    border-radius: 8px;
    background: transparent;
    padding: 0.8rem 0.75rem;
    margin: 0 -0.75rem;
    font-size: 1.05rem;
    font-weight: 500;
    color: rgba(248, 250, 252, 0.95);
    display: flex;
    align-items: center;
    gap: 0.65rem;
    letter-spacing: 0.01em;
    transition: background 160ms ease;
  }
  #mobile-nav:not(.mnvc) > a:not(.mob-cta):active,
  #mobile-nav:not(.mnvc) > details > summary:active {
    background: rgba(255, 255, 255, 0.06);
  }
  #mobile-nav:not(.mnvc) > details[open] > summary {
    color: #fff;
  }
  #mobile-nav:not(.mnvc) > details > .accordion-panel { margin-top: 0.5rem; }
  #mobile-nav .mob-cta {
    display: block;
    margin-top: 0.75rem;
    text-align: center;
    border-radius: 999px;
    border: none;
    background: #1E4ED8;
    padding: 0.75rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    transition: background 200ms ease;
  }
  #mobile-nav .mob-cta:hover { background: #1B46C4; }
  #mobile-nav:not(.mnvc) details details > summary {
    border: 0; border-radius: 0; background: transparent;
    padding: 0.5rem 0; font-size: 0.88rem; font-weight: 400;
    color: rgba(226, 232, 240, 0.88);
  }
  #mobile-nav:not(.mnvc) details details[open] > summary { color: #93c5fd; }
  #mobile-nav:not(.mnvc) details details > .accordion-panel {
    margin: 0 0 0.5rem 0;
    padding: 0.2rem 0 0.3rem 0.75rem;
    border-left: 2px solid rgba(147, 197, 253, 0.25);
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem 0.5rem 1rem;
    margin: 0.05rem -0.5rem;
    border: 1px solid transparent;
    border-left: 3px solid transparent;
    background: transparent;
    border-radius: 0 0.5rem 0.5rem 0;
    font-size: 0.82rem; font-weight: 400;
    color: rgba(226, 232, 240, 0.7);
    transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: transparent;
    transition: background 160ms ease;
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:hover,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus-visible,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:active {
    background: linear-gradient(135deg, rgba(30,78,216,0.1) 0%, rgba(96,165,250,0.04) 100%);
    color: #fff;
    border-color: rgba(96,165,250,0.15);
    border-left-color: rgba(96,165,250,0.8);
  }
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:hover::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:focus-visible::before,
  #mobile-nav:not(.mnvc) details details > .accordion-panel a:active::before {
    background: rgba(96,165,250,0.8);
  }
  #mobile-nav .mob-quick-link {
    display: flex;
    padding: 0.4rem 0.5rem; margin: 0 -0.5rem;
    border-radius: 0.375rem;
    border: 0 !important;
    font-size: 0.85rem; font-weight: 400;
    color: rgba(226, 232, 240, 0.8);
    transition: background 160ms ease, color 160ms ease;
  }
  #mobile-nav .mob-quick-link:hover { background: rgba(147, 197, 253, 0.08); color: #93c5fd; }
  #mobile-nav .mob-section-divider {
    height: 1px;
    background: rgba(148, 163, 184, 0.15);
    margin: 0.5rem 0;
  }
  .mob-nav-footer {
    margin-top: auto !important;
    padding: 1.5rem 0 0.5rem;
    text-align: center;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.45);
    letter-spacing: 0.02em;
  }
  .mob-nav-footer a { color: rgba(255, 255, 255, 0.55); transition: color 160ms ease; }
  .mob-nav-footer a:hover { color: #93c5fd; }
  .mob-nav-footer-dot { display: inline-block; margin: 0 0.5rem; opacity: 0.4; }
}

/* ---- 1c. MOBILE NAV: polished top-level items (all mobile sizes) ---- */
#mobile-nav:not(.mnvc) > a:not(.mob-cta) {
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 0.8rem 0.75rem !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  border-radius: 8px !important;
  margin: 0 -0.75rem !important;
  transition: background 160ms ease !important;
}
#mobile-nav:not(.mnvc) > details > summary {
  font-size: 0.975rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  padding: 0.8rem 0.75rem !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1) !important;
  border-radius: 8px !important;
  margin: 0 -0.75rem !important;
  transition: background 160ms ease !important;
}
#mobile-nav:not(.mnvc) > a:not(.mob-cta):active,
#mobile-nav:not(.mnvc) > details > summary:active {
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Mobile nav headings already include real inline SVG icons from shared-layout.js. */
#mobile-nav:not(.mnvc) > details > summary > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}
#mobile-nav:not(.mnvc) > a:not(.mob-cta)::before {
  content: none !important;
}
#mobile-nav:not(.mnvc) > details > summary > span:first-child::before {
  content: none !important;
}

/* Sub-section headers: Cabin LED Systems, External LED Lighting, etc. */
#mobile-nav:not(.mnvc) details details > summary {
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
}

/* ---- 2. REQUEST A QUOTE BUTTON ---- */
.site-header nav a[href="request-quote"] {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  white-space: nowrap !important;
}

/* ---- 3. AIRCRAFT QUICK-NAV CARD HOVER/FOCUS ---- */
a.hp-aircraft {
  transition: background 220ms ease, border-color 220ms ease,
              transform 220ms ease, box-shadow 220ms ease !important;
}
a.hp-aircraft:hover,
a.hp-aircraft:focus-visible {
  background: rgba(59, 130, 246, 0.10) !important;
  border-color: rgba(59, 130, 246, 0.25) !important;
  border-left-color: #60A5FA !important;
  transform: translateX(3px);
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.12);
}
a.hp-aircraft:focus-visible {
  outline: 2px solid #3B82F6;
  outline-offset: 2px;
}

/* ---- 4. LEARN MORE CTA VISIBILITY ---- */
.hp-cap .hp-cap-cta {
  opacity: 0.85 !important;
}
@media (hover: hover) and (pointer: fine) {
  .hp-cap:hover .hp-cap-cta {
    opacity: 1 !important;
  }
}

/* ---- 5. PRODUCT IMAGE PADDING REDUCTION ---- */
.lg\:col-span-5 .aspect-\[16\/11\],
.lg\:col-span-5 .aspect-\[4\/3\] {
  padding: 0.75rem !important;
}
@media (min-width: 640px) {
  .lg\:col-span-5 .aspect-\[16\/11\],
  .lg\:col-span-5 .aspect-\[4\/3\] {
    padding: 1rem !important;
  }
}

/* ---- 6. MOBILE PRODUCT IMAGE ORDER ---- */
@media (max-width: 1023.98px) {
  .grid.grid-cols-1.lg\:grid-cols-12 {
    display: flex;
    flex-direction: column;
  }
  .grid.grid-cols-1.lg\:grid-cols-12 > .lg\:col-span-5 {
    order: -1;
  }
  .grid.grid-cols-1.lg\:grid-cols-12 > .lg\:col-span-7 {
    order: 0;
  }
}

/* ---- 6c. HERO IMAGE ORDER ON MOBILE: image above title ---- */
@media (max-width: 1023.98px) {
  .hero-layout.grid.grid-cols-1 > .hero-media {
    order: -1;
    flex-direction: column !important;
    gap: 0 !important;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
  /* Show only the first photo on mobile — two stacked images is too tall */
  .hero-layout.grid.grid-cols-1 > .hero-media > div:nth-child(n+2) {
    display: none !important;
  }
  .hero-layout.grid.grid-cols-1 > .hero-media > a {
    display: none !important;
  }
}

/* ---- 8. MODEL-NUMBER CHIPS: consistent rounded-lg at all sizes ---- */
.flex.flex-wrap.gap-1\.5 > span.rounded-full,
.flex.flex-wrap.gap-2 > span.rounded-full {
  border-radius: 0.5rem !important;
  padding: 0.2rem 0.6rem !important;
  font-size: 0.6875rem !important;
}
@media (min-width: 640px) {
  .flex.flex-wrap.gap-1\.5 > span.rounded-full,
  .flex.flex-wrap.gap-2 > span.rounded-full {
    padding: 0.25rem 0.75rem !important;
    font-size: 0.75rem !important;
  }
}

/* ---- 9. HERO TITLE: tame oversized headings on mobile ---- */
h1.hero-title-tight {
  font-size: clamp(1.75rem, 5.5vw, 3.75rem) !important;
}

/* ---- 6b. NAV LOGO ---- */
.pwi-header-logo-link {
  width: auto;
  height: var(--header-h);
  max-height: var(--header-h);
  min-height: 0;
  align-self: center;
  background: #fff;
  position: relative;
  z-index: 3;
  border-radius: 0;
  padding: 6px 10px;
  margin-left: -24px;
  box-shadow: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 0;
  box-sizing: border-box;
}
.pwi-header-logo {
  width: auto;
  height: calc(var(--header-h) - 12px);
  max-height: calc(var(--header-h) - 12px);
  max-width: none;
  object-fit: contain;
  object-position: center;
  display: block;
}
@media (max-width: 1279px) {
  .site-header-inner {
    align-items: center;
    box-sizing: border-box;
  }
  .pwi-header-logo-link {
    margin-left: -24px;
    margin-bottom: 0;
  }
  #mobile-menu-button {
    align-self: center;
    flex-shrink: 0;
  }
}
@media (max-width: 767px) {
  .site-header-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .pwi-header-logo-link {
    margin-left: -16px;
  }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .pwi-header-logo-link {
    margin-left: -24px;
  }
}
@media (max-width: 1279px) {
  #mobile-menu-panel {
    top: 0 !important;
    height: 100dvh !important;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    overscroll-behavior: contain;
  }
  #mobile-nav {
    min-height: 100dvh !important;
    /* ~22px above prior (header-h + 0.25rem); matches compact close bar so X never overlaps */
    padding-top: calc(3rem + env(safe-area-inset-top, 0px) + 0.15rem) !important;
    padding-bottom: 1rem !important;
    box-sizing: border-box;
  }

  /* Sticky close-button bar: solid navy so scrolling items never show through the X */
  .site-header:has(#mobile-menu-toggle:checked) {
    --mobile-close-bar-h: calc(3rem + env(safe-area-inset-top, 0px));
    height: var(--mobile-close-bar-h) !important;
    z-index: 120 !important;
    background: var(--pwi-canvas-top, #0b1a38) !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14) !important;
    box-shadow: 0 8px 16px -12px rgba(2, 8, 23, 0.55) !important;
  }
  #mobile-menu-toggle:checked ~ .site-header-inner {
    position: relative;
    z-index: 121;
    height: var(--mobile-close-bar-h, 3rem) !important;
    background: var(--pwi-canvas-top, #0b1a38) !important;
    pointer-events: none;
  }
  #mobile-menu-toggle:checked ~ .site-header-inner #mobile-menu-button {
    pointer-events: auto;
  }
  /* Comfortable ~20–24px tap pocket around the X; do not enlarge icons elsewhere */
  #mobile-menu-button.is-active {
    margin-top: 0;
    margin-right: 0.5rem;
    padding: 0.85rem;
  }
  #mobile-menu-toggle:checked ~ .site-header-inner .pwi-header-logo-link {
    visibility: hidden;
    pointer-events: none;
  }
  /* Panel scrolls under the sticky close bar */
  #mobile-menu-toggle:checked ~ #mobile-menu-panel {
    z-index: 110 !important;
  }
  #mobile-menu-toggle:checked ~ #mobile-menu-overlay {
    z-index: 105 !important;
  }
}

/* ---- 7. FOOTER LINK HOVER UNDERLINES ---- */
footer:not(.pwi-footer) a:hover,
footer:not(.pwi-footer) a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
footer:not(.pwi-footer) a:focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---- 10. NAV LINK FOCUS-VISIBLE RING ---- */
.site-header nav a:focus-visible,
.site-header a:focus-visible,
#pwi-lang-btn:focus-visible {
  outline: 2px solid rgba(147, 197, 253, 0.6) !important;
  outline-offset: 2px;
  border-radius: 3px;
}

/* ---- 11. PMA BADGE: proportionate radius on multi-line ---- */
.rounded-full[class*="flex-col"] {
  border-radius: 1rem !important;      /* rounded-2xl instead of full pill */
}

/* ---- 12. BODY CONTENT LINK FOCUS-VISIBLE ---- */
main a:focus-visible {
  outline: 2px solid #3B82F6;
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---- 13. SKIP-TO-CONTENT LINK ---- */
.skip-to-content {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 0.75rem 1.5rem;
  background: #1E4ED8;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  border-radius: 0 0 0.5rem 0;
}
.skip-to-content:focus-visible {
  left: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* ---- 15. MEGA MENU REDESIGN ---- */

/* Panel: deep glass surface with brand-blue top accent */
.site-header .dd-panel {
  top: 5rem !important;
  background: var(--pwi-canvas-bottom) !important;
  border-top: 1px solid rgba(30, 78, 216, 0.22) !important;
  box-shadow: none !important;
}

.site-header .dd-panel.dd-panel--compact {
  box-shadow: none !important;
  border-top: none !important;
}

/* Grid container: breathing room */
.mega-accent-bar > div {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* Desktop mega menu system: use one explicit card/grid pattern across all dropdowns */
.site-header .dd-panel .mega-grid {
  align-items: stretch !important;
}
.site-header .dd-panel .mega-card {
  background: transparent !important;
  border: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  align-self: stretch !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.site-header .dd-panel .mega-card:last-child {
  border-right: none !important;
}
.site-header .dd-panel .mega-grid--compact {
  align-items: start !important;
}
.site-header .dd-panel .mega-grid--docs {
  align-items: stretch !important;
}
.site-header .dd-panel .mega-card--compact {
  min-height: 0 !important;
  padding: 1.1rem 2rem 1.1rem !important;
}
.site-header .dd-panel .mega-card--doc {
  min-height: 0 !important;
  padding: 1rem 1.125rem 1.05rem !important;
  text-decoration: none !important;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

.site-header .dd-panel .mega-card--featured {
  background: rgba(96, 165, 250, 0.07) !important;
  border-radius: 0 !important;
}

.mega-featured-icon {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.75rem;
  background: rgba(96, 165, 250, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #60a5fa;
  margin-bottom: 1rem;
}
.mega-featured-icon svg {
  width: 1.625rem;
  height: 1.625rem;
  stroke: currentColor;
}
.mega-featured-kicker {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #93c5fd;
  margin-bottom: 0.5rem;
}
.mega-featured-title {
  font-size: 1.375rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.25;
  margin: 0 0 0.75rem;
}
.mega-featured-body {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: rgba(203, 213, 225, 0.82);
  margin: 0 0 0.85rem;
}
.mega-featured-cta {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #93c5fd;
  text-decoration: none;
  border-bottom: 1px solid rgba(147, 197, 253, 0.35);
  padding-bottom: 1px;
  transition: color 160ms ease, border-color 160ms ease;
}
.mega-featured-cta:hover,
.mega-featured-cta:focus-visible {
  color: #93c5fd;
  border-bottom-color: rgba(147, 197, 253, 0.5);
}
.site-header .dd-panel .mega-card--doc:hover {
  background: linear-gradient(180deg, rgba(147, 197, 253, 0.08), rgba(255, 255, 255, 0.04)) !important;
  border-color: rgba(147, 197, 253, 0.3) !important;
  transform: translateY(-1px);
}

.site-header .dd-panel .mega-card > .space-y-0,
.site-header .dd-panel .mega-card > .space-y-0.text-\[13px\],
.site-header .dd-panel .mega-card > .space-y-0.text-sm {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  flex: 0 0 auto !important;
}

/* Column header row */
.mega-col-head {
  align-items: center !important;
  gap: 0.75rem !important;
  margin-bottom: 0.5rem !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  min-height: 0 !important;
}

/* Icon: matches mobile nav style */
.mega-col-icon {
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 0.375rem !important;
  background: rgba(96, 165, 250, 0.15) !important;
  border: none !important;
  margin-top: 0 !important;
}
.mega-col-icon svg {
  width: 1rem !important;
  height: 1rem !important;
  stroke: #60a5fa !important;
  stroke-width: 1.5 !important;
}

/* Column title: sentence case, clean */
.mega-col-head h3 {
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: #ffffff !important;
}

/* Column subtitle: readable muted */
.mega-col-desc {
  font-size: 0.8rem !important;
  color: rgba(148, 163, 184, 0.82) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  margin-top: 0.12rem !important;
  line-height: 1.35 !important;
}

/* Normalize all secondary text inside desktop mega-menu cards so older patterns
   don't render mismatched subtitle sizing/weight/color. */
.site-header .dd-panel .mega-card p:not(.mega-cat-label),
.site-header .dd-panel .mega-card small,
.site-header .dd-panel .mega-card .mega-item-subtitle,
.site-header .dd-panel .mega-card .mega-link-subtitle,
.site-header .dd-panel .mega-card [data-mega-subtitle] {
  font-size: 0.875rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: rgba(148, 163, 184, 0.82) !important;
}
.mega-doc-kicker {
  display: inline-block !important;
  margin-top: 0.1rem !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  color: rgba(147, 197, 253, 0.8) !important;
}
.mega-doc-summary {
  margin-top: 0.45rem !important;
  font-size: 0.8rem !important;
  line-height: 1.5 !important;
  color: rgba(214, 224, 240, 0.78) !important;
}

/* Accordion summaries: indent hover on open */
.site-header .dd-panel details.group > summary {
  padding: 0.45rem 0.65rem !important;
  margin: 0.1rem -0.65rem !important;
  border-radius: 0.4rem !important;
  font-weight: 500 !important;
  font-size: 0.8125rem !important;
  color: rgba(203, 213, 225, 0.88) !important;
  background: transparent !important;
  transition: background 160ms ease, color 160ms ease, padding-left 160ms ease !important;
}
.site-header .dd-panel details.group > summary:hover {
  background: rgba(30, 78, 216, 0.07) !important;
  color: rgba(201, 216, 255, 0.98) !important;
  padding-left: 0.95rem !important;
}
.site-header .dd-panel details.group[open] > summary {
  border-radius: 0 0.4rem 0.4rem 0 !important;
  color: rgba(201, 216, 255, 0.98) !important;
  background: rgba(30, 78, 216, 0.06) !important;
  padding-left: 0.95rem !important;
  margin-left: -0.65rem !important;
}

/* Individual links: consolidated into single rule above (section "Pill hover for mega menu links") */

/* Preview option: dark technical-grid mega menu inspired by the reference. */
@media (min-width: 1024px) {
  .site-header .dd-panel {
    background: var(--pwi-canvas-bottom) !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-grid {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .site-header .dd-panel .mega-card--compact {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }
  .site-header .dd-panel .mega-accent-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-accent-bar > div {
    position: relative !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-grid {
    gap: 0 !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    max-width: none !important;
    width: 100% !important;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .site-header .dd-panel .mega-card,
  .site-header .dd-panel .mega-card--compact {
    min-height: 0 !important;
    padding: 1.25rem 1rem !important;
    background: transparent !important;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-card:last-child {
    border-right: 0 !important;
  }
  .site-header .dd-panel .mega-card--featured {
    background: rgba(96, 165, 250, 0.07) !important;
    border-radius: 0 !important;
    padding: 1.25rem 1.5rem !important;
  }
  .site-header .dd-panel .mega-col-head {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 0 !important;
    margin-bottom: 0.875rem !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
  .site-header .dd-panel .mega-col-icon {
    position: relative !important;
    z-index: 1 !important;
    width: 2rem !important;
    height: 2rem !important;
    margin-bottom: 0 !important;
    border-radius: 0.375rem !important;
    background: rgba(96, 165, 250, 0.15) !important;
    border: none !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-col-icon svg {
    stroke: #60a5fa !important;
    stroke-width: 1.5 !important;
  }
  .site-header .dd-panel .mega-col-head h3 {
    color: #e2e8f0 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
  }
  .site-header .dd-panel .mega-col-desc {
    display: block !important;
    max-width: 15rem !important;
    margin-top: 0.18rem !important;
    color: rgba(191, 219, 254, 0.56) !important;
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }
  .site-header .dd-panel .mega-card > .space-y-0,
  .site-header .dd-panel .mega-card > .space-y-0.text-\[13px\],
  .site-header .dd-panel .mega-card > .space-y-0.text-sm {
    gap: 0.18rem !important;
  }
  .site-header .dd-panel .mega-link {
    margin: 0.05rem -0.85rem !important;
    padding: 0.3rem 0.85rem 0.3rem 1rem !important;
    border-radius: 0 0.5rem 0.5rem 0 !important;
    border: 1px solid transparent !important;
    border-left: 3px solid transparent !important;
    color: rgba(203, 213, 225, 0.78) !important;
    font-size: 0.9375rem !important;
    line-height: 1.45 !important;
    background: transparent !important;
  }
  .site-header .dd-panel .mega-link:hover {
    color: #93c5fd !important;
    background: transparent !important;
    border-color: transparent !important;
    border-left-color: transparent !important;
  }
  .site-header .dd-panel .mega-menu-assist {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    position: relative !important;
    padding: 0.85rem 1.35rem !important;
    border-top: 0 !important;
    background: rgba(2, 8, 23, 0.12) !important;
    color: rgba(203, 213, 225, 0.78) !important;
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
  }
  .site-header .dd-panel .mega-menu-assist::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 100vw !important;
    height: 1px !important;
    transform: translateX(-50%) !important;
    background: rgba(148, 163, 184, 0.16) !important;
  }
  .site-header .dd-panel .mega-menu-assist span {
    color: #f8fafc !important;
    font-weight: 650 !important;
  }
  .site-header .dd-panel .mega-menu-assist a {
    color: #93c5fd !important;
    text-decoration: none !important;
  }
  .site-header .dd-panel .mega-menu-assist a:hover {
    color: #bfdbfe !important;
  }
}

/* ---- Desktop nav ↔ mobile/footer cohesion ---- */
@media (min-width: 768px) {
  .site-header {
    border-bottom-color: rgba(147, 197, 253, 0.12);
    box-shadow: 0 2px 14px rgba(2, 8, 23, 0.18);
  }

  .site-header nav a.btn-primary[href="request-quote"],
  .site-header nav a[href="request-quote"].btn-primary {
    border-radius: 999px !important;
    padding: 0.7rem 1.35rem !important;
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    background: var(--brand, #1E4ED8) !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .site-header nav a.btn-primary[href="request-quote"]:hover,
  .site-header nav a[href="request-quote"].btn-primary:hover {
    background: #1B46C4 !important;
    transform: none !important;
    box-shadow: none !important;
  }

  #pwi-lang-dd {
    border-radius: 14px !important;
    border: 1px solid rgba(147, 197, 253, 0.18) !important;
    background: rgba(11, 26, 56, 0.96) !important;
    box-shadow: 0 12px 32px rgba(2, 8, 23, 0.45) !important;
    overflow: hidden !important;
  }
  #pwi-lang-dd button[data-pwi-lang] {
    border-radius: 10px !important;
    margin: 2px !important;
    width: calc(100% - 4px) !important;
  }
  #pwi-lang-dd button[data-pwi-lang]:hover {
    background: transparent !important;
    color: #93c5fd !important;
  }

  .site-header .dd-panel {
    background: var(--pwi-canvas-bottom) !important;
    border-top: 1px solid rgba(147, 197, 253, 0.14) !important;
    box-shadow: 0 18px 40px rgba(2, 8, 23, 0.35) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .site-header .dd-panel .mega-accent-bar {
    border-top: 0 !important;
  }

  .site-header .dd-panel .mega-card,
  .site-header .dd-panel .mega-card--compact {
    border-right-color: rgba(147, 197, 253, 0.1) !important;
  }

  .site-header .dd-panel .mega-col-icon,
  .mega-col-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    background: rgba(147, 197, 253, 0.12) !important;
  }
  .site-header .dd-panel .mega-col-icon svg,
  .mega-col-icon svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #93c5fd !important;
    color: #93c5fd !important;
  }

  .site-header .dd-panel .mega-col-head p.font-medium,
  .site-header .dd-panel .mega-col-head h3 {
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.015em !important;
    color: rgba(248, 250, 252, 0.96) !important;
  }

  .site-header .dd-panel .mega-link {
    display: flex !important;
    align-items: center !important;
    margin: 0.1rem 0 !important;
    padding: 0.5rem 0.7rem !important;
    min-height: 38px !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 10px !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: rgba(203, 213, 225, 0.9) !important;
    background: transparent !important;
  }
  .site-header .dd-panel .mega-link:hover,
  .site-header .dd-panel .mega-link:focus-visible {
    color: #93c5fd !important;
    background: transparent !important;
    border-color: transparent !important;
    border-left-color: transparent !important;
  }

  .site-header .dd-panel .mega-card--featured {
    margin: 0.5rem !important;
    padding: 1.25rem 1rem !important;
    border-radius: 14px !important;
    border: 1px solid rgba(147, 197, 253, 0.14) !important;
    border-right: 1px solid rgba(147, 197, 253, 0.14) !important;
    background: rgba(255, 255, 255, 0.045) !important;
  }
  .mega-featured-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    background: rgba(147, 197, 253, 0.12) !important;
    color: #93c5fd !important;
    margin-bottom: 0.85rem !important;
  }
  .mega-featured-kicker {
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
    font-weight: 600 !important;
    color: #64748b !important;
  }
  .mega-featured-title {
    font-size: 1.15rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.5rem !important;
  }
  .mega-featured-body {
    font-size: 0.875rem !important;
    color: rgba(203, 213, 225, 0.88) !important;
    margin-bottom: 1rem !important;
  }
  .mega-featured-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 40px !important;
    padding: 0.55rem 0.95rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(147, 197, 253, 0.28) !important;
    background: rgba(30, 78, 216, 0.22) !important;
    color: #bfdbfe !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(147, 197, 253, 0.28) !important;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease !important;
  }
  .mega-featured-cta:hover,
  .mega-featured-cta:focus-visible {
    color: #fff !important;
    background: rgba(30, 78, 216, 0.38) !important;
    border-color: rgba(147, 197, 253, 0.5) !important;
  }

  .site-header .dd-panel .mega-menu-assist {
    gap: 0.85rem !important;
    padding: 1rem 1.5rem !important;
    background: transparent !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  .site-header .dd-panel .mega-menu-assist::before {
    background: rgba(147, 197, 253, 0.12) !important;
  }
  .site-header .dd-panel .mega-menu-assist span {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: rgba(203, 213, 225, 0.75) !important;
  }
  .site-header .dd-panel .mega-menu-assist a {
    display: inline !important;
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #93c5fd !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(147, 197, 253, 0.56) !important;
    text-underline-offset: 0.22em;
  }
  .site-header .dd-panel .mega-menu-assist a:hover {
    color: #bfdbfe !important;
    background: transparent !important;
    border-color: transparent !important;
    text-decoration-color: #bfdbfe !important;
  }
  .site-header .dd-panel .mega-menu-assist-path {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
  .site-header .dd-panel .mega-menu-assist-path + .mega-menu-assist-path {
    margin-left: 2.25rem !important;
  }
  .site-header .dd-panel .mega-menu-assist-path > span {
    font-size: 0.625rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(148, 163, 184, 0.78) !important;
    white-space: nowrap !important;
  }

  /* Products mega menu: Aircraft Lighting Finder — a compact CTA/tool panel
     nested at the bottom of the Coils & Magnetics column (which has the most
     spare room), visually set apart (tinted background + border) from the
     plain category link list above it so it doesn't read as another link. */
  .site-header .dd-panel .mega-card--compact .mega-card--finder {
    background: rgba(30, 78, 216, 0.1) !important;
    border: 1px solid rgba(147, 197, 253, 0.24) !important;
    border-radius: 14px !important;
    padding: 1rem 1.15rem 1.1rem !important;
    margin: 1rem 0 0 !important;
    gap: 0 !important;
    flex: 0 0 auto !important;
  }
  .mega-finder-icon {
    width: 2.1rem !important;
    height: 2.1rem !important;
    border-radius: 0.5rem !important;
    background: rgba(96, 165, 250, 0.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #60a5fa !important;
    margin-bottom: 0.7rem !important;
  }
  .mega-finder-icon svg {
    width: 1.05rem !important;
    height: 1.05rem !important;
    stroke: currentColor !important;
  }
  .site-header .dd-panel .mega-card--compact .mega-card--finder p.mega-finder-title {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #93c5fd !important;
    margin: 0 0 0.5rem !important;
  }
  .site-header .dd-panel .mega-card--compact .mega-card--finder p.mega-finder-body {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    color: rgba(203, 213, 225, 0.82) !important;
    margin: 0 0 0.85rem !important;
  }
  .mega-finder-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    align-self: flex-start !important;
    padding: 0.55rem 0.9rem !important;
    border-radius: 999px !important;
    background: rgba(30, 78, 216, 0.85) !important;
    color: #fff !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 160ms ease, transform 160ms ease !important;
  }
  .mega-finder-cta:hover,
  .mega-finder-cta:focus-visible {
    background: #1e4ed8 !important;
    transform: translateY(-1px) !important;
  }

  .simple-dd-bar {
    border: 1px solid rgba(147, 197, 253, 0.14);
    border-radius: 14px;
    background: rgba(11, 26, 56, 0.96);
    box-shadow: 0 12px 32px rgba(2, 8, 23, 0.4);
  }
  .simple-dd-item {
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
  }
  .simple-dd-item:hover {
    background: rgba(147, 197, 253, 0.1);
  }
}

/* ---- 1d. MOBILE NAV: section header cards (match desktop mega-col-head style) ---- */
#mobile-nav:not(.mnvc) details > .accordion-panel > div > div {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(148, 163, 184, 0.12) !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 2px 8px rgba(2, 8, 23, 0.2) !important;
  padding: 0.75rem 1rem !important;
  margin-bottom: 0.5rem !important;
}
#mobile-nav:not(.mnvc) details > .accordion-panel > div > div > .mega-col-head,
#mobile-nav:not(.mnvc) details > .accordion-panel > div > div > div:first-child:has(.mega-col-icon) {
  margin-bottom: 0.75rem !important;
  padding-bottom: 0.625rem !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1) !important;
}

/* ---- 1e. MOBILE NAV: no separator lines (Giga-style clean layout) ---- */

/* ---- 16. MOBILE MENU: match desktop dropdown panel design language ---- */

/* Dark panel — clean PWI navy sheet */
#mobile-menu-panel {
  background: var(--pwi-canvas-gradient-header) !important;
  border-top: none !important;
  box-shadow: none !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#mobile-menu-panel::-webkit-scrollbar,
#mobile-nav::-webkit-scrollbar,
.scrollbar-hide::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
#mobile-nav,
.scrollbar-hide {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#mobile-nav {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: hidden !important;
  background: transparent !important;
}

/* ---- 14. PREVENT HORIZONTAL PAGE OVERFLOW ON MOBILE ---- */
html {
  overflow-x: hidden !important;
  font-size: 17px;
  /* Ensure the root background matches site canvas (many pages set body bg via CSS vars,
     but `bg-canvas` isn't a real Tailwind class in this build). */
  background: var(--canvas, #F6F7F9);
}
body {
  overflow-x: hidden !important;
}
html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner,
*::-webkit-scrollbar-corner {
  background: var(--pwi-canvas-bottom);
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: var(--pwi-canvas-bottom);
}
@supports (overflow-x: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

/* ---- 15. STICKY FOOTER — prevents body background showing below footer on tall viewports ---- */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-weight: 400;
}
main {
  flex: 1 0 auto;
}
footer {
  flex-shrink: 0;
}
/* When CTA+footer live in .pwi-site-bottom after main, don't stretch main (avoids white gap above dark footer band) */
body:has(.pwi-site-bottom) main,
body:has(.pwi-home-site-bottom) main {
  flex: 0 0 auto;
}
body:has(.pwi-site-bottom) .pwi-site-bottom,
body:has(.pwi-home-site-bottom) .pwi-home-site-bottom {
  flex: 1 0 auto;
  margin-top: auto;
}

/* ---- 17. NAV SUB-LINKS: visual depth & scannability ---- */

@media (min-width: 1024px) {
  .site-header .dd-panel .mega-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-header .dd-panel .mega-grid--docs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .site-header .dd-panel .mega-grid--docs.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .site-header .dd-panel .mega-grid--docs.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .site-header .dd-panel .mega-grid--docs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-header .dd-panel .mega-grid--docs.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

/* Desktop mega-link text color consolidated into single rule above */

/* ---- 17a. PRODUCT MEGA MENU: restrained visual detail ---- */
@media (min-width: 1024px) {
  .site-header .dd-panel {
    background: var(--pwi-canvas-gradient-footer) !important;
    border-top-color: rgba(147, 197, 253, 0.12) !important;
  }
  .site-header .dd-panel .mega-accent-bar {
    background: var(--pwi-canvas-gradient-footer);
  }
  .site-header .dd-panel .mega-grid {
    gap: 0.65rem !important;
  }
  .site-header .dd-panel .mega-card--compact {
    position: relative;
    padding: 1.15rem 1rem 1.05rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    transition: none !important;
  }
  .site-header .dd-panel .mega-card--compact:hover,
  .site-header .dd-panel .mega-card--compact:has(.mega-link:focus-visible) {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
  .site-header .dd-panel .mega-col-head {
    width: auto;
    min-height: 0;
    margin-bottom: 0.65rem !important;
    padding: 0.15rem 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    transition: none;
  }
  .site-header .dd-panel .mega-col-head::after {
    content: none;
  }
  .site-header .dd-panel .mega-col-icon {
    background: rgba(147, 197, 253, 0.1);
    border: 0;
    box-shadow: none;
  }
  .site-header .dd-panel .mega-col-head p.font-medium {
    color: #93c5fd !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    line-height: 1.15 !important;
  }
  /* Reserve room for the tallest (3-line) column heading so link lists
     start at the same y in every column */
  .site-header .dd-panel .mega-col-head {
    min-height: 46.2px !important;
  }
  .site-header .dd-panel .mega-link {
    width: auto;
    padding: 0.3rem 0.5rem !important;
    margin: 0 -0.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(203, 213, 225, 0.92) !important;
    font-weight: 400 !important;
    transition: color 160ms ease !important;
  }
  @media (hover: hover) and (pointer: fine) {
    .site-header .dd-panel .mega-link:hover {
      background: transparent !important;
      border-color: transparent !important;
      color: #bfdbfe !important;
    }
  }
  .site-header .dd-panel .mega-card > .space-y-0,
  .site-header .dd-panel .mega-card > .space-y-0.text-\[13px\],
  .site-header .dd-panel .mega-card > .space-y-0.text-sm {
    padding-left: 0;
    border-left: 0;
  }
  .site-header .dd-panel .mega-menu-assist {
    margin-top: 0.15rem;
    border-radius: 0;
    background: transparent;
  }
  .site-header .dd-panel .mega-menu-assist::before {
    background: rgba(147, 197, 253, 0.12) !important;
  }
}

/* Mobile nav sub-items — smaller than 22px parent labels for hierarchy */
#mobile-nav:not(.mnvc) .mega-link {
    font-size: 16px !important;
}

/* Mobile sub-links: structured rows */
#mobile-nav:not(.mnvc) details > div a {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 0.75rem 0.75rem 0.75rem 1rem !important;
  margin: 0.05rem -0.25rem !important;
  border: 1px solid transparent !important;
  border-left: 3px solid transparent !important;
  border-radius: 0 0.5rem 0.5rem 0 !important;
  color: rgba(226, 232, 240, 0.88) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease !important;
}
#mobile-nav:not(.mnvc) details > div a::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: transparent !important;
  transition: background 160ms ease !important;
}
#mobile-nav:not(.mnvc) .mega-link {
  position: relative !important;
}
#mobile-nav:not(.mnvc) .mega-link::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: transparent !important;
  transition: background 160ms ease !important;
}
#mobile-nav:not(.mnvc) details > div a:hover,
#mobile-nav:not(.mnvc) details > div a:focus,
#mobile-nav:not(.mnvc) details > div a:focus-visible,
#mobile-nav:not(.mnvc) details > div a:active {
  background: linear-gradient(135deg, rgba(30,78,216,0.1) 0%, rgba(96,165,250,0.04) 100%) !important;
  color: #fff !important;
  border-color: rgba(96,165,250,0.15) !important;
  border-left-color: rgba(96,165,250,0.8) !important;
}
#mobile-nav:not(.mnvc) details > div a:hover::before,
#mobile-nav:not(.mnvc) details > div a:focus::before,
#mobile-nav:not(.mnvc) details > div a:focus-visible::before,
#mobile-nav:not(.mnvc) details > div a:active::before,
#mobile-nav:not(.mnvc) .mega-link:hover::before,
#mobile-nav:not(.mnvc) .mega-link:focus::before,
#mobile-nav:not(.mnvc) .mega-link:focus-visible::before,
#mobile-nav:not(.mnvc) .mega-link:active::before {
  background: rgba(96,165,250,0.8) !important;
}

/* ---- 18. PRODUCT PAGE SPEC ACCORDIONS: edge-to-edge on mobile, boxed on desktop ---- */

/* Mobile: remove card box and go edge-to-edge */
@media (max-width: 1023.98px) {
  main div:has(> .divide-y.divide-line) {
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  main div:not([class*="max-w"]):has(> div > .divide-y.divide-line) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Bump up accordion item padding to compensate for removed outer card padding */
main details > summary {
  padding-left: 1.75rem !important;
  padding-right: 1.75rem !important;
}
@media (min-width: 640px) {
  main details > summary {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
  }
}
main details > div {
  padding-left: 1.75rem !important;
  padding-right: 1.75rem !important;
}
@media (min-width: 640px) {
  main details > div {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
  }
}

/* ---- color-mix() FALLBACKS ---- */
.card-pop {
  border-color: #a3b8d8 !important;     /* fallback for color-mix */
}
@supports (color: color-mix(in oklab, red 50%, blue)) {
  .card-pop {
    border-color: color-mix(in oklab, var(--brand) 20%, var(--line)) !important;
  }
}

/* Photo gallery number badge — small corner pill */
.photo-number-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: auto;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 3px 10px;
  border-radius: 999px;
  z-index: 10;
}
.photo-number-badge span {
  font-size: 10px !important;
  letter-spacing: 0.08em;
}

/* Photo gallery — 3-column grid layout (fills full width, no side whitespace) */
section[aria-label="Product photo gallery"] > div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 100% !important;
  padding-left: 1rem;
  padding-right: 1rem;
}
section[aria-label="Product photo gallery"] > div > * {
  margin-top: 0 !important;
}
section[aria-label="Product photo gallery"] > div > .photo-gallery-notice {
  grid-column: 1 / -1;
}
@media (min-width: 640px) {
  section[aria-label="Product photo gallery"] > div {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  section[aria-label="Product photo gallery"] > div {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Photo gallery — consistent landscape aspect ratio */
.photo-grid .relative,
section[aria-label="Product photo gallery"] .grid .relative {
  aspect-ratio: 4 / 3;
}
.photo-grid .relative img,
section[aria-label="Product photo gallery"] .grid .relative img {
  min-height: unset !important;
}

/* Photo gallery — preview protection */
/* Invisible overlay intercepts right-click so browser won't offer "Save Image As" */
.photo-grid .relative::before,
section[aria-label="Product photo gallery"] .grid .relative::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: default;
}
/* "PWI PREVIEW" watermark — centered */
.photo-grid .relative::after,
section[aria-label="Product photo gallery"] .grid .relative::after {
  content: '© PWI, INC. — PREVIEW ONLY';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
  pointer-events: none;
  z-index: 3;
  white-space: nowrap;
  font-family: system-ui, -apple-system, sans-serif;
}
/* Prevent dragging images out of browser */
.photo-grid .relative img,
section[aria-label="Product photo gallery"] .grid .relative img {
  -webkit-user-drag: none;
  pointer-events: none;
}

/* Preview notice banner */
.photo-gallery-notice {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  padding: 0.75rem 1.125rem;
  font-size: 0.8125rem;
  color: #475569;
  line-height: 1.5;
}
.photo-gallery-notice svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  stroke: #94a3b8;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.photo-gallery-notice a {
  color: #1e4ed8;
  font-weight: 500;
  white-space: nowrap;
}

/* Feature badge pills */
.feature-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: #eef0f7;
  border: 1px solid #bfdbfe;
  padding: 0.625rem 1.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #1b3a8a;
  text-align: center;
  line-height: 1.4;
}

/* Photo gallery text column — hidden (full-width image layout) */
.photo-text-col {
  display: none;
}

/* Footer 4-column grid */
@media (min-width: 768px) {
  .footer-cols {
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1.25rem;
  }
}

/* Global polish — consistent media + focus */
img,
svg,
video,
canvas {
  max-width: 100%;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid rgba(147, 197, 253, 0.95);
  outline-offset: 2px;
}

/* Footer — normalize list indentation */
footer ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

footer li {
  overflow-wrap: anywhere;
}

/* Prevent long content from affecting grid sizing */
.footer-cols > * {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Translated <font> elements from Google Translate inherit wrapping */
.footer-cols font {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Trust card sub: sans-serif so long text fits on one line */
.trust-card-sub { font-family: var(--font-sans) !important; }

/* Model pills in hero approvals block — soft wells */
.model-pill {
  display: inline-flex;
  align-items: center;
  font-size: 0.6875rem;
  font-weight: 400;
  color: rgba(226,232,240,0.88);
  background: rgba(147,197,253,0.08);
  border: 1px solid rgba(147,197,253,0.18);
  border-radius: 999px;
  padding: 4px 11px;
  cursor: default;
}
.model-pill:hover {
  background: rgba(147,197,253,0.08);
  border-color: rgba(147,197,253,0.18);
  color: rgba(226,232,240,0.88);
}

/* Serial-number pills — static tags, not interactive */
.ka-data-table .sn-pill,
.sn-list .sn-pill,
.dark-card .sn-pill,
.dark-ref-table .sn-pill {
  font-weight: 400;
  color: #c5d0de;
  background: rgba(255,255,255,0.04);
  border-color: rgba(148,163,184,0.15);
  cursor: default;
}
.ka-data-table .sn-pill:hover,
.sn-list .sn-pill:hover,
.dark-card .sn-pill:hover,
.dark-ref-table .sn-pill:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgba(148,163,184,0.15);
  color: #c5d0de;
}

/* Spec table: sans-serif values, auto-width label column */
.spec-table td { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; }
.spec-table td:first-child { width: auto !important; white-space: nowrap; padding-right: 1.5rem !important; }
.spec-table td:last-child { font-family: var(--font-sans) !important; letter-spacing: normal !important; }

/* Benefits as spec-table: override label/mono styles for single-column rows */
.spec-table--benefits td { color: rgba(203,213,225,0.85) !important; width: auto !important; font-family: var(--font-sans) !important; font-size: 0.8125rem !important; letter-spacing: normal !important; font-weight: 400 !important; padding-right: 0 !important; }

@media (max-width: 480px) {
  .spec-table td:first-child { white-space: normal !important; padding-right: 0.75rem !important; }
  .spec-table td { vertical-align: top; }
}

/* Hero left column: align content to top instead of centering vertically */
.hero-grid > div:first-child { justify-content: flex-start !important; }

/* Match specs grid gap to feature cards gap */
.specs-grid { gap: 0.75rem !important; }

/* Benefits list in dark-card: stretch to fill height and space items evenly */
.dark-card > div:has(.benefit-item) {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}


/* Hide breadcrumb on mobile, compensate spacing with badge margin */
@media (max-width: 767px) {
  .breadcrumb { display: none !important; }
  .product-badge { margin-top: 0.5rem !important; }
  .dark-card { padding: 1rem 0.875rem !important; }
}

/* Tighter side padding on mobile for all page-width containers */
@media (max-width: 767px) {
  div[style*="max-width:1280px"],
  div[style*="max-width: 1280px"],
  div[style*="max-width:640px"],
  div[style*="max-width: 640px"] {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}

/* Footer — tighter spacing on mobile */
@media (max-width: 767px) {
  .footer-cols {
    row-gap: 1.25rem;
  }
  footer h3.uppercase {
    margin-bottom: 0.5rem !important;
  }
  footer .space-y-2 > :not([hidden]) ~ :not([hidden]),
  footer ul.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    margin-top: 0.25rem !important;
  }
}

/* Mobile hardening for repeated product-page patterns */
@media (max-width: 639px) {
  .hero-layout {
    gap: 1.5rem !important;
  }

  .hero-layout > * {
    min-width: 0;
  }

  .hero-layout .hero-media {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
  }

  .hero-layout .hero-media > * {
    min-width: 0;
  }

  .hero-pill {
    white-space: normal !important;
    text-align: center;
    justify-content: center;
    max-width: 100%;
    line-height: 1.35;
  }

  .pill-wrap,
  .pill-list .pill-wrap {
    gap: 0.375rem;
  }

  .sn-pill {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.6875rem;
    line-height: 1.35;
    padding: 3px 8px;
  }

  .flex.flex-wrap.gap-1\.5 > span[class*="rounded-md"][class*="bg-surface-soft"][class*="text-xs"] {
    font-size: 0.6875rem !important;
    line-height: 1.35 !important;
    padding: 3px 8px !important;
  }

  .reveal.mt-7.flex.flex-col.sm\:flex-row.sm\:flex-wrap.gap-3 > a,
  .reveal.mt-7.flex.flex-col.sm\:flex-row.sm\:flex-wrap.gap-3 > button {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  footer a.whitespace-nowrap,
  #mobile-nav a.whitespace-nowrap,
  #mobile-nav summary.whitespace-nowrap {
    white-space: normal !important;
  }
}

/* Fits grid — aircraft compatibility pills */
.fits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; }
@media (min-width: 480px) { .fits-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 640px) { .fits-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 0.5rem; } }

/* Products flyout sidebar nav */
.pwi-flyout {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 420px;
}
.pwi-ftabs {
  width: 210px;
  flex-shrink: 0;
  border-right: 1px solid rgba(148, 163, 184, 0.14);
  padding: 0.75rem 0;
  display: flex;
  flex-direction: column;
}
.pwi-frow { display: block; }
.pwi-ftab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem 0.65rem 1.25rem;
  font-size: 0.825rem;
  font-weight: 500;
  color: rgba(214, 224, 240, 0.73);
  border-left: 2px solid transparent;
  transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
  cursor: default;
  white-space: nowrap;
  gap: 0.5rem;
}
.pwi-frow:hover > .pwi-ftab,
.pwi-frow:focus-within > .pwi-ftab {
  background: linear-gradient(135deg, rgba(30,78,216,0.1) 0%, rgba(96,165,250,0.04) 100%);
  color: #fff;
  border-left-color: rgba(96,165,250,0.65);
}
.pwi-ftab-arrow {
  font-style: normal;
  font-size: 0.9rem;
  opacity: 0.3;
  flex-shrink: 0;
  transition: opacity 120ms ease, transform 120ms ease;
}
.pwi-frow:hover > .pwi-ftab .pwi-ftab-arrow,
.pwi-frow:focus-within > .pwi-ftab .pwi-ftab-arrow {
  opacity: 0.7;
  transform: translateX(2px);
}
.pwi-fp {
  position: absolute;
  left: 210px;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 1rem 1.5rem 1.25rem 1.75rem;
  display: none;
  gap: 1rem;
  z-index: 1;
}
.pwi-frow:hover > .pwi-fp,
.pwi-frow:focus-within > .pwi-fp {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  align-items: start;
}
.pwi-frow:hover > .pwi-fp--sm,
.pwi-frow:focus-within > .pwi-fp--sm {
  grid-template-columns: repeat(2, minmax(0, 260px));
  max-width: 580px;
}
.site-header .dd-panel .pwi-fp .mega-card--compact {
  padding: 1rem 1.125rem 1.05rem;
}

/* ---- Part numbers table wrapper: border on sm+ only ---- */
@media (min-width: 640px) {
  .pn-table-wrapper {
    border: 1px solid #cbd5e1;
  }
}

.site-header {
  box-shadow: none !important;
  border-bottom: none !important;
  outline: none !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
}

@media (max-width: 639px) {
  .ref-table tbody tr {
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.03) !important;
  }
}

/* ---- Prevent orphaned words ---- */
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* lg:flex utility — desktop nav breakpoint */
@media (min-width: 1024px) {
  .lg\:flex { display: flex; }
}

/* ================================================
   PWI FOOTER
   ================================================ */
.pwi-footer{background:var(--pwi-canvas-gradient-footer);border-top:1px solid rgba(147,197,253,.12);color:#94a3b8;font-size:.875rem;font-weight:400;line-height:1.6;width:100%;max-width:100%;--pwi-footer-pad-x:1.5rem}
.pwi-footer-shell{max-width:90rem;margin:0 auto;width:100%;box-sizing:border-box;padding:1.75rem 1.5rem 1.15rem}
.pwi-footer-frame{border:0;border-radius:0;background:transparent;overflow:visible}
.pwi-footer-board{display:grid;grid-template-columns:1fr}
@media(min-width:768px){.pwi-footer-board{grid-template-columns:minmax(260px,26%) 1fr}}
.pwi-footer-newsletter{padding:1rem 1.15rem}
@media(min-width:768px){.pwi-footer-newsletter{padding:1.15rem 1.35rem;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;gap:.85rem}}
.pwi-footer-links-grid{display:grid;grid-template-columns:1fr}
@media(min-width:768px){.pwi-footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){
  .pwi-footer-links-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr);
    column-gap:1.25rem;
  }
}
.pwi-footer-links-grid>.pwi-footer-col{padding:1rem 1.15rem}
@media(min-width:768px){
  .pwi-footer-links-grid>.pwi-footer-col{padding:1.15rem 1rem}
}
@media(min-width:1024px){
  .pwi-footer-links-grid>.pwi-footer-col{border:0!important;padding:1.15rem .85rem}
  .pwi-footer-links-grid>.pwi-footer-col:first-child{padding-left:1.25rem}
  .pwi-footer-links-grid>.pwi-footer-col:last-child{padding-right:1.25rem}
}
.pwi-footer-nl-deck{margin:0 0 .75rem;font-size:.875rem;line-height:1.5;font-weight:400;color:rgba(203,213,225,.9)}
.pwi-footer-nl-field{
  display:flex;align-items:center;gap:.35rem;
  border:1px solid rgba(147,197,253,.45);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  padding:.2rem .2rem .2rem 1rem;
  margin-bottom:.5rem;
  transition:border-color 160ms ease,box-shadow 160ms ease;
}
.pwi-footer-nl-field:focus-within{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.28)}
.pwi-footer-nl-input{flex:1;min-width:0;background:transparent;border:0;border-radius:0;color:#f1f5f9;font-size:.8125rem;font-weight:500;padding:.55rem 0;font-family:inherit;outline:none}
.pwi-footer-nl-input::placeholder{color:#64748b}
.pwi-footer-nl-submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;min-height:40px;margin:0;
  border:0;border-radius:999px;
  background:rgba(30,78,216,.5);color:#fff;
  cursor:pointer;padding:.25rem;
  transition:background 160ms ease,color 160ms ease;
}
.pwi-footer-nl-submit:hover{background:var(--brand,#1E4ED8);color:#fff}
.pwi-footer-nl-note{margin:0 0 .65rem;font-size:.6875rem;line-height:1.45;color:#64748b}
.pwi-footer-social-icons--col{margin-top:0}
.pwi-footer-utility{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;padding:.75rem 1.5rem;border-top:0;text-align:left}
.pwi-footer-utility-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%;min-width:0;gap:.65rem 1.25rem;line-height:1.35}
.pwi-footer-utility-row .pwi-footer-payment-list{flex:0 1 auto;min-width:0}
.pwi-footer-utility-row .pwi-footer-legal-links{flex:0 1 auto;margin-left:auto;justify-content:flex-end}
.pwi-footer-utility-row .pwi-footer-legal-links::before{content:none;display:none}
@media(min-width:768px){.pwi-footer-utility{padding:.7rem 1.5rem}.pwi-footer-utility-row{flex-wrap:nowrap;gap:.65rem 1.5rem}}
.pwi-home-site-bottom>.pwi-nl-section{display:none!important}
.pwi-footer-col{min-width:0;width:100%}
.pwi-footer-contact{font-style:normal;margin:0}
.pwi-footer a{text-decoration:none}
.pwi-footer a:focus{outline:none}
.pwi-footer a:focus-visible{text-decoration:none;outline:2px solid #60a5fa;outline-offset:3px;border-radius:.5rem}
.pwi-footer .pwi-footer-brand a:focus-visible{outline-offset:4px;border-radius:.375rem}
.pwi-footer .pwi-footer-nav-list a{border-radius:10px}
.pwi-footer .pwi-footer-brand a{display:inline-block}
.pwi-footer-fax-label{font-size:.7rem;color:#64748b;margin-left:.25rem}
.pwi-footer-address-row{margin-bottom:.2rem;align-items:flex-start}
.pwi-footer-address-row svg{align-self:flex-start;margin-top:0;flex-shrink:0}
.pwi-footer-company-name{display:block;font-weight:600;color:#fff;margin-bottom:.1rem}
.pwi-footer-nav-list--compact{margin-bottom:.45rem}
.pwi-footer-col-head{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#93c5fd;margin:0 0 .45rem}
.pwi-footer-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}
.pwi-footer-nav-list a{
  display:block;padding:.3rem .5rem;margin:0 -.5rem;
  line-height:1.3;color:rgba(203,213,225,.92);
  text-decoration:none;font-size:.875rem;font-weight:400;
  border-radius:10px;
  transition:color 160ms ease,background 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .pwi-footer-nav-list a:hover{color:#93c5fd;background:transparent;text-decoration:none}
}
.pwi-footer-contact-row{
  display:flex;align-items:center;gap:.6rem;
  color:rgba(203,213,225,.88);font-size:.875rem;font-weight:400;
  margin:0 0 .08rem;padding:.28rem .35rem;margin-left:-.35rem;margin-right:-.35rem;
  border-radius:10px;line-height:1.35;
  transition:background 160ms ease,color 160ms ease;
}
.pwi-footer-contact-row svg{
  flex-shrink:0;opacity:1;width:15px;height:15px;
  padding:6px;box-sizing:content-box;
  border-radius:10px;background:rgba(147,197,253,.12);color:#93c5fd;
}
.pwi-footer-contact-row a{color:inherit;text-decoration:none;transition:color 160ms ease;font-weight:400}
@media (hover: hover) and (pointer: fine) {
  .pwi-footer-contact-row:hover{background:transparent;color:#fff}
  .pwi-footer-contact-row a:hover{color:#93c5fd;text-decoration:none}
}
.pwi-footer-social-payments{display:none}
.pwi-footer-meta{display:none}
.pwi-footer-bottom{display:none}
.pwi-footer-cert-badges{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;margin-bottom:.55rem;width:100%}
.pwi-cert-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;box-sizing:border-box;
  font-size:.6875rem;font-weight:500;color:#bfdbfe;
  border:1px solid rgba(147,197,253,.22);border-radius:999px;
  background:rgba(30,78,216,.18);
  padding:.4rem .8rem;min-height:34px;
  white-space:normal;text-align:center;line-height:1.3;
  text-decoration:none;
  transition:background 160ms ease,border-color 160ms ease,color 160ms ease;
}
@media(min-width:768px){.pwi-footer-cert-badges{display:inline-flex;flex-direction:column;align-items:stretch;gap:.35rem;margin-bottom:.55rem;width:auto}.pwi-cert-badge{width:auto;max-width:none;min-height:0;font-size:.6875rem;padding:.35rem .75rem;white-space:nowrap;text-align:center;line-height:normal}}
@media (hover: hover) and (pointer: fine) {
  .pwi-footer a.pwi-cert-badge:hover{background:rgba(30,78,216,.38);border-color:rgba(147,197,253,.5);color:#fff;text-decoration:none}
}
.pwi-footer-copy{font-size:.7rem;color:#a8b4c4;letter-spacing:.02em;white-space:nowrap;line-height:1.35}
.pwi-footer-payment-list{display:flex;flex-wrap:wrap;align-items:center;gap:0;font-size:.6875rem;letter-spacing:.02em;color:#64748b;line-height:1.35}
.pwi-footer-payment-list span{
  display:inline-flex;align-items:center;
  color:rgba(226,232,240,.85);
  font-size:.6875rem;font-weight:500;
}
.pwi-footer-payment-list span:not(:last-child)::after{content:"\2022";display:inline-block;margin:0 .5em;color:#475569}
.pwi-footer-social-icons{display:inline-flex;align-items:center;gap:.55rem;width:fit-content}
.pwi-footer-social-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.35rem;height:2.35rem;border-radius:10px;
  background:rgba(147,197,253,.12);box-shadow:none;
  color:#93c5fd;
  transition:color 160ms ease,background 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .pwi-footer-social-icon:hover{color:#fff;background:rgba(30,78,216,.55);box-shadow:none}
}
.pwi-footer-legal-links{display:flex;flex-wrap:nowrap;align-items:center;gap:0;justify-content:flex-start;line-height:1.35;overflow:visible!important}
.pwi-footer-legal-links a{display:inline-flex;align-items:center;min-height:24px;font-size:.7rem;color:rgba(148,163,184,.9);text-decoration:none;letter-spacing:.02em;transition:color 160ms ease;white-space:nowrap}
.pwi-footer-legal-links a:not(:last-child)::after{content:"\00b7";margin:0 .5rem;color:rgba(148,163,184,.4)}
@media (hover: hover) and (pointer: fine) {
  .pwi-footer-legal-links a:hover{color:#e2e8f0;text-decoration:none}
}
.pwi-footer-brand{display:none!important}
.pwi-footer-accordion{margin:0}
.pwi-footer-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;list-style:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#93c5fd;margin:0 0 .4rem}
.pwi-footer-accordion-summary::-webkit-details-marker{display:none}
.pwi-footer-accordion-summary::marker{content:""}
.pwi-footer-accordion-chevron{display:none;flex-shrink:0;transition:transform 150ms ease}
@media(min-width:768px){
  .pwi-footer-accordion[open]>.pwi-footer-accordion-body{display:block!important}
  .pwi-footer-accordion>.pwi-footer-accordion-summary{pointer-events:none;cursor:default}
  .pwi-footer-accordion{border:0;background:transparent}
}
@media(max-width:767px){
  html,body{width:100%;max-width:100%;overscroll-behavior-x:none}
  html{background:var(--canvas,var(--pwi-canvas-bottom))}
  .site-header,.pwi-site-bottom,.pwi-home-site-bottom,.pwi-footer,main{width:100%;max-width:100%;box-sizing:border-box}
  .pwi-footer,.pwi-site-bottom,.pwi-home-site-bottom{overflow-x:clip}
  .pwi-footer-shell{padding-left:1.5rem;padding-right:1.5rem;padding-top:1.75rem;padding-bottom:1.5rem}
  .pwi-footer-newsletter{padding:0 0 1rem}
  .pwi-footer-links-grid>.pwi-footer-col{padding:0!important;border:0!important}
  .pwi-footer-col-head{margin-bottom:.2rem}
  .pwi-footer-frame{border:none;background:transparent}

  /* Newsletter — match nav pills / fields */
  .pwi-footer-nl-deck{font-size:.875rem;font-weight:400;color:rgba(203,213,225,.9);margin:0 0 .85rem}
  .pwi-footer-nl-field{
    display:flex;align-items:center;gap:.35rem;
    border:1px solid rgba(147,197,253,.28);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    padding:.2rem .2rem .2rem 1rem;
    margin-bottom:.65rem;
  }
  .pwi-footer-nl-input{padding:.55rem 0;font-size:.8125rem;font-weight:500}
  .pwi-footer-nl-submit{
    min-width:44px;min-height:44px;margin:0;
    border-radius:999px;
    background:rgba(30,78,216,.45);
    color:#fff;
  }
  .pwi-footer-nl-submit:hover{background:var(--brand,#1E4ED8);color:#fff}
  .pwi-footer-nl-note{color:#64748b;margin:0 0 .85rem}

  /* Social — icon wells like nav categories */
  .pwi-footer-social-icons{gap:.55rem}
  .pwi-footer-social-icon{
    width:44px;height:44px;border-radius:10px;
    background:rgba(147,197,253,.12);
    box-shadow:none;
    color:#93c5fd;
  }
  .pwi-footer-social-icon:active,
  .pwi-footer-social-icon:hover{
    background:rgba(30,78,216,.55);
    color:#fff;
    box-shadow:none;
  }

  /* Accordion sections — soft panels always, stronger when open */
  .pwi-footer-accordion{
    border:1px solid rgba(147,197,253,.1);
    border-radius:14px;
    margin:0 0 .35rem;
    background:rgba(255,255,255,.03);
    transition:background 180ms ease,border-color 180ms ease;
  }
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion{border-top:1px solid rgba(147,197,253,.1)}
  .pwi-footer-newsletter .pwi-footer-accordion{
    border:0;border-radius:0;margin:0;background:transparent;
  }
  .pwi-footer-accordion[open]{
    background:rgba(255,255,255,.055);
    border-color:rgba(147,197,253,.18);
  }
  .pwi-footer-newsletter .pwi-footer-accordion[open]{
    background:transparent;border-color:transparent;
  }
  /* Approvals/Resources/Company — flat divided rows, no pill background */
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion{
    border:none;
    border-radius:0;
    background:transparent;
    margin:0;
    border-bottom:1px solid rgba(147,197,253,.14);
  }
  .pwi-footer-links-grid>.pwi-footer-col:last-child .pwi-footer-accordion{
    border-bottom:none;
  }
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion[open]{
    background:transparent;
    border-color:rgba(147,197,253,.14);
  }
  .pwi-footer-accordion-summary{
    cursor:pointer;border-top:none;
    padding:.65rem .85rem;margin:0;
    min-height:44px;box-sizing:border-box;
    align-items:center;
    font-size:.95rem;font-weight:600;
    letter-spacing:-.015em;text-transform:none;
    color:rgba(248,250,252,.92);
    border-radius:13px;
  }
  .pwi-footer-accordion-summary:active{
    background:rgba(147,197,253,.07);
  }
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion-summary{
    border-radius:0;
    padding:.85rem .1rem;
  }
  .pwi-footer-newsletter .pwi-footer-accordion-summary{
    padding:0 0 .55rem;min-height:0;
    font-size:.7rem;font-weight:600;
    letter-spacing:.12em;text-transform:uppercase;
    color:#93c5fd;
    border-radius:0;
  }
  .pwi-footer-newsletter .pwi-footer-accordion-summary:active{
    background:transparent;
  }
  .pwi-footer-accordion[open] .pwi-footer-accordion-summary{
    padding-bottom:.4rem;color:#fff;
    border-radius:13px 13px 0 0;
  }
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion[open] .pwi-footer-accordion-summary{
    border-radius:0;
    padding-bottom:.4rem;
  }
  .pwi-footer-newsletter .pwi-footer-accordion[open] .pwi-footer-accordion-summary{
    color:#93c5fd;padding-bottom:.55rem;border-radius:0;
  }
  .pwi-footer-accordion[open] .pwi-footer-accordion-body{padding:0 .55rem .5rem .7rem}
  .pwi-footer-links-grid>.pwi-footer-col .pwi-footer-accordion[open] .pwi-footer-accordion-body{
    padding:0 .1rem .85rem;
  }
  .pwi-footer-accordion-chevron{display:block;width:16px;height:16px;color:rgba(148,163,184,.55)}
  .pwi-footer-accordion[open] .pwi-footer-accordion-chevron{transform:rotate(180deg);color:rgba(147,197,253,.7)}
  .pwi-footer-newsletter .pwi-footer-accordion-chevron{display:none}
  .pwi-footer-newsletter .pwi-footer-accordion-summary{cursor:default;pointer-events:none}

  /* Contact rows — icon wells + tap targets */
  .pwi-footer-contact-row{
    display:flex;align-items:center;gap:.75rem;
    margin:0 0 .2rem;width:100%;
    padding:.55rem .55rem;min-height:44px;
    border-radius:10px;
    font-size:.875rem;font-weight:400;
    color:rgba(203,213,225,.88);
    transition:background 160ms ease,color 160ms ease;
  }
  .pwi-footer-contact-row svg{
    flex-shrink:0;opacity:1;width:16px;height:16px;
    padding:10px;box-sizing:content-box;margin:-10px 0 -10px -2px;
    border-radius:10px;background:rgba(147,197,253,.12);color:#93c5fd;
  }
  .pwi-footer-contact-row a{
    min-height:0;padding:0;display:inline;align-items:center;
    color:inherit;font-weight:400;
  }
  .pwi-footer-contact-row:has(a):active,
  a.pwi-footer-contact-row:active{
    background:rgba(147,197,253,.1);color:#fff;
  }
  .pwi-footer-address-row{align-items:flex-start;padding-top:.65rem;padding-bottom:.65rem}
  .pwi-footer-address-row svg{margin-top:0;align-self:flex-start}
  .pwi-footer-company-name{color:#fff;font-weight:600}

  /* Resource / company links — mnvc-link style */
  .pwi-footer-nav-list{gap:.12rem}
  .pwi-footer-nav-list a,
  .pwi-footer-accordion .pwi-footer-nav-list a{
    display:flex;align-items:center;
    padding:.4rem .65rem;min-height:38px;
    margin:0;border-radius:10px;
    font-size:.875rem;font-weight:400;line-height:1.25;
    color:rgba(203,213,225,.88);
  }
  .pwi-footer-nav-list a:active{
    background:rgba(147,197,253,.1);color:#fff;text-decoration:none;
  }

  .pwi-footer-cert-badges{margin-bottom:.85rem!important;gap:.4rem!important;align-items:flex-start;width:auto}
  .pwi-cert-badge{
    width:auto;max-width:none;min-height:34px;
    font-size:.6875rem;font-weight:500;
    padding:.4rem .8rem;white-space:nowrap;text-align:left;line-height:normal;
    background:rgba(30,78,216,.18);
    border:1px solid rgba(147,197,253,.22);
    color:#bfdbfe;
  }
  .pwi-approvals-groups{
    gap:.4rem;margin-bottom:0!important;
    padding-left:.65rem;
    border-left:none;
  }
  .pwi-approvals-list{font-size:.75rem;width:100%;gap:.08rem;color:rgba(148,163,184,.82)}
  .pwi-approvals-label{
    margin-bottom:.12rem;
    font-size:.6rem;letter-spacing:.1em;
    color:rgba(100,116,139,.95);
  }

  /* Utility — clear stacked layers on mobile */
  .pwi-footer-utility{
    align-items:stretch;text-align:left;
    padding:1.1rem 0 calc(.95rem + env(safe-area-inset-bottom,0px));
    gap:.7rem;
    margin-top:.85rem;
  }
  .pwi-footer-utility-row{
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:.85rem;
  }
  .pwi-footer-utility-row .pwi-footer-payment-list{flex:none;width:100%}
  .pwi-footer-utility-row .pwi-footer-legal-links{
    margin-left:0;width:100%;
    justify-content:flex-start;
    padding-top:.55rem;
  }
  .pwi-footer-copy{
    white-space:normal;text-align:left;
    font-size:.6875rem;line-height:1.45;color:#a8b4c4;
  }
  .pwi-footer-payment-list{
    justify-content:flex-start;flex-wrap:wrap;gap:0;
  }
  .pwi-footer-payment-list span{
    display:inline-flex;align-items:center;
    color:rgba(226,232,240,.8);
    font-size:.625rem;font-weight:500;letter-spacing:.02em;
  }
  .pwi-footer-legal-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0.15rem 0.75rem;
    max-width:none;margin:0;
    justify-content:stretch;align-items:start;
  }
  .pwi-footer-utility-row .pwi-footer-legal-links::before{content:none;display:none}
  .pwi-footer-legal-links a:nth-child(1),
  .pwi-footer-legal-links a:nth-child(2),
  .pwi-footer-legal-links a:nth-child(3),
  .pwi-footer-legal-links a:nth-child(4),
  .pwi-footer-legal-links a:nth-child(5){order:0}
  .pwi-footer-legal-links a{
    white-space:normal;padding:0.15rem 0;font-size:.8125rem;line-height:1.35;min-height:0;
    display:block;
    color:rgba(203,213,225,.92);
  }
  .pwi-footer-legal-links a:not(:last-child)::after{content:none;display:none;margin:0}
}
.pwi-footer-brand{margin-bottom:1.5rem}
.pwi-footer-logo{width:96px;height:auto;background:#fff;padding:6px 8px;border-radius:0;display:block;margin-bottom:.9rem}
.pwi-footer-newsletter-col{display:none}
.pwi-site-bottom,
.pwi-home-site-bottom{background:var(--pwi-canvas-gradient-footer);width:100%;max-width:100%;--pwi-footer-pad-x:1.5rem}
.pwi-home-site-bottom .pwi-nl-section{background:transparent;border-top:1px solid rgba(148,163,184,.14);border-bottom:none}
.pwi-site-bottom>.site-cta:not(.led-cta){background:transparent!important;border-top:1px solid rgba(148,163,184,.14);border-bottom:none!important;padding-top:3rem!important;padding-bottom:2.5rem!important}
/* Transparent so CTA shares the footer gradient band (same as about/contact/product page CSS) */
.pwi-site-bottom>.site-cta.led-cta{background:transparent!important;border-top:none!important;border-bottom:none!important;box-shadow:none!important;padding:clamp(1.75rem,4vw,3rem) 0 clamp(2.75rem,5vw,4.25rem)!important;text-align:center}
.pwi-site-bottom>.site-cta h2,.pwi-site-bottom>.site-cta .about-cta-title,.pwi-site-bottom>.site-cta .dealer-cta-title{color:#f1f5f9!important;font-weight:600!important}
.pwi-site-bottom>.site-cta p:first-child,.pwi-site-bottom>.site-cta .about-cta-eyebrow,.pwi-site-bottom>.site-cta .dealer-cta-eyebrow,.pwi-site-bottom>.site-cta .text-xs{color:#93c5fd!important}
.pwi-site-bottom>.site-cta p:not(:first-child):not(.led-cta-note),.pwi-site-bottom>.site-cta .site-cta-lede,.pwi-site-bottom>.site-cta .about-cta-lede,.pwi-site-bottom>.site-cta .dealer-cta-lede,.pwi-site-bottom>.site-cta .text-sm{color:#94a3b8!important}
.led-cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.led-cta-icon{width:.85rem;height:.85rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.led-cta-note{margin-top:1.25rem;font-size:.875rem;color:#94a3b8}
.finder-crosslink-wrap{max-width:1280px;margin:0 auto;padding:.75rem clamp(24px, 5vw, 2rem) 0}
.finder-crosslink-wrap p{margin:0;font-size:.8125rem;color:rgba(148,163,184,.7)}
.finder-crosslink{color:#60a5fa;text-decoration:underline;text-underline-offset:2px;font-weight:500}
.finder-crosslink:hover,.finder-crosslink:focus-visible{color:#93c5fd}
.site-cta .finder-crosslink{display:inline!important;min-height:0!important;padding:0!important;border:none!important;border-radius:0!important;background:none!important;font-size:inherit!important;letter-spacing:normal!important;text-transform:none!important;text-decoration:underline!important}
.site-cta .finder-crosslink:hover,.site-cta .finder-crosslink:focus-visible{background:none!important;border-color:transparent!important}
@media(max-width:639px){.led-cta-actions .btn-primary,.led-cta-actions .pdf-cta-btn-secondary,.led-cta-actions .btn-secondary{width:100%;justify-content:center}}
.pwi-site-bottom .pwi-footer,
.pwi-home-site-bottom .pwi-footer{background:transparent!important;border-top:none}
.pwi-approvals-groups{display:grid;grid-template-columns:1fr;row-gap:.35rem;margin-bottom:.45rem;font-size:.75rem;font-weight:400;color:rgba(148,163,184,.82);line-height:1.35}
.pwi-approvals-label{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(100,116,139,.95);margin:0 0 .12rem}
.pwi-approvals-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.08rem;line-height:1.35}
@media(min-width:768px){.pwi-footer-newsletter-col{display:block}}
@media(min-width:1600px){
  .pwi-site-bottom,
  .pwi-home-site-bottom{--pwi-footer-pad-x:1.5rem}
  .pwi-footer{--pwi-footer-pad-x:1.5rem}
  .site-header-inner{padding-left:clamp(1.75rem,2vw,3rem)!important;padding-right:clamp(1.75rem,2vw,3rem)!important}
  .pwi-header-logo-link{margin-left:calc(-1 * clamp(1.75rem,2vw,3rem))!important}
  .site-header .site-header-inner>nav.md\:flex{gap:clamp(1.25rem,1.2vw,1.85rem);font-size:clamp(.875rem,.8vw,1rem)}
  .site-header nav a[href="request-quote"]{font-size:clamp(.78rem,.62vw,.9rem)!important;padding:.66rem 1.45rem!important}
  .site-header .dd-panel .mega-link{font-size:clamp(.9375rem,.85vw,1.15rem)!important;line-height:1.5!important}
  .site-header .dd-panel .mega-col-head h3{font-size:clamp(.95rem,.9vw,1.2rem)!important}
  .site-header .dd-panel .mega-col-icon{width:clamp(2rem,1.8vw,2.5rem)!important;height:clamp(2rem,1.8vw,2.5rem)!important}
  .site-header .dd-panel .mega-col-desc{font-size:clamp(.72rem,.6vw,.85rem)!important}
  .mega-featured-icon{width:clamp(3.25rem,2.8vw,3.75rem)!important;height:clamp(3.25rem,2.8vw,3.75rem)!important}
  .mega-featured-kicker{font-size:clamp(.75rem,.55vw,.8125rem)!important}
  .mega-featured-title{font-size:clamp(1.375rem,1.3vw,1.625rem)!important}
  .mega-featured-body{font-size:clamp(.9375rem,.75vw,1.0625rem)!important}
  .mega-featured-cta{font-size:clamp(.8125rem,.6vw,.9375rem)!important}
  .pwi-footer{font-size:clamp(.875rem,.55vw,1rem)}
  .pwi-footer-shell{padding-top:clamp(1.5rem,2vw,2.25rem);padding-bottom:clamp(1rem,1.25vw,1.35rem)}
  .pwi-footer-col-head,.pwi-footer-accordion-summary{font-size:clamp(.75rem,.42vw,.82rem);margin-bottom:.4rem}
  .pwi-footer-nav-list{gap:.12rem}
  .pwi-footer-nav-list a,.pwi-footer-contact-row{font-size:clamp(.875rem,.55vw,1rem)}
  .pwi-footer-copy,.pwi-footer-legal-links a{font-size:clamp(.75rem,.65vw,.875rem)}
  .pwi-footer-payment-list{font-size:clamp(.75rem,.65vw,.875rem)}
}
/* ================================================
   SHARED MOBILE PRODUCT TABLE LAYOUT
   Applies to all pages using .dark-ref-table or .ka-data-table.
   Edit here — do not duplicate inline per page.
   ================================================ */
.dark-ref-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.dark-ref-table thead th { background: rgba(255,255,255,0.035); padding: 0.75rem 1.25rem; text-align: left; font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); border-bottom: 1px solid rgba(148,163,184,0.12); }
.dark-ref-table tbody tr { border-bottom: 1px solid rgba(148,163,184,0.07); }
.dark-ref-table tbody tr:last-child { border-bottom: none; }
.dark-ref-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); }
.dark-ref-table tbody td { padding: 0.875rem 1.25rem; color: var(--body); vertical-align: top; line-height: 1.5; }
.dark-ref-table .pn { font-family: var(--font-mono); font-size: 0.75rem; color: #60a5fa; font-weight: 600; white-space: nowrap; }
.dark-ref-table .model-cell { font-weight: 700; color: #f1f5f9; }

/* ka-data-table — unified product table used on all product pages */
.ka-data-table { width: 100%; border-collapse: collapse; font-size: 0.8rem; }
.ka-data-table .pn { font-family: var(--font-mono); font-size: 0.75rem; color: var(--accent); font-weight: 600; }
.ka-data-table .not-approved { color: #f87171; }
@media (min-width: 768px) {
  .ka-data-table thead th { padding: 0.75rem 1.25rem; text-align: left; font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); border-bottom: 1px solid rgba(148,163,184,0.15); background: rgba(255,255,255,0.05); }
  .ka-data-table tbody tr { border-bottom: 1px solid rgba(148,163,184,0.08); }
  .ka-data-table tbody tr:last-child { border-bottom: none; }
  .ka-data-table tbody tr:nth-child(even) { background: rgba(255,255,255,0.02); }
  .ka-data-table tbody td { padding: 0.875rem 1.25rem; color: var(--body); vertical-align: top; line-height: 1.5; }
  .ka-data-table tbody td:first-child { color: var(--ink); font-weight: 600; }
  .ka-data-table .pn { white-space: nowrap; }
  .ka-data-table .center { text-align: center; }
}
.ka-table-scroll { overflow-x: auto; border: 1px solid rgba(148,163,184,0.15); border-radius: 0.875rem; }
@media (max-width: 767px) { .ka-table-scroll { border: none; border-radius: 0; padding: 0; } }

/* Spec row labels on dark cards — meet contrast on navy backgrounds */
.dark-card span[style*="rgba(148,163,184,0.7)"],
.dark-card span[style*="rgba(148, 163, 184, 0.7)"],
.dark-card div[style*="justify-content: space-between"] > span[style*="rgba(148, 163, 184, 0.7)"] {
  color: #cbd5e1 !important;
}

.pwi-footer-nl-note {
  color: #a8b4c4 !important;
}
.pwi-footer-fax-label {
  color: #a8b4c4 !important;
}

/* Language picker — keep dropdown above mega menu */
#pwi-lang-wrap {
  position: relative;
  z-index: 120;
}
#pwi-lang-dd {
  z-index: 250 !important;
}
#pwi-lang-btn:hover,
#pwi-lang-btn:focus-visible {
  color: #93c5fd;
}

/* Language control + footer legal — touch target sizing */
#pwi-lang-btn {
  min-height: 44px;
  min-width: 44px;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  /* Table → card layout */
  .dark-ref-table thead { display: none; }
  .dark-ref-table,
  .dark-ref-table tbody { display: block; width: 100%; max-width: 100%; }
  .dark-ref-table tbody tr {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.75rem;
    margin-bottom: 0.5rem;
    border: 1px solid rgba(148,163,184,0.15);
    border-radius: 0.75rem;
  }
  .dark-ref-table tbody tr:last-child { border-bottom: none; margin-bottom: 0; }

  /* Each cell: label above value */
  .dark-ref-table tbody td {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: none;
    padding: 0.35rem 0;
    font-size: 0.8rem;
  }
  .dark-ref-table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
    margin-bottom: 0.2rem;
  }

  /* Serial-number pills: wrap long labels inside card cells */
  .dark-ref-table tbody td .sn-pill,
  .ka-data-table tbody td .sn-pill {
    white-space: normal;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    height: auto;
  }

  /* Wrap container */
  .stc-table-wrap { border: none !important; border-radius: 0 !important; overflow: visible !important; }

  .ka-table-scroll {
    overflow: visible !important;
    border: none !important;
    border-radius: 0 !important;
  }

  /* ka-data-table — card pattern (citation, king air, etc.) */
  .ka-data-table,
  .ka-data-table tbody {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  .ka-data-table thead { display: none; }
  .ka-data-table tbody tr {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--line-strong);
    border-radius: 0.75rem;
    padding: 0.75rem 0.875rem;
    margin-bottom: 0.625rem;
    background: rgba(255,255,255,0.03);
  }
  .ka-data-table tbody tr:last-child { border-bottom: none; margin-bottom: 0; }
  .ka-data-table tbody td {
    display: block;
    padding: 0.35rem 0;
    border: none !important;
    font-size: 0.8125rem;
    line-height: 1.4;
  }
  .ka-data-table tbody td::before {
    content: attr(data-label);
    display: block;
    font-size: 0.5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--muted);
    margin-bottom: 0.2rem;
  }
  .ka-data-table .sn-toggle { padding: 0.5rem 0.875rem; font-size: 0.75rem; }
  .sn-list { padding-left: 0; margin-top: 0.375rem; }
  .ka-data-table .pn { white-space: normal; }
  .ka-data-table .center { text-align: left; }

  /* Section-divider rows (colspan) render as a plain label, not a floating card */
  .ka-data-table tbody tr:has(td[colspan]) {
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0.75rem 0 0.375rem;
    background: transparent;
  }
  .ka-data-table tbody td[colspan] {
    padding: 0 !important;
    background: transparent !important;
  }
  .ka-data-table tbody td[colspan]::before { content: none; }
}

.site-cta {
  background: #0a1930 !important;
  color: #f1f5f9;
  padding-top: 48px !important;
  padding-bottom: 68px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
  text-align: center;
}

.site-cta p:first-child,
.site-cta p.text-xs:first-child {
  color: #93c5fd !important;
}

.site-cta h2 {
  color: #f1f5f9 !important;
  font-weight: 700 !important;
}

.site-cta p:not(:first-child) {
  color: #94a3b8 !important;
}

/* Dark product CTAs: room for single-line lede on desktop */
.site-cta > div {
  max-width: 48rem !important;
}
.site-cta-lede {
  font-size: 0.875rem;
  color: #94a3b8;
  margin: 0 0 1.25rem;
  line-height: 1.6;
}
@media (min-width: 640px) {
  .site-cta-lede {
    white-space: nowrap;
  }
}

@media (max-width: 639px) {
  .site-cta {
    padding-top: 2rem !important;
    padding-bottom: 3rem !important;
  }

  main a.inline-flex.rounded-full,
  main button.inline-flex.rounded-full,
  main .btn-primary {
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  .site-cta .btn-primary,
  .site-cta .btn-secondary,
  .site-cta a[href^="tel:"],
  .site-cta a[href^="mailto:"] {
    min-height: 44px !important;
    align-items: center;
    justify-content: center;
  }
}

@media(min-width:1600px){
  .site-header .site-header-inner>nav.md\:flex{gap:clamp(1.25rem,1.2vw,1.85rem)!important;font-size:clamp(.875rem,.8vw,1rem)!important}
  .site-header .site-header-inner nav > a,
  .site-header .site-header-inner nav > .dd > a{font-size:clamp(.82rem,.75vw,1rem)!important}
  .site-header .site-header-inner nav a.inline-flex[href="request-quote"]{font-size:clamp(.78rem,.62vw,.9rem)!important;padding:.66rem 1.45rem!important}
}

@media (max-width: 639px) {
  main:has(.product-title) > section > div[style*="max-width:1280px"],
  main:has(.product-title) > div > div[style*="max-width:1280px"],
  main:has(.product-title) .site-cta > div {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 1279px) {
  #mobile-nav {
    padding-top: calc(3rem + env(safe-area-inset-top, 0px) + 0.15rem) !important;
  }

  /* Keep breathing room below the fixed close button while scrolling the menu */
  #mobile-nav:not(.mnvc)::before {
    content: "";
    display: block;
    position: sticky;
    top: 0;
    height: 0.75rem;
    margin-bottom: 0.25rem;
    background: linear-gradient(180deg, var(--pwi-canvas-top) 0%, var(--pwi-canvas-mid) 100%);
    z-index: 3;
    flex-shrink: 0;
  }

  #mobile-nav .mob-cta {
    margin-top: 0.35rem !important;
    margin-bottom: 0.65rem;
    border: 0 !important;
    box-shadow: none !important;
  }

  #mobile-nav.mnvc .mnvc-footer .mob-cta {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0.875rem 1.5rem !important;
    background: var(--brand, #1E4ED8) !important;
    color: #fff !important;
  }
}

/* Sitewide patch: utility classes referenced in page markup but dropped by the
   Tailwind content-purge (tailwind.config.js only scanned a subset of pages
   at the time site.css was last built). Restores correct spacing/sizing. */
.gap-14{gap:3.5rem}
.gap-16{gap:4rem}
.p-7{padding:1.75rem}
.top-4{top:1rem}
.w-72{width:18rem}
.w-80{width:20rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.tracking-\[0\.07em\]{letter-spacing:.07em}
@media (min-width: 640px) {
  .sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}
  .sm\:py-20{padding-top:5rem;padding-bottom:5rem}
  .sm\:pb-7{padding-bottom:1.75rem}
  .sm\:pb-8{padding-bottom:2rem}
  .sm\:pt-3{padding-top:.75rem}
  .sm\:mb-7{margin-bottom:1.75rem}
  .sm\:text-base{font-size:1rem;line-height:1.5rem}
  .sm\:text-lg{font-size:1.125rem;line-height:1.75rem}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}
}
@media (min-width: 1024px) {
  .lg\:py-24{padding-top:6rem;padding-bottom:6rem}
}

/* Ghost pills — soft blue language (overrides Tailwind white-outline utilities) */
a.rounded-full.border-white\/10,
a.rounded-full.border-white\/15,
a.rounded-full.border-white\/20,
button.rounded-full.border-white\/10,
button.rounded-full.border-white\/15,
button.rounded-full.border-white\/20 {
  border-color: rgba(147, 197, 253, 0.32) !important;
  background-color: rgba(147, 197, 253, 0.14) !important;
  color: #93c5fd !important;
}
a.rounded-full.border-white\/10:hover,
a.rounded-full.border-white\/15:hover,
a.rounded-full.border-white\/20:hover,
a.rounded-full.hover\:border-white\/40:hover,
button.rounded-full.border-white\/10:hover,
button.rounded-full.border-white\/15:hover,
button.rounded-full.border-white\/20:hover,
button.rounded-full.hover\:border-white\/40:hover {
  border-color: #1e4ed8 !important;
  background-color: #1e4ed8 !important;
  color: #fff !important;
}
:root {
  --pwi-btn-ghost-bg: rgba(147, 197, 253, 0.14);
  --pwi-btn-ghost-border: rgba(147, 197, 253, 0.32);
  --pwi-btn-ghost-hover-bg: #1e4ed8;
  --pwi-btn-ghost-hover-border: #1e4ed8;
}

/* ── Primary ── */
.btn-primary,
a.btn-primary,
button.btn-primary,
.hero-cta-primary,
.site-cta a[href*="request-quote"],
.site-cta a[href="contact"],
.site-cta .btn-primary,
.form-page-form .btn-primary,
.form-submit-button.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.7rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
  color: #fff;
  background: #1e4ed8;
  border: 1px solid #1e4ed8;
  transition: background 180ms ease, border-color 180ms ease;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
.hero-cta-primary:hover,
.site-cta a[href*="request-quote"]:hover,
.site-cta a[href="contact"]:hover,
.site-cta .btn-primary:hover,
.form-page-form .btn-primary:hover,
.form-submit-button.btn-primary:hover {
  background: #1b46c4;
  border-color: #1b46c4;
  color: #fff;
}

/* ── Ghost — secondary on dark surfaces ── */
.btn-ghost,
.hero-cta-secondary,
.product-hero-section .btn-secondary,
.site-cta a[href^="tel:"],
.site-cta a:not([href*="request-quote"]):not([href="contact"]):not([href^="tel:"]):not([href^="mailto:"]):not(.btn-primary),
.led-cta-btn-secondary,
.pdf-cta-btn-secondary,
.error-hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  padding: 0.7rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
  color: #93c5fd;
  background: var(--pwi-btn-ghost-bg);
  border: 1px solid var(--pwi-btn-ghost-border);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.btn-ghost:hover,
.hero-cta-secondary:hover,
.product-hero-section .btn-secondary:hover,
.site-cta a[href^="tel:"]:hover,
.site-cta a:not([href*="request-quote"]):not([href="contact"]):not([href^="tel:"]):not([href^="mailto:"]):not(.btn-primary):hover,
.led-cta-btn-secondary:hover,
.led-cta-btn-secondary:focus-visible,
.pdf-cta-btn-secondary:hover,
.pdf-cta-btn-secondary:focus-visible,
.error-hero-btn-secondary:hover {
  color: #fff;
  background: var(--pwi-btn-ghost-hover-bg);
  border-color: var(--pwi-btn-ghost-hover-border);
}

/* Legacy Tailwind white-outline pills on dark pages */
a.rounded-full.border-white\/20,
a.rounded-full.border-white\/15 {
  border-color: var(--pwi-btn-ghost-border) !important;
  background: var(--pwi-btn-ghost-bg) !important;
  color: #93c5fd !important;
}
a.rounded-full.border-white\/20:hover,
a.rounded-full.border-white\/15:hover,
a.rounded-full.border-white\/20.hover\:border-white\/40:hover,
a.rounded-full.border-white\/15.hover\:border-white\/40:hover {
  border-color: var(--pwi-btn-ghost-hover-border) !important;
  background: var(--pwi-btn-ghost-hover-bg) !important;
  color: #fff !important;
}

/* ── Secondary — light surfaces ── */
.form-page-form .btn-secondary,
.form-direct-link.btn-secondary,
.bg-surface .btn-secondary,
.section-pop .btn-secondary {
  color: #1e4ed8;
  background: rgba(147, 197, 253, 0.14);
  border-color: rgba(147, 197, 253, 0.32);
  font-weight: 600;
}

.form-page-form .btn-secondary:hover,
.form-direct-link.btn-secondary:hover,
.bg-surface .btn-secondary:hover,
.section-pop .btn-secondary:hover {
  color: #fff;
  background: #1e4ed8;
  border-color: #1e4ed8;
}

.btn-primary.gap-2,
.btn-ghost.gap-2 {
  gap: 8px;
}

/* Secondary in light site-cta sections (e.g. FAQ) */
.site-cta .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.7rem 1.5rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  box-sizing: border-box;
  color: #1e4ed8;
  background: rgba(147, 197, 253, 0.14);
  border: 1px solid rgba(147, 197, 253, 0.32);
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.site-cta .btn-secondary:hover,
.site-cta .btn-secondary:focus-visible {
  color: #fff;
  background: #1e4ed8;
  border-color: #1e4ed8;
}

/* Hub / dark hero CTA rows */
.hero-ctas .btn-primary,
.hero-ctas .btn-ghost {
  min-height: 44px;
}

/* Site-cta tel — beat inline styles on hub/engineering pages */
.site-cta a[href^="tel:"] {
  background: var(--pwi-btn-ghost-bg) !important;
  border: 1px solid var(--pwi-btn-ghost-border) !important;
  color: #93c5fd !important;
}
.site-cta a[href^="tel:"]:hover {
  background: var(--pwi-btn-ghost-hover-bg) !important;
  border-color: var(--pwi-btn-ghost-hover-border) !important;
  color: #fff !important;
}

/* ── Site-cta primary mailto (inline styles on product pages) ── */
.site-cta a[href^="mailto:"] {
  color: #fff !important;
  background: #1e4ed8 !important;
  border: 1px solid #1e4ed8 !important;
}

@media (hover: hover) and (pointer: fine) {
  .site-cta a[href^="mailto:"]:hover {
    background: #1b46c4 !important;
    border-color: #1b46c4 !important;
  }
}

/* ── Product hero: clickable gallery with corner badge ── */
.gallery-hero-link {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 1.125rem;
  cursor: pointer;
}
.gallery-hero-link .product-img-wrap {
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.gallery-hero-link .product-img-wrap img {
  transition: transform 400ms ease, opacity 200ms ease;
}
.gallery-hero-link:hover .product-img-wrap img {
  transform: scale(1.02);
}
.gallery-hero-badge {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f8fafc;
  background: rgba(7, 16, 30, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 9999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  transition: background 200ms ease, border-color 200ms ease;
}
.gallery-hero-link:hover .gallery-hero-badge {
  background: rgba(30, 78, 216, 0.82);
  border-color: rgba(96, 165, 250, 0.45);
}
@media (prefers-reduced-motion: reduce) {
  .gallery-hero-link .product-img-wrap img {
    transition: none;
  }
  .gallery-hero-link:hover .product-img-wrap img {
    transform: none;
  }
}

/* Smooth border-radius clipping on all card types site-wide */
.related-card,
.showcase-card,
.pdf-card,
.model-card,
.cert-card,
.mega-card {
  transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

/* Mobile — readable CTA label size (≥14px) */
@media (max-width: 639px) {
  .btn-primary,
  a.btn-primary,
  button.btn-primary,
  .hero-cta-primary,
  .site-cta a[href*="request-quote"],
  .site-cta a[href="contact"],
  .site-cta .btn-primary,
  .form-page-form .btn-primary,
  .form-submit-button.btn-primary,
  .btn-ghost,
  .hero-cta-secondary,
  .product-hero-section .btn-secondary,
  .site-cta a[href^="tel:"],
  .site-cta a:not([href*="request-quote"]):not([href="contact"]):not([href^="tel:"]):not([href^="mailto:"]):not(.btn-primary),
  .led-cta-btn-secondary,
  .pdf-cta-btn-secondary,
  .error-hero-btn-primary,
  .error-hero-btn-secondary,
  .site-cta .btn-secondary,
  .form-page-form .btn-secondary,
  .form-direct-link.btn-secondary,
  .bg-surface .btn-secondary,
  .section-pop .btn-secondary,
  .hero-ctas .btn-primary,
  .hero-ctas .btn-ghost,
  .error-hero-ctas a {
    font-size: 0.875rem;
    white-space: normal;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 374px) {
  .btn-primary,
  a.btn-primary,
  button.btn-primary,
  .hero-cta-primary,
  .site-cta .btn-primary,
  .btn-ghost,
  .hero-cta-secondary,
  .site-cta a[href^="tel:"],
  .site-cta a:not([href*="request-quote"]):not([href="contact"]):not([href^="tel:"]):not([href^="mailto:"]):not(.btn-primary),
  .led-cta-btn-secondary,
  .pdf-cta-btn-secondary {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ── Related products: rounded full-bleed tiles, label below ── */
.related-tiles { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.related-tile { display: block; text-decoration: none; }
.related-tile-frame { display: block; position: relative; overflow: hidden; border-radius: 1.25rem; aspect-ratio: 4/3; border: 1px solid rgba(148,163,184,0.14); }
.related-tile-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.related-tile:hover .related-tile-frame img { transform: scale(1.04); }
.related-tile-label { margin-top: 0.75rem; color: #e2e8f0; font-size: 0.875rem; font-weight: 500; }
.related-tile-sub { display: none; }
@media (max-width: 767px) { .related-tiles { grid-template-columns: 1fr; gap: 1.5rem; } }

/* Keep utility border/ring classes from bleeding through the full-height logo. */
header.site-header {
  border-bottom-width: 0 !important;
  box-shadow: none !important;
  --tw-ring-offset-shadow: 0 0 #0000 !important;
  --tw-ring-shadow: 0 0 #0000 !important;
}
header.site-header .pwi-header-logo-link {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: var(--header-h) !important;
  max-height: var(--header-h) !important;
  margin-left: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background-color: #fff !important;
}
@media (max-width: 1279px) {
  header.site-header #mobile-menu-button {
    margin-left: auto !important;
  }
}
@media (min-width: 1024px) {
  .site-header .dd-panel .mega-grid > .mega-card:not(.mega-card--featured) {
    border-right: 0 !important;
  }
}

/* ============================================================
   MOBILE-FIRST UX PASS (320–430px focus)
   Layout/spacing/tap-targets only — no content changes.
   ============================================================ */
html {
  scroll-padding-top: calc(var(--header-h) + 0.75rem);
}

@media (max-width: 767px) {
  /* Anchor jumps clear the fixed header */
  html {
    scroll-padding-top: calc(var(--header-h) + 0.85rem);
  }

  /* Predictable gutters across page types */
  .max-w-7xl.mx-auto.px-6,
  .max-w-3xl.mx-auto.px-6,
  .max-w-5xl.mx-auto.px-6 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  /* Surface sections: more vertical breathing room between stacked blocks */
  section.bg-surface {
    padding-top: 2rem;
    padding-bottom: 2.25rem;
  }

  /* Images never force horizontal scroll.
     Cover/fill tiles must keep height:100% — height:auto on absolute
     images clips portrait studio shots to empty white + a product tip. */
  main img {
    max-width: 100%;
    height: auto;
  }
  .pdf-card img {
    max-width: 100%;
    height: auto;
  }
  .showcase-img img,
  .related-tile-frame img,
  .related-card img,
  .product-img-wrap img,
  .product-img-wrap-2 img {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  /* Long technical headings wrap at word boundaries (avoid mid-word breaks) */
  main h1,
  main h2,
  main h3,
  .product-title,
  .showcase-title,
  .pdf-hero-title {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
  }

  /* Form controls: usable touch targets */
  main input[type="text"],
  main input[type="email"],
  main input[type="tel"],
  main input[type="search"],
  main input[type="url"],
  main input[type="number"],
  main select,
  main textarea,
  .form-page-form input,
  .form-page-form select,
  .form-page-form textarea {
    min-height: 44px;
    font-size: 16px; /* prevents iOS zoom-on-focus */
  }
  main textarea,
  .form-page-form textarea {
    min-height: 7.5rem;
  }

  /* Soft cards: slightly more padding on phones */
  .dark-card {
    padding: 1.1rem 1rem !important;
  }

  /* Spec / zebra list cards already edge-flush — keep readable type */
  .tw-spec-row,
  .cw-cap-row,
  .cw-equip-row,
  .fg-uses-row,
  .cmB-spec-row,
  .mkB-spec-row {
    font-size: 0.9375rem;
    line-height: 1.45;
  }

  /* CTA band: stack with comfortable gap */
  .led-cta-actions,
  .site-cta .flex,
  .hero-ctas {
    gap: 0.75rem;
  }
}

@media (max-width: 639px) {
  /* Phone hero titles: scale down from oversized desktop clamps */
  .hero-dark h1,
  .eng-hero-title,
  .pdf-hero-title,
  h1.hero-title-tight {
    font-size: clamp(1.85rem, 8.2vw, 2.55rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em;
  }

  /* Body copy readability */
  .hero-dark .hero-desc,
  .hero-dark p.text-slate-300,
  section.bg-surface .text-body,
  section.bg-surface p.text-sm,
  section.bg-surface p.text-base {
    line-height: 1.6;
  }

  /* Full-width primary actions in hero/CTA groups */
  .hero-ctas > a,
  .hero-ctas > button,
  .eng-hero-ctas > a,
  .led-cta-actions > a,
  .product-site-cta-actions > a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  /* Showcase / product grids: single column with clearer gaps */
  .showcase-grid {
    gap: 1.25rem !important;
  }

  /* Quick-jump / filter pills already stacked — ensure 44px height */
  .led-quick-jump,
  .pdf-filter-btn {
    min-height: 44px !important;
  }
}

/* Ultra-narrow phones (iPhone SE / 320px) */
@media (max-width: 374px) {
  :root {
    --header-h: 60px;
  }

  .max-w-7xl.mx-auto.px-6,
  .max-w-3xl.mx-auto.px-6,
  .max-w-5xl.mx-auto.px-6,
  .pwi-footer-shell {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  .hero-dark h1,
  .eng-hero-title,
  .pdf-hero-title,
  h1.hero-title-tight {
    font-size: clamp(1.65rem, 9vw, 2.1rem) !important;
  }

  .site-cta {
    padding-top: 1.75rem !important;
    padding-bottom: 2.5rem !important;
  }

  .pwi-footer-shell {
    padding-top: 1.5rem !important;
    padding-bottom: 1.25rem !important;
  }
}

/* Inline note links in CTA bands: enlarge tap area without changing copy */
@media (max-width: 767px) {
  .led-cta-note a[href^="mailto:"],
  .led-cta-note a[href^="tel:"],
  .about-cta-note a[href^="mailto:"],
  .about-cta-note a[href^="tel:"] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.35rem 0;
  }
}

/* Prefer reduced motion: keep layout, drop nonessential transitions */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .showcase-card,
  .related-tile-frame img {
    transition: none !important;
    animation: none !important;
  }
}
