.signage-intro { padding: 88px 0 54px; background: #fff; scroll-margin-top: 96px; }
.signage-intro-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:64px; align-items:center; }
.signage-intro-grid img { width:100%; height:420px; object-fit:cover; border-radius:28px; }
.signage-intro-copy, .signage-section-lead { max-width:680px; color:#626973; font-size:18px !important; }
.signage-jump { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:46px; }
.signage-jump a { display:flex; align-items:center; gap:16px; min-height:68px; padding:14px 20px; border:1px solid #dedede; border-radius:16px; color:#232323; font-weight:700; background:#fff; transition:border-color .2s, transform .2s; }
.signage-jump a:hover { border-color:var(--brand-red); color:var(--brand-red); transform:translateY(-2px); }
.signage-jump span { color:var(--brand-red); font-size:13px; letter-spacing:.1em; }
.signage-family { padding:90px 0; background:#f6f6f6; scroll-margin-top:90px; }
.signage-family-alt { background:#fff; }
.signage-family-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:72px; align-items:center; }
.signage-family-alt .signage-family-media { order:2; }
.signage-family-media { position:relative; }
.signage-family-media > span { position:absolute; z-index:1; left:24px; top:24px; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; color:#fff; background:var(--brand-red); font-weight:700; }
.signage-family-media img { width:100%; height:440px; object-fit:cover; border-radius:28px; }
.signage-family-copy > p:not(.service-gallery-eyebrow) { color:#626973; font-size:18px; }
.signage-family-copy ul { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; }
.signage-family-copy li { display:grid; grid-template-columns:28px 1fr; gap:13px; align-items:center; padding:14px 16px; border:1px solid #dedede; border-radius:14px; background:rgba(255,255,255,.72); }
.signage-family-copy li i { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--brand-red); color:#fff; font-size:11px; }
.signage-applications { padding:96px 0; background:#fff; }
.signage-use-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }
.signage-use-grid article { overflow:hidden; border:1px solid #e3e3e3; border-radius:22px; background:#fff; }
.signage-use-grid img { width:100%; height:210px; object-fit:cover; }
.signage-use-grid article div { padding:24px; }
.signage-use-grid h3 { margin:0 0 9px; font-size:21px; }
.signage-use-grid p { margin:0; color:#626973; font-size:15px; line-height:1.6; }
.signage-use-card { display:block; height:100%; color:inherit; text-decoration:none; cursor:zoom-in; }
.signage-use-card:hover { color:inherit; }
.signage-use-card img { display:block; transition:transform .22s ease,filter .22s ease; }
.signage-use-card:hover img { transform:scale(1.025); filter:brightness(.96); }
.signage-use-card:focus-visible { outline:3px solid var(--brand-red); outline-offset:4px; }
.signage-preview-dialog { position:fixed; inset:0; box-sizing:border-box; width:min(760px,92vw); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; padding:48px 24px 20px; border:1px solid #444b56; border-radius:22px; background:#181b21; color:#f1f3f5; }
.signage-preview-dialog::backdrop { background:rgb(12 15 19 / .8); }
.signage-preview-dialog img { display:block; max-width:100%; max-height:66vh; width:auto; height:auto; margin:auto; object-fit:contain; }
.signage-preview-dialog__content { padding:18px 4px 2px; text-align:center; }
.signage-preview-dialog__content h2 { margin:0; color:#f1f3f5; font-size:clamp(22px,3vw,30px); font-weight:750; line-height:1.2; letter-spacing:-.02em; }
.signage-preview-dialog__content p { margin:7px 0 0; color:#b9c0ca; font-size:14px; line-height:1.5; }
.signage-preview-close { position:absolute; right:12px; top:10px; width:34px; height:34px; border:0; border-radius:50%; color:#fff; background:var(--brand-red); }
.signage-preview-close:focus-visible { outline:3px solid #ff9297; outline-offset:3px; }
.signage-outdoor { padding:0 0 96px; background:#fff; scroll-margin-top:96px; }
.signage-outdoor-first { padding:88px 0 96px; }
.signage-outdoor-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; padding:52px; border-radius:30px; background:#181d23; color:#f4f5f6; }
.signage-outdoor-panel h2 { color:#fff; }
.signage-outdoor-panel p:not(.service-gallery-eyebrow) { color:#d0d3d7; }
.signage-outdoor-images { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.signage-outdoor-images img { width:100%; height:310px; object-fit:cover; border-radius:18px; }
.signage-outdoor-panel .signage-jump { grid-template-columns:1fr; margin-top:30px; }
.signage-outdoor-panel .signage-jump a { min-height:52px; border-color:rgb(255 255 255 / 20%); background:rgb(255 255 255 / 6%); color:#f4f5f6; }
.signage-outdoor-panel .signage-jump a:hover { border-color:#ef4545; color:#fff; background:rgb(162 4 4 / 22%); }
[data-site-theme="dark"] .signage-intro,[data-site-theme="dark"] .signage-family-alt,[data-site-theme="dark"] .signage-applications,[data-site-theme="dark"] .signage-outdoor { background:#181b20; }
[data-site-theme="dark"] .signage-family { background:#1f2329; }
[data-site-theme="dark"] .signage-intro-copy,[data-site-theme="dark"] .signage-section-lead,[data-site-theme="dark"] .signage-family-copy>p:not(.service-gallery-eyebrow),[data-site-theme="dark"] .signage-use-grid p { color:#c9cdd2; }
[data-site-theme="dark"] .signage-jump a,[data-site-theme="dark"] .signage-family-copy li,[data-site-theme="dark"] .signage-use-grid article { background:#22272e; border-color:#424850; color:#f4f5f6; }
@media(max-width:991px){.signage-intro-grid,.signage-family-grid,.signage-outdoor-panel{grid-template-columns:1fr;gap:36px}.signage-family-alt .signage-family-media{order:0}.signage-use-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.signage-intro,.signage-family,.signage-applications{padding:62px 0}.signage-intro-grid img,.signage-family-media img{height:320px}.signage-jump{grid-template-columns:1fr}.signage-use-grid{grid-template-columns:1fr}.signage-outdoor-panel{padding:28px}.signage-outdoor-images img{height:220px}}
@media(max-width:480px){.signage-outdoor-images{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.signage-jump a,.signage-use-card img{transition:none}}
