@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--paper:#f3f1e9;--ink:#202c23;--muted:#666c61;--line:#d3d5c8;--lime:#dbe3b5;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #aa853e;outline-offset:6px}img{display:block;width:100%;height:auto}figure,h1,h2,h3,p{margin:0}em{font-family:var(--serif);font-weight:400}h1,h2,h3{font-weight:400;line-height:1.06}h2{font-family:var(--serif);font-size:clamp(48px,5.4vw,84px)}.eyebrow,.section-label,.hero-top,.footer-bottom,.moments figcaption>span{font-size:12px;font-weight:500;letter-spacing:.14em}.header{height:94px;display:flex;align-items:center;padding:0 4%;gap:48px}.wordmark{font-family:Georgia,serif;font-size:37px;font-weight:bold;letter-spacing:-3px;line-height:1}.wordmark span{font:10px Arial;letter-spacing:0;vertical-align:top;margin-left:5px}.header-note{font-size:11px;letter-spacing:.17em}.header nav{margin-left:auto;display:flex;align-items:center;gap:36px;font-size:14px}.header nav>a{padding:8px 0}.header nav .nav-button{border:1px solid var(--ink);border-radius:50px;padding:12px 20px;display:flex;gap:22px}.nav-button:hover{background:var(--ink);color:var(--paper)}.hero{position:relative;height:calc(100svh - 94px);min-height:650px;max-height:1080px;color:white;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:50% 39%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,15,.08) 0%,transparent 40%,rgba(10,22,12,.72) 100%);z-index:-1}.hero-top{display:flex;justify-content:space-between;padding:27px 4%;color:#172317}.hero-bottom{position:absolute;bottom:85px;left:4%;right:4%;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.hero h1{font-family:var(--serif);font-size:clamp(56px,6vw,94px);line-height:1.02;margin-top:20px}.hero h1 em{font-style:normal}.hero-aside{max-width:330px;padding-bottom:4px}.hero-aside p{font-size:16px;line-height:1.8}.light-link{display:flex;justify-content:space-between;gap:35px;border-bottom:1px solid #ffffff80;padding:24px 0 12px;margin-top:4px;font-size:14px}.light-link:hover{border-color:white}.scroll-cue{position:absolute;bottom:20px;left:4%;font-size:23px}.section{padding:90px 6%}.section-label{display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:75px 0}.intro-grid>.eyebrow{padding-top:16px;line-height:1.8}.intro-copy{font-size:24px;line-height:1.65;margin-top:32px;max-width:730px}.muted{color:var(--muted);margin-top:22px;max-width:630px;line-height:1.8}.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:42px;gap:45px}.pillars article{position:relative}.number{font-family:var(--serif);font-size:21px;color:var(--muted)}.pillars h3{font-family:var(--serif);font-size:51px;margin:18px 0 22px}.pillars h3 span{font:14px Arial;vertical-align:top;margin-left:4px}.pillars p{color:var(--muted);max-width:320px}.destination{background:var(--ink);color:var(--paper);padding:86px 6%}.destination-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.destination h2{font-size:clamp(64px,7.5vw,115px);margin-top:30px}.destination h2 em{display:block;color:var(--lime);font-size:.64em;margin-top:8px}.year{font-family:var(--serif);font-size:100px;line-height:1;text-align:right}.year span{display:block;font:11px 'DM Sans',sans-serif;letter-spacing:.14em;margin-top:20px}.coast{position:relative}.coast img{aspect-ratio:1.95;object-fit:cover;object-position:center 44%}.coast figcaption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;padding:15px 0;border-bottom:1px solid #ffffff30}.destination-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:60px}.destination-copy h3{font-family:var(--serif);font-size:clamp(44px,4.7vw,70px)}.destination-copy h3 em{color:var(--lime)}.destination-copy .muted{color:#b8c0b1}.trip-note{margin-top:35px;border-top:1px solid #ffffff30;padding-top:24px}.trip-note span{font-size:11px;letter-spacing:.12em;color:var(--lime)}.trip-note p{font-size:14px;margin-top:7px;color:#cbd0c5}.moments-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:55px 0 45px}.moments-heading p{color:var(--muted)}.moments-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.moments-grid figure:nth-child(2){padding-top:65px}.moment-img{overflow:hidden}.moment-img img{aspect-ratio:1.15;object-fit:cover;transition:transform .7s}.moment-img:hover img{transform:scale(1.035)}.moments figcaption{padding:22px 0}.moments figcaption>span{color:var(--muted);font-size:11px}.moments h3{font-family:var(--serif);font-size:31px;margin-top:12px}.manifesto{background:#e3e6d7;text-align:center;padding-top:96px;padding-bottom:60px}.manifesto h2{margin:36px 0 28px;font-size:clamp(45px,5.8vw,88px)}.manifesto-lead{line-height:1.8;color:#58624f}.manifesto details{max-width:730px;margin:40px auto}.manifesto summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;text-align:left;border-bottom:1px solid #a8b19c;padding:15px 0;font-size:14px}.manifesto summary::-webkit-details-marker{display:none}.manifesto summary span{font-size:26px;transition:transform .25s}.manifesto details[open] summary span{transform:rotate(45deg)}.manifesto-text{text-align:left;padding:30px 0;font-size:18px;line-height:1.85;max-width:640px;margin:auto}.manifesto-text p+p{margin-top:24px}.brand-pillars{letter-spacing:.2em;font-size:14px;margin-top:72px;display:flex;gap:24px;justify-content:center}.brand-pillars span{color:#8b977d}footer{padding:46px 6% 28px;background:#141e17;color:#e5e8d5}.footer-logo{font-family:var(--serif);display:block;font-size:clamp(130px,24vw,390px);line-height:1;text-align:center;letter-spacing:-.045em}.footer-bottom{border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:22px;padding-top:25px;margin-top:35px;font-size:10px}.footer-bottom a{font-size:13px;letter-spacing:0}.skip{position:fixed;top:-80px;left:15px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}@media(min-width:1700px){.hero-photo{object-position:center 48%}}@media(max-width:900px){.header-note{display:none}.header{height:80px}.header nav{gap:22px}.hero{height:calc(90svh - 80px);min-height:630px}.hero-photo{object-position:center}.hero-bottom{bottom:70px}.hero h1{font-size:66px}.hero-aside{max-width:260px}.intro-grid{grid-template-columns:1fr;gap:25px;padding:45px 0}.intro-grid>.eyebrow br{display:none}.section{padding:65px 5%}.pillars{gap:25px}.pillars h3{font-size:42px}.destination{padding:65px 5%}.year{font-size:75px}.year span{max-width:130px;font-size:10px;line-height:1.6}.destination-copy{gap:8%}.moments-grid{gap:16px}.moments h3{font-size:26px}.footer-bottom{flex-wrap:wrap}}@media(max-width:600px){.header{padding:0 5%;height:76px;gap:14px}.wordmark{font-size:30px}.header nav{gap:16px;font-size:12px}.header nav>a:first-child{display:none}.header nav .nav-button{padding:9px 12px;gap:10px}.hero{height:790px;min-height:0;max-height:calc(100svh - 76px);min-height:620px;background:#33442e}.hero-photo{object-fit:cover;object-position:50% 50%;height:60%;top:0}.hero:after{background:linear-gradient(180deg,transparent 25%,rgba(32,45,28,.03) 35%,#33442e 61%)}.hero-top{font-size:9px;padding:22px 5%;letter-spacing:.1em}.hero-bottom{display:block;left:6%;right:6%;bottom:49px}.hero h1{font-size:56px;margin-top:14px}.hero-bottom .eyebrow{font-size:10px}.hero-aside{margin-top:22px;max-width:none}.hero-aside p{font-size:14px}.light-link{padding-top:15px;max-width:300px}.scroll-cue{display:none}.section-label{font-size:10px;gap:22px}.section-label span:last-child{text-align:right;max-width:130px}.section{padding:50px 6%}.intro-grid{padding:35px 0}.intro-grid h2{font-size:48px}.intro-copy{font-size:20px;margin-top:22px}.pillars{grid-template-columns:1fr;gap:28px;padding-top:28px}.pillars article{padding-left:42px}.number{position:absolute;left:0;top:5px}.pillars h3{font-size:42px;margin:0 0 12px}.pillars p{max-width:none}.destination{padding:50px 6%}.destination h2{font-size:61px}.destination-heading{align-items:flex-start;gap:15px}.destination-heading .eyebrow{font-size:10px}.year{font-size:42px;margin-top:47px}.year span{font-size:8px;max-width:95px}.coast img{aspect-ratio:1.2;object-position:center}.coast figcaption{font-size:8px;gap:15px}.destination-copy{grid-template-columns:1fr;gap:30px;padding-top:38px}.destination-copy h3{font-size:48px}.moments-heading{display:block;padding:35px 0}.moments-heading h2{font-size:48px}.moments-heading p{margin-top:24px}.moments-grid{grid-template-columns:1fr;gap:28px}.moments-grid figure:nth-child(2){padding-top:0}.moment-img img{aspect-ratio:1.5}.moments figcaption{padding:15px 0}.moments h3{font-size:31px}.manifesto h2{font-size:44px}.manifesto-lead{font-size:15px}.brand-pillars{gap:12px;font-size:11px;letter-spacing:.16em;margin-top:45px}.manifesto-text{font-size:16px}.footer-bottom{display:grid;font-size:9px;gap:14px;margin-top:22px}.footer-logo{font-size:29vw}footer{padding-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Gentle layers; the coastal photograph keeps its original proportions. */
html { scroll-behavior: auto; }
.header { position: relative; z-index: 2; box-shadow: 0 5px 24px #101d1010; }
.hero-photo { object-position: 50% 46%; }
.hero-bottom { text-shadow: 0 2px 24px #06120b55; }
.intro { position: relative; z-index: 1; box-shadow: 0 -18px 50px #0a1c1420; }
.destination { background: radial-gradient(ellipse at 90% 5%, #344434 0, transparent 55%), var(--ink); }
.coast { margin: 0 auto; max-width: 1200px; }
.coast img { aspect-ratio: 3 / 2; width: 100%; height: auto; object-fit: contain; box-shadow: 0 24px 65px #07130c55; }
.coast figcaption { position: relative; margin-top: 12px; }
.moment-img { box-shadow: 0 14px 28px -16px #13231866; }
.manifesto { background: radial-gradient(ellipse at 50% 15%, #edf0e4, #e3e6d7 75%); }
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .hero-photo { transform: translate3d(0, var(--depth, 0px), 0) scale(1.075); }
}
@media (max-width: 600px) {
  .hero-photo { object-position: 58% 50%; }
  .coast img { aspect-ratio: 3 / 2; height: auto; }
}

/* Photographic chapters extend across the entire viewport. */
.destination { padding-left: 0; padding-right: 0; }
.destination-heading, .destination-copy { margin-left: 6%; margin-right: 6%; }
.coast { max-width: none; width: 100%; }
.coast img { box-shadow: none; }
.coast figcaption { margin: 0 6%; padding: 20px 0; }
.moments.section { padding-left: 0; padding-right: 0; padding-bottom: 0; }
.moments > .section-label, .moments-heading { margin-left: 6%; margin-right: 6%; }
.moments-heading { padding-bottom: 65px; }
.moments-grid { display: block; }
.moments-grid figure, .moments-grid figure:nth-child(2) {
  position: relative; height: 100svh; min-height: 580px; padding: 0;
  overflow: hidden; isolation: isolate; background: var(--ink);
}
.moments-grid .moment-img { position: absolute; inset: 0; box-shadow: none; }
.moments-grid .moment-img img {
  width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover;
  object-position: center; transform: none;
}
.moments-grid figure::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, transparent 45%, #0a170c25 65%, #0a170ca6 100%);
}
.moments-grid figcaption {
  position: absolute; z-index: 1; left: 6%; right: 6%; bottom: 9%;
  padding: 0; color: var(--paper); text-shadow: 0 3px 30px #07130c55;
}
.moments-grid figcaption > span { color: #f3f1e9; font-size: 12px; letter-spacing: .18em; }
.moments-grid h3 { font-size: clamp(48px, 6.8vw, 104px); margin-top: 22px; max-width: 1100px; }
@media (max-width: 600px) {
  .moments-heading { padding-bottom: 40px; }
  .moments-grid figure, .moments-grid figure:nth-child(2) { min-height: 520px; }
  .moments-grid .moment-img img { object-position: 50% 50%; }
  .moments-grid h3 { font-size: clamp(42px, 12vw, 64px); }
  .moments-grid figcaption { bottom: 10%; }
}


/* A quiet cinematic rhythm, tied to the visitor's own pace. */
.reading-progress { position: fixed; z-index: 20; inset: 0 0 auto; height: 2px; background: #dbe3b5; transform: scaleX(0); transform-origin: left; pointer-events: none; mix-blend-mode: difference; }
.moments-grid .moment-img::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 40%, #0a170c18 63%, #0a170c9e 100%); }
.moments-grid figure::after { display: none; }
.moments-grid .moment-img img { transition: none; }
.section-label { position: relative; }
@media (min-width: 701px) and (prefers-reduced-motion: no-preference) {
  .moments-grid figure, .moments-grid figure:nth-child(2) { height: 122svh; overflow: clip; }
  .moments-grid .moment-stage { position: sticky; top: 0; height: 100svh; min-height: 580px; }
  .moments-grid figcaption { bottom: 9%; }
  .hero-photo { transform: translate3d(0, var(--drift, 0px), 0) scale(1.075); }
  .moments-grid .moment-img img { transform: translate3d(0, var(--drift, 0px), 0) scale(1.08); }
}

/* Keep the closing photograph and its caption on one bounded stage. */
.moment-stage { position: relative; height: 100%; overflow: hidden; isolation: isolate; }
.moments-grid .moment-img { position: absolute; inset: 0; height: 100%; }
.moments-grid figcaption { transform: none; }
.manifesto { position: relative; isolation: isolate; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
  .moments-grid figcaption {
    transform: translate3d(0, var(--chapter-lift, 0px), 0);
    opacity: var(--chapter-opacity, 1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .reading-progress { display: none; }
  .hero-photo, .moments-grid .moment-img img { transform: none; }
}

/* Iztaccihuatl — an immersive mountain chapter immediately after the hero. */
.mountain-journey { position: relative; isolation: isolate; overflow: hidden; height: 100svh; min-height: 640px; background: #16232d; color: var(--paper); }
.mountain-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.mountain-journey::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, #0a16272b, transparent 25%, transparent 48%, #071320bc); }
.mountain-meta { display: flex; justify-content: space-between; gap: 24px; padding: 35px 6%; font-size: 12px; letter-spacing: .16em; }
.mountain-caption { position: absolute; bottom: 9%; left: 6%; right: 6%; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; text-shadow: 0 2px 25px #06122250; }
.mountain-caption h2 { font-size: clamp(52px, 7.7vw, 118px); margin-top: 20px; }
.mountain-caption h2 span { display: block; font-size: .55em; margin-top: 12px; color: #d7dfe2; }
.mountain-caption > p { line-height: 1.8; padding-bottom: 8px; }
@media (min-width: 701px) and (prefers-reduced-motion: no-preference) {
  .mountain-photo { transform: translate3d(0, var(--drift, 0px), 0) scale(1.08); }
}
@media (max-width: 700px) {
  .mountain-journey { min-height: 580px; }
  .mountain-photo { object-position: 51% center; }
  .mountain-caption { display: block; }
  .mountain-caption > p { margin-top: 26px; font-size: 14px; }
  .mountain-caption h2 { font-size: clamp(42px, 10.5vw, 70px); }
  .mountain-meta { font-size: 10px; padding-top: 26px; }
}

/* Separate the photographic plane from the editorial foreground. */
.intro { background: var(--paper); box-shadow: 0 -24px 65px -18px #081a1645; }
.mountain-journey { box-shadow: 0 -18px 48px -24px #07132066; }
.hero-bottom, .mountain-caption, .moments-grid figcaption {
  text-shadow: 0 3px 30px #06120b70;
}
@media (prefers-reduced-motion: no-preference) {
  .hero-photo, .mountain-photo, .moments-grid .moment-img img {
    transform: translate3d(0, var(--drift, 0px), 0) scale(1.16);
  }
  .hero-bottom, .mountain-caption {
    transform: translate3d(0, var(--foreground-drift, 0px), 0);
  }
}
@media (max-width: 700px) and (prefers-reduced-motion: no-preference) {
  .hero-photo, .mountain-photo, .moments-grid .moment-img img {
    transform: translate3d(0, var(--drift, 0px), 0) scale(1.08);
  }
}
