:root {
  --moss: #2d4a2d;
  --forest: #1a3320;
  --sage: #7a9e7e;
  --mint: #b8d4b8;
  --cream: #f5f0e8;
  --warm-white: #faf7f2;
  --earth: #8b6f47;
  --sand: #d4c4a0;
  --text: #1c2b1c;
  --text-light: #4a5e4a;
  --wa: #25D366;
  --fb: #1877F2;
  --ig: #E1306C;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--warm-white);color:var(--text);overflow-x:hidden;}

/* ── NAV ── */
nav{
  position:fixed;top:0;width:100%;z-index:1000;
  padding:1.1rem 5rem;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(250,247,242,0.95);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(45,74,45,0.08);transition:all .3s;
}
nav.scrolled{padding:.75rem 5rem;box-shadow:0 4px 28px rgba(26,51,32,.09);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.75rem;font-weight:500;color:var(--moss);text-decoration:none;line-height:1.1;}
.nav-logo span{color:var(--sage);font-style:italic;}
.nav-logo small{display:block;font-family:'DM Sans',sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-light);font-style:normal;font-weight:400;margin-top:.05rem;}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-light);text-decoration:none;font-weight:500;transition:color .2s;}
.nav-links a:hover{color:var(--moss);}
.nav-cta{background:var(--moss);color:#fff !important;padding:.5rem 1.3rem;border-radius:100px;transition:background .2s !important;}
.nav-cta:hover{background:var(--forest) !important;}
.hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--moss);transition:all .3s;}
.mobile-menu{display:none;position:fixed;top:62px;left:0;width:100%;background:var(--warm-white);padding:1.8rem 2rem;z-index:999;border-bottom:1px solid var(--mint);flex-direction:column;gap:1.4rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:.95rem;color:var(--text);text-decoration:none;font-weight:500;letter-spacing:.04em;}

/* ── HERO ── */
.hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  align-items:center;padding:8rem 5rem 5rem;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--warm-white) 0%,#edf4ed 100%);
}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(122,158,126,.15) 0%,transparent 65%);pointer-events:none;}
.hero-text{position:relative;z-index:2;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  background:rgba(45,74,45,.07);border:1px solid rgba(45,74,45,.15);
  padding:.4rem 1rem;border-radius:100px;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--moss);font-weight:500;margin-bottom:1.4rem;
  animation:fadeUp .6s ease both;
}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:1.1;color:var(--forest);margin-bottom:1.3rem;animation:fadeUp .6s .1s ease both;}
.hero h1 em{font-style:italic;color:var(--sage);}
.hero-sub{font-size:1.05rem;color:var(--text-light);line-height:1.75;max-width:460px;margin-bottom:2.2rem;font-weight:300;animation:fadeUp .6s .2s ease both;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .6s .3s ease both;}
.btn-primary{background:var(--moss);color:#fff;border:none;padding:.9rem 2rem;border-radius:100px;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s;font-family:'DM Sans',sans-serif;}
.btn-primary:hover{background:var(--forest);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,51,32,.25);}
.btn-outline{background:transparent;color:var(--moss);border:1.5px solid var(--moss);padding:.9rem 2rem;border-radius:100px;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s;font-family:'DM Sans',sans-serif;}
.btn-outline:hover{background:var(--moss);color:#fff;transform:translateY(-2px);}
.hero-stats{display:flex;gap:2.5rem;margin-top:2.8rem;animation:fadeUp .6s .4s ease both;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.1rem;font-weight:500;color:var(--moss);}
.stat-label{font-size:.75rem;color:var(--text-light);letter-spacing:.05em;}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;animation:fadeIn 1s .3s ease both;z-index:1;}
.hero-img-frame{width:500px;height:580px;border-radius:260px 260px 180px 180px;overflow:hidden;box-shadow:0 40px 80px rgba(26,51,32,.22);}
.hero-img-frame img{width:100%;height:100%;object-fit:cover;}
.hero-badge{position:absolute;bottom:44px;left:-24px;background:#fff;border-radius:16px;padding:1rem 1.3rem;box-shadow:0 12px 40px rgba(0,0,0,.1);display:flex;align-items:center;gap:.8rem;}
.badge-icon{font-size:1.7rem;}
.badge-text{font-size:.75rem;color:var(--text-light);}
.badge-title{font-weight:600;color:var(--text);font-size:.88rem;}
.hero-badge2{position:absolute;top:64px;right:-16px;background:var(--moss);color:#fff;border-radius:12px;padding:.8rem 1.2rem;box-shadow:0 12px 32px rgba(26,51,32,.3);font-size:.8rem;}
.hero-badge2 strong{display:block;font-size:1.2rem;font-weight:500;}

/* ── MARQUEE ── */
.marquee-wrap{background:var(--moss);padding:.85rem 0;overflow:hidden;}
.marquee-track{display:flex;gap:3rem;white-space:nowrap;animation:marquee 28s linear infinite;}
.marquee-item{color:rgba(255,255,255,.8);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:1rem;}
.marquee-item::after{content:'✦';color:var(--mint);}

/* ── SHARED SECTION STYLES ── */
.section-eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:500;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;}
.section-eyebrow::before{content:'';display:block;width:22px;height:1.5px;background:var(--sage);}
.section-header{text-align:center;max-width:620px;margin:0 auto 4rem;}
.section-header .section-eyebrow{justify-content:center;}
.section-header .section-eyebrow::before{display:none;}
h2.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.5vw,3.1rem);font-weight:400;line-height:1.2;color:var(--forest);margin-bottom:1.3rem;}
h2.section-title em{font-style:italic;color:var(--sage);}
.section-text{color:var(--text-light);line-height:1.85;font-weight:300;font-size:.98rem;margin-bottom:1.5rem;}

/* ── ABOUT ── */
.about{padding:7rem 5rem;display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:center;}
.about-imgs{position:relative;height:520px;}
.about-img1{width:74%;height:400px;border-radius:200px 200px 130px 130px;overflow:hidden;box-shadow:0 24px 60px rgba(26,51,32,.16);}
.about-img1 img{width:100%;height:100%;object-fit:cover;}
.about-img2{position:absolute;bottom:0;right:0;width:48%;height:280px;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(26,51,32,.2);border:6px solid var(--warm-white);}
.about-img2 img{width:100%;height:100%;object-fit:cover;}
.about-tag{position:absolute;top:36px;right:-8px;background:var(--cream);border:1px solid var(--sand);border-radius:12px;padding:.75rem 1.1rem;font-size:.78rem;color:var(--earth);font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.07);}
.about-features{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;}
.about-feature{display:flex;align-items:center;gap:.8rem;font-size:.88rem;color:var(--text-light);}
.feat-dot{width:7px;height:7px;border-radius:50%;background:var(--sage);flex-shrink:0;}

/* ── SERVICES ── */
.services{padding:7rem 5rem;background:linear-gradient(180deg,#edf4ed 0%,var(--warm-white) 100%);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.service-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(122,158,126,.15);box-shadow:0 4px 24px rgba(26,51,32,.06);transition:all .3s;cursor:default;position:relative;}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sage),var(--moss));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(26,51,32,.13);}
.service-card:hover::after{transform:scaleX(1);}
.service-img{width:100%;height:190px;overflow:hidden;}
.service-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.service-card:hover .service-img img{transform:scale(1.06);}
.service-body{padding:2rem 2rem 2.2rem;}
.service-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--mint) 0%,rgba(122,158,126,.3) 100%);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.2rem;}
.service-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:500;color:var(--forest);margin-bottom:.65rem;}
.service-desc{color:var(--text-light);font-size:.88rem;line-height:1.7;font-weight:300;}

/* ── PRODUCTS — Magazine Grid ── */
.products{padding:7rem 5rem;}
.products-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:auto;
  gap:1.2rem;
}
/* Row 1: hero card spans 5 cols tall, + 3 cards in 7 cols */
.pc{border-radius:20px;overflow:hidden;position:relative;cursor:pointer;background:#111;box-shadow:0 4px 20px rgba(26,51,32,.1);transition:all .3s;}
.pc:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(26,51,32,.18);}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;display:block;}
.pc:hover img{transform:scale(1.07);}
.pc-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,26,12,.75) 100%);}
.pc-label{position:absolute;bottom:0;left:0;right:0;padding:1.3rem 1.5rem;}
.pc-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;color:#fff;margin-bottom:.2rem;}
.pc-sub{font-size:.72rem;color:rgba(255,255,255,.75);letter-spacing:.06em;}
.pc-tag{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .8rem;border-radius:100px;}
.pc-btn{position:absolute;top:1rem;right:1rem;background:#fff;color:var(--moss);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:.35rem .9rem;border-radius:100px;opacity:0;transition:opacity .3s;}
.pc:hover .pc-btn{opacity:1;}

/* Grid placement */
.pc-hero     {grid-column:1/6;grid-row:1/3;}
.pc-hero img {height:100%;min-height:460px;}
.pc-hero .pc-name{font-size:1.9rem;}

.pc-b{grid-column:6/9;grid-row:1/2;}
.pc-b img{height:220px;}

.pc-c{grid-column:9/13;grid-row:1/2;}
.pc-c img{height:220px;}

.pc-d{grid-column:6/9;grid-row:2/3;}
.pc-d img{height:220px;}

.pc-e{grid-column:9/11;grid-row:2/3;}
.pc-e img{height:220px;}

.pc-f{grid-column:11/13;grid-row:2/3;}
.pc-f img{height:220px;}

/* Row 3: 4 equal cards */
.pc-g{grid-column:1/4;grid-row:3/4;}
.pc-g img{height:220px;}
.pc-h{grid-column:4/7;grid-row:3/4;}
.pc-h img{height:220px;}
.pc-i{grid-column:7/10;grid-row:3/4;}
.pc-i img{height:220px;}
/* wait — 7 products, so row3 has 3 cards spanning 4 cols each, 4th spans 3 */

/* WHY ── */
.why{padding:7rem 5rem;background:var(--forest);position:relative;overflow:hidden;}
.why::before{content:'';position:absolute;top:-120px;right:-120px;width:520px;height:520px;border-radius:50%;background:rgba(122,158,126,.08);pointer-events:none;}
.why .section-eyebrow{color:var(--mint);}
.why h2.section-title{color:#fff;}
.why h2.section-title em{color:var(--sage);}
.why .section-text{color:rgba(255,255,255,.6);}
.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;margin-top:3.5rem;}
.why-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1.8rem;transition:all .3s;}
.why-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px);}
.why-icon{font-size:1.9rem;margin-bottom:.9rem;}
.why-title{color:#fff;font-weight:500;margin-bottom:.45rem;font-size:.93rem;}
.why-desc{color:rgba(255,255,255,.5);font-size:.8rem;line-height:1.65;font-weight:300;}

/* ── GALLERY ── */
.gallery{padding:7rem 5rem;}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:280px 280px;
  gap:1rem;
  margin-top:3.5rem;
}
.gi{border-radius:18px;overflow:hidden;position:relative;cursor:pointer;}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gi:hover img{transform:scale(1.06);}
.gi-overlay{position:absolute;inset:0;background:rgba(26,51,32,0);transition:background .3s;display:flex;align-items:center;justify-content:center;}
.gi:hover .gi-overlay{background:rgba(26,51,32,.32);}
.gi-plus{color:#fff;font-size:1.8rem;opacity:0;transition:opacity .3s;}
.gi:hover .gi-plus{opacity:1;}
/* grid placements */
.gi-1{grid-column:1/5;grid-row:1/3;}  /* tall left */
.gi-2{grid-column:5/8;grid-row:1/2;}
.gi-3{grid-column:8/13;grid-row:1/2;}
.gi-4{grid-column:5/8;grid-row:2/3;}
.gi-5{grid-column:8/10;grid-row:2/3;}
.gi-6{grid-column:10/13;grid-row:2/3;}

/* ── TESTIMONIALS ── */
.testimonials{padding:7rem 5rem;background:linear-gradient(180deg,var(--warm-white) 0%,#edf4ed 100%);}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3.5rem;}
.tc{background:#fff;border-radius:22px;padding:2rem;box-shadow:0 4px 24px rgba(26,51,32,.07);border:1px solid rgba(122,158,126,.12);transition:transform .3s;}
.tc:hover{transform:translateY(-4px);}
.stars{color:#f4a829;font-size:.88rem;margin-bottom:.9rem;letter-spacing:.1em;}
.tc-text{color:var(--text-light);line-height:1.75;font-size:.91rem;font-weight:300;margin-bottom:1.4rem;font-style:italic;}
.tc-text::before{content:'\201C';font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--mint);line-height:0;vertical-align:-.55rem;margin-right:.15rem;}
.tc-author{display:flex;align-items:center;gap:.8rem;}
.tc-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid var(--mint);flex-shrink:0;}
.tc-avatar img{width:100%;height:100%;object-fit:cover;}
.tc-name{font-weight:500;font-size:.88rem;}
.tc-loc{font-size:.73rem;color:var(--text-light);}

/* ── CTA BANNER ── */
.cta-banner{padding:7rem 5rem;background:linear-gradient(135deg,var(--moss) 0%,var(--forest) 100%);text-align:center;position:relative;overflow:hidden;}
.cta-bg{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1501004318641-b39e6451bec6?w=1400&q=80');background-size:cover;background-position:center;opacity:.15;}
.cta-content{position:relative;z-index:2;}
.cta-banner h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:300;color:#fff;margin-bottom:1rem;line-height:1.2;}
.cta-banner h2 em{font-style:italic;color:var(--mint);}
.cta-banner p{color:rgba(255,255,255,.7);font-size:1rem;margin-bottom:2.5rem;font-weight:300;}
.btn-white{background:#fff;color:var(--moss);padding:1rem 2.5rem;border-radius:100px;font-size:.93rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s;font-family:'DM Sans',sans-serif;}
.btn-white:hover{background:var(--cream);transform:translateY(-2px);box-shadow:0 12px 32px rgba(0,0,0,.2);}

/* ── CONTACT ── */
.contact{padding:7rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.contact-methods{display:flex;flex-direction:column;gap:1rem;margin:1.8rem 0;}
.cm{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.4rem;background:var(--warm-white);border:1px solid rgba(122,158,126,.2);border-radius:14px;transition:all .2s;text-decoration:none;color:inherit;}
.cm:hover{border-color:var(--sage);background:#edf4ed;}
.cm-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;color:#fff;}
.cm-icon.wa{background:linear-gradient(135deg,#25D366,#128C7E);}
.cm-icon.ph{background:linear-gradient(135deg,#4FC3F7,#0288D1);}
.cm-icon.em{background:linear-gradient(135deg,#FFB74D,#F57C00);}
.cm-icon.lo{background:linear-gradient(135deg,#EF5350,#B71C1C);}
.cm-icon.fb{background:linear-gradient(135deg,#4267B2,#1877F2);}
.cm-icon.ig{background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);}
.cm-label{font-size:.72rem;color:var(--text-light);margin-bottom:.1rem;letter-spacing:.03em;}
.cm-value{font-weight:500;font-size:.9rem;}
.map-wrap{height:220px;border-radius:16px;overflow:hidden;position:relative;margin-top:1.5rem;border:1px solid rgba(122,158,126,.3);}
.map-wrap img{width:100%;height:100%;object-fit:cover;}
.map-pin-badge{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);background:#fff;border-radius:100px;padding:.4rem 1.1rem;font-size:.78rem;color:var(--moss);font-weight:500;box-shadow:0 4px 16px rgba(0,0,0,.15);white-space:nowrap;}
.form-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--forest);margin-bottom:1.8rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fg{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem;}
.fg label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);font-weight:500;}
.fg input,.fg select,.fg textarea{border:1.5px solid rgba(122,158,126,.25);border-radius:12px;padding:.8rem 1rem;font-family:'DM Sans',sans-serif;font-size:.88rem;color:var(--text);background:#fff;outline:none;transition:border-color .2s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--sage);}
.fg textarea{resize:vertical;min-height:110px;}
.form-submit{width:100%;background:var(--moss);color:#fff;border:none;padding:.95rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:.93rem;font-weight:500;cursor:pointer;transition:all .25s;margin-top:.4rem;}
.form-submit:hover{background:var(--forest);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,51,32,.2);}

/* ── MODERN CONTACT SECTION ── */
.contact.contact-modern{
  min-height:560px;padding:7.5rem max(7vw, 5rem) 6.5rem;
  display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(3rem,8vw,9rem);
  align-items:center;background:#f7f6ef;color:#202820;
}
.contact-modern .contact-heading{align-self:center;}
.contact-modern .section-eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#86a783;font-weight:600;margin-bottom:1.6rem;}
.contact-modern .contact-heading h2{font-family:'Cormorant Garamond',serif;font-size:clamp(3.3rem,5.2vw,5.4rem);line-height:.98;letter-spacing:-.045em;font-weight:600;color:#202820;margin:0;}
.contact-modern .contact-heading h2 em{color:#82a17c;font-weight:600;}
.contact-details{max-width:470px;width:100%;}
.contact-intro{font-size:.9rem;line-height:1.75;color:#697165;margin:0 0 1.5rem;max-width:440px;}
.contact-detail-row{display:grid;grid-template-columns: minmax(90px,.65fr) 1.5fr;gap:1rem;padding:1.15rem 0;border-top:1px solid #dfe2d8;}
.contact-detail-label{font-size:.59rem;letter-spacing:.12em;text-transform:uppercase;color:#7c8678;padding-top:.15rem;}
.contact-detail-value{font-size:.73rem;line-height:1.9;font-weight:600;color:#25382b;}
.phone-links{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;}
.phone-links a{color:#244a36;text-decoration:none;transition:color .2s;}
.phone-links a:hover{color:#82a17c;}
.directions-btn{margin-top:1.35rem;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;width:max-content;min-width:175px;padding:1.2rem 1.35rem;background:#153d2d;color:white;text-decoration:none;font-size:.72rem;font-weight:600;transition:background .2s;}
.directions-btn span{font-size:1.25rem;font-weight:300;}
.directions-btn:hover{background:#2c573e;}
.footer-minimal{min-height:86px;background:#e9ebe2;color:#687263;padding:1.2rem 6.5%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.footer-mark{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#586a57;}
.footer-mark-icon{width:34px;height:34px;border:1px solid #a8b7a0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#234832;}
.footer-mark strong{display:block;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;}
.footer-mark small{display:block;font-size:.48rem;letter-spacing:.12em;text-transform:uppercase;color:#8a9584;margin-top:.18rem;}
.footer-minimal p,.back-to-top{font-size:.63rem;color:#687263;margin:0;}
.back-to-top{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;}
.back-to-top:hover{color:#244a36;}

/* ── FOOTER ── */
footer{background:var(--forest);padding:4rem 5rem 2rem;color:rgba(255,255,255,.65);}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:500;color:#fff;margin-bottom:.25rem;}
.footer-logo span{font-style:italic;color:var(--mint);}
.footer-since{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.9rem;}
.footer-desc{font-size:.82rem;line-height:1.72;font-weight:300;max-width:280px;}
.footer-social{display:flex;gap:.7rem;margin-top:1.4rem;}
.fs-btn{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.85rem;text-decoration:none;transition:all .2s;cursor:pointer;border:none;}
.fs-btn.wa-btn{background:#25D366;}
.fs-btn.fb-btn{background:#1877F2;}
.fs-btn.ig-btn{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888);}
.fs-btn.em-btn{background:#EA4335;}
.fs-btn:hover{transform:scale(1.12);opacity:.9;}
.footer-col h4{color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.1rem;font-weight:500;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.footer-col ul a{color:rgba(255,255,255,.55);text-decoration:none;font-size:.82rem;transition:color .2s;}
.footer-col ul a:hover{color:var(--mint);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;}

/* ── WHATSAPP FAB ── */
.wa-fab{position:fixed;bottom:2rem;right:2rem;z-index:500;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;text-decoration:none;box-shadow:0 8px 24px rgba(37,211,102,.4);transition:all .25s;animation:pulse 2.5s infinite;}
.wa-fab:hover{transform:scale(1.1);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes pulse{0%,100%{box-shadow:0 8px 24px rgba(37,211,102,.4);}50%{box-shadow:0 8px 36px rgba(37,211,102,.7);}}
.reveal{opacity:0;transform:translateY(28px);transition:all .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.1s;}.rd2{transition-delay:.2s;}.rd3{transition-delay:.3s;}.rd4{transition-delay:.4s;}

/* ── RESPONSIVE ── */
@media(max-width:1280px){
  nav,nav.scrolled{padding:1rem 2.5rem;}
  .hero,.about,.services,.products,.why,.gallery,.testimonials,.cta-banner,.contact,footer{padding-left:2.5rem;padding-right:2.5rem;}
  .footer-top{gap:2.5rem;}
  .why-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:960px){
  nav,.nav-links{display:none !important;}
  nav{display:flex !important;}
  .nav-links{display:none !important;}
  .hamburger{display:flex;}
  .hero{grid-template-columns:1fr;text-align:center;padding:7rem 2rem 4rem;}
  .hero-visual{margin-top:2.5rem;justify-content:center;}
  .hero-img-frame{width:300px;height:360px;}
  .hero-badge{left:0;bottom:20px;}
  .hero-badge2{right:0;top:30px;}
  .hero-btns,.hero-stats{justify-content:center;}
  .about{grid-template-columns:1fr;padding:4rem 2rem;gap:3rem;}
  .about-imgs{height:300px;}
  .about-img1{width:68%;height:260px;}
  .services-grid,.testimonials-grid{grid-template-columns:1fr;}
  .products-grid{grid-template-columns:1fr 1fr !important;display:grid !important;}
  .pc-hero,.pc-b,.pc-c,.pc-d,.pc-e,.pc-f,.pc-g,.pc-h,.pc-i{grid-column:auto !important;grid-row:auto !important;}
  .pc-hero img,.pc-b img,.pc-c img,.pc-d img,.pc-e img,.pc-f img,.pc-g img,.pc-h img,.pc-i img{height:200px !important;min-height:unset !important;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:1fr 1fr !important;grid-template-rows:auto !important;display:grid !important;}
  .gi-1,.gi-2,.gi-3,.gi-4,.gi-5,.gi-6{grid-column:auto !important;grid-row:auto !important;}
  .gi-1 img,.gi-2 img,.gi-3 img,.gi-4 img,.gi-5 img,.gi-6 img{height:200px;}
  .gi{height:200px;}
  .contact{grid-template-columns:1fr;padding:4rem 2rem;gap:3rem;}
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem;}
  .footer-bottom{flex-direction:column;gap:.8rem;text-align:center;}
}
@media(max-width:600px){
  .products-grid{grid-template-columns:1fr !important;}
  .why-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr !important;}
  .gi{height:220px;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;gap:1.5rem;}
}

@media(max-width:760px){
  .contact.contact-modern{min-height:unset;padding:5rem 1.5rem 4rem;grid-template-columns:1fr;gap:3rem;}
  .contact-modern .contact-heading h2{font-size:clamp(3rem,13vw,4.5rem);}
  .contact-details{max-width:none;}
  .contact-detail-row{grid-template-columns:85px 1fr;}
  .footer-minimal{padding:1.25rem 1.5rem;flex-wrap:wrap;}
  .footer-minimal p{order:3;width:100%;text-align:center;}
}

/* ── GALLERY (auto-loaded, equal-size cards) ── */
.gallery-grid.gallery-auto{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;
  grid-template-rows:none !important;
  grid-auto-rows:auto;
  gap:1rem !important;
}
.gallery-grid.gallery-auto .gi{
  width:100%;
  height:auto !important;
  aspect-ratio:4/3;
  grid-column:auto !important;
  grid-row:auto !important;
  background:#e8efe8;
}
.gallery-grid.gallery-auto .gi img{
  display:block;
  width:100%;
  height:100% !important;
  object-fit:cover;
  object-position:center;
}
.gallery-grid.gallery-auto .gi:focus-visible{outline:3px solid #7a9e7e;outline-offset:2px;}
@media(max-width:600px){
  .gallery-grid.gallery-auto{grid-template-columns:1fr 1fr !important;gap:.6rem !important;}
}
@media(max-width:360px){
  .gallery-grid.gallery-auto{grid-template-columns:1fr !important;}
}

/* Lightbox */
.gl-box{position:fixed;inset:0;z-index:10000;background:rgba(10,20,12,.92);display:none;align-items:center;justify-content:center;padding:3.5rem 1rem;}
.gl-box.open{display:flex;}
.gl-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,.5);}
.gl-close,.gl-nav{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;cursor:pointer;line-height:1;border-radius:50%;width:46px;height:46px;font-size:1.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.gl-close:hover,.gl-nav:hover{background:rgba(255,255,255,.28);}
.gl-close{top:1rem;right:1rem;}
.gl-nav{top:50%;transform:translateY(-50%);}
.gl-prev{left:1rem;}
.gl-next{right:1rem;}
.gl-count{position:absolute;bottom:1rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:.85rem;}

/* ── PRODUCTS: equal-size cards ── */
.products-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  grid-template-rows:none !important;
  grid-auto-rows:auto;
  gap:1.2rem !important;
}
.products-grid .pc{
  grid-column:auto !important;
  grid-row:auto !important;
  aspect-ratio:4/3;
  min-height:0;
}
.products-grid .pc img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover;
}
.products-grid .pc-hero .pc-name{font-size:1.4rem;}
@media(max-width:960px){
  .products-grid{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:600px){
  .products-grid{grid-template-columns:1fr !important;}
}

/* ── HERO: show the full photo (no cropping) ── */
.hero-img-frame{
  width:100%;
  max-width:680px;
  height:auto;
  aspect-ratio:2752/1536;
  border-radius:28px;
}
.hero-img-frame img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:960px){
  .hero-img-frame{width:100%;max-width:560px;height:auto;}
}

/* ── LOGO (navbar + footer) ── */
.nav-logo{display:flex;align-items:center;gap:.8rem;}
.nav-logo-img{height:62px;width:62px;object-fit:contain;flex-shrink:0;transition:height .3s,width .3s;filter:drop-shadow(0 2px 6px rgba(26,51,32,.18));}
nav.scrolled .nav-logo-img{height:50px;width:50px;}
.footer-logo-img{height:78px;width:78px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(26,51,32,.18));}
.footer-mark{gap:1rem;}
@media(max-width:960px){
  .nav-logo-img,nav.scrolled .nav-logo-img{height:46px;width:46px;}
  .nav-logo{font-size:1.45rem;}
}
@media(max-width:600px){
  .footer-logo-img{height:64px;width:64px;}
}
