:root{--color-bg-primary:#faf7f2;--color-bg-secondary:#ede6de;--color-bg-white:#fff;--color-text-main:#3d3d3d;--color-text-heading:#4a3728;--color-accent-primary:#c97b63;--color-accent-primary-hover:#b86d55;--color-accent-primary-light:#bfa095;--color-accent-secondary:#8fa676;--color-accent-decorative:#e0c4b8;--color-blob-green:#e8eedc;--color-border:#d8ccc4;--font-heading:"Syne", sans-serif;--font-body:"Outfit", sans-serif;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--container-width:1200px;--header-height:80px;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--radius-blob:60% 40% 40% 60% / 50% 50% 50% 50%;--shadow-soft:0 4px 20px -4px rgba(74,55,40,.12), 0 2px 8px -2px rgba(74,55,40,.08);--shadow-hover:0 12px 40px -8px rgba(74,55,40,.18), 0 4px 12px -2px rgba(74,55,40,.1);--shadow-card:0 2px 12px -2px rgba(74,55,40,.1), 0 1px 4px rgba(74,55,40,.06);--transition-base:all .3s cubic-bezier(.25, .46, .45, .94)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;width:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text-main);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;min-height:100vh;padding-top:var(--header-height);flex-direction:column;font-size:16px;line-height:1.6;display:flex;position:relative;overflow-x:hidden}main{flex:1;width:100%}.skip-link{background:var(--color-accent-primary);color:#fff;z-index:10001;padding:8px;transition:top .3s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--color-accent-primary);outline-offset:2px}img{border-radius:var(--radius-sm);max-width:100%;height:auto;display:block}ul{list-style:none}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(../assets/fonts/Outfit-Light.ttf)format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/Outfit-Regular.ttf)format("truetype")}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/Outfit-Medium.ttf)format("truetype")}@font-face{font-family:Syne;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/Syne-Regular.ttf)format("truetype")}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/Syne-SemiBold.ttf)format("truetype")}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/Syne-Bold.ttf)format("truetype")}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text-heading);margin-bottom:var(--spacing-sm);font-weight:700;line-height:1.15}h1{letter-spacing:-1px;font-size:max(2.5rem,min(5vw,3.5rem))}h2{font-size:max(2rem,min(4vw,2.5rem))}h3{font-size:max(1.2rem,min(3vw,1.5rem));font-weight:600}p{margin-bottom:var(--spacing-sm)}a{color:inherit;transition:var(--transition-base);text-decoration:none}.highlight{color:var(--color-accent-primary);display:inline-block;position:relative}.header{height:var(--header-height);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background-color:rgba(250,247,242,.95);border-bottom:1px solid rgba(216,204,196,.5);align-items:center;width:100%;display:flex;position:fixed;top:0;box-shadow:0 2px 12px rgba(74,55,40,.08)}.logo{font-family:var(--font-heading);color:var(--color-text-heading);letter-spacing:-.5px;font-size:1.5rem;font-weight:700;display:flex}.logo-img{width:auto;max-height:80px;transition:max-height .3s}@media (max-width:768px){.logo-img{max-height:50px}}.nav-desktop ul{gap:2.5rem}.nav-desktop a{color:var(--color-text-heading);white-space:nowrap;font-size:.95rem;font-weight:500}.nav-desktop a:hover{color:var(--color-accent-primary)}.mobile-toggle{cursor:pointer;background:0 0;border:none;display:none}@media (max-width:768px){.nav-desktop{display:none}.mobile-toggle{z-index:1001;display:block;position:relative}}.mobile-nav{background:var(--color-bg-primary);z-index:998;opacity:0;visibility:hidden;justify-content:center;align-items:center;padding:2rem;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;right:0;transform:translate(100%)}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translate(0)}.mobile-nav ul{text-align:center;flex-direction:column;gap:2rem;width:100%;display:flex}.mobile-nav a{font-size:2rem;font-family:var(--font-heading);color:var(--color-text-heading);font-weight:600;display:block}.footer{background-color:var(--color-bg-white);padding:var(--spacing-lg) 0;margin-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.social-links{gap:1rem;margin-top:1rem;display:flex}.social-links a{color:var(--color-text-heading);transition:transform .2s,color .2s}.social-links a:hover{color:var(--color-accent-primary);transform:translateY(-3px)}.footer-copyright{opacity:.6;text-align:center;margin-top:3rem;font-size:.8rem}#widget-a11y-container{color:#000;background-color:#fff;border-radius:8px;margin-bottom:.5rem;padding:.5rem;box-shadow:0 2px 4px rgba(0,0,0,.1)}.footer-a11y{text-align:center;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.footer-a11y a{background-color:var(--color-bg-white);border:1px solid var(--color-border);color:var(--color-text-body);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 4px rgba(0,0,0,.05)}.footer-a11y a:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.section{padding:var(--spacing-lg) 0}.section-small{padding:var(--spacing-xs) 0}.bg-soft{background-color:var(--color-bg-secondary)}.grid-3{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:900px){.grid-3{grid-template-columns:1fr}.grid-4{gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.grid-4{grid-template-columns:1fr}}.hero{padding:var(--spacing-lg) 0;align-items:center;min-height:80vh;display:flex}.hero-grid{gap:var(--spacing-lg);grid-template-columns:1fr 1fr;align-items:center;display:grid}.hero-img{box-shadow:var(--shadow-soft);object-fit:cover;opacity:0;border-radius:200px 200px 20px 20px;width:100%;height:500px;animation:1.2s cubic-bezier(.5,0,0,1) .4s forwards fade-up}.collage-grid{gap:var(--spacing-lg);grid-template-columns:1.2fr .8fr;align-items:center;display:grid}.collage-img-group{height:400px;position:relative}.col-img-1{object-fit:cover;border-radius:var(--radius-md);width:80%;height:100%;position:absolute;top:0;left:0}.col-img-2{aspect-ratio:1;object-fit:cover;width:50%;box-shadow:var(--shadow-soft);border:5px solid #fff;border-radius:50%;position:absolute;bottom:-30px;right:0}@media (max-width:900px){.hero-grid,.collage-grid{grid-template-columns:1fr}.hero-img{order:-1;height:350px}.collage-img-group{order:-1;height:300px;margin-bottom:2rem}}@media (max-width:768px){.hero{text-align:center}.hero-grid{gap:var(--spacing-md)}.buttons-group{flex-direction:column;gap:1rem}}.btn{font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:1px solid transparent;border-radius:50px;padding:.9rem 2.2rem;font-size:.9rem;font-weight:600;transition:all .3s;display:inline-block}.btn-primary{background-color:var(--color-accent-primary);color:#fff;border:1px solid rgba(201,123,99,.3);box-shadow:0 4px 16px rgba(201,123,99,.35),0 2px 6px rgba(201,123,99,.2)}.btn-secondary{color:var(--color-text-heading);border:2px solid var(--color-border);background-color:#fff;box-shadow:0 2px 8px rgba(74,55,40,.08)}.btn-secondary:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 4px 16px rgba(201,123,99,.2)}@media (hover:hover){.btn-primary:hover{background-color:var(--color-accent-primary-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(199,125,99,.4)}}@media (max-width:768px){.btn{width:100%}}.card-soft{padding:var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);text-align:center;border:1px solid var(--color-border);background:#fff;transition:transform .3s,box-shadow .3s}@media (hover:hover){.card-soft:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}}.card-icon{margin-bottom:1rem;font-size:2.5rem;display:block}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.gallery-item{border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-soft);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .3s;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:300px;transition:transform .5s}@media (hover:hover){.gallery-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-5px)}.gallery-item:hover img{transform:scale(1.05)}}.lightbox{width:100%;height:100%;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10000;opacity:0;visibility:hidden;cursor:zoom-out;background-color:rgba(253,251,247,.95);justify-content:center;align-items:center;height:100dvh;padding:0;transition:all .3s;display:flex;position:fixed;top:0;left:0}.lightbox.active{opacity:1;visibility:visible}.lightbox img{max-width:95vw;max-height:90vh;border-radius:var(--radius-sm);max-height:90dvh;box-shadow:var(--shadow-hover);object-fit:contain;cursor:default;opacity:0;margin:auto;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s;transform:scale(.95)}.lightbox.active img{opacity:1;transform:scale(1)}@media (hover:hover){.lightbox img{opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s;transform:scale(.95)}.lightbox.active img{opacity:1;transform:scale(1)}}.lightbox-close{cursor:pointer;color:var(--color-text-heading);background:0 0;border:none;padding:1rem;transition:transform .2s;position:absolute;top:2rem;right:2rem}.lightbox-close:hover{color:var(--color-accent-primary);transform:rotate(90deg)}.faq-container{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.faq-item{border-radius:var(--radius-md);box-shadow:var(--shadow-soft);background:#fff;border:1px solid rgba(0,0,0,.02);transition:all .3s}.faq-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.faq-item[open]{border-left:4px solid var(--color-accent-primary)}.faq-summary{cursor:pointer;font-weight:600;font-family:var(--font-heading);color:var(--color-text-heading);justify-content:space-between;align-items:center;padding:1.2rem;font-size:1.05rem;list-style:none;display:flex}.faq-summary::-webkit-details-marker{display:none}.faq-summary:after{content:"+";color:var(--color-accent-primary);font-size:1.5rem;line-height:0;transition:transform .3s}.faq-item[open] .faq-summary:after{transform:rotate(45deg)}.faq-content{color:var(--color-text-main);padding:0 1.2rem 1.2rem;line-height:1.6;animation:.3s ease-out fade-up}.map-section{padding-bottom:0;position:relative;overflow:hidden}.map-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);width:100%;height:450px;margin-top:var(--spacing-md);border:5px solid #fff;transition:transform .3s;position:relative;overflow:hidden}.map-container:hover{box-shadow:var(--shadow-hover);filter:none;transform:translateY(-5px)}.map-container iframe:focus{outline:3px solid var(--color-accent-primary);outline-offset:-3px}.map-modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;opacity:0;visibility:hidden;background-color:rgba(253,251,247,.95);justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;transition:all .3s;display:flex;position:fixed;top:0;left:0}.map-modal.active{opacity:1;visibility:visible}.map-modal-content{border-radius:var(--radius-lg);width:90%;max-width:800px;height:60vh;box-shadow:var(--shadow-hover);background:#fff;border:5px solid #fff;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;transform:scale(.9)}.map-modal.active .map-modal-content{transform:scale(1)}.map-close{color:var(--color-text-heading);cursor:pointer;z-index:10;background:rgba(255,255,255,.9);border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 10px rgba(0,0,0,.1)}.map-close:hover{color:var(--color-accent-primary);background:#fff}.clickable-address{cursor:pointer;border-bottom:1px dashed var(--color-accent-primary);padding-bottom:2px;transition:all .2s}.clickable-address:hover{color:var(--color-accent-primary);background-color:rgba(214,140,117,.1)}.container{width:90%;max-width:var(--container-width);padding:0 var(--spacing-sm);margin:0 auto;position:relative}.d-flex{display:flex}.align-center{align-items:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.bg-overflow-container{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.blob-bg{z-index:-1;opacity:.4;filter:blur(40px);pointer-events:none;animation:20s ease-in-out infinite float;position:absolute}.blob-1{background:var(--color-accent-decorative);border-radius:50%;width:60vw;height:60vw;top:-20%;right:-20%}.blob-2{background:var(--color-blob-green);border-radius:50%;width:40vw;height:40vw;animation-delay:-10s;bottom:10%;left:-10%}@media (max-width:768px){.blob-1{top:-10%;right:-40%}}@keyframes float{0%{transform:translate(0)}33%{transform:translate(30px,-50px)}66%{transform:translate(-20px,20px)}to{transform:translate(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:all .8s cubic-bezier(.5,0,0,1);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.hero-content>*{opacity:0;animation:1s cubic-bezier(.5,0,0,1) forwards fade-up}.hero-content span{animation-delay:.1s}.hero-content h1{animation-delay:.3s}.hero-content p{animation-delay:.5s}.hero-content .buttons-group{animation-delay:.7s}@media (max-width:900px){:root{--spacing-lg:3rem;--spacing-xl:4rem}h1{font-size:2.8rem}}@media (max-width:768px){h1{font-size:2.2rem}h2{font-size:1.8rem}.contact-grid{flex-direction:column;display:flex}.contact-right{margin-bottom:var(--spacing-md);order:-1;width:100%;max-width:100%;overflow:hidden}.contact-right .card-soft{width:100%;max-width:100%}.calendly-inline-widget{width:100%!important;min-width:0!important;max-width:100%!important}.calendly-inline-widget iframe{width:100%!important;max-width:100%!important}}[data-theme=dark]{--color-bg-primary:#1a1614;--color-bg-secondary:#252220;--color-bg-white:#2d2926;--color-text-main:#e0d8d4;--color-text-heading:#f5e6df;--color-accent-primary:#e8a08a;--color-accent-secondary:#b8c9a0;--color-accent-decorative:#3d3531;--color-border:#3d3531;--shadow-soft:0 10px 40px -10px rgba(0,0,0,.3);--shadow-hover:0 15px 45px -5px rgba(0,0,0,.4)}.theme-toggle{cursor:pointer;color:var(--color-text-heading);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin-right:1rem;padding:.5rem;transition:all .3s;display:flex}.theme-toggle:hover{background-color:var(--color-bg-secondary);transform:rotate(15deg)}.theme-toggle svg{width:20px;height:20px;transition:all .3s}.theme-icon-light{display:none}.theme-icon-dark,[data-theme=dark] .theme-icon-light{display:block}[data-theme=dark] .theme-icon-dark{display:none}[data-theme=dark] .header{background-color:rgba(26,22,20,.95)}[data-theme=dark] .btn-secondary{background-color:var(--color-bg-secondary);border-color:var(--color-border)}[data-theme=dark] .card-soft{background:var(--color-bg-white)}[data-theme=dark] .lightbox{background-color:rgba(26,22,20,.95)}[data-theme=dark] .mobile-nav{background:var(--color-bg-primary)}[data-theme=dark] .blob-bg{opacity:.2}[data-theme=dark] .col-img-2,[data-theme=dark] .map-container{border-color:var(--color-bg-secondary)}[data-theme=dark] .faq-item{background:var(--color-bg-white)}[data-theme=dark] .map-modal-content{background:var(--color-bg-white);border-color:var(--color-bg-secondary)}[data-theme=dark] .footer-a11y a{border-color:var(--color-text-main);color:var(--color-text-heading);background-color:rgba(255,255,255,.05)}[data-theme=dark] .footer-a11y a:hover{border-color:var(--color-accent-primary);color:var(--color-accent-primary);background-color:rgba(255,255,255,.1)}