* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; }
body { background: #f5f6f9; color: #06244b; font-family: Arial, sans-serif; }
main { height: 100vh; height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr); }
.coming-soon { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: clamp(6px, 1.5vh, 16px) max(16px, calc((100vw - 1360px) / 2)); background: #fff; }
.logo { display: block; width: min(48vw, 630px); height: min(11dvh, 120px); object-fit: contain; object-position: left center; }
.launch { flex-shrink: 0; text-align: right; }
h1 { margin: 0; font-size: clamp(20px, 3vw, 46px); font-weight: 900; letter-spacing: -.04em; line-height: 1.1; }
h1 span { color: #c60024; }
.coming-soon p { margin: 6px 0 0; color: #596273; font-size: clamp(11px, 1.2vw, 18px); line-height: 1.2; }
time { color: #06244b; font-weight: 700; }
.publications { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; width: min(100%, 1280px); margin: 0 auto; padding: clamp(8px, 2.5vh, 24px) 12px; gap: clamp(16px, 3vw, 48px); }
figure { margin: 0; min-width: 0; min-height: 0; height: 100%; width: auto; max-width: 100%; aspect-ratio: 1102 / 1427; justify-self: center; padding: 8px; background: #fff; box-shadow: 0 5px 10px #06244b22; }
figure img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
@media (max-width: 600px) and (orientation: portrait) { .coming-soon { gap: 8px; padding: 8px 12px; } .logo { width: 48%; height: 60px; } h1 { font-size: clamp(16px, 4.5vw, 27px); } .coming-soon p { font-size: 11px; margin-top: 4px; } .publications { grid-template-columns: 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 6px 12px; } }
