*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#1a1a1a;--white:#fff;--cream:#f9f7f4;--warm-gray:#e6e4e3;--dark-gray:#555;--accent:#8b6f47;--accent-dark:#6b5535;--accent-light:#c4a97d;--pink:#d4a5a5;--green:#5a7247;--green-light:#7a9a5f;--section-pad:100px 0;--container:1200px;--font-body:"Figtree", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;--transition:.3s ease}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.container{width:90%;max-width:var(--container);margin:0 auto}.section{padding:var(--section-pad)}.section-label{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:.75rem;font-weight:600}.section-title{font-family:var(--font-display);color:var(--black);margin-bottom:20px;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.15}.section-subtitle{color:var(--dark-gray);max-width:600px;font-size:1.05rem;line-height:1.8}.btn{font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;border:2px solid var(--black);color:var(--black);cursor:pointer;transition:var(--transition);background:0 0;border-radius:0;align-items:center;gap:8px;padding:14px 32px;font-size:.85rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--black);color:var(--white)}.btn--filled{background:var(--black);color:var(--white);border-color:var(--black)}.btn--filled:hover{color:var(--black);background:0 0}.btn--white{border-color:var(--white);color:var(--white)}.btn--white:hover{background:var(--white);color:var(--black)}.btn--accent{background:var(--accent);color:var(--white);border-color:var(--accent)}.btn--accent:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--white)}.header{z-index:1000;transition:background .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.header--scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;box-shadow:0 2px 20px #00000014}.header__inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:20px 5%;display:flex}.header__logo{font-family:var(--font-display);color:var(--black);letter-spacing:-.5px;font-size:1.5rem;font-weight:400}.header__logo span{color:var(--accent)}.header--scrolled .header__logo{color:var(--black)}.header__nav{align-items:center;gap:32px;display:flex}.header__nav a{letter-spacing:.5px;text-transform:uppercase;color:var(--black);transition:color var(--transition);font-size:.85rem;font-weight:500;position:relative}.header__nav a:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.header__nav a:hover:after,.header__nav a.active:after{width:100%}.header__nav a:hover{color:var(--accent)}.header__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.header__hamburger span{background:var(--black);width:24px;height:2px;transition:var(--transition);display:block}.mobile-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:999;background:#fffffffa;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:none;position:fixed;inset:0}.mobile-nav.open{display:flex}.mobile-nav a{font-family:var(--font-display);color:var(--black);transition:color var(--transition);font-size:1.8rem}.mobile-nav a:hover{color:var(--accent)}.mobile-nav__close{cursor:pointer;color:var(--black);background:0 0;border:none;font-size:2rem;position:absolute;top:24px;right:24px}@media (width<=900px){.header__nav{display:none}.header__hamburger{display:flex}}.hero{background:var(--cream);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero__bg{z-index:0;position:absolute;inset:0}.hero__bg img{object-fit:cover;width:100%;height:100%}.hero__overlay{z-index:1;background:linear-gradient(135deg,#00000073 0%,#00000026 100%);position:absolute;inset:0}.hero__content{z-index:2;max-width:700px;padding:0 8%;position:relative}.hero__label{letter-spacing:3px;text-transform:uppercase;color:var(--accent-light);margin-bottom:20px;font-size:.8rem;font-weight:600}.hero__title{font-family:var(--font-display);color:var(--white);margin-bottom:24px;font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:300;line-height:1.1}.hero__title em{color:var(--accent-light);font-style:italic}.hero__desc{color:#ffffffd9;max-width:520px;margin-bottom:36px;font-size:1.1rem;line-height:1.8}.hero__stats{border-top:1px solid #fff3;gap:48px;margin-top:48px;padding-top:36px;display:flex}.hero__stat-num{font-family:var(--font-display);color:var(--white);font-size:2.5rem;font-weight:400;line-height:1}.hero__stat-label{letter-spacing:1px;text-transform:uppercase;color:#fff9;margin-top:6px;font-size:.8rem}@media (width<=768px){.hero{min-height:90vh}.hero__stats{flex-wrap:wrap;gap:24px}}.about-preview{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-preview__images{grid-template-columns:1fr 1fr;gap:16px;display:grid}.about-preview__images img{object-fit:cover;border-radius:4px;width:100%}.about-preview__images img:first-child{grid-row:span 2;height:100%}.about-preview__quote{font-family:var(--font-display);color:var(--accent);border-left:2px solid var(--accent-light);margin-top:24px;padding-left:20px;font-size:1.1rem;font-style:italic}@media (width<=768px){.about-preview{grid-template-columns:1fr;gap:40px}}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{aspect-ratio:4/5;cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.service-card img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.service-card:hover img{transform:scale(1.05)}.service-card__overlay{background:linear-gradient(#0000 50%,#000000b3 100%);flex-direction:column;justify-content:flex-end;padding:32px;display:flex;position:absolute;inset:0}.service-card__title{font-family:var(--font-display);color:var(--white);margin-bottom:8px;font-size:1.5rem}.service-card__desc{color:#fffc;font-size:.9rem;line-height:1.6}@media (width<=768px){.services-grid{grid-template-columns:1fr}.service-card{aspect-ratio:3/4}}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover;cursor:pointer;border-radius:2px;width:100%;transition:transform .4s,opacity .4s}.gallery-grid img:hover{opacity:.9;transform:scale(1.03)}.gallery-filter{flex-wrap:wrap;gap:12px;margin-bottom:40px;display:flex}.gallery-filter button{font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;border:1.5px solid var(--warm-gray);color:var(--dark-gray);cursor:pointer;transition:var(--transition);background:0 0;border-radius:0;padding:8px 20px;font-size:.8rem;font-weight:600}.gallery-filter button.active,.gallery-filter button:hover{background:var(--black);color:var(--white);border-color:var(--black)}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.testimonial-card{background:var(--cream);border-radius:4px;padding:40px;position:relative}.testimonial-card__quote{color:var(--black);margin-bottom:24px;font-size:1.1rem;font-style:italic;line-height:1.8}.testimonial-card__author{font-size:.9rem;font-weight:600}.testimonial-card__role{color:var(--dark-gray);font-size:.8rem}.testimonial-card__stars{color:var(--accent);letter-spacing:4px;margin-bottom:16px;font-size:1.1rem}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (width<=768px){.testimonials-grid{grid-template-columns:1fr}}.blog-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.blog-card{background:var(--white);border:1px solid var(--warm-gray);transition:box-shadow var(--transition), transform var(--transition);border-radius:4px;overflow:hidden}.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.blog-card__img{aspect-ratio:16/10;overflow:hidden}.blog-card__img img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.blog-card:hover .blog-card__img img{transform:scale(1.05)}.blog-card__body{padding:24px}.blog-card__date{color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:600}.blog-card__title{font-family:var(--font-display);color:var(--black);margin-bottom:12px;font-size:1.2rem;font-weight:400;line-height:1.4}.blog-card__excerpt{color:var(--dark-gray);font-size:.9rem;line-height:1.7}@media (width<=768px){.blog-grid{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1fr 1fr;gap:60px;display:grid}.contact-form{flex-direction:column;gap:20px;display:flex}.contact-form label{letter-spacing:1px;text-transform:uppercase;color:var(--dark-gray);font-size:.8rem;font-weight:600}.contact-form input,.contact-form textarea,.contact-form select{width:100%;font-family:var(--font-body);border:1.5px solid var(--warm-gray);background:var(--white);color:var(--black);transition:border-color var(--transition);border-radius:0;outline:none;padding:14px 16px;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--accent)}.contact-form textarea{resize:vertical;min-height:150px}.contact-info{flex-direction:column;gap:32px;display:flex}.contact-info__item h3{font-family:var(--font-display);margin-bottom:8px;font-size:1.1rem;font-weight:500}.contact-info__item p{color:var(--dark-gray);font-size:.95rem;line-height:1.7}@media (width<=768px){.contact-grid{grid-template-columns:1fr}}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid var(--warm-gray);padding:24px 0}.faq-item__question{cursor:pointer;font-family:var(--font-display);color:var(--black);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0;font-size:1.15rem;font-weight:400;display:flex}.faq-item__question span{transition:transform var(--transition);font-size:1.5rem;font-weight:300;font-family:var(--font-body);flex-shrink:0}.faq-item__question span.open{transform:rotate(45deg)}.faq-item__answer{max-height:0;transition:max-height .4s,padding .4s;overflow:hidden}.faq-item__answer.open{max-height:500px;padding-top:16px}.faq-item__answer p{color:var(--dark-gray);font-size:.95rem;line-height:1.8}.cta-banner{background:var(--black);color:var(--white);text-align:center;padding:80px 5%}.cta-banner__title{font-family:var(--font-display);margin-bottom:16px;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300}.cta-banner__desc{color:#ffffffb3;max-width:500px;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:1rem}.page-hero{background:var(--cream);text-align:center;padding:180px 0 100px}.page-hero__title{font-family:var(--font-display);color:var(--black);margin-bottom:16px;font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:300}.page-hero__desc{color:var(--dark-gray);max-width:600px;margin:0 auto;font-size:1.05rem;line-height:1.8}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.pricing-card{background:var(--cream);text-align:center;transition:border-color var(--transition), box-shadow var(--transition);border:1.5px solid #0000;border-radius:4px;padding:40px 32px}.pricing-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #0000000f}.pricing-card--featured{background:var(--black);color:var(--white)}.pricing-card__name{font-family:var(--font-display);margin-bottom:8px;font-size:1.3rem;font-weight:400}.pricing-card__desc{color:var(--dark-gray);margin-bottom:24px;font-size:.85rem}.pricing-card--featured .pricing-card__desc{color:#fff9}.pricing-card__prices{margin-bottom:24px}.pricing-card__price-row{border-bottom:1px solid var(--warm-gray);justify-content:space-between;padding:8px 0;font-size:.9rem;display:flex}.pricing-card--featured .pricing-card__price-row{border-color:#ffffff26}.pricing-card__price-row span:last-child{font-weight:600}@media (width<=768px){.pricing-grid{grid-template-columns:1fr}}.footer{background:var(--black);color:#ffffffb3;padding:80px 0 40px}.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px;display:grid}.footer__brand-name{font-family:var(--font-display);color:var(--white);margin-bottom:16px;font-size:1.6rem}.footer__brand-desc{max-width:300px;font-size:.9rem;line-height:1.8}.footer__col-title{letter-spacing:2px;text-transform:uppercase;color:var(--white);margin-bottom:20px;font-size:.8rem;font-weight:700}.footer__links{flex-direction:column;gap:10px;display:flex}.footer__links a{transition:color var(--transition);font-size:.9rem}.footer__links a:hover{color:var(--white)}.footer__bottom{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-top:32px;font-size:.8rem;display:flex}@media (width<=768px){.footer__grid{grid-template-columns:1fr 1fr}.footer__bottom{text-align:center;flex-direction:column;gap:12px}}.blog-post{max-width:760px;margin:0 auto}.blog-post__hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:4px;width:100%;margin-bottom:40px}.blog-post__meta{color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;font-size:.8rem;font-weight:600}.blog-post__title{font-family:var(--font-display);margin-bottom:32px;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;line-height:1.25}.blog-post__content p{color:var(--dark-gray);margin-bottom:20px;font-size:1.05rem;line-height:1.9}.blog-post__content h2{font-family:var(--font-display);color:var(--black);margin:40px 0 16px;font-size:1.5rem;font-weight:400}.about-mission{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.about-mission__text h2{font-family:var(--font-display);margin-bottom:20px;font-size:2rem;font-weight:400}.about-mission__text p{color:var(--dark-gray);margin-bottom:16px;font-size:1rem;line-height:1.8}.about-team{text-align:center;grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.about-team__member img{object-fit:cover;border-radius:50%;width:200px;height:200px;margin:0 auto 16px}.about-team__name{font-family:var(--font-display);margin-bottom:4px;font-size:1.1rem;font-weight:500}.about-team__role{color:var(--accent);font-size:.85rem}@media (width<=768px){.about-mission,.about-team{grid-template-columns:1fr}}.features-row{text-align:center;grid-template-columns:repeat(4,1fr);gap:40px;display:grid}.feature-item__icon{background:var(--cream);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;font-size:1.5rem;display:flex}.feature-item__title{font-family:var(--font-display);margin-bottom:8px;font-size:1.1rem;font-weight:500}.feature-item__desc{color:var(--dark-gray);font-size:.88rem;line-height:1.7}@media (width<=768px){.features-row{grid-template-columns:repeat(2,1fr);gap:24px}}@media (width<=480px){.features-row{grid-template-columns:1fr}}.stats-bar{background:var(--accent);padding:60px 0}.stats-bar__inner{text-align:center;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.stats-bar__num{font-family:var(--font-display);color:var(--white);margin-bottom:8px;font-size:3rem;font-weight:400;line-height:1}.stats-bar__label{letter-spacing:1.5px;text-transform:uppercase;color:#ffffffbf;font-size:.8rem}@media (width<=600px){.stats-bar__inner{grid-template-columns:1fr}}.commercial-services{grid-template-columns:1fr 1fr;gap:32px;display:grid}.commercial-card{background:var(--cream);border-radius:4px;padding:36px}.commercial-card__num{font-family:var(--font-display);color:var(--accent-light);margin-bottom:12px;font-size:2.5rem;font-weight:300}.commercial-card h3{font-family:var(--font-display);margin-bottom:12px;font-size:1.3rem;font-weight:500}.commercial-card p{color:var(--dark-gray);font-size:.92rem;line-height:1.7}@media (width<=768px){.commercial-services{grid-template-columns:1fr}}.lightbox{z-index:2000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:4px;max-width:90vw;max-height:85vh}.lightbox__close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:20px;right:24px}.form-success{background:var(--green);color:var(--white);border-radius:4px;margin-bottom:16px;padding:16px 24px;font-size:.95rem}
