/* Part 2: page-specific styling only. Core tokens/components live in styles.css. */
.page-hero{position:relative;isolation:isolate;min-height:300px;padding:calc(var(--header-height) + 84px) 0 70px;background:linear-gradient(110deg,#08121c,#193747);overflow:hidden}
.page-hero--photo{min-height:345px}
.page-hero__media{position:absolute;inset:0;z-index:-1;background:var(--machine-light),linear-gradient(115deg,#08121c,#27475b)}
.page-hero__media img{width:100%;height:100%;object-fit:cover;object-position:65% center}
.page-hero__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08121cf7 0%,#08121cdb 46%,#08121c79 100%)}
.page-hero__content{position:relative;max-width:none}
.page-hero__content>*{max-width:900px}
.page-hero h1{font-size:clamp(3.6rem,6.5vw,6.7rem)}
.page-hero p:not(.eyebrow){color:#E0ECF4;margin-top:20px;max-width:66ch}
.page-hero .eyebrow{margin-bottom:15px}
.crumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.87rem;color:#DAE8F0;margin-bottom:22px}
.crumbs a{color:#DAE8F0}
.crumbs [aria-current]{color:var(--cyan)}
.decision-surface{background:var(--paper);color:var(--paper-ink);padding:clamp(48px,6vw,96px) 0}
.decision-surface p{color:#344C5C}
.decision-surface :focus-visible{outline-color:#85531c!important}
.demo-notice{border-left:4px solid #986128;background:#fff9e9;color:#553715;padding:15px 18px;border-radius:0 10px 10px 0;line-height:1.5}
.demo-notice strong{display:block;color:#50310e}
.demo-notice p{color:#50310e;margin-top:4px}
.section-kicker{font-weight:600;font-size:.92rem;color:#0C6477}
.decision-intro{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:0 0 34px}
.decision-intro h2{font-size:clamp(2.6rem,4vw,4rem)}
.decision-intro p{max-width:42ch}
/* Catalogue: reliable table, understandable without scripting */
.catalogue-layout{min-width:0}
.catalogue-layout .demo-notice{margin-bottom:20px}
.catalogue-toolbar{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr) auto;align-items:end;gap:16px;background:#fff;padding:20px;border:1px solid #c1d0d9;border-radius:16px}
.catalogue-toolbar .field{width:100%}
.catalogue-toolbar .button{white-space:normal}
.catalogue-toolbar .button-dark{min-height:48px}
.js-only{display:none!important}
.js .js-only{display:inline-flex!important}
.catalogue-categories{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0 18px;list-style:none}
.catalogue-categories a{display:inline-flex;align-items:center;min-height:44px;border:1px solid #7992a2;border-radius:999px;color:#173647;text-decoration:none;font-size:.92rem;font-weight:600;padding:9px 17px;transition:background .18s ease,color .18s ease,border-color .18s ease}
.catalogue-categories a:hover,.catalogue-categories a:focus-visible,.catalogue-categories a[aria-current='true']{color:#fff;background:#164456;border-color:#164456}
.catalogue-status{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 14px;color:#294352;font-size:.94rem}
.catalogue-status strong{color:#172e3e}
.catalogue-table-wrap{border:1px solid #c4d3dd;border-radius:14px;overflow:auto;background:white}
.catalogue-table{min-width:930px;margin:0}
.catalogue-table th{position:sticky;top:0;z-index:1;background:#DDE8EE;white-space:nowrap}
.catalogue-table tbody tr{scroll-margin-top:calc(var(--header-height) + 30px)}
.catalogue-table tr[hidden]{display:none}
.catalogue-table td{padding:12px 14px}
.catalogue-table td:last-child{min-width:196px}
.part-cell{display:flex;align-items:center;gap:12px;min-width:225px}
.part-thumb{display:block;position:relative;flex:none;width:64px;height:64px;border-radius:10px;overflow:hidden;background:radial-gradient(circle at 65% 25%,#507083,#122b3b 66%,#08121c)}
.part-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .15s ease}
.catalogue-table tr:hover .part-thumb img{transform:scale(1.07)}
.part-name{display:block;color:#173340;font-weight:600}
.part-illustrative{display:block;color:#536a78;font-size:.78rem;margin-top:3px}
.sku-code{font-size:.89rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:#213f50}
.table-actions{display:flex;flex-wrap:wrap;gap:7px 14px;max-width:245px}
.table-actions a{display:inline-flex;min-height:44px;align-items:center;line-height:1.25}
.table-actions a:first-child{color:#075b70}
.catalogue-empty{padding:30px;border:1px solid #b7cad6;border-radius:12px;background:#fff;margin-top:12px}
.catalogue-empty[hidden]{display:none}
.table-help{margin-top:13px;font-size:.86rem}
.catalogue-note{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:#e0eaf0;border-radius:14px}
.catalogue-note p{max-width:70ch}
/* Detail: high-contrast specs + non-faked gallery */
.detail-main{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);gap:clamp(24px,5vw,72px);align-items:start}
.detail-gallery{min-width:0}
.detail-primary{position:relative;aspect-ratio:1.1;border-radius:22px;border:1px solid #7893a5;overflow:hidden;background:radial-gradient(circle at 48% 35%,#618498,#102736 67%)}
.detail-primary img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .2s ease,object-position .2s ease}
.detail-primary::after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid rgba(84,227,245,.35);border-radius:inherit}
.gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}
.gallery-thumb{position:relative;min-height:80px;aspect-ratio:1.15;overflow:hidden;background:#1B3648;border:2px solid transparent;border-radius:10px;padding:0;color:white;cursor:pointer}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.gallery-thumb:nth-child(2) img{transform:scale(1.38);transform-origin:30% 55%}
.gallery-thumb:nth-child(3) img{transform:scale(1.44);transform-origin:70% 45%}
.gallery-thumb:nth-child(4) img{transform:scale(1.25);transform-origin:50% 80%}
.gallery-thumb[aria-pressed='true']{border-color:#08677a;box-shadow:0 0 0 2px white inset}
.gallery-caption{margin-top:10px;font-size:.9rem}
.detail-id{font-weight:600;font-variant-numeric:tabular-nums;color:#0b6072;margin-bottom:15px}
.detail-copy h2{font-size:clamp(2.7rem,4.4vw,4.7rem)}
.detail-copy>p{margin-top:14px}
.detail-facts{margin-top:24px;padding:20px;border:1px solid #bfd0db;background:#fff;border-radius:14px}
.detail-facts h3{font:600 1.02rem/1.4 var(--font-body);letter-spacing:normal;margin-bottom:9px}
.detail-facts ul{padding-left:20px;color:#344C5C}
.detail-facts li+li{margin-top:7px}
.specification{margin-top:70px}
.specification h2,.related-section h2{font-size:clamp(2.6rem,4vw,4.4rem)}
.specification .detail-table{margin-top:24px;max-width:860px;background:#fff}
.detail-table th,.detail-table td{padding:15px 18px}
.detail-table th{color:#355062}
.detail-table td{color:#122a38;font-weight:600}
.detail-table caption{text-align:left;padding-bottom:12px;color:#334d5c}
.detail-lower{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:50px;align-items:start}
.quote-aside{position:sticky;top:calc(var(--header-height) + 25px);border-radius:16px;background:#102738;color:#f7fbff;padding:26px;box-shadow:var(--shadow-lift)}
.quote-aside h3{font-size:2rem}
.quote-aside p{color:#d6e3ec;margin:12px 0 22px}
.quote-aside .button{white-space:normal;width:100%}
.related-section{padding-top:64px}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.related-card{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:13px;background:#fff;border:1px solid #b5c9d7}
.related-card h3{font:600 1.05rem/1.4 var(--font-body);letter-spacing:0}
.related-card p{font-size:.87rem}
.related-card a{font-weight:600;color:#075b70;min-height:44px;display:inline-flex;align-items:center;margin-top:auto}
.sample-resource{margin:32px 0;padding:22px;background:#dde8ee;border-radius:12px}
.sample-resource strong{display:block}
.sample-resource p{margin-top:8px}
/* RFQ is intentionally not a real sending form. */
.rfq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:clamp(24px,5vw,65px);align-items:start}
.rfq-form{padding:clamp(20px,4vw,42px);border:1px solid #c1d3dc;background:#fff;border-radius:18px}
.rfq-form h2{font-size:clamp(2.5rem,4vw,4rem)}
.rfq-form>p{margin:10px 0 24px}
.rfq-form .demo-notice{margin-bottom:27px}
.rfq-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.rfq-form-grid .field--full{grid-column:1/-1}
.rfq-form-grid .field{align-self:start}
.rfq-form-grid .field>label{color:#203c4b}
.field-hint{font-size:.83rem;color:#415969}
.rfq-form input[type=file]{padding:12px;background:#edf4f7}
.rfq-form input[type=file]::file-selector-button{border:1px solid #6a8190;background:#fff;border-radius:8px;color:#102330;min-height:40px;padding:8px 12px;margin-right:12px;cursor:pointer}
.rfq-form textarea{min-height:130px}
.rfq-form .field-error{display:block;min-height:0;font-size:.86rem;color:#a51e2a}
.rfq-form .field-error:empty{display:none}
.rfq-form [aria-invalid='true']{border:2px solid #b42330}
.rfq-action-row{margin-top:24px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.rfq-action-row [type=submit]{cursor:not-allowed}
.rfq-submit-disabled{background:#e4edf2!important;color:#4a6372!important;border:1px solid #a3bac7!important;border-radius:12px;box-shadow:none!important}
.rfq-action-row .button{max-width:100%;white-space:normal}
.preview-action{display:none}
.pages-ready .preview-action{display:inline-flex}
.demo-preview{margin-top:25px;padding:20px;border:1px solid #84aeba;border-left:4px solid #0c6477;border-radius:10px;background:#e5f3f6}
.demo-preview[hidden]{display:none}
.demo-preview h3{font:600 1.17rem/1.3 var(--font-body);letter-spacing:0}
.demo-preview p{margin:8px 0;color:#264552}
.demo-preview dl{display:grid;grid-template-columns:minmax(80px,130px) minmax(0,1fr);gap:8px 12px;margin-top:14px;overflow-wrap:anywhere}
.demo-preview dt{font-weight:600}
.demo-preview dd{margin:0}
.rfq-form .form-summary[hidden]{display:none}
.rfq-form .form-summary{margin:18px 0 0}
.rfq-aside{padding:22px;border:1px solid #bed0dc;background:#e0ebf1;border-radius:14px}
.rfq-aside h3{font-size:2.25rem}
.rfq-aside p{margin:12px 0}
.rfq-aside ol{padding-left:20px;color:#344c5c}
.rfq-aside li+li{margin-top:13px}
.rfq-aside .media-shell{aspect-ratio:1.5;border-radius:12px;margin:22px 0}
/* About: image-led dark chapters, no false corporate history */
.about-hero{min-height:clamp(560px,70vh,770px);display:flex;align-items:center;padding:calc(var(--header-height) + 90px) 0 110px}
.about-hero .page-hero__content>*{max-width:870px}
.about-hero h1{max-width:11ch;font-size:clamp(4rem,8vw,8rem)}
.about-chapter{background:var(--canvas);padding:clamp(64px,9vw,134px) 0}
.about-chapter--deep{background:#08121c}
.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,90px)}
.about-grid--reverse .about-art{order:2}
.about-grid h2{max-width:12ch}
.about-grid p:not(.eyebrow){color:var(--body);margin-top:19px}
.about-art{position:relative;aspect-ratio:1.1;border-radius:22px;border:1px solid #4d7186;box-shadow:var(--shadow-depth)}
.about-art--wide{aspect-ratio:1.5}
.about-blueprint{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-block:1px solid var(--steel-line);padding:24px 0;margin-top:32px}
.about-blueprint div{border-left:2px solid #54e3f5;padding-left:15px}
.about-blueprint strong{display:block;color:#f7fbff}
.about-blueprint span{display:block;color:#b7cad7;font-size:.87rem;margin-top:8px}
.about-final{text-align:center;background:var(--paper);color:var(--paper-ink);padding:clamp(68px,8vw,120px) 0}
.about-final h2{max-width:900px;margin:0 auto}
.about-final p{max-width:67ch;margin:18px auto 28px;color:#344c5c}
.about-final .button-outline{background:transparent;color:#102330;border-color:#587c91}
.about-final .button-outline:hover{background:#d9e7ed}
/* Mobile/zoom-safe */
@media(max-width:1023px){.detail-lower{grid-template-columns:1fr}.quote-aside{position:static}.catalogue-toolbar{grid-template-columns:1fr 1fr}.catalogue-toolbar .button{grid-column:1/-1;justify-self:start}.rfq-grid{grid-template-columns:minmax(0,1fr) 245px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
.catalogue-table-wrap{overflow:visible}
.catalogue-table{display:block;min-width:0;width:100%}
.catalogue-table thead{position:absolute;left:-9999px}
.catalogue-table tbody{display:block}
.catalogue-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px;border-bottom:1px solid #ccdae3}
.catalogue-table td{display:block;padding:0;border:0;min-width:0;overflow-wrap:anywhere}
.catalogue-table td:nth-child(2){font-size:.9rem}
.catalogue-table td:nth-child(2)::before{content:'SKU: ';font-weight:600;color:#344c5c}
.catalogue-table td:nth-child(3){display:none}
.catalogue-table td:last-child{grid-column:1/-1;min-width:0}
.catalogue-table tr:hover td{background:transparent}
.part-cell{min-width:0;align-items:start}
.part-cell>span:last-child{min-width:0}
.table-actions{min-width:0;max-width:none;align-items:center;gap:10px}
.page-hero{padding-top:calc(var(--header-height) + 72px);min-height:300px}.about-hero{min-height:620px}.decision-intro,.catalogue-note{display:block}.catalogue-note .button{margin-top:18px}.catalogue-toolbar{grid-template-columns:1fr}.catalogue-toolbar .button{grid-column:auto;width:100%}.catalogue-status{display:block}.catalogue-status span{display:block;margin-top:8px}.detail-main,.rfq-grid,.about-grid{grid-template-columns:1fr}.about-grid--reverse .about-art{order:0}.about-art{aspect-ratio:1.4}.detail-primary{aspect-ratio:1.25}.rfq-form-grid{grid-template-columns:1fr}.rfq-form-grid .field--full{grid-column:auto}.related-grid{grid-template-columns:1fr}.rfq-aside{order:-1}.gallery-thumbs{gap:7px}.gallery-thumb{min-height:64px}.about-blueprint{grid-template-columns:1fr;gap:20px}.page-hero__media::after{background:linear-gradient(90deg,#08121cf5,#08121cb3)}.page-hero h1{font-size:clamp(3.2rem,11vw,5.3rem)}}
@media(max-width:420px){.gallery-thumb{min-height:54px}.table-actions{min-width:190px}.rfq-action-row .button{width:100%}.about-hero h1{font-size:clamp(3.7rem,13vw,5.4rem)}}
@media(prefers-reduced-motion:reduce){.detail-primary img,.part-thumb img{transition:none!important}.about-art,.page-hero__media img{transform:none!important}}

img.is-missing{visibility:hidden}
