:root {
  --agoversion-sun: #e8be69;
  --agoversion-coral-soft: #e4957f;
  --agoversion-lagoon-soft: #82b8b4;
  --agoversion-leaf-soft: #9daf79;
  --agoversion-shell: #f7f0e3;
  --agoversion-ink: #20322d;
}

html[data-agoversion-phase14="ready"] body {
  background: var(--agoversion-shell);
}

.agoversion-mobile-hero-visual {
  display: none;
}

.agoversion-hotel-story {
  overflow: hidden;
  padding: clamp(76px, 9vw, 136px) clamp(20px, 6vw, 96px);
  position: relative;
  color: var(--agoversion-ink);
  background:
    radial-gradient(circle at 88% 14%, #e4957f2d 0 11%, transparent 31%),
    radial-gradient(circle at 8% 92%, #82b8b42e 0 13%, transparent 34%),
    linear-gradient(145deg, #fffaf1, #f1e7d4 56%, #edf1e3);
}

.agoversion-hotel-story::before {
  content: "";
  width: min(42vw, 580px);
  aspect-ratio: 1;
  border: 1px solid #20322d1c;
  border-radius: 50%;
  position: absolute;
  top: -24%;
  right: -12%;
  pointer-events: none;
}

.agoversion-hotel-story__heading {
  max-width: 980px;
  margin: 0 auto clamp(46px, 6vw, 82px);
  position: relative;
  text-align: center;
}

.agoversion-hotel-story__heading .eyebrow {
  color: #b25948;
}

.agoversion-hotel-story__heading h2 {
  max-width: 18ch;
  margin: 16px auto 24px;
  font: 400 clamp(42px, 6.2vw, 88px)/.94 var(--display-serif, var(--serif, Georgia, serif));
  letter-spacing: -.035em;
}

.agoversion-hotel-story__heading p {
  max-width: 64ch;
  margin: 0 auto;
  color: #29433bce;
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.65;
}

.agoversion-hotel-story__grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(20px, 3vw, 42px);
  align-items: start;
}

.agoversion-hotel-story__card {
  grid-column: span 4;
  min-width: 0;
}

.agoversion-hotel-story__card--2 {
  margin-top: clamp(40px, 7vw, 110px);
}

.agoversion-hotel-story__media {
  display: block;
  overflow: hidden;
  min-height: 420px;
  position: relative;
  background: #d5c6ab;
  box-shadow: 0 26px 70px #36524826;
}

.agoversion-hotel-story__card--1 .agoversion-hotel-story__media {
  border-radius: 46% 46% 12px 12px;
}

.agoversion-hotel-story__card--2 .agoversion-hotel-story__media {
  border-radius: 10px 10px 48% 48%;
}

.agoversion-hotel-story__card--3 .agoversion-hotel-story__media {
  border-radius: 140px 10px 140px 10px;
}

.agoversion-hotel-story__media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  position: absolute;
  inset: 0;
  object-fit: cover;
  transition: transform 900ms cubic-bezier(.2,.7,.2,1), filter 500ms ease;
}

.agoversion-hotel-story__card--3 .agoversion-hotel-story__media img {
  object-position: 50% 55%;
}

.agoversion-hotel-story__media:hover img,
.agoversion-hotel-story__media:focus-visible img {
  transform: scale(1.045);
  filter: saturate(1.05) contrast(1.02);
}

.agoversion-hotel-story__card > div {
  padding: 26px 4px 0;
}

.agoversion-hotel-story__card > div > span {
  display: block;
  color: #b25948;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}

.agoversion-hotel-story__card h3 {
  margin: 11px 0 13px;
  font: 400 clamp(27px, 2.8vw, 42px)/1 var(--serif, Georgia, serif);
}

.agoversion-hotel-story__card p {
  min-height: 4.8em;
  margin: 0 0 20px;
  color: #29433bc7;
  line-height: 1.6;
}

.agoversion-hotel-story__link {
  color: var(--agoversion-ink);
  display: inline-flex;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid currentColor;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.agoversion-hotel-story__trust {
  max-width: 1100px;
  margin: clamp(56px, 8vw, 104px) auto 0;
  padding: 24px clamp(18px, 4vw, 46px);
  border: 1px solid #20322d20;
  border-radius: 999px;
  display: flex;
  justify-content: center;
  gap: clamp(20px, 6vw, 80px);
  list-style: none;
  background: #ffffff70;
  backdrop-filter: blur(12px);
}

.agoversion-hotel-story__trust li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #29433b;
  font-size: 12px;
  font-weight: 700;
}

.agoversion-hotel-story__trust span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #17372e;
  background: var(--agoversion-lagoon-soft);
}

html[data-agoversion-phase14="ready"] .home-v2 .home-stay-scene {
  background: linear-gradient(155deg, #f6e7d2 0%, #fbf6eb 52%, #e9efe2 100%);
}

html[data-agoversion-phase14="ready"] .home-v2 .home-dream-gallery {
  background: linear-gradient(145deg, #dbecea, #f4eadc 62%, #e7ddb9);
}

html[data-agoversion-phase14="ready"] .home-v2 .home-art {
  background: linear-gradient(150deg, #f2d7cb, #f6ede1 54%, #dce6cd);
}

html[data-agoversion-phase14="ready"] .home-v2 .home-signals {
  background: linear-gradient(160deg, #fff4d9, #f5eee4 52%, #dcebe7);
}

.agoversion-network {
  width: 100%;
  min-width: 0;
  grid-column: 1 / -1;
  padding: clamp(54px, 7vw, 92px) 0;
  border-top: 1px solid #ffffff20;
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.6fr);
  gap: clamp(36px, 7vw, 110px);
}

.agoversion-network__heading > span {
  color: #e8be69;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.agoversion-network__heading h2 {
  max-width: 15ch;
  margin: 15px 0 18px;
  color: #fff8ea;
  font: 400 clamp(30px, 3.6vw, 50px)/1 var(--serif, Georgia, serif);
}

.agoversion-network__heading p {
  max-width: 45ch;
  color: #ffffffa8;
  font-size: 14px;
  line-height: 1.65;
}

.agoversion-network__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.agoversion-network__links a {
  min-height: 94px;
  padding: 20px;
  border: 1px solid #ffffff22;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 5px 18px;
  color: #fff;
  background: linear-gradient(135deg, #ffffff0a, #ffffff03);
  transition: border-color 260ms ease, background 260ms ease, transform 260ms ease;
}

.agoversion-network__links a:hover,
.agoversion-network__links a:focus-visible {
  border-color: #e8be6988;
  background: linear-gradient(135deg, #e8be6918, #82b8b410);
  transform: translateY(-2px);
}

.agoversion-network__links strong {
  font-family: var(--serif, Georgia, serif);
  font-size: 21px;
  font-weight: 400;
}

.agoversion-network__links small {
  grid-column: 1;
  color: #ffffff9c;
  font-size: 11px;
  line-height: 1.4;
}

.agoversion-network__links a > span {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: #e8be69;
  font-size: 19px;
}

.agoversion-visitor-pulse {
  padding: 36px 0;
  border-top: 1px solid #ffffff20;
}

.agoversion-visitor-pulse h2 {
  margin: 0 0 20px;
  color: #fff4df;
  font: 400 26px/1.1 var(--serif, Georgia, serif);
}

.agoversion-visitor-pulse dl {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.agoversion-visitor-pulse dl > div {
  min-width: 0;
  padding: 16px;
  border: 1px solid #ffffff18;
  background: #ffffff08;
}

.agoversion-visitor-pulse dt,
.agoversion-visitor-pulse small {
  color: #ffffff8f;
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.agoversion-visitor-pulse dd {
  margin: 7px 0 3px;
  color: #fff;
  font: 400 30px/1 var(--serif, Georgia, serif);
}

.site-footer {
  background:
    radial-gradient(circle at 14% 12%, #d7786124, transparent 27%),
    radial-gradient(circle at 88% 62%, #77a9b81e, transparent 31%),
    linear-gradient(145deg, #172a25, #111c19 62%, #20261e);
}

.site-footer a:focus-visible,
.agoversion-hotel-story a:focus-visible {
  outline: 3px solid #e8be69;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: no-preference) {
  .agoversion-hotel-story__card {
    animation: agoversion-story-rise 760ms both cubic-bezier(.2,.7,.2,1);
  }
  .agoversion-hotel-story__card--2 { animation-delay: 120ms; }
  .agoversion-hotel-story__card--3 { animation-delay: 240ms; }
}

@keyframes agoversion-story-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) {
  .agoversion-hotel-story__grid {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
  .agoversion-hotel-story__card,
  .agoversion-hotel-story__card--2 {
    grid-column: 1;
    margin-top: 0;
  }
  .agoversion-hotel-story__media,
  .agoversion-hotel-story__media img {
    min-height: min(112vw, 580px);
  }
  .agoversion-hotel-story__card p {
    min-height: 0;
  }
  .agoversion-hotel-story__trust {
    border-radius: 26px;
    flex-direction: column;
    gap: 14px;
  }
  .agoversion-network {
    grid-template-columns: 1fr;
  }
  .agoversion-visitor-pulse dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-v2 .hero {
    isolation: isolate;
  }
  .home-v2 .agoversion-mobile-hero-visual {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    background: #17312b;
  }
  .home-v2 .agoversion-mobile-hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #071c18a8 0%, #071c1840 36%, #071c18a8 100%);
  }
  .home-v2 .agoversion-mobile-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% 50%;
    opacity: 1;
    transform: scale(1.015);
    transition: opacity 720ms ease, transform 9.2s linear;
  }
  .home-v2 .agoversion-mobile-hero-visual img.is-changing {
    opacity: .18;
    transform: scale(1.055);
  }
  .home-v2 .hero__video,
  .home-v2 .hero video {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .home-v2 .hero__shade,
  .home-v2 .hero__content {
    z-index: 2;
  }
  .home-v2 .hero-copy-stage,
  .home-v2 .hero__bottom-cta {
    z-index: 3;
  }
  .agoversion-hotel-story {
    padding: 74px 20px 82px;
  }
  .agoversion-hotel-story__heading {
    text-align: left;
  }
  .agoversion-hotel-story__heading h2 {
    margin-left: 0;
    font-size: clamp(40px, 12vw, 56px);
  }
  .agoversion-hotel-story__heading p {
    margin-left: 0;
  }
  .agoversion-hotel-story__card--1 .agoversion-hotel-story__media,
  .agoversion-hotel-story__card--2 .agoversion-hotel-story__media,
  .agoversion-hotel-story__card--3 .agoversion-hotel-story__media {
    border-radius: 24px;
  }
  .agoversion-network__links {
    grid-template-columns: 1fr;
  }
  .agoversion-visitor-pulse dl > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 360px) {
  .agoversion-hotel-story {
    padding-left: 16px;
    padding-right: 16px;
  }
  .agoversion-hotel-story__heading h2 {
    font-size: 38px;
  }
  .agoversion-network__links a {
    padding: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .agoversion-mobile-hero-visual img,
  .agoversion-hotel-story__media img,
  .agoversion-network__links a {
    animation: none !important;
    transition: none !important;
  }
}
