@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&display=swap";.navbar{z-index:100;mix-blend-mode:difference;color:#fff;width:100%;padding:30px 5%;position:absolute;top:0;left:0}.navbar-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.nav-logo{font-family:var(--font-serif);letter-spacing:.05em;font-size:1.5rem;text-decoration:none}.nav-links{gap:40px;display:flex}.nav-link{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;text-decoration:none;transition:opacity .3s}.nav-link:hover{opacity:.6}.hamburger{cursor:pointer;z-index:101;display:none}.hamburger .bar{background-color:#fff;width:25px;height:2px;margin:5px auto;transition:all .3s ease-in-out;display:block}@media (width<=768px){.navbar-container{flex-direction:row;justify-content:space-between}.hamburger{display:block}.hamburger.active .bar:nth-child(2){opacity:0}.hamburger.active .bar:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.active .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-links{z-index:100;background-color:#111;flex-direction:column;justify-content:center;align-items:center;gap:40px;width:100vw;height:100vh;transition:all .4s ease-in-out;display:flex;position:fixed;top:0;left:-100%}.nav-links.active{left:0}.nav-link{font-size:1.5rem}}.footer-section{color:#fff;background-color:#111;margin-top:auto;padding:150px 5% 50px}.footer-title{color:#fff;max-width:800px;margin-bottom:30px;font-size:clamp(3rem,5vw,4.5rem)}.footer-intro{color:#ccc;max-width:700px;margin-bottom:80px;font-size:1.1rem;line-height:1.8}.footer-grid{grid-template-columns:2fr 1fr;gap:100px;margin-bottom:100px;display:grid}@media (width<=992px){.footer-grid{grid-template-columns:1fr;gap:60px}}.section-subtitle{font-size:2rem;font-family:var(--font-serif);margin-bottom:20px}.direct-contact{margin-bottom:40px;font-size:1.05rem}.direct-contact a{text-decoration:underline;transition:color .3s}.direct-contact a:hover{color:#fff}.form-row{grid-template-columns:1fr 1fr;gap:30px;display:grid}@media (width<=576px){.form-row{grid-template-columns:1fr}}.form-group input,.form-group textarea,.form-input,.form-textarea{width:100%;font-family:var(--font-sans);color:#fff;background:0 0;border:none;border-bottom:1px solid #fff3;padding:15px 0;font-size:1rem;transition:border-color .3s}.form-group select{cursor:pointer;appearance:none;border-radius:0}.form-group select option{color:#fff;background-color:#111;padding:10px}.form-input:focus,.form-textarea:focus{border-bottom-color:#fff;outline:none}.form-input::placeholder,.form-textarea::placeholder{color:#fff6}.submit-btn{color:#111;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background-color:#fff;border:1px solid #fff;align-self:flex-start;padding:15px 40px;font-size:.9rem;transition:transform .3s,background .3s}.submit-btn:hover{color:#fff;background-color:#0000;transform:translateY(-2px)}.footer-info-col{flex-direction:column;gap:40px;margin-top:15px;display:flex}.info-block h3{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:15px;font-size:.8rem}.footer-info-only{justify-content:center;align-items:center;width:100%;margin-bottom:50px;display:flex}.footer-info-only .footer-info-col{flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%;max-width:none;margin-top:0}@media (width<=768px){.footer-info-only .footer-info-col{text-align:center;flex-direction:column;align-items:center;gap:30px}}.info-block p,.info-block a{color:#ccc;margin-bottom:5px;font-size:1rem;transition:color .3s;display:block}.info-block a:hover{color:#fff}.social-icons{gap:20px;display:flex}.social-icons a{color:#fff;transition:opacity .3s}.social-icons a:hover{opacity:.6}.footer-bottom{color:#666;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-top:30px;font-size:.9rem;display:flex}@media (width<=768px){.footer-bottom{text-align:center;flex-direction:column;justify-content:center}.footer-bottom-links{flex-wrap:wrap;justify-content:center}}.footer-bottom-links{gap:30px;display:flex}.footer-bottom-links a{text-transform:uppercase;letter-spacing:.1em;color:#888;font-size:.85rem;transition:color .3s}.footer-bottom-links a:hover{color:#fff}.hero-section{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.hero-background{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-image{object-fit:cover;object-position:center 20%;width:100%;height:100%}.hero-overlay{background:linear-gradient(#ffffff1a 0%,#fffc 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;text-align:center;max-width:800px;margin-top:10vh;padding:0 20px;position:relative}.hero-headline{letter-spacing:-1px;color:#111;text-shadow:0 4px 12px #ffffff80;margin-bottom:20px;font-size:clamp(4rem,8vw,8rem);line-height:.9}.hero-subheadline{color:#333;max-width:600px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:300;line-height:1.6}.hero-cta{text-transform:uppercase;letter-spacing:.1em;color:#fff;transition:var(--transition-smooth);cursor:pointer;background-color:#111;border:1px solid #111;padding:16px 40px;font-size:.9rem;display:inline-block}.hero-cta:hover{color:#111;background-color:#0000}@media (width<=768px){.hero-headline{font-size:3rem}.hero-subheadline{margin-bottom:30px;padding:0 10px;font-size:1rem}.hero-content{margin-top:15vh}}.portfolio-section{background-color:var(--bg-color)}.portfolio-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:60px;display:flex}.portfolio-title{letter-spacing:-.01em;font-size:clamp(2.5rem,5vw,4rem)}.portfolio-filters{flex-wrap:wrap;gap:20px;display:flex}.filter-btn{font-family:var(--font-sans);color:#888;cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding-bottom:4px;font-size:.9rem;font-weight:400;position:relative}.filter-btn:after{content:"";width:0;height:1px;transition:var(--transition-smooth);background-color:#fff;position:absolute;bottom:0;left:0}.filter-btn:hover,.filter-btn.active{color:#111}.filter-btn.active:after{width:100%}.masonry-grid{column-count:3;column-gap:30px}@media (width<=992px){.masonry-grid{column-count:2}}@media (width<=576px){.masonry-grid{column-count:1}}.masonry-item{break-inside:avoid;cursor:pointer;margin-bottom:30px}.masonry-item.item-0 .image-wrapper{padding-bottom:20px}.masonry-item.item-1 .image-wrapper{padding-top:40px}.masonry-item.item-2 .image-wrapper{padding-bottom:60px}.image-wrapper{background-color:#f0f0f0;position:relative;overflow:hidden}.image-wrapper img{width:100%;height:auto;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}.image-wrapper:hover img{transform:scale(1.05)}.image-overlay{opacity:0;width:100%;height:100%;transition:var(--transition-smooth);background:#0006;flex-direction:column;justify-content:flex-end;padding:30px;display:flex;position:absolute;top:0;left:0}.image-wrapper:hover .image-overlay{opacity:1}.project-category{color:#fff;text-transform:uppercase;letter-spacing:.1em;transition:var(--transition-smooth);margin-bottom:10px;font-size:.8rem;transform:translateY(15px)}.project-title{color:#fff;font-size:1.8rem;font-family:var(--font-serif);transition:var(--transition-smooth);transition-delay:50ms;transform:translateY(15px)}.image-wrapper:hover .project-category,.image-wrapper:hover .project-title{transform:translateY(0)}.clickable{cursor:pointer}.lightbox-modal{background-color:var(--bg-color);z-index:1000;width:100vw;height:100vh;padding:60px 5%;display:block;position:fixed;top:0;left:0;overflow-y:auto}.lightbox-content{background:0 0;flex-direction:column;width:100%;max-width:1400px;margin:0 auto;display:flex;position:relative}.lightbox-header{text-align:center;max-width:800px;margin:0 auto;padding:0 0 40px}.lightbox-title{color:var(--text-color);font-size:2.5rem;font-family:var(--font-serif);margin-bottom:15px}.lightbox-description{color:#555;font-size:1.1rem;line-height:1.6;font-family:var(--font-sans)}.fullscreen-slider-modal{background-color:var(--bg-color);z-index:2000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.slider-content{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex;position:relative}.slider-image{object-fit:contain;max-width:90vw;max-height:85vh;animation:.3s ease-out fadeIn;box-shadow:0 10px 40px #0000001a}.slider-caption{font-family:var(--font-sans);color:var(--text-color);letter-spacing:.05em;text-transform:uppercase;margin-top:20px;font-size:1rem}.slider-nav{color:var(--text-color);cursor:pointer;z-index:2010;opacity:.5;background:0 0;border:none;padding:20px;font-size:3rem;transition:opacity .3s;position:absolute;top:50%;transform:translateY(-50%)}.slider-nav:hover{opacity:1}.prev-btn{left:20px}.next-btn{right:20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.close-btn{color:var(--text-color);cursor:pointer;z-index:2010;background:0 0;border:none;font-size:3rem;font-weight:300;transition:opacity .3s;position:fixed;top:20px;right:40px}.close-btn:hover{opacity:.5}@media (width<=768px){.portfolio-header{flex-direction:column;align-items:flex-start}.portfolio-title{font-size:2.5rem}.slider-nav{padding:10px;font-size:2rem}.prev-btn{left:5px}.next-btn{right:5px}.close-btn{font-size:2.5rem;top:15px;right:20px}.slider-image{max-width:95vw}.slider-caption{font-size:.85rem}.lightbox-modal{padding:60px 15px}}.testimonial-section{background-color:var(--bg-color);text-align:center;border-top:1px solid #0000000d;border-bottom:1px solid #0000000d}.testimonial-label{text-transform:uppercase;letter-spacing:.2em;color:#888;margin-bottom:60px;font-size:.8rem;display:block}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:40px;max-width:1200px;margin:0 auto;display:grid}@media (width<=992px){.testimonial-grid{grid-template-columns:1fr;gap:50px}}.testimonial-card{text-align:left;background-color:#fafafa;border-radius:8px;flex-direction:column;justify-content:space-between;padding:30px;display:flex}.testimonial-quote{font-size:1.25rem;font-family:var(--font-serif);color:var(--text-color);margin-bottom:30px;font-style:italic;line-height:1.6}.testimonial-author{font-size:.85rem;font-family:var(--font-sans);color:#555;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:8px;font-style:normal;display:flex}.author-icon{color:var(--accent-color);font-size:1rem}.faq-section{background-color:var(--bg-color)}.faq-wrapper{max-width:800px;margin:0 auto}.faq-title{text-align:center;margin-bottom:50px;font-size:clamp(2.5rem,4vw,3.5rem)}.faq-accordion{border-top:1px solid #0000001a}.faq-item{border-bottom:1px solid #0000001a}.faq-question{text-align:left;width:100%;font-size:1.2rem;font-family:var(--font-serif);color:var(--text-color);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:30px 0;transition:color .3s;display:flex}.faq-question:hover{color:#555}.faq-icon{width:14px;height:14px;position:relative}.faq-icon:before,.faq-icon:after{content:"";background-color:var(--text-color);transition:transform .4s cubic-bezier(.22,1,.36,1);position:absolute}.faq-icon:before{width:100%;height:2px;top:6px;left:0}.faq-icon:after{width:2px;height:100%;top:0;left:6px}.faq-item.open .faq-icon:after{opacity:0;transform:rotate(90deg)}.faq-answer-wrapper{transition:max-height .5s cubic-bezier(.22,1,.36,1);overflow:hidden}.faq-answer{color:#666;padding-bottom:30px;font-size:1.05rem;line-height:1.7}.about-section{background-color:var(--bg-color);border-top:1px solid #0000000d}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}@media (width<=992px){.about-grid{grid-template-columns:1fr;gap:50px}}.about-image-wrapper{padding-bottom:120%;position:relative;overflow:hidden}.about-image-wrapper img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.about-label{text-transform:uppercase;letter-spacing:.2em;color:#888;margin-bottom:20px;font-size:.8rem;display:block}.about-title{color:#111;margin-bottom:40px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.about-description{color:#555;max-width:500px;margin-bottom:20px;font-size:1.1rem;line-height:1.8}@media (width<=768px){.about-title{margin-bottom:30px;font-size:2.2rem}.about-description{font-size:1rem}.about-grid{gap:30px}}.contact-page{background-color:var(--bg-color);padding-top:120px}.contact-content{max-width:1400px;margin:0 auto}.contact-title{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(3rem,6vw,5rem);line-height:1}.contact-intro{color:#666;max-width:800px;margin-bottom:60px;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.4}.contact-form-col{width:100%;max-width:800px}.form-notice{color:#888;margin-bottom:30px;font-size:.9rem}.booking-form{flex-direction:column;gap:20px;display:flex}.form-row{gap:20px;display:flex}.form-row .form-group{flex:1}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--text-color);font-family:var(--font-sans);transition:var(--transition-smooth);background:0 0;border:none;border-bottom:1px solid #333;border-radius:0;padding:15px 0;font-size:1rem}.form-group select{appearance:none;cursor:pointer}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom-color:var(--text-color);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#666}.submit-btn{color:var(--text-color);border:1px solid var(--text-color);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--transition-smooth);background:0 0;align-self:flex-start;margin-top:20px;padding:15px 30px;font-size:1rem}.submit-btn:hover{background:var(--text-color);color:var(--bg-color)}@media (width<=768px){.contact-page{padding-top:100px}.form-row{flex-direction:column;gap:20px}.contact-title{font-size:2.5rem}}:root{--bg-color:#fff;--text-color:#121212;--accent-color:#d4af37;--font-serif:"Cormorant Garamond", serif;--font-sans:"DM Sans", sans-serif;--transition-smooth:.6s cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{flex-direction:column;flex:1;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);margin:0;font-weight:400}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.reveal{opacity:0;transition:all 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.container{max-width:1400px;margin:0 auto;padding:0 5%}.section-padding{padding:120px 0}
