:root{--bg:#FFFFFF;--fg:#000000;--muted:#000000;--line:#000000;--soft:#F4F4F4;--panel:#FFFFFF;--max:1240px;--header-h:150px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--fg);background:var(--bg);line-height:1.35}a{color:inherit}.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;min-height:var(--header-h);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:18px;pointer-events:none;background:transparent;transition:background .25s ease,border-color .25s ease}.site-header.scrolled{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(0,0,0,.32)}.logo{width:clamp(74px,9vw,118px);height:auto;display:block;margin-bottom:8px}.site-header h1{margin:0;font-size:clamp(30px,6vw,92px);font-weight:700;letter-spacing:-.06em;line-height:.86;text-align:center}.hero{position:relative;min-height:100vh;background:#FFFFFF}.map{width:100%;height:100vh;min-height:640px;background:#FFFFFF}.scroll-down{display:none}.scroll-down svg{display:block;width:86px;height:86px}.scroll-down:hover{transform:translateX(-50%) translateY(5px)}.map-fallback{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:16px;padding:24px;background:#FFFFFF;color:#000}.map-fallback p{font-size:24px;margin:0}.map-fallback a,.button-link{border:1px solid #000;padding:14px 16px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px;background:transparent;color:#000}.leaflet-container{font-family:Arial,Helvetica,sans-serif;background:#FFFFFF}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:0;box-shadow:none;background:#FFFFFF;color:#000;border:1px solid rgba(0,0,0,.35)}.popup h3{margin:0 0 6px;font-size:18px;letter-spacing:-.03em}.popup p{margin:0 0 10px;color:#000}.popup button{display:inline-block;border:1px solid #000;background:transparent;color:#000;text-decoration:none;padding:8px 10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.section{padding:88px 20px}.section-inner{max-width:var(--max);margin:0 auto}.section-head{display:grid;grid-template-columns:.35fr 1fr;gap:28px;align-items:start;border-top:1px solid #000;padding-top:18px}.eyebrow{margin:0;color:#000;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.intro{margin:0 0 38px;font-size:clamp(22px,3.4vw,54px);line-height:.98;letter-spacing:-.045em;max-width:970px}.toolbar{display:flex;gap:12px;margin:0 0 28px;flex-wrap:wrap}.toolbar input,.toolbar button{border:1px solid #000;border-radius:0;background:transparent;color:#000;min-height:48px;padding:0 16px;font:inherit}.toolbar input{flex:1 1 260px}.toolbar input::placeholder{color:rgba(0,0,0,.62)}.toolbar button{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.destination-list{display:block;border-top:1px solid #000}.card{border-bottom:1px solid #000;cursor:pointer}.card-main{padding:20px 0;min-height:104px;display:grid;grid-template-columns:minmax(132px,.24fr) 1fr 96px;gap:24px;align-items:center}.card-thumb{width:96px;height:68px;background:#FFFFFF;border:1px solid #000;overflow:hidden;justify-self:end}.card-thumb img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1)}.card-thumb.placeholder{display:flex;align-items:center;justify-content:center}.card-thumb.placeholder::after{content:'';width:34px;height:34px;background:#000;transform:rotate(-7deg)}.card h2{margin:0;font-size:clamp(28px,3.8vw,64px);line-height:.95;letter-spacing:-.055em;font-weight:400}.card p{margin:0;color:#000;font-size:clamp(16px,1.7vw,24px);line-height:1;letter-spacing:-.03em}.card-meta{margin:0;font-size:clamp(14px,1.35vw,21px);line-height:1.05;letter-spacing:-.025em;text-transform:none}.card:hover,.card.active{background:#FFFFFF;color:#000}.card:hover h2,.card.active h2{text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.06em}.card-meta .status{display:block;color:#000;font-size:12px;line-height:1.2;letter-spacing:.02em;margin-top:6px;opacity:.72}.card-meta .city{display:block}.inline-detail{display:none;background:#F7F7F7;border:1px solid rgba(0,0,0,.48);border-bottom:0;margin:0 0 20px;padding:clamp(24px,5vw,56px);cursor:auto}.card.active .inline-detail{display:block}.details-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}.inline-detail h3{margin:0 0 24px;font-size:clamp(42px,7vw,94px);line-height:.9;letter-spacing:-.06em;font-weight:400}.inline-detail img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:#FFFFFF;border:1px solid rgba(0,0,0,.28)}.details-text p{font-size:18px;max-width:620px}.facts{margin:28px 0;display:grid;gap:10px}.fact{border-top:1px solid rgba(0,0,0,.45);padding-top:10px;display:flex;justify-content:space-between;gap:20px}.fact span:first-child{color:#000;opacity:.72}.actions{display:flex;flex-wrap:wrap;gap:12px}.actions a{border:1px solid #000;padding:12px 14px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#000;background:transparent}.actions a.primary{background:#000;color:#fff}.footer{border-top:1px solid #000;padding:70px 20px;background:#FFFFFF;color:#000}.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer h2{font-size:28px;margin:0 0 18px;line-height:.95;letter-spacing:-.04em}.footer p{color:#000;margin:0}.footer-link{display:inline-block;margin-top:14px;border:1px solid #000;padding:12px 14px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ata-marker span{display:block;width:22px;height:22px;background:#000;border:3px solid #FFFFFF;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.25)}.ata-marker.active span{transform:scale(1.35)}.import-notice{margin:0 0 32px;color:#000;font-size:14px;letter-spacing:.02em}.leaflet-control-zoom a{background:#FFFFFF!important;color:#000!important;border-color:#000!important}.leaflet-control-attribution{background:rgba(255,255,255,.8)!important;color:#000!important}.leaflet-control-attribution a{color:#000!important}@media (max-width:860px){.scroll-down{bottom:18px}.scroll-down svg{width:62px;height:62px}:root{--header-h:118px}.site-header{padding-top:14px}.map{min-height:560px}.section-head,.details-layout,.footer-grid{grid-template-columns:1fr}.destination-list{display:block}.card-main{grid-template-columns:1fr 72px;gap:14px;min-height:auto;padding:18px 0}.card-thumb{width:72px;height:52px}.card-meta{grid-column:1 / -1;grid-row:2}.card h2{font-size:clamp(28px,10vw,48px)}.section{padding:68px 18px}.intro{margin-top:12px}}
.drive-preview {
  border: 0;
  background: #f4f4f4;
  object-fit: cover;
}
.card-thumb.drive-preview,
.destination-thumb .drive-preview {
  width: 100%;
  height: 100%;
}
.detail-photo.drive-preview {
  width: 100%;
  min-height: 420px;
}


/* v27 layout changes: image grid, transparent header, no marker outline */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-header,.site-header.scrolled{background:transparent!important;border-bottom:0!important}.destinations-section{padding:72px 20px 88px}.destination-list.destination-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:34px 28px;border-top:0}.destination-grid .card{border-bottom:0;cursor:pointer;background:transparent}.destination-grid .card-main{display:block;padding:0;min-height:0}.destination-grid .card-thumb{width:100%;height:auto;aspect-ratio:4/3;border:0;background:#f2f2f2;overflow:hidden;justify-self:auto;margin-bottom:10px}.destination-grid .card-thumb img{width:100%;height:100%;object-fit:cover;filter:none!important;display:block}.destination-grid .card-thumb.placeholder{border:1px solid #000;background:#fff}.destination-grid .card h2{font-size:clamp(18px,1.7vw,27px);line-height:1.02;letter-spacing:-.045em;font-weight:400;margin:0}.destination-grid .card-meta{font-size:12px;line-height:1.2;letter-spacing:.02em;margin-top:5px;color:#000;opacity:.7}.destination-grid .card:hover h2,.destination-grid .card.active h2{text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.08em}.destination-grid .inline-detail{margin:14px 0 0;padding:24px;background:#f7f7f7;border:1px solid rgba(0,0,0,.38)}.destination-grid .details-layout{grid-template-columns:1fr;gap:22px}.destination-grid .inline-detail h3{font-size:clamp(30px,3vw,48px);line-height:.95;margin-bottom:14px}.destination-grid .detail-photo{max-height:520px;object-fit:cover}.ata-marker span{width:18px;height:18px;background:#000;border:0!important;border-radius:50%;box-shadow:none}.ata-marker.active span{transform:scale(1.35)}@media (max-width:860px){.destination-list.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.destinations-section{padding:52px 18px 68px}.destination-grid .card h2{font-size:20px}.destination-grid .inline-detail{grid-column:1 / -1}}@media (max-width:520px){.destination-list.destination-grid{grid-template-columns:1fr}}


/* v28 refinements: thinner marker outline + full-width selected detail */
.ata-marker span{
  width:18px;
  height:18px;
  background:#000;
  border:1.5px solid #fff!important;
  border-radius:50%;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.ata-marker.active span{transform:scale(1.3)}
.destination-grid .card .inline-detail{display:none!important}
.grid-detail-panel{
  grid-column:1 / -1;
  border:1px solid rgba(0,0,0,.45);
  background:#f7f7f7;
  margin:0 0 18px;
}
.grid-detail-panel .inline-detail{
  display:block!important;
  margin:0;
  border:0;
  background:transparent;
  padding:clamp(28px,5vw,64px);
}
.grid-detail-panel .details-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.grid-detail-panel .inline-detail h3{
  font-size:clamp(52px,7vw,120px);
  line-height:.88;
  margin:0 0 22px;
  letter-spacing:-.065em;
}
.grid-detail-panel .detail-photo{
  width:100%;
  max-height:none;
  aspect-ratio:4/3;
  object-fit:cover;
}
@media (max-width:860px){
  .grid-detail-panel .details-layout{grid-template-columns:1fr;gap:24px}
  .grid-detail-panel .inline-detail{padding:24px}
  .grid-detail-panel .inline-detail h3{font-size:clamp(42px,12vw,72px)}
}


/* v29: outline title over preview grid + map reset control */
.site-header.over-grid h1{
  color:transparent;
  -webkit-text-stroke:2px #000;
  text-stroke:2px #000;
  paint-order:stroke fill;
}
.map-reset-button{
  position:absolute;
  z-index:700;
  right:18px;
  bottom:18px;
  border:1px solid #000;
  background:#fff;
  color:#000;
  padding:12px 14px;
  font:12px/1 Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}
.map-reset-button.visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.map-reset-button:hover{
  background:#000;
  color:#fff;
}
@media (max-width:860px){
  .site-header.over-grid h1{-webkit-text-stroke:1.2px #000;text-stroke:1.2px #000}
  .map-reset-button{right:14px;bottom:14px;padding:11px 12px;font-size:11px}
}

/* v30: multi-photo carousel in selected detail */
.photo-carousel{position:relative;width:100%}
.carousel-image{width:100%}
.photo-carousel .detail-photo{width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:#fff;border:1px solid rgba(0,0,0,.28)}
.carousel-ui{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.carousel-control{appearance:none;border:1px solid #000;background:#fff;color:#000;min-width:44px;height:38px;padding:0 12px;font:22px/1 Arial,Helvetica,sans-serif;cursor:pointer}
.carousel-control:hover{background:#000;color:#fff}
.carousel-counter{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#000}
.grid-detail-panel .photo-carousel .detail-photo{max-height:none}
@media (max-width:860px){.carousel-ui{margin-top:10px}.carousel-control{height:36px;min-width:40px}}


/* v31: topographic map + portrait-safe carousel */
.photo-carousel{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  background:#f7f7f7;
  border:1px solid rgba(0,0,0,.28);
  overflow:hidden;
}
.photo-carousel .carousel-image{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.photo-carousel .detail-photo,
.grid-detail-panel .photo-carousel .detail-photo{
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  border:0;
  background:#f7f7f7;
}
.grid-detail-panel .detail-photo{
  object-fit:contain;
  object-position:center;
  background:#f7f7f7;
}
.photo-carousel .carousel-ui{
  position:absolute;
  inset:0;
  margin:0;
  pointer-events:none;
  display:block;
}
.photo-carousel .carousel-control{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
  background:rgba(255,255,255,.88);
  z-index:2;
}
.photo-carousel .carousel-control[data-direction="-1"]{left:18px}
.photo-carousel .carousel-control[data-direction="1"]{right:18px}
.photo-carousel .carousel-counter{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.72);
  padding:6px 8px;
  pointer-events:none;
}
@media (max-width:860px){
  .photo-carousel .carousel-control[data-direction="-1"]{left:10px}
  .photo-carousel .carousel-control[data-direction="1"]{right:10px}
  .photo-carousel .carousel-counter{bottom:10px}
}


/* v32: return to clean light map + frameless, larger carousel */
.photo-carousel,
.grid-detail-panel .photo-carousel{
  border:0!important;
  background:transparent!important;
  overflow:visible;
  aspect-ratio:auto!important;
  height:min(72vh,780px);
  min-height:560px;
}
.photo-carousel .carousel-image{
  height:100%;
  background:transparent!important;
}
.photo-carousel .detail-photo,
.grid-detail-panel .photo-carousel .detail-photo,
.grid-detail-panel .detail-photo{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain!important;
  object-position:center;
  background:transparent!important;
  border:0!important;
}
.photo-carousel .carousel-control{
  border:0!important;
  background:transparent!important;
  color:#000!important;
  min-width:0;
  width:auto;
  height:auto;
  padding:0;
  font-size:62px;
  line-height:1;
  font-weight:700;
  text-shadow:0 0 10px rgba(255,255,255,.85), 0 0 2px rgba(255,255,255,.9);
}
.photo-carousel .carousel-control:hover{
  background:transparent!important;
  color:#000!important;
}
.photo-carousel .carousel-control[data-direction="-1"]{left:20px}
.photo-carousel .carousel-control[data-direction="1"]{right:20px}
.photo-carousel .carousel-counter{
  background:rgba(255,255,255,.72);
  border:0;
  font-size:12px;
}
@media (max-width:860px){
  .photo-carousel,.grid-detail-panel .photo-carousel{height:auto;min-height:0;aspect-ratio:3/4!important;overflow:hidden}
  .photo-carousel .carousel-control{font-size:46px}
}


/* v33: header exits with map, cleaner detail, boxed carousel controls, submission form */
.site-header{
  transition:opacity .18s ease, transform .18s ease, background .25s ease, border-color .25s ease;
}
.site-header.beyond-map{
  opacity:0;
  transform:translateY(-100%);
}
.details-text .eyebrow{display:none!important}
.photo-carousel .carousel-ui{
  position:absolute;
  inset:0;
  margin:0;
  pointer-events:none;
  display:block;
}
.photo-carousel .carousel-control{
  appearance:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
  border:1px solid #000!important;
  background:rgba(255,255,255,.92)!important;
  color:#000!important;
  min-width:48px;
  width:48px;
  height:42px;
  padding:0;
  font:28px/1 Arial,Helvetica,sans-serif;
  font-weight:400;
  text-shadow:none!important;
  cursor:pointer;
}
.photo-carousel .carousel-control:hover{
  background:#000!important;
  color:#fff!important;
}
.photo-carousel .carousel-control[data-direction="-1"]{left:18px}
.photo-carousel .carousel-control[data-direction="1"]{right:18px}
.photo-carousel .carousel-counter{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.78);
  padding:6px 8px;
  font-size:12px;
  letter-spacing:.12em;
  pointer-events:none;
}
.submission-form{margin-top:20px;display:grid;gap:12px;max-width:520px}
.submission-form label{display:grid;gap:6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.submission-form input,.submission-form textarea{
  width:100%;border:1px solid #000;background:#fff;color:#000;border-radius:0;padding:12px 10px;font:16px/1.3 Arial,Helvetica,sans-serif;text-transform:none;letter-spacing:0;
}
.submission-form textarea{resize:vertical;min-height:110px}
.submission-form button{justify-self:start;border:1px solid #000;background:#fff;color:#000;border-radius:0;padding:13px 16px;font:12px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.submission-form button:hover{background:#000;color:#fff}
@media (max-width:860px){
  .photo-carousel .carousel-control{width:42px;height:38px;min-width:42px;font-size:24px}
  .photo-carousel .carousel-control[data-direction="-1"]{left:10px}
  .photo-carousel .carousel-control[data-direction="1"]{right:10px}
}


/* v34: solid header until it exits, inverted carousel arrows, right-bound detail images */
.site-header.over-grid h1{
  -webkit-text-stroke:0!important;
  text-stroke:0!important;
  -webkit-text-fill-color:#000!important;
  color:#000!important;
}
.photo-carousel .carousel-image{
  justify-content:flex-end!important;
}
.photo-carousel .detail-photo,
.grid-detail-panel .photo-carousel .detail-photo,
.grid-detail-panel .detail-photo{
  object-position:right center!important;
}
.photo-carousel .carousel-control{
  border:1px solid #000!important;
  background:#000!important;
  color:#fff!important;
  text-shadow:none!important;
}
.photo-carousel .carousel-control:hover{
  background:#000!important;
  color:#fff!important;
}


/* v35: simple carousel counter + scroll selected project directly to detail */
.photo-carousel .carousel-counter{
  background:transparent!important;
  padding:0!important;
  color:#000!important;
  border:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}


/* v41: close button for selected destination detail */
.grid-detail-panel{
  position:relative;
}
.detail-close{
  position:absolute;
  top:22px;
  right:22px;
  z-index:5;
  appearance:none;
  border:0;
  background:transparent;
  color:#000;
  width:auto;
  height:auto;
  padding:0;
  font:56px/0.8 Arial,Helvetica,sans-serif;
  font-weight:400;
  letter-spacing:-.08em;
  cursor:pointer;
}
.detail-close:hover{opacity:.55}
@media (max-width:860px){
  .detail-close{top:14px;right:14px;font-size:44px}
}


/* Mobile: keep the map from trapping vertical page scroll on touch devices. */
@media (hover: none), (pointer: coarse) {
  #map.mobile-scroll-map,
  #map.mobile-scroll-map .leaflet-container,
  #map.mobile-scroll-map .leaflet-pane,
  #map.mobile-scroll-map .leaflet-tile-container {
    touch-action: pan-y;
  }
}

/* v45: smoother mobile two-finger map control; one-finger vertical scroll remains natural. */
@media (hover: none), (pointer: coarse) {
  #map.mobile-scroll-map.two-finger-map-active,
  #map.mobile-scroll-map.two-finger-map-active .leaflet-container {
    touch-action: none;
  }
}

/* v46: visible data-source indicator */
.import-notice{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.55;margin:0 0 22px;color:#000}.import-notice[data-source="fallback"]{opacity:.9}.import-notice[data-source="error"]{opacity:1}

/* v53: smaller header title to match requested rectangle width */
.site-header h1{
  font-size:clamp(30px,5.25vw,78px)!important;
  letter-spacing:-.055em;
}
@media (max-width:860px){
  .site-header h1{font-size:clamp(28px,10vw,58px)!important;}
}
