:root { color-scheme: light; --ink: #24282a; --paper: #eeeeec; --accent: #385f63; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.6; }
a { color: var(--accent); text-underline-offset: .22em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; }
.skip-link { position: absolute; left: 20px; top: -100px; z-index: 2; padding: 12px 20px; background: white; }
.skip-link:focus { top: 20px; }
.microsite { display: grid; grid-template-columns: 1fr 1fr; min-height: 100svh; }
.contact-panel { display: flex; align-items: center; justify-content: center; padding: 64px 36px; }
.contact-content { width: 350px; max-width: 100%; }
.logo { width: 300px; margin: 0 0 32px; }
h1 { font-size: 23px; line-height: 1.35; letter-spacing: -.025em; margin: 0 0 28px; }
address { font-style: normal; }
address p { margin: 0 0 20px; }
address p:last-child { margin-bottom: 0; }
address a { text-decoration: none; overflow-wrap: anywhere; }
address a:hover { text-decoration: underline; }
address strong { font-weight: 600; }
.photo-panel { position: relative; min-width: 0; }
.photo-panel img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px 36px; padding: 22px max(32px, calc((100vw - 1280px) / 2)); background: #24282a; color: #fff; font-size: 14px; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover, .site-footer a[aria-current] { text-decoration: underline; }
.site-footer nav { display: flex; gap: 28px; }
.site-header { max-width: 1080px; padding: 28px 32px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-header img { width: 96px; }
.back-link { font-size: 15px; }
.legal { max-width: 824px; margin: 0 auto; padding: 40px 32px 88px; min-height: 65vh; overflow-wrap: anywhere; }
.legal h1 { font-size: clamp(30px, 5vw, 44px); margin-bottom: 36px; }
.legal h2 { font-size: 23px; line-height: 1.35; margin: 40px 0 16px; }
.legal h3 { font-size: 19px; line-height: 1.4; margin-top: 28px; }
.legal p { margin: 0 0 18px; }
.legal li { padding-left: 4px; margin-bottom: 9px; }
.legal ul { padding-left: 24px; }
@media (max-width: 991px) {
    .microsite { grid-template-columns: 1fr; min-height: auto; }
    .contact-panel { padding: 56px 28px; }
    .logo { width: 260px; margin-bottom: 28px; }
    .photo-panel { height: clamp(340px, 65vw, 620px); }
    .photo-panel img { object-position: center 53%; }
    .site-footer { flex-wrap: wrap; justify-content: center; padding: 24px; }
}
@media (max-width: 480px) {
    body { font-size: 16px; }
    .contact-content { width: 310px; }
    h1 { font-size: 22px; }
    .site-footer { flex-direction: column; gap: 14px; }
    .site-header { padding: 20px 24px; }
    .site-header img { width: 76px; }
    .legal { padding: 24px 24px 56px; }
    .legal h2 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
