.isla-landing {
  --isla-forest: #172a25;
  --isla-moss: #65715e;
  --isla-stone: #d9d0c0;
  --isla-ink: #29302d;
  color: var(--isla-ink);
  background: var(--ivory);
}

.isla-header {
  position: absolute;
  color: var(--ivory);
  background: linear-gradient(180deg, rgb(10 20 18 / .62), transparent);
}
.isla-header nav a { color: var(--ivory); }
.isla-header .menu-toggle { color: var(--ivory); border-color: rgb(247 244 237 / .58); }

main > section.isla-hero {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.isla-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  color: var(--ivory);
  background: var(--isla-forest);
  isolation: isolate;
}
.isla-hero > picture,
.isla-hero > picture img,
.isla-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.isla-hero > picture { z-index: 0; }
.isla-hero > picture img { object-fit: cover; object-position: center 48%; }
.isla-hero--square > picture img { object-position: center 44%; }
.isla-hero-shade {
  z-index: 1;
  background: linear-gradient(90deg, rgb(8 17 15 / .78) 0%, rgb(8 17 15 / .28) 54%, rgb(8 17 15 / .08) 78%), linear-gradient(0deg, rgb(8 17 15 / .62), transparent 50%);
}
.isla-hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100%, var(--page-width));
  min-height: 100svh;
  flex-direction: column;
  justify-content: flex-end;
  padding: 10rem var(--gutter) clamp(4rem, 8vw, 7rem);
  margin: 0 auto;
}
.isla-hero-copy .eyebrow { color: var(--gold); }
.isla-hero-copy h1 {
  max-width: 9ch;
  margin-bottom: 1.5rem;
  color: var(--ivory);
  font-size: clamp(4.8rem, 10vw, 9.5rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .78;
}
.isla-hero-copy > p:not(.eyebrow) { max-width: 34rem; color: rgb(247 244 237 / .86); font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.isla-text-link,
.isla-back-link { display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: .8rem; color: inherit; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.isla-text-link { margin-top: 1.5rem; border-bottom: 1px solid rgb(247 244 237 / .52); }

.isla-opening {
  display: grid;
  width: min(100%, var(--page-width));
  grid-template-columns: 2fr 5fr;
  gap: clamp(2rem, 7vw, 8rem);
  padding: var(--section-space) var(--gutter);
  margin: 0 auto;
}
.isla-section-label > p:not(.eyebrow) { color: var(--isla-moss); font-size: .78rem; letter-spacing: .05em; }
.isla-opening-copy h2,
.isla-feature h2,
.isla-contact h2 { color: var(--navy); font-size: clamp(3rem, 6.5vw, 6.5rem); letter-spacing: -.045em; line-height: .92; }
.isla-opening-copy > p { max-width: 47rem; margin-top: 2rem; font-size: clamp(1.22rem, 2vw, 1.62rem); line-height: 1.55; }
.isla-facts { grid-column: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: clamp(3.5rem, 7vw, 6rem) 0 0; background: rgb(24 40 64 / .16); }
.isla-facts > div { padding: 1.6rem 1rem; background: var(--ivory); }
.isla-facts dt { color: var(--isla-moss); font-size: .66rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.isla-facts dd { margin: .7rem 0 0; color: var(--navy); font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.5rem); line-height: 1; }
.isla-evidence-note { grid-column: 2; max-width: 48rem; margin: 0; color: var(--isla-moss); font-size: .76rem; line-height: 1.65; }

.isla-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .75fr);
  gap: clamp(2.5rem, 7vw, 8rem);
  align-items: center;
  padding: 0 max(var(--gutter), calc((100% - var(--page-width)) / 2)) var(--section-space) 0;
}
.isla-feature figure { margin: 0; }
.isla-feature figure img { width: 100%; height: auto; }
.isla-feature > div { padding-right: var(--gutter); }
.isla-feature h2 { margin-bottom: 1.8rem; }
.isla-feature > div > p:not(.eyebrow) { max-width: 31rem; }
.isla-feature--reverse { grid-template-columns: minmax(19rem, .75fr) minmax(0, 1.45fr); padding-right: 0; padding-left: max(var(--gutter), calc((100% - var(--page-width)) / 2)); }
.isla-feature--reverse figure { grid-column: 2; }
.isla-feature--reverse > div { grid-column: 1; grid-row: 1; padding-right: var(--gutter); }

.isla-panorama { position: relative; margin: 0; color: var(--ivory); background: var(--isla-forest); }
.isla-panorama img { width: 100%; max-height: 82svh; object-fit: cover; object-position: center; }
.isla-panorama p { position: absolute; right: max(var(--gutter), calc((100% - var(--page-width)) / 2)); bottom: clamp(2rem, 5vw, 4rem); width: min(28rem, calc(100% - (2 * var(--gutter)))); padding: 1.3rem 0 0 1.3rem; margin: 0; border-top: 1px solid rgb(247 244 237 / .7); border-left: 1px solid rgb(247 244 237 / .7); font-family: var(--serif); font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.2; text-shadow: 0 2px 24px rgb(0 0 0 / .7); }
.isla-closing-image { margin: 0; background: var(--isla-forest); }
.isla-closing-image img { width: 100%; height: auto; }

.isla-contact { display: flex; min-height: 42rem; flex-direction: column; align-items: center; justify-content: center; padding: var(--section-space) var(--gutter); color: var(--ivory); text-align: center; background: var(--navy); }
.isla-contact .eyebrow { color: var(--gold); }
.isla-contact h2 { max-width: 13ch; margin-bottom: 1.5rem; color: var(--ivory); }
.isla-contact > p:not(.eyebrow) { max-width: 38rem; color: rgb(247 244 237 / .78); }
.isla-contact .button { width: auto; min-width: 19rem; margin-top: 1rem; }
.isla-contact .isla-back-link { margin-top: 1.5rem; color: rgb(247 244 237 / .76); }

@media (min-width: 801px) {
  .isla-brisa .isla-header nav { transform: translateY(4rem); }
}

@media (min-width: 801px) and (max-height: 920px) {
  .isla-hero-copy { padding-bottom: 2.5rem; }
  .isla-hero-copy h1 { font-size: clamp(4.5rem, 8vw, 7rem); }
}

@media (max-width: 800px) {
  .isla-header nav, .isla-header nav a { color: var(--navy); }
  .isla-hero-shade { background: linear-gradient(0deg, rgb(8 17 15 / .84) 0%, rgb(8 17 15 / .26) 68%, rgb(8 17 15 / .2) 100%); }
  .isla-hero-copy { padding-top: 8rem; }
  .isla-opening,
  .isla-feature,
  .isla-feature--reverse { grid-template-columns: 1fr; }
  .isla-facts, .isla-evidence-note { grid-column: 1; }
  .isla-facts { grid-template-columns: repeat(2, 1fr); }
  .isla-feature, .isla-feature--reverse { padding-right: var(--gutter); padding-left: var(--gutter); }
  .isla-feature figure,
  .isla-feature--reverse figure,
  .isla-feature > div,
  .isla-feature--reverse > div { grid-column: 1; grid-row: auto; width: 100%; padding: 0; margin: 0; }
  .isla-feature--reverse figure { order: -1; }
}

@media (max-width: 560px) {
  .isla-hero { min-height: 45rem; }
  .isla-hero-copy { min-height: 45rem; padding-bottom: 1.5rem; }
  .isla-hero-copy h1 { margin-bottom: 1rem; font-size: clamp(3.55rem, 18vw, 4.8rem); }
  .isla-text-link { margin-top: .75rem; }
  .isla-hero--square > picture img { object-position: center 42%; }
  .isla-opening { padding-top: 5rem; padding-bottom: 5rem; }
  .isla-opening-copy h2,
  .isla-feature h2,
  .isla-contact h2 { font-size: clamp(2.8rem, 14vw, 4rem); }
  .isla-facts { gap: 0; background: transparent; border-top: 1px solid rgb(24 40 64 / .16); }
  .isla-facts > div { padding: 1.4rem .5rem 1.4rem 0; border-bottom: 1px solid rgb(24 40 64 / .16); }
  .isla-panorama img { min-height: 34rem; object-fit: cover; }
  .isla-contact { min-height: 38rem; }
  .isla-contact .button { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .isla-landing *, .isla-landing *::before, .isla-landing *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
