:root{--color-off-white:#e8e6e3;--color-soft-grey:#2a2a2a;--color-charcoal:silver;--color-muted-black:#0c0c0c;--color-warm-wood:#c4a57b;--color-warm-wood-hover:#d4b58b;--color-warm-wood-dark:#a08060;--color-bg-dark:#1a1a1a;--color-bg-grey:#111;--color-border-subtle:#3a3a3a;--color-text-muted:#888;--color-text-subtle:#aaa;--color-text-dim:#666;--color-text-faint:#999;--color-text-feature:#ccc;--color-black:#000;--color-white:#fff;--color-warm-wood-alpha-04:#c4a57b0a;--color-warm-wood-alpha-05:#c4a57b0d;--color-warm-wood-alpha-10:#b89c681a;--color-warm-wood-alpha-25:#b89c6840;--color-warm-wood-alpha-30:#b89c684d;--color-white-alpha-03:#ffffff08;--color-white-alpha-05:#ffffff0d;--color-white-alpha-08:#ffffff14;--color-white-alpha-10:#ffffff1a;--color-black-alpha-30:#0000004d;--color-black-alpha-80:#000c;--color-black-alpha-95:#000000f2;--font-primary:"Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Cormorant Garamond", Georgia, serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:8rem;--transition-fast:.3s ease;--transition-medium:.5s ease;--transition-slow:.8s ease-out;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 8px 16px #0003;--shadow-lg:0 15px 30px #0000004d;--shadow-xl:0 20px 40px #0006;--radius-sm:4px;--radius-md:6px;--radius-lg:20px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-muted-black)}body{font-family:var(--font-primary);color:var(--color-off-white);background:var(--color-muted-black);max-width:1920px;margin:0 auto;font-weight:300;line-height:1.8;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:999;opacity:.03;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}a{color:var(--color-warm-wood);transition:color var(--transition-fast);text-decoration-color:#c4a57b66}a:hover{color:var(--color-off-white)}::selection{background:var(--color-warm-wood-alpha-30);color:var(--color-off-white)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:var(--spacing-md);letter-spacing:-.01em;font-weight:400;line-height:1.3}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem)}h2{letter-spacing:-.01em;font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:var(--spacing-md);max-width:65ch}.container{max-width:1200px;margin:0 auto;padding:0 5%}.wide-container{max-width:1400px;margin:0 auto;padding:0 5%}section{padding:var(--spacing-3xl) 5%}.page{animation:.8s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;filter:brightness(.95)sepia(.08)}to{opacity:1;filter:brightness()sepia(0)}}nav{background:var(--color-black-alpha-80);-webkit-backdrop-filter:blur(10px);z-index:1000;max-width:1920px;padding:var(--spacing-sm) 2.5%;border-bottom:1px solid var(--color-white-alpha-10);margin:0 auto;position:fixed;top:0;left:0;right:0}nav .container{justify-content:space-between;align-items:center;gap:2.5rem;max-width:none;margin:0;padding-left:6rem;padding-right:6rem;display:flex}.logo{font-family:var(--font-heading);letter-spacing:.05em;color:var(--color-off-white);align-items:center;font-size:1.2rem;text-decoration:none;display:flex}.logo img{object-fit:contain;background:#00000059;border-radius:999px;flex-shrink:0;width:115px;height:115px;padding:.4rem;display:block;box-shadow:0 6px 18px #00000059}.nav-links{flex-shrink:0;gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--color-off-white);letter-spacing:.06em;transition:color var(--transition-fast);cursor:pointer;text-transform:uppercase;font-size:1.1rem;font-weight:400;text-decoration:none}.nav-links a:hover{color:var(--color-warm-wood)}.mobile-menu-btn{cursor:pointer;color:var(--color-off-white);background:0 0;border:none;font-size:1.5rem;display:none}.hero-intro-active{overflow:hidden}.hero-intro-active nav{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(-30px)}.hero-intro-active nav.revealed{opacity:1;transform:translateY(0)}.hero-intro-active .hero-content{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(40px)}body.intro-pending nav{opacity:0;pointer-events:none;transform:translateY(-30px)}body.intro-pending{overflow:hidden}body.intro-pending .hero-content{opacity:0;pointer-events:none;transform:translateY(40px)}.hero-intro-active .hero-content.revealed{opacity:1;transform:translateY(0)}.hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-image{object-fit:cover;filter:brightness(.7);will-change:top;width:100%;height:160%;animation:20s ease-in-out infinite alternate slowZoom;position:absolute;top:0;left:0}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-content{z-index:1;text-align:center;color:var(--color-white);padding:var(--spacing-lg);position:relative}.hero h1{color:var(--color-white);margin-bottom:var(--spacing-sm)}.hero-subtitle{letter-spacing:.05em;margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:300}.page-hero{text-align:center;padding:12rem 5% 6rem;position:relative}.page-hero h1{margin-bottom:var(--spacing-md)}.page-hero p{max-width:60ch;margin:0 auto;font-size:1.1rem}.page-hero:before{content:"";background:radial-gradient(ellipse at center, var(--color-warm-wood-alpha-04) 0%, transparent 70%);pointer-events:none;z-index:0;width:80%;height:120%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.grid-2{gap:var(--spacing-2xl);margin-top:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.grid-3{gap:var(--spacing-xl);margin-top:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.grid-offerings{gap:var(--spacing-xl);margin-top:var(--spacing-xl);grid-template-columns:repeat(4,1fr);display:grid}.offering-card{background:var(--color-bg-dark);transition:transform var(--transition-medium) cubic-bezier(.25, .46, .45, .94), box-shadow var(--transition-medium);overflow:hidden}.offering-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-8px)}.card-image{object-fit:cover;width:100%;height:300px;margin-bottom:var(--spacing-md);transition:transform var(--transition-slow) cubic-bezier(.25, .46, .45, .94), filter var(--transition-medium)}.offering-card:hover .card-image{filter:brightness(1.08)saturate(1.15);transform:scale(1.05)}.card-content{padding:0 var(--spacing-md) var(--spacing-md)}.card-content h3{margin-bottom:var(--spacing-sm)}.card-content p{color:var(--color-charcoal);font-size:.95rem}.model-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.model-card{background:var(--color-bg-dark);border:1px solid var(--color-soft-grey);cursor:pointer;transition:transform .4s,border-color .4s,box-shadow .4s;overflow:hidden}.model-card:hover{border-color:var(--color-warm-wood);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.model-card-image{object-fit:cover;width:100%;height:200px;transition:transform var(--transition-medium)}.model-card:hover .model-card-image{transform:scale(1.05)}.model-card-content{padding:var(--spacing-md)}.model-header{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-soft-grey);justify-content:space-between;align-items:center;display:flex}.model-header h3{color:var(--color-warm-wood);margin:0;font-size:1.8rem}.model-capacity{color:var(--color-text-muted);letter-spacing:.05em;font-size:.85rem}.model-card p{color:var(--color-text-subtle);margin-bottom:var(--spacing-md);font-size:.95rem;line-height:1.7}.model-specs{padding-top:var(--spacing-sm);border-top:1px solid var(--color-soft-grey);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.model-specs span:first-child{color:var(--color-text-muted)}.model-price{color:var(--color-warm-wood);font-weight:500}.comparison-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.comparison-card{background:var(--color-bg-dark);border:1px solid var(--color-soft-grey);transition:transform var(--transition-fast);overflow:hidden}.comparison-card:hover{transform:translateY(-5px)}.comparison-header{padding:var(--spacing-md);text-align:center}.comparison-header.ours{background:linear-gradient(135deg, var(--color-warm-wood), var(--color-warm-wood-dark))}.comparison-header.ours h3{color:var(--color-black)}.comparison-header.barrels,.comparison-header.infrared{background:var(--color-soft-grey)}.comparison-header h3{margin:0 0 var(--spacing-xs) 0;font-size:1.3rem}.comparison-badge{background:var(--color-black-alpha-30);color:var(--color-white);border-radius:var(--radius-lg);letter-spacing:.05em;padding:.25rem .75rem;font-size:.75rem;display:inline-block}.comparison-badge-alt{background:var(--color-white-alpha-10);color:var(--color-text-muted);border-radius:var(--radius-lg);letter-spacing:.05em;padding:.25rem .75rem;font-size:.75rem;display:inline-block}.comparison-list{padding:var(--spacing-md);margin:0;list-style:none}.comparison-list li{border-bottom:1px solid var(--color-soft-grey);color:var(--color-text-subtle);align-items:flex-start;gap:.75rem;padding:.6rem 0;font-size:.9rem;display:flex}.comparison-list li:last-child{border-bottom:none}.comparison-list .check{color:var(--color-warm-wood);font-weight:700}.comparison-list .x{color:var(--color-text-dim)}.stat-card{background:var(--color-bg-dark);padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-soft-grey)}.stat-number{color:var(--color-warm-wood);font-size:3.5rem;font-weight:400;font-family:var(--font-heading);margin-bottom:var(--spacing-sm);display:block}.stat-card p{color:var(--color-text-subtle);margin-bottom:var(--spacing-sm);font-size:.95rem}.stat-source{color:var(--color-text-dim);font-size:.8rem;font-style:italic}.btn{padding:var(--spacing-sm) 2.5rem;background:var(--color-warm-wood);color:var(--color-black);letter-spacing:.05em;transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);cursor:pointer;border-radius:var(--radius-md);border:none;font-size:1.1rem;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{background:var(--color-warm-wood-hover);box-shadow:0 8px 30px var(--color-warm-wood-alpha-25);transform:translateY(-2px)}.btn-outline{border:2px solid var(--color-off-white);border-radius:var(--radius-md);color:var(--color-off-white);background:0 0}.btn-outline:hover{background:var(--color-off-white);color:var(--color-black);transform:translateY(-2px);box-shadow:0 8px 25px #e8e6e326}.btn--hero-secondary{margin-top:var(--spacing-sm);font-size:.9rem}.full-width-image-wrap{margin:var(--spacing-2xl) 0;height:70vh;overflow:hidden}.full-width-image{object-fit:cover;will-change:transform;width:100%;height:90vh;transition:transform var(--transition-slow);display:block}.full-width-image:hover{transform:scale(1.02)}.gallery{column-count:3;column-gap:var(--spacing-md);margin-top:var(--spacing-xl)}.gallery-item{margin-bottom:var(--spacing-md);break-inside:avoid;border-radius:var(--radius-sm);position:relative;overflow:hidden}.gallery-item img{width:100%;height:auto;transition:transform var(--transition-slow) cubic-bezier(.25, .46, .45, .94), filter var(--transition-medium);display:block}.gallery-item:hover img{filter:brightness(1.08)saturate(1.15);transform:scale(1.05)}.gallery-item:after{content:"";opacity:0;transition:opacity var(--transition-medium);background:linear-gradient(#0000 50%,#8c643240 100%);position:absolute;inset:0}.gallery-item:hover:after{opacity:1}.about-banner{grid-template-columns:repeat(3,1fr);gap:0;display:grid}.about-banner img{object-fit:cover;width:100%;height:300px;transition:transform var(--transition-medium), filter var(--transition-medium)}.about-banner img:hover{filter:brightness(1.08)saturate(1.15);transform:scale(1.02)}.contact-form{max-width:600px;margin:var(--spacing-xl) auto}.form-group{margin-bottom:var(--spacing-lg)}label{margin-bottom:var(--spacing-xs);letter-spacing:.03em;color:var(--color-off-white);font-size:.9rem;display:block}input,textarea,select{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border-subtle);background:var(--color-bg-dark);color:var(--color-off-white);transition:border-color var(--transition-fast);font-family:inherit;font-size:.95rem}input:focus,textarea:focus,select:focus{border-color:var(--color-warm-wood);outline:none}:focus-visible{outline:2px solid var(--color-warm-wood);outline-offset:2px}textarea{resize:vertical;min-height:150px}.modal-overlay{background:var(--color-black);z-index:2000;opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);display:none;position:fixed;top:0;left:0;overflow-y:auto}.modal-overlay.active{opacity:1;display:block}.modal-content{max-width:1200px;margin:var(--spacing-lg) auto;padding:var(--spacing-lg);position:relative}.modal-close{top:var(--spacing-sm);right:var(--spacing-sm);color:var(--color-off-white);cursor:pointer;z-index:10;width:50px;height:50px;transition:color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:2rem;display:flex;position:absolute}.modal-close:hover{color:var(--color-warm-wood);transform:rotate(90deg)}.modal-gallery{margin-bottom:var(--spacing-lg)}.modal-main-media{width:100%;height:70vh;margin-bottom:var(--spacing-sm)}.modal-main-media img,.modal-main-media video{object-fit:contain;width:100%;height:100%}.modal-thumbnails{gap:var(--spacing-xs);padding-bottom:var(--spacing-xs);display:flex;overflow-x:auto}.modal-thumbnail{object-fit:cover;cursor:pointer;opacity:.6;width:100px;height:70px;transition:opacity var(--transition-fast), transform var(--transition-fast);flex-shrink:0}.modal-thumbnail:hover,.modal-thumbnail.active{opacity:1;transform:scale(1.05)}.modal-body{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.modal-specs h2{color:var(--color-warm-wood);margin-bottom:var(--spacing-md)}.modal-specs h3{margin-bottom:var(--spacing-sm);color:var(--color-off-white);font-size:1.1rem}.specs-grid{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}.spec-item{padding:var(--spacing-sm);background:var(--color-white-alpha-03);border-left:2px solid var(--color-warm-wood)}.spec-item label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.75rem}.spec-item span{color:var(--color-off-white);font-size:1.1rem}.standard-features{padding:var(--spacing-md);background:var(--color-warm-wood-alpha-10);border:1px solid var(--color-warm-wood-alpha-30);margin-bottom:var(--spacing-lg)}.standard-features h4{color:var(--color-warm-wood);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-size:.9rem}.standard-features ul{margin:0;padding:0;list-style:none}.standard-features li{padding:.4rem 0;padding-left:var(--spacing-md);color:var(--color-text-feature);font-size:.95rem;position:relative}.standard-features li:before{content:"✓";color:var(--color-warm-wood);position:absolute;left:0}.modal-addons h3{color:var(--color-warm-wood);margin-bottom:var(--spacing-md)}.addon-category{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-white-alpha-10)}.addon-category:last-child{border-bottom:none}.addon-category h4{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:.75rem;font-size:.85rem}.addon-option{margin-bottom:var(--spacing-xs);cursor:pointer;transition:background var(--transition-fast);background:#ffffff05;align-items:center;padding:.75rem;display:flex}.addon-option:hover{background:var(--color-white-alpha-05)}.addon-option input[type=radio],.addon-option input[type=checkbox]{width:auto;margin-right:var(--spacing-sm);accent-color:var(--color-warm-wood)}.addon-option .addon-label{flex:1;font-size:.95rem}.addon-option .addon-price{color:var(--color-warm-wood);font-weight:500}.addon-option.disabled{opacity:.4;pointer-events:none}.premium-package-category{border:1px solid var(--color-warm-wood-alpha-25);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:var(--spacing-md) 0;background:#b89c6814}.premium-package-category h4{color:var(--color-warm-wood)}.package-description{color:var(--color-text-faint);margin-bottom:var(--spacing-sm);font-size:.85rem;line-height:1.5}.package-description strong{color:var(--color-warm-wood)}.premium-option{background:var(--color-warm-wood-alpha-10);border-radius:var(--radius-sm)}.price-summary{background:var(--color-bg-dark);border-top:1px solid var(--color-warm-wood-alpha-30);padding:var(--spacing-md);margin-top:var(--spacing-2xl)}.price-row{margin-bottom:var(--spacing-xs);justify-content:space-between;font-size:.95rem;display:flex}.price-row.base{color:var(--color-text-muted)}.price-row.addon{color:var(--color-text-subtle);font-size:.9rem}.price-row.total{color:var(--color-warm-wood);padding-top:var(--spacing-sm);margin-top:var(--spacing-sm);border-top:1px solid var(--color-white-alpha-10);font-size:1.4rem;font-weight:600}.quote-btn{width:100%;margin-top:var(--spacing-md);padding:1.25rem var(--spacing-lg);background:var(--color-warm-wood);color:var(--color-charcoal);font-family:var(--font-heading);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border-radius:var(--radius-md);border:none;font-size:1.1rem}.quote-btn:hover{background:var(--color-warm-wood-hover);transform:translateY(-2px)}.contact-note{text-align:center;margin-top:var(--spacing-sm);color:var(--color-text-muted);font-size:.85rem}.map-filter-btn{background:var(--color-white-alpha-05);border:2px solid var(--color-white-alpha-10);color:var(--color-charcoal);font-family:var(--font-primary);letter-spacing:.05em;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-md);text-transform:uppercase;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500}.map-filter-btn:hover{background:var(--color-white-alpha-08);color:var(--color-off-white);border-color:#c4a57b80;transform:translateY(-2px)}.map-filter-btn.active{background:var(--color-warm-wood);border-color:var(--color-warm-wood);color:var(--color-black)}.map-filter-btn.active:hover{background:var(--color-warm-wood-hover);border-color:var(--color-warm-wood-hover)}.map-pin-icon{background:0 0;border:none}.map-pin{--pin-size:30px;--pin-core:12px;width:var(--pin-size);height:var(--pin-size);background:var(--pin-color);border:1px solid var(--pin-color-dark);border-radius:50% 50% 50% 0;position:relative;transform:rotate(-45deg);box-shadow:0 6px 12px #00000040}.map-pin__core{width:var(--pin-core);height:var(--pin-core);background:var(--pin-color);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.map-pin--commercial{--pin-color:#d7a07a;--pin-color-dark:#b8805d}.map-pin--residential{--pin-size:26px;--pin-core:10px;--pin-color:#1f4aa8;--pin-color-dark:#173a83}.lightbox-overlay{background:var(--color-black-alpha-95);z-index:3000;opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);display:none;position:fixed;top:0;left:0}.lightbox-overlay.active{opacity:1;justify-content:center;align-items:center;display:flex}.lightbox-content{justify-content:center;align-items:center;max-width:90vw;max-height:85vh;display:flex}.lightbox-content img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:85vh;box-shadow:0 20px 60px #00000080}.lightbox-close{color:var(--color-off-white);cursor:pointer;z-index:10;width:50px;height:50px;transition:color var(--transition-fast), transform var(--transition-fast);opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{color:var(--color-warm-wood);opacity:1;transform:scale(1.1)}.lightbox-nav{background:var(--color-white-alpha-10);color:var(--color-off-white);cursor:pointer;width:50px;height:50px;transition:all var(--transition-fast);opacity:.7;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{color:var(--color-warm-wood);opacity:1;background:#fff3}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{color:var(--color-off-white);letter-spacing:.1em;opacity:.7;font-size:.9rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.gallery-item{cursor:pointer}.faq-item{border-bottom:1px solid var(--color-border-subtle);padding:var(--spacing-lg) 0}.faq-item:last-child{border-bottom:none}.faq-question{margin-bottom:var(--spacing-xs);cursor:pointer;padding-right:1.75rem;font-weight:500;position:relative}.faq-answer{color:var(--color-charcoal);max-width:80ch;margin-top:.5rem;line-height:1.8;display:none}.faq-question:after{content:"+";color:var(--color-warm-wood);font-size:1.1rem;line-height:1;position:absolute;top:0;right:0}.faq-item.is-open .faq-answer{display:block}.faq-item.is-open .faq-question:after{content:"−"}footer{background:var(--color-muted-black);color:var(--color-charcoal);padding:var(--spacing-2xl) 5% var(--spacing-lg);margin-top:var(--spacing-3xl);position:relative}footer:before{content:"";background:linear-gradient(90deg,#0000,#c4a57b26,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.footer-content{gap:var(--spacing-xl);max-width:1200px;margin:0 auto;margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.footer-section h4{color:var(--color-white);margin-bottom:var(--spacing-sm);font-family:inherit;font-size:1rem}.footer-section a{color:var(--color-charcoal);margin-bottom:var(--spacing-xs);transition:color var(--transition-fast);cursor:pointer;font-size:.9rem;text-decoration:none;display:block;position:relative}.footer-section a:hover{color:var(--color-white)}.footer-section a:after{content:"";background:var(--color-off-white);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.footer-section a:hover:after{width:100%}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid #e8e6e333;font-size:.85rem}.bg-grey{background:var(--color-bg-grey)}.section--fade-edges{position:relative}.section--fade-edges:before,.section--fade-edges:after{content:"";pointer-events:none;z-index:0;height:80px;position:absolute;left:0;right:0}.section--fade-edges:before{background:linear-gradient(to bottom, var(--color-muted-black), transparent);top:0}.section--fade-edges:after{background:linear-gradient(to top, var(--color-muted-black), transparent);bottom:0}.text-center{text-align:center}.js-loaded .fade-in{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.js-loaded .slide-up{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(60px)}.slide-up.visible{opacity:1;transform:translateY(0)}.js-loaded .slide-left{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(60px)}.slide-left.visible{opacity:1;transform:translate(0)}.js-loaded .slide-right{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translate(-60px)}.slide-right.visible{opacity:1;transform:translate(0)}.js-loaded .scale-in{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:scale(.9)}.scale-in.visible{opacity:1;transform:scale(1)}.js-loaded .grid-2>*,.js-loaded .grid-3>*,.js-loaded .model-grid>*,.js-loaded .grid-offerings>*,.js-loaded .comparison-grid>*,.js-loaded .gallery-item,.js-loaded .faq-item{transition-delay:calc(var(--stagger-index,0) * .1s + 50ms)}#bookingCalendar{box-sizing:border-box;max-width:100%;overflow:hidden}.nav-links a.nav-link--accent{color:var(--color-warm-wood)}.section--mt-8{margin-top:8rem}.section--pt-6{padding-top:6rem}.section--no-padding{margin:4rem 0;padding:0}.text--intro{color:var(--color-charcoal);margin:0 auto 4rem}.text--intro-70ch{max-width:70ch;margin:0 auto 3rem}.text--intro-65ch{max-width:65ch;margin:0 auto 4rem}.text--centered-70ch{max-width:70ch;margin:0 auto}.text--centered-60ch{color:var(--color-charcoal);max-width:60ch;margin:0 auto}.link--accent{color:var(--color-warm-wood);letter-spacing:.03em;font-size:.9rem;text-decoration:none;display:inline;position:relative}.link--accent:after{content:"";background:var(--color-warm-wood);width:0;height:1px;transition:width .4s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:-2px;left:0}.link--accent:hover:after{width:100%}.link--accent-underline{color:var(--color-warm-wood);text-underline-offset:3px;text-decoration:underline 1px #c4a57b66;transition:text-decoration-color .3s}.link--accent-underline:hover{text-decoration-color:var(--color-warm-wood)}.link--charcoal{color:var(--color-charcoal);text-decoration:none}.grid-2--gap-3{gap:3rem}.grid-2--responsive-gap{align-items:start;gap:clamp(1.5rem,4vw,3rem)}.grid-2--mb-4{margin-bottom:4rem}.grid-3--mt-3{margin-top:3rem}.grid-3--mt-4{margin-top:4rem}.grid-3--mt-2{margin-top:2rem}.pos-relative{position:relative}.pos-relative--z2{z-index:2;position:relative}.pos-relative--z1{z-index:1;position:relative}.hero-overlay{position:relative;overflow:hidden}.hero-overlay__bg{will-change:transform;background-position:50%;background-size:cover;width:100%;height:130%;position:absolute;top:-10%;left:0}.hero-overlay__bg--opacity-30{opacity:.3}.hero-overlay__bg--opacity-20{opacity:.2}.hero-overlay__bg--opacity-15{opacity:.15}.hero-overlay__bg--with-brightness{opacity:.2;filter:brightness(.7)}.hero-overlay__bg--with-brightness-35{opacity:.35;filter:brightness(.7)}.hero-overlay__content{z-index:1;position:relative}.page--has-bg{position:relative}.page-bg--fixed{z-index:0;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:fixed;top:0;left:0}.page--has-bg>:not(.page-bg--fixed){z-index:1;position:relative}.page-bg--opacity-15{opacity:.15}.page-bg--opacity-30{opacity:.3}.page-bg--opacity-10{opacity:.1}.section--warm-glow{position:relative}.section--warm-glow:before{content:"";background:radial-gradient(ellipse at center, var(--color-warm-wood-alpha-05) 0%, transparent 60%);pointer-events:none;z-index:0;width:70%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.feature-image--overflow{aspect-ratio:3/2;object-fit:cover;z-index:1;width:160%;height:auto;margin-left:-60%;position:relative}.img--full-cover-500{object-fit:cover;width:100%;height:500px}.video--fullwidth{object-fit:cover;width:100%;height:70vh;display:block}.content-wrapper--narrow{max-width:700px;margin:0 auto}.content-wrapper--800{max-width:800px;margin:2rem auto 0}.cta__text{margin-bottom:2.5rem;font-size:1.05rem}.cta__buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.cta__footer{color:var(--color-charcoal);margin-top:2rem;font-size:.9rem}.center-wrapper{text-align:center;margin-top:3rem}.center-wrapper--padded{padding:2rem 0}.process-step__title{font-size:1.3rem}.testimonial-card{background:var(--color-bg-dark);text-align:center;padding:2rem}.testimonial-card__quote{margin-bottom:1rem;font-style:italic;line-height:1.8}.testimonial-card__author{color:var(--color-charcoal);margin:0;font-size:.9rem}.feature-block{text-align:center}.spacer--8{height:8rem}.location-card__highlight{color:var(--color-warm-wood);margin-bottom:.5rem}.location-card__address{color:var(--color-charcoal);margin-bottom:.5rem}.location-card__btn{margin-top:1rem}.location-card__meta{color:var(--color-text-muted);margin-top:1rem;font-size:.9rem}.map-container{border-radius:8px;width:100%;height:600px;margin-bottom:4rem;overflow:hidden;box-shadow:0 8px 24px #0006}.map-filters{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem;display:flex}.heading--mb-2{margin-bottom:2rem}.contact-form--styled{border:1px solid var(--color-white-alpha-08);backdrop-filter:blur(4px);background:#0f0f0fbf;border-radius:12px;padding:2.5rem}.contact-info{text-align:center;border-top:1px solid var(--color-border-subtle);margin-top:4rem;padding-top:3rem}.contact-info p{max-width:none;margin-left:auto;margin-right:auto}.contact-info__label{margin-bottom:.5rem}.contact-info__value{margin-bottom:2rem}.btn--full-width{width:100%}.booking-option{background:var(--color-bg-dark);border:2px solid var(--color-border-subtle);cursor:pointer;padding:clamp(1rem,3vw,1.5rem);transition:all .2s;display:block}.booking-option--selected{border-color:var(--color-warm-wood)}.booking-option__input{display:none}.booking-option__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:.5rem;display:flex}.booking-option__title{color:var(--color-off-white);font-size:1.1rem;font-weight:600}.booking-option__title--accent{color:var(--color-warm-wood)}.booking-option__price{font-size:1.3rem;font-family:var(--font-heading);color:var(--color-off-white)}.booking-option__price--accent{color:var(--color-warm-wood)}.booking-option__price-suffix{font-size:.8rem;font-weight:400}.booking-option__desc{color:var(--color-text-subtle);margin:0;font-size:.9rem}.booking-options{gap:1rem;display:grid}.info-section{margin-bottom:2rem}.info-section__title{margin-bottom:1rem;font-size:1.2rem}.info-section__intro{margin-bottom:2rem;font-size:1.1rem}.included-box{background:var(--color-bg-dark);margin-bottom:2rem;padding:2rem}.included-list{padding:0;list-style:none}.included-list__item{padding:.5rem 0 .5rem 1.5rem;position:relative}.included-list__check{color:var(--color-warm-wood);position:absolute;left:0}.included-box__note{color:var(--color-text-muted);margin-top:1rem;font-size:.85rem;font-style:italic}.booking-form-container{background:var(--color-bg-dark);border:1px solid var(--color-soft-grey);box-sizing:border-box;max-width:100%;padding:clamp(1rem,3vw,2rem);overflow:hidden}.booking-form-container__title{margin-bottom:1.5rem}.calendar-container{background:var(--color-black);border:1px solid var(--color-border-subtle);box-sizing:border-box;max-width:100%;padding:clamp(.5rem,2vw,1rem);overflow:hidden}.time-slots-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.no-slots-message{color:var(--color-text-muted);margin-top:.5rem;font-size:.9rem;display:none}.booking-summary{background:var(--color-warm-wood-alpha-10);border:1px solid var(--color-warm-wood-alpha-30);margin-bottom:1.5rem;padding:1.5rem;display:none}.booking-summary__title{color:var(--color-warm-wood);margin-bottom:1rem;font-size:1rem}.booking-summary__row{justify-content:space-between;margin-bottom:.5rem;font-size:.95rem;display:flex}.booking-summary__row--subtotal{border-top:1px solid var(--color-warm-wood-alpha-30);padding-top:.75rem}.booking-summary__row--total{border-top:1px solid var(--color-warm-wood-alpha-30);padding-top:.5rem;font-size:1.1rem}.booking-summary__total-value{color:var(--color-warm-wood)}.booking-note{text-align:center;color:var(--color-text-muted);margin-top:1rem;font-size:.85rem}.footer-logo{height:150px;margin-bottom:1rem}.footer-tagline{font-size:.9rem;line-height:1.6}@media (width<=1200px){.gallery{column-count:3}}@media (width<=1100px){.grid-offerings{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.gallery{column-count:2}.modal-body{grid-template-columns:1fr}.modal-main-media{height:300px}.modal-content{padding:var(--spacing-sm);margin:var(--spacing-sm)}}@media (width<=860px){.nav-links{background:var(--color-muted-black);width:100%;padding:var(--spacing-lg) 5%;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border-subtle);flex-direction:column;display:none;position:absolute;top:100%;left:0}.nav-links.active{display:flex}.mobile-menu-btn{display:block}}@media (width<=768px){body:after{display:none}section{padding:var(--spacing-2xl) 5%}.hero{height:80vh}.gallery{column-count:1}.grid-2,.grid-3{gap:var(--spacing-lg);grid-template-columns:1fr}.about-banner{grid-template-columns:1fr}.about-banner img{height:200px}.section--fade-edges:before,.section--fade-edges:after{height:50px}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.lightbox-close{top:.5rem;right:.5rem}input,select,textarea{font-size:16px!important}#bookingCalendar{padding:.5rem!important}#timeSlots button{padding:.75rem .5rem!important;font-size:.85rem!important}#bookingSummary div[style*="display: flex"]{gap:.5rem}#bookingSummary div[style*="display: flex"] strong{text-align:right;word-break:break-word}}@media (width<=600px){.gallery{column-count:1}.grid-offerings{grid-template-columns:1fr}}@media (width<=400px){#bookingCalendar{padding:.25rem!important}#timeSlots{grid-template-columns:1fr!important}}@media print{body:after{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}