*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,sans-serif;color:#202822;background:#fff}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(20px,calc((100% - 1200px)/2));border-bottom:1px solid #dce3dd}nav,.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}a{color:#28533e}main{max-width:1200px;padding:24px;margin:auto}.banner{display:flex;gap:16px;flex-wrap:wrap;border:1px solid #d9cda7;border-radius:8px;background:#fffaf0;padding:12px 18px;font-size:14px}.intro{padding:26px 0}h1{font-size:clamp(32px,5vw,52px);line-height:1.12;letter-spacing:-.04em;margin:12px 0}h2{line-height:1.2;font-size:25px}h3{line-height:1.4}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700}.layout{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:24px;align-items:start}.panel,.map-panel{border:1px solid #dce3dd;border-radius:12px;padding:22px;margin-bottom:22px;min-width:0}.map-panel{padding:0;overflow:hidden}label{display:block;font-weight:600;font-size:14px;margin:12px 0}input,select,textarea{display:block;width:100%;font:inherit;background:#fff;color:inherit;border:1px solid #bfcac2;border-radius:7px;padding:12px;margin-top:4px;min-width:0}button,.button{display:inline-block;min-height:46px;padding:11px 16px;border:1px solid #28533e;border-radius:7px;background:#28533e;color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.secondary{background:#fff;color:#28533e;border-color:#bdc9c0}.planner>button{width:100%;margin-top:10px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #398060;outline-offset:3px}.muted{color:#637067;font-size:13px}.check{display:flex;gap:10px;align-items:start;font-weight:400}.check input{width:20px;height:20px;flex-shrink:0}.segmented{display:flex;gap:8px}.segmented button{flex:1}.segmented button[aria-pressed=false]{background:#fff;color:#28533e;border-color:#bdc9c0}.point-summary{border-left:3px solid #28533e;padding-left:16px;margin:20px 0}.point-summary p{margin:8px 0}.point-summary span{display:block;overflow-wrap:anywhere}.point-summary strong{font-size:12px;color:#637067;text-transform:uppercase}.map-panel #map{height:430px;background:#f0f2ef}#map-cover{height:360px;padding:30px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:12px;background:#f3f5f0}.map-note{font-size:13px;margin:0;padding:14px 20px;border-top:1px solid #dce3dd}.map-marker{border-radius:50%;color:#fff;background:#28533e;border:3px solid white;display:grid;place-items:center;font:bold 15px system-ui;box-shadow:0 1px 4px #0005}.map-marker.drop{background:#152d46}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.emergency{background:#9c2630;border-color:#9c2630}.badge{padding:5px 10px;border-radius:6px;background:#fff3cc;font-size:12px;font-weight:700}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.language{margin:0;min-width:100px}details{border-top:1px solid #dce3dd;padding:14px 0;margin-top:16px}summary{cursor:pointer;font-weight:600}li{margin-bottom:8px}#pin-panel{padding:16px;background:#f5f7f3;border-radius:8px;margin-bottom:16px}#history{margin-top:12px}.history-row{padding:14px 0;border-bottom:1px solid #dce3dd}dialog{width:min(600px,calc(100% - 24px));padding:24px;border:1px solid #bdc9c0;border-radius:12px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#17231dcc}footer{font-size:13px;color:#637067;padding:20px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}.leaflet-container{font:14px system-ui}.leaflet-control-attribution a{color:#28533e}.leaflet-container a.leaflet-control-zoom-in,.leaflet-container a.leaflet-control-zoom-out{color:#202822}@media(max-width:780px){header{flex-wrap:wrap;padding:14px 16px;gap:12px}nav{order:3;width:100%;justify-content:space-between;font-size:14px}main{padding:16px}.layout{grid-template-columns:1fr}.planner{order:1}.layout>div{order:2}.panel{padding:18px}#map-cover{height:260px;padding:22px}.map-panel #map{height:330px}.safety-grid{grid-template-columns:1fr}.actions>*{flex-grow:1;text-align:center}.intro{padding:20px 0}.banner{gap:4px}.section-heading{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:780px){.layout>div{display:contents}.map-panel{order:0}.planner{order:1}#trip-panel{order:2}#safety{order:3}}
