@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
:root{--ink:#242424;--muted:#667176;--blue:#377f81;--navy:#006386;--line:#e3e8e8;--surface:#ffffff;--radius:14px;color-scheme:light;font-family:'Montserrat',Arial,sans-serif;color:var(--ink);background:var(--surface);font-size:16px}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #377f81;outline-offset:4px}button{color:var(--ink)}.skip{position:absolute;top:-100px;padding:12px;background:white;z-index:99}.skip:focus{top:8px}.topbar{height:80px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1400px)/2))}.brand{display:flex;align-items:center;gap:16px;color:var(--navy)}.brand-name{font-family:Montserrat,Arial,sans-serif;font-size:24px;font-weight:800;letter-spacing:-1px}.brand-name b{color:var(--blue)}.brand-divider{width:1px;height:25px;background:var(--line)}.brand-label{font-size:14px;font-weight:550;color:var(--muted)}.top-links{display:flex;gap:24px;align-items:center;font-size:14px}.tag{font-size:12px;border:1px solid #d2e2e2;padding:5px 9px;border-radius:5px;color:#377f81;font-weight:650;letter-spacing:.06em}.wrapper{max-width:1400px;margin:auto;padding:18px 28px 0}.breadcrumb{font-size:14px;color:var(--muted);display:flex;gap:10px;align-items:center;margin-bottom:12px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.12em;margin-bottom:8px}h1{font-family:Montserrat,Arial,sans-serif;font-size:clamp(27px,2.7vw,38px);letter-spacing:-1.2px;line-height:1.2;margin:0 0 8px;font-weight:750}.intro{margin:0;color:var(--muted);line-height:1.6}.model-stamp{border-left:2px solid var(--blue);padding-left:16px;min-width:170px}.model-stamp small{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.model-stamp strong{font-size:16px;font-family:monospace}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start}.explorer{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.viewer-top{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.viewer-top h2{font-size:16px;margin:0;font-weight:650}.viewer-top span{font-size:12px;color:var(--muted);letter-spacing:.08em}.assembly-buttons{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px 4px}.assembly-buttons button{font-size:14px;background:white;border:1px solid var(--line);padding:7px 10px;border-radius:8px;display:flex;gap:8px;align-items:center}.assembly-buttons button span{color:var(--muted);font-family:monospace;font-size:12px}.assembly-buttons button small{font-size:12px;opacity:.7}.assembly-buttons button:hover,.assembly-buttons button.related{border-color:#9ebdbd}.assembly-buttons button.active{background:#edf5f5;border-color:#9ebdbd;color:#006386}.view-label{display:flex;justify-content:space-between;padding:10px 16px 4px;font-size:13px;color:var(--muted)}#group-title{font-weight:600;color:var(--ink)}.drawing{height:460px;position:relative;overflow:hidden;margin:0 8px;background:white}.drawing-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;will-change:transform}.reference-note{margin:0 22px 18px;font-size:13px;line-height:1.6;color:var(--muted);border-left:2px solid #bed2e5;padding-left:12px}.viewer-controls{background:#f8fafc;padding:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}.control-row label{font-size:14px;font-weight:600}.control-row label output{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}.control-actions{display:flex;gap:6px}.secondary{background:white;border:1px solid var(--line);border-radius:7px;padding:8px 12px;font-size:14px}.secondary:hover{border-color:#95b5d8;background:#f3f8f8}input[type=range]{width:100%;accent-color:var(--blue);height:24px;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.scroll-check{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:14px;color:var(--muted)}input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}.sidebar{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.search-box{padding:20px;border-bottom:1px solid var(--line)}.search-box h2{font-size:18px;margin:0 0 16px;letter-spacing:-.3px}.search-label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}.search-input{border:1px solid #bbcbda;border-radius:8px;width:100%;height:44px;padding:0 12px;color:var(--ink);background:white}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.filters label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.filters select{width:100%;min-width:0;font-size:14px;border:1px solid var(--line);border-radius:7px;background:white;height:37px;padding:0 6px}.results-heading{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:13px;color:var(--muted)}.text-button{border:0;padding:0;background:none;color:var(--blue);font-size:13px}.part-list{max-height:270px;overflow-y:auto;scrollbar-width:thin}.part-row{display:block;text-align:left;width:100%;padding:14px 20px;border:0;border-bottom:1px solid #e9eff5;background:white;position:relative}.part-row:hover{background:#f3f8f8}.part-row.selected{background:#edf5f5;box-shadow:inset 3px 0 var(--blue)}.part-number{display:block;font-size:12px;color:var(--blue);letter-spacing:.04em;font-family:monospace;margin-bottom:4px}.part-name{display:block;font-size:14px;font-weight:600;line-height:1.45}.part-category{display:block;font-size:12px;margin-top:3px;color:var(--muted)}.detail{padding:22px 20px;background:#fcfdff;border-top:1px solid var(--line)}.detail-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:14px}.detail-pn{display:inline-block;color:var(--blue);border:1px solid #c8dfdf;background:#f4f8f8;border-radius:5px;padding:5px 8px;font-family:monospace;font-size:14px}.detail h2{font-size:21px;line-height:1.35;letter-spacing:-.4px;margin:12px 0}.detail p{font-size:14px;color:var(--muted);line-height:1.65;margin:0 0 18px}.detail dl{font-size:13px;margin:0 0 18px}.detail dl div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e9eff5;padding:9px 0}.detail dt{color:var(--muted)}.detail dd{margin:0;text-align:right;font-weight:500}.detail .part-note{font-size:13px;padding:10px 12px;background:#f0f5fa;border-radius:7px}.primary{display:block;background:var(--blue);color:white;border-radius:8px;padding:13px 16px;text-align:center;font-size:14px;font-weight:600;border:0}.primary:hover{background:#006386;text-decoration:none}.detail .availability{font-size:12px;margin:11px 0 0;line-height:1.6}.empty{padding:25px 20px;font-size:14px;color:var(--muted)}.empty p{line-height:1.5}.catalog{padding:44px 0 36px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-head h2{font-family:Montserrat,Arial,sans-serif;font-size:23px;letter-spacing:-.6px;margin:0}.section-head span{font-size:13px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.catalog-card{padding:21px;background:white;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:start}.catalog-card .part-number{margin-bottom:10px}.catalog-card h3{font-size:16px;line-height:1.5;margin:0 0 9px}.catalog-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 16px}.catalog-card a{font-size:14px;font-weight:600;margin-top:auto}.literature{display:flex;justify-content:space-between;align-items:center;background:var(--navy);border-radius:12px;padding:25px 28px;color:white;gap:20px}.literature h2{font-size:18px;margin:0 0 6px}.literature p{font-size:14px;margin:0;color:#c4d1df;line-height:1.6}.literature a{flex-shrink:0;color:white;font-size:14px;border:1px solid #61778c;border-radius:8px;padding:11px 16px}.footer{padding:28px 0 34px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);line-height:1.6}.footer a{color:var(--muted)}.drawing-load-note{display:none}noscript p{padding:16px;background:#edf5f5;border-radius:8px}
@media(min-width:1300px){.drawing{height:520px}.workspace{grid-template-columns:minmax(0,1fr) 410px}.part-list{max-height:290px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 340px}.assembly-buttons{padding:12px}.assembly-buttons button{font-size:12px;padding:8px}.drawing{height:420px}.brand-label{display:none}.brand-divider{display:none}.catalog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:66px;padding:0 18px}.top-links a{display:none}.brand-name{font-size:22px}.wrapper{padding:24px 16px 0}.page-heading{display:block;margin-bottom:20px}h1{font-size:27px;letter-spacing:-.8px}.intro{font-size:14px}.model-stamp{margin-top:18px;display:flex;align-items:center;gap:14px}.model-stamp small{margin:0}.workspace{grid-template-columns:1fr;gap:16px}.drawing{height:400px}.viewer-top{padding:16px}.assembly-buttons button{font-size:14px}.view-label{padding:10px 16px 0}.reference-note{margin:0 16px 16px}.viewer-controls{padding:16px}.sidebar{display:block}.part-list{max-height:280px}.catalog{padding:30px 0}.catalog-grid{grid-template-columns:1fr}.section-head{display:block}.section-head span{display:block;margin-top:7px}.literature{align-items:start;flex-direction:column;padding:22px}.footer{flex-direction:column;gap:8px}.control-actions button{font-size:12px}.control-row{gap:8px}.control-row label{font-size:13px}.viewer-top span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.drawing-layer{will-change:auto}}
.drawing{height:auto!important;aspect-ratio:1;margin:0 16px;width:calc(100% - 32px);isolation:isolate}.unit-photo{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:contain;transform:translate(-50%,-50%);pointer-events:none}.photo-part{position:absolute;width:29%;height:23%;border:1px solid #d9e4ef;background:white;border-radius:10px;box-shadow:0 4px 18px #0063860c;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;visibility:hidden;opacity:0;z-index:2;transform-origin:center}.photo-part img{width:100%;min-height:0;height:68%;object-fit:contain}.tile-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;font-weight:600;line-height:1.25;max-width:100%;margin-top:4px}.tile-number{display:block;font-family:monospace;color:var(--blue);font-size:12px;margin-top:4px}.photo-part:hover,.photo-part.selected{border-color:var(--blue);box-shadow:0 0 0 2px #377f8126}.photo-part.outside-group{filter:grayscale(1);background:#f7f9fb}.hotspot{position:absolute;transform:translate(-50%,-50%);border:2px solid white;border-radius:50%;width:30px;height:30px;background:#377f81;color:white;font-size:13px;font-weight:700;box-shadow:0 0 0 5px #377f8126,0 2px 8px #0063862b;z-index:4;display:grid;place-items:center;padding:0}.hotspot:hover,.hotspot.selected{background:#006386;box-shadow:0 0 0 6px #377f8140}.hotspot-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:9px 12px;font-size:13px;font-weight:500;border-radius:6px;max-width:180px;width:max-content;white-space:normal;visibility:hidden;opacity:0;pointer-events:none}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{visibility:visible;opacity:1}.part-row{display:flex;align-items:center;gap:12px}.row-photo{width:56px;height:56px;object-fit:contain;background:white;border-radius:5px;flex-shrink:0}.row-content{min-width:0}.detail-photo{display:block;width:100%;height:170px;object-fit:contain;background:white;border-radius:8px;margin-bottom:16px}.catalog-photo-link{display:block;width:100%;margin:0 0 20px!important}.catalog-photo{display:block;width:100%;height:210px;object-fit:contain}.sidebar .detail{background:white}.part-list{max-height:290px}.viewer-controls{margin-top:0}
@media(max-width:1000px){.tile-name{font-size:13px}.photo-part{padding:5px}.tile-number{font-size:12px}.drawing{margin:0 10px;width:calc(100% - 20px)}}
@media(max-width:760px){.drawing{aspect-ratio:1}.unit-photo{height:100%;aspect-ratio:1}.tile-name{font-size:12px}.tile-number{font-size:12px}.photo-part img{height:59%}.hotspot{width:26px;height:26px}.catalog-photo{height:240px}.detail-photo{height:220px}}
[hidden]{display:none!important}.site-strip{background:#377f81;color:white;padding:9px max(28px,calc((100vw - 1400px)/2));display:flex;justify-content:space-between;gap:20px;font-size:12px;font-weight:500}.site-strip a{color:white}.topbar{height:80px}.brand-logo{width:220px;height:auto;display:block}.brand-label{font-weight:500;color:#377f81}.eyebrow{font-weight:600}h1{font-weight:600;letter-spacing:-.7px}.intro{font-weight:400}.explorer,.sidebar{border-radius:4px;box-shadow:0 2px 8px #00000006}.viewer-top{background:#377f81;color:white}.viewer-top span{color:#e0eded}.viewer-top h2{font-weight:600}.assembly-buttons button,.secondary,.search-input,.filters select,.primary,.catalog-card,.detail-pn,.literature{border-radius:3px}.primary{background:#006386}.primary:hover{background:#00516d}.catalog-card h3{font-weight:500;color:#242424}.catalog-card a:not(.catalog-photo-link){display:block;width:100%;background:#377f81;color:white;text-align:center;padding:10px 12px;border-radius:2px}.catalog-card a:not(.catalog-photo-link):hover{background:#006386;text-decoration:none}.catalog-card{border-color:#ededed;box-shadow:none}.model-stage{position:relative;height:clamp(360px,calc(100vh - 540px),620px);height:clamp(360px,calc(100svh - 540px),620px);min-width:0;overflow:hidden;background:white;margin:0 12px;isolation:isolate}.model-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y}.model-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--muted);text-align:center;padding:40px;z-index:1}.model-labels{position:absolute;inset:0;pointer-events:none}.model-label{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border:2px solid white;border-radius:50%;background:#377f81;color:white;box-shadow:0 0 0 4px #377f8126;font-size:13px;font-weight:600;padding:0;pointer-events:auto;cursor:pointer;z-index:2}.model-label:hover,.model-label.selected{background:#006386;box-shadow:0 0 0 5px #00638630;z-index:5}.model-label.outside-group{background:#899696}.model-label-name{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);font-size:12px;line-height:1.5;max-width:180px;width:max-content;white-space:normal;padding:7px 10px;background:#006386;color:white;border-radius:3px;opacity:0;visibility:hidden;pointer-events:none}.model-label:hover .model-label-name,.model-label:focus-visible .model-label-name{opacity:1;visibility:visible}.model-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 16px 16px;font-size:13px;color:var(--muted);border-bottom:1px solid #e5ebeb;padding-bottom:12px}.model-tools>div{display:flex;gap:6px;flex-shrink:0}.model-tools button{padding:6px 10px;font-size:13px}.viewer-modes{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 22px;background:#f8faf9}.viewer-modes button{background:none;border:0;border-bottom:3px solid transparent;padding:11px 12px;font-size:14px;color:#667176;font-weight:500}.viewer-modes button.active{border-bottom-color:#377f81;color:#377f81;background:white}.viewer-modes button:disabled{opacity:.45;cursor:not-allowed}.part-row.hovered{background:#eef6f6;box-shadow:inset 3px 0 #006386}.reference-note{font-size:12px}.literature{background:#006386}.viewer-controls{background:#f6f8f8}.tag{border-radius:2px}.model-stamp{border-color:#377f81}.model-stamp strong{color:#006386}
@media(max-width:1000px){.model-tools{flex-wrap:wrap}.brand-logo{width:190px}}
@media(max-width:760px){.site-strip{padding:8px 16px;font-size:11px}.site-strip span{max-width:55%}.topbar{height:78px}.brand-logo{width:180px}.model-stage{margin:0 4px}.viewer-modes{padding:0 8px}.viewer-modes button{font-size:13px;padding:13px 10px}.model-label{width:40px;height:40px}.model-tools{margin:12px 16px 16px}.model-tools>span{font-size:12px}.reference-note{line-height:1.7}.site-strip a{font-size:10px;align-self:center}.page-heading h1{font-size:26px}}
/* Original-resolution photography and clear side callouts. */
.wrapper{max-width:1560px}.workspace{grid-template-columns:minmax(0,1fr) clamp(320px,26vw,390px);gap:20px}.model-stage{margin:0 4px}.model-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.model-leaders path{fill:none;stroke:#377f81;stroke-width:1.25;opacity:.55;vector-effect:non-scaling-stroke}.model-leaders path.selected{stroke:#006386;stroke-width:2;opacity:1}.model-label{box-shadow:0 0 0 3px #377f811a}.model-label[data-side=right] .model-label-name{left:auto;right:calc(100% + 8px)}.row-photo{width:82px;height:82px}.part-row{padding:14px 18px;gap:14px}.part-list{max-height:345px}.detail-photo-button{display:block;width:100%;padding:0;background:white;border:0;margin:0 0 18px;text-align:center;color:#006386;font-size:14px}.detail-photo-button:hover span{text-decoration:underline}.detail-photo{height:auto;aspect-ratio:1;margin:0 0 8px;border-radius:0}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.catalog-photo{height:auto;aspect-ratio:1;max-height:480px}.catalog-card{padding:24px}.catalog-photo-link{margin-bottom:12px!important}.photo-enlarge{font-size:14px;margin-bottom:18px}.photo-dialog{width:min(1320px,96vw);max-width:96vw;max-height:94vh;padding:0;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:white}.photo-dialog::backdrop{background:#001e2caa}.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.photo-dialog-head h2{font-size:16px;font-weight:600;margin:0;line-height:1.5}.photo-dialog-head>div{display:flex;gap:8px;flex-shrink:0}.photo-dialog-scroll{overflow:auto;max-height:calc(94vh - 100px);background:white}.photo-dialog-scroll img{display:block;object-fit:contain;width:100%;height:min(76vh,1254px)}.photo-dialog.native-size .photo-dialog-scroll img{width:1254px;height:1254px;max-width:none;object-fit:contain}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 340px}.row-photo{width:72px;height:72px}}
@media(max-width:850px){.workspace{grid-template-columns:1fr}.detail-photo{max-height:480px}.detail-photo-button{max-width:540px;margin-left:auto;margin-right:auto}}
@media(max-width:600px){.model-label{width:40px;height:40px}.catalog-grid{grid-template-columns:1fr}.catalog-card{padding:18px}.catalog-photo{max-height:none}.photo-dialog-head{align-items:flex-start;padding:14px;flex-direction:column}.photo-dialog-scroll{max-height:calc(94vh - 140px)}.photo-dialog-scroll img{height:70vh}.photo-dialog-head>div{align-self:flex-end}.model-label-name{max-width:160px}}
.part-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px}.part-gallery button{display:flex;flex-direction:column;align-items:center;gap:7px;background:white;border:1px solid var(--line);border-radius:3px;padding:8px;min-width:0;color:#006386}.part-gallery button:hover{border-color:#377f81}.part-gallery img{width:100%;height:112px;object-fit:contain}.part-gallery span{font-size:12px;line-height:1.5;text-align:center}.photo-dialog.native-size .photo-dialog-scroll img{width:var(--photo-width,1254px);height:var(--photo-height,1254px)}
.inspect-part{width:100%;margin-bottom:18px}.inspect-part:disabled{opacity:.5;cursor:wait}.model-tools{flex-wrap:wrap}.model-tools>div{flex-wrap:wrap}.model-stage:focus-within{outline-offset:-3px}

.unit-photo-gallery{padding:16px 24px 4px;border-top:1px solid var(--line)}
.unit-photo-gallery h3{margin:0 0 10px;font-size:1rem;color:var(--ink)}
.unit-photo-gallery .part-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.unit-photo-gallery .part-gallery button{min-width:0}
.unit-photo-gallery .part-gallery img{width:100%;height:130px;object-fit:contain;background:#fff}
.unit-photo-gallery .part-gallery span{display:block;font-size:.875rem;line-height:1.4}
@media(max-width:600px){.unit-photo-gallery{padding:14px}.unit-photo-gallery .part-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-photo-gallery .part-gallery img{height:115px}}

/* Keep the viewer and its explode controls compact across screen sizes. */
@media(max-width:960px){.workspace{grid-template-columns:minmax(0,1fr)}.model-stage{height:clamp(360px,52vh,560px);height:clamp(360px,52svh,560px)}}
@media(max-width:600px){.wrapper{padding:16px 14px 0}.model-stage{height:clamp(340px,52vh,500px);height:clamp(340px,52svh,500px)}.viewer-controls{padding:12px 14px}.viewer-modes{padding:0 8px}.viewer-modes button{padding:11px 10px}.viewer-top{padding:14px}.control-actions{flex-wrap:wrap}}

/* Keep the parts catalog in the viewer's normal flow, immediately after photos. */
.explorer>.catalog{display:block;margin:0;padding:14px 16px 24px;border-top:1px solid var(--line);min-height:0}
.explorer>.catalog .section-head{align-items:flex-start;flex-wrap:wrap;gap:8px 16px;margin-bottom:16px}
.explorer>.catalog .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:600px){.explorer>.catalog{padding:14px}.explorer>.catalog .catalog-grid{grid-template-columns:minmax(0,1fr)}}
