:root{--ink:#0b0d0e;--paper:#eee9de;--muted:#a9a99f;--accent:#d68c32;--line:rgba(238,233,222,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif}.skip{position:fixed;left:1rem;top:-5rem;z-index:9;background:var(--paper);color:var(--ink);padding:.8rem 1rem}.skip:focus{top:1rem}.hero{position:relative;min-height:100svh;overflow:hidden}.hero__image,.hero__veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__veil{background:linear-gradient(90deg,rgba(7,8,9,.86) 0%,rgba(7,8,9,.58) 36%,rgba(7,8,9,.08) 70%),linear-gradient(0deg,rgba(7,8,9,.64),transparent 45%)}.topbar{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:2rem clamp(1.4rem,4vw,4.5rem)}.mark{display:flex;gap:4px;align-items:flex-end;height:30px}.mark span{display:block;width:3px;background:var(--paper);transform:skew(-24deg)}.mark span:nth-child(1){height:14px}.mark span:nth-child(2){height:23px}.mark span:nth-child(3){height:30px}.calendar-link{color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;border-bottom:1px solid var(--line);padding:.65rem 0}.calendar-link:hover,.calendar-link:focus-visible{border-color:var(--accent);color:#fff}.hero__content{position:absolute;z-index:2;left:clamp(1.4rem,8vw,8rem);top:50%;transform:translateY(-48%)}.eyebrow{font-size:.68rem;letter-spacing:.28em;font-weight:700;color:#d4d0c8}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(5.5rem,15vw,14rem);line-height:.65;letter-spacing:-.075em;margin:2rem 0 3rem}.hero h1 em{color:var(--accent);font-weight:400}.intro{font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.6rem);font-style:italic;margin:0}.scroll{position:absolute;z-index:2;right:clamp(1.4rem,4vw,4rem);bottom:2.5rem;display:flex;align-items:center;gap:1rem;color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.62rem}.scroll i{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;position:relative}.scroll i:after{content:'↓';position:absolute;inset:0;display:grid;place-items:center;font-style:normal}.links{padding:clamp(5rem,10vw,10rem) clamp(1.4rem,8vw,8rem);display:grid;grid-template-columns:minmax(240px,.8fr) minmax(420px,1.2fr);gap:8vw}.section-head h2{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6.5rem);line-height:.92;font-weight:400;letter-spacing:-.055em;margin:2rem 0}.link-list{border-top:1px solid var(--line)}.link-list a{display:grid;grid-template-columns:2.5rem 1fr 1fr 2rem;align-items:center;gap:1rem;min-height:7.5rem;border-bottom:1px solid var(--line);color:var(--paper);text-decoration:none;transition:padding .25s,background .25s}.link-list a:hover,.link-list a:focus-visible{padding-left:1rem;background:rgba(255,255,255,.035);outline:none}.link-list .featured strong{color:var(--accent)}.number{font-size:.65rem;color:#777}.link-list strong{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,3rem);font-weight:400}.desc{font-size:.78rem;color:var(--muted)}.arrow{font-size:1.2rem}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:2rem clamp(1.4rem,4vw,4rem);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}footer a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:760px){.calendar-link{max-width:170px;text-align:right;line-height:1.5}.hero__veil{background:linear-gradient(90deg,rgba(7,8,9,.8),rgba(7,8,9,.1)),linear-gradient(0deg,rgba(7,8,9,.78),transparent 55%)}.hero__content{left:1.4rem;top:54%}.hero h1{font-size:clamp(5rem,28vw,8rem)}.scroll span{display:none}.links{grid-template-columns:1fr;gap:3rem}.link-list a{grid-template-columns:2rem 1fr 1.5rem;min-height:6.5rem}.desc{display:none}footer{gap:1.5rem;line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep the alpine landscape visible while preserving text contrast. */
.hero__image{display:block}
.hero__veil{background:linear-gradient(90deg,rgba(7,8,9,.72) 0%,rgba(7,8,9,.38) 38%,rgba(7,8,9,.02) 72%),linear-gradient(0deg,rgba(7,8,9,.42),transparent 48%)}
@media(max-width:760px){.hero__veil{background:linear-gradient(90deg,rgba(7,8,9,.68),rgba(7,8,9,.04)),linear-gradient(0deg,rgba(7,8,9,.56),transparent 58%)}}

.hero-gallery{position:absolute;z-index:3;right:clamp(1.4rem,4vw,4rem);bottom:6.5rem;display:grid;grid-template-columns:repeat(3,72px);gap:.5rem;align-items:end}.hero-gallery a:not(.hero-gallery__label){display:block;height:52px;overflow:hidden;border:1px solid rgba(238,233,222,.42);background:#17191a;transition:transform .25s,border-color .25s}.hero-gallery a:not(.hero-gallery__label):hover,.hero-gallery a:not(.hero-gallery__label):focus-visible{transform:translateY(-4px);border-color:var(--accent)}.hero-gallery img{width:100%;height:100%;display:block;object-fit:cover}.hero-gallery__label{grid-column:1/-1;color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:.58rem;text-align:right;padding-top:.3rem}.hero-gallery__label span{color:var(--accent);margin-left:.5rem}
@media(max-width:760px){.hero-gallery{left:1.4rem;right:auto;bottom:5.3rem;grid-template-columns:repeat(3,58px)}.hero-gallery a:not(.hero-gallery__label){height:42px}.hero-gallery__label{text-align:left}.scroll{bottom:1.5rem}}

.moments{padding:clamp(5rem,10vw,10rem) clamp(1.4rem,4vw,4.5rem);background:#121516}.moments__heading{display:grid;grid-template-columns:1fr 2fr 1fr;gap:3rem;align-items:end;margin:0 auto clamp(3rem,6vw,6rem);max-width:1500px}.moments__heading h2{font-family:Georgia,serif;font-size:clamp(3.6rem,7.5vw,8rem);font-weight:400;line-height:.86;letter-spacing:-.065em;margin:0}.moments__heading h2 em{color:var(--accent);font-weight:400}.moments__heading>p:last-child{color:var(--muted);font-family:Georgia,serif;font-style:italic;line-height:1.6;max-width:18rem;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(220px,28vw,470px);gap:clamp(.65rem,1.4vw,1.4rem);max-width:1500px;margin:auto}.photo{margin:0;overflow:hidden;background:#202425}.photo--wide{grid-column:span 2}.photo--tall{grid-row:span 2}.photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}.photo:hover img{transform:scale(1.025);filter:saturate(1.08)}
@media(max-width:760px){.moments__heading{grid-template-columns:1fr;gap:1.5rem}.moments__heading>p:last-child{max-width:24rem}.photo-grid{grid-template-columns:1fr;grid-auto-rows:70vw}.photo--wide{grid-column:auto}.photo--tall{grid-row:auto}.photo:nth-child(2){grid-row:span 2}.photo:nth-child(2) img{object-position:center}}
@media(prefers-reduced-motion:reduce){.photo img{transition:none}.photo:hover img{transform:none}}
