@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f7f5ef;--ink:#332e27;--muted:#69675c;--green:#183d30;--line:#d8d6ca;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.025em;line-height:1.03}em{font-family:var(--serif);font-weight:400}p{color:var(--muted)}a:focus-visible,button:focus-visible{outline:3px solid #b67731;outline-offset:6px}.skip-link{position:fixed;top:8px;left:8px;padding:12px;background:white;transform:translateY(-150%);z-index:20}.skip-link:focus{transform:translateY(0)}.site-header{max-width:1600px;margin:auto;height:112px;display:flex;align-items:center;padding:0 4%;gap:32px;position:relative;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:7px;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain}.brand-type{font-family:var(--serif);font-size:33px;line-height:1.1}.brand-type>span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.19em;margin-top:9px}.desktop-nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.desktop-nav a{padding:10px 0;border-bottom:1px solid transparent}.desktop-nav a:hover{border-color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--green);color:white;padding:16px 24px;font-size:14px;line-height:1.4;min-height:54px;border:1px solid var(--green);transition:background .2s}.button:hover{background:#2b5341}.button span{font-size:20px;line-height:1}.header-booking{min-height:49px;padding:13px 20px;gap:23px}.menu-toggle,.mobile-nav{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:45% 55%;padding:40px 4% 36px;gap:0}.hero-copy{padding:25px 9% 15px 0;align-self:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:550;line-height:1.6;color:var(--green);margin-bottom:28px}.hero h1{font-size:clamp(62px,5.6vw,86px)}.hero h1 em{color:var(--green)}.hero-intro{max-width:355px;line-height:1.7;margin:26px 0 30px}.hero-photo{position:relative;min-height:590px}.hero-photo>img{width:100%;height:100%;position:absolute;object-position:50% 45%}.hero-photo figcaption{position:absolute;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;padding:14px 17px;background:rgba(247,245,239,.94);color:var(--green);font-size:11px;letter-spacing:.12em;gap:12px}.hero-photo figcaption span:last-child{letter-spacing:0;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link:hover{color:var(--green);border-color:var(--green)}.discover{display:flex;max-width:max-content;margin-top:25px;border:0;color:var(--muted);font-size:13px}.at-a-glance{max-width:1472px;margin:0 auto;display:flex;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 3%;gap:0;color:var(--green);font-size:13px}.at-a-glance span{padding:0 35px;border-right:1px solid var(--line)}.at-a-glance span:last-child{border:0}.section-space{max-width:1280px;margin:auto;padding:110px 4%}.refuge{display:grid;grid-template-columns:44% 1fr;gap:9%;align-items:center}.refuge-photo img{width:100%;height:540px;object-position:50% 50%}.refuge-photo figcaption,.terrace-photo figcaption{font-size:10px;letter-spacing:.13em;color:var(--muted);margin-top:16px}.refuge-copy h2{font-size:64px;margin-bottom:28px}.refuge-copy>p:not(.eyebrow){margin:0 0 18px}.comforts{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.comforts h3,.stay-detail h3{font-size:15px;font-weight:550;margin-bottom:7px}.comforts p{font-size:13px;line-height:1.7}.village{max-width:none;background:#eeeede;padding:88px max(6%,calc((100% - 1176px)/2)) 40px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;margin-bottom:60px}.section-heading h2{font-size:62px}.section-heading>p{max-width:440px;padding-bottom:7px}.village-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbcdbd}.village-grid article{padding:30px 32px 24px;border-right:1px solid #cbcdbd}.village-grid article:first-child{padding-left:0}.village-grid article:last-child{padding-right:0;border:0}.chapter{font-size:11px;letter-spacing:.14em;color:var(--green)}.village-grid h3{font-family:var(--serif);font-size:33px;line-height:1.15;margin:22px 0 18px}.village-grid p{font-size:14px;line-height:1.8}.footnote{display:block;margin-top:23px;font-size:12px;font-style:italic;color:var(--green)}.village-note{text-align:center;font-size:12px;padding:24px 0 0;border-top:1px solid #cbcdbd;margin-top:25px}.longer{display:grid;grid-template-columns:1fr 47%;gap:9%;align-items:center}.longer h2{font-size:57px;margin-bottom:28px}.longer-copy>p:not(.eyebrow){margin-bottom:30px}.stay-detail{padding:18px 0;border-top:1px solid var(--line)}.stay-detail p{font-size:14px;line-height:1.8}.longer-copy>.text-link{margin-top:16px}.terrace-photo img{height:600px;width:100%;object-position:48% 50%}.seasons{background:var(--green);color:var(--paper);padding:80px 24px;text-align:center}.seasons .eyebrow{color:#c9d2bf}.seasons h2{font-size:68px}.seasons>p:not(.eyebrow){max-width:600px;margin:28px auto 32px;color:#d7dfd1}.season-words{display:flex;gap:30px;justify-content:center;font-size:12px;color:#d7dfd1}.season-words span+span{border-left:1px solid #5d7665;padding-left:30px}.final-invitation{text-align:center;padding:62px 24px 85px}.final-invitation>img{margin:0 auto 22px;object-fit:contain}.final-invitation .eyebrow{margin-bottom:18px}.final-invitation h2{font-size:66px;margin-bottom:18px}.final-invitation .button{margin-top:28px}.booking-note{font-size:12px;line-height:1.75;margin:18px auto 0}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:30px 5%;gap:30px;font-size:12px}footer .footer-name{font-family:var(--serif);font-size:30px}footer a{font-size:13px}footer>p{font-style:italic}
@media(min-width:1600px){.at-a-glance{max-width:1472px}}
@media(max-width:1100px){.site-header{gap:20px}.desktop-nav{gap:18px;font-size:12px}.brand-type{font-size:28px}.brand img{width:66px;height:66px}.brand-type>span{font-size:9px}.hero-copy{padding-right:7%}.hero h1{font-size:67px}.hero-photo{min-height:560px}.at-a-glance span{padding:0 22px}.section-space{padding:80px 5%}.refuge{gap:7%}.refuge-copy h2{font-size:58px}.refuge-photo img{height:535px}.comforts{grid-template-columns:1fr;gap:18px}.longer{gap:6%}.longer h2{font-size:51px}.terrace-photo img{height:615px}}
@media(max-width:850px){.desktop-nav{display:none}.header-booking{margin-left:auto}.menu-toggle{display:flex;border:0;background:none;width:34px;height:40px;padding:10px 5px;flex-direction:column;justify-content:center;gap:7px;color:var(--green)}.menu-toggle span{display:block;width:23px;height:1px;background:currentColor}.mobile-nav:not([hidden]){position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;background:var(--paper);z-index:10;padding:20px 5%;box-shadow:0 15px 25px #0001}.mobile-nav a{padding:10px 0}.hero h1{font-size:57px}.hero-intro{font-size:14px}.hero-photo{min-height:520px}.hero-photo figcaption{left:14px;right:14px;bottom:14px;flex-direction:column;gap:2px}.eyebrow{font-size:10px}.at-a-glance{display:grid;grid-template-columns:1fr 1fr;gap:15px;text-align:center;padding:25px 4%}.at-a-glance span{border:0;padding:0}.section-heading h2{font-size:52px}.section-heading{gap:6%}.village-grid article{padding:24px 20px}.village-grid h3{font-size:29px}.refuge-copy h2{font-size:52px}.refuge-copy>p:not(.eyebrow){font-size:14px}.longer h2{font-size:45px}.longer-copy>p:not(.eyebrow){font-size:14px}}
@media(max-width:620px){html{scroll-padding-top:20px}.site-header{height:91px;padding:0 5%;gap:10px}.brand{gap:0}.brand img{width:57px;height:57px}.brand-type{font-size:27px}.brand-type>span{font-size:8px;letter-spacing:.1em;margin-top:6px}.header-booking{font-size:11px;padding:11px 12px;gap:10px;min-height:41px}.header-booking span{font-size:17px}.menu-toggle{width:25px;padding:3px}.menu-toggle span{width:20px}.hero{padding:35px 5% 23px;grid-template-columns:1fr}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:23px;letter-spacing:.12em}.hero h1{font-size:64px;line-height:1.02}.hero h1 br:last-child{display:none}.hero-intro{font-size:15px;max-width:320px;margin:24px 0}.hero-copy>.button{min-width:208px}.discover{display:inline-flex;margin:0 0 0 17px;font-size:11px;gap:8px}.hero-photo{min-height:0;aspect-ratio:1.12;margin-top:35px}.hero-photo figcaption{flex-direction:row;align-items:center;padding:11px 13px}.hero-photo figcaption span:first-child{font-size:9px}.hero-photo figcaption span:last-child{font-size:11px}.at-a-glance{font-size:11px;gap:13px 8px;padding:23px 5%}.section-space{padding:60px 6%}.refuge{grid-template-columns:1fr;gap:36px}.refuge-photo{order:2}.refuge-copy h2{font-size:56px}.refuge-copy>p:not(.eyebrow){font-size:15px}.comforts{grid-template-columns:1fr 1fr;gap:20px}.comforts h3{font-size:14px}.comforts p{font-size:12px}.refuge-photo img{height:390px}.refuge-photo figcaption,.terrace-photo figcaption{font-size:9px}.village{padding-top:57px;padding-bottom:30px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:32px}.section-heading h2{font-size:55px}.section-heading>p{font-size:15px}.village-grid{grid-template-columns:1fr}.village-grid article,.village-grid article:first-child,.village-grid article:last-child{padding:28px 0;border:0;border-bottom:1px solid #cbcdbd}.village-grid h3{font-size:34px;margin:15px 0}.village-grid h3 br{display:none}.village-grid p{font-size:14px}.footnote{margin-top:14px}.village-note{border:0;margin:5px 0 0;font-size:11px}.longer{grid-template-columns:1fr;gap:36px}.longer h2{font-size:51px}.longer-copy>p:not(.eyebrow){font-size:15px}.terrace-photo img{height:400px}.seasons{padding:58px 6%}.seasons h2{font-size:56px}.seasons>p:not(.eyebrow){font-size:15px}.season-words{flex-direction:column;gap:10px;font-size:12px}.season-words span+span{border:0;padding:0}.final-invitation{padding:47px 6% 60px}.final-invitation>img{width:110px;height:110px;margin-bottom:16px}.final-invitation h2{font-size:53px}.final-invitation>p:not(.eyebrow):not(.booking-note){font-size:14px}footer{align-items:start;flex-wrap:wrap;gap:20px;padding:25px 6%}footer>p{order:3;flex-basis:100%;font-size:11px}footer>a{padding-top:13px}}
@media(max-width:390px){.brand-type{font-size:23px}.brand-type>span{font-size:7px}.brand img{width:49px;height:49px}.site-header{gap:8px}.header-booking{font-size:10px;padding:10px;gap:7px}.hero h1{font-size:58px}.discover{display:flex;margin:20px 0 0;font-size:12px}.hero-photo{margin-top:27px}.hero-copy>.button{min-width:200px}.comforts{grid-template-columns:1fr}.at-a-glance{font-size:10px}}
.hero-intro,.refuge-copy>p:not(.eyebrow),.section-heading>p,.longer-copy>p:not(.eyebrow),.seasons>p:not(.eyebrow){font-size:16px}
.comforts p,.stay-detail p,.village-grid p{font-size:14px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Around — a field guide in the same quiet, editorial language as Le Refuge. */
.desktop-nav .nav-current{color:var(--green);border-color:var(--green)}
.around-hero{max-width:1600px;margin:auto;padding:54px 4% 72px;display:grid;grid-template-columns:40% 60%;align-items:end}
.around-hero-copy{padding:30px 10% 34px 0}
.around-hero h1{font-size:clamp(70px,6.2vw,96px);margin-bottom:32px}
.around-hero h1 em{color:var(--green)}
.around-hero-copy>p:not(.eyebrow){max-width:430px;font-size:17px;line-height:1.8;margin-bottom:28px}
.around-hero-photo{position:relative;min-height:610px}
.around-hero-photo>img{position:absolute;width:100%;height:100%;object-position:52% 50%}
.around-hero-photo figcaption{position:absolute;left:22px;right:22px;bottom:22px;display:flex;justify-content:space-between;gap:20px;background:rgba(247,245,239,.94);padding:14px 17px;color:var(--green);font-size:11px;letter-spacing:.12em}
.around-hero-photo figcaption span:last-child{font-size:13px;letter-spacing:0}
.around-intro{max-width:1180px;margin:auto;padding:100px 4%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:end}
.around-intro h2{font-size:64px}
.around-intro>p{font-size:17px;line-height:1.8;padding-bottom:7px}
.activity-stories{background:#eeeede}
.activity-story{min-height:610px;display:grid;grid-template-columns:20% 1fr;align-items:center;max-width:1180px;margin:auto;padding:86px 4%;border-bottom:1px solid #cbcdbd}
.activity-story:last-child{border-bottom:0}
.activity-number{font-family:var(--serif);font-size:120px;line-height:1;color:#c8cbbb;align-self:start;padding-top:14px}
.activity-copy{display:grid;grid-template-columns:1.1fr .9fr;column-gap:9%;align-items:start}
.activity-copy .eyebrow{grid-column:1/-1}
.activity-copy h2{font-size:61px}
.activity-copy>p{font-size:16px;line-height:1.85;padding-top:7px}
.activity-notes{grid-column:2;margin:25px 0 0;padding:22px 0 0;list-style:none;border-top:1px solid #cbcdbd;color:var(--green);font-size:13px}
.activity-notes li{padding:7px 0 7px 20px;position:relative}
.activity-notes li::before{content:'—';position:absolute;left:0}
.activity-story-water{background:var(--green);color:var(--paper);max-width:none;padding-left:max(4%,calc((100% - 1180px)/2 + 4%));padding-right:max(4%,calc((100% - 1180px)/2 + 4%));border:0}
.activity-story-water .activity-number{color:#5d7665}
.activity-story-water .eyebrow,.activity-story-water .activity-notes{color:#c9d2bf}
.activity-story-water p{color:#d7dfd1}
.activity-story-water .activity-notes{border-color:#5d7665}
.day-trip-band{padding:105px max(6%,calc((100% - 1120px)/2));background:#f7f5ef}
.day-trip-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:60px}
.day-trip-heading h2{grid-column:2;font-size:61px}
.day-trip-heading .eyebrow{grid-column:1;grid-row:1;align-self:start;margin-top:9px}
.day-trip-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.day-trip-grid article{padding:34px 9% 20px 0}
.day-trip-grid article+article{border-left:1px solid var(--line);padding-left:9%;padding-right:0}
.day-trip-grid h3{font-family:var(--serif);font-size:37px;line-height:1.2;margin:20px 0 16px}
.day-trip-grid p{line-height:1.85}
.pace-section{background:#ddd5c4;padding:90px max(6%,calc((100% - 1120px)/2));display:grid;grid-template-columns:15% 1fr 1fr;gap:7%;align-items:center}
.pace-mark{font-family:var(--serif);font-size:72px;color:var(--green)}
.pace-section h2{font-size:59px}
.pace-section>p{font-size:16px;line-height:1.85}
.around-invitation{padding-top:78px}
.around-invitation h2{line-height:1.1}
@media(max-width:1100px){.desktop-nav{gap:15px}.around-hero{grid-template-columns:43% 57%}.around-hero h1{font-size:69px}.around-hero-photo{min-height:560px}.activity-number{font-size:90px}.activity-copy h2{font-size:52px}.pace-section{grid-template-columns:12% 1fr 1fr}.pace-section h2{font-size:51px}}
@media(max-width:850px){.around-hero{grid-template-columns:1fr 1.2fr}.around-hero-copy{padding-right:8%}.around-hero h1{font-size:57px}.around-hero-photo{min-height:520px}.around-intro h2{font-size:52px}.activity-story{grid-template-columns:14% 1fr}.activity-number{font-size:64px}.activity-copy h2{font-size:45px}.day-trip-heading h2{font-size:52px}.pace-section{grid-template-columns:1fr 1fr}.pace-mark{display:none}}
@media(max-width:620px){.around-hero{grid-template-columns:1fr;padding:38px 5% 46px}.around-hero-copy{padding:0}.around-hero h1{font-size:64px;margin-bottom:24px}.around-hero-copy>p:not(.eyebrow){font-size:15px}.around-hero-photo{min-height:0;aspect-ratio:1.05;margin-top:38px}.around-hero-photo figcaption{left:12px;right:12px;bottom:12px;padding:11px 12px}.around-hero-photo figcaption span:first-child{font-size:9px}.around-hero-photo figcaption span:last-child{font-size:11px}.around-intro{padding:65px 6%;grid-template-columns:1fr;gap:26px}.around-intro h2{font-size:54px}.around-intro>p{font-size:15px}.activity-story,.activity-story-water{min-height:0;grid-template-columns:1fr;padding:60px 6%}.activity-number{font-size:54px;margin-bottom:25px}.activity-copy{grid-template-columns:1fr}.activity-copy h2{font-size:50px}.activity-copy>p{font-size:15px;margin-top:22px}.activity-notes{grid-column:1;margin-top:25px}.day-trip-band{padding:65px 6%}.day-trip-heading{display:block;margin-bottom:36px}.day-trip-heading h2{font-size:52px}.day-trip-grid{grid-template-columns:1fr}.day-trip-grid article,.day-trip-grid article+article{padding:28px 0;border-left:0}.day-trip-grid article+article{border-top:1px solid var(--line)}.day-trip-grid h3{font-size:35px}.pace-section{padding:64px 6%;grid-template-columns:1fr;gap:24px}.pace-section h2{font-size:52px}.pace-section>p{font-size:15px}}

/* Prepared seasonal hierarchy: Summer > Avalanche Mountain > Mountain Bike. */
.around-hero-photo.gusto-hero-photo{background:var(--paper);display:flex;flex-direction:column;min-height:0;aspect-ratio:auto}
.around-hero-photo.gusto-hero-photo>img{position:static;width:100%;height:500px;object-position:78% 50%}
.around-hero-photo.gusto-hero-photo .gusto-coffee-caption{position:static;display:block;padding:0;margin:0 0 14px;background:transparent;font-size:18px;line-height:1.45;letter-spacing:0;color:var(--green)}
.gusto-hero-link{position:static;align-self:flex-end;margin-top:10px;display:inline-flex;align-items:center;gap:14px;min-height:46px;padding:10px 16px;border:1px solid var(--green);background:var(--paper);color:var(--green);font-family:var(--sans);font-size:14px;line-height:1.4}
.gusto-hero-link:hover{background:var(--green);color:var(--paper)}
@media(max-width:620px){.around-hero-photo.gusto-hero-photo{margin-top:10px}.around-hero-photo.gusto-hero-photo>img{height:auto;aspect-ratio:1.55;object-position:76% 50%}.gusto-hero-link{max-width:100%}.around-hero-photo.gusto-hero-photo .gusto-coffee-caption{font-size:18px}}
.nav-family{position:relative}
.nav-trigger{display:flex;align-items:center;gap:8px}
.nav-trigger span{font-size:13px;transition:transform .2s}
.nav-panel{position:absolute;top:calc(100% + 16px);right:0;width:260px;padding:12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 34px #183d301a;z-index:15;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.nav-family:hover .nav-panel,.nav-family:focus-within .nav-panel{opacity:1;visibility:visible;transform:translateY(0)}
.nav-family:hover .nav-trigger span,.nav-family:focus-within .nav-trigger span{transform:rotate(180deg)}
.desktop-nav .nav-panel .nav-overview{display:block;padding:10px 12px;border-bottom:1px solid var(--line);font-weight:550}
.nav-group{padding:13px 12px 9px}
.nav-group-label{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0;border:0;background:transparent;color:var(--green);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.13em;text-align:left;text-transform:uppercase;cursor:pointer}
.nav-group-label>span{font-size:17px;line-height:1;transition:transform .18s}
.nav-child{display:none;align-items:center;justify-content:space-between;padding:10px 0 2px 15px;color:var(--muted)}
.nav-group:hover .nav-child,.nav-group:focus-within .nav-child,.nav-group.is-open .nav-child,.mobile-nav-group.is-open .mobile-nav-child{display:flex}
.nav-group:hover .nav-group-label>span,.nav-group:focus-within .nav-group-label>span,.nav-group.is-open .nav-group-label>span,.mobile-nav-group.is-open .nav-group-label>span{transform:rotate(90deg)}
.nav-child>span,.mobile-nav-child>span{font-size:14px;color:var(--green)}
.nav-child:hover,.mobile-nav-child:hover{color:var(--green)}
@media(max-width:850px){.mobile-nav-primary{font-size:16px;font-weight:550}.mobile-nav-group{margin:4px 0 5px;padding:14px 0 7px 18px;border-top:1px solid var(--line);color:var(--green);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.mobile-nav-group .nav-group-label{max-width:280px}.mobile-nav-child{display:none;justify-content:space-between;max-width:280px;padding:10px 0 0 14px;color:var(--muted);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none}}

/* The Le Refuge emblem accompanies every availability call to action. */
.button .booking-logo,.text-link .booking-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0}
.header-booking .booking-logo{width:26px;height:26px}
@media(max-width:620px){.header-booking .booking-logo{width:22px;height:22px}}

.gusto-hero-link{padding-top:6px;padding-bottom:6px}
.gusto-hero-link .gusto-button-logo{width:64px;height:38px;flex-shrink:0;object-fit:contain;background:#fff}
