.optisigns-board { box-sizing:border-box; padding:28px; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#111; background:#fff; }
.optisigns-board.portrait { width:100%; max-width:1080px; margin:0 auto; }
.optisigns-board .board-header { display:flex; align-items:center; gap:16px; }
.optisigns-board .board-header h2 { font-size:48px; line-height:1.1; margin:0; font-weight:700; }
.optisigns-board .board-header .spacer { flex:1; }
.optisigns-board .board-header .logo { height:72px; width:auto; object-fit:contain; }

.optisigns-board .grid { display:grid; grid-template-columns: 1fr; gap:18px; margin-top:22px; }
@media (min-width:768px){ .optisigns-board .grid { grid-template-columns: 1fr 1fr; } }
@media (min-width:1024px){ .optisigns-board .grid { grid-template-columns: 1fr 1fr; } }

.optisigns-board .card { display:flex; background:#f7f7f9; border-radius:16px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.optisigns-board .card .thumb { width:38%; min-height:180px; background-size:cover; background-position:center; }
.optisigns-board .card .meta { padding:18px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.optisigns-board .card .title { font-size:28px; margin:0; line-height:1.2; }
.optisigns-board .card .snippet, .optisigns-board .card .sub { font-size:20px; color:#444; margin:0; }

.optisigns-board.landscape .board-header h2 { font-size:40px; }
.optisigns-board.landscape .card .title { font-size:24px; }
