/* Approved alignment review, 20 October 2026. Same fonts, palette and imagery. */
.entry-thumb{background:#202b32}
.entry-thumb svg{width:100%;height:100%}
.assembled .site-header-top{gap:24px}
/* Caption follows the existing SVG wordmark bounds x=31.882..110.43 / 122.5,
   not the full icon+wordmark canvas. The SVG itself remains unchanged. */
.assembled .site-logo img{display:block;width:100%;height:auto}
.assembled .site-logo>span{position:absolute;left:26.026%;top:70%;width:64.12%;margin:0;text-align:center;font-size:.48rem;line-height:1.35;letter-spacing:.015em;white-space:nowrap}
.assembled .site-nav{justify-content:center;gap:18px;margin-inline:auto;line-height:1.4}
.assembled .site-phone{align-items:center;text-align:center;gap:6px}
.assembled .site-phone small{display:block;line-height:1.4;white-space:nowrap}
.assembled .site-phone a{font-size:1.15rem;font-weight:800;letter-spacing:.015em;gap:10px;line-height:1.3}
.assembled .site-phone a:hover{color:#ffad6c}
.assembled .site-phone .ui-icon{display:block;width:34px;height:34px;padding:8px;border:1px solid #f47c2066;border-radius:50%;background:#f47c201c;color:#ff963f}
.assembled .site-phone small{font-size:.6875rem;color:#c7ced1;margin-left:44px}
.assembled .benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.assembled .benefit{justify-content:center;padding-inline:24px;gap:18px}
.assembled .benefit>div{min-width:0}
.assembled .benefit strong,.assembled .benefit span{line-height:1.5}
.assembled .footer-bottom{text-align:center}
.assembled .footer-bottom nav{display:flex;justify-content:center;align-items:center;gap:14px 28px}
.assembled .footer-bottom .copyright{margin:0 0 20px;color:#d5dbdc}
.contact-page-heading{padding-block:48px 36px}
.assembled .contact-page-heading h1{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:18px}
.contact-page-heading>p:last-child{color:#58636a;line-height:1.7}
.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:32px}
.contact-panel{min-width:0;padding:36px;border:1px solid #c8cdca;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.assembled .contact-panel h2{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.2;margin-bottom:28px}
.contact-facts{width:100%;margin:0 0 28px}
.contact-facts>div{padding-block:16px;border-bottom:1px solid #e1e4e0}
.contact-facts>div:first-child{padding-top:0}
.contact-facts dt{font-size:.75rem;color:#606b71;margin-bottom:8px}
.contact-facts dd{margin:0;line-height:1.6;overflow-wrap:anywhere}
.contact-facts dd small{display:block;color:#606b71;margin-top:7px}
.contact-facts a{font-weight:600}
.contact-main-number{font-size:clamp(1.2rem,2.1vw,1.65rem)}
.contact-panel>.actions,.location-panel>.button{margin-top:auto}
.location-panel{background:#202428;color:#f5f5f2;border-color:#454a4f}
.location-panel>.eyebrow{color:#ffad6c}
.location-panel>.office-number{font-size:1.2rem;margin:0 0 14px}
.location-panel>p{line-height:1.7}
.location-note{display:flex;align-items:center;gap:22px;border-block:1px solid #ffffff30;padding-block:24px;margin-block:30px;width:100%}
.location-note>span{color:#f47c20;font-size:3rem;line-height:1}
.location-note p{color:#c7ced1;font-size:.9rem;line-height:1.7;margin:0}
.assembled .location-panel>.button{color:#fff;border-color:#9ba6ab;background:transparent}
.workflow-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.workflow-grid li{border-top:1px solid #bfc6c5;padding-block:24px}
.workflow-number{display:block;color:#b34c00;font-size:.875rem;margin-bottom:20px}
.assembled .workflow-grid h3{font-size:1.25rem;line-height:1.4;margin-bottom:12px}
.workflow-grid p{line-height:1.75;color:#58636a}
.company-geography{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.company-geography p{line-height:1.75;margin-bottom:20px}
.contact-dialog .dialog-phone{font-size:clamp(1.2rem,4vw,1.8rem);font-weight:700;color:#202428}
.contact-dialog .contact-option{cursor:auto}
.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:14px}
.dialog-actions .button{font-size:.8125rem;min-height:44px;padding:10px 14px}
.dialog-actions .copy-link{font:inherit;font-size:.8125rem;text-decoration:underline;min-height:44px;border:0;background:none;padding:0;color:#33383d;cursor:pointer}
.dialog-actions .text-link{font-size:.875rem}
.contact-dialog .copy-status{min-height:1.6em;margin:12px 0;font-size:.8125rem}
.contact-option [data-copy-source]{user-select:text}
@media(min-width:1101px) and (max-width:1350px){
 .assembled .site-header-top{gap:14px}
 .assembled .site-nav{gap:12px;font-size:.75rem}
 .assembled .site-logo,.assembled .site-logo img{width:174px}
 .assembled .site-logo>span{font-size:.44rem}
 .assembled .site-phone small{font-size:.65rem;margin-left:40px}
 .assembled .site-phone a{font-size:1.05rem}
 .assembled .site-phone .ui-icon{display:block;width:30px;height:30px;padding:6px}
}
@media(max-width:1100px){
 .assembled .site-logo>span{font-size:.475rem}
 .assembled .site-nav{margin:0;justify-content:stretch;text-align:left}
 .assembled .site-header-top{gap:18px}
 .contact-panel{padding:28px}
 .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .assembled .site-logo>span{font-size:.44rem}
 .assembled .site-header-top{gap:12px;flex-wrap:wrap}
 .assembled .menu-toggle{margin-left:auto}
 .assembled .site-phone{margin:0;order:3;width:100%;padding-top:12px;border-top:1px solid #ffffff26;gap:5px}
 .assembled .site-phone a{width:auto;height:auto;border:0;font-size:1.25rem}
 .assembled .site-phone a>span{display:inline!important}
 .assembled .site-phone small{display:block!important;font-size:.6875rem}
 .assembled .benefit-grid{grid-template-columns:1fr}
 .assembled .benefit{justify-content:flex-start;padding:20px 12px!important}
 .assembled .footer-bottom nav{flex-direction:column;gap:16px}
 .contact-page-heading{padding-block:30px}
 .contact-layout,.company-geography,.workflow-grid{grid-template-columns:1fr}
 .contact-panel{padding:26px 22px}
 .contact-layout{gap:18px}
 .company-geography{gap:12px}
 .workflow-grid{gap:4px}
 .dialog-actions{gap:8px 16px}
 .contact-dialog .dialog-note{font-size:.8125rem}
}
@media(max-width:360px){
 .assembled .site-logo>span{font-size:.365rem}
}
/* Review 2026-09-30: a complete, compact player rather than a tall drawing. */
.assembled .mechanism {scroll-margin-top:18px}
.assembled .mechanism-player {max-width:1040px;margin-inline:auto}
.assembled .mechanism-player .drawing {margin:16px 0 0;overflow:hidden}
.assembled .mechanism-player .drawing .isometric-diagram {
  display:block;width:100%;min-width:0;height:min(440px,46svh);max-height:none;
}
.assembled .mechanism-player .drawing-head {gap:12px}
.assembled .mechanism-player .drawing-head h2 {font-size:1.2rem;line-height:1.35}
.assembled .mechanism-player .drawing-tag {flex-shrink:0;margin-top:0}
.assembled .mechanism-player .drawing-controls {
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 20px;
  align-items:center;padding-top:12px;margin-top:0;
}
.assembled .mechanism-player .drawing-controls .button {width:auto;min-height:46px;padding:10px 18px}
.assembled .mechanism-player .drawing-controls p {margin:0;line-height:1.45}
.assembled .mechanism>.scale-note {display:block;margin:16px auto 0;max-width:1040px;line-height:1.6}
.assembled .brand-logos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:24px}
.brand-logo {display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d7d9d6;border-radius:3px;padding:20px;min-height:112px}
.brand-logo img {display:block;width:100%;height:76px;object-fit:contain;max-width:220px}
/* Avoid layered labels and image movement on the catalog cards. */
.assembled .solution-card:hover .photo-thumb:not(.dock-crop) img {transform:none}
.assembled .solution-card .photo-thumb.dock-crop img {transform:translateY(-50%)}
@media(max-width:700px) {
  .assembled .mechanism {padding:18px 14px}
  .assembled .mechanism-player .drawing-head {display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}
  .assembled .mechanism-player .drawing-head h2 {font-size:1.08rem}
  .assembled .mechanism-player .drawing-head .eyebrow {margin-bottom:6px}
  .assembled .mechanism-player .drawing-tag {padding:3px 8px;font-size:.6875rem}
  .assembled .mechanism-player .drawing .isometric-diagram {height:min(330px,34svh)}
  .assembled .mechanism-player .drawing-controls {gap:10px 12px}
  .assembled .mechanism-player .drawing-controls .button {font-size:.8125rem;padding-inline:12px}
  .assembled .mechanism-player .drawing-controls p {font-size:.75rem}
  .assembled .mechanism-player .iso-scroll-hint {font-size:.75rem;line-height:1.4;margin:8px 0}
  .assembled .mechanism-player .iso-zoom {font-size:.75rem;min-height:44px;margin:0 8px 0 0;padding:8px}
  .assembled .mechanism-player .drawing.is-zoomed {overflow-x:auto}
  .assembled .mechanism-player .drawing.is-zoomed .isometric-diagram {min-width:680px;height:auto;max-height:none}
  .assembled .brand-logos {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .brand-logo {min-height:90px;padding:12px}
  .brand-logo img {height:62px}
}
@media(max-height:500px) and (min-width:701px) {
  .assembled .mechanism {padding:16px 24px}
  .assembled .mechanism-player .drawing .isometric-diagram {height:36svh}
  .assembled .mechanism-player .drawing-head .eyebrow {display:none}
  .assembled .mechanism-player .drawing-head h2 {font-size:1rem}
}
