/* ============================================================
   CN LANDSCAPING — MASTER STYLESHEET
   ============================================================ */

:root {
  --ink:        #0c1a0e;
  --forest:     #152a1b;
  --pine:       #1c3c27;
  --fern:       #2b5939;
  --meadow:     #3f7a50;
  --moss:       #5a9c6a;
  --sage:       #8fc49a;
  --mint:       #c8e6cc;
  --linen:      #f4f1eb;
  --cream:      #faf8f4;
  --white:      #ffffff;
  --stone-dk:   #5a5e54;
  --stone:      #7e8478;
  --stone-lt:   #bfc2b8;
  --text:       #191f17;
  --text-mid:   #3a4436;
  --text-soft:  #6a7566;
  --f-head:  'Playfair Display', Georgia, serif;
  --f-body:  'Inter', system-ui, sans-serif;
  --f-ui:    'Montserrat', system-ui, sans-serif;
  --sh-xs: 0 1px 3px rgba(0,0,0,.06);
  --sh-sm: 0 2px 10px rgba(0,0,0,.08);
  --sh-md: 0 6px 28px rgba(0,0,0,.11);
  --sh-lg: 0 14px 52px rgba(0,0,0,.16);
  --sh-xl: 0 28px 80px rgba(0,0,0,.20);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:  cubic-bezier(0.64, 0, 0.78, 0);
  --ease:     cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-soft: cubic-bezier(0.76, 0, 0.24, 1);
  --r-sm:   4px;  --r-md:  8px;  --r-lg: 16px;  --r-xl: 24px;  --r-pill: 9999px;
  --nav-h:  80px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--text);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit;font-size:inherit}
h1,h2,h3,h4,h5{font-family:var(--f-head);line-height:1.12;color:var(--text)}
p{line-height:1.8;color:var(--text-mid)}
::selection{background:var(--fern);color:var(--white)}

h1{font-size:clamp(2.7rem,5.6vw,4.8rem);font-weight:600;letter-spacing:-0.02em}
h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:500;letter-spacing:-0.01em}
h3{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:600}

.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}
.sec{padding-block:clamp(76px,10vw,136px)}
.sec--sm{padding-block:clamp(48px,7vw,80px)}
.tc{text-align:center}
.sec__head{margin-bottom:60px}
.sec__head>p{font-size:1.06rem;max-width:620px;margin:16px auto 0}

.bg-white{background:var(--white)}
.bg-linen{background:var(--linen)}
.bg-cream{background:var(--cream)}
.bg-forest{background:var(--forest)}
.bg-ink{background:var(--ink)}

/* Tags — quiet small-caps labels */
.tag{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-ui);font-size:.68rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--meadow);margin-bottom:16px}
.tag::before,.tag::after{content:'';width:30px;height:1px;background:currentColor;opacity:.55}
.tag--light{color:var(--sage)}
.rule{height:2px;width:52px;border-radius:2px;background:linear-gradient(90deg,var(--fern),var(--moss));margin-block:18px}
.rule--c{margin-inline:auto}

/* Animations */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal--l{transform:translateX(-30px)}
.reveal--r{transform:translateX(30px)}
.reveal--l.is-visible,.reveal--r.is-visible{transform:translateX(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.4s}.d6{transition-delay:.48s}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}

/* ── SITE INTRO ──
   A calm, cinematic brand reveal: the monogram settles in from a soft
   blur, a hairline rule draws across, the wordmark breathes into place,
   then the whole curtain lifts to reveal the hero. */
#site-intro{position:fixed;inset:0;z-index:9999;background:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .95s var(--ease-soft),visibility 0s linear .95s}
#site-intro.is-exiting{transform:translateY(-100%);visibility:hidden;pointer-events:none}
#site-intro.is-gone{display:none}
.intro__bg{position:absolute;inset:-48px;background-size:cover;background-position:center;opacity:0;animation:introBg 4.5s var(--ease-out) .15s forwards}
@keyframes introBg{from{opacity:0;transform:scale(1.07)}to{opacity:.2;transform:scale(1)}}
.intro__veil{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(12,26,14,.2) 0%,rgba(12,26,14,.9) 78%)}
.intro__inner{position:relative;z-index:2;text-align:center;padding-inline:24px}
.intro__mark{font-family:var(--f-head);font-size:clamp(4.6rem,13vw,7.5rem);font-weight:500;line-height:1;color:var(--white);letter-spacing:.05em}
.intro__mark span{display:inline-block;opacity:0;filter:blur(12px);transform:translateY(28px);animation:introLetter 1s var(--ease-out) forwards}
.intro__mark span:nth-child(1){animation-delay:.3s}
.intro__mark span:nth-child(2){animation-delay:.46s}
@keyframes introLetter{to{opacity:1;filter:blur(0);transform:translateY(0)}}
.intro__line{width:min(300px,62vw);height:1px;margin:28px auto 24px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:scaleX(0);animation:introLine 1s var(--ease-out) .9s forwards}
@keyframes introLine{to{transform:scaleX(1)}}
.intro__word{font-family:var(--f-ui);font-size:clamp(.82rem,2.4vw,1.05rem);font-weight:600;text-transform:uppercase;color:rgba(255,255,255,.95);padding-left:.45em;opacity:0;animation:introWord 1.2s var(--ease-out) 1.05s forwards;letter-spacing:.45em}
@keyframes introWord{from{opacity:0;letter-spacing:.8em}to{opacity:1;letter-spacing:.45em}}
.intro__tagline{font-family:var(--f-head);font-style:italic;font-size:clamp(.95rem,2.4vw,1.15rem);color:rgba(255,255,255,.55);margin-top:22px;opacity:0;animation:fadeUp .9s var(--ease-out) 1.55s forwards}
.intro__skip{position:absolute;bottom:32px;right:32px;z-index:8;font-family:var(--f-ui);font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.55);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:9px 18px;border-radius:var(--r-pill);backdrop-filter:blur(8px);transition:color .3s,background .3s;animation:fadeIn .6s var(--ease-out) .8s both}
.intro__skip:hover{color:var(--white);background:rgba(255,255,255,.16)}
.intro__progress{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,var(--meadow),var(--sage));z-index:8;width:0}
@media (prefers-reduced-motion:reduce){
  #site-intro{display:none}
  .reveal{opacity:1;transform:none;transition:none}
}

/* ── LOGO LOCKUP ── */
.logo{display:inline-flex;align-items:center;gap:14px;line-height:1}
.logo__mark{font-family:var(--f-head);font-weight:600;font-size:1.9rem;color:var(--white);letter-spacing:.04em}
.logo__divider{width:1px;height:34px;background:rgba(255,255,255,.28)}
.logo__text{display:flex;flex-direction:column;gap:4px}
.logo__name{font-family:var(--f-ui);font-weight:700;font-size:.76rem;letter-spacing:3.2px;text-transform:uppercase;color:var(--white)}
.logo__sub{font-family:var(--f-ui);font-weight:500;font-size:.55rem;letter-spacing:3px;text-transform:uppercase;color:var(--sage)}
.logo--lg .logo__mark{font-size:2.4rem}
.logo--lg .logo__divider{height:42px}
.logo--lg .logo__name{font-size:.88rem}
.logo--lg .logo__sub{font-size:.62rem}

/* ── NAV ── */
.nav{position:fixed;inset-block-start:0;inset-inline:0;z-index:800;height:var(--nav-h);display:flex;align-items:center;transition:background .3s var(--ease),height .3s var(--ease),box-shadow .3s var(--ease)}
.nav.is-scrolled{height:64px;background:rgba(13,26,16,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 2px 20px rgba(0,0,0,.22)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.nav__links{display:flex;align-items:center;gap:38px}
.nav-link{font-family:var(--f-ui);font-size:.78rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.75);position:relative;transition:color .3s;padding-block:4px}
.nav-link::after{content:'';position:absolute;inset-block-end:-2px;inset-inline-start:0;width:0;height:1.5px;background:var(--sage);border-radius:1px;transition:width .3s var(--ease-out)}
.nav-link:hover,.nav-link.is-active{color:var(--white)}
.nav-link.is-active::after,.nav-link:hover::after{width:100%}
.nav__right{display:flex;align-items:center;gap:20px}
.nav__email{font-family:var(--f-ui);font-size:.78rem;font-weight:600;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:7px;transition:color .3s}
.nav__email i{color:var(--moss)}
.nav__email:hover{color:var(--white)}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:4px}
.nav__burger span{display:block;width:24px;height:2px;background:var(--white);border-radius:1px;transition:transform .3s var(--ease),opacity .3s}
.nav__burger.is-open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav__drawer{display:none;position:fixed;inset:0;z-index:799;background:var(--ink);flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:40px}
.nav__drawer.is-open{display:flex}
.drawer-link{font-family:var(--f-head);font-size:2rem;color:rgba(255,255,255,.85);transition:color .3s}
.drawer-link:hover{color:var(--sage)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 30px;border-radius:6px;font-family:var(--f-ui);font-size:.82rem;font-weight:700;letter-spacing:.6px;border:1.5px solid transparent;transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease-out),box-shadow .3s;white-space:nowrap;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:var(--fern);color:var(--white);border-color:var(--fern)}
.btn--primary:hover{background:var(--pine);border-color:var(--pine);box-shadow:0 6px 24px rgba(43,89,57,.35)}
.btn--dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn--dark:hover{background:var(--forest);border-color:var(--forest);box-shadow:var(--sh-md)}
.btn--outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.5)}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn--ghost{background:transparent;color:var(--fern);border-color:var(--fern)}
.btn--ghost:hover{background:var(--fern);color:var(--white)}
.btn--lg{padding:17px 38px;font-size:.9rem}
.btn--sm{padding:10px 20px;font-size:.78rem}
.btn--full{width:100%;justify-content:center}

/* Chips */
.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--f-ui);font-size:.75rem;font-weight:600;padding:5px 12px;border-radius:var(--r-pill)}
.chip--green{background:rgba(90,156,106,.12);color:var(--fern);border:1px solid rgba(90,156,106,.25)}

/* ── HERO ── */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 8s var(--ease-out);will-change:transform}
body.page-loaded .hero__bg{transform:scale(1)}
.hero__veil{position:absolute;inset:0;background:linear-gradient(140deg,rgba(12,26,14,.9) 0%,rgba(21,42,27,.72) 50%,rgba(12,26,14,.5) 100%)}
.hero__body{position:relative;z-index:1;padding-top:var(--nav-h);max-width:780px}
.hero__badge{display:inline-flex;align-items:center;gap:10px;color:var(--sage);font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;margin-bottom:26px}
.hero__badge::before{content:'';width:34px;height:1px;background:var(--sage);opacity:.6}
.hero h1{color:var(--white);margin-bottom:24px}
.hero h1 em{color:var(--sage);font-style:italic;font-weight:500}
.hero__sub{font-size:1.1rem;color:rgba(255,255,255,.75);max-width:560px;margin-bottom:42px;line-height:1.8}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.55);font-family:var(--f-ui);font-size:.62rem;font-weight:600;letter-spacing:3px;text-transform:uppercase}
.hero__scroll::after{content:'';width:1px;height:44px;background:linear-gradient(to bottom,rgba(255,255,255,.6),transparent);animation:scrollPulse 2.2s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* Page hero */
.page-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;padding-bottom:64px;overflow:hidden}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero__veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,26,14,.92) 0%,rgba(12,26,14,.55) 60%,rgba(12,26,14,.35) 100%)}
.page-hero__body{position:relative;z-index:1;padding-top:var(--nav-h)}
.page-hero__body h1{color:var(--white)}
.page-hero__body p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:540px;margin-top:12px}

/* Trust */
.trust{background:var(--forest);padding:22px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.trust__list{display:flex;justify-content:center;flex-wrap:wrap;gap:34px}
.trust__item{display:flex;align-items:center;gap:9px;font-family:var(--f-ui);font-size:.78rem;font-weight:600;color:rgba(255,255,255,.72);letter-spacing:.5px}
.trust__item i{color:var(--moss);font-size:.9rem}

/* ── EXPERTISE ── */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.exp-card{position:relative;background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xs);transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);display:flex;flex-direction:column}
.exp-card:hover{transform:translateY(-8px);box-shadow:var(--sh-lg)}
.exp-card:hover .exp-card__img img{transform:scale(1.06)}
.exp-card__img{position:relative;height:194px;overflow:hidden}
.exp-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.exp-card__img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,26,14,.45),transparent 55%)}
.exp-card__num{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--f-head);font-style:italic;font-size:1rem;color:rgba(255,255,255,.85);padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.4)}
.exp-card__body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.exp-card__title{font-size:1.2rem;margin-bottom:9px}
.exp-card__desc{font-size:.85rem;line-height:1.7;color:var(--text-soft);margin-bottom:18px;flex:1}
.exp-card__link{font-family:var(--f-ui);font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--fern);display:inline-flex;align-items:center;gap:8px;transition:gap .2s,color .3s}
.exp-card__link:hover{gap:13px;color:var(--meadow)}

/* ── IMAGE BREAK ── */
.break{position:relative;min-height:480px;display:flex;align-items:center;overflow:hidden}
.break__bg{position:absolute;inset:0;background-size:cover;background-position:center}
@media (min-width:1024px) and (hover:hover){.break__bg{background-attachment:fixed}}
.break__veil{position:absolute;inset:0;background:linear-gradient(120deg,rgba(12,26,14,.85),rgba(12,26,14,.45))}
.break__body{position:relative;z-index:1;max-width:680px;padding-block:90px}
.break__body h2{color:var(--white);font-style:italic;font-weight:500;margin-bottom:18px}
.break__body p{color:rgba(255,255,255,.7);font-size:1.05rem;margin-bottom:34px;max-width:520px}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,100px);align-items:center}
.about-media{position:relative}
.about-main-img{border-radius:var(--r-xl);overflow:hidden;height:560px}
.about-main-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.about-main-img:hover img{transform:scale(1.04)}
.about-float{position:absolute;bottom:-28px;right:-28px;width:200px;height:200px;border-radius:var(--r-lg);overflow:hidden;border:6px solid var(--white);box-shadow:var(--sh-lg)}
.about-float img{width:100%;height:100%;object-fit:cover}
.about-text>p{margin-top:18px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-block:32px}
.pillar{display:flex;gap:14px}
.pillar__icon{width:44px;height:44px;background:rgba(90,156,106,.1);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pillar__icon i{color:var(--meadow);font-size:1rem}
.pillar__title{font-family:var(--f-ui);font-size:.86rem;font-weight:700;color:var(--text);margin-bottom:4px}
.pillar__text{font-size:.8rem;color:var(--text-soft);line-height:1.55}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}
.process-grid::before{content:'';position:absolute;top:36px;left:calc(12.5% + 18px);right:calc(12.5% + 18px);height:1px;background:rgba(255,255,255,.1)}
.process-step{text-align:center}
.process-num{width:72px;height:72px;border-radius:50%;background:rgba(90,156,106,.15);border:1.5px solid rgba(90,156,106,.35);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-family:var(--f-head);font-size:1.6rem;color:var(--sage);position:relative;z-index:1}
.process-step__title{font-family:var(--f-ui);font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:10px}
.process-step__text{font-size:.83rem;color:rgba(255,255,255,.5);line-height:1.65}

/* Gallery / Our Work */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:280px 280px;gap:16px}
.gallery-item{position:relative;border-radius:var(--r-md);overflow:hidden;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out);display:block}
.gallery-item:hover img{transform:scale(1.07)}
.gallery-item--wide{grid-column:span 2}
.gallery-item--tall{grid-row:span 2}
.gallery-overlay{position:absolute;inset:0;background:rgba(12,26,14,.62);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .3s}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay i{color:var(--white);font-size:1.7rem}
.gallery-overlay span{color:var(--white);font-family:var(--f-ui);font-size:.8rem;font-weight:600;letter-spacing:1px}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--ink) 0%,var(--pine) 100%);padding:90px 0;position:relative;overflow:hidden}
.cta-band::before,.cta-band::after{content:'';position:absolute;border-radius:50%;background:rgba(90,156,106,.06)}
.cta-band::before{width:520px;height:520px;top:-200px;right:-100px}
.cta-band::after{width:320px;height:320px;bottom:-160px;left:-80px}
.cta-band__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-band__text h2{color:var(--white);margin-bottom:12px}
.cta-band__text p{color:rgba(255,255,255,.65);font-size:1.05rem;max-width:480px}
.cta-band__btns{display:flex;gap:14px;flex-shrink:0}

/* Footer */
.footer{background:var(--ink)}
.footer__main{padding:80px 0 48px}
.footer__grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.3fr;gap:52px}
.footer__brand p{color:rgba(255,255,255,.42);font-size:.85rem;line-height:1.75;margin:22px 0 26px;max-width:290px}
.footer__socials{display:flex;gap:10px}
.social-icon{width:38px;height:38px;background:rgba(255,255,255,.06);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.85rem;transition:background .3s,color .3s,transform .3s}
.social-icon:hover{background:var(--meadow);color:var(--white);transform:translateY(-2px)}
.footer__col-head{font-family:var(--f-ui);font-size:.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:20px}
.footer__links li{margin-bottom:11px}
.footer__links a,.footer__links span{color:rgba(255,255,255,.52);font-size:.85rem;display:flex;align-items:center;gap:7px;transition:color .3s,padding-left .3s}
.footer__links a i,.footer__links span i{font-size:.52rem;color:var(--meadow)}
.footer__links a:hover{color:var(--white);padding-left:4px}
.footer__contact-item{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px}
.footer__contact-item i{color:var(--moss);font-size:.85rem;margin-top:2px;flex-shrink:0}
.footer__contact-item span{color:rgba(255,255,255,.52);font-size:.83rem;line-height:1.6}
.footer__bar{border-top:1px solid rgba(255,255,255,.04);padding:22px 0}
.footer__bar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer__bar p{color:rgba(255,255,255,.28);font-size:.77rem}

/* Lightbox */
.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:rgba(8,16,10,.95);align-items:center;justify-content:center}
.lightbox.is-open{display:flex}
.lightbox__img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:var(--r-md);animation:scaleIn .3s var(--ease-out)}
.lightbox__close{position:absolute;top:22px;right:22px;width:46px;height:46px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.1rem;transition:background .3s}
.lightbox__close:hover{background:rgba(255,255,255,.18)}

/* WhatsApp */
.wa-btn{position:fixed;bottom:28px;right:28px;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.6rem;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:700;transition:transform .3s var(--ease-out),box-shadow .3s}
.wa-btn:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 8px 28px rgba(37,211,102,.55)}

/* ── CONTACT PAGE ── */
.contact-grid{display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:start}
.contact-info-card{background:var(--forest);border-radius:var(--r-xl);padding:44px;color:var(--white);position:sticky;top:calc(var(--nav-h) + 24px)}
.contact-info-card h3{color:var(--white);margin-bottom:8px}
.contact-info-card>p{color:rgba(255,255,255,.58);font-size:.88rem;margin-bottom:36px}
.cinfo{display:flex;gap:16px;margin-bottom:24px}
.cinfo__icon{width:46px;height:46px;background:rgba(143,196,154,.1);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cinfo__icon i{color:var(--sage);font-size:.95rem}
.cinfo__label{font-family:var(--f-ui);font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--moss);margin-bottom:4px}
.cinfo__value{font-size:.88rem;color:rgba(255,255,255,.82);line-height:1.5}
.cinfo__value a{transition:color .3s}
.cinfo__value a:hover{color:var(--sage)}
.service-area{margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.07)}
.service-area h4{font-family:var(--f-ui);font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--moss);margin-bottom:14px}
.area-tags{display:flex;flex-wrap:wrap;gap:7px}
.area-tag{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.62);padding:5px 12px;border-radius:var(--r-pill);font-size:.75rem;font-family:var(--f-ui);font-weight:500}
.quote-card{background:var(--white);border-radius:var(--r-xl);padding:52px;box-shadow:var(--sh-md)}
.quote-card h3{font-size:1.55rem;margin-bottom:6px}
.quote-card>p{font-size:.87rem;color:var(--text-soft);margin-bottom:34px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-group{margin-bottom:20px}
.f-label{display:block;font-family:var(--f-ui);font-size:.7rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-mid);margin-bottom:8px}
.f-label em{color:var(--meadow);font-style:normal}
.f-input{width:100%;padding:13px 15px;border:1.5px solid #e0ddd6;border-radius:var(--r-md);font-size:.91rem;color:var(--text);background:var(--cream);outline:none;transition:border-color .3s,box-shadow .3s,background .3s;appearance:none}
.f-input:focus{border-color:var(--meadow);background:var(--white);box-shadow:0 0 0 3px rgba(63,122,80,.12)}
.f-input::placeholder{color:#b4b0a8}
textarea.f-input{resize:vertical;min-height:120px}
select.f-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%236a7566' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}
.f-drop{position:relative;border:2px dashed #d6d2c8;border-radius:var(--r-md);padding:28px;text-align:center;background:var(--cream);cursor:pointer;transition:border-color .3s,background .3s}
.f-drop:hover,.f-drop.is-over{border-color:var(--meadow);background:rgba(63,122,80,.04)}
.f-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.f-drop__icon{font-size:1.8rem;color:var(--meadow);margin-bottom:10px}
.f-drop__text{font-size:.85rem;color:var(--text-mid)}
.f-drop__text strong{color:var(--text)}
.f-drop__hint{font-size:.74rem;color:var(--text-soft);margin-top:5px}
.f-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.f-chip{display:flex;align-items:center;gap:5px;background:rgba(63,122,80,.1);color:var(--fern);padding:3px 10px;border-radius:var(--r-sm);font-size:.73rem;font-family:var(--f-ui);font-weight:600}
.f-method{display:flex;gap:10px}
.f-method__opt{flex:1;position:relative}
.f-method__opt input{position:absolute;opacity:0;width:0;height:0}
.f-method__opt label{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border:1.5px solid #e0ddd6;border-radius:var(--r-md);background:var(--cream);font-family:var(--f-ui);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.f-method__opt input:checked+label{border-color:var(--meadow);background:rgba(63,122,80,.07);color:var(--fern)}
.form-success{display:none;text-align:center;padding:52px 28px}
.form-success__icon{width:76px;height:76px;background:rgba(63,122,80,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.form-success__icon i{font-size:2rem;color:var(--meadow)}
.form-success h3{margin-bottom:12px}
.form-success p{max-width:400px;margin:0 auto;font-size:.93rem}

/* ── RESPONSIVE ── */
@media(max-width:1040px){
  .exp-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1100px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:40px}
  .contact-grid{grid-template-columns:320px 1fr;gap:36px}
  .contact-info-card{position:static}
}
@media(max-width:900px){
  :root{--nav-h:68px}
  .about-grid{grid-template-columns:1fr}
  .about-media{display:none}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid::before{display:none}
  .cta-band__inner{flex-direction:column;text-align:center}
  .cta-band__text p{max-width:100%}
  .cta-band__btns{justify-content:center}
  .contact-grid{grid-template-columns:1fr}
  .exp-card__img{height:210px}
}
@media(max-width:600px){
  .exp-grid{grid-template-columns:1fr}
  .exp-card__img{height:220px}
}
@media(max-width:768px){
  .nav__links,.nav__right{display:none}
  .nav__burger{display:flex}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gallery-item--wide{grid-column:span 2}
  .gallery-item--tall{grid-row:span 1}
  .gallery-item{height:210px !important}
  .footer__grid{grid-template-columns:1fr;gap:32px}
  .f-row{grid-template-columns:1fr}
  .f-method{flex-direction:column}
  .hero__ctas{flex-direction:column;align-items:flex-start}
  .hero__scroll{display:none}
  .quote-card{padding:28px 20px}
  .process-grid{grid-template-columns:1fr}
  .sec{padding-block:clamp(56px,10vw,80px)}
  .break{min-height:380px}
  .logo__sub{display:none}
}
@media(max-width:480px){
  .wrap{padding-inline:16px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-item--wide{grid-column:span 1}
  .trust__list{gap:18px}
  .pillars{grid-template-columns:1fr}
}

/* ── LOGO IMAGE (with text fallback) ── */
.logo__img{height:50px;width:auto;max-width:230px;object-fit:contain;display:block}
.footer__brand .logo__img{height:46px}
.logo__fallback{display:inline-flex;align-items:center;gap:14px}
.logo__fallback[hidden]{display:none}

/* ── TURF INSTALLATIONS GALLERY ── */
.work-sub{text-align:center;max-width:560px;margin:0 auto 28px}
.work-sub h3{margin-bottom:8px}
.work-sub p{color:var(--text-soft);font-size:.92rem}
.turf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1080px;margin:0 auto 56px}
.turf-grid .gallery-item{aspect-ratio:4/3}
@media(max-width:900px){.turf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.turf-grid{grid-template-columns:1fr}}

/* ── BEFORE / AFTER SLIDER ── */
.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1080px;margin-inline:auto;align-items:start}
.ba{--pos:50%;position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);background:var(--linen);cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none}
.ba:focus-visible{outline:3px solid var(--meadow);outline-offset:3px}
.ba__pane{position:absolute;inset:0}
.ba__pane img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba__pane--before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;transform:translateX(-1.5px);box-shadow:0 0 14px rgba(0,0,0,.45);pointer-events:none}
.ba__grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;gap:1px;color:var(--fern);font-size:.78rem;box-shadow:var(--sh-md)}
.ba__tag{position:absolute;bottom:16px;font-family:var(--f-ui);font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:rgba(12,26,14,.6);padding:6px 13px;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}
.ba__tag--before{left:16px}
.ba__tag--after{right:16px}
.ba__hint{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-soft);margin-top:22px}
@media(max-width:760px){.ba-grid{grid-template-columns:1fr;max-width:540px}}
