@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#2e7d32;--green-mid:#43a047;--green-light:#e8f5e9;--green-bright:#66bb6a;--green-pale:#f1f8f1;
  --white:#ffffff;--off:#f7f9f7;--charcoal:#1a1f1a;--body:#3d4a3d;--muted:#6b7d6b;--border:#d4e6d4;
}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--white);color:var(--charcoal);overflow-x:hidden}

/* ── NAV ── */
nav{background:var(--white);border-bottom:1.5px solid var(--border);padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:66px;position:sticky;top:0;z-index:200;box-shadow:0 1px 16px rgba(0,0,0,0.05)}
.logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-img{height:110px;width:auto;display:block}
.logo-text-wrap{display:flex;flex-direction:column}
.logo-name{font-size:17px;font-weight:800;color:var(--green);letter-spacing:-0.3px;line-height:1.1}
.logo-sub{font-size:12px;color:var(--muted);letter-spacing:0.5px}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:15px;font-weight:500;color:var(--body);text-decoration:none;transition:color .15s}
.nav-links a:hover{color:var(--green)}
.nav-links a.active{color:var(--green);font-weight:700}
.nav-actions{display:flex;gap:10px;align-items:center}
.nav-call{font-size:15px;font-weight:600;color:var(--green);text-decoration:none}
.nav-btn{background:var(--green);color:#fff;padding:10px 20px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s}
.nav-btn:hover{background:#256427}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:8px}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--charcoal);border-radius:2px;transition:transform .25s,opacity .25s}
.mobile-menu{display:none;position:fixed;inset:0;top:66px;background:var(--white);z-index:199;padding:2rem 2rem 3rem;overflow-y:auto;flex-direction:column;gap:0;border-top:1.5px solid var(--border)}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:18px;font-weight:600;color:var(--body);text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--border)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a.active{color:var(--green)}
.mobile-menu .mm-call{font-size:20px;font-weight:800;color:var(--green);margin-top:1.5rem;border:none}
.mobile-menu .mm-btn{background:var(--green);color:#fff;padding:14px 20px;border-radius:9px;text-align:center;margin-top:0.5rem;font-size:16px;font-weight:700;border:none}


/* ── BREADCRUMB ── */
.breadcrumb{background:var(--off);border-bottom:1px solid var(--border);padding:0.75rem 2.5rem}
.breadcrumb-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--green)}
.breadcrumb-sep{opacity:0.4}

/* ── HERO ── */
.product-hero{position:relative;overflow:hidden;background:var(--charcoal);min-height:480px;display:flex;align-items:flex-end}
.product-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.85)}
.product-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,15,10,0.92) 0%,rgba(10,15,10,0.55) 55%,rgba(10,15,10,0.15) 100%)}
.product-hero-inner{position:relative;z-index:2;max-width:1200px;width:100%;margin:0 auto;padding:4rem 2.5rem}
.hero-badge{display:inline-block;color:#fff;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:5px 13px;border-radius:20px;margin-bottom:1.2rem}
.product-hero h1{font-size:clamp(36px,5.5vw,58px);font-weight:800;line-height:1.05;letter-spacing:-1.5px;color:#fff;margin-bottom:0.5rem}
.product-hero h1 span{color:#a5d6a7}
.hero-sub{font-size:18px;font-weight:600;color:rgba(255,255,255,0.55);margin-bottom:1rem;letter-spacing:0}
.hero-tagline{font-size:16px;color:rgba(255,255,255,0.7);line-height:1.7;max-width:580px;margin-bottom:2rem}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-green{background:var(--green);color:#fff;padding:14px 26px;border-radius:9px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block;transition:background .15s}
.btn-green:hover{background:#256427}
.btn-outline-w{border:1.5px solid rgba(255,255,255,0.35);color:#fff;padding:14px 26px;border-radius:9px;font-size:16px;font-weight:600;text-decoration:none;display:inline-block;transition:all .15s}
.btn-outline-w:hover{border-color:#fff;background:rgba(255,255,255,0.08)}


/* ── RANGE OVERVIEW PAGE ── */
.range-section{padding:4rem 2.5rem}
.range-section-inner{max-width:1200px;margin:0 auto}
.range-intro .range-desc{font-size:16px;color:var(--body);line-height:1.85;max-width:720px}
.range-desc p+p{margin-top:1.1rem}
.sec-label{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.sec-sublabel{font-size:15px;color:var(--muted);margin-bottom:2rem;margin-top:-0.4rem}

/* model cards grid */
.mcards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.mcard{background:var(--white);border:1.5px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;display:block;transition:border-color .2s,box-shadow .2s,transform .2s}
.mcard:hover{border-color:var(--green-bright);box-shadow:0 8px 32px rgba(46,125,50,0.12);transform:translateY(-3px)}
.mcard-photo{height:180px;background-size:cover;background-position:center;position:relative}
.mcard-badge{position:absolute;top:12px;left:12px;color:#fff;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.mcard-body{padding:1.4rem 1.6rem 1.8rem}
.mcard-name{font-size:17px;font-weight:800;color:var(--charcoal);margin-bottom:0.2rem;letter-spacing:-0.3px}
.mcard-area{font-size:13px;color:var(--muted);margin-bottom:0.9rem}
.mcard-price{font-size:20px;font-weight:800;color:var(--charcoal);letter-spacing:-0.5px;margin-bottom:0.3rem}
.mcard-price .poa{font-size:15px;color:var(--green)}
.mcard-price .price-vat{font-size:13px;font-weight:500;color:var(--muted)}
.mcard-avail{margin-bottom:1.1rem;min-height:22px}
.mcard-highlights{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:1.3rem}
.mcard-highlights li{font-size:14px;color:var(--muted);padding-left:14px;position:relative;line-height:1.5}
.mcard-highlights li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--green-bright);border-radius:50%}
.mcard-cta{font-size:14px;font-weight:700;color:var(--green)}

/* availability badges */
.avail-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:3px 0}
.avail-badge::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}
.avail-badge.in{color:#2e7d32}
.avail-badge.in::before{background:#2e7d32}
.avail-badge.unavail{color:#757575}
.avail-badge.unavail::before{background:#9e9e9e}

/* ── INDIVIDUAL MODEL PAGE ── */
.model-page-body{padding:3.5rem 2.5rem;max-width:1200px;margin:0 auto}
.model-page-inner{display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start}
.price-panel{background:var(--off);border:1.5px solid var(--border);border-radius:16px;padding:1.8rem;position:sticky;top:80px}
.price-panel-price{font-size:28px;font-weight:800;color:var(--charcoal);letter-spacing:-0.5px;margin-bottom:0.5rem}
.price-panel-price .poa{font-size:20px;color:var(--green)}
.price-panel-price .price-vat{font-size:14px;font-weight:500;color:var(--muted)}
.price-panel-avail{min-height:24px;margin-bottom:0.5rem}
.model-page-content .sec-label{margin-top:2.5rem}
.model-page-content .sec-label:first-child{margin-top:0}

/* specs table */
.specs-table{width:100%;border-collapse:collapse;margin-bottom:2rem}
.specs-table tr{border-bottom:1px solid var(--border)}
.specs-table tr:last-child{border-bottom:none}
.specs-table td{padding:0.75rem 0;font-size:15px;vertical-align:top}
.specs-table td:first-child{color:var(--muted);width:44%;font-weight:500}
.specs-table td:last-child{color:var(--charcoal);font-weight:600}

/* photo gallery */
.photo-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.5rem 0 2.5rem}
.photo-gallery img{width:100%;border-radius:12px;object-fit:cover;aspect-ratio:4/3;display:block;border:1.5px solid var(--border)}
.photo-gallery.single{grid-template-columns:1fr}
.photo-gallery.single img{aspect-ratio:16/9}

/* price in the sibling range cards */
.range-card-price{font-size:13px;font-weight:700;color:var(--green)}
.range-card-price .poa{font-size:13px}
.range-card-price .price-vat{display:none}

/* ── SIBLING RANGE NAV ── */
.range-nav{background:var(--off);border-top:1.5px solid var(--border);padding:3.5rem 2.5rem}
.range-nav-inner{max-width:1200px;margin:0 auto}
.range-nav h3{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-0.5px;margin-bottom:0.5rem}
.range-nav p{font-size:15px;color:var(--muted);margin-bottom:2rem}
.range-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.range-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:block}
.range-card:hover{border-color:var(--green-bright);box-shadow:0 6px 24px rgba(46,125,50,0.1);transform:translateY(-2px)}
.range-card.current{border-color:var(--green);background:var(--green-pale);pointer-events:none}
.range-card-photo{height:140px;background-size:cover;background-position:center;background-color:var(--green-pale)}
.range-card-body{padding:1.1rem 1.2rem}
.range-card-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:0.3rem}
.range-card-name{font-size:15px;font-weight:800;color:var(--charcoal);line-height:1.2;margin-bottom:0.3rem}
.range-card-sub{font-size:13px;color:var(--muted)}
.range-card.current .range-card-badge::after{content:' · Current page'}

/* ── FOOTER ── */
footer{background:var(--charcoal);color:rgba(255,255,255,0.65);padding:4rem 2.5rem 2rem}
.footer-inner{max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem}
.footer-logo-name{font-size:17px;font-weight:800;color:#fff}
.footer-desc{font-size:15px;line-height:1.75;margin-bottom:1.2rem;max-width:260px}
.footer-reg{font-size:13px;color:rgba(255,255,255,0.25)}
footer h5{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:1.2rem}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul a{font-size:15px;color:rgba(255,255,255,0.45);text-decoration:none;transition:color .15s}
footer ul a:hover{color:#fff}
.footer-phone{font-size:18px;font-weight:700;color:#fff;text-decoration:none;display:block;margin-top:0.8rem;transition:color .15s}
.footer-phone:hover{color:var(--green-bright)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;font-size:14px;color:rgba(255,255,255,0.2);flex-wrap:wrap;gap:0.5rem}
.footer-bottom a{color:rgba(255,255,255,0.2);text-decoration:none}
.footer-bottom a:hover{color:rgba(255,255,255,0.5)}

/* ── TABLET ── */
@media(max-width:960px){
  .nav-links,.nav-actions{display:none}
  .nav-hamburger{display:flex}
  nav{padding:0 1.5rem}
  .mcards-grid{grid-template-columns:repeat(2,1fr)}
  .model-page-inner{grid-template-columns:1fr;gap:2rem}
  .price-panel{position:static}
  .range-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .product-hero-inner{padding:3rem 1.5rem}
  .range-nav{padding:3rem 1.5rem}
  .range-section{padding:3rem 1.5rem}
  .model-page-body{padding:3rem 1.5rem}
  .breadcrumb{padding:0.75rem 1.5rem}
}

/* ── MOBILE ── */
@media(max-width:600px){
  nav{height:60px;padding:0 1rem}
  .mobile-menu{top:60px}
  .logo-img{height:80px}
  .mcards-grid{grid-template-columns:1fr}
  .product-hero-inner{padding:2.5rem 1.2rem}
  .product-hero{min-height:400px}
  .range-grid{grid-template-columns:1fr 1fr}
  .photo-gallery{grid-template-columns:1fr}
  .range-nav{padding:2.5rem 1.2rem}
  .range-section{padding:2.5rem 1.2rem}
  .model-page-body{padding:2.5rem 1.2rem}
  .breadcrumb{padding:0.75rem 1.2rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  footer{padding:3rem 1.2rem 1.5rem}
  .hero-btns{flex-direction:column;align-items:flex-start}
  .btn-green,.btn-outline-w{width:100%;text-align:center}
}
