/* Approval preview v2 — photography on warm white, light regional explorer. */
.hero-art.hero-field-art { background: transparent; border-radius: 0; overflow: visible; }
.hero-field-art > .field-photo { border-radius: 18px; }
.hero-field-caption { color: var(--text); padding: 15px 2px 20px; font-size: 11px; }
.hero-field-caption > span { display: flex; align-items: center; gap: 8px; }
.hero-field-caption > span::before { content: ''; width: 18px; height: 1px; background: var(--gold); }
.hero-field-caption a { color: var(--gold-deep); }
.hero-field-pair { gap: 16px; }
.hero-field-pair figure { margin: 0; min-width: 0; }
.hero-field-pair .field-photo { aspect-ratio: 3 / 2; border-radius: 12px; }
.hero-field-pair figcaption { margin: 10px 0 0; color: var(--text-muted, #72746e); font-size: 11px; letter-spacing: .08em; }
.hero-art-badge.hero-field-badge { color: var(--text); border-top: 1px solid #e7e2d7; margin-top: 18px; padding: 18px 0 0; }
.hero-field-badge .num { color: var(--gold-deep); }
.stock-credit { position: absolute; bottom: 10px; right: 10px; padding: 4px 8px; border-radius: 4px; background: rgba(255,255,255,.93); color: #525349; font-size: 10px; line-height: 1.5; }
.sd-hero-art { position: relative; }
.field-filters { display: flex; flex-wrap: wrap; gap: 10px; max-width: 1480px; margin: 0 auto 28px; }
.field-filters button { display: inline-flex; align-items: center; gap: 12px; padding: 11px 17px; border-radius: 30px; border: 1px solid #dfdbd0; background: transparent; color: #62635b; font: inherit; font-size: 13px; cursor: pointer; }
.field-filters button[aria-pressed=true] { background: #ede7d8; border-color: #cabb94; color: #64552f; }
.field-filters button span { font-size: 10px; opacity: .75; }
.field-expand { display: flex; justify-content: center; margin-top: 32px; }
.field-photo-grid .field-photo { aspect-ratio: 4 / 3; }
.field-photo-grid figcaption { padding: 13px 0 8px; }
.field-video-stage, .field-video-trigger { background: #ece9e2; }
.field-play-icon { background: rgba(85,74,47,.85); }
.regional-network { background: #f7f5ef; }
.network-controls { display: flex; gap: 8px; margin: 0 auto 24px; max-width: 1480px; }
.network-controls button { border: 1px solid #e0dace; border-radius: 8px; padding: 14px 20px; min-width: 165px; background: transparent; color: #67685e; display: flex; justify-content: space-between; gap: 24px; font: inherit; font-size: 14px; cursor: pointer; }
.network-controls button span { font-size: 10px; color: #a49b87; }
.network-controls button[aria-pressed=true] { background: #fff; color: #6e582b; border-color: #beaa7e; box-shadow: 0 3px 10px #786e4810; }
.network-explorer { max-width: 1480px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(290px, 1fr); border: 1px solid #e0dbcf; border-radius: 18px; overflow: hidden; background: #fbfaf6; }
.network-map-wrap { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.network-map-kicker { padding: 24px 28px 0; display: flex; justify-content: space-between; gap: 16px; font-size: 10px; letter-spacing: .13em; color: #91846a; }
.network-map { display: block; width: 100%; height: auto; }
.network-region-label { fill: #587268; font-size: 16px; letter-spacing: .08em; }
.network-ocean-label { fill: #b3b9b2; font-size: 13px; letter-spacing: .24em; }
.network-active-label { pointer-events: none; }
.network-active-label text { fill: #685631; font-size: 15px; font-family: inherit; }
.network-point { cursor: pointer; }
.network-point:focus-visible { outline: none; }
.network-point:focus-visible .point-target { fill: #b69c6433; stroke: #836b3c; stroke-width: 2px; }
.network-point:hover .point-dot { stroke: #bba374; stroke-width: 4px; }
.network-map-note { display: flex; align-items: center; gap: 8px; padding: 0 24px 23px; font-size: 10px; color: #828277; line-height: 1.6; }
.network-legend-dot { width: 6px; height: 6px; border-radius: 50%; background: #9b8249; flex-shrink: 0; }
.network-legend-dot.teal { background: #4f7369; }
.network-detail { padding: 28px; border-left: 1px solid #e1dccf; background: #fff; }
.network-detail-top { display: flex; justify-content: space-between; font-size: 11px; color: #888477; margin-bottom: 26px; }
.network-status { font-size: 10px; color: #567b68; letter-spacing: .1em; }
.network-status.planned { color: #8c8472; }
.network-selected-copy h3 { margin: 12px 0 5px; font-size: 30px; line-height: 1.3; font-weight: 500; }
.network-name-en { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #ac9670; }
.network-meta { margin: 22px 0 8px; font-size: 12px; line-height: 1.7; color: #78786e; }
.network-description { margin: 0; font-size: 13px; line-height: 1.9; min-height: 48px; }
.network-location-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #ece8df; }
.network-location-list button { border: 1px solid #e7e3d9; border-radius: 5px; background: #fff; padding: 7px 10px; font: inherit; font-size: 11px; color: #71726a; cursor: pointer; }
.network-location-list button[aria-pressed=true] { border-color: #b49b63; color: #7b6234; background: #f8f4eb; }
.network-contact { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; color: #796031; font-size: 12px; }
.network-office-strip { max-width: 1480px; margin: 24px auto 0; padding: 20px 0 0; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.network-office-strip > span { font-size: 11px; color: #8c8065; letter-spacing: .06em; }
.network-office-strip > div { display: flex; flex-wrap: wrap; gap: 22px; }
.network-office-strip button { border: 0; padding: 5px 0; background: none; font: inherit; font-size: 13px; display: flex; align-items: center; gap: 7px; cursor: pointer; }
.network-office-strip small { font-size: 10px; color: #8e8d82; }
.network-office-strip i { width: 6px; height: 6px; border-radius: 50%; background: #607f70; }
.network-office-strip i.planned { background: transparent; border: 1px solid #a59e8d; }
.regional-network button:focus-visible, .network-contact:focus-visible { outline: 2px solid #9b8249; outline-offset: 3px; }
@media (max-width: 1100px) {
 .network-explorer { grid-template-columns: minmax(0,1.6fr) minmax(260px,1fr); }
 .network-detail { padding: 22px; }
 .network-map-kicker { padding: 20px 20px 0; font-size: 9px; }
 .network-office-strip { align-items: flex-start; flex-direction: column; gap: 14px; }
}
@media (max-width: 760px) {
 .network-explorer { grid-template-columns: 1fr; }
 .network-detail { border-left: 0; border-top: 1px solid #e1dccf; }
 .network-map-note { padding: 0 16px 18px; }
 .network-controls { gap: 6px; }
 .network-controls button { min-width: 0; flex: 1; padding: 11px 10px; font-size: 12px; justify-content: center; }
 .network-controls button span { display: none; }
 .network-selected-copy h3 { font-size: 26px; }
 .network-detail-top { margin-bottom: 20px; }
 .network-office-strip > div { gap: 12px 20px; }
 .field-filters { gap: 8px; }
 .field-filters button { padding: 9px 12px; gap: 8px; font-size: 12px; }
 .hero-field-pair { gap: 12px; }
}
