@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Montserrat:wght@300;400;500;600&display=swap);:root{--cocoa-black:#0a0a0a;--cocoa-dark-grey:#1a1a1a;--cocoa-gold:#c5a059;--cocoa-gold-hover:#d4b06a;--cocoa-white:#f5f5f5;--cocoa-text:#e0e0e0}body{background-color:var(--cocoa-black);color:var(--cocoa-text);font-family:Montserrat,sans-serif;margin:0;padding:0}h1,h2,h3{color:var(--cocoa-gold);font-family:Playfair Display,serif;font-weight:700}.cocoa-nav{background-color:hsla(0,0%,4%,.95);border-bottom:1px solid rgba(197,160,89,.3);padding:15px 0;position:sticky;top:0;width:100%;z-index:1000}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-logo{color:var(--cocoa-gold);font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;letter-spacing:2px}.nav-links{align-items:center;display:flex;gap:30px;list-style:none;margin:0;padding:0}.nav-links li a{color:var(--cocoa-white);font-family:Montserrat,sans-serif;font-size:.9rem;letter-spacing:1px;text-decoration:none;text-transform:uppercase;transition:color .3s ease}.nav-links li a:hover,.nav-separator{color:var(--cocoa-gold)}.nav-separator{opacity:.5}.dropdown{display:inline-block;padding-bottom:5px;position:relative}.dropdown-content{background-color:rgba(26,26,26,.95);border:1px solid var(--cocoa-gold);border-radius:4px;box-shadow:0 8px 16px 0 rgba(0,0,0,.5);display:block;left:50%;min-width:200px;opacity:0;padding:10px 0;position:absolute;top:100%;transform:translateX(-50%) translateY(10px);transition:all .3s ease;visibility:hidden;z-index:1000}.dropdown-content:before{border-color:transparent transparent var(--cocoa-gold) transparent;border-style:solid;border-width:7px;bottom:100%;content:"";left:50%;margin-left:-7px;position:absolute}.dropdown-content a{color:var(--cocoa-white);display:block;font-family:Montserrat,sans-serif;font-size:.9rem;letter-spacing:1px;padding:12px 20px;text-align:center;text-decoration:none;transition:all .2s ease}.dropdown-content a:hover{background-color:var(--cocoa-gold);color:var(--cocoa-black)}.dropdown:hover .dropdown-content{opacity:1;transform:translateX(-50%) translateY(0);visibility:visible}.cocoa-hero{align-items:center;background-color:var(--cocoa-black);display:flex;height:100vh;justify-content:center;margin-top:-60px;overflow:hidden;position:relative;text-align:center}.hero-bg{background-position:50%;background-size:cover;bottom:0;left:0;position:absolute;right:0;top:0;transition:opacity 1.5s ease-in-out;z-index:1}.hero-bg.current{opacity:1;z-index:1}.hero-bg.next{opacity:0;z-index:2}.cocoa-hero:before{background:rgba(0,0,0,.4);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.cocoa-hero-content{animation:fadeIn 1.5s ease-out;position:relative;z-index:4}.cocoa-hero h1{color:var(--cocoa-white);font-size:4rem;letter-spacing:2px;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.cocoa-hero h2{color:var(--cocoa-gold);font-size:1.5rem;font-weight:400;letter-spacing:5px;text-transform:uppercase}.cocoa-section{margin:0 auto;max-width:1200px;padding:80px 20px}.cocoa-intro{text-align:center}.cocoa-intro p{color:var(--cocoa-text);font-size:1.2rem;line-height:1.8;margin:0 auto;max-width:800px}.cocoa-amenities{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:60px}.amenity-card{background:var(--cocoa-dark-grey);border:1px solid rgba(197,160,89,.2);padding:40px 20px;text-align:center;transition:transform .3s ease,border-color .3s ease}.amenity-card:hover{border-color:var(--cocoa-gold);transform:translateY(-5px)}.amenity-icon{color:var(--cocoa-gold);font-size:2.5rem;margin-bottom:20px}.amenity-title{color:var(--cocoa-white);font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:10px}.cocoa-gallery{background:var(--cocoa-dark-grey);padding:80px 0}.gallery-category{margin:0 auto 60px;max-width:1200px;padding:0 20px}.gallery-category-title{border-bottom:1px solid rgba(197,160,89,.3);color:var(--cocoa-gold);font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:30px;padding-bottom:15px}.gallery-grid{display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.gallery-item{aspect-ratio:4/3;cursor:pointer;overflow:hidden;position:relative}.gallery-item img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.gallery-item:hover img{transform:scale(1.05)}.amenity-link{color:inherit;display:block;text-decoration:none}.cocoa-calendar{background-color:var(--cocoa-black);text-align:center}.calendar-placeholder{align-items:center;background:var(--cocoa-dark-grey);border:1px solid var(--cocoa-gold);color:var(--cocoa-text);display:flex;height:400px;justify-content:center;margin:40px auto;max-width:800px;width:100%}.cocoa-contact{background-color:var(--cocoa-black);padding-bottom:100px;text-align:center}.contact-form-container{margin:40px auto 0;max-width:800px;padding:0 20px}.form-row{display:flex;gap:30px;margin-bottom:20px}.form-group{flex:1;margin-bottom:20px;text-align:left}.form-group label{color:var(--cocoa-gold);display:block;font-family:Montserrat,sans-serif;font-weight:500;margin-bottom:10px}.form-group input,.form-group textarea{background:var(--cocoa-dark-grey);border:1px solid #333;box-sizing:border-box;color:var(--cocoa-white);font-family:Montserrat,sans-serif;font-size:1rem;padding:15px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--cocoa-gold);outline:none}.form-error{color:#ff6b6b;font-size:.9rem;margin-top:5px}.btn-gold{background:transparent;border:1px solid var(--cocoa-gold);color:var(--cocoa-gold);cursor:pointer;font-family:Montserrat,sans-serif;font-size:1.1rem;letter-spacing:2px;padding:15px 50px;text-transform:uppercase;transition:all .3s ease}.btn-gold:hover{background:var(--cocoa-gold);color:var(--cocoa-black)}@media (max-width:768px){.form-row{flex-direction:column;gap:0}}.cocoa-location{text-align:center}.location-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:0 20px}.location-image,.map-container{border:1px solid var(--cocoa-gold);border-radius:4px;box-shadow:0 4px 15px rgba(0,0,0,.5);height:450px;overflow:hidden}.location-image img,.map-container iframe{display:block;height:100%}.location-image img{object-fit:cover;width:100%}@media (max-width:900px){.location-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.cocoa-hero h1{font-size:2.5rem}}.ski-domain-banner{align-items:center;background-color:var(--cocoa-dark-grey);border-bottom:1px solid rgba(197,160,89,.3);border-top:1px solid rgba(197,160,89,.3);display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin:40px 0;padding:40px 0}.ski-stat{text-align:center}.stat-value{color:var(--cocoa-gold);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin-bottom:5px}.stat-label{color:var(--cocoa-white);font-family:Montserrat,sans-serif;font-size:1rem;letter-spacing:2px;text-transform:uppercase}.stat-label a{color:var(--cocoa-white);text-decoration:none;transition:color .3s ease}.stat-label a:hover{color:var(--cocoa-gold)}.ski-stat-separator{background-color:rgba(197,160,89,.3);display:block;height:60px;width:1px}@media (max-width:768px){.ski-domain-banner{flex-direction:column;gap:30px}.ski-stat-separator{height:1px;width:60px}}.cocoa-proximity{text-align:center}.proximity-intro{color:var(--cocoa-text);font-size:1.2rem;font-style:italic;margin-bottom:40px}.proximity-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:40px}.proximity-card{background:var(--cocoa-dark-grey);border:1px solid rgba(197,160,89,.2);border-radius:4px;padding:30px;transition:all .3s ease}.proximity-card:hover{border-color:var(--cocoa-gold);box-shadow:0 10px 20px rgba(0,0,0,.3);transform:translateY(-5px)}.proximity-icon{color:var(--cocoa-gold);font-size:2rem;margin-bottom:20px}.proximity-card h3{border-bottom:1px solid rgba(197,160,89,.3);color:var(--cocoa-white);display:inline-block;font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:20px;padding-bottom:10px}.proximity-list{list-style:none;margin:0;padding:0;text-align:left}.proximity-list li{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.05);color:var(--cocoa-text);display:flex;font-size:1rem;padding:10px 0}.proximity-list li:last-child{border-bottom:none}.proximity-list li:before{color:var(--cocoa-gold);content:"•";display:inline-block;font-weight:700;margin-left:-1em;width:1em}.proximity-list{padding-left:20px}.proximity-list a{border-bottom:1px dotted hsla(0,0%,100%,.3);color:var(--cocoa-text);text-decoration:none;transition:color .3s ease}.proximity-list a:hover{border-bottom-color:var(--cocoa-gold);color:var(--cocoa-gold)}.audio-control{align-items:center;background:hsla(0,0%,4%,.8);border:1px solid var(--cocoa-gold);border-radius:50%;bottom:30px;box-shadow:0 4px 10px rgba(0,0,0,.5);color:var(--cocoa-gold);cursor:pointer;display:flex;height:50px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:50px;z-index:9999}.audio-control:hover{background:var(--cocoa-gold);color:var(--cocoa-black);transform:scale(1.1)}.audio-icon{font-size:1.2rem}@media (max-width:768px){.audio-control{bottom:20px;height:40px;right:20px;width:40px}}.calendar-container{background:var(--cocoa-dark-grey);border:1px solid var(--cocoa-gold);border-radius:4px;margin:40px auto;max-width:800px;padding:20px}.calendar-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:20px}.calendar-header,.calendar-nav-group{align-items:center;display:flex;gap:15px}.calendar-nav-group{flex:1;justify-content:center}.calendar-nav{background:transparent;border:none;color:var(--cocoa-gold);cursor:pointer;font-size:1.5rem;padding:0 10px;transition:color .3s ease}#current-month-year,.calendar-nav:hover{color:var(--cocoa-white)}#current-month-year{font-size:1.5rem;margin:0;min-width:200px;text-align:center;text-transform:capitalize}.calendar-today-btn{background:transparent;border:1px solid var(--cocoa-gold);border-radius:4px;color:var(--cocoa-gold);cursor:pointer;font-family:Montserrat,sans-serif;font-size:.9rem;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.calendar-today-btn:hover{background:var(--cocoa-gold);color:var(--cocoa-black)}.calendar-grid-days,.calendar-grid-header{display:grid;gap:10px;grid-template-columns:repeat(7,1fr);text-align:center}.calendar-grid-header div{color:var(--cocoa-gold);font-weight:700;padding:10px 0}.calendar-day{background:hsla(0,0%,100%,.05);border-radius:4px;color:var(--cocoa-white);cursor:default;padding:15px 0;position:relative;transition:background-color .3s ease}.calendar-day.empty{background:transparent}.calendar-day.available{border:1px solid rgba(197,160,89,.3)}.calendar-day.booked{background:hsla(0,100%,71%,.2);color:hsla(0,0%,100%,.5);text-decoration:line-through}.calendar-day.today{border:1px solid var(--cocoa-gold);font-weight:700}.calendar-legend{display:flex;gap:30px;justify-content:center;margin-top:30px}.legend-item{align-items:center;color:var(--cocoa-text);display:flex;font-size:.9rem}.legend-color{border-radius:4px;height:20px;margin-right:10px;width:20px}.legend-color.available{background:hsla(0,0%,100%,.05);border:1px solid rgba(197,160,89,.3)}.legend-color.booked{background:hsla(0,100%,71%,.2)}@media (max-width:600px){.calendar-day{font-size:.9rem;padding:10px 0}}