/* Lock-first editorial home; catalogue photos remain the product source. */
/* One presentation frame for source photos and catalogue-region SVGs. */
:is(.range-card-image,.featured-card>div,.product-image,.mega-product-image){display:grid;place-items:center;background:#fff;overflow:hidden}
:is(.range-card-image,.featured-card>div,.product-image,.mega-product-image)>:is(img,svg){display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;background:#fff}
.portal-header .mega-catalog{grid-template-columns:minmax(170px,1fr) minmax(0,3fr);gap:40px;padding:28px 7%;max-height:calc(100svh - 92px);overflow-y:auto}
.mega-catalog .mega-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-content:start}
.portal-header nav .mega-products .mega-product{display:flex;flex-direction:column;min-width:0;gap:0;padding:0;border:1px solid #dde5de;background:#fff;transition:border-color .2s,box-shadow .2s}
.mega-product-image{width:100%;height:102px;padding:10px;border-bottom:1px solid #edf0eb}
.mega-product-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 12px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.mega-product-label>span{color:#91724f;flex:none}
.portal-header nav .mega-product:hover{border-color:#9c8163;box-shadow:0 5px 16px #173e3410}
:is(.mega-product,.range-card,.featured-card,.product>a):focus-visible{outline:2px solid #8f6848;outline-offset:4px}
@media(min-width:901px) and (max-width:1150px){.portal-header{gap:18px;padding:0 3%}.site-navigation nav{gap:15px}.header-tools{gap:8px}.portal-header .mega-catalog{gap:24px;padding:24px 4%}.mega-product-label{font-size:12px}}
@media(max-width:900px){.site-navigation nav{flex-wrap:nowrap}.site-navigation .nav-group{width:100%;flex-shrink:0}.portal-header .mega-catalog{padding:8px 0 20px;max-height:none;overflow:visible}.mega-catalog .mega-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mega-product-image{height:88px}.mega-product-label{font-size:12px;padding:10px}}
@media(prefers-reduced-motion:reduce){.portal-header nav .mega-product{transition:none}}
.lock-hero{position:relative;isolation:isolate;min-height:650px;height:min(760px,calc(100svh - 92px));background:#0a1b15;color:white;overflow:hidden}
.lock-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;z-index:-2}
.lock-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071b14df 0%,#071b1488 35%,transparent 72%);z-index:-1}
.lock-hero-copy{padding:120px 7% 100px;max-width:780px}.lock-hero-copy .eyebrow{color:#d3b48f;letter-spacing:3px;font-size:12px}
.lock-hero h1{font-size:clamp(40px,4.3vw,66px);letter-spacing:-2px;line-height:1.2;margin:26px 0}.lock-hero h1 span{display:block}.lock-hero p{font-size:16px;line-height:1.9;max-width:460px;color:#d5dfd9}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.hero-actions .button{background:#b48d65;color:#fff;gap:30px}.hero-secondary{font-size:14px;color:#e4ece6}.concept-note{position:absolute;right:25px;bottom:20px;font-size:10px;color:#d4ddd6;background:#0a1b1599;padding:7px 10px}
.lock-intro{padding:25px 7%;display:grid;grid-template-columns:1fr 1.6fr auto;align-items:center;gap:35px;background:#f1f3ef;border-bottom:1px solid #dce3db}.lock-intro strong{font-size:16px}.lock-intro p{font-size:12px;line-height:1.8;color:#65746b;margin:0}.lock-intro>a{font-size:13px;white-space:nowrap}
.lock-ranges,.featured-locks,.lock-process,.lock-applications{padding:76px 7%}.design-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}.design-heading .eyebrow{font-size:11px;letter-spacing:2px;color:#90724f}.design-heading h2{font-size:clamp(27px,2.6vw,38px);line-height:1.3;font-weight:500;margin:12px 0 0;letter-spacing:-.5px}.design-heading>p{max-width:350px;font-size:13px;line-height:1.9;color:#69766e;margin:0}.design-heading>a{font-size:13px;white-space:nowrap}
.range-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px}.range-card{border:1px solid #e1e7df;background:#fff;transition:box-shadow .2s,border-color .2s}.range-card:hover{border-color:#9c8163;box-shadow:0 12px 28px #173e3410}.range-card-image{height:190px;background:#f6f7f4;padding:16px}.range-card-image img,.range-card-image svg{width:100%;height:100%;object-fit:contain;background:#fff}.range-card-label{display:flex;align-items:center;gap:12px;padding:17px}.range-card-label>span{font-size:12px;color:#8b9a8c}.range-card-label h3{font-size:16px;font-weight:500;margin:0;flex:1}
.featured-locks{background:#f1f3ef}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.featured-card{padding:22px;background:#fff}.featured-card>div{height:250px;margin-bottom:20px}.featured-card img,.featured-card svg{width:100%;height:100%;object-fit:contain}.featured-card>span{font-size:11px;color:#8c7359}.featured-card h3{font-size:23px;margin:12px 0 8px;font-weight:500}.featured-card p{font-size:13px;color:#738077;line-height:1.6;min-height:42px}.featured-card>strong{display:block;border-top:1px solid #e2e6df;padding-top:18px;font-size:12px;font-weight:500}
.lock-process{background:#173e34;color:#f5f5ed}.lock-process .eyebrow{color:#c7a881}.lock-process .design-heading>p{color:#bbcfc3}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.process-grid article{border-top:1px solid #ffffff40;padding-top:24px}.process-grid article>span{font-size:30px;font-weight:300;color:#c6a681}.process-grid h3{font-size:20px;font-weight:500;margin:24px 0 14px}.process-grid p{font-size:13px;line-height:1.9;color:#c3d2c9}
.lock-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lock-application-grid>a{border:1px solid #dce4d9;padding:28px}.lock-application-grid>a>span{font-size:10px;letter-spacing:1px;color:#8e765d}.lock-application-grid h3{font-size:24px;font-weight:500;display:flex;justify-content:space-between;gap:15px}.lock-application-grid p{font-size:13px;line-height:1.9;color:#6c786e}
/* Keep catalogue tools and the first product row above the fold. */
.page-banner{min-height:0;padding:28px 7%}.page-banner h1{font-size:34px;margin:10px 0}.page-banner>span{font-size:10px;letter-spacing:3px}.page-banner p{font-size:12px}.section-breadcrumb{padding:12px 7%}.catalog{padding:22px 7% 60px}.catalog-layout{gap:16px}.catalog .filters{gap:8px;padding-bottom:14px}.catalog .filters button{padding:8px 13px;font-size:12px}.catalog-toolbar{max-width:none;margin:0}.catalog .results-line{margin:14px 0}.catalog-results .grid{gap:28px 20px}
@media(min-width:1500px){.lock-hero-copy{padding-top:160px;max-width:850px}}
@media(max-width:900px){.lock-hero{height:600px;min-height:600px}.lock-hero-copy{padding:90px 6%;max-width:650px}.lock-hero h1{font-size:44px}.lock-intro{grid-template-columns:1fr auto;gap:15px;padding:24px 6%}.lock-intro p{grid-row:2;grid-column:1/-1}.range-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lock-ranges,.featured-locks,.lock-process,.lock-applications{padding:50px 6%}.design-heading{align-items:flex-start;flex-direction:column;gap:16px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card{padding:15px}.featured-card>div{height:190px}.lock-application-grid{gap:15px}.lock-application-grid>a{padding:20px}}
@media(max-width:600px){.lock-hero{min-height:650px;height:650px}.lock-hero-art{object-position:67% bottom;object-fit:cover}.lock-hero-shade{background:linear-gradient(180deg,#071b14ee 0%,#071b14c0 40%,#071b1400 72%)}.lock-hero-copy{padding:45px 6% 0;max-width:none}.lock-hero-copy .eyebrow{font-size:9px;letter-spacing:2px}.lock-hero h1{font-size:36px;letter-spacing:-1px;margin:20px 0}.lock-hero p{font-size:13px;line-height:1.8;max-width:340px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:22px}.hero-actions .button{padding:12px 17px;font-size:12px;gap:15px}.hero-secondary{font-size:12px}.concept-note{font-size:8px;right:12px;bottom:12px;max-width:90%}.lock-intro strong{font-size:14px}.lock-intro>a{font-size:11px}.lock-intro p{font-size:11px}.lock-ranges,.featured-locks,.lock-process,.lock-applications{padding:38px 5%}.design-heading{margin-bottom:25px}.design-heading h2{font-size:27px}.design-heading>p{font-size:12px}.range-card-grid{gap:15px 12px}.range-card-image{height:145px;padding:10px}.range-card-label{padding:12px 10px;gap:7px}.range-card-label h3{font-size:13px}.range-card-label>span{font-size:10px}.featured-grid{grid-template-columns:1fr}.featured-card{display:grid;grid-template-columns:125px 1fr;gap:0 18px;padding:16px}.featured-card>div{grid-row:1/6;height:160px;margin:0}.featured-card>span{margin-top:8px}.featured-card h3{font-size:19px;margin:8px 0}.featured-card p{font-size:11px;margin:0 0 12px;min-height:0}.featured-card>strong{font-size:11px;padding-top:10px}.process-grid{gap:22px 18px}.process-grid h3{font-size:17px;margin:16px 0 10px}.process-grid p{font-size:12px}.process-grid article>span{font-size:24px}.lock-application-grid{grid-template-columns:1fr;gap:12px}.lock-application-grid>a{padding:20px}.lock-application-grid h3{font-size:21px;margin:12px 0}.lock-application-grid p{font-size:12px;margin-bottom:0}.page-banner{padding:24px 5%}.page-banner h1{font-size:27px}.catalog{padding:18px 5% 40px}.catalog .filters button{font-size:11px;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.range-card{transition:none}}

.lock-hero h1 span{color:#faf8ef}
.factory-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:36px}.factory-gallery .factory-concept{margin:0}.factory-gallery .factory-concept img{height:auto;aspect-ratio:3/2;object-fit:cover}.factory-gallery figcaption strong{display:block;font-size:13px;margin-bottom:5px}
@media(max-width:700px){.factory-gallery{grid-template-columns:1fr;gap:18px;margin-bottom:28px}}
.factory-concept{position:relative;margin:0 0 36px;overflow:hidden;background:#dfe5df}.factory-concept img{display:block;width:100%;height:420px;object-fit:cover;object-position:center 55%}.factory-concept figcaption{position:absolute;bottom:14px;right:14px;padding:8px 12px;background:#102d22d9;color:#f5f6f0;font-size:10px;max-width:90%}
@media(max-width:600px){.factory-concept{margin-bottom:28px}.factory-concept img{height:250px;object-position:65% center}.factory-concept figcaption{font-size:8px;bottom:10px;right:10px}}

/* Catalogue cards share a square white stage, including accessory SVGs. */
.product-image,.catalog .product-image{aspect-ratio:1;padding:clamp(10px,1.2vw,18px)}
.product-image>img,.product-image>svg{padding:0}
.product-image .arrow{position:absolute}
.range-card-image{background:#fff}
@media(max-width:600px){.product-image,.catalog .product-image{padding:10px}}

/* Native disclosure keeps language links usable without JavaScript. */
.portal-header .language-switch{position:relative;flex:none;border:0;padding:0;margin:0;font-size:12px}
.language-switch>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:0 12px;border:1px solid #d8e1da;border-radius:6px;background:#fff;color:#24483b;cursor:pointer;list-style:none;white-space:nowrap;transition:background .15s,border-color .15s}
.language-switch>summary::-webkit-details-marker{display:none}
.language-switch>summary:hover,.language-switch[open]>summary{background:#f2f6f2;border-color:#92a99a}
.language-switch>summary:focus-visible,.language-options a:focus-visible{outline:2px solid #98714f;outline-offset:3px}
.language-chevron{flex:none;transition:transform .15s}.language-switch[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:160px;margin:0;padding:6px;list-style:none;border:1px solid #dce5dd;border-radius:8px;background:#fff;box-shadow:0 12px 32px #163e3024}
.language-options li{margin:0;padding:0}.language-options a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:42px;padding:8px 12px;border-radius:4px;color:#344c40;font-size:13px;line-height:1.5;text-decoration:none;white-space:nowrap}
.language-options a:hover{background:#f2f5f1}.language-options a[aria-current=true]{background:#e8f0e8;color:#163e30;font-weight:600}.language-check{width:14px;color:#386a4b}
@media(max-width:600px){.language-switch>summary{gap:6px;padding:0 7px;font-size:11px}.language-options{min-width:152px}.language-options a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.language-switch>summary,.language-chevron{transition:none}}

.category-guide{padding:40px 8%;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;background:#f3f6f1}.category-guide h2,.category-products h2,.product-selection h2{font-size:24px;font-weight:500;margin:0 0 20px}.category-guide li,.product-selection li{margin-bottom:10px}.category-guide p,.product-selection p{font-size:14px;line-height:1.9;color:#567060;max-width:760px}.category-guide nav{display:flex;flex-wrap:wrap;align-content:start;gap:10px}.category-guide nav a{padding:12px 16px;border:1px solid #cbd7cb;background:#fff;font-size:13px}.category-guide nav a[aria-current=page]{background:#173e34;color:#fff;border-color:#173e34}.category-products{padding:45px 8% 70px}.category-products h2 span{font-size:14px;color:#687c6d;margin-left:12px}.category-products .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-selection{padding:35px 8% 50px;border-top:1px solid #dbe4dc}.product-selection a{display:inline-block;padding:10px 0;color:#173e34;border-bottom:1px solid #8eaa96}.category-products .product-image{aspect-ratio:1}
@media(max-width:900px){.category-guide{grid-template-columns:1fr;gap:24px}.category-products .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.category-guide,.category-products,.product-selection{padding:28px 5%}.category-products .grid{gap:20px 12px}.category-guide h2,.category-products h2,.product-selection h2{font-size:21px}}

.footer-registration{margin:18px 0 0;padding-top:18px;border-top:1px solid #ffffff20;text-align:center;font-size:12px;line-height:1.8}.footer-registration a{display:inline-block;padding:6px 10px;color:inherit;text-decoration:none}.footer-registration a:hover{text-decoration:underline}.footer-registration a:focus-visible{outline:2px solid #c8a67a;outline-offset:3px}
