
:root{--blue:#153d7a;--ink:#15283c;--soft:#edf2f6;--muted:#657486}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:16px/1.65 Arial,sans-serif;color:var(--ink);background:#fbfcfd}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e7edf3}.logo{font-size:27px;font-weight:900;letter-spacing:2px;color:var(--blue)}nav{display:flex;align-items:center;gap:30px;font-size:14px}.btn{display:inline-block;background:var(--blue);color:white;padding:13px 23px;border:0;border-radius:3px;cursor:pointer;font-weight:600}.btn.light{background:white;color:var(--blue)}.outline{background:transparent;color:var(--blue);border:1px solid #a5b7cf}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;background:linear-gradient(110deg,#edf2f7,#f9fafb);overflow:hidden}.hero-copy{padding:90px 0 80px 12%}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--blue)}h1{font-size:clamp(45px,5.3vw,78px);line-height:1.08;letter-spacing:-3px;margin:24px 0}h1 span{color:var(--blue)}p{color:var(--muted)}.hero-copy p{max-width:470px;font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-art{position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#d4e1ef 0,transparent 65%)}.hero-art svg{width:94%;height:550px}.art-note{position:absolute;bottom:22px;right:30px;font-size:11px;color:#687b91}.rail{padding:24px 6%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dbe4ed;font-size:13px;color:#496079}.rail b{color:var(--ink)}section{padding:88px 6%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}h2{font-size:clamp(30px,3.5vw,45px);line-height:1.18;letter-spacing:-1.4px;margin:13px 0}h3{font-size:23px;line-height:1.3}.section-head p{max-width:380px;margin:0}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid #cfd9e4;background:transparent;padding:9px 17px;cursor:pointer;border-radius:30px;color:var(--blue)}.filters button.active{background:var(--blue);color:white;border-color:var(--blue)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid #e1e7ee;padding:30px;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #153d7a0d}.number{color:#8396ac;font-size:12px;letter-spacing:2px}.card h3{margin:30px 0 12px}.tag{font-size:11px;color:var(--blue);padding:5px 8px;background:#edf3fa;margin-right:5px;display:inline-block}.text-link{color:var(--blue);background:none;border:0;padding:0;font-weight:700;cursor:pointer;margin-top:20px}.tech{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.tech p{color:#cbd9eb}.tech .eyebrow{color:#cbd9eb}.board{border:1px solid #6b8db8;border-radius:16px;padding:45px;background:linear-gradient(135deg,#264e84,#0b2d5c);box-shadow:20px 25px 0 #ffffff09;position:relative}.board-inner{border:1px solid #6d91bd;border-radius:12px;padding:45px 20px;text-align:center;background:#6b92c52b}.chip{width:96px;height:96px;display:grid;place-items:center;border:2px solid #adcaed;margin:auto;font-size:16px;font-weight:700;background:#133965;box-shadow:0 0 0 12px #7fa4d31f}.board-label{display:flex;justify-content:space-between;margin-top:35px;font-size:11px;letter-spacing:1px}.feature-line{border-top:1px solid #ffffff30;padding:17px 0;display:flex;gap:20px}.feature-line strong{min-width:30px;color:#98b5da}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.step{border-top:2px solid #b7c9de;padding-top:20px}.step b{color:var(--blue);font-size:13px}.step h3{font-size:20px}.support{background:#edf2f7}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}details{border-bottom:1px solid #cbd6e3;padding:20px 0}summary{cursor:pointer;font-weight:600}details p{font-size:14px}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}form{padding:30px;background:white;border:1px solid #dce5ee}.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}input,select,textarea{width:100%;border:1px solid #c7d3e0;padding:11px;background:#fbfcfd;margin-top:7px;border-radius:2px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.small{font-size:12px}#result{white-space:pre-wrap;background:#edf2f7;padding:20px;font-size:14px;margin-top:20px}footer{background:#102741;color:white;padding:35px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px}footer .logo{color:white;font-size:21px}[hidden]{display:none!important}@media(max-width:800px){header{height:74px}nav a:not(.btn){display:none}nav .btn{padding:9px 13px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6% 20px}h1{letter-spacing:-2px}.hero-art svg,.hero-art img{height:350px!important}.hero-art{min-height:370px}.rail{flex-wrap:wrap}.grid,.tech,.support-grid,.contact{grid-template-columns:1fr}.tech{gap:50px}.process{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}section{padding:60px 6%}.contact{gap:24px}.row{grid-template-columns:1fr}footer{flex-direction:column}.board{padding:25px}}
.brand-logo{width:150px;height:68px;object-fit:contain}.company-record{background:white;border:1px solid #cbd6e3;padding:24px;margin-top:26px}.company-record dl{margin:0}.company-record dt{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#657486;margin-top:15px}.company-record dd{margin:3px 0;overflow-wrap:anywhere}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.visual-card{margin:0;background:white;border:1px solid #dce5ee;padding:18px}.visual-card img{width:100%;height:245px;object-fit:contain;background:white}.visual-card h3{font-size:18px;margin:18px 0 8px}.visual-card p{font-size:13px}.document-card img{height:270px}.document-card .text-link{display:block}.company-record .cn{font-size:14px}.kit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.kit-grid img{height:390px}.mortise-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.mortise-grid img{height:340px}.doc-links{margin-top:25px;padding:20px;background:#edf2f7;display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.brand-panel{display:flex;align-items:center;gap:35px;padding:26px;border-bottom:1px solid #dce5ee;margin-bottom:30px}.brand-panel img{width:190px;height:125px;object-fit:contain}@media(max-width:1050px){nav{gap:15px;font-size:12px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery,.kit-grid,.mortise-grid{grid-template-columns:1fr}.brand-panel{flex-direction:column;align-items:start}.brand-logo{width:125px;height:60px}.kit-grid img{height:300px}.document-card img{height:320px}}
/* Keep complete accessory diagrams visible at their natural aspect ratio. */
.visual-card > a{display:block;line-height:0;overflow:visible}
.mortise-grid{align-items:start}
.mortise-grid .visual-card img{display:block;width:100%;height:420px;max-height:none;object-fit:contain}
.mortise-grid .visual-card{min-width:0}
.kit-grid .visual-card img{display:block;width:100%;height:390px;max-height:none;object-fit:contain}
@media(max-width:600px){.kit-grid .visual-card img{height:300px}}
@media(max-width:600px){.mortise-grid .visual-card img{height:340px}}

/* Responsive coordination across navigation, cards, diagrams and inquiry form. */
.menu-toggle{display:none}.hero>*,.tech>*,.support-grid>*,.contact>*,.row>*,.grid>*{min-width:0}
.company-record h3,.document-card p,#contact .card a,#result{overflow-wrap:anywhere}
@media(max-width:800px){
 html{scroll-padding-top:78px}header{height:72px;padding:0 5%;gap:12px}.brand-logo{width:116px;height:56px}
 .menu-toggle{display:block;border:1px solid #ccd8e6;border-radius:3px;padding:9px 13px;background:white;color:var(--blue);font-size:14px;min-height:44px}
 header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:14px 5% 20px;border-bottom:1px solid #dce5ee;box-shadow:0 10px 20px #10274112;align-items:stretch;gap:4px}
 header nav.is-open{display:flex;flex-direction:column}header nav a:not(.btn){display:block}header nav a{font-size:15px;padding:10px 12px;min-height:44px}header nav .btn{text-align:center;margin-top:6px;font-size:14px}
 section{padding:48px 5%}.hero-copy{padding:40px 5% 20px}.hero-copy h1{font-size:46px;letter-spacing:-1.8px;margin:18px 0}.hero-copy p{font-size:16px;margin:18px 0}.hero-art{min-height:320px;padding-bottom:20px}.hero-art img{height:300px!important;width:88%!important}.art-note{bottom:10px;right:5%;left:5%;text-align:center}
 .rail{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 5%;font-size:12px}.rail span{line-height:1.5}
 .section-head{gap:16px;margin-bottom:26px}h2{font-size:32px;letter-spacing:-1px}h3{font-size:21px}.card{padding:24px}.grid{gap:16px}.card h3{margin-top:20px}.actions{gap:10px;margin-top:22px}.btn{padding:12px 17px;min-height:44px;font-size:14px}
 .filters{gap:8px}.filters button{font-size:13px;min-height:42px;padding:8px 13px}
 .tech{gap:32px}.tech>div:last-child{grid-row:1}.board{padding:22px;box-shadow:none}.board-inner{padding:30px 16px}.board-label{flex-wrap:wrap;gap:10px;font-size:10px;margin-top:22px}
 .process{gap:22px;margin-top:28px}.step h3{font-size:19px}.step p{font-size:14px}.support-grid{gap:30px}.company-record{padding:20px}.company-record h3{font-size:21px;line-height:1.4}.company-record dd{font-size:14px}
 .gallery{gap:16px}.document-card{padding:18px}.document-card p{font-size:14px}.document-card .small{font-size:12px}.doc-links{display:grid;gap:15px;padding:20px}.doc-links a{min-height:32px;line-height:1.5}
 .brand-panel{padding:0 0 22px;gap:18px}.brand-panel h3{margin:0}.brand-panel p{margin-bottom:0}.kit-grid,.mortise-grid{gap:18px}.visual-card h3{font-size:20px}.visual-card p{font-size:14px}
 .contact{gap:28px}form{padding:22px}.row{gap:0}input,select,textarea{font-size:16px;min-width:0}form .actions{display:grid;grid-template-columns:1fr}form .actions .btn{text-align:center}#result{padding:15px;font-size:13px}footer{padding:30px 5%;overflow-wrap:anywhere}
}
@media(max-width:600px){.kit-grid,.mortise-grid,.gallery{grid-template-columns:1fr}.kit-grid .visual-card img{height:280px}.mortise-grid .visual-card img{height:340px}.document-card img{height:280px}.brand-panel{flex-direction:row;align-items:center}.brand-panel img{width:112px;height:90px}.brand-panel h3{font-size:17px}.brand-panel p{font-size:13px}}
@media(max-width:380px){.hero-copy h1{font-size:40px}.process{grid-template-columns:1fr}.hero-copy .actions{display:grid}.hero-copy .actions .btn{text-align:center}.brand-panel{flex-direction:column;align-items:start}.kit-grid .visual-card img{height:240px}.mortise-grid .visual-card img{height:300px}}

.hero-product-link{display:grid;place-items:center;width:100%}.hero-product-link img{width:92%;height:550px;object-fit:contain;mix-blend-mode:multiply}.matrix-link{margin-bottom:24px}.certificate-details{border:0;padding:0}.certificate-details summary{font-size:12px;color:var(--blue);margin:10px 0}.certificate-details p{line-height:1.6}
.inquiry-float{position:fixed;right:22px;bottom:22px;z-index:40;border-radius:28px;box-shadow:0 5px 25px #10274135;min-height:48px}.inquiry-dialog{width:min(430px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:0;border-radius:12px;padding:28px;color:var(--ink);box-shadow:0 20px 70px #10274144}.inquiry-dialog::backdrop,.image-dialog::backdrop{background:#10274199}.dialog-close{float:right;border:1px solid #ccd7e4;border-radius:4px;background:white;min-width:40px;min-height:40px;color:var(--blue);cursor:pointer}.inquiry-dialog h2{font-size:26px}.inquiry-dialog .rep{border-top:1px solid #dce5ee;padding:14px 0}.inquiry-dialog .rep h3{font-size:18px;margin:5px 0 10px}.inquiry-dialog .rep .actions{margin-top:8px;gap:8px}.inquiry-dialog .small{margin:0}.inquiry-dialog>a.btn{display:block;text-align:center;margin-top:12px}footer{padding-bottom:95px}
.catalog-intro{background:#edf2f7;padding:55px 6% 35px}.catalog-intro h1{font-size:52px;letter-spacing:-2px;margin:16px 0}.catalog-intro p{max-width:650px}.catalog{padding-top:35px}.catalog-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:end}.catalog-controls label{margin:0}.catalog-controls input,.catalog-controls select{background:white}.catalog-controls .filters{grid-column:1/-1;margin:5px 0}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{background:white;border:1px solid #dce5ee;padding:14px;min-width:0}.product-photo{width:100%;padding:0;display:block;border:0;background:white;cursor:zoom-in}.product-photo img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.product-card h2{font-size:20px;letter-spacing:-.4px;margin:16px 0 5px}.product-card p{font-size:13px;margin:5px 0 12px}.product-card .btn{display:block;text-align:center;padding:9px;font-size:13px}.product-card .tag{margin-bottom:10px}.image-dialog{padding:15px;width:min(900px,94vw);border:0;border-radius:8px;max-height:94dvh}.image-dialog img{display:block;width:100%;max-height:80dvh;object-fit:contain}.image-dialog p{margin:10px 0 0;font-size:14px}.catalog-count{font-size:13px;color:var(--muted);margin:16px 0}.catalog-empty{padding:25px;background:#edf2f7}.catalog-back{font-size:13px;color:var(--blue)}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
 header nav{max-height:calc(100dvh - 72px);overflow:auto}section{padding:30px 5%}body{font-size:14px}.hero{min-height:0}.hero-copy{padding:28px 5% 10px}.hero-copy h1{font-size:34px;line-height:1.12;letter-spacing:-1px;margin:12px 0}.hero-copy h1 br{display:none}.hero-copy h1 span:before{content:' '}.hero-copy p{font-size:14px;line-height:1.6;margin:12px 0}.hero-copy .actions{margin-top:16px}.hero-art{min-height:210px;padding-bottom:22px}.hero-art img,.hero-product-link img{height:195px!important}.art-note{font-size:10px}.eyebrow{font-size:10px;letter-spacing:1.3px}h2{font-size:25px;line-height:1.2;letter-spacing:-.7px}h2 br{display:none}h3{font-size:18px}.section-head{gap:10px;margin-bottom:18px}.section-head p{font-size:14px}.rail{padding:15px 5%;gap:10px;font-size:11px}.card{padding:18px}.card h3{font-size:19px;margin-top:14px}.card p{font-size:14px}.btn{font-size:13px;padding:10px 14px}.matrix-link{margin-bottom:18px}.tech{gap:22px}.board{padding:16px}.board-inner{padding:20px 12px}.chip{width:65px;height:65px;font-size:13px}.board-inner p{margin:12px 0 0}.board-label{margin-top:15px}.feature-line{padding:12px 0;gap:12px}.process{gap:16px;margin-top:18px}.step{padding-top:13px}.step h3{font-size:17px;margin:12px 0 8px}.step p{font-size:13px}.step b{font-size:11px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-card{padding:12px}.document-card img{height:145px}.document-card h3{font-size:16px;margin:12px 0 8px}.document-card .text-link{font-size:12px;margin-top:10px;line-height:1.5}.certificate-details summary{font-size:11px}.certificate-details p{font-size:12px}.doc-links{padding:14px;gap:10px;font-size:12px}.brand-panel{gap:15px;margin-bottom:18px}.brand-panel img{width:100px;height:70px}.brand-panel p{font-size:12px}.visual-card{padding:13px}.visual-card h3{font-size:18px}.visual-card p{font-size:13px}.kit-grid,.mortise-grid{gap:15px}.kit-grid .visual-card img{height:190px}.mortise-grid .visual-card img{height:230px}.company-record{padding:16px}.company-record h3{font-size:18px}.company-record dd{font-size:13px}.contact .card{padding:16px}.contact .card h3{font-size:18px}.contact .card div,.contact .card a{font-size:13px}.contact{gap:20px}form{padding:18px}.contact form h3{font-size:20px}.inquiry-float{right:12px;bottom:max(12px,env(safe-area-inset-bottom));font-size:13px;padding:11px 17px;min-height:44px}.inquiry-dialog{padding:20px}.catalog-intro{padding:28px 5% 22px}.catalog-intro h1{font-size:32px;letter-spacing:-1px}.catalog-intro p{font-size:14px}.catalog{padding-top:22px}.catalog-controls{grid-template-columns:1fr 1fr;gap:10px}.catalog-controls label:first-child{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{padding:10px}.product-card h2{font-size:17px;margin-top:10px}.product-card p{font-size:12px}.product-card .tag{font-size:10px;padding:3px 5px}.product-card .btn{font-size:12px;padding:9px 5px}.catalog-controls input,.catalog-controls select{font-size:16px}.catalog-controls .filters{gap:6px}.catalog-controls .filters button{font-size:12px;padding:7px 10px;min-height:38px}
}
@media(max-width:380px){.hero-copy h1{font-size:30px}.hero-copy .actions{display:flex}.process{grid-template-columns:1fr 1fr}.brand-panel{flex-direction:row}.gallery{gap:9px}.document-card img{height:125px}.product-card h2{font-size:15px}.product-card{padding:8px}}
