/* ═══════════════════════════════════════════════════════════
   GREEN VIEW CONCEPTS NURSERY — Stylesheet
   Fonts: Cormorant Garamond (display) + Outfit (body)
   ═══════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
  --forest: #2d5a27; --forest-deep: #1a3d16;
  --sage: #7a9e6f; --sage-light: #a8c49e; --olive: #5c7a4a;
  --cream: #f9f6f0; --cream-warm: #f3ede3; --sand: #e8e0d2;
  --charcoal: #2a2a28; --charcoal-soft: #4a4a46;
  --terra: #c4956a; --gold: #b8963e; --white: #ffffff;
  --card-shadow: 0 4px 24px rgba(45,90,39,0.06);
  --card-shadow-hover: 0 12px 40px rgba(45,90,39,0.12);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
::selection{background:var(--sage-light);color:var(--forest-deep)}
body{font-family:'Outfit',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;line-height:1.6}
.serif{font-family:'Cormorant Garamond',serif}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:'Outfit',sans-serif}
input,textarea{font-family:'Outfit',sans-serif;color:var(--charcoal)}
input:focus,textarea:focus{outline:none;border-color:var(--forest)!important}

/* ─── Animations ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-18px) rotate(calc(var(--rot,0deg) + 3deg))}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes gentlePulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}

.fade-up{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}
.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}

/* ─── Navbar ─── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all .45s}
.navbar.scrolled{background:rgba(249,246,240,.97);backdrop-filter:blur(24px);border-bottom:1px solid rgba(0,0,0,.05);padding:10px 0}
.navbar-inner{max-width:1280px;margin:0 auto;padding:0 28px;display:flex;justify-content:space-between;align-items:center}
.navbar-logo{display:flex;align-items:center;gap:12px;cursor:pointer}
.navbar-logo-icon{width:42px;height:42px;background:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}
.navbar-logo-text h1{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--forest-deep);line-height:1.1;letter-spacing:.5px}
.navbar-logo-text span{font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--sage);font-weight:600}
.navbar-links{display:flex;align-items:center;gap:28px}
.nav-btn{background:none;border:none;font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--charcoal);position:relative;padding:4px 0;transition:color .3s}
.nav-btn::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--forest);transition:width .35s cubic-bezier(.4,0,.2,1)}
.nav-btn:hover{color:var(--forest)}.nav-btn:hover::after{width:100%}
.mobile-toggle{display:none;background:none;border:none;padding:8px;flex-direction:column;gap:5px}
.mobile-toggle span{display:block;width:26px;height:2px;background:var(--charcoal);transition:all .3s}
.mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.mobile-toggle.open span:nth-child(2){opacity:0}
.mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{display:none;background:var(--cream);padding:16px 28px;border-top:1px solid rgba(0,0,0,.05)}
.mobile-menu.open{display:block}
.mobile-menu .nav-btn{display:block;padding:12px 0;width:100%;text-align:left}

/* ─── Buttons ─── */
.btn-forest{display:inline-flex;align-items:center;gap:10px;background:var(--forest);color:#fff;border:none;padding:17px 42px;font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}
.btn-forest::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:translateX(-100%);transition:transform .6s}
.btn-forest:hover{background:var(--forest-deep);transform:translateY(-3px);box-shadow:0 10px 30px rgba(45,90,39,.3)}
.btn-forest:hover::before{transform:translateX(100%)}
.btn-forest-sm{padding:12px 28px;font-size:12px}
.btn-white{background:#fff;color:var(--forest-deep)}.btn-white:hover{box-shadow:0 10px 30px rgba(0,0,0,.2)}
.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--forest);border:2px solid var(--forest);padding:15px 38px;font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;transition:all .35s}
.btn-outline:hover{background:var(--forest);color:#fff;transform:translateY(-3px)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}.btn-ghost:hover{background:rgba(255,255,255,.15);color:#fff}

/* ─── Section typography ─── */
.section-eyebrow{font-size:11px;font-weight:600;letter-spacing:5px;text-transform:uppercase;color:var(--sage);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.section-eyebrow::before{content:'';width:40px;height:1.5px;background:var(--sage)}
.section-eyebrow.center{justify-content:center}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4.5vw,56px);font-weight:500;color:var(--charcoal);line-height:1.12;margin-bottom:20px}
.section-title em{color:var(--forest);font-style:italic}

/* ─── Hero ─── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;background:linear-gradient(160deg,var(--cream),var(--cream-warm) 40%,var(--sand))}
.hero-inner{max-width:1280px;margin:0 auto;padding:140px 28px 80px;width:100%;position:relative;z-index:1}
.hero-content{max-width:760px}
.hero-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(45,90,39,.08);padding:8px 20px;margin-bottom:28px;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--forest);text-transform:uppercase}
.hero-badge-dot{width:7px;height:7px;background:var(--forest);border-radius:50%;animation:gentlePulse 2s ease infinite}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7.5vw,88px);font-weight:500;line-height:1.02;color:var(--charcoal);margin-bottom:28px}
.hero-title .accent{color:var(--forest);font-style:italic}
.hero-title .subtitle{display:block;font-size:clamp(20px,3vw,32px);font-weight:300;color:var(--charcoal-soft);margin-top:4px;font-style:italic}
.hero-desc{font-size:18px;line-height:1.75;color:var(--charcoal-soft);max-width:540px;margin-bottom:44px}
.hero-desc strong{color:var(--forest)}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.hero-stats{display:flex;gap:48px;margin-top:64px}
.hero-stat-value{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:600;color:var(--forest)}
.hero-stat-label{font-size:12px;color:var(--charcoal-soft);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;font-weight:500}
.leaf-svg{position:absolute;opacity:.04}
.leaf-1{width:120px;top:8%;left:3%;--rot:-20deg;animation:float 7s ease-in-out infinite}
.leaf-2{width:80px;top:20%;right:6%;--rot:40deg;animation:float 9s ease-in-out infinite 1.5s}
.leaf-3{width:100px;bottom:15%;left:10%;--rot:-25deg;animation:float 8s ease-in-out infinite .8s}
.leaf-4{width:60px;bottom:25%;right:15%;--rot:15deg;animation:float 10s ease-in-out infinite 2s}

/* ─── Marquee ─── */
.marquee-section{padding:28px 0;background:var(--cream);overflow:hidden}
.marquee-track{display:inline-flex;white-space:nowrap;animation:marquee 40s linear infinite}
.marquee-item{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,8vw,90px);font-weight:300;font-style:italic;color:var(--forest);opacity:.08;padding:0 50px}
.marquee-dot{margin:0 24px;opacity:.5;font-size:.5em}

/* ─── About ─── */
.about{padding:110px 28px;background:var(--cream)}
.about-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:72px;align-items:center}
.about-text p{font-size:16px;line-height:1.85;color:var(--charcoal-soft);margin-bottom:20px}
.about-text p strong{color:var(--forest)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-card{background:var(--white);padding:34px 22px;text-align:center;border:1px solid rgba(0,0,0,.04);transition:all .35s}
.about-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}
.about-card-icon{font-size:44px;margin-bottom:12px}
.about-card-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;margin-bottom:4px}
.about-card-count{font-size:24px;font-weight:700;color:var(--forest)}
.about-card-sub{font-size:12px;color:var(--charcoal-soft);margin-top:6px}

/* ─── Features strip ─── */
.features-strip{padding:0 28px;background:var(--cream)}
.features-strip-inner{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:40px 0}
.feature-item{display:flex;align-items:center;gap:10px;padding:16px 24px;background:rgba(255,255,255,.5);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.04)}
.feature-item-icon{font-size:20px}
.feature-item-text{font-size:13px;font-weight:500;color:var(--charcoal-soft);letter-spacing:.5px}

/* ═══ GALLERY + CAROUSEL ═══ */
.gallery{padding:100px 28px;background:var(--cream-warm)}
.gallery-inner{max-width:1280px;margin:0 auto}
.gallery-header{text-align:center;margin-bottom:48px}
.gallery-header p{font-size:16px;color:var(--charcoal-soft);max-width:500px;margin:0 auto;line-height:1.7}
.gallery-filters{display:flex;justify-content:center;gap:10px;margin-bottom:44px;flex-wrap:wrap}
.gallery-tag{padding:10px 24px;font-size:13px;font-weight:500;letter-spacing:1px;border:1.5px solid transparent;background:transparent;color:var(--charcoal-soft);transition:all .3s}
.gallery-tag:hover{border-color:var(--sage);color:var(--forest)}
.gallery-tag.active{background:var(--forest);color:#fff;border-color:var(--forest);font-weight:600}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}

/* Plant card */
.plant-card{position:relative;overflow:hidden;background:var(--white);border:1px solid rgba(0,0,0,.04);transition:all .45s cubic-bezier(.4,0,.2,1)}
.plant-card:hover{transform:translateY(-8px);box-shadow:var(--card-shadow-hover)}

/* Carousel */
.carousel{position:relative;height:260px;overflow:hidden;background:linear-gradient(135deg,var(--forest),var(--olive))}
.carousel-slides{position:relative;width:100%;height:100%}
.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease-in-out;display:flex;align-items:center;justify-content:center}
.carousel-slide.active{opacity:1}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-emoji{font-size:72px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));transition:transform .5s}
.plant-card:hover .carousel-emoji{transform:scale(1.15) rotate(-5deg)}

/* Carousel loading */
.carousel-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:absolute;inset:0}
.carousel-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.carousel-loading-text{font-size:11px;color:rgba(255,255,255,.6);letter-spacing:1px;text-transform:uppercase}

/* Carousel dots */
.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:5}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;transition:all .3s;padding:0}
.carousel-dot.active{background:#fff;width:20px;border-radius:4px}

/* Carousel arrows */
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s;z-index:5}
.plant-card:hover .carousel-arrow{opacity:1}
.carousel-arrow:hover{background:rgba(255,255,255,.3)}
.carousel-arrow.prev{left:10px}.carousel-arrow.next{right:10px}

/* Photo count + tag */
.carousel-count{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:#fff;font-size:10px;font-weight:600;letter-spacing:1px;padding:4px 10px;z-index:5;border-radius:2px}
.plant-card-tag{position:absolute;top:14px;left:14px;z-index:5;background:rgba(255,255,255,.92);padding:5px 14px;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--forest)}
.plant-card-body{padding:22px 24px}
.plant-card-name{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;margin-bottom:6px}
.plant-card-desc{font-size:13px;color:var(--charcoal-soft);margin-bottom:14px;line-height:1.5}
.plant-card-footer{display:flex;justify-content:space-between;align-items:center}
.plant-card-price{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:700;color:var(--forest)}
.plant-card-soon{font-size:11px;color:var(--sage);font-weight:600;letter-spacing:1px;text-transform:uppercase}
.gallery-note{text-align:center;margin-top:40px;font-size:14px;color:var(--charcoal-soft);font-style:italic}

/* Setup banner */
.setup-banner{max-width:800px;margin:0 auto 40px;padding:24px 28px;background:rgba(45,90,39,.06);border:1.5px dashed var(--sage);text-align:center}
.setup-banner-title{font-weight:700;font-size:14px;color:var(--forest);margin-bottom:8px}
.setup-banner-text{font-size:13px;color:var(--charcoal-soft);line-height:1.7}
.setup-banner code{background:rgba(45,90,39,.08);padding:2px 8px;font-size:12px;font-family:'Courier New',monospace;color:var(--forest-deep)}

/* ─── Categories ─── */
.categories{padding:100px 28px;background:var(--cream)}
.categories-inner{max-width:1280px;margin:0 auto}
.categories-header{text-align:center;margin-bottom:52px}
.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.cat-card{background:var(--white);border:1px solid rgba(0,0,0,.05);padding:44px 32px;text-align:center;transition:all .4s;position:relative;overflow:hidden}
.cat-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--forest),var(--sage));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--card-shadow-hover)}
.cat-card:hover::after{transform:scaleX(1)}
.cat-card-icon{font-size:52px;margin-bottom:18px}
.cat-card-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;margin-bottom:8px}
.cat-card-count{font-size:32px;font-weight:700;color:var(--forest);margin-bottom:8px}
.cat-card-desc{font-size:14px;color:var(--charcoal-soft);line-height:1.7}

/* ─── Reviews ─── */
.reviews{padding:100px 28px;background:var(--cream-warm)}
.reviews-inner{max-width:1280px;margin:0 auto}
.reviews-header{text-align:center;margin-bottom:20px}
.google-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);padding:10px 20px;border:1px solid rgba(0,0,0,.08);font-size:14px;font-weight:600;margin-bottom:40px}
.google-badge-source{font-size:11px;color:var(--sage);font-weight:500;letter-spacing:1px}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.review-card{background:var(--white);border:1px solid rgba(0,0,0,.05);padding:36px 30px;transition:all .4s;position:relative}
.review-card::before{content:'\201C';position:absolute;top:12px;left:20px;font-family:'Cormorant Garamond',serif;font-size:80px;color:var(--sage-light);opacity:.4;line-height:1}
.review-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}
.review-stars{display:flex;gap:2px;margin-bottom:16px;position:relative;z-index:1}
.review-stars span{color:#e8a838;font-size:16px}
.review-text{font-size:15px;line-height:1.8;color:var(--charcoal-soft);margin-bottom:22px;font-style:italic;position:relative;z-index:1}
.review-author{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.review-avatar{width:46px;height:46px;background:var(--forest);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:17px;font-family:'Cormorant Garamond',serif}
.review-name{font-weight:600;font-size:15px}
.review-meta{font-size:12px;color:var(--sage)}
.reviews-pagination{display:flex;justify-content:center;gap:10px;margin-top:32px}
.reviews-dot{height:10px;border-radius:5px;border:none;cursor:pointer;transition:all .3s}
.reviews-dot.active{width:32px;background:var(--forest)}.reviews-dot:not(.active){width:10px;background:var(--sand)}
.reviews-note{text-align:center;margin-top:28px;font-size:13px;color:var(--charcoal-soft);font-style:italic}

/* ─── CTA ─── */
.cta-section{padding:100px 28px;text-align:center;position:relative;overflow:hidden;background:linear-gradient(140deg,var(--forest-deep),var(--forest),var(--olive))}
.cta-inner{max-width:620px;margin:0 auto;position:relative;z-index:1}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,52px);font-weight:500;color:#fff;margin-bottom:18px;line-height:1.1}
.cta-desc{color:rgba(255,255,255,.8);font-size:17px;line-height:1.75;margin-bottom:40px}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ─── Contact ─── */
.contact{padding:100px 28px;background:var(--cream)}
.contact-inner{max-width:1280px;margin:0 auto}
.contact-header{text-align:center;margin-bottom:56px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px}
.contact-detail{display:flex;gap:18px;margin-bottom:22px;align-items:flex-start}
.contact-detail-icon{font-size:24px;line-height:1.4;flex-shrink:0}
.contact-detail-label{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--sage);margin-bottom:4px}
.contact-detail-value{font-size:15px;color:var(--charcoal);line-height:1.6}
.contact-socials-box{margin-top:32px;padding:24px;background:rgba(45,90,39,.04);border:1px solid rgba(45,90,39,.08)}
.contact-socials-title{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--forest);margin-bottom:12px}
.contact-socials-grid{display:flex;gap:10px;flex-wrap:wrap}
.social-icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(45,90,39,.2);font-size:18px;cursor:pointer;transition:all .3s;background:transparent}
.social-icon-btn:hover{background:var(--forest);border-color:var(--forest)}
.contact-form{display:flex;flex-direction:column;gap:18px}
.contact-form h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;margin-bottom:10px}
.contact-input,.contact-textarea{padding:16px 20px;border:1.5px solid rgba(0,0,0,.08);background:var(--white);font-size:15px;transition:border .3s;width:100%}
.contact-textarea{resize:vertical}

/* ─── Footer ─── */
.footer{background:var(--charcoal);color:#fff;padding:72px 28px 36px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:52px;margin-bottom:52px}
.footer-brand p{font-size:14px;line-height:1.85;opacity:.65;max-width:300px}
.footer-links-title{font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px;opacity:.9}
.footer-link{display:block;background:none;border:none;color:#fff;opacity:.55;font-size:14px;cursor:pointer;font-family:'Outfit',sans-serif;padding:6px 0;transition:opacity .3s;text-align:left}
.footer-link:hover{opacity:1}
.footer-socials{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.social-link{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:20px;transition:all .35s;background:transparent}
.social-link:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);transform:translateY(-4px)}
.footer-social-handles{font-size:14px;opacity:.5;line-height:1.9}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom span{font-size:13px;opacity:.4}

/* ─── Responsive ─── */
@media(max-width:768px){
  .navbar-links,.navbar-cta{display:none!important}
  .mobile-toggle{display:flex!important}
  .hero-stats{flex-direction:column;gap:20px!important}
  .about-inner{grid-template-columns:1fr}
  .contact-grid,.reviews-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
  .hero-title{font-size:clamp(40px,10vw,60px)}
  .footer-bottom{flex-direction:column;text-align:center}
  .setup-banner{margin:0 16px 40px}
}
