:root { --brand: #a92a2a; --ink: #182230; --muted: #526070; --border: #d7dde4; }
    * { box-sizing: border-box; }
    body { margin: 0; color: var(--ink); background: #f8f9fa; font: 16px/1.6 system-ui, -apple-system, sans-serif; }
    header { border-bottom: 1px solid var(--border); background: white; }
    nav { max-width: 900px; margin: auto; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
    a { color: var(--brand); text-underline-offset: 3px; }
    nav a { min-height: 44px; display: inline-flex; align-items: center; }
    .brand { font-weight: 750; text-decoration: none; }
    main { max-width: 800px; padding: 32px 16px 48px; margin: auto; }
    h1 { margin: 0 0 10px; font-size: clamp(26px, 5vw, 36px); line-height: 1.2; letter-spacing: -.025em; }
    .intro { margin: 0 0 24px; color: var(--muted); max-width: 65ch; }
    .selector { padding: 24px; background: white; border: 1px solid var(--border); border-radius: 16px; }
    label { display: block; font-weight: 700; margin-bottom: 8px; }
    select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #8794a5; border-radius: 8px; background: white; color: var(--ink); font: inherit; }
    select:disabled { opacity: .65; cursor: not-allowed; }
    :focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
    .help { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
    address { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); font-style: normal; }
    address strong, address span { display: block; }
    #form-area { margin: 24px -16px 0; scroll-margin-top: 16px; }
    iframe { display: block; border: 0; width: 100%; height: 760px; }
    [hidden] { display: none !important; }
    #loading, #load-error { margin: 16px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: white; }
    #load-error { color: #7f1d1d; }
    button { min-height: 44px; border: 1px solid var(--brand); border-radius: 8px; padding: 10px 16px; background: white; color: var(--brand); font: inherit; font-weight: 600; cursor: pointer; }
    footer { margin-top: 24px; color: var(--muted); font-size: 14px; }
    @media (max-width: 480px) { nav { padding: 12px 16px; } .selector { padding: 18px; } }
