:root { --announcement-height: 34px; }
body { padding-top: var(--announcement-height); }
html { scroll-padding-top: calc(var(--header-height) + var(--announcement-height) + 18px); }
.site-header { height: calc(var(--header-height) + var(--announcement-height)); }
.header-bar { height: var(--header-height); }
.mobile-navigation { padding-top: calc(var(--header-height) + var(--announcement-height) + 28px); }
.site-announcement { height: var(--announcement-height); overflow: hidden; background: var(--green); color: var(--cream); font-size: 12px; font-weight: 600; letter-spacing: .025em; line-height: 1; }
.announcement-track { display: flex; width: max-content; height: 100%; animation: announcement-scroll 26s linear infinite; }
.announcement-group { display: flex; align-items: center; flex-shrink: 0; gap: 30px; padding-right: 30px; white-space: nowrap; }
.announcement-item { display: flex; align-items: center; gap: 30px; white-space: nowrap; }
.announcement-star { color: #d6c291; font-size: 13px; }
@keyframes announcement-scroll { to { transform: translateX(-25%); } }
@media (hover:hover) { .site-announcement:hover .announcement-track { animation-play-state: paused; } }
.footer-legal { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 28px; width: min(calc(100% - 40px), var(--container)); margin: 22px auto 0; color: rgba(255,255,255,.75); font-size: 12px; line-height: 1.6; }
.footer-legal a { text-underline-offset: 4px; }
.footer-legal a:hover { color: var(--white); text-decoration: underline; }
.information-page { padding-top: calc(var(--header-height) + 52px); }
.information-container { max-width: 850px; }
.information-heading { margin-bottom: 38px; }
.information-heading h1 { margin-bottom: 0; font-size: clamp(32px,5vw,52px); line-height: 1.15; letter-spacing: -.045em; overflow-wrap: anywhere; }
.information-content { padding: clamp(22px,4vw,42px); background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.information-content h2 { margin: 32px 0 14px; font-size: 22px; line-height: 1.35; letter-spacing: -.025em; color: var(--green); }
.information-content h2:first-child { margin-top: 0; }
.information-content p { margin-bottom: 16px; color: var(--muted); font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.information-content p:last-child { margin-bottom: 0; }
@media(max-width:600px) { .site-announcement { font-size: 11.5px; } .announcement-group,.announcement-item { gap: 24px; } .announcement-group { padding-right: 24px; } .information-page { padding-top: calc(var(--header-height) + 32px); } .information-heading { margin-bottom: 26px; } }
