:root{--pine:#173c32;--deep:#102b24;--paper:#f7f6f1;--white:#fff;--stone:#eae7dd;--muted:#5d6860;--gold:#9b8052;--line:#d9ded6;--serif:'Cormorant Garamond','Alpine Serif',Georgia,'Times New Roman',serif;--sans:Manrope,'Helvetica Neue',Arial,sans-serif;--gutter:clamp(1.25rem,5vw,6rem);--wide:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;background:var(--paper);color:var(--pine);font-family:var(--sans);font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.7rem,4.3vw,4.65rem)}h3{font-size:2rem}em{font-weight:400}p+p{margin-top:1.1rem}::selection{background:#c5d0be;color:var(--deep)}.wrap{width:min(100% - var(--gutter)*2,var(--wide));margin-inline:auto}.section{padding-block:clamp(4.5rem,8vw,8rem)}.eyebrow{font-size:.75rem;line-height:1.65;letter-spacing:.19em;text-transform:uppercase;font-weight:600}.muted{color:var(--muted)}.skip-link{position:fixed;left:1rem;top:-100px;background:var(--white);padding:.8rem 1.2rem;z-index:200}.skip-link:focus{top:1rem}.icon{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;flex-shrink:0}.link-line{display:inline-flex;align-items:center;gap:1.5rem;padding:.5rem 0;border-bottom:1px solid currentColor;font-size:.875rem;font-weight:500}.link-line .icon{transition:transform .2s}.link-line:hover .icon{transform:translateX(4px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:.8rem;min-height:3.35rem;padding:.9rem 1.6rem;background:var(--pine);border:1px solid var(--pine);color:white;font-size:.875rem;font-weight:500;line-height:1.5;transition:background .2s,color .2s,border-color .2s}.button:hover{background:var(--deep);border-color:var(--deep)}.button--light{background:var(--paper);color:var(--pine);border-color:var(--paper)}.button--light:hover{background:white;border-color:white}.button--outline{background:transparent;color:var(--pine)}.button--outline:hover{background:var(--pine);color:white}.button--ghost{border-color:#b9c3b9;background:transparent;color:var(--paper)}.button--ghost:hover{background:var(--paper);border-color:var(--paper);color:var(--pine)}
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid rgba(23,60,50,.1)}.header-inner{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:1.75rem}.brand{display:block;flex-shrink:0}.logo-crop{display:block;position:relative;width:204px;height:85px;overflow:hidden}.logo-crop img{position:absolute;width:240px;max-width:none;height:160px;left:-18px;top:-35px;mix-blend-mode:multiply}.main-nav{display:flex;align-items:center;gap:clamp(1.5rem,2.6vw,3rem)}.main-nav>a:not(.button){font-size:.875rem;position:relative;padding:.55rem 0}.main-nav>a:not(.button)::after{content:'';position:absolute;bottom:0;left:0;right:100%;height:1px;background:var(--pine);transition:right .2s}.main-nav>a:hover::after,.main-nav>a[aria-current=page]::after{right:0}.menu-toggle{display:none;border:0;background:none;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.875rem}.menu-lines{display:flex;width:23px;height:17px;flex-direction:column;justify-content:space-between}.menu-lines span{height:1px;background:currentColor;width:100%;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines span:first-child{transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines span:last-child{transform:translateY(-8px) rotate(-45deg)}
.hero{position:relative;isolation:isolate;min-height:660px;min-height:clamp(620px,calc(100svh - 108px),920px);display:flex;align-items:flex-end;color:white;background:var(--deep)}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;z-index:-2}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,27,24,.64) 0%,rgba(9,27,24,.35) 32%,rgba(9,27,24,.04) 65%),linear-gradient(0deg,rgba(8,23,21,.60),transparent 65%)}.hero-content{padding-top:6rem;padding-bottom:3rem}.hero .eyebrow{margin-bottom:1.6rem;color:#f0f2eb}.hero h1{font-size:clamp(3.7rem,6.5vw,7.2rem);line-height:.98;max-width:760px;letter-spacing:-.04em;text-shadow:0 2px 25px #00000012}.hero h1 em{display:block}.hero-copy{max-width:430px;margin-top:1.65rem;font-size:1rem;line-height:1.8;color:#f4f5f1}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.hero-actions .link-line{border-bottom-color:#b7c4b6}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:4.25rem;padding-top:1.25rem;border-top:1px solid #ffffff40}.hero-bottom .eyebrow{margin:0;font-size:.75rem;letter-spacing:.14em}.hero-scroll{display:flex;align-items:center;gap:.7rem;font-size:.8125rem}.hero-scroll .icon{height:1rem;width:1rem}.resort-strip{border-bottom:1px solid var(--line)}.resort-strip .wrap{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding-block:1.4rem}.resort-strip .resort-names{display:flex;gap:clamp(1.5rem,4vw,5rem);font-family:var(--serif);font-size:1.45rem}.resort-strip .eyebrow{color:var(--muted)}
.intro{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}.intro-copy{padding-block:1rem}.intro h2{margin:1.2rem 0 1.65rem}.intro p:not(.eyebrow){max-width:485px;color:var(--muted)}.intro .link-line{margin-top:1.4rem}.intro-visual{position:relative;padding:0 0 2.1rem 0}.intro-visual img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 68%}.photo-note{position:absolute;bottom:0;left:-1.75rem;background:var(--paper);padding:1.4rem 1.9rem 0 0;font-family:var(--serif);font-style:italic;font-size:1.65rem;line-height:1.15;max-width:280px}.selected{padding-top:1.5rem}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-heading h2{margin-top:.7rem}.selected-grid{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:1.5rem;align-items:start}.selected-grid figure:nth-child(2){margin-top:4.5rem}.selected-grid figure:nth-child(3){margin-top:1.8rem}.photo-link{display:block;position:relative;overflow:hidden;background:var(--stone)}.photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.3,1)}.photo-link:hover img{transform:scale(1.025)}.selected-grid .photo-link{aspect-ratio:3/4}.selected-grid figure:nth-child(2) .photo-link{aspect-ratio:1.16}.selected-grid figure:nth-child(3) .photo-link img{object-position:44% center}.photo-expand{position:absolute;right:.8rem;bottom:.8rem;width:2.6rem;height:2.6rem;background:#f7f6f1ed;color:var(--pine);display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo-link:hover .photo-expand,.photo-link:focus-visible .photo-expand{opacity:1}.photo-caption{display:flex;justify-content:space-between;gap:1rem;margin-top:.75rem;color:var(--muted);font-size:.8125rem;line-height:1.6}.photo-caption .number{font-size:.75rem;color:var(--gold);letter-spacing:.05em}.selected-foot{display:flex;justify-content:center;margin-top:2.8rem}
.experience{background:var(--pine);color:var(--paper)}.experience-top{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:end;margin-bottom:3.25rem}.experience-top h2{margin-top:1rem}.experience-top>p{color:#d5dfd5;max-width:435px}.session-grid{display:grid;grid-template-columns:repeat(3,1fr)}.session{padding:2rem 2.6rem 0;border-left:1px solid #ffffff35;display:flex;flex-direction:column}.session:first-child{padding-left:0;border-left:0}.session:last-child{padding-right:0}.session-number{font-family:var(--serif);font-size:4.6rem;line-height:1;margin-bottom:1.25rem;color:#d8dfd1;font-weight:400}.session-number small{font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;margin-left:.6rem;text-transform:uppercase}.session h3{font-size:2.2rem}.session>p{margin:1.1rem 0 1.7rem;color:#d5dfd5;max-width:325px}.session>.link-line{align-self:flex-start;margin-top:auto;border-bottom-color:#9dad9f}.session-includes{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.1rem 2rem;border-top:1px solid #ffffff35;padding-top:1.6rem;margin-top:3rem;color:#dbe2d7;font-size:.875rem}.session-includes span{display:flex;align-items:center;gap:.65rem}.session-includes .icon{width:1rem;height:1rem}
.approach{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.approach-title{position:sticky;top:9rem}.approach-title h2{margin-top:1rem}.approach-title>p:not(.eyebrow){margin-top:1.5rem;color:var(--muted);max-width:400px}.approach-list{list-style:none;margin:0;padding:0}.approach-list li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;border-top:1px solid var(--line);padding:2rem 0}.approach-list li:first-child{padding-top:0;border-top:0}.approach-list li:last-child{padding-bottom:0}.approach-list .step{font-size:.8125rem;color:var(--gold);padding-top:.45rem}.approach-list h3{font-size:1.95rem;margin-bottom:.85rem}.approach-list p{color:var(--muted)}
.mountain-break{position:relative;min-height:440px;display:grid;place-items:center;text-align:center;color:white;isolation:isolate;background:var(--deep)}.mountain-break img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 48%}.mountain-break::after{content:'';position:absolute;inset:0;z-index:-1;background:#122d2655}.mountain-break .wrap{padding-block:6rem}.mountain-break h2{font-size:clamp(3.5rem,5.8vw,6.1rem);max-width:800px;margin:auto;text-shadow:0 2px 30px #0004}.mountain-break .eyebrow{margin-top:1.75rem}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-brand{background:var(--stone);min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem}.about-brand .logo-crop{width:306px;height:135px}.about-brand .logo-crop img{width:360px;height:240px;top:-50px;left:-27px}.about-brand .eyebrow{margin-top:1.3rem;color:var(--muted);text-align:center}.about-copy h2{margin:1rem 0 1.5rem}.about-copy p:not(.eyebrow){color:var(--muted)}.signature{font-family:var(--serif);font-size:2.25rem;font-style:italic;margin-top:1.65rem;display:block}
.faq{background:#efeee7}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,8vw,8rem)}.faq h2{margin-top:1rem}.questions{border-top:1px solid #cdd3c8}details{border-bottom:1px solid #cdd3c8}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;font-size:1rem;font-weight:500;line-height:1.5}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-weight:400;font-size:1.5rem;flex-shrink:0;line-height:1}details[open] summary::after{content:'−'}details>p{color:var(--muted);padding:0 2.5rem 1.4rem 0;font-size:.9375rem}
.contact{text-align:center;padding-block:6.5rem}.contact h2{font-size:clamp(3.3rem,5.7vw,6rem);margin:1rem auto 1.6rem;max-width:800px}.contact>p:not(.eyebrow){color:var(--muted);max-width:495px;margin-inline:auto}.contact .button{margin-top:2rem}.contact-number{display:block;color:var(--muted);font-size:.875rem;margin-top:1rem}.site-footer{background:var(--deep);color:var(--paper);padding:3rem 0 1.6rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:3rem}.footer-top .logo-crop img{filter:grayscale(1) invert(1);mix-blend-mode:screen}.footer-nav{display:flex;gap:2rem;font-size:.875rem}.footer-nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ffffff26;font-size:.75rem;color:#b8c6bb}.footer-bottom p{max-width:560px}.footer-bottom p+p{margin:0}.whatsapp-float{position:fixed;z-index:40;right:1.5rem;bottom:1.5rem;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;gap:.6rem;min-width:3.4rem;min-height:3.4rem;padding:.85rem 1.1rem;border-radius:2rem;border:1px solid #9aa99955;box-shadow:0 4px 18px #102b2426;font-size:.8125rem}.whatsapp-float:hover{background:var(--deep)}
.portfolio-intro{padding-block:4.5rem 2.5rem}.portfolio-intro .heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:1rem}.portfolio-intro h1{font-size:clamp(4rem,7vw,7rem);line-height:1}.portfolio-intro .heading-row>p{max-width:365px;color:var(--muted);padding-bottom:.4rem}.portfolio-gallery{padding-bottom:4rem}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}.gallery-grid figure{min-width:0}.gallery-grid figure.wide{grid-column:1/-1}.gallery-grid .photo-link{aspect-ratio:1.5}.gallery-grid figure.wide .photo-link{aspect-ratio:2.15}.gallery-grid figure.portrait .photo-link{aspect-ratio:.83}.gallery-grid figure.portrait-native .photo-link{aspect-ratio:2/3}.gallery-grid figure .photo-caption{margin-top:.65rem}.gallery-intro-note{max-width:470px;color:var(--muted);font-size:.875rem;padding-bottom:.8rem}.portfolio-contact{border-top:1px solid var(--line)}
.lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;border:0;margin:0;background:#091710fa;color:var(--paper);overflow:hidden}.lightbox::backdrop{background:#091710}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem}.lightbox-top p{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.lightbox-close,.lightbox-arrow{border:1px solid #ffffff40;background:transparent;color:white;display:grid;place-items:center;width:3rem;height:3rem;flex-shrink:0}.lightbox-close:hover,.lightbox-arrow:hover{background:#ffffff1a}.lightbox-body{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 5.5rem}.lightbox-body img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}.lightbox-bottom{padding:1.25rem 1.5rem;display:flex;justify-content:space-between;gap:2rem;font-size:.875rem}.lightbox-count{color:#bcc9bd;white-space:nowrap}.lightbox-error{position:absolute;max-width:380px;text-align:center;padding:1rem;font-size:1rem}.lightbox-error a{text-decoration:underline}.lightbox-error[hidden]{display:none}
@media(min-width:1700px){.hero img{object-position:center 46%}.hero-content{padding-bottom:3.5rem}.hero-copy{max-width:460px}}
@media(max-width:1050px){.header-inner{min-height:96px}.logo-crop{width:174px;height:73px}.logo-crop img{width:204px;height:136px;top:-30px;left:-15px}.main-nav{gap:1.5rem}.main-nav .button{padding-inline:1.1rem}.hero{min-height:650px}.intro{gap:3.5rem}.experience-top{gap:3rem}.session{padding-inline:1.7rem}.selected-grid{gap:1rem}.about{gap:3.5rem}.about-brand{min-height:310px}.about-brand .logo-crop{width:260px;height:112px}.about-brand .logo-crop img{width:306px;height:204px;top:-45px;left:-22px}.footer-bottom{padding-right:4rem}}
@media(max-width:800px){html{scroll-padding-top:7rem}.header-inner{min-height:90px}.menu-toggle{display:flex}.main-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:1rem var(--gutter) 2rem;gap:.6rem;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #102b2410;display:none}.main-nav.is-open{display:flex}.main-nav>a:not(.button){font-family:var(--serif);font-size:1.9rem;padding:.45rem 0;align-self:flex-start}.main-nav .button{align-self:flex-start;margin-top:.5rem}.hero{min-height:700px}.hero img{object-position:57% center}.hero::before{background:linear-gradient(0deg,rgba(9,27,24,.80),rgba(9,27,24,.23) 72%,rgba(9,27,24,.04))}.hero-content{padding-top:13rem;padding-bottom:2rem}.hero h1{font-size:clamp(3.6rem,8.8vw,5.6rem);max-width:650px}.hero-copy{max-width:410px}.hero-bottom{margin-top:2.5rem}.hero-bottom .eyebrow{font-size:.75rem;letter-spacing:.1em}.resort-strip .wrap{flex-direction:column;gap:.4rem;padding-block:1.2rem}.resort-strip .resort-names{gap:2.5rem}.intro{grid-template-columns:1fr;gap:2.5rem}.intro-copy{max-width:620px}.intro p:not(.eyebrow){max-width:570px}.intro-visual{max-width:500px;width:100%;justify-self:center}.intro-visual img{aspect-ratio:4/5}.photo-note{left:-.3rem}.section-heading h2{font-size:3rem}.selected-grid{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}.selected-grid figure:nth-child(2){margin-top:3rem}.selected-grid figure:nth-child(2) .photo-link{aspect-ratio:3/4}.selected-grid figure:nth-child(3){grid-column:1/-1;margin-top:0;width:75%;justify-self:center}.selected-grid figure:nth-child(3) .photo-link{aspect-ratio:1.5}.experience-top{grid-template-columns:1fr;gap:1.5rem}.experience-top>p{max-width:550px}.session{padding:1.5rem 1.2rem 0}.session-number{font-size:3.6rem}.session h3{font-size:1.8rem}.session>p{font-size:.9375rem}.session .link-line{font-size:.8125rem;gap:.7rem}.session-includes{justify-content:flex-start}.approach{grid-template-columns:1fr;gap:3rem}.approach-title{position:static}.approach-title>p:not(.eyebrow){max-width:520px}.approach-list{max-width:620px}.mountain-break{min-height:380px}.about{grid-template-columns:1fr;gap:2.5rem}.about-brand{display:none}.about-copy{max-width:650px}.faq-layout{grid-template-columns:1fr;gap:2.5rem}.footer-top{align-items:flex-start}.footer-nav{flex-wrap:wrap;gap:1rem 1.6rem;max-width:220px}.portfolio-intro .heading-row{display:block}.portfolio-intro .heading-row>p{margin-top:1.5rem;max-width:480px}.lightbox-body{padding:0 4rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}
@media(max-width:540px){.header-inner{min-height:85px}.logo-crop{width:158px;height:67px}.logo-crop img{width:185px;height:123.4px;left:-13px;top:-27px}.hero{min-height:calc(100svh - 85px);min-height:max(670px,calc(100svh - 85px))}.hero-content{padding-top:19rem;padding-bottom:1.5rem}.hero img{object-position:48% center}.hero h1{font-size:clamp(3rem,11.5vw,4rem);line-height:1.02}.hero .eyebrow{font-size:.75rem;letter-spacing:.15em;margin-bottom:1rem;max-width:280px}.hero-copy{font-size:.9375rem;line-height:1.75;margin-top:1.25rem;max-width:320px}.hero-actions{gap:1.25rem;margin-top:1.5rem}.hero-actions .button{padding-inline:1.1rem}.hero-actions .link-line{font-size:.8125rem;gap:.8rem}.hero-bottom{margin-top:2rem;gap:1rem}.hero-bottom .eyebrow{font-size:.75rem;max-width:210px;margin:0;line-height:1.7}.hero-scroll{font-size:.75rem;white-space:nowrap}.resort-strip .resort-names{gap:1.5rem;font-size:1.2rem}.resort-strip .eyebrow{font-size:.75rem}.intro h2{font-size:2.85rem}.intro-visual img{aspect-ratio:4/5;object-position:50% 68%}.photo-note{font-size:1.45rem;max-width:230px}.section-heading{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:2rem}.section-heading h2{font-size:2.85rem}.selected-grid{gap:1.5rem 1rem}.selected-grid .photo-caption{font-size:.75rem;display:block}.selected-grid .photo-caption .number{display:none}.selected-grid figure:nth-child(2){margin-top:2rem}.selected-grid figure:nth-child(3){width:100%}.photo-expand{width:2.25rem;height:2.25rem;right:.6rem;bottom:.6rem}.session-grid{grid-template-columns:1fr}.session{padding:2rem 0;border-left:0;border-top:1px solid #ffffff35;display:grid;grid-template-columns:4.5rem 1fr;gap:0 1rem}.session:first-child{border-top:0;padding-top:0}.session:last-child{padding-bottom:0}.session-number{grid-row:1/4;margin:0;font-size:3.35rem}.session-number small{font-size:.75rem;display:block;margin:.5rem 0 0 .2rem}.session h3{font-size:2rem}.session>p{margin:.7rem 0 1rem;max-width:none}.session .link-line{font-size:.875rem;grid-column:2;justify-self:start}.session-includes{flex-direction:column;font-size:.8125rem;gap:.9rem;margin-top:2rem}.approach-list li{grid-template-columns:1.6rem 1fr;gap:.5rem}.approach-list h3{font-size:1.8rem}.mountain-break{min-height:360px}.mountain-break img{object-position:50% center}.mountain-break h2{font-size:3.2rem}.mountain-break .eyebrow{font-size:.75rem}.contact{padding-block:4.5rem}.contact h2{font-size:3.4rem}.footer-top{flex-direction:column;gap:1.5rem}.footer-nav{max-width:none;gap:1rem 1.5rem}.footer-bottom{flex-direction:column;gap:1rem;font-size:.75rem;padding-right:2.5rem}.whatsapp-float{right:1rem;bottom:1rem;padding:.8rem;border-radius:50%}.whatsapp-float span{display:none}.portfolio-intro{padding-top:3rem}.portfolio-intro h1{font-size:3.9rem}.gallery-grid{gap:1.3rem .85rem}.gallery-grid .photo-link{aspect-ratio:1}.gallery-grid figure.wide .photo-link{aspect-ratio:1.5}.gallery-grid figure.portrait .photo-link{aspect-ratio:2/3}.gallery-grid figure.portrait-native .photo-link{aspect-ratio:2/3}.gallery-grid .photo-caption{font-size:.75rem;gap:.3rem}.gallery-grid .photo-caption .number{display:none}.portfolio-gallery{padding-bottom:2.5rem}.lightbox-top{padding:.75rem}.lightbox-top p{font-size:.75rem}.lightbox-body{padding:0}.lightbox-arrow{top:auto;bottom:-4.1rem;transform:none;z-index:1;width:2.5rem;height:2.5rem}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}.lightbox-bottom{min-height:5.5rem;padding:1rem 4rem;flex-direction:column;gap:.1rem;text-align:center;justify-content:center;font-size:.8125rem}.lightbox-count{font-size:.75rem}.lightbox-error{max-width:260px}.photo-expand{opacity:1;background:#f7f6f1db}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}

.memory-note{max-width:485px;border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1.3rem}.intro p.memory-line{font-family:var(--serif);font-size:1.9rem;line-height:1.18;color:var(--pine);letter-spacing:-.02em}.intro p.memory-detail{font-size:.875rem;line-height:1.65;margin-top:.7rem;max-width:390px}.intro .memory-note+.link-line{margin-top:1.3rem}
@media(max-width:540px){.intro p.memory-line{font-size:1.7rem}.memory-note{margin-top:1.3rem}}

/* Holiday films are a dedicated service; the supporting photograph has no video controls. */
.holiday-films{border-bottom:1px solid var(--line)}
.film-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.film-copy,.film-details{min-width:0}
.film-copy h2{margin:1rem 0 1.5rem}
.film-copy>p:not(.eyebrow){color:var(--muted);max-width:500px}
.film-copy p.film-lead{font-family:var(--serif);font-size:1.8rem;line-height:1.25;color:var(--pine);letter-spacing:-.015em}
.film-copy .button{margin-top:1.75rem;max-width:100%}
.film-copy p.film-note{font-size:.875rem;line-height:1.65;margin-top:1rem;max-width:430px}
.film-photo img{width:100%;height:auto}
.film-photo figcaption{font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.3;margin-top:.8rem}
.film-facts{margin:1.6rem 0 0}
.film-facts>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:1rem;border-top:1px solid var(--line);padding:1rem 0;font-size:.875rem;line-height:1.65}
.film-facts>div:last-child{padding-bottom:0}
.film-facts dt{font-weight:600}
.film-facts dd{margin:0;color:var(--muted)}
@media(max-width:1050px){.main-nav{gap:1.1rem}}
@media(max-width:800px){.film-layout{grid-template-columns:1fr;gap:2.5rem}.film-copy>p:not(.eyebrow){max-width:620px}.film-details{max-width:620px;width:100%}}
@media(max-width:540px){.film-copy h2{font-size:2.85rem}.film-copy p.film-lead{font-size:1.65rem}.film-facts>div{grid-template-columns:1fr;gap:.35rem}}

/* Responsive image sources preserve the original compositions. */
.hero>picture,.mountain-break>picture{position:absolute;inset:0;z-index:-2;display:block}.hero>picture img,.mountain-break>picture img{z-index:auto}
.footer-resorts{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-block:1.5rem;border-top:1px solid #ffffff30;margin-top:1.5rem;font-size:.875rem}.footer-resorts a:hover,.resort-names a:hover{text-decoration:underline;text-underline-offset:.25rem}
.destinations h2{margin-top:1rem}.destination-intro{max-width:620px;margin-top:1.5rem;color:var(--muted)}.destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem;margin-top:3rem}.destination-grid article{border-top:1px solid var(--line);padding-top:1.5rem}.destination-grid h3{font-size:2rem}.destination-grid p{color:var(--muted);margin-top:1rem;max-width:490px}.destination-grid .link-line{margin-top:1rem}
.breadcrumbs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2.5rem;font-size:.875rem;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:.25rem}
.landing-intro{padding-block:3rem 4rem}.landing-intro h1{font-size:clamp(3rem,5.8vw,6rem);max-width:1000px;margin-block:1rem 1.5rem}.landing-lead{max-width:750px;color:var(--muted);font-size:1.0625rem}.landing-intro .button{margin-top:1.75rem}
.landing-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,7vw,7rem);align-items:start;padding-bottom:4rem}.landing-copy{max-width:760px}.landing-copy section+section{margin-top:2.5rem}.landing-copy h2{font-size:clamp(2rem,2.8vw,2.8rem);margin-bottom:1rem}.landing-copy p{color:var(--muted)}.landing-copy p a{text-decoration:underline;text-underline-offset:.2rem}.landing-copy .link-line{margin-top:1rem}.booking-panel{padding:2rem;background:var(--stone)}.booking-panel h2{font-size:2.5rem;margin-block:1rem 1.5rem}.booking-panel dl{margin:0}.booking-panel dt{font-size:.875rem;font-weight:600;margin-top:1rem}.booking-panel dd{margin:0;color:var(--muted)}.booking-panel .button{margin-top:1.5rem;max-width:100%}.booking-panel .link-line{display:flex;width:fit-content;margin-top:1rem}.landing-photo .photo-link{aspect-ratio:2/3}.landing-photo .link-line{margin-top:1.5rem}.gallery-intro{color:var(--muted);max-width:620px;margin:1.5rem 0 2rem}.film-planning h2:not(:first-child){margin-top:2.5rem}
@media(max-width:800px){.landing-body{grid-template-columns:1fr}.landing-photo{max-width:480px}.landing-intro{padding-bottom:3rem}.destination-grid{gap:2rem}.booking-panel{max-width:600px}}
@media(max-width:540px){.destination-grid{grid-template-columns:1fr}.landing-intro h1{font-size:3.1rem}.booking-panel{padding:1.5rem}.breadcrumbs{margin-bottom:1.75rem}.footer-resorts{gap:.75rem 1.25rem}}

/* Allow the resort names to wrap naturally at smaller widths. */
.resort-strip .resort-names{flex-wrap:wrap;justify-content:center;row-gap:.5rem}.resort-strip .resort-names a{text-align:center}
