.about-page { overflow: clip; }

.about-hero {
  min-height: clamp(35rem, 72vh, 52rem);
  display: grid;
  align-items: end;
}

.about-hero::after {
  background: linear-gradient(90deg, rgba(5,15,10,.9) 0%, rgba(5,15,10,.68) 48%, rgba(5,15,10,.32) 72%, rgba(5,15,10,.44) 100%);
}

.about-hero-inner { padding-bottom: clamp(4rem, 8vw, 7rem); }
.about-hero-inner h1 { max-width: 58rem; font-size: clamp(3.1rem, 6vw, 6.2rem); line-height: .98; }
.about-hero-inner > p { max-width: 47rem; margin-top: 1.25rem; color: rgba(255,255,255,.88); font-size: clamp(1.05rem, 1.4vw, 1.3rem); line-height: 1.7; }
.about-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
.about-hero-outline { border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.08); color:#fff; backdrop-filter:blur(8px); }
.about-hero-outline:hover { border-color:#fff; background:rgba(255,255,255,.16); color:#fff; }

.about-story-grid,
.about-responsible-grid,
.about-planning-grid {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  align-items:center;
  gap:clamp(2rem,5vw,5rem);
}
.about-story-media { position:relative; min-height:42rem; overflow:hidden; border-radius:1.4rem; }
.about-story-media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-story-note { position:absolute; right:1rem; bottom:1rem; left:1rem; display:grid; gap:.25rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.22); border-radius:1rem; background:rgba(7,18,12,.74); color:#fff; backdrop-filter:blur(10px); }
.about-story-note span { color:#d8f1dd; font-size:.72rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.about-story-note strong { font-size:1rem; }
.about-story-copy .lead { max-width:51rem; }
.about-story-copy p:not(.lead) { max-width:55rem; line-height:1.82; }
.about-story-copy a,
.about-responsible-copy a,
.about-trust-grid a { color:var(--primary-dark); font-weight:750; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.18em; }
.about-inline-links { display:flex; flex-wrap:wrap; gap:.65rem 1.4rem; margin-top:1.4rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.about-inline-links a { text-decoration:none; }

.about-purpose-heading { max-width:62rem; margin-bottom:2rem; }
.about-purpose-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:1rem; }
.about-purpose-card { min-height:25rem; display:flex; flex-direction:column; padding:clamp(1.5rem,2.6vw,2.4rem); border:1px solid var(--line); border-radius:1.3rem; background:var(--white); }
.about-purpose-card-featured { background:var(--secondary); color:#fff; border-color:transparent; }
.about-purpose-card-featured p { color:rgba(255,255,255,.74); }
.about-purpose-icon,
.about-why-icon { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--primary) 11%,white); color:var(--primary-dark); }
.about-purpose-card-featured .about-purpose-icon { background:rgba(255,255,255,.12); color:#d8f1dd; }
.about-purpose-icon svg,
.about-why-icon svg,
.about-responsible-points svg,
.about-planning-steps > li > span svg,
.about-guests-grid > article > span svg { width:1.35rem; height:1.35rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.about-purpose-label { margin-top:auto; padding-top:2.5rem; color:var(--primary-dark); font-size:.73rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.about-purpose-card-featured .about-purpose-label { color:#d8f1dd; }
.about-purpose-card h3 { margin:.5rem 0 .8rem; font-size:clamp(1.35rem,2vw,2rem); line-height:1.18; }
.about-purpose-card p { margin:0; color:var(--muted); line-height:1.72; }

/* Keep the featured Mission card readable on its dark background. */
.about-purpose-card-featured h3 {
  color:#fff;
}

.about-purpose-card-featured p {
  color:rgba(255,255,255,.82);
}

.about-purpose-card-featured .about-purpose-label {
  color:#d8f1dd;
}

.about-section-heading { max-width:68rem; margin-inline:auto; }
.about-why-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.about-why-grid article { padding:1.55rem; border:1px solid var(--line); border-radius:1.1rem; background:#fff; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.about-why-grid article:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--primary) 28%,var(--line)); box-shadow:var(--shadow-md); }
.about-why-grid h3 { margin:1.1rem 0 .55rem; font-size:1.15rem; }
.about-why-grid p { margin:0; color:var(--muted); line-height:1.7; }

.about-journeys-section { position:relative; isolation:isolate; overflow:hidden; background:#142119; color:#fff; }
.about-journeys-bg,
.about-journeys-overlay { position:absolute; inset:0; pointer-events:none; }
.about-journeys-bg { z-index:-2; inset:-8% 0; background-image:var(--about-journeys-bg); background-repeat:no-repeat; background-position:center center; background-size:cover; transform:translate3d(0, var(--about-journeys-parallax-y, 0px), 0) scale(1.1); transform-origin:center center; will-change:transform; }
.about-journeys-overlay { z-index:-1; background:linear-gradient(180deg,rgba(7,18,12,.78),rgba(7,18,12,.88)),linear-gradient(110deg,rgba(4,59,37,.34),rgba(0,0,0,.16)); }
.about-journeys-section > .site-container { position:relative; z-index:1; }
.about-section-split-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(20rem,.65fr); align-items:end; gap:2rem; margin-bottom:2rem; }
.about-section-split-heading h2 { max-width:46rem; margin:.5rem 0 0; color:#fff; font-size:clamp(2.2rem,4vw,4rem); line-height:1.05; }
.about-section-split-heading > p,
.about-section-split-heading > div:last-child p { margin:0; color:rgba(255,255,255,.82); line-height:1.72; }
.about-journeys-section .eyebrow-light { color:#d8f1dd; }
.about-journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.about-journey-card { position:relative; min-height:30rem; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:1.2rem; color:#fff; text-decoration:none; box-shadow:0 18px 45px rgba(0,0,0,.22); }
.about-journey-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.about-journey-card:hover img { transform:scale(1.045); }
.about-journey-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,10,6,.10) 20%,rgba(4,10,6,.92) 100%); }
.about-journey-copy { position:absolute; inset:auto 1.25rem 1.25rem; display:grid; gap:.45rem; z-index:1; }
.about-journey-copy small { color:#d8f1dd; font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.about-journey-copy strong { font-size:clamp(1.45rem,2vw,2rem); line-height:1.15; }
.about-journey-copy em { color:rgba(255,255,255,.76); font-size:.86rem; font-style:normal; line-height:1.55; }
.about-journey-copy b { margin-top:.3rem; font-size:.83rem; }

.about-responsible-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
.about-responsible-copy p { max-width:55rem; line-height:1.8; }
.about-responsible-points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1.5rem; }
.about-responsible-points span { display:flex; align-items:center; gap:.65rem; padding:.8rem .9rem; border:1px solid var(--line); border-radius:.85rem; font-size:.84rem; font-weight:750; }
.about-responsible-points svg { flex:0 0 auto; color:var(--primary); }
.about-responsible-media { position:relative; min-height:36rem; overflow:hidden; border-radius:1.4rem; }
.about-responsible-media > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-responsible-caption { position:absolute; right:1rem; bottom:1rem; left:1rem; display:grid; gap:.25rem; padding:1rem; border-radius:.9rem; background:rgba(4,13,8,.78); color:#fff; backdrop-filter:blur(10px); }
.about-responsible-caption span { color:rgba(255,255,255,.72); font-size:.84rem; }

.about-planning-grid { grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); }
.about-planning-media { min-height:42rem; overflow:hidden; border-radius:1.4rem; }
.about-planning-media img { width:100%; height:100%; min-height:42rem; object-fit:cover; }
.about-planning-steps { display:grid; gap:0; margin:1.4rem 0; padding:0; list-style:none; }
.about-planning-steps li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--line); }
.about-planning-steps > li > span { display:grid; width:2.8rem; height:2.8rem; place-items:center; border-radius:50%; background:var(--primary); color:#fff; }
.about-planning-steps small { color:var(--primary-dark); font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.about-planning-steps h3 { margin:.18rem 0 .35rem; font-size:1.08rem; }
.about-planning-steps p { margin:0; color:var(--muted); line-height:1.65; }

.about-guests-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.about-guests-grid article { padding:1.5rem; border:1px solid var(--line); border-radius:1rem; background:#fff; }
.about-guests-grid > article > span { display:grid; width:3rem; height:3rem; place-items:center; border-radius:50%; background:var(--surface-soft); color:var(--primary-dark); }
.about-guests-grid h3 { margin:1rem 0 .5rem; font-size:1.05rem; }
.about-guests-grid p { margin:0; color:var(--muted); line-height:1.65; font-size:.9rem; }

.about-dark-heading { color:var(--secondary); }
.about-dark-heading h2 { color:var(--secondary); }
.about-dark-heading .eyebrow { color:var(--primary-dark); }
.about-dark-heading > div:last-child p { color:var(--muted); }
.about-dark-heading .text-link { color:var(--secondary); }
.about-dark-heading .text-link:hover,
.about-dark-heading .text-link:focus-visible { color:var(--primary-dark); }
.about-destination-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.about-destination-card { position:relative; min-height:21rem; overflow:hidden; border-radius:1rem; color:#fff; text-decoration:none; }
.about-destination-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.about-destination-card > span { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,10,6,.05),rgba(4,10,6,.78)); }
.about-destination-card strong { position:absolute; right:1rem; bottom:1rem; left:1rem; z-index:1; font-size:1.05rem; }
.about-destination-card:hover img { transform:scale(1.05); }

.about-trust-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(20rem,.75fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.about-trust-grid h2 { max-width:48rem; }
.about-trust-grid p { max-width:54rem; color:var(--muted); line-height:1.78; }
.about-affiliations { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; }
.about-affiliations > a,
.about-affiliations > span { display:grid; width:min(9.5rem,44%); min-height:8rem; place-items:center; gap:.45rem; padding:.8rem; border:1px solid var(--line); border-radius:1rem; background:#fff; color:var(--secondary); text-align:center; text-decoration:none; }
.about-affiliations img { max-width:7rem; max-height:4.8rem; object-fit:contain; }
.about-affiliations small { font-size:.7rem; font-weight:750; line-height:1.3; }

.about-final-cta { position:relative; isolation:isolate; overflow:hidden; min-height:31rem; display:grid; align-items:center; background:#0d1811; color:#fff; }
.about-final-cta::before { content:""; position:absolute; inset:-8%; z-index:-2; background-image:var(--about-cta-image); background-position:center; background-size:cover; }
.about-final-cta-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,12,7,.92),rgba(4,12,7,.62) 58%,rgba(4,12,7,.7)); }
.about-final-cta-inner { display:grid; grid-template-columns:minmax(0,1.2fr) auto; align-items:center; gap:2rem; padding-block:clamp(4rem,8vw,7rem); }
.about-final-cta-inner h2 { max-width:58rem; margin:.55rem 0 .8rem; color:#fff; font-size:clamp(2.4rem,4.6vw,4.8rem); line-height:1.03; }
.about-final-cta-inner p { max-width:50rem; margin:0; color:rgba(255,255,255,.78); font-size:1.02rem; line-height:1.72; }
.about-final-cta-actions { display:flex; flex-direction:column; gap:.65rem; min-width:14rem; }

@media (max-width:75rem) {
  .about-purpose-grid { grid-template-columns:1fr 1fr; }
  .about-purpose-card-featured { grid-column:1/-1; min-height:20rem; }
  .about-why-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-guests-grid,.about-destination-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:62rem) {
  .about-story-grid,.about-responsible-grid,.about-planning-grid,.about-trust-grid { grid-template-columns:1fr; }
  .about-story-media,.about-responsible-media,.about-planning-media { min-height:31rem; }
  .about-planning-media img { min-height:31rem; }
  .about-section-split-heading { grid-template-columns:1fr; align-items:start; }
  .about-journey-grid { grid-template-columns:1fr; }
  .about-journey-card { min-height:24rem; }
  .about-affiliations { justify-content:flex-start; }
  .about-final-cta-inner { grid-template-columns:1fr; }
  .about-final-cta-actions { flex-direction:row; flex-wrap:wrap; min-width:0; }
}

@media (max-width:48rem) {
  .about-hero { min-height:40rem; }
  .about-hero-inner h1 { font-size:clamp(2.8rem,14vw,4.5rem); }
  .about-hero-actions .button { flex:1 1 100%; }
  .about-purpose-grid,.about-why-grid,.about-guests-grid,.about-destination-grid,.about-responsible-points { grid-template-columns:1fr; }
  .about-purpose-card-featured { grid-column:auto; }
  .about-purpose-card { min-height:0; }
  .about-story-media,.about-responsible-media,.about-planning-media { min-height:25rem; }
  .about-planning-media img { min-height:25rem; }
  .about-inline-links { display:grid; }
  .about-final-cta-actions { display:grid; }
  .about-final-cta-actions .button { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .about-journey-card img,.about-destination-card img,.about-why-grid article { transition:none; }
}

@media (max-width:61.99rem) {
  .about-journeys-bg { inset:-5% 0; transform:translate3d(0, var(--about-journeys-parallax-y, 0px), 0) scale(1.07); }
}

@media (prefers-reduced-motion: reduce) {
  .about-journeys-bg { inset:0; transform:none; will-change:auto; }
}
