.location{background:#e9e1d7}.location-heading{max-width:1320px}.location-heading h2{margin-top:22px}.location-heading>p{max-width:630px;margin-top:19px;color:#6d665e;font-size:1rem}.location-experience{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);gap:25px;align-items:stretch;margin-top:58px}.map-panel{position:relative;min-height:715px;overflow:hidden;border:1px solid #c9c8b5;border-radius:6px;background:#e4e8da;box-shadow:0 14px 0 #b4bca9,0 29px 40px rgba(72,79,62,.19);isolation:isolate;transform-style:preserve-3d}.map-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 37%),linear-gradient(0deg,rgba(71,81,67,.18),transparent 26%)}.map-label{position:absolute;z-index:3;top:24px;left:25px;right:25px;display:flex;justify-content:space-between;gap:18px;color:#657567;font-size:.62rem;font-weight:800;letter-spacing:.16em}.map-art{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 7px 1px rgba(86,101,75,.08));transform:perspective(1200px) rotateX(12deg) scale(1.08);transform-origin:center center}.map-home{position:absolute;z-index:4;left:49%;top:57%;display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%);padding:6px 10px 6px 6px;border-radius:100px;background:#fff;color:#684631;box-shadow:0 5px 0 #ceb5a0,0 15px 20px rgba(59,72,58,.22);font-size:.55rem;font-weight:800;letter-spacing:.075em;line-height:1.1;white-space:nowrap}.map-home-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--terra);color:#fff;font-size:1.5rem;font-weight:400;line-height:1}.map-pin{position:absolute;z-index:5;left:var(--pin-x);top:var(--pin-y);display:flex;flex-direction:column;align-items:center;gap:3px;min-width:72px;padding:0;border:0;background:none;color:#314034;transform:translate(-50%,-50%);transition:transform .24s,filter .24s}.map-pin>span{display:grid;place-items:center;width:49px;height:49px;border:2px solid #fff;border-radius:50%;background:#f9f7ec;box-shadow:0 5px 0 #b6baa6,0 11px 17px rgba(65,78,59,.23);font-family:var(--display);font-size:.85rem;font-weight:800;transition:background .24s,color .24s,box-shadow .24s}.map-pin small{padding:4px 7px;border-radius:3px;background:rgba(255,255,255,.93);box-shadow:0 3px 8px rgba(65,78,59,.13);font-size:.62rem;font-weight:800;white-space:nowrap}.map-pin:hover,.map-pin:focus-visible,.map-pin.is-active{transform:translate(-50%,-60%);filter:drop-shadow(0 7px 8px rgba(97,51,34,.25))}.map-pin:hover>span,.map-pin:focus-visible>span,.map-pin.is-active>span{background:var(--terra);color:#fff;box-shadow:0 7px 0 #8f4d39,0 16px 18px rgba(65,78,59,.28)}.map-pin:focus-visible,.place-option:focus-visible{outline:3px solid var(--terra);outline-offset:4px}.map-compass{position:absolute;right:26px;bottom:24px;z-index:3;display:flex;align-items:center;gap:8px;color:#4b6456;font-size:.72rem;font-weight:800}.map-compass span{display:grid;place-items:center;width:35px;height:35px;border:1px solid #8fa392;border-radius:50%;background:rgba(255,255,255,.73);font-size:1.2rem}.place-panel{min-width:0;background:#f9f7f1;border:1px solid #d7cec2;box-shadow:13px 13px 0 rgba(173,146,124,.16)}.place-photo-wrap{position:relative;overflow:hidden;height:256px;background:#bbc8bb}.place-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .25s,transform .6s}.place-photo-wrap:hover img{transform:scale(1.04)}.place-photo-tag{position:absolute;bottom:16px;left:17px;padding:9px 11px;background:rgba(251,250,246,.95);color:#685b4e;font-size:.59rem;font-weight:800;letter-spacing:.15em}.place-info{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:26px 26px 20px}.place-time{display:flex;flex-direction:column;gap:2px;align-items:flex-start;color:var(--terra)}.place-time strong{font-family:var(--display);font-size:3.3rem;font-weight:600;letter-spacing:-.08em;line-height:.96}.place-time span{font-size:.55rem;font-weight:800;letter-spacing:.1em;line-height:1.35}.place-copy .eyebrow{font-size:.58rem}.place-copy h3{margin-top:8px;font-size:1.37rem;line-height:1.2;letter-spacing:-.04em}.place-copy p{margin-top:8px;color:#706b63;font-size:.77rem;line-height:1.55}.place-credit{min-height:37px;padding:0 26px 12px;color:#888077;font-size:.57rem;line-height:1.4}.place-credit a{text-decoration:underline;text-underline-offset:2px}.place-credit a:hover{color:var(--terra)}.place-list{border-top:1px solid #e1dcd2}.place-option{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 26px;border:0;border-bottom:1px solid #e1dcd2;background:transparent;color:#514b44;text-align:left;transition:background .2s,transform .2s,box-shadow .2s}.place-option:last-child{border-bottom:0}.place-option span{color:#a59b90;font-size:.67rem;font-weight:800}.place-option strong{font-size:.81rem;font-weight:700}.place-option em{color:#a09a90;font-size:.68rem;font-weight:700;font-style:normal;white-space:nowrap}.place-option:hover,.place-option:focus-visible{position:relative;z-index:2;transform:translateY(-2px);background:#f1e6dc;box-shadow:0 5px 0 rgba(143,100,75,.13)}.place-option.is-active{background:#e8d8ca;color:var(--ink)}.place-option.is-active span,.place-option.is-active em{color:var(--terra)}.location-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:36px}.location-bottom p{max-width:700px;color:#736e65;font-size:.73rem;line-height:1.5}.location-bottom .button{flex:none}
@media(max-width:1100px){.location-experience{grid-template-columns:minmax(0,1fr) minmax(350px,.9fr)}.map-panel{min-height:665px}.place-photo-wrap{height:230px}.place-option{min-height:52px}}
@media(max-width:850px){.location-experience{grid-template-columns:1fr;gap:35px}.map-panel{min-height:530px}.place-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}.place-photo-wrap{height:260px}.place-info{align-self:start}.place-credit{grid-column:1}.place-list{grid-column:2;grid-row:1/4;border-top:0;border-left:1px solid #e1dcd2;align-self:stretch;display:flex;flex-direction:column;justify-content:stretch}.place-option{flex:1;min-height:0}.location-bottom{margin-top:40px}}
@media(max-width:650px){.location-heading>p{font-size:.91rem}.location-experience{margin-top:34px}.map-panel{min-height:390px;box-shadow:0 9px 0 #b4bca9,0 21px 30px rgba(72,79,62,.17)}.map-art{transform:perspective(1100px) rotateX(10deg) scale(1.21)}.map-label{top:15px;left:16px;right:16px;font-size:.48rem;letter-spacing:.11em}.map-label span:first-child{display:none}.map-label span:last-child{margin-left:auto}.map-pin{min-width:48px}.map-pin>span{width:39px;height:39px;font-size:.72rem}.map-pin small{font-size:.54rem}.map-home{top:55%;font-size:.46rem;padding:4px 7px 4px 4px}.map-home-icon{width:27px;height:27px;font-size:1.25rem}.map-compass{right:14px;bottom:14px;font-size:.6rem}.map-compass span{width:27px;height:27px}.place-panel{display:block;box-shadow:9px 9px 0 rgba(173,146,124,.16)}.place-photo-wrap{height:235px}.place-info{padding:22px 20px 15px;grid-template-columns:70px 1fr;gap:14px}.place-time strong{font-size:2.7rem}.place-copy h3{font-size:1.19rem}.place-credit{padding:0 20px 16px}.place-list{display:block;border-left:0;border-top:1px solid #e1dcd2}.place-option{min-height:52px;padding:0 20px}.location-bottom{display:block}.location-bottom .button{margin-top:23px}}
@media(max-width:390px){.map-panel{min-height:350px}.map-pin small{display:none}.map-pin>span{width:37px;height:37px}.place-photo-wrap{height:210px}}

/* Mapa plano com ficha flutuante e destinos em cartões. */
.location-experience{display:block;margin-top:58px}
.map-panel{height:clamp(520px,49vw,650px);min-height:0;overflow:hidden;border:1px solid #d5dbd4;border-radius:18px;background:#eef1ee;box-shadow:0 10px 0 rgba(98,112,97,.15),0 30px 50px rgba(51,57,48,.15);transform:none}
.map-panel:after{background:linear-gradient(90deg,rgba(248,250,247,.1),transparent 40%),linear-gradient(0deg,rgba(215,225,215,.22),transparent 30%)}
.map-art{filter:none;transform:none}
.map-label{top:22px;left:26px;right:26px;color:#718071}
.map-home{z-index:5;top:57%;border:1px solid rgba(151,93,65,.23);box-shadow:0 5px 0 rgba(179,140,114,.3),0 12px 22px rgba(61,71,59,.16)}
.map-pin{z-index:6}
.map-pin>span{width:39px;height:39px;background:#5a6f62;color:#fff;box-shadow:0 5px 0 rgba(51,73,58,.22),0 11px 20px rgba(51,67,55,.17);font-size:.74rem}
.map-pin small{border-radius:5px;box-shadow:0 5px 12px rgba(57,69,56,.16)}
.map-pin:hover,.map-pin:focus-visible,.map-pin.is-active{transform:translate(-50%,-62%)}
.map-pin:hover>span,.map-pin:focus-visible>span,.map-pin.is-active>span{background:var(--terra);box-shadow:0 5px 0 #924d38,0 12px 20px rgba(95,58,41,.22)}
.map-compass{color:#627469}
.map-compass span{border-color:#c4d0c5;background:rgba(255,255,255,.85)}
.map-popup{position:absolute;z-index:9;top:54px;left:clamp(180px,var(--popup-x,61%),calc(100% - 180px));width:min(330px,calc(100% - 32px));overflow:hidden;border:1px solid rgba(219,225,217,.9);border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 8px 0 rgba(90,104,89,.16),0 22px 44px rgba(37,48,39,.25);transform:translateX(-50%);animation:popup-in .24s ease both}
.map-popup[hidden]{display:none}
@keyframes popup-in{from{opacity:0;transform:translate(-50%,9px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.map-popup-photo{position:relative;height:145px;overflow:hidden;background:#cdd7cf}
.map-popup-photo img{width:100%;height:100%;object-fit:cover}
.map-popup-photo>span{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:6px;background:rgba(255,255,255,.95);color:var(--terra);font-size:.72rem;font-weight:800;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.map-popup-close{position:absolute;z-index:1;top:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(37,44,38,.7);color:#fff;font-size:1.3rem;line-height:1}
.map-popup-close:hover{background:var(--terra)}
.map-popup-copy{padding:16px 18px 10px}
.map-popup-copy .place-photo-tag{position:static;padding:0;background:none;color:var(--terra);font-size:.59rem;letter-spacing:.13em}
.map-popup-copy h3{margin-top:6px;font-size:1.25rem;letter-spacing:-.04em;line-height:1.2}
.map-popup-copy p{margin-top:6px;color:#716d66;font-size:.73rem;line-height:1.45}
.map-popup .place-credit{min-height:0;padding:0 18px 14px;color:#888078;font-size:.53rem;line-height:1.35}
.place-cards-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:35px 0 14px}
.place-cards-heading span:first-child{color:var(--terra);font-size:.66rem;font-weight:800;letter-spacing:.16em}
.place-cards-heading span:last-child{color:#766e66;font-size:.76rem}
.place-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;border:0}
.place-option-card{min-width:0;overflow:hidden;border:1px solid #d6d1c9;border-radius:12px;background:#fbfaf6;box-shadow:0 6px 0 rgba(106,95,81,.13);transition:transform .2s,box-shadow .2s,border-color .2s}
.place-option-card:hover,.place-option-card.is-active{transform:translateY(-5px);border-color:#bb8066;box-shadow:0 11px 0 rgba(159,91,64,.13),0 20px 25px rgba(86,68,54,.14)}
.place-option,.place-option:last-child{display:block;min-height:0;width:100%;padding:0;border:0;background:none;color:var(--ink);text-align:left;transform:none;box-shadow:none}
.place-option:hover,.place-option:focus-visible,.place-option.is-active{transform:none;background:none;box-shadow:none}
.place-option img{width:100%;height:130px;object-fit:cover}
.place-option-body{display:flex;flex-direction:column;gap:4px;padding:13px 13px 10px}
.place-option-body small{color:var(--terra);font-size:.57rem;font-weight:800;letter-spacing:.12em}
.place-option-body strong{min-height:2.3em;font-family:var(--display);font-size:.88rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.place-option-body em{color:#6f7369;font-size:.7rem;font-style:normal;font-weight:700}
.place-option-credit{display:block;min-height:31px;padding:0 13px 9px;color:#827c73;font-size:.53rem;line-height:1.3;text-decoration:underline;text-underline-offset:2px}
.place-option-credit:hover{color:var(--terra)}
.map-popup-close:focus-visible,.place-option-credit:focus-visible{outline:3px solid var(--terra);outline-offset:3px}
@media(max-width:1000px){.place-list{grid-template-columns:repeat(5,minmax(190px,1fr));overflow-x:auto;padding:5px 3px 16px;scrollbar-color:#c4a391 transparent}}
@media(max-width:700px){.location-experience{margin-top:34px}.map-panel{height:460px;min-height:0;border-radius:13px;box-shadow:0 7px 0 rgba(98,112,97,.15),0 18px 30px rgba(51,57,48,.14)}.map-art{transform:none}.map-label{top:15px;left:15px;right:15px}.map-pin>span{width:34px;height:34px;font-size:.65rem}.map-pin small{padding:4px 5px}.map-home{top:57%}.map-popup{top:46px;left:clamp(142px,var(--popup-x,61%),calc(100% - 142px));width:min(270px,calc(100% - 20px))}.map-popup-photo{height:108px}.map-popup-copy{padding:11px 13px 7px}.map-popup-copy h3{font-size:1.07rem}.map-popup-copy p{font-size:.68rem}.map-popup .place-credit{padding:0 13px 10px;font-size:.5rem}.place-cards-heading{display:block;margin-top:27px}.place-cards-heading span:last-child{display:block;margin-top:5px;font-size:.7rem}.place-list{display:grid;grid-template-columns:repeat(5,180px);gap:10px;border:0}.place-option img{height:110px}}
@media(max-width:390px){.map-panel{height:430px;min-height:0}.map-popup{left:50%}}
@media(prefers-reduced-motion:reduce){.map-pin,.place-option-card,.map-popup{animation:none;transition:none}}

/* Mapa geográfico: ruas reais, marcadores nas coordenadas e escala métrica. */
.real-map{position:absolute;inset:0;z-index:1;background:#e6ece5}
.real-map.leaflet-container{font-family:var(--body);font-size:12px}
.map-panel:after{z-index:2}
.map-label{z-index:7;pointer-events:none;text-shadow:0 1px 7px #fff,0 1px 7px #fff}
.map-all{position:absolute;z-index:8;right:26px;top:54px;padding:10px 14px;border:1px solid #d1d9cf;border-radius:9px;background:rgba(255,255,255,.94);color:#41574a;box-shadow:0 5px 16px rgba(45,59,48,.15);font-size:.7rem;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}
.map-all:hover,.map-all:focus-visible{transform:translateY(-3px);box-shadow:0 8px 18px rgba(45,59,48,.22)}
.map-fallback{position:absolute;z-index:10;left:50%;top:50%;width:min(360px,90%);padding:20px;border-radius:12px;background:#fff;box-shadow:0 15px 30px rgba(0,0,0,.18);text-align:center;transform:translate(-50%,-50%)}
.map-fallback[hidden]{display:none}
.map-fallback a{color:var(--terra);text-decoration:underline}
.map-popup{left:26px;top:54px;transform:none;animation:none}
.map-marker-wrap{border:0;background:transparent}
.map-home-marker,.map-destination-marker{display:flex!important;align-items:center;gap:5px;white-space:nowrap;filter:drop-shadow(0 7px 8px rgba(31,45,33,.25));transition:filter .2s,transform .2s}
.map-marker-wrap:hover,.map-marker-wrap.is-active{z-index:1000!important;filter:drop-shadow(0 11px 10px rgba(31,45,33,.36));transform:translateY(-3px)}
.map-marker-home-symbol,.map-marker-number{display:grid;place-items:center;flex:none;width:38px;height:38px;border:2px solid #fff;border-radius:50%;background:#5c715f;color:#fff;font-size:.74rem;font-weight:800;box-shadow:0 3px 0 rgba(50,70,49,.24)}
.map-marker-home-symbol{background:var(--terra);font-size:1.55rem;font-weight:400}
.map-marker-label,.map-marker-home-label{max-width:118px;overflow:hidden;padding:6px 8px;border:1px solid #e0e7dc;border-radius:6px;background:rgba(255,255,255,.96);color:#314036;font-size:.66rem;font-weight:800;text-overflow:ellipsis;box-shadow:0 3px 9px rgba(0,0,0,.12)}
.map-destination-marker.is-active .map-marker-number{background:var(--terra)}
.real-map .leaflet-control-scale-line{border-color:#526b58;background:rgba(255,255,255,.91);color:#314036;font-size:11px;font-weight:700}
.real-map .leaflet-control-attribution{background:rgba(255,255,255,.85);font-size:10px}
.real-map .leaflet-control-zoom a{color:#425c4a}
@media(max-width:700px){.map-label{top:13px;left:14px;right:14px}.map-label span:first-child{display:none}.map-label span:last-child{margin-left:auto}.map-all{top:41px;right:12px;padding:8px 10px;font-size:.62rem}.map-popup{left:12px;top:82px;width:min(270px,calc(100% - 24px));transform:none}.real-map .leaflet-control-scale{margin-bottom:18px}.map-marker-label,.map-marker-home-label{font-size:.58rem;max-width:90px}.map-marker-home-symbol,.map-marker-number{width:32px;height:32px}}
.map-panel:after{display:none}
.map-marker-home-label{border-color:#cf8e70;color:#85432e;background:#fffaf6}
.map-home-marker{display:block!important}
.map-home-marker .map-marker-home-symbol{width:38px;height:38px}
.map-home-marker .map-marker-home-label{position:absolute;left:-36px;top:-32px;width:110px;max-width:110px;text-align:center}
@media(max-width:700px){.map-home-marker .map-marker-home-symbol{width:32px;height:32px}.map-home-marker .map-marker-home-label{left:-36px;top:-30px}}
.map-home-marker .map-marker-home-label{display:none}
.map-panel.map-zoomed .map-home-marker .map-marker-home-label{display:block}
