body { font-family: 'Inter', sans-serif; background-color: #FAFAFC; color: #111827; overflow-x: hidden; }

.eyebrow { display: inline-block; background: #09090B; color: #FF7A00; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; padding: 4px 12px; border-radius: 8px; }
.eyebrow-light { background: #FFF1E5; color: #C2410C; }

.field { width: 100%; background: #FAFAFA; border: 1px solid #E4E4E7; border-radius: 12px; padding: 12px 16px; font-size: 13px; font-weight: 600; color: #18181B; }
.field:focus { outline: none; border-color: #FF7A00; box-shadow: 0 0 0 3px rgba(255, 122, 0, .15); }
.field-label { display: block; font-size: 10px; font-weight: 900; color: #71717A; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }

.chip { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid #E4E4E7; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; color: #27272A; }
.chip-core::before, .chip-outer::before { content: ''; width: 8px; height: 8px; border-radius: 999px; }
.chip-core::before { background: #FF7A00; }
.chip-outer::before { background: transparent; border: 2px dashed #FF7A00; }

.prose-legal h2 { font-size: 1.25rem; font-weight: 900; color: #09090B; margin-top: 2.25rem; margin-bottom: .75rem; }
.prose-legal p, .prose-legal li { font-size: .9rem; line-height: 1.75; color: #52525B; }
.prose-legal ul { list-style: disc; padding-left: 1.25rem; margin: .5rem 0 1rem; }
.prose-legal a { color: #EA580C; font-weight: 700; }

.corridor-card { display: block; width: 100%; text-align: left; background: #fff; border: 1px solid #E4E4E7; border-radius: 18px; padding: 16px 18px; transition: border-color .15s, box-shadow .15s, transform .15s; cursor: pointer; }
.corridor-card:hover, .corridor-card.is-hover { border-color: #FDBA74; box-shadow: 0 10px 25px -12px rgba(0,0,0,.18); }
.corridor-card[aria-pressed="true"] { border-color: #FF7A00; box-shadow: 0 0 0 3px rgba(255,122,0,.18), 0 10px 25px -12px rgba(0,0,0,.2); }
.corridor-card:focus-visible { outline: 2px solid #FF7A00; outline-offset: 2px; }
.corridor-card .chip { padding: 3px 9px; font-size: 11px; }
.road-shield { flex-shrink: 0; min-width: 58px; text-align: center; background: #09090B; color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .04em; padding: 5px 8px; border-radius: 8px; border-bottom: 3px solid #FF7A00; }
.brand-tile { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 52px; padding: 8px; border: 1px solid #27272A; border-radius: 12px; background: #121215; color: #D4D4D8; font-size: 13px; font-weight: 800; letter-spacing: -.01em; }
.report-sheet { position: relative; overflow: hidden; background: #fff; border: 1px solid #E4E4E7; border-radius: 24px; padding: 28px; box-shadow: 0 30px 60px -25px rgba(0,0,0,.25); }
.report-watermark { position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%) rotate(-18deg); font-size: 120px; font-weight: 900; letter-spacing: .1em; color: rgba(255,122,0,.07); pointer-events: none; user-select: none; }
.report-label { display: block; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: #A1A1AA; margin-bottom: 4px; }
.report-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; aspect-ratio: 4 / 3; border-radius: 12px; background: repeating-linear-gradient(135deg, #F4F4F5, #F4F4F5 8px, #FAFAFA 8px, #FAFAFA 16px); border: 1px dashed #D4D4D8; color: #71717A; font-size: 11px; font-weight: 700; }

.faq { background: #fff; border: 1px solid #E4E4E7; border-radius: 16px; padding: 0 22px; }
.faq summary { cursor: pointer; list-style: none; padding: 18px 0; font-weight: 800; color: #09090B; font-size: 14px; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: #FF7A00; font-weight: 900; font-size: 18px; line-height: 1; }
.faq[open] summary::after { content: '–'; }
.faq p { padding: 0 0 18px; font-size: 13px; line-height: 1.7; color: #52525B; }

.claim-step { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 18px; background: #FAFAFC; border: 1px solid #E4E4E7; color: #71717A; }
.claim-step-ours { background: #09090B; border-color: #27272A; color: #FF7A00; }
.claim-who { font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: #A1A1AA; }
.claim-step-ours .claim-who { color: #FF7A00; }
.claim-what { font-size: 12px; font-weight: 700; line-height: 1.5; color: #27272A; }
.claim-step-ours .claim-what { color: #F4F4F5; }

.map-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; font-size: 11px; font-weight: 700; color: #52525B; }

.leaflet-container { font-family: 'Inter', sans-serif; }
.leaflet-tile-pane { filter: grayscale(1) brightness(1.04) contrast(.92); }
