:root{--ink:#0b2540;--teal:#007f8c;--paper:#fcfaf5;--muted:#556874;--line:#dedfd8;--coral:#d55f47}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:6px}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.header{height:112px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-size:30px;font-weight:760;letter-spacing:-1.2px}.brand svg{width:29px;height:37px;color:var(--teal)}.brand>span>span{color:var(--teal)}nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:550}nav a:hover,.text-link:hover{color:var(--teal)}.nav-status{padding:12px 17px;border:1px solid var(--line);border-radius:30px;display:flex;gap:10px;align-items:center}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:35px;padding-top:33px;padding-bottom:48px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;line-height:1.8;color:var(--teal);display:flex;align-items:center;gap:12px}.small-line{width:25px;height:1px;background:var(--teal)}h1,h2,h3,p{margin:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(62px,6.5vw,86px);line-height:1.04;font-weight:400;letter-spacing:-4px;margin:25px 0}em{font-weight:400;color:var(--teal)}.hero-intro{font-size:16px;line-height:1.9;color:var(--muted);max-width:430px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;gap:26px;background:var(--teal);color:#fff;padding:17px 22px;border-radius:5px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#006975;transform:translateY(-2px)}.button span,.text-link span{font-size:20px;font-weight:400}.text-link{display:flex;gap:12px;align-items:center;font-size:12px;font-weight:600}.hero-note{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin-top:29px}.hero-art{position:relative;padding-bottom:36px}.scene-label{position:absolute;top:27px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:1;font-size:8px;letter-spacing:1.4px;font-weight:700;display:flex;gap:8px;align-items:center}.city{width:100%;display:block}.compass{position:absolute;right:-12px;top:91px;width:69px;height:69px;background:var(--paper);border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(20deg)}.compass svg{width:40px;height:40px}.compass>span{font-size:8px;position:absolute;top:5px}.story-card{position:absolute;bottom:65px;left:4px;right:20px;display:flex;gap:13px;align-items:center;background:var(--paper);padding:18px 19px;box-shadow:0 12px 35px #0b254016;border:1px solid #f0ece4;border-radius:8px}.story-card span:not(.story-arrow){display:block;font-size:8px;letter-spacing:1.3px;color:var(--muted);margin-bottom:6px}.story-card strong{font-family:Georgia,serif;font-size:17px;font-weight:400}.story-arrow{margin-left:auto;color:var(--teal);font-size:26px}.sound-icon{display:flex;align-items:center;justify-content:center;gap:3px;background:#e4efea;width:43px;height:43px;border-radius:50%;flex-shrink:0}.sound-icon i{width:2px;height:12px;background:var(--teal)}.sound-icon i:nth-child(2),.sound-icon i:nth-child(4){height:20px}.sound-icon i:nth-child(3){height:28px}.art-caption{text-align:center;font-size:9px;color:#708178;letter-spacing:.4px;position:absolute;bottom:8px;width:100%}.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px}.manifesto .wrap{display:flex;align-items:center;justify-content:center;gap:45px;padding-top:25px;padding-bottom:25px;font-family:Georgia,serif;font-size:23px;letter-spacing:-.4px}.asterisk{color:var(--teal);font-size:32px}.section{padding-top:95px;padding-bottom:95px}h2{font-family:Georgia,"Times New Roman",serif;font-size:46px;line-height:1.13;font-weight:400;letter-spacing:-1.7px;margin-top:22px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro-text{padding-top:33px;color:var(--muted);font-size:15px;line-height:1.85}.intro-text p+p{margin-top:20px}.hand-note{font-family:Georgia,serif;font-size:22px;line-height:1.45;font-style:italic;color:var(--teal);margin-top:25px;position:relative}.hand-note span{font-size:42px;position:absolute;right:25px;bottom:0}.experience{background:#edf2ef}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading>p{font-size:14px;line-height:1.7;color:var(--muted);padding-bottom:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #ccd8d2}.steps article{padding:30px 28px 0 0}.steps article+article{padding-left:30px;border-left:1px solid #ccd8d2}.step-num{font-family:Georgia,serif;font-size:29px;color:var(--teal)}h3{font-family:Georgia,serif;font-size:26px;letter-spacing:-.5px;font-weight:400;margin:21px 0 14px}.steps p{font-size:13px;line-height:1.9;color:var(--muted);min-height:100px}.step-detail{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;line-height:1.6;font-weight:700;margin-top:24px;gap:5px}.step-detail span{font-size:20px;color:var(--teal)}.status{padding-bottom:20px}.status-card{background:var(--ink);color:#fff;border-radius:10px;padding:55px;display:grid;grid-template-columns:1.12fr 1fr;gap:60px}.status-pill{font-size:8px;letter-spacing:1.4px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #486172;border-radius:20px;color:#d4e4e6}.status-pill .dot{background:#65cebe}.status h2{font-size:43px;margin-top:25px}.status em{color:#77d5cc}.status-left>p{color:#bfcdd5;font-size:13px;line-height:1.85;margin-top:22px;max-width:350px}.light-link{display:inline-flex;gap:30px;margin-top:24px;font-size:12px;color:#a6e7df}.status-right{align-self:center}.progress-item{display:flex;gap:17px;padding:24px 0;border-bottom:1px solid #355066}.progress-item:first-child{padding-top:0}.progress-item:last-child{border-bottom:0;padding-bottom:0}.progress-item>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #54757f;border-radius:50%;color:#77d5cc;font-size:14px;flex-shrink:0}.progress-item strong{font-size:13px;font-weight:550}.progress-item p{font-size:12px;color:#bfcdd5;line-height:1.75;margin-top:8px}.faq{display:grid;grid-template-columns:.85fr 1.25fr;gap:70px;padding-top:75px}.questions{padding-top:9px}details{border-bottom:1px solid var(--line)}summary{font-size:14px;font-weight:500;list-style:none;padding:22px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary>span{font-weight:400;color:var(--teal);font-size:23px;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.8;color:var(--muted);padding:0 30px 24px 0}.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:27px;min-height:115px}.footer .brand{font-size:24px}.footer p{font-family:Georgia,serif;font-size:14px;color:var(--muted)}.footer>span{margin-left:auto;font-size:10px;color:var(--muted)}.footer>span>span{color:var(--teal);margin-left:20px;font-size:19px}.skip{position:absolute;left:10px;top:-80px;background:var(--ink);color:white;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1400px){.hero{padding-top:50px;padding-bottom:65px}}@media(max-width:950px){.wrap{padding-left:30px;padding-right:30px}.hero{gap:10px}h1{font-size:64px;letter-spacing:-3px}.hero-actions{gap:17px;flex-wrap:wrap}.hero-intro{font-size:14px}.scene-label{font-size:6px;top:20px}.story-card{padding:12px;bottom:57px;left:-8px;right:0;gap:8px}.story-card strong{font-size:14px}.story-card span:not(.story-arrow){font-size:6px}.intro{gap:45px}h2{font-size:38px}.status-card{padding:35px;gap:35px}.status h2{font-size:34px}.faq{gap:40px}.step-detail{font-size:7px}.steps article+article{padding-left:20px}.compass{right:-6px;width:53px;height:53px}}
@media(max-width:640px){.wrap{padding-left:23px;padding-right:23px}.header{height:85px}.brand{font-size:27px}.brand svg{width:26px}nav{gap:0}.header nav>a:not(.nav-status){display:none}.nav-status{font-size:10px;padding:10px 11px;gap:7px}.hero{grid-template-columns:1fr;padding-top:27px;padding-bottom:23px;gap:30px}.eyebrow{font-size:8px;letter-spacing:1.35px}h1{font-size:clamp(48px,14.8vw,62px);line-height:1.03;margin:20px 0 23px}.hero-intro{font-size:14px;line-height:1.85;max-width:370px}.hero-actions{gap:22px;margin-top:25px}.button{padding:16px 18px;font-size:12px;gap:23px}.text-link{font-size:11px;gap:8px}.hero-note{font-size:9px;margin-top:23px}.hero-art{max-width:430px;width:100%;margin:auto;padding-bottom:29px}.city{max-height:420px}.scene-label{top:20px;font-size:7px}.story-card{left:4px;right:4px;bottom:45px;padding:15px 12px}.story-card strong{font-size:15px}.story-card span:not(.story-arrow){font-size:7px}.compass{right:2px;top:78px}.art-caption{font-size:8px;bottom:4px}.manifesto .wrap{gap:13px;font-size:14px;padding-top:18px;padding-bottom:18px}.asterisk{font-size:23px}.section{padding-top:57px;padding-bottom:57px}.intro{grid-template-columns:1fr;gap:0}h2{font-size:37px;letter-spacing:-1.3px;margin-top:18px}.intro-text{font-size:14px;padding-top:24px}.hand-note{font-size:21px}.section-heading{display:block}.section-heading>p{font-size:13px;margin-top:20px}.section-heading>p br{display:none}.steps{grid-template-columns:1fr;margin-top:29px}.steps article,.steps article+article{padding:25px 0;border:0;border-bottom:1px solid #ccd8d2}.steps article:last-child{border:0;padding-bottom:0}.steps h3{margin:13px 0 9px}.steps p{min-height:0;font-size:14px}.step-num{font-size:24px}.step-detail{font-size:8px;margin-top:18px}.status{padding-bottom:0}.status-card{padding:30px 23px;grid-template-columns:1fr;gap:35px;border-radius:8px}.status h2{font-size:34px}.status-left>p{font-size:13px}.status-pill{font-size:7px;letter-spacing:1px}.progress-item{padding:23px 0}.progress-item strong{font-size:13px}.progress-item p{font-size:12px}.faq{grid-template-columns:1fr;gap:20px}.faq h2 br{display:none}summary{font-size:13px;padding:21px 0}.footer{flex-wrap:wrap;padding-top:27px;padding-bottom:27px;gap:12px 20px}.footer>span{margin:0;width:100%}.footer>span>span{margin-left:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 

.explore-teaser{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-bottom:1px solid var(--line)}
.explore-teaser>div:last-child{align-self:end}.explore-teaser p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:25px;max-width:470px}
.explore{min-height:65vh;padding-top:28px;padding-bottom:110px}.explore h1{font-size:clamp(42px,6vw,72px);max-width:900px;overflow-wrap:anywhere}.explore .eyebrow{margin-top:24px}.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);line-height:1.6}.crumbs a,.story-back a,.story-sources a,.questions a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.explore-lead{max-width:740px;font-size:17px;line-height:1.8;color:var(--muted)}.explore-location{font-size:16px;color:var(--muted)}
.explore-section{margin-top:72px}.explore-section h2{font-size:clamp(32px,4vw,44px);margin:0 0 20px}.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-top:30px}.explore-card{border:1px solid var(--line);border-radius:8px;padding:28px;background:#fff;display:flex;flex-direction:column;min-height:245px}.explore-card .eyebrow{margin:0}.explore-card h3{margin:18px 0 10px;overflow-wrap:anywhere}.explore-card h3 a:hover,.card-link:hover{color:var(--teal)}.explore-card p{font-size:13px;line-height:1.75;color:var(--muted)}.card-link{font-size:13px;color:var(--teal);font-weight:650;margin-top:auto;padding-top:24px}.card-link span{margin-left:5px}.explore-empty{padding:28px;background:#edf2ef;border-radius:8px;line-height:1.7;color:var(--muted)}.demo-notice{max-width:760px;padding:20px 24px;margin-top:32px;border-left:4px solid var(--coral);background:#fff2e9;font-size:14px;line-height:1.75}.demo-notice strong{display:block;color:var(--ink)}
.story-content{max-width:760px;margin-top:60px}.story-chapter{margin:0 0 46px}.story-chapter h2{font-size:clamp(30px,4vw,42px);margin-bottom:20px}.story-chapter p{font-size:17px;line-height:1.9;color:#344a59;margin:0 0 18px}.story-sources{border-top:1px solid var(--line);padding-top:25px;margin-top:60px}.story-sources h2{font-size:30px}.story-sources ul{padding-left:20px;font-size:14px;line-height:1.8}.story-sources li{margin-bottom:12px}.story-back{margin-top:55px;font-size:14px}
@media(max-width:640px){.header nav{gap:14px;font-size:12px}.header nav>a[href^="#"]:not(.nav-status){display:none}.header nav>a[href="/explorar"]{display:inline}.explore-teaser{grid-template-columns:1fr;gap:20px}.explore-teaser p{font-size:14px}.explore{padding-top:22px;padding-bottom:70px}.explore .eyebrow{margin-top:18px}.explore h1{margin-top:15px}.explore-section{margin-top:52px}.explore-lead{font-size:15px}.story-content{margin-top:44px}.story-chapter p{font-size:16px}}

/* Shared visual language for the landing and public catalog. */
:root {
  --ink: #122c4e;
  --teal: #007c91;
  --paper: #f9fbf9;
  --muted: #526779;
  --line: #dbe6e5;
  --coral: #d66d57;
  --aqua: #43ced1;
}

body {
  background: var(--paper);
}

.header {
  position: relative;
  height: 98px;
}

.header::after {
  content: "";
  position: absolute;
  right: 48px;
  bottom: 0;
  left: 48px;
  height: 1px;
  background: var(--line);
}

.header nav {
  gap: 24px;
}

.nav-explore {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 11px 17px;
  border-radius: 100px;
  background: #e5f4f2;
  color: var(--ink);
  font-weight: 700;
}

.nav-explore:hover,
.nav-explore[aria-current="page"] {
  background: var(--teal);
  color: #fff;
}

.nav-explore span {
  font-size: 17px;
  line-height: 0.7;
}

.button {
  border-radius: 100px;
  box-shadow: 0 10px 24px #008ca724;
}

.hero {
  min-height: 675px;
  gap: 52px;
  padding-top: 28px;
  padding-bottom: 42px;
}

.hero h1 {
  font-size: clamp(62px, 6.3vw, 86px);
  letter-spacing: -3.7px;
}

.hero-intro {
  color: #435d70;
}

.hero-art {
  isolation: isolate;
}

.hero-art::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4% -2% 7% 1%;
  border-radius: 36px;
  background: radial-gradient(circle at 72% 19%, #fff9dd 0 10%, transparent 10.2%), linear-gradient(145deg, #e6f5f1, #d9ebe8);
}

.story-card {
  border-radius: 15px;
  box-shadow: 0 16px 40px #122c4e20;
}

.manifesto {
  background: #ecf6f3;
  border-color: #dcebe6;
}

.explore-teaser {
  display: block;
  border: 0;
  padding-top: 80px;
  padding-bottom: 80px;
}

.explore-teaser-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  overflow: hidden;
  min-height: 465px;
  border-radius: 28px;
  background: var(--ink);
  color: #fff;
}

.explore-teaser-copy {
  padding: clamp(38px, 5vw, 72px);
  align-self: center;
}

.explore-teaser .eyebrow {
  color: #73dfdc;
}

.explore-teaser h2 {
  margin-top: 14px;
  font-size: clamp(38px, 4.5vw, 58px);
}

.explore-teaser em {
  color: #8be2db;
}

.explore-teaser p {
  color: #cfe0e7;
  max-width: 445px;
  margin: 28px 0;
}

.explore-teaser .button {
  background: #f3fffd;
  color: var(--ink);
  box-shadow: none;
}

.explore-teaser .button:hover {
  background: #bff4ec;
}

.explore-teaser-preview {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  background: radial-gradient(circle at 78% 20%, #d8f3e8 0 10%, transparent 10.2%), repeating-linear-gradient(0deg, transparent 0 47px, #ffffff30 48px 49px), repeating-linear-gradient(90deg, transparent 0 47px, #ffffff30 48px 49px), linear-gradient(145deg, #52b9b7, #177d92);
}

.explore-teaser-preview::before,
.explore-teaser-preview::after {
  content: "";
  position: absolute;
  border: 1px solid #ffffff4d;
  border-radius: 50%;
}

.explore-teaser-preview::before {
  width: 490px;
  height: 490px;
  top: -170px;
  right: -130px;
}

.explore-teaser-preview::after {
  width: 360px;
  height: 360px;
  top: 50px;
  right: 60px;
}

.preview-path {
  position: absolute;
  width: 310px;
  height: 230px;
  top: 102px;
  left: 12%;
  border: 3px dashed #fffbe5;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-radius: 50%;
  transform: rotate(-24deg);
}

.preview-pin,
.map-pin {
  position: absolute;
  z-index: 2;
  width: 27px;
  height: 27px;
  border: 7px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: var(--coral);
  box-shadow: 0 5px 15px #122c4e35;
  transform: rotate(-45deg);
}

.preview-pin--one { top: 78px; left: 18%; }
.preview-pin--two { top: 191px; right: 22%; }
.preview-pin--three { bottom: 78px; left: 31%; }

.preview-card {
  position: absolute;
  z-index: 3;
  right: 9%;
  bottom: 47px;
  left: 9%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 24px 28px;
  border-radius: 16px;
  background: #fbfdfa;
  color: var(--ink);
  box-shadow: 0 20px 45px #122c4e30;
}

.preview-card span {
  grid-column: 1 / -1;
  color: var(--teal);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 1.5px;
}

.preview-card strong {
  font: 400 25px/1.2 Georgia, serif;
}

.preview-card i {
  align-self: end;
  color: var(--teal);
  font-size: 25px;
  font-style: normal;
}

.preview-caption {
  position: absolute;
  top: 26px;
  right: 28px;
  color: #edffff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.experience {
  background: #eaf3f2;
}

.status-card {
  border-radius: 28px;
}

.explore {
  padding-top: 29px;
}

.crumbs {
  gap: 11px;
  font-size: 11px;
  font-weight: 600;
}

.crumbs a {
  color: #487587;
  text-decoration: none;
}

.crumbs a:hover {
  text-decoration: underline;
}

.explore-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, .55fr);
  gap: 20px;
  overflow: hidden;
  min-height: 388px;
  margin-top: 28px;
  border-radius: 28px;
  background: #e9f5f2;
}

.explore-hero-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: clamp(34px, 5vw, 70px);
}

.explore-hero .eyebrow {
  margin-top: 0;
}

.explore-hero h1 {
  margin: 15px 0 22px;
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1.08;
}

.explore-hero .explore-lead {
  max-width: 620px;
  font-size: 16px;
}

.explore-hero-art {
  position: relative;
  overflow: hidden;
  background: repeating-linear-gradient(0deg, transparent 0 38px, #ffffffa3 39px 40px), repeating-linear-gradient(90deg, transparent 0 38px, #ffffffa3 39px 40px), linear-gradient(135deg, #99d9d1, #4dbbc3);
}

.map-orbit {
  position: absolute;
  border: 1px solid #ffffffa8;
  border-radius: 50%;
}

.map-orbit--one {
  width: 420px;
  height: 420px;
  top: -150px;
  left: -130px;
}

.map-orbit--two {
  width: 270px;
  height: 270px;
  right: -70px;
  bottom: -75px;
}

.map-pin--one { top: 23%; left: 22%; }
.map-pin--two { top: 53%; right: 21%; }

.map-route {
  position: absolute;
  top: 32%;
  left: 25%;
  width: 48%;
  height: 31%;
  border: 3px dashed #fff;
  border-right: 0;
  border-bottom: 0;
  border-radius: 50%;
  transform: rotate(155deg);
}

.map-label {
  position: absolute;
  right: 20px;
  bottom: 25px;
  left: 20px;
  display: flex;
  justify-content: space-between;
  padding: 16px;
  border-radius: 11px;
  background: #fffffff0;
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.2px;
}

.map-label span { font-size: 17px; line-height: .6; }

.explore-section {
  margin-top: 72px;
}

.explore-section > .eyebrow {
  margin: 0 0 8px;
}

.explore-section h2 {
  margin: 0 0 16px;
}

.explore-section--demo {
  padding: 50px;
  border-radius: 28px;
  background: #f0f5f3;
}

.explore-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 22px;
  margin-top: 28px;
}

.explore-card {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  padding: 28px;
  border-color: #e0e8e5;
  border-radius: 18px;
  box-shadow: 0 7px 25px #122c4e08;
  transition: transform .2s, box-shadow .2s;
}

.explore-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px #122c4e14;
}

.explore-card h3 {
  font-size: 29px;
  line-height: 1.22;
}

.explore-card h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
}

.explore-card:focus-within {
  outline: 3px solid var(--teal);
  outline-offset: 4px;
}

.explore-card h3 a:focus-visible {
  outline: 0;
}

.explore-card .card-link {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--teal);
  font-weight: 750;
}

.explore-card .card-link span {
  display: grid;
  width: 31px;
  height: 31px;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  background: #e3f4f1;
  font-size: 17px;
}

.explore-card--city {
  padding-top: 0;
}

.card-art {
  position: relative;
  height: 150px;
  margin: 0 -28px 24px;
  overflow: hidden;
  background: linear-gradient(180deg, #bce7e2, #e7f4e9);
}

.card-art--photo img, .explore-hero-photo img, .story-hero-photo img, .place-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card-art--photo, .explore-hero-photo, .story-hero-photo, .place-card-photo { position: relative; overflow: hidden; margin-top: 0; margin-bottom: 0; }
.card-art--photo figcaption, .explore-hero-photo figcaption, .story-hero-photo figcaption, .place-card-photo figcaption {
  position: absolute;
  z-index: 2;
  right: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
  padding: 4px 7px;
  border-radius: 5px;
  background: #102b3fcc;
  color: #fff;
  font-size: 10px;
}
.card-art--photo figcaption a, .explore-hero-photo figcaption a, .story-hero-photo figcaption a, .place-card-photo figcaption a { color: inherit; }
.explore-hero-photo, .story-hero-photo { min-height: 300px; }
.explore-hero-photo img, .story-hero-photo img { position: absolute; inset: 0; }
.place-card-photo { height: 150px; margin: -35px -28px 22px; }
.explore-card--place:has(.place-card-photo) .card-number { color: #fff; text-shadow: 0 1px 5px #102b3f; }
.explore-hero--story:has(.story-hero-photo) { grid-template-columns: minmax(0, 1fr) minmax(190px, 40%); }

.card-art-sun {
  position: absolute;
  top: 18px;
  right: 16%;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff6ce;
}

.card-art-roof {
  position: absolute;
  right: 9%;
  bottom: 0;
  width: 42%;
  height: 80px;
  background: #f4d6b3;
}

.card-art-roof::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: -9%;
  width: 118%;
  height: 33px;
  background: #c28569;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.card-art-tower {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 45%;
  width: 43px;
  height: 115px;
  background: #e4b68e;
}

.card-art-tower::before {
  content: "";
  position: absolute;
  bottom: 100%;
  width: 100%;
  height: 21px;
  background: #6d9d96;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.card-art-house {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42%;
  height: 90px;
  background: #dc9f83;
}

.card-art-house::before {
  content: "";
  position: absolute;
  top: 29px;
  left: 33%;
  width: 30%;
  height: 62px;
  border-radius: 35px 35px 0 0;
  background: #547a79;
}

.card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.card-meta .eyebrow { margin: 0; }

.card-count {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}

.explore-section--demo .explore-grid:has(> :only-child) {
  grid-template-columns: 1fr;
}

.explore-section--demo .explore-grid:has(> :only-child) .explore-card--city {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  grid-template-rows: 1fr auto auto 1fr;
  column-gap: 42px;
  min-height: 290px;
  padding: 0 36px 0 0;
}

.explore-section--demo .explore-grid:has(> :only-child) .card-art {
  grid-column: 1;
  grid-row: 1 / -1;
  height: 100%;
  min-height: 290px;
  margin: 0;
}

.explore-section--demo .explore-grid:has(> :only-child) .card-meta {
  grid-column: 2;
  grid-row: 2;
}

.explore-section--demo .explore-grid:has(> :only-child) h3 {
  grid-column: 2;
  grid-row: 3;
  margin: 13px 0 8px;
}

.explore-section--demo .explore-grid:has(> :only-child) .explore-card--city > p {
  grid-column: 2;
  grid-row: 4;
}

.explore-section--demo .explore-grid:has(> :only-child) .card-link {
  grid-column: 2;
  grid-row: 4;
  align-self: end;
  padding: 0 0 24px;
}

.explore-card--place {
  padding-top: 35px;
  background: linear-gradient(140deg, #fff 72%, #e8f5f2 100%);
}

.card-number {
  position: absolute;
  top: 18px;
  right: 22px;
  color: #d9e8e6;
  font: 400 50px/1 Georgia, serif;
}

.explore-empty {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 26px 30px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  font-size: 14px;
}

.empty-symbol {
  color: var(--teal);
  font-size: 33px;
  line-height: 1;
}

.explore-hero-count {
  display: inline-block;
  margin-top: 26px;
  padding: 11px 16px;
  border-radius: 100px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.demo-notice {
  max-width: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 18px 22px;
  margin-top: 25px;
  border: 1px solid #f2d7bb;
  border-left: 4px solid var(--coral);
  border-radius: 10px;
  background: #fff6ec;
}

.demo-notice strong { white-space: nowrap; }

.explore-hero--story {
  min-height: 320px;
  grid-template-columns: minmax(0, 1fr) 130px;
  background: var(--ink);
  color: #fff;
}

.explore-hero--story .eyebrow,
.explore-hero--story .explore-location,
.explore-hero--story em { color: #a9e5df; }

.story-hero-mark {
  align-self: center;
  color: #316a78;
  font: 400 290px/.5 Georgia, serif;
}

.story-layout {
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(200px, 1fr);
  align-items: start;
  gap: clamp(35px, 5vw, 85px);
  margin-top: 60px;
}

.story-content { margin-top: 0; }

.story-chapter {
  padding-left: 28px;
  border-left: 2px solid #b6dcd8;
}

.story-chapter h2 { margin-top: 0; }

.story-available {
  margin: 42px 0 0;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.story-available h2 { margin: 0; font-size: 30px; }

.story-available p {
  margin-top: 10px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.story-tag {
  padding: 9px 13px;
  border: 1px solid #b9dcd8;
  border-radius: 999px;
  background: #eef7f4;
  color: #075e65;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

.story-side {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.story-side .eyebrow { margin: 0; }

.story-side p {
  margin: 13px 0 24px;
  font: 400 24px/1.25 Georgia, serif;
}

.story-side a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}

.story-sources {
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.story-photo-preview {
  margin-top: 42px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}

.story-photo-preview h2 {
  margin-top: 12px;
  font-size: clamp(28px, 3vw, 36px);
}

.story-photo-preview p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.story-photo-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.story-photo-preview-grid:has(figure:only-child) {
  max-width: 360px;
  grid-template-columns: minmax(0, 1fr);
}

.story-photo-preview figure {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #edf2ef;
}

.story-photo-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer {
  min-height: 130px;
}

.footer > a:last-child {
  margin-left: auto;
  color: var(--teal);
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 950px) {
  .story-photo-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header::after { right: 30px; left: 30px; }
  .hero { gap: 16px; min-height: 0; }
  .hero h1 { font-size: clamp(52px, 6.5vw, 72px); }
  .explore-teaser-copy { padding: 38px; }
  .explore-hero { grid-template-columns: minmax(0, 1.35fr) minmax(180px, .65fr); }
  .explore-hero h1 { font-size: clamp(43px, 5.3vw, 60px); }
}

@media (max-width: 640px) {
  .story-photo-preview-grid figure:nth-child(n + 5) { display: none; }
  .header { height: 78px; }
  .header::after { right: 23px; left: 23px; }
  .header nav { gap: 0; }
  .header nav > a:not(.nav-explore) { display: none; }
  .header nav > .nav-explore { display: inline-flex; padding: 10px 13px; font-size: 11px; }
  .hero { gap: 25px; padding-top: 31px; }
  .hero h1 { font-size: clamp(47px, 13vw, 62px); letter-spacing: -2.7px; }
  .hero-art::before { inset: 4% 0 8%; border-radius: 23px; }
  .explore-teaser { padding-top: 42px; padding-bottom: 60px; }
  .explore-teaser-panel { grid-template-columns: 1fr; border-radius: 20px; }
  .explore-teaser-copy { padding: 37px 28px; }
  .explore-teaser h2 { font-size: 39px; }
  .explore-teaser-preview { min-height: 310px; }
  .preview-card { bottom: 24px; padding: 18px; }
  .preview-card strong { font-size: 21px; }
  .status-card { border-radius: 20px; }
  .explore { padding-top: 21px; }
  .explore-hero { grid-template-columns: 1fr; margin-top: 21px; min-height: 0; border-radius: 20px; }
  .explore-hero-copy { padding: 36px 26px; }
  .explore-hero h1 { font-size: clamp(43px, 11vw, 58px); letter-spacing: -2px; }
  .explore-hero .explore-lead { font-size: 15px; }
  .explore-hero-art { min-height: 155px; }
  .map-label { bottom: 16px; }
  .explore-section { margin-top: 49px; }
  .explore-section--demo { padding: 27px 20px; margin-right: -10px; margin-left: -10px; border-radius: 20px; }
  .explore-grid { gap: 16px; }
  .explore-section--demo .explore-grid:has(> :only-child) .explore-card--city { display: flex; min-height: 0; padding: 0 25px 25px; }
  .explore-section--demo .explore-grid:has(> :only-child) .card-art { min-height: 150px; height: 150px; margin: 0 -25px 24px; }
  .explore-section--demo .explore-grid:has(> :only-child) .card-link { padding: 24px 0 0; }
  .explore-card { min-height: 0; }
  .demo-notice { display: block; font-size: 13px; }
  .demo-notice strong { display: block; }
  .explore-hero--story { grid-template-columns: minmax(0, 1fr) 55px; }
  .explore-hero--story:has(.story-hero-photo) { grid-template-columns: 1fr; }
  .explore-hero-photo, .story-hero-photo { min-height: 190px; }
  .explore-hero--story .explore-hero-copy { padding-right: 0; }
  .story-hero-mark { font-size: 145px; }
  .story-layout { grid-template-columns: 1fr; margin-top: 43px; gap: 25px; }
  .story-chapter { padding-left: 18px; }
  .story-available { padding: 22px; }
  .story-available h2 { font-size: 27px; }
  .story-side { padding: 21px; }
  .footer > a:last-child { margin-left: 0; width: 100%; }
}

