:root{--green:#0f2d24;--green2:#183d32;--gold:#d4a24c;--cream:#fff7ea;--sand:#efe2cc;--text:#17382d;--muted:#6e7e75;--white:#fff}

*{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth}

body{font-family:Inter,sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}

.container{width:min(1180px,90%);margin:auto}

.loader{position:fixed;inset:0;background:var(--green);z-index:9999;display:grid;place-items:center;color:white;transition:.7s ease}

.loader.hide{opacity:0;visibility:hidden}

.loader span{width:72px;height:72px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:28px;margin:auto}

.loader-logo{width:auto;height:86px;max-width:180px;object-fit:contain;display:block;margin:0 auto}

.loader p{margin-top:14px;letter-spacing:4px;text-transform:uppercase;font-size:12px;text-align:center}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:20px 0;transition:.35s ease;background:linear-gradient(to bottom,rgba(0,0,0,.32),transparent)}

.site-header.scrolled{padding:12px 0;background:rgba(15,45,36,.9);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(0,0,0,.12)}

.nav-wrap{display:flex;align-items:center;justify-content:space-between}

.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;min-width:0}

.brand-mark{width:48px;height:48px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-family:'Playfair Display',serif;font-weight:800;flex:0 0 auto}

.brand-logo{width:auto;height:58px;max-width:150px;object-fit:contain;display:block;flex:0 0 auto}

.site-header.scrolled .brand-logo{height:50px}

.brand-text{display:flex;flex-direction:column;min-width:0}

.brand strong{display:block;font-family:'Playfair Display',serif;font-size:25px;line-height:1.05;white-space:nowrap}

.brand small{display:block;font-size:10px;letter-spacing:3px;text-transform:uppercase;opacity:.75;white-space:nowrap}

.main-nav{display:flex;align-items:center;gap:32px}

.main-nav a{color:white;text-decoration:none;font-weight:700;font-size:14px}

.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 28px;text-decoration:none;font-weight:800;border:0;cursor:pointer}

.nav-cta,.btn-gold{background:var(--gold);color:white!important;box-shadow:0 20px 40px rgba(212,162,76,.28);transition:.35s ease}

.nav-cta:hover,.btn-gold:hover{transform:translateY(-5px);box-shadow:0 28px 55px rgba(212,162,76,.42)}

.btn-glass{color:white;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);backdrop-filter:blur(14px)}

.nav-toggle{display:none;background:0;border:0}

.nav-toggle span{display:block;width:28px;height:2px;background:white;margin:6px 0}

.hero,.page-hero{position:relative;min-height:100vh;display:flex;align-items:center;color:white;overflow:hidden}

.hero-bg,.page-hero:before{position:absolute;inset:0;background:linear-gradient(110deg,rgba(5,22,17,.78),rgba(15,45,36,.4)),url('/assets/images/bg/image_1.png?auto=format&fit=crop&w=1900&q=85');background-size:cover;background-position:center;transform:scale(1.04);animation:slowZoom 14s ease-in-out infinite alternate}

.about-hero:before{background:linear-gradient(110deg,rgba(5,22,17,.8),rgba(15,45,36,.45)),url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1900&q=85');background-size:cover}

.clients-hero:before{background:linear-gradient(110deg,rgba(5,22,17,.82),rgba(15,45,36,.45)),url('https://images.unsplash.com/photo-1527529482837-4698179dc6ce?auto=format&fit=crop&w=1900&q=85');background-size:cover}

.contact-hero:before{background:linear-gradient(110deg,rgba(5,22,17,.82),rgba(15,45,36,.45)),url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1900&q=85');background-size:cover}

.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .7fr;gap:60px;align-items:center}

.hero-copy h1,.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(58px,8vw,112px);line-height:.9;margin:22px 0}

.hero-copy p,.page-hero p{font-size:20px;line-height:1.8;color:rgba(255,255,255,.82);max-width:680px}

.eyebrow,.section-kicker{display:inline-block;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:5px;font-size:12px}

.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap}

.hero-panel{display:grid;gap:18px}

.stat-card,.glass{padding:28px;border-radius:28px;background:rgba(255,255,255,.12);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.2)}

.stat-card strong{display:block;font-family:'Playfair Display',serif;font-size:35px}

.stat-card span{opacity:.8}

.section{padding:120px 0}

.cream{background:var(--cream)}

.dark{background:var(--green);color:white}

.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}

.section h2,.section-head h2,.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(38px,5vw,68px);line-height:1.02;margin:14px 0 22px}

.section p{font-size:17px;line-height:1.9;color:var(--muted)}

.dark p{color:rgba(255,255,255,.78)}

.center{text-align:center;max-width:780px;margin:0 auto}

.text-link{display:inline-block;margin-top:25px;color:var(--green);font-weight:900}

.image-stack{position:relative;min-height:520px}

.img-card{position:absolute;border-radius:34px;background-size:cover;background-position:center;box-shadow:0 30px 70px rgba(0,0,0,.18)}

.img-a{inset:0 90px 80px 0;background-image:url('/assets/images/bg/image_3.png?auto=format&fit=crop&w=900&q=85')}

.img-b{right:0;bottom:0;width:55%;height:58%;background-image:url('/assets/images/bg/image_2.png?auto=format&fit=crop&w=900&q=85');border:10px solid var(--cream)}

.cards-3,.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:55px}

.lux-card{background:white;border-radius:34px;padding:38px;box-shadow:0 28px 65px rgba(0,0,0,.07);transition:.4s ease}

.lux-card:hover{transform:translateY(-12px);background:var(--green);color:white}

.lux-card:hover p{color:rgba(255,255,255,.78)}

.lux-card span{color:var(--gold);font-weight:900}

.lux-card h3{font-family:'Playfair Display',serif;font-size:32px;margin:18px 0 12px}

.gallery-preview{padding:120px 0;background:var(--sand)}

.masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:18px;margin-top:55px}

.masonry-item{border-radius:34px;background-size:cover;background-position:center;transition:.45s ease;overflow:hidden}

.masonry-item:hover{transform:scale(1.035)}

.tall{grid-row:span 2}

.wide{grid-column:span 2}

.one{background-image:url('https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=900&q=85')}

.two{background-image:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=900&q=85')}

.three{background-image:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=900&q=85')}

.four{background-image:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=900&q=85')}

.cta-band{padding:110px 0;text-align:center;background:linear-gradient(135deg,var(--green),#071914);color:white}

.cta-band p{max-width:680px;margin:0 auto 32px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.8}

.feature-list{display:grid;gap:18px}

.feature-list div,.contact-info div{background:white;border-radius:28px;padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.06)}

.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}

.timeline-item{padding:38px;border-left:3px solid var(--gold);background:white;border-radius:0 30px 30px 0}

.timeline-item span{font-family:'Playfair Display',serif;font-size:45px;color:var(--gold)}

.testimonial{padding:38px;border-radius:30px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(14px)}

.testimonial p{font-size:19px}

.logo-marquee{background:var(--gold);overflow:hidden;padding:22px 0}

.marquee-track{display:flex;gap:18px;animation:marquee 25s linear infinite;width:max-content}

.marquee-track span{background:rgba(255,255,255,.2);padding:15px 28px;border-radius:999px;color:white;font-weight:900}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}

.contact-info{display:grid;gap:16px;margin-top:30px}

.contact-info a{color:var(--green);font-weight:800}

.contact-form{background:white;border-radius:36px;padding:36px;box-shadow:0 30px 80px rgba(0,0,0,.09);display:grid;gap:16px}

.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;background:var(--cream);padding:18px 20px;border-radius:18px;font:inherit;outline:none}

.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{box-shadow:0 0 0 2px var(--gold)}

.form-note{background:#eaf7ee;color:#23643d;border-radius:16px;padding:14px!important;font-size:14px!important}

.map-section{padding:0;background:var(--green)}

.map-placeholder{height:380px;display:grid;place-items:center;text-align:center;color:white;background:linear-gradient(135deg,#173d32,#0b2119)}

.footer{background:#071914;color:white;padding:70px 0 0}

.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:40px}

.footer h2{font-family:'Playfair Display',serif;font-size:36px}

.footer h4{color:var(--gold);margin-bottom:16px}

.footer p,.footer a{display:block;color:rgba(255,255,255,.68);text-decoration:none;margin:9px 0;line-height:1.7}

.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding:22px;color:rgba(255,255,255,.55)}

.floating-chat{position:fixed;right:22px;bottom:22px;z-index:999;background:var(--gold);color:white;text-decoration:none;padding:16px 24px;border-radius:999px;font-weight:900;box-shadow:0 20px 45px rgba(0,0,0,.25)}

.reveal{opacity:0;transform:translateY(45px);transition:1s cubic-bezier(.2,.8,.2,1)}

.reveal.show{opacity:1;transform:translateY(0)}

.delay-1{transition-delay:.15s}

.delay-2{transition-delay:.3s}

@keyframes slowZoom{to{transform:scale(1.11)}}

@keyframes marquee{to{transform:translateX(-50%)}}

@media(max-width:900px){
  .nav-toggle{display:block}

  .main-nav{position:absolute;top:82px;left:5%;right:5%;background:rgba(15,45,36,.96);backdrop-filter:blur(18px);border-radius:26px;padding:25px;display:none;flex-direction:column;align-items:flex-start}

  .main-nav.open{display:flex}

  .hero-grid,.split,.contact-grid{grid-template-columns:1fr}

  .hero-panel{display:none}

  .cards-3,.testimonial-grid,.timeline,.footer-grid{grid-template-columns:1fr}

  .masonry{grid-template-columns:1fr;grid-auto-rows:280px}

  .wide,.tall{grid-column:auto;grid-row:auto}

  .hero-copy h1,.page-hero h1{font-size:58px}

  .section{padding:85px 0}

  .image-stack{min-height:420px}

  .footer-wrapper{display:block}
}

@media(max-width:560px){
  .hero-actions{flex-direction:column}

  .btn{width:100%}

  .brand-logo{height:44px;max-width:115px}

  .brand-mark{width:44px;height:44px}

  .brand strong{font-size:20px}

  .brand small{font-size:9px;letter-spacing:2px}

  .loader-logo{height:68px;max-width:140px}

  .hero-copy h1,.page-hero h1{font-size:48px}

  .page-hero{min-height:80vh}

  .floating-chat{left:18px;right:18px;text-align:center}

  .section h2,.section-head h2,.cta-band h2{font-size:38px}
}