:root{--forest:#123f37;--forest-2:#0c312b;--berry:#e44e55;--berry-dark:#c83d45;--cream:#f8f1e6;--paper:#fffdf8;--ink:#17332e;--mist:#dce8e3;--blue:#b9d9e8;--serif:"Fraunces",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px 18px;z-index:100}.skip:focus{top:20px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);background:rgba(255,253,248,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(18,63,55,.08);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;line-height:1}.brand-logo{display:block;width:auto;height:clamp(46px,6vw,58px)}.footer-brand{align-self:start;background:#fff;border-radius:18px;padding:10px 14px;width:max-content;max-width:100%}.footer-brand .brand-logo{height:clamp(58px,7vw,76px)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.site-header nav>a:not(.button):hover{color:var(--berry)}.menu-toggle{display:none;border:0;background:none;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:100px;padding:15px 25px;background:var(--forest);color:#fff;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-small{padding:11px 20px}.button-berry{background:var(--berry)}.button-berry:hover{background:var(--berry-dark)}.button-cream{background:var(--cream);color:var(--forest)}
.hero{height:min(810px,calc(100vh - 82px));min-height:640px;position:relative;display:flex;align-items:center;background-image:url("snocap-chalet-event.png");background-size:cover;background-position:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,35,30,.84) 0%,rgba(7,35,30,.57) 35%,rgba(7,35,30,.05) 70%)}.hero-copy{position:relative;z-index:2;width:min(680px,80vw);margin-left:clamp(24px,8vw,130px);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--berry);margin:0 0 18px}.eyebrow.light{color:#a8d8cf}.hero h1,.chalet h2,.quote h2{font-family:var(--serif);font-size:clamp(54px,6vw,94px);line-height:.98;letter-spacing:-.045em;margin:0}.hero h1 em,.chalet h2 em,.quote h2 em,.intro h2 em,.menu h2 em{color:#f4a3a7;font-weight:600}.hero-lead{font-size:clamp(17px,2vw,21px);line-height:1.55;max-width:580px;margin:26px 0 30px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding:5px 0}.text-link span{margin-left:10px}.hero-note{position:absolute;right:18px;bottom:12px;color:rgba(255,255,255,.65);font-size:10px}.service-pill{position:absolute;right:clamp(20px,5vw,70px);top:30px;background:rgba(255,253,248,.92);border-radius:100px;padding:10px 16px;font-size:12px;font-weight:700;color:var(--forest)}.service-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--berry);margin-right:7px}.section-pad{padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.intro h2,.section-head h2,.how h2,.faq h2,.menu h2{font-family:var(--serif);font-size:clamp(42px,5vw,70px);line-height:1.05;letter-spacing:-.04em;margin:0}.intro-copy>p{font-size:19px;color:#49665f}.check-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.check-list li:before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;margin-right:12px;background:var(--mist);font-weight:700;color:var(--forest)}
.chalet{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:var(--forest);color:white}.chalet-photo{background:url("snocap-chalet-event.png") 72% center/cover no-repeat;min-height:620px}.chalet-copy{padding:clamp(70px,9vw,130px) clamp(35px,7vw,110px)}.chalet-copy>p:not(.eyebrow){color:#c7d9d4;font-size:18px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.16);margin:35px 0}.feature-grid>div{display:flex;gap:14px;padding:22px 12px;background:var(--forest)}.feature-grid strong{color:#85c0b4;font-size:11px}.feature-grid span{font-size:14px;font-weight:600}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:55px}.section-head>p{max-width:470px;color:#58736d}.event-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.event-card{min-height:420px;border-radius:4px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:white;position:relative;overflow:hidden;background-size:cover;background-position:center}.event-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,43,37,.93),rgba(10,43,37,.05))}.event-card>*{position:relative;z-index:1}.event-card.wedding{background-image:url("event-weddings.png")}.event-card.civic{background-image:url("event-community.png")}.event-card.party{background-image:url("event-parties.png")}.event-number{font-family:var(--serif);font-size:42px;opacity:.8}.mini-label{text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700}.event-card h3{font-family:var(--serif);font-size:32px;line-height:1.05;margin:8px 0 12px}.event-card p{margin:0;color:rgba(255,255,255,.82);font-size:14px}
.menu{background:var(--cream);padding:clamp(80px,10vw,145px) clamp(24px,7vw,110px);display:grid;grid-template-columns:.85fr 1fr 1fr;gap:22px;align-items:stretch}.menu-heading{padding:30px 30px 30px 0;align-self:center}.menu-heading>p:last-child{color:#667b75}.treat-card{background:var(--paper);padding:25px 25px 30px;border-radius:180px 180px 12px 12px;text-align:center}.treat-card .eyebrow{margin-top:24px}.treat-card h3{font-family:var(--serif);font-size:28px;margin:0 0 8px}.treat-card>p:not(.eyebrow){font-size:14px;color:#6c7b77}.treat-art{height:290px;border-radius:150px 150px 12px 12px;position:relative;overflow:hidden}.shave-art{background:linear-gradient(145deg,#d7eff4,#f7b3b9)}.shave-art:before{content:"";position:absolute;width:165px;height:155px;border-radius:48% 52% 45% 55%;background:linear-gradient(120deg,#fff 10%,#90d3e7 38%,#ec5a65 68%,#ffd24c);left:50%;top:48px;transform:translateX(-50%) rotate(-4deg);box-shadow:0 20px 35px rgba(18,63,55,.18)}.shave-art:after{content:"";position:absolute;width:115px;height:100px;background:#fffdf8;clip-path:polygon(5% 0,95% 0,75% 100%,25% 100%);left:50%;top:178px;transform:translateX(-50%)}.scoop-art{background:linear-gradient(145deg,#f5d9c4,#e9b6b8);display:flex;justify-content:center;align-items:center}.scoop-art:after{content:"";position:absolute;width:175px;height:82px;border-radius:0 0 45px 45px;background:#fff8eb;bottom:43px;box-shadow:0 18px 25px rgba(18,63,55,.12)}.scoop-art i{position:relative;z-index:1;width:102px;height:102px;border-radius:50%;margin:-15px -24px 0;box-shadow:inset -12px -15px 20px rgba(70,40,30,.1)}.scoop-art i:nth-child(1){background:#f0c678}.scoop-art i:nth-child(2){background:#744638;z-index:2;transform:translateY(-20px)}.scoop-art i:nth-child(3){background:#f3eee0}.flavor-row{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px}.flavor-row span{padding:6px 9px;border-radius:50px;background:var(--cream);font-size:10px;font-weight:700}.centered{text-align:center}.how{background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #cbd9d5}.steps article{padding:36px 40px;border-right:1px solid #cbd9d5}.steps article:last-child{border:0}.steps span{font-family:var(--serif);font-size:52px;color:#a7c9c1}.steps h3{font-family:var(--serif);font-size:25px;margin:12px 0 8px}.steps p{font-size:14px;color:#667b75}
.quote{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--forest);color:white;padding:clamp(80px,10vw,140px) clamp(24px,8vw,130px);gap:8vw}.quote-copy>p:not(.eyebrow){color:#c8d9d5;font-size:18px}.local-note{display:flex;align-items:center;gap:15px;margin-top:40px}.local-note svg{width:39px;fill:none;stroke:#89c8bb;stroke-width:1.5}.local-note span{display:flex;flex-direction:column;color:#c7d8d4;font-size:13px}.local-note strong{color:white}.quote-form{background:var(--paper);color:var(--ink);padding:clamp(25px,5vw,55px);display:grid;grid-template-columns:1fr 1fr;gap:20px;cursor:default}.snocap-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.field{display:flex;flex-direction:column}.full{grid-column:1/-1}.field label,fieldset legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #a8b9b4;background:transparent;border-radius:0;padding:10px 2px;outline:none;cursor:text}.field select,.quote-form input[type=checkbox],.quote-form button,.quote-form label{cursor:pointer}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--berry)}fieldset{border:0;padding:0;display:flex;gap:20px;flex-wrap:wrap}fieldset label{font-size:13px}.form-note{text-align:center;font-size:11px;color:#73847f;margin:0}.form-success{padding:13px;background:#dceee8;color:var(--forest);font-size:13px}.form-error{background:#f9d7d8;color:#8d1f27}.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw}.accordions details{border-top:1px solid #bdcfca;padding:20px 0}.accordions details:last-child{border-bottom:1px solid #bdcfca}.accordions summary{list-style:none;font-weight:700;cursor:pointer;display:flex;justify-content:space-between}.accordions summary::-webkit-details-marker{display:none}.accordions summary span{font-size:22px;color:var(--berry)}.accordions details[open] summary span{transform:rotate(45deg)}.accordions p{color:#617771;max-width:650px}footer{background:var(--forest-2);color:white;padding:70px clamp(24px,8vw,130px) 25px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px}footer>p{margin:0;color:#b9cec8;font-size:14px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;font-weight:600}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:24px;display:flex;justify-content:space-between;color:#87a49c;font-size:11px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;border-bottom:1px solid #ddd}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero{background-position:62% center}.service-pill{top:20px}.intro,.chalet,.quote,.faq{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr 1fr}.event-card:last-child{grid-column:1/-1}.menu{grid-template-columns:1fr 1fr}.menu-heading{grid-column:1/-1}.chalet-photo{min-height:520px}.steps article{padding:30px 20px}}
@media(max-width:650px){.hero{min-height:700px;background-position:66% center}.hero-overlay{background:linear-gradient(90deg,rgba(7,35,30,.9),rgba(7,35,30,.45))}.hero-copy{width:auto;margin:100px 24px 0}.hero h1{font-size:52px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.service-pill{right:auto;left:24px}.intro{gap:40px}.section-head{display:block}.event-grid,.menu,.steps,.quote-form,footer{grid-template-columns:1fr}.event-card:last-child{grid-column:auto}.menu-heading{grid-column:auto}.treat-card{max-width:450px;margin:auto}.steps{border:0}.steps article{border-right:0;border-top:1px solid #cbd9d5}.quote-form{padding:28px 20px}.full{grid-column:auto}.faq{gap:40px}.footer-bottom{grid-column:auto;display:grid;gap:8px}.hero-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
