/* Carte visible dès le premier écran, texte et demandes spécifiques réunis. */
.zone-page{color:var(--text);background:var(--surface-base)}
.zone-page .wrap{width:min(1180px,calc(100% - 64px));margin:auto}
.zone-opening{padding:24px 0 30px}
.zone-opening-layout{display:grid;grid-template-columns:.72fr 1.28fr;grid-template-rows:auto 1fr;column-gap:42px;row-gap:26px;align-items:start}
.zone-opening-copy{grid-column:1;grid-row:1;padding-top:22px}
body .zone-page h1{color:var(--text);font:400 clamp(34px,3.3vw,48px)/1.1 var(--serif)!important;letter-spacing:-.035em;margin:0 0 20px;max-width:none}
body .zone-page .zone-lead{font-size:16px!important;line-height:1.6!important;margin:0;max-width:380px}
body .zone-page .zone-lead strong{font-weight:600!important}
.zone-map-figure{grid-column:2;grid-row:1/3;align-self:start;margin:0;min-width:0;text-align:center}
.zone-map-figure picture{display:block}
.zone-map-figure img{display:block;width:100%;height:auto;max-height:500px!important;object-fit:contain;margin:auto}
.zone-map-figure figcaption{font-size:11px;line-height:1.4;color:var(--muted);margin-top:8px}
.zone-map-figure figcaption a{text-decoration:underline;text-underline-offset:2px}
.zone-special-request{grid-column:1;grid-row:2;padding-bottom:8px}
body .zone-page h2{font:400 clamp(25px,2.5vw,34px)/1.16 var(--serif)!important;letter-spacing:-.025em;margin:0 0 16px;color:var(--text)}
body .zone-special-request p{font-size:15px!important;line-height:1.6!important;margin:0 0 20px}
.zone-page .button{min-height:50px;padding:14px 22px;border-radius:4px;background:var(--accent);color:var(--surface-base);font-size:14px;line-height:1.4;text-align:center;white-space:normal}
.zone-page .button:hover{background:#176b4b}
.zone-secondary-link{display:block;width:fit-content;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
body .zone-special-request .zone-travel-note{font-size:12px!important;line-height:1.5!important;color:var(--muted);margin:18px 0 0}
.zone-cities{padding:32px 0 40px;background:var(--surface-soft)}
.zone-city-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;margin-top:24px}
.zone-city-columns>div{border-top:1px solid var(--border);padding-top:18px}
body .zone-city-columns h3{font:400 24px/1.2 var(--serif)!important;margin:0 0 16px;color:var(--text)}
.zone-city-columns ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14px;line-height:1.45}
.zone-skip{position:absolute;top:8px;left:8px;z-index:9999;padding:12px 20px;transform:translateY(-180%);background:var(--surface-base);color:var(--text)}
.zone-skip:focus{transform:translateY(0)}
@media(min-width:901px) and (max-height:780px){.zone-map-figure img{max-height:min(500px,calc(100svh - 180px))!important}.zone-opening-copy{padding-top:8px}.zone-opening-layout{row-gap:20px}body .zone-page h1{font-size:38px!important;margin-bottom:16px}body .zone-page .zone-lead{font-size:15px!important}body .zone-special-request p{font-size:14px!important;line-height:1.5!important;margin-bottom:16px}}
@media(max-width:900px){.zone-opening-layout{display:flex;flex-direction:column;gap:18px}.zone-opening-copy{order:0;padding-top:0}.zone-map-figure{order:1;align-self:stretch}.zone-special-request{order:2;padding-top:8px}.zone-map-figure img{max-height:440px!important}body .zone-page h1 br{display:none}body .zone-page .zone-lead{max-width:680px}.zone-special-request{max-width:680px}}
@media(max-width:600px){.zone-page .wrap{width:calc(100% - 36px)}.zone-opening{padding:18px 0 28px}body .zone-page h1{font-size:32px!important;margin-bottom:12px}body .zone-page .zone-lead{font-size:14px!important;line-height:1.5!important}.zone-opening-layout{gap:14px}.zone-map-figure img{max-height:370px!important}.zone-map-figure figcaption{font-size:10px;margin-top:6px}.zone-special-request{padding-top:16px}body .zone-special-request h2{font-size:28px!important}.zone-cities{padding:28px 0}.zone-city-columns{grid-template-columns:1fr 1fr;gap:24px 18px}.zone-city-columns>div:first-child{grid-column:1/-1}.zone-city-columns>div:first-child ul{grid-template-columns:1fr 1fr;gap:10px 18px}.zone-city-columns>div:first-child li:first-child{grid-column:1/-1}.zone-page .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
