@font-face{font-family:'National Park';src:url('../fonts/NationalPark-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--or:#E5A35A;--ciel:#A9C7D9;--vert:#6F8050;--roche:#2B2622;--creme:#F6F1E8;
  --serif:'Fraunces',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--park:'National Park',var(--sans)}
body.chichi-dest{margin:0;font-family:var(--sans);background:#FAF8F4;color:var(--roche);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.chichi-dest *{box-sizing:border-box}

.head{text-align:center;padding:64px 28px 4px}
.eyebrow{font-family:var(--park);font-weight:700;letter-spacing:.26em;text-transform:uppercase;font-size:12px;color:#bb7a30;margin-bottom:16px}
.head h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.5vw,60px);line-height:1.05;margin:0}
.head p{color:#6b6056;margin-top:16px;font-size:18px;line-height:1.6;max-width:52ch;margin-left:auto;margin-right:auto}
.mapwrap{position:relative;max-width:1120px;margin:22px auto 0;padding:0 16px}
#map{width:100%;height:auto;display:block;touch-action:none}
.land{fill:#E4E2DC;stroke:#FAF8F4;stroke-width:.4;vector-effect:non-scaling-stroke}
.visited,.soon{transition:fill .2s ease,transform .26s cubic-bezier(.2,.7,.2,1),filter .26s;transform-box:fill-box;transform-origin:center;cursor:pointer;vector-effect:non-scaling-stroke}
.visited{fill:#E5A35A;stroke:#d29a55;stroke-width:.5}
.soon{fill:#AFCBDA;stroke:#86abc1;stroke-width:.5}
.visited:hover{fill:#c87529;transform:translateY(-6px) scale(1.04);filter:drop-shadow(0 8px 12px rgba(43,38,34,.34))}
.soon:hover{fill:#8fb6cf;transform:translateY(-6px) scale(1.04);filter:drop-shadow(0 8px 12px rgba(43,38,34,.28))}
.lblg{pointer-events:auto;cursor:pointer}
.hit{pointer-events:all}
.lbl{font-family:var(--sans);font-weight:500;font-size:12px;fill:#332e29;paint-order:stroke;stroke:#FAF8F4;stroke-width:3px;stroke-linejoin:round;pointer-events:auto}
.lbl.s{fill:#3d6a86}
.lblg:hover .lbl{fill:#b9772f}
.lead{stroke:#b9ad9c;stroke-width:.7}
.dot{fill:#2B2622;pointer-events:none}.dot.s{fill:#3d6a86}.dot.go{fill:#E5A35A}
.zoom-ctrl{position:absolute;right:26px;top:14px;display:flex;flex-direction:column;gap:6px}
.zoom-ctrl button{width:38px;height:38px;border:1px solid #e4ddd0;background:#fff;border-radius:10px;font-size:18px;color:var(--roche);cursor:pointer;font-family:var(--sans);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}
.zoom-ctrl button:hover{border-color:var(--or);background:#fffaf2}
.zoom-ctrl button.txt{font-family:var(--park);font-size:11px;font-weight:700;letter-spacing:.08em;height:30px;width:auto;min-width:38px;padding:0 10px;white-space:nowrap;text-transform:uppercase}
.hint{text-align:center;color:#9a8f80;font-size:13px;margin-top:12px}
.tip{font-weight:600;color:#7d7264}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.regions{padding:44px 0 100px}
.region{margin-bottom:46px}
.region h2{font-family:var(--serif);font-weight:500;font-size:26px;margin-bottom:6px}
.region .cnt{font-family:var(--park);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:#bb7a30;margin-bottom:18px}
.countries{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.country{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #ece5d9;border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--roche);transition:border-color .25s,transform .25s}
.country:hover{border-color:var(--or);transform:translateY(-2px)}
.country .flag{font-size:22px}.country .nm{font-size:15px;font-weight:500}.country .sub{font-size:12px;color:#8a8073}
.country .flagimg{width:26px;height:18px;object-fit:cover;border-radius:3px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.country.soon-c{opacity:.82}.country.soon-c .sub{color:#3d6a86}
.chichi-foot{background:var(--roche);color:#cfc8bd;text-align:center;padding:50px 24px;font-size:13px}
.chichi-foot .fm{font-family:var(--park);font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#fff;font-size:15px;margin-bottom:12px}
@media(max-width:760px){.head{padding-top:40px}}
