:root{
  --radius-card:24px;
  --shadow-polish:0 16px 36px rgba(15,23,42,.08);
}
.section{padding:54px 0}
@media (max-width:820px){.section{padding:42px 0}}
.topbar-meta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.topbar-meta a{display:inline-flex;align-items:center;white-space:nowrap}
.topbar-meta .mail-link{font-weight:700;color:var(--text)}
.footer-contact{margin-top:12px !important;font-weight:700;color:var(--text)}
.footer-contact a{text-decoration:none}
.button-like{
  min-height:48px;
  padding-inline:20px;
  text-align:center;
  justify-content:center;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.01em;
}
.hero-actions,.cta-actions,.badges,.text-links{align-items:center}
.hero-actions .button-like,.cta-actions .button-like{min-width:184px}
.page-hero-grid,.page-hero-split,.editorial-strip,.contact-grid,.form-shell,.grid-2,.grid-3,.grid-4,.doc-grid,.family-grid,.metrics,.text-grid{gap:24px;align-items:stretch}
.title-box,.hero-copy,.card,.info-block,.detail-card,.doc-card,.legal-card,.contact-panel,.metric,.family-card .card-copy,.card.visual-card .card-copy,.product-shot figcaption,.page-visual-card .caption,.form-card{text-align:center}
.card,.info-block,.detail-card,.doc-card,.legal-card,.contact-panel,.metric,.family-card .card-copy,.card.visual-card .card-copy,.form-card{align-items:center}
.card p,.info-block p,.detail-card p,.doc-card p,.legal-card p,.contact-panel p,.metric p,.family-card p,.page-visual-card .caption,.product-shot figcaption,.title-box p,.form-card p{max-width:46ch;margin-inline:auto}
.page-visual-card,.hero-card,.form-card,.contact-panel,.info-block,.card,.doc-card,.metric,.family-card{overflow:hidden;box-shadow:var(--shadow-polish)}
.page-visual-card img,.page-visual-card video,.hero-card img,.hero-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center}
.page-visual-card .caption{padding:18px 20px 20px;min-height:86px;display:flex;align-items:center;justify-content:center}
.page-title .lead,.page-hero .lead{max-width:44ch;margin-inline:auto}
.title-box h1,.hero-copy h1{max-width:14ch;margin-inline:auto}
.hero-copy{justify-content:center}
.hero-media>.copy,.hero-card .copy{display:grid;gap:10px;justify-items:center}
.hero-card h2,.hero-media h2{max-width:14ch;margin-inline:auto}
.catalog-carousel,.showcase-carousel{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:14px;align-items:center}
.catalog-carousel .product-shot,.showcase-carousel .product-shot{display:flex;flex-direction:column;height:100%;border-radius:22px;box-shadow:var(--shadow-polish)}
.catalog-carousel .product-shot img,.showcase-carousel .product-shot img{
  width:100% !important;
  height:auto !important;
  min-height:unset !important;
  max-height:none !important;
  aspect-ratio:4/3;
  object-fit:cover !important;
  object-position:center center !important;
}
.catalog-carousel .family-slide .card-copy,.showcase-carousel .family-slide .card-copy{padding:18px 18px 20px;min-height:166px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:flex-start}
.catalog-carousel .family-slide .card-copy p,.showcase-carousel .family-slide .card-copy p{flex:1;display:flex;align-items:flex-start;justify-content:center}
.catalog-carousel .family-slide .button-like,.showcase-carousel .family-slide .button-like{align-self:center;min-width:140px;margin-top:auto}
.home-showcase-carousel .product-shot img{aspect-ratio:5/4}
.family-grid .family-card img{aspect-ratio:4/3;object-fit:cover}
.family-grid .family-card .button-like{margin-top:auto}
.sample-board-carousel .product-shot img{
  aspect-ratio:4/5 !important;
  object-fit:contain !important;
  background:#f6f7f8 !important;
  padding:14px !important;
}
.sample-board-carousel .product-shot figcaption{min-height:92px;display:flex;align-items:center;justify-content:center;text-align:center}
.form-card .button-like,.contact-panel .button-like,.doc-card .button-like,.card .button-like{align-self:center}
.site-footer{margin-top:18px}
.footer-grid{gap:24px}
.footer-grid h3{margin-bottom:10px}
.footer-grid ul{display:grid;gap:8px}
.footer-grid p,.footer-grid a{line-height:1.65}
.contact-panel .stack{width:100%}
.contact-panel .stack .button-like{width:100%}
.cta-band{padding:36px;gap:22px}
.cta-band>div{display:grid;justify-items:center;text-align:center}
@media (max-width:1024px){
  .catalog-carousel,.showcase-carousel{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px}
  .catalog-carousel .family-slide .card-copy,.showcase-carousel .family-slide .card-copy{min-height:154px}
}
@media (max-width:680px){
  .topbar-meta{justify-content:center}
  .hero-actions .button-like,.cta-actions .button-like{width:100%}
  .catalog-carousel,.showcase-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:8px}
  .page-visual-card .caption{min-height:auto}
}


.visualizer-fab{position:fixed;right:22px;bottom:22px;z-index:1200;display:inline-flex;align-items:center;gap:12px;padding:14px 18px;border-radius:999px;background:#163149;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 18px 36px rgba(15,23,42,.24);border:1px solid rgba(255,255,255,.12);transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease}
.visualizer-fab:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,23,42,.28)}
.visualizer-fab svg{width:22px;height:22px;flex:0 0 22px}
.visualizer-fab-label{display:flex;flex-direction:column;line-height:1.05}
.visualizer-fab-label small{font-size:11px;font-weight:600;opacity:.72;letter-spacing:.08em;text-transform:uppercase}
.visualizer-fab-label span{font-size:14px}
@media (max-width:680px){.visualizer-fab{right:14px;bottom:14px;padding:13px 15px;gap:10px}.visualizer-fab-label small{display:none}.visualizer-fab-label span{font-size:13px}}
