:root {
    --bg: #f4f7ee;
    --bg-soft: #e8f2df;
    --surface: rgba(255, 255, 255, 0.88);
    --surface-strong: #ffffff;
    --text: #183124;
    --muted: #5b6d5e;
    --line: rgba(24, 49, 36, 0.1);
    --primary: #2d7f45;
    --primary-deep: #18502a;
    --accent: #a2d36f;
    --shadow: 0 24px 60px rgba(35, 71, 37, 0.12);
    --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Manrope", sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at top right, rgba(162, 211, 111, 0.15), transparent 30%),
        linear-gradient(180deg, #f6faef 0%, #eef6e8 100%);
}
h1, h2, h3, h4, .navbar-brand strong, .footer-title, .panel-head h2, .admin-topbar h1 {
    font-family: "Sora", sans-serif;
    letter-spacing: 0;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.section-space { padding: 4.5rem 0; }
.soft-band { background: linear-gradient(180deg, rgba(45, 127, 69, 0.06), rgba(162, 211, 111, 0.08)); }
.bg-leaf { background: linear-gradient(180deg, rgba(255,255,255,0), rgba(45,127,69,0.05)); }
.eyebrow {
    display: inline-flex;
    padding: .45rem .85rem;
    border-radius: 999px;
    background: rgba(162, 211, 111, 0.15);
    color: var(--accent);
    border: 1px solid rgba(162, 211, 111, 0.2);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    line-height: 1.3;
    white-space: normal;
    max-width: 100%;
}
.hero-section .eyebrow {
    background: rgba(255, 255, 255, 0.12);
    color: #a2d36f;
    border-color: rgba(162, 211, 111, 0.35);
    padding: .4rem .9rem;
}
.site-navbar {
    background: rgba(14, 29, 18, 0.88);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    color: #fff;
}
.navbar-brand small { display: block; font-size: .72rem; color: rgba(255,255,255,.68); }
.brand-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}
.brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.brand-logo-navbar {
    width: 30px;
    height: 40px;
    flex: 0 0 30px;
}
.brand-logo-footer {
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
}
.nav-link { color: rgba(255,255,255,.78) !important; font-weight: 600; }
.nav-link.active, .nav-link:hover { color: #fff !important; }
.nav-search {
    min-width: min(100%, 250px);
    display: flex;
    align-items: center;
    gap: .55rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    padding: .55rem .9rem;
    margin-top: 1rem;
}
.nav-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
}
.nav-search input::placeholder { color: rgba(255,255,255,.55); }
/* Dynamic Navbar & Mega Menu (CodePen Integration) */
/* Sticky Header */
.header.sticky-top {
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1000;
	padding: 10px 0;
    background-color: #ffffff;
    font-family: 'Poppins', sans-serif;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.header .container {
	max-width: 1200px;
	margin: auto;
    padding: 0 15px;
}
.header .header-main .container > .row{
	display: flex;
	flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
.header .v-center {
    align-items: center;
}
.header .item-left {
	flex: 0 0 17%;
}
.header .logo a{
	font-size: 28px;
	color: #000000;
	font-weight: 800;
	text-decoration: none;
    display: flex;
    align-items: center;
}
.header .item-center{
	flex:0 0 66%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.header .item-right{
	flex:0 0 17%;
	display: flex;
	justify-content: flex-end;
}
.header .item-right a{ 
     text-decoration: none;
     font-size: 18px;
     color: #555555;
     display: inline-block;
     margin-left: 20px;
     transition: color 0.3s ease;
}
.header .menu > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.header .menu > ul > li{
	display: inline-block;
	line-height: 50px;
	margin-left: 25px;
}
.header .menu > ul > li > a{
	font-size: 15px;
	font-weight: 600;
	color: #000000;
	position: relative;
	text-transform: capitalize;
	transition: color 0.3s ease;
    padding: 10px 0;
}
.header .menu > ul > li .sub-menu{
	position: absolute;
	z-index: 500;
	background-color:#ffffff;
	box-shadow: 0 15px 50px rgba(0,0,0,0.1); 
	padding: 25px 30px;
	transition: all 0.5s ease;
	margin-top:25px;
	opacity:0;
	visibility: hidden;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.05);
}
@media(min-width: 992px){
.header .menu > ul > li.menu-item-has-children:hover .sub-menu{
	margin-top: 0;
	visibility: visible;
	opacity: 1;
}
}
.header .menu > ul > li .sub-menu > ul > li{
	line-height: 1;
}
.header .menu > ul > li .sub-menu > ul > li > a{
	display: inline-block;
	padding: 10px 0;
	font-size: 15px;
	color: #555555;
	transition: color 0.3s ease;
	text-decoration: none;
	text-transform: capitalize;
}
.header .menu > ul > li .single-column-menu{
	min-width: 280px;
	max-width: 350px;
}
.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li{
   line-height: 1;
   display: block; 
}
.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a {
	padding: 10px 0;
	display: inline-block;
	font-size: 15px;
	color: #555555;
	transition: color 0.3s ease;
}
.header .menu > ul > li .sub-menu.mega-menu{ 
    left: 50%;
    transform: translateX(-50%) translateY(10px);	
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(20px);
    background-color: rgba(255, 255, 255, 0.95);
}

.header .menu > ul > li .sub-menu.mega-menu-column-4{
  max-width: 1100px;
  width: 100%; 	
  display: flex;
  flex-wrap: wrap;
  padding: 40px 25px;
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item{
  flex:0 0 25%;
  padding:0 18px;
  transition: transform 0.3s ease;
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item .title{
	font-size: 13px;
	color: var(--primary-deep);
	font-weight: 800;
	line-height: 1.4;
	padding: 15px 0 8px;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item:hover .title {
    color: var(--primary);
    transform: translateY(-2px);
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item.text-center .title{
	text-align: center;
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item img{
	max-width: 100%;
	width: 100%;
	vertical-align: middle;
	margin-top: 5px;
	height: 190px;
	object-fit: contain;
    border-radius: 16px;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 10px 25px rgba(0,0,0,0.06);
    border: 1px solid rgba(0,0,0,0.03);
    background-color: #f9f9f9;
}
.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item:hover img {
    transform: scale(1.05) translateY(-8px);
    box-shadow: 0 20px 40px rgba(45, 127, 69, 0.18);
    border-color: rgba(45, 127, 69, 0.2);
}
.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a:hover,
.header .menu > ul > li .sub-menu > ul > li > a:hover,
.header .item-right a:hover,
.header .menu > ul > li:hover > a{
	color: var(--primary);
}
.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a:hover {
    color: var(--primary);
}
.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a:hover span {
    color: var(--primary);
}
.header .menu > ul > li .sub-menu > ul > li > a:hover {
    color: var(--primary);
    padding-left: 8px;
}

	/* Mobile menu head (close button) visibility */
	.mobile-menu-head {
		display: none;
	}
	.header .menu.active .mobile-menu-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 50px;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		padding: 0 15px;
	}
	.mobile-menu-close {
		font-size: 24px;
		cursor: pointer;
	}

.mobile-menu-head,
.mobile-menu-trigger{
	display: none;
}

/*responsive*/
@media(max-width: 991px){
	.header .item-left{
	    flex: 0 0 auto;
    }
    .header .logo a img {
        height: 24px !important;
        width: auto !important;
    }
    .header .logo a .logo-text {
        font-size: 16px !important;
        white-space: nowrap;
    }
    	.header .menu {
		display: none;
	}
	.header .menu.active {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 70%;
		height: 100vh;
		background-color: #ffffff;
		z-index: 1099;
		overflow-y: auto;
		overflow-x: hidden;
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none; /* IE/Edge */
		box-shadow: 5px 0 25px rgba(0,0,0,0.15);
		animation: slideMenuIn 0.3s ease forwards;
	}
	.header .menu.active::-webkit-scrollbar {
		display: none; /* Chrome/Safari */
	}
	@keyframes slideMenuIn {
		from { transform: translateX(-100%); }
		to { transform: translateX(0); }
	}
    	.header .item-center{
		display: flex;
		flex-direction: column;
		width: 100%;
	}
    .header .item-right{
	    flex: 1 0 auto;
	    display: flex;
	    align-items: center;
        justify-content: flex-end;
        gap: 15px;
    }
    .header .item-right a {
        margin: 0 !important;
        font-size: 16px !important;
    }
	.v-center{
		justify-content: space-between;
        flex-wrap: nowrap !important;
        align-items: center !important;
	}
	.header .mobile-menu-trigger{
		display: flex;
		height: 30px;
		width: 30px;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		z-index: 1100;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}
	.header .mobile-menu-trigger span{
		display: block;
		height: 2px;
		background-color: #333333;
		width: 24px;
		position: relative;
	}
	.header .mobile-menu-trigger span:before,
	.header .mobile-menu-trigger span:after{
		content: '';
		position: absolute;
		left:0;
		width: 100%;
		height: 100%;
		background-color: #333333;
	}
	.header .mobile-menu-trigger span:before{
		top:-6px;
	}
	.header .mobile-menu-trigger span:after{
		top:6px;
	}
	.header .item-right{
		align-items: center;
	}

	.header .menu{
		position: fixed;
		width: 320px;
		background-color:#ffffff;
		left:0;
		top:0;
		height: 100%;
		overflow: hidden;
		transform: translate(-100%);
		transition: all 0.5s ease;
		z-index: 1099;
	}
	.header .menu.active{
	   transform: translate(0%);	
	}
	.header .menu > ul > li{
		line-height: 1;
		margin:0;
		display: block;
	}
	.header .menu > ul > li > a{
		line-height: 50px;
		height: 50px;
		padding:0 50px 0 15px;
		display: block;
		border-bottom: 1px solid rgba(0,0,0,0.05);
        color: #333;
	}
	.header .menu > ul > li > a i{
		position: absolute;
		height: 50px;
		width: 50px;
		top:0;
		right: 0;
		text-align: center;
		line-height: 50px;
		transform: rotate(-90deg);
	}
	.header .menu .mobile-menu-head{
		display: flex;
		height: 50px;
		border-bottom: 1px solid rgba(0,0,0,0.1);
		justify-content: space-between;
		align-items: center;
		position: relative;
		z-index: 501;
		position: sticky;
		background-color: #ffffff;
		top:0;
	}
	.header .menu .mobile-menu-head .go-back{
		height: 50px;
		width: 50px;
		border-right: 1px solid rgba(0,0,0,0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		color: #ea4636;
		font-size: 16px;
		display: none;
	}
	.header .menu .mobile-menu-head.active .go-back{
		display: block;
	}
	.header .menu .mobile-menu-head .current-menu-title{
		font-size: 15px;
		font-weight: 500;
		color:#000000;
	}
	.header .menu .mobile-menu-head .mobile-menu-close{
	    height: 50px;
		width: 50px;
		border-left: 1px solid rgba(0,0,0,0.1);
		cursor: pointer;
		line-height: 50px;
		text-align: center;
		color:#000000;	
		font-size: 25px;
	}
	.header .menu .menu-main{
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
	}
	.header .menu > ul > li .sub-menu.mega-menu,
	.header .menu > ul > li .sub-menu{
		visibility: visible;
		opacity: 1;
		position: absolute;
		box-shadow: none;
		margin:0;
		padding:15px;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
		padding-top: 65px;
		max-width: none;
		min-width: auto;
		display: none;
		transform: translateX(0%);
		overflow-y: auto;
	}
	.header .menu > ul > li .sub-menu.active{
		display: block;
	}
	@keyframes slideLeft{
		0%{
			opacity:0;
			transform: translateX(100%);
		}
		100%{
			opacity:1;
			transform: translateX(0%);	
		}
	}
	@keyframes slideRight{
		0%{
			opacity:1;
			transform: translateX(0%);
		}
		100%{
			opacity:0;
			transform: translateX(100%);	
		}
	}
	.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item img{
		margin-top:0;
        height: 200px;
	}
	.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item.text-center .title{
		margin-bottom: 20px;
	}
	.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item.text-center:last-child .title{
		margin-bottom:0px;
	}
	.header .menu > ul > li .sub-menu.mega-menu-column-4 > .list-item{
		flex: 0 0 100%;
		padding: 0px;
	}
	.header .menu > ul > li .sub-menu > ul > li > a,
	.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul > li > a{
		display: block;
	}
	.header .menu > ul > li .sub-menu.mega-menu > .list-item > ul {
		margin-bottom: 15px;
	}
	.header .menu-overlay{
		position: fixed;
		background-color: rgba(0,0,0,0.5);
		left:0;
		top:0;
		width: 100%;
		height: 100%;
		z-index: 1098;
		visibility: hidden;
		opacity:0;
		transition: all 0.5s ease;
        pointer-events: none;
	}
	.header .menu-overlay.active{
	  visibility: visible;
	  opacity:1;	
      pointer-events: auto;
	}
}

.hero-section {
    padding: 5rem 0 4rem;
    color: #fff;
    background:
        radial-gradient(circle at left top, rgba(162, 211, 111, 0.2), transparent 26%),
        linear-gradient(135deg, #102616 0%, #1d4d2a 45%, #214332 100%);
}
.home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 2.5rem;
    align-items: center;
}
.hero-copy {
    max-width: 720px;
}
.hero-section h1,
.page-hero h1 {
    font-size: clamp(1.8rem, 4vw, 3.2rem);
    line-height: 1.1;
    margin: 1rem 0;
}
.hero-section p,
.page-hero p { font-size: 1.03rem; color: rgba(255,255,255,.8); }
.hero-lead {
    max-width: 680px;
    font-size: 1.1rem !important;
    line-height: 1.75;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin: 1.75rem 0; }
.hero-points {
    display: grid;
    gap: .65rem;
    color: rgba(255,255,255,.82);
    font-weight: 600;
}
.hero-points-inline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.hero-points-inline span {
    padding: .95rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}
.hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.2rem;
}
.hero-stats div {
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}
.hero-stats strong {
    display: block;
    font-family: "Sora", sans-serif;
    font-size: 1.5rem;
    color: #fff;
}
.hero-stats span {
    display: block;
    margin-top: .35rem;
    font-size: .92rem;
    color: rgba(255,255,255,.72);
}
.hero-visual { position: relative; padding-bottom: 2rem; }
.hero-visual > img {
    border-radius: 28px;
    min-height: 420px;
    object-fit: cover;
    box-shadow: 0 32px 70px rgba(7, 18, 10, 0.32);
}
.hero-showcase {
    display: grid;
    gap: 1.1rem;
}
.hero-visual-elevated {
    padding: 1rem 1rem 2.5rem;
    border-radius: 34px;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.08);
}
.glass-card {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 0;
    padding: 1.2rem;
    border-radius: 22px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(16px);
}
.hero-card-main h2 {
    font-size: clamp(1.5rem, 2.5vw, 2.15rem);
    margin-bottom: .45rem;
}
.hero-card-label {
    display: inline-flex;
    margin-bottom: .65rem;
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    color: rgba(255,255,255,.78);
}
.hero-floating-note {
    position: absolute;
    max-width: 220px;
    padding: .95rem 1rem;
    border-radius: 20px;
    background: rgba(10, 21, 13, 0.68);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 18px 34px rgba(0,0,0,.22);
}
.hero-floating-note span {
    display: block;
    font-size: .78rem;
    text-transform: uppercase;
    font-weight: 800;
    color: rgba(162, 211, 111, .85);
}
.hero-floating-note strong {
    display: block;
    margin-top: .35rem;
    line-height: 1.35;
    color: #fff;
}
.hero-floating-top {
    right: -1rem;
    top: 2rem;
}
.hero-floating-bottom {
    left: -1rem;
    bottom: 5.5rem;
}
.hero-product-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
}
.hero-product-chip {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: .85rem;
    padding: .7rem;
    border-radius: 22px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}
.hero-product-chip img {
    width: 68px;
    height: 68px;
    border-radius: 16px;
    object-fit: cover;
}
.hero-product-chip span {
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}
.btn-plant {
    background: linear-gradient(135deg, var(--accent), #d9ffab);
    border: 0;
    color: var(--primary-deep);
    font-weight: 800;
    border-radius: 999px;
    padding: .85rem 1.2rem;
}
.btn-plant:hover { color: var(--primary-deep); transform: translateY(-1px); }
.page-hero {
    padding: 4rem 0 3rem;
    background: linear-gradient(135deg, #10311d, #275837);
    color: #fff;
}
.page-hero.compact h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
.section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
    margin-bottom: 1.6rem;
}
.section-head h2 { max-width: 760px; font-size: clamp(1.5rem, 2.8vw, 2.2rem); }
.home-intro-band {
    position: relative;
    overflow: hidden;
}
.home-intro-band::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 25%, rgba(162, 211, 111, 0.2), transparent 22%),
        radial-gradient(circle at 80% 40%, rgba(45, 127, 69, 0.08), transparent 24%);
    pointer-events: none;
}
.home-story-panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 1.4rem;
    padding: 1.1rem;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255,255,255,.75), rgba(255,255,255,.55));
    border: 1px solid rgba(24, 49, 36, 0.08);
    box-shadow: var(--shadow);
}
.home-story-copy {
    padding: 1.2rem;
}
.home-story-copy p {
    margin-top: 1rem;
    font-size: 1.02rem;
    line-height: 1.85;
    color: var(--muted);
}
.home-story-aside {
    display: grid;
    gap: 1rem;
}
.story-aside-card {
    padding: 1.4rem;
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(248, 251, 244, .92));
    border: 1px solid rgba(24, 49, 36, 0.08);
}
.story-aside-card i {
    font-size: 1.35rem;
    color: var(--primary);
}
.story-aside-card h3 {
    margin: .9rem 0 .55rem;
    font-size: 1.35rem;
}
.home-section-head {
    margin-bottom: 2rem;
}
.product-card, .article-card, .info-tile, .achievement-card, .contact-card, .content-card, .detail-panel, .contact-form {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}
.product-card, .article-card { overflow: hidden; height: 100%; }
.product-card-home,
.article-card-home,
.achievement-card-home,
.info-tile-home {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.product-card-home:hover,
.article-card-home:hover,
.achievement-card-home:hover,
.info-tile-home:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 64px rgba(35, 71, 37, 0.16);
    border-color: rgba(45, 127, 69, 0.16);
}
.product-card img, .article-card img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.product-card-body, .article-card-body { padding: 1.25rem; position: relative; }
.product-card h2, .product-card h3, .article-card h2, .article-card h3 {
    font-size: 1.2rem;
    margin: .65rem 0;
}
.product-card p, .article-card p, .contact-card p, .content-card p { color: var(--muted); }
.chip {
    display: inline-flex;
    padding: .4rem .75rem;
    background: rgba(45, 127, 69, 0.08);
    border-radius: 999px;
    color: var(--primary);
    font-size: .78rem;
    font-weight: 800;
}
.product-spec-inline { display: grid; gap: .35rem; color: var(--muted); font-size: .94rem; }
.info-tile, .achievement-card, .contact-card, .content-card, .detail-panel, .contact-form { padding: 1.4rem; }
.achievement-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 18px;
    margin-bottom: 1rem;
}
.achievement-card-home p {
    margin-bottom: 0;
}
.info-tile i, .achievement-card i { font-size: 1.4rem; color: var(--primary); margin-bottom: .75rem; }
.info-tile-home {
    height: 100%;
    padding: 1.55rem;
    border-radius: 28px;
}
.info-tile-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(45, 127, 69, 0.08);
    margin-bottom: .85rem;
}
.difference-points {
    display: grid;
    gap: .9rem;
    margin-top: 1.4rem;
}
.difference-points div {
    padding: 1rem 1rem 1rem 1.1rem;
    border-left: 3px solid rgba(45, 127, 69, 0.26);
    background: rgba(255,255,255,.45);
    border-radius: 0 18px 18px 0;
}
.difference-points strong {
    display: block;
    margin-bottom: .2rem;
    font-size: 1rem;
}
.difference-points span {
    color: var(--muted);
}
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
.stats-grid div {
    padding: 1rem;
    border-radius: 18px;
    background: rgba(45, 127, 69, 0.06);
}
.stats-grid strong { display: block; font-size: 1.5rem; }
.filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255,255,255,.8);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
}
.filter-field { min-width: 220px; flex: 1 1 220px; }
.filter-field label { display: block; font-weight: 700; margin-bottom: .45rem; }
.filter-field input, .filter-field select,
.contact-form .form-control {
    border-radius: 16px;
    padding: .85rem 1rem;
    border: 1px solid rgba(24,49,36,.12);
}
.gallery-main {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 24px;
}
.thumb-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}
.thumb-btn {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 0;
    overflow: hidden;
    background: #fff;
    transition: all 0.2s ease;
    cursor: pointer;
}
.thumb-btn:hover { border-color: var(--primary); transform: translateY(-2px); }
.thumb-btn.active { border-color: var(--primary); border-width: 2px; transform: scale(1.05); }
.thumb-btn img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.specs-table th { width: 38%; color: var(--primary-deep); }
.feature-list { padding-left: 1.1rem; display: grid; gap: .75rem; }
.feature-list li { color: var(--muted); }
.article-cover {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 1rem;
}
.article-content { color: var(--muted); line-height: 1.8; }
.video-frame {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--shadow);
}
.stack-list { display: grid; gap: 1rem; }
.stack-item {
    display: grid;
    gap: .35rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.84);
}
.mini-list { display: grid; gap: .8rem; }
.mini-list a { color: var(--primary-deep); font-weight: 700; }
.empty-state {
    margin-top: 1rem;
    padding: 1.25rem;
    text-align: center;
    border-radius: 20px;
    background: rgba(255,255,255,.75);
    color: var(--muted);
}
.site-footer {
    padding: 4rem 0 2rem;
    color: rgba(255,255,255,.8);
    background: linear-gradient(180deg, #0d1d13, #0a140d);
}
.footer-brand {
    display: inline-flex;
    gap: .85rem;
    align-items: flex-start;
    color: #fff;
}
.footer-brand p, .footer-copy { margin: .35rem 0 0; color: rgba(255,255,255,.65); }
.footer-title { color: #fff; font-size: 1rem; margin-bottom: .85rem; }
.footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.social-row { display: flex; gap: .85rem; }
.social-row a, .whatsapp-float {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
    color: #fff;
}
.footer-bottom {
    padding-top: 1.8rem;
    margin-top: 2rem;
    border-top: 1px solid rgba(255,255,255,.08);
    font-size: .92rem;
}
.pagination { margin-top: 1.5rem; gap: .45rem; flex-wrap: wrap; }
.page-link {
    border-radius: 12px !important;
    border: 1px solid var(--line);
    color: var(--primary-deep);
}
.page-item.active .page-link {
    background: var(--primary);
    border-color: var(--primary);
}
.whatsapp-float {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1050;
    background: linear-gradient(135deg, #34d058, #169446);
    box-shadow: 0 18px 38px rgba(22, 148, 70, 0.32);
}
@media (max-width: 991.98px) {
    .section-space { padding: 3.4rem 0; }
    .nav-search { margin-bottom: .5rem; }
    .home-hero-grid,
    .home-story-panel {
        grid-template-columns: 1fr;
    }
    .hero-floating-top,
    .hero-floating-bottom {
        display: none;
    }
}
@media (max-width: 767.98px) {
    .hero-section { padding-top: 4rem; }
    .hero-visual > img { min-height: 320px; }
    .thumb-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .section-head { align-items: start; flex-direction: column; }
    .stats-grid { grid-template-columns: 1fr; }
    .hero-points-inline,
    .hero-stats,
    .hero-product-strip {
        grid-template-columns: 1fr;
    }
    .hero-card-main h2 {
        font-size: 1.55rem;
    }
    .home-story-copy,
    .story-aside-card {
        padding: 1rem;
    }
    .brand-logo-navbar {
        width: 28px;
        height: 36px;
        flex-basis: 28px;
    }
    .brand-logo-footer {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
}
/* Homepage Templates */

/* --- MODERN MINIMAL --- */
.template-modern {
    --bg: #ffffff;
    --surface: #ffffff;
    --primary: #102616;
}
.template-modern .hero-section {
    background: #ffffff !important;
    color: #102616 !important;
    padding: 10rem 0 6rem !important;
    text-align: center;
}
.template-modern .hero-section h1 {
    font-size: clamp(2.5rem, 6vw, 5rem) !important;
    font-weight: 900 !important;
    letter-spacing: -2px !important;
    margin-bottom: 2rem !important;
}
.template-modern .hero-lead {
    font-size: 1.35rem !important;
    max-width: 800px !important;
    margin: 0 auto !important;
    opacity: 0.8;
}
.template-modern .hero-actions {
    justify-content: center;
    margin-top: 3rem !important;
}
.template-modern .hero-stats, 
.template-modern .hero-visual-elevated,
.template-modern .hero-product-strip {
    display: none !important;
}
.template-modern .section-space {
    padding: 7rem 0 !important;
}
.template-modern .product-card, 
.template-modern .article-card {
    border: 0 !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04) !important;
    background: #fcfcfc !important;
}
.template-modern .product-card:hover {
    box-shadow: 0 20px 60px rgba(0,0,0,0.08) !important;
    transform: translateY(-10px);
}

/* --- COMPACT GRID --- */
.template-compact .section-space {
    padding: 3rem 0 !important;
}
.template-compact .hero-section {
    padding: 4rem 0 !important;
    background: #183124 !important;
}
.template-compact .home-hero-grid {
    grid-template-columns: 1fr 1fr !important;
}
.template-compact .hero-section h1 {
    font-size: 2.5rem !important;
}
.template-compact .hero-lead {
    font-size: 1rem !important;
}
.template-compact .hero-stats {
    grid-template-columns: repeat(3, 1fr) !important;
}
.template-compact .hero-stats div {
    padding: .5rem .8rem !important;
}
.template-compact .hero-stats strong {
    font-size: 1.1rem !important;
}
.template-compact .hero-visual > img {
    min-height: 300px !important;
}
.template-compact .product-card img, 
.template-compact .article-card img {
    aspect-ratio: 16 / 9 !important;
}
.template-compact .soft-band {
    background: #fff !important;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

/* ==============================
   SCROLL REVEAL ANIMATIONS
   ============================== */
/* By default, we don't hide anything to avoid blank pages if JS fails */
.scroll-reveal {
    transition: opacity .65s cubic-bezier(.22,.68,0,1.2), transform .65s cubic-bezier(.22,.68,0,1.2);
}

/* Only hide if JS has initialized the reveal system */
.js-reveal .scroll-reveal:not(.sr-visible) {
    opacity: 0;
    transform: translateY(32px);
}

.scroll-reveal.sr-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Staggered children */
.js-reveal .sr-stagger > * {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .5s cubic-bezier(.22,.68,0,1.2), transform .5s cubic-bezier(.22,.68,0,1.2);
}

.sr-stagger.sr-visible > * {
    opacity: 1 !important;
    transform: none !important;
}

.sr-stagger.sr-visible > *:nth-child(1) { transition-delay: 0s; }
.sr-stagger.sr-visible > *:nth-child(2) { transition-delay: .08s; }
.sr-stagger.sr-visible > *:nth-child(3) { transition-delay: .16s; }
.sr-stagger.sr-visible > *:nth-child(4) { transition-delay: .24s; }
.sr-stagger.sr-visible > *:nth-child(5) { transition-delay: .32s; }
.sr-stagger.sr-visible > *:nth-child(n+6){ transition-delay: .4s; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-reveal,
    .sr-stagger > *,
    .js-reveal .scroll-reveal:not(.sr-visible),
    .js-reveal .sr-stagger > * { transition: none !important; opacity: 1 !important; transform: none !important; }
}

 / *   W i d g e t   S t y l e s   * / 
 . s i t e - w i d g e t   . w i d g e t - t i t l e   { 
         f o n t - s i z e :   1 . 1 5 r e m ; 
         f o n t - w e i g h t :   7 0 0 ; 
         m a r g i n - b o t t o m :   1 . 2 5 r e m ; 
         p a d d i n g - b o t t o m :   0 . 7 5 r e m ; 
         b o r d e r - b o t t o m :   2 p x   s o l i d   # f 0 f 0 f 0 ; 
         p o s i t i o n :   r e l a t i v e ; 
         c o l o r :   # 3 3 3 ; 
 } 
 . s i t e - w i d g e t   . w i d g e t - t i t l e : : a f t e r   { 
         c o n t e n t :   ' ' ; 
         p o s i t i o n :   a b s o l u t e ; 
         b o t t o m :   - 2 p x ; 
         l e f t :   0 ; 
         w i d t h :   4 0 p x ; 
         h e i g h t :   2 p x ; 
         b a c k g r o u n d :   # 2 8 a 7 4 5 ;   / *   P r i m a r y   c o l o r   * / 
 } 
 . f a q - w i d g e t - i t e m   { 
         b o r d e r - b o t t o m :   1 p x   s o l i d   # f 8 f 9 f a ; 
         p a d d i n g - b o t t o m :   1 r e m ; 
 } 
 . f a q - w i d g e t - i t e m : l a s t - c h i l d   { 
         b o r d e r - b o t t o m :   n o n e ; 
 } 
  
 
 / *   W i d g e t   A n i m a t i o n s   * / 
 . a n i m a t e - f a d e - i n   {   a n i m a t i o n :   f a d e I n   0 . 8 s   e a s e - o u t ;   } 
 . a n i m a t e - s l i d e - u p   {   a n i m a t i o n :   s l i d e U p   0 . 8 s   e a s e - o u t ;   } 
 . a n i m a t e - z o o m - i n   {   a n i m a t i o n :   z o o m I n   0 . 8 s   e a s e - o u t ;   } 
 
 @ k e y f r a m e s   f a d e I n   {   f r o m   {   o p a c i t y :   0 ;   }   t o   {   o p a c i t y :   1 ;   }   } 
 @ k e y f r a m e s   s l i d e U p   {   f r o m   {   o p a c i t y :   0 ;   t r a n s f o r m :   t r a n s l a t e Y ( 2 0 p x ) ;   }   t o   {   o p a c i t y :   1 ;   t r a n s f o r m :   t r a n s l a t e Y ( 0 ) ;   }   } 
 @ k e y f r a m e s   z o o m I n   {   f r o m   {   o p a c i t y :   0 ;   t r a n s f o r m :   s c a l e ( 0 . 9 5 ) ;   }   t o   {   o p a c i t y :   1 ;   t r a n s f o r m :   s c a l e ( 1 ) ;   }   } 
  
 
 / *   W i d g e t   H o v e r   E f f e c t s   * / 
 . s i t e - w i d g e t   {   t r a n s i t i o n :   t r a n s f o r m   0 . 3 s   e a s e ,   b o x - s h a d o w   0 . 3 s   e a s e ;   } 
 . h o v e r - l i f t : h o v e r   {   t r a n s f o r m :   t r a n s l a t e Y ( - 5 p x ) ;   } 
 . h o v e r - g l o w : h o v e r   {   b o x - s h a d o w :   0   0   1 5 p x   r g b a ( 4 0 ,   1 6 7 ,   6 9 ,   0 . 4 )   ! i m p o r t a n t ;   } 
  
 