/*==================================================
  GOOGLE FONTS
==================================================*/
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

/*==================================================
  CSS VARIABLES
==================================================*/
:root {

    /* Brand Colors */
    --primary: #5D9C59;
    --primary-dark: #3E6B3B;
    --primary-light: #EAF6E7;

    --secondary: #27352A;

    --accent: #A8D672;

    /* Neutrals */
    --white: #ffffff;
    --black: #111111;

    --text: #424242;
    --text-light: #777777;

    --background: #F3F3F0;
    --background-alt: #ECECE7;

    --border: rgba(0,0,0,.08);

    /* Glass */
    --glass: rgba(255,255,255,.70);

    /* Radius */
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 30px;
    --radius-xl: 50px;

    /* Shadow */
    --shadow-sm: 0 6px 18px rgba(0,0,0,.05);
    --shadow-md: 0 15px 35px rgba(0,0,0,.08);
    --shadow-lg: 0 25px 60px rgba(0,0,0,.12);

    /* Animation */
    --transition: .35s ease;

}

/*==================================================
  RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Manrope',sans-serif;

    background:var(--background);

    color:var(--text);

    overflow-x:hidden;

    line-height:1.65;

    -webkit-font-smoothing:antialiased;

}

img{

    display:block;

    width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font-family:inherit;

}

ul{

    list-style:none;

}

/*==================================================
  GLOBAL CONTAINER
==================================================*/

.container{

    width:min(1320px,92%);

    margin:auto;

}

/*==================================================
  BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:.6rem;

    padding:15px 28px;

    border-radius:999px;

    transition:var(--transition);

    font-weight:700;

    font-size:.96rem;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    box-shadow:var(--shadow-sm);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-outline{

    border:1px solid rgba(0,0,0,.08);

    background:#fff;

}

.btn-outline:hover{

    background:var(--primary);

    color:#000000;

}

/*==================================================
  SECTION SPACING
==================================================*/

section{

    position:relative;

    padding:100px 0;

}

/*==================================================
  SELECTION
==================================================*/

::selection{

    background:var(--primary);

    color:#fff;

}

/*==================================================
    HEADER
==================================================*/

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 22px 0;
    transform: translateY(0);
    transition:
        background .45s ease,
        padding .45s ease,
        box-shadow .45s ease,
        backdrop-filter .45s ease,
        transform .45s ease;
}

.site-header.header-hidden {
    transform: translateY(-130%);
}

.site-header.scrolled {
    padding: 14px 0;
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .08);
}


/* HEADER INNER */

.header-inner {
    display: flex;
    align-items: center;
    gap: 40px;
}


/* LOGO */

.site-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: opacity .3s ease, transform .35s ease;
}

.site-logo:hover {
    transform: translateY(-2px);
}

.site-logo img {
    display: block;
    width: 170px;
    height: auto;
    transition: width .4s ease;
}

.site-header.scrolled .site-logo img {
    width: 158px;
}


/* DESKTOP NAVIGATION */

.desktop-nav {
    margin-left: auto;
}

.desktop-nav ul {
    display: flex;
    align-items: center;
    gap: 42px;
}

.desktop-nav li {
    position: relative;
}

.desktop-nav > ul > li > a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--secondary);
    font-size: .96rem;
    font-weight: 700;
    letter-spacing: .2px;
    transition: color .3s ease;
}

.desktop-nav > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 2px;
    border-radius: 10px;
    background: var(--primary);
    transition: width .35s ease;
}

.desktop-nav > ul > li > a:hover {
    color: var(--primary);
}

.desktop-nav > ul > li > a:hover::after {
    width: 100%;
}


/* PRODUCTS DROPDOWN */

/* PRODUCTS DROPDOWN */

.has-dropdown {
    position: relative;
}

.dropdown-toggle {
    cursor: pointer;
}

.dropdown-arrow {
    width: 12px;
    height: 12px;
    margin-top: 1px;
    transition: transform .3s ease;
}

.has-dropdown.dropdown-open .dropdown-arrow {
    transform: rotate(180deg);
}

.products-dropdown {
    position: absolute;
    top: calc(100% + 22px);
    left: 50%;

    width: 265px;
    padding: 10px;

    background: rgba(255, 255, 255, .97);

    border: 1px solid rgba(118, 150, 81, .12);
    border-radius: 20px;

    box-shadow:
        0 20px 55px rgba(25, 45, 25, .14);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translate(-50%, 8px);

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease;

    z-index: 100;
}

.products-dropdown::before {
    content: "";

    position: absolute;

    top: -7px;
    left: 50%;

    width: 13px;
    height: 13px;

    background: #fff;

    border-left: 1px solid rgba(118, 150, 81, .12);
    border-top: 1px solid rgba(118, 150, 81, .12);

    transform: translateX(-50%) rotate(45deg);
}

.has-dropdown.dropdown-open .products-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}


/* DROPDOWN ITEMS */

.product-dropdown-item {
    display: flex;
    align-items: center;
    gap: 14px;

    padding: 13px;

    border-radius: 14px;

    color: var(--secondary);
    text-decoration: none;

    transition:
        background .25s ease,
        color .25s ease;
}

.product-dropdown-item:hover {
    background: #EEF5E6;
    color: var(--primary);
}


/* DROPDOWN ICON */

.product-dropdown-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 12px;

    background: #F3F7EF;

    color: var(--primary);
}

.product-dropdown-icon svg {
    width: 21px;
    height: 21px;
}


/* DROPDOWN TEXT */

.product-dropdown-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.product-dropdown-copy strong {
    color: var(--secondary);

    font-size: .92rem;
    font-weight: 700;

    line-height: 1.3;
}

.product-dropdown-copy small {
    color: var(--text-light);

    font-size: .72rem;
    line-height: 1.4;
}


/* HEADER CTA */

.header-actions {
    display: flex;
    align-items: center;
    margin-left: 20px;
}

.header-actions .btn {
    position: relative;
    min-width: 170px;
    height: 54px;
    overflow: hidden;
    font-size: .95rem;
}

.header-actions .btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, .45),
        transparent
    );
    transition: left .8s ease;
}

.header-actions .btn:hover::before {
    left: 120%;
}

.header-actions .btn:hover {
    transform: translateY(-4px);
}


/* MOBILE MENU BUTTON */

.menu-toggle {
    display: none;
    width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 50%;
    background: rgba(255, 255, 255, .70);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
        background .35s ease,
        box-shadow .35s ease;
}

.menu-toggle:hover {
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .08);
}

.menu-toggle span {
    width: 24px;
    height: 2px;
    border-radius: 20px;
    background: var(--secondary);
    transition:
        transform .35s ease,
        opacity .25s ease;
}

.menu-toggle.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}


/* MENU OVERLAY */

.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;
    background: rgba(17, 17, 17, .28);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity .45s ease,
        visibility .45s ease;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


/* MOBILE MENU */

.mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    width: 88%;
    max-width: 430px;
    height: 100vh;
    padding: 36px;
    overflow-y: auto;
    color: #fff;
    background: linear-gradient(
        180deg,
        #2F4D31 0%,
        #244126 45%,
        #1B321D 100%
    );
    box-shadow: 20px 0 60px rgba(0, 0, 0, .25);
    transform: translateX(-105%);
    transition: transform .65s cubic-bezier(.22, .61, .36, 1);
}

.mobile-menu.active {
    transform: translateX(0);
}


/* HIDE MAIN HEADER LOGO WHEN PANEL IS OPEN */

.site-header:has(~ .mobile-menu.active) .site-logo {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-15px);
}


/* MOBILE MENU HEADER */

.mobile-menu-header {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}

.mobile-menu-header .site-logo {
    opacity: 1;
    transform: none;
}

.mobile-menu-header .site-logo img {
    width: 165px;
}


/* MOBILE NAVIGATION */

.mobile-navigation {
    width: 100%;
}

.mobile-navigation ul {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.mobile-navigation li {
    opacity: 0;
    transform: translateX(-35px);
    transition:
        opacity .45s ease,
        transform .45s ease;
}

.mobile-menu.active .mobile-navigation li {
    opacity: 1;
    transform: translateX(0);
}

.mobile-navigation li:nth-child(1) {
    transition-delay: .10s;
}

.mobile-navigation li:nth-child(2) {
    transition-delay: .18s;
}

.mobile-navigation li:nth-child(3) {
    transition-delay: .26s;
}

.mobile-navigation li:nth-child(4) {
    transition-delay: .34s;
}


/* MOBILE LINKS */

.mobile-navigation > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    transition:
        color .3s ease,
        padding .3s ease;
}

.mobile-navigation > ul > li > a:hover {
    padding-left: 8px;
    color: #A8D672;
}


/* MOBILE PRODUCTS */

.mobile-products > a svg {
    width: 14px;
    height: 14px;
    transition: transform .3s ease;
}

.mobile-products:hover > a svg {
    transform: rotate(180deg);
}

.mobile-product-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 8px;
    padding-left: 18px;
}

.mobile-product-links a {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 0 10px 17px;
    border-left: 1px solid rgba(255, 255, 255, .16);
    color: rgba(255, 255, 255, .82);
    transition:
        color .3s ease,
        border-color .3s ease;
}

.mobile-product-links a:hover {
    color: #A8D672;
    border-color: #A8D672;
}

.mobile-product-links a span:first-child {
    font-size: .98rem;
    font-weight: 700;
}

.mobile-product-links a span:last-child {
    color: rgba(255, 255, 255, .48);
    font-size: .72rem;
}


/* DIVIDER */

.menu-divider {
    width: 100%;
    height: 1px;
    margin: 42px 0;
    background: rgba(255, 255, 255, .10);
}


/* CONTACT */

.menu-contact {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.menu-contact h5 {
    margin-bottom: 6px;
    color: rgba(255, 255, 255, .55);
    font-size: .9rem;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.menu-contact a {
    color: #fff;
    font-size: 1rem;
    transition: color .3s ease;
}

.menu-contact a:hover {
    color: #A8D672;
}


/* MOBILE CTA */

.mobile-cta {
    margin-top: 42px;
}

.mobile-cta .btn {
    width: 100%;
    height: 58px;
}


/* SOCIAL */

.mobile-social {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-top: 55px;
}

.mobile-social a {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.mobile-social a:hover {
    background: #A8D672;
    color: #304D30;
    transform: translateY(-4px);
}


/* BODY LOCK */

body.menu-open {
    overflow: hidden;
}


/* TABLET */

@media (max-width: 1200px) {

    .desktop-nav ul {
        gap: 32px;
    }

    .header-actions {
        margin-left: 0;
    }

}


/* TABLET NAV SWITCH */

@media (max-width: 991px) {

    .site-header {
        padding: 18px 0;
    }

    .site-header.scrolled {
        padding: 12px 0;
    }

    .desktop-nav,
    .header-actions {
        display: none;
    }

    .header-inner {
        justify-content: space-between;
    }

    .menu-toggle {
        display: flex;
    }

    .site-logo img {
        width: 155px;
    }

    .site-header.scrolled .site-logo img {
        width: 145px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    .site-header {
        padding: 16px 0;
    }

    .header-inner {
        gap: 20px;
    }

    .site-logo img {
        width: 138px;
    }

    .site-header.scrolled .site-logo img {
        width: 132px;
    }

    .menu-toggle {
        width: 52px;
        height: 52px;
    }

    .menu-toggle span {
        width: 22px;
    }

}


/* SMALL MOBILE */

@media (max-width: 575px) {

    .mobile-menu {
        width: 100%;
        max-width: 100%;
        padding: 30px 24px;
    }

    .mobile-menu-header {
        margin-bottom: 45px;
    }

    .mobile-menu-header .site-logo img {
        width: 145px;
    }

    .mobile-navigation ul {
        gap: 18px;
    }

    .mobile-navigation > ul > li > a {
        font-size: 1.05rem;
    }

    .menu-contact {
        gap: 10px;
    }

    .mobile-social {
        padding-top: 45px;
    }

}


/* EXTRA SMALL */

@media (max-width: 380px) {

    .site-logo img {
        width: 126px;
    }

    .mobile-menu {
        padding: 28px 20px;
    }

    .mobile-navigation > ul > li > a {
        font-size: 1rem;
    }

}

/*==================================================
    HOVER EFFECTS
==================================================*/

.desktop-nav a{

    transition:

    color .35s ease,

    transform .35s ease;

}

.desktop-nav a:hover{

    transform:translateY(-2px);

}

.site-logo img{

    transition:

    transform .4s ease,

    width .4s ease;

}

.site-logo:hover img{

    transform:scale(1.03);

}


/*==================================================
    FOCUS STATES
==================================================*/

a:focus-visible,

button:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

    border-radius:8px;

}


/*==================================================
    IMAGE PROTECTION
==================================================*/

.site-logo img{

    user-select:none;

    pointer-events:none;

}


/*==================================================
    SMOOTH FONT RENDERING
==================================================*/

.site-header{

    -webkit-font-smoothing:antialiased;

    text-rendering:optimizeLegibility;

}


/*==================================================
    MOBILE SCROLLBAR
==================================================*/

.mobile-menu::-webkit-scrollbar{

    width:6px;

}

.mobile-menu::-webkit-scrollbar-track{

    background:transparent;

}

.mobile-menu::-webkit-scrollbar-thumb{

    background:rgba(255,255,255,.18);

    border-radius:50px;

}

.mobile-menu::-webkit-scrollbar-thumb:hover{

    background:rgba(255,255,255,.35);

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce){

    *{

        animation:none !important;

        transition:none !important;

        scroll-behavior:auto !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .site-header,

    .mobile-menu,

    .menu-overlay{

        display:none !important;

    }

}

/*==================================================
    HERO SECTION
==================================================*/

.hero-section{

    position:relative;

    overflow:hidden;

    min-height:none;

    display:flex;

    align-items:center;

    background:var(--background);

    padding:60px 0 60px;

}


/*==================================================
    HERO BACKGROUND
==================================================*/

.hero-section::before{

    content:"";

    position:absolute;

    top:-180px;

    right:-220px;

    width:650px;

    height:650px;

    background:

    radial-gradient(

        circle,

        rgba(93,156,89,.10) 0%,

        transparent 72%

    );

    pointer-events:none;

    z-index:0;

}

.hero-section::after{

    content:"";

    position:absolute;

    bottom:-250px;

    left:-220px;

    width:520px;

    height:520px;

    background:

    radial-gradient(

        circle,

        rgba(168,214,114,.08) 0%,

        transparent 72%

    );

    pointer-events:none;

    z-index:0;

}


/*==================================================
    HERO WRAPPER
==================================================*/

.hero-wrapper{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:80px;

}


/*==================================================
    LEFT COLUMN
==================================================*/

.hero-content{

    max-width:580px;

}


/*==================================================
    HERO BADGE
==================================================*/

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(168,214,114,.18);

    margin-bottom:42px;

    backdrop-filter:blur(12px);

}

.hero-badge img{

    width:18px;

    height:18px;

}

.hero-badge span{

    font-size:.92rem;

    font-weight:700;

    color:var(--primary-dark);

}


/*==================================================
    PRODUCT ICON
==================================================*/

.hero-product-icon{

    width:130px;

    margin-bottom:34px;

}

.hero-product-icon img{

    display:block;

}


/*==================================================
    HERO TITLE
==================================================*/

.hero-content h1{

    font-size:clamp(3rem,4vw,3rem);

    line-height:1.08;

    font-weight:800;

    color:var(--secondary);

    letter-spacing:-2px;

    margin-bottom:28px;

}

.hero-content h1 span{

    display:block;

    color:var(--primary);

}


/*==================================================
    HERO DESCRIPTION
==================================================*/

.hero-content p{

    font-size:1.08rem;

    color:var(--text-light);

    line-height:1.9;

    max-width:540px;

    margin-bottom:42px;

}


/*==================================================
    HERO BUTTONS
==================================================*/

.hero-actions{

    display:flex;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

}

/*==================================================
    HERO MEDIA
==================================================*/

.hero-media{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:650px;

}


/*==================================================
    HERO IMAGE
==================================================*/

.hero-image{

    position:relative;

    z-index:3;

    width:100%;

    max-width:620px;

    height:auto;

    object-fit:contain;

    user-select:none;

    pointer-events:none;

    will-change:transform;

    transition:
    transform .45s ease,
    filter .45s ease;

}

.hero-media:hover .hero-image{

    transform:translateY(-8px) scale(1.02);

}


/*==================================================
    HERO GLOW
==================================================*/

.hero-glow{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:

    radial-gradient(

        circle,

        rgba(168,214,114,.30) 0%,

        rgba(93,156,89,.14) 35%,

        transparent 72%

    );

    filter:blur(45px);

    z-index:1;

}


/*==================================================
    DECORATIVE SHAPE
==================================================*/

.hero-shape{

    position:absolute;

    width:430px;

    height:430px;

    border-radius:42% 58% 60% 40% /
                   42% 38% 62% 58%;

    background:

    linear-gradient(

        135deg,

        rgba(255,255,255,.22),

        rgba(168,214,114,.10)

    );

    border:1px solid rgba(255,255,255,.35);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    z-index:2;

    transform:rotate(-18deg);

}


/*==================================================
    HERO MEDIA SHADOW
==================================================*/

.hero-media::after{

    content:"";

    position:absolute;

    bottom:55px;

    left:50%;

    transform:translateX(-50%);

    width:320px;

    height:40px;

    background:

    radial-gradient(

        ellipse,

        rgba(0,0,0,.18),

        transparent 72%

    );

    filter:blur(10px);

    z-index:0;

}


/*==================================================
    HERO BUTTON IMPROVEMENTS
==================================================*/

.hero-actions .btn{

    min-width:190px;

    height:58px;

    font-size:1rem;

    font-weight:700;

}

.hero-actions .btn-outline{

    background:rgba(255,255,255,.70);

    backdrop-filter:blur(12px);

}

.hero-actions .btn-outline:hover{

    background:var(--primary-dark);

    color:#ffffff;

}


/*==================================================
    CONTENT ANIMATION READY
==================================================*/

.hero-badge,
.hero-product-icon,
.hero-content h1,
.hero-content p,
.hero-actions{

    opacity:1;

    transform:translateY(0);

    will-change:transform, opacity;

}


/*==================================================
    IMAGE ANIMATION READY
==================================================*/

.hero-media{

    will-change:transform;

}

.hero-image{

    animation:none;

}


/*==================================================
    PREMIUM IMAGE BALANCE
==================================================*/

.hero-media img{

    filter:

    drop-shadow(

        0 25px 45px rgba(0,0,0,.08)

    );

}


/*==================================================
    SECTION OVERFLOW FIX
==================================================*/

.hero-content,
.hero-media{

    position:relative;

    z-index:2;

}


/*==================================================
    LARGE DESKTOP OPTIMIZATION
==================================================*/

@media (min-width:1600px){

    .hero-wrapper{

        gap:120px;

    }

    .hero-image{

        max-width:700px;

    }

}

/*==================================================
    HERO RESPONSIVE & FINAL POLISH
==================================================*/


/*==================================================
    DESKTOP ENHANCEMENT
==================================================*/

@media (min-width:1200px){

    .hero-content{

        position:relative;

        padding-top:0;

    }

    .hero-product-icon{

        position:relative;

        width:80px;

        margin-bottom:34px;

    }

}


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1199px){

    .hero-wrapper{

        gap:60px;

    }

    .hero-image{

        max-width:520px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .hero-section{

        padding:140px 0 90px;

        min-height:auto;

    }

    .hero-wrapper{

        grid-template-columns:1fr;

        gap:70px;

    }

    .hero-content{

        max-width:100%;

        text-align:center;

    }

    .hero-badge{

        margin-inline:auto;

    }

    .hero-product-icon{

        margin:0 auto 32px;

        position:relative;

        top:auto;

        left:auto;

        width:120px;

    }

    .hero-content p{

        margin-left:auto;

        margin-right:auto;

    }

    .hero-actions{

        justify-content:center;

    }

    .hero-media{

        min-height:500px;

    }

    .hero-image{

        max-width:520px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .hero-section{

        padding:125px 0 80px;

    }

    .hero-wrapper{

        gap:50px;

    }

    .hero-content h1{

        font-size:2.7rem;

        letter-spacing:-1px;

    }

    .hero-content p{

        font-size:1rem;

        line-height:1.8;

    }

    .hero-actions{

        flex-direction:column;

        align-items:stretch;

    }

    .hero-actions .btn{

        width:100%;

        min-width:100%;

    }

    .hero-media{

        min-height:380px;

    }

    .hero-image{

        max-width:100%;

    }

    .hero-glow{

        width:360px;

        height:360px;

    }

    .hero-shape{

        width:300px;

        height:300px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .hero-section{

        padding:115px 0 70px;

    }

    .hero-badge{

        font-size:.82rem;

        padding:8px 16px;

        gap:10px;

    }

    .hero-badge img{

        width:16px;

        height:16px;

    }

    .hero-product-icon{

        width:95px;

    }

    .hero-content h1{

        font-size:2.2rem;

        line-height:1.15;

    }

    .hero-content p{

        margin-bottom:34px;

    }

    .hero-media{

        min-height:320px;

    }

    .hero-glow{

        width:280px;

        height:280px;

    }

    .hero-shape{

        width:230px;

        height:230px;

    }

}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:380px){

    .hero-content h1{

        font-size:2rem;

    }

    .hero-badge{

        width:100%;

        justify-content:center;

    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.hero-actions .btn:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .hero-image,

    .hero-shape,

    .hero-glow{

        animation:none !important;

        transition:none !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .hero-section{

        min-height:auto;

        padding:40px 0;

    }

}

/*==================================================
    PRODUCTS SECTION
==================================================*/

.products-section{

    padding:80px 0;

    background:#F7F7F4;

}


/*==================================================
    HEADER
==================================================*/

.products-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:40px;

    margin-bottom:70px;

}

.products-heading{

    max-width:620px;

}

.products-heading h2{

    font-size:clamp(2.4rem,4vw,2.4rem);

    line-height:1.15;

    margin:18px 0 20px;

    color:var(--secondary);

}

.products-heading p{

    max-width:560px;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    SECTION TAG
==================================================*/

.section-tag{

    display:inline-flex;

    align-items:center;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(168,214,114,.18);

    color:var(--primary-dark);

    font-size:.9rem;

    font-weight:700;

}


/*==================================================
    GRID
==================================================*/

.products-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:32px;

}


/*==================================================
    PRODUCT CARD
==================================================*/

.product-card{

    position:relative;

    background:#769651;

    border-radius:28px;

    padding:32px;

    min-height:none;

    display:flex;

    flex-direction:column;

    transition:.4s ease;

    overflow:hidden;

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 60px rgba(0,0,0,.10);

}


/*==================================================
    PRODUCT BADGE
==================================================*/

.product-badge{

    display:inline-flex;

    align-self:flex-start;

    padding:8px 14px;

    border-radius:999px;

    background:#ffffff;

    color:#35532E;

    font-size:.8rem;

    font-weight:700;

}

.product-badge.premium{

    background:#FFFFFF;

}


/*==================================================
    TITLE
==================================================*/

.product-card h3{

    margin:28px 0;

    color:#FFFFFF;

    font-size:24px;

    font-weight:700;

}



.product-card:hover{

    transform:scale(1.05);

}


/*==================================================
    CTA
==================================================*/

.product-link{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    width:max-content;

    padding:16px 26px;

    border-radius:999px;

    background:#FFFFFF;

    color:#2F4D31;

    font-weight:700;

    transition:.35s ease;

}

.product-link:hover{

    color: var(--white);

    background:var(--primary-dark);

    gap:18px;

}

/*==================================================
    PRODUCTS RESPONSIVE
==================================================*/


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .products-grid{

        gap:24px;

    }

    .product-card{

        min-height:auto;

        padding:28px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .products-section{

        padding:70px 0;

    }

    .products-header{

        flex-direction:column;

        align-items:flex-start;

        margin-bottom:50px;

        gap:28px;

    }

    .products-heading{

        max-width:100%;

    }

    .products-heading h2{

        font-size:2.2rem;

    }

    .products-grid{

        grid-template-columns:1fr;

        gap:30px;

    }

    .product-card{

        min-height:none;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .products-section{

        padding:60px 0;

    }

    .products-header{

        margin-bottom:40px;

    }

    .products-heading{

        text-align:center;

    }

    .products-heading h2{

        font-size:2rem;

    }

    .products-heading p{

        max-width:100%;

    }

    .products-header .btn{

        width:100%;

    }

    .products-grid{

        gap:24px;

    }

    .product-card{

        min-height:auto;

        padding:26px;

    }

    .product-card h3{

        font-size:1.7rem;

        margin:24px 0;

    }

    .product-link{

        width:100%;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .products-section{

        padding:50px 0;

    }

    .section-tag{

        font-size:.8rem;

        padding:8px 14px;

    }

    .products-heading h2{

        font-size:1.8rem;

    }

    .product-card{

        border-radius:22px;

        padding:22px;

    }

    .product-card h3{

        font-size:1.5rem;

    }


}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:380px){

    .products-heading h2{

        font-size:1.6rem;

    }

    .product-card{

        padding:20px;

    }

    .product-link{

        padding:14px 20px;

        font-size:.95rem;

    }

}

/*==================================================
    BRAND STORY / GLOBAL NETWORK
==================================================*/

.brand-story-section {

    position: relative;
    isolation: isolate;

    min-height: 560px;
    padding: 120px 0;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: #e6fbe6;
}


/*==================================================
    BACKGROUND SLIDES
==================================================*/

.brand-story-background {

    position: absolute;
    inset: 0;

    z-index: -2;

    overflow: hidden;
}

.brand-story-slide {

    position: absolute;
    inset: -2%;

    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    opacity: 0;

    transform: scale(1.04);

    animation:
        brandStorySlide 18s infinite ease-in-out,
        brandStoryKenBurns 18s infinite linear;
}


/*==================================================
    BACKGROUND IMAGES
==================================================*/

.brand-story-slide-01 {

    background-image: url("../assets/images/banner-1.webp");

    animation-delay: 0s, 0s;
}

.brand-story-slide-02 {

    background-image: url("../assets/images/banner-2.webp");

    animation-delay: 6s, 6s;
}

.brand-story-slide-03 {

    background-image: url("../assets/images/banner-3.webp");

    animation-delay: 12s, 12s;
}


/*==================================================
    IMAGE TRANSITION
==================================================*/

@keyframes brandStorySlide {

    0%,
    4% {
        opacity: 0;
    }

    10%,
    30% {
        opacity: 1;
    }

    36%,
    100% {
        opacity: 0;
    }
}


@keyframes brandStoryKenBurns {

    0% {
        transform: scale(1.04);
    }

    100% {
        transform: scale(1.12);
    }
}


/*==================================================
    BACKGROUND OVERLAY
==================================================*/

.brand-story-overlay {

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(10, 25, 15, 0.61) 0%,
            rgba(20, 35, 22, 0.45) 50%,
            rgba(10, 25, 15, 0.601) 100%
        ),
        linear-gradient(
            180deg,
            rgba(8, 20, 11, .28) 0%,
            rgba(8, 20, 11, 0.45) 100%
        );

    z-index: 1;
}


/*==================================================
    CONTENT
==================================================*/

.brand-story-section .container {

    position: relative;
    z-index: 5;

    width: 100%;
}

.brand-story-content {

    width: min(950px, 100%);

    margin: 0 auto;

    text-align: center;

    display: flex;
    flex-direction: column;
    align-items: center;

    color: #ffffff;
}


/*==================================================
    SECTION TAG
==================================================*/

.brand-story-tag {

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-bottom: 28px;

    padding: 9px 18px;

    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 100px;

    background: rgba(255, 255, 255, .08);

    color: #ffffff;

    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .16em;
    line-height: 1;

    text-transform: uppercase;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.brand-story-tag::before {

    content: "";

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}


/*==================================================
    HEADING
==================================================*/

.brand-story-content h2 {

    max-width: 950px;

    margin: 0 0 28px;

    color: #ffffff;

    font-size: clamp(2.4rem, 5vw, 3.4rem);
    font-weight: 500;

    line-height: 1.08;
    letter-spacing:0.09rem;

    text-wrap: balance;

    text-shadow:
        0 4px 30px rgba(0, 0, 0, .24);
}


/*==================================================
    DESCRIPTION
==================================================*/

.brand-story-content p {

    max-width: 690px;

    margin: 0 0 42px;

    color: rgba(255, 255, 255, .82);

    font-size: 1rem;
    line-height: 1.85;

    text-wrap: balance;

    text-shadow:
        0 2px 15px rgba(0, 0, 0, .3);
}


/*==================================================
    CTA
==================================================*/

.brand-story-btn {

    min-width: 225px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    padding: 15px 22px;

    border-radius: 100px;

    text-decoration: none;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background-color .35s ease;
}

.brand-story-btn-icon {

    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .14);

    font-size: 1rem;

    transition:
        transform .35s ease,
        background-color .35s ease;
}

.brand-story-btn:hover {

    transform: translateY(-3px);

    box-shadow:
        0 16px 40px rgba(0, 0, 0, .25);
}

.brand-story-btn:hover .brand-story-btn-icon {

    transform: translate(3px, -3px);

    background: rgba(255, 255, 255, .22);
}


/*==================================================
    SUBTLE BOTTOM INDICATOR
==================================================*/

.brand-story-scroll {

    position: absolute;

    left: 50%;
    bottom: 34px;

    z-index: 6;

    width: 28px;
    height: 42px;

    transform: translateX(-50%);

    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 20px;

    opacity: .7;
}

.brand-story-scroll span {

    position: absolute;

    top: 8px;
    left: 50%;

    width: 4px;
    height: 8px;

    border-radius: 10px;

    background: #ffffff;

    transform: translateX(-50%);

    animation: brandStoryScroll 2s infinite ease-in-out;
}

@keyframes brandStoryScroll {

    0% {
        opacity: 0;
        transform: translate(-50%, 0);
    }

    30% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, 16px);
    }
}


/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width: 991px) {

    .brand-story-section {

        min-height: 680px;

        padding: 100px 0;
    }

    .brand-story-content {

        max-width: 720px;
    }

    .brand-story-content h2 {

        font-size: clamp(2.3rem, 6vw, 3.7rem);
    }

    .brand-story-content p {

        max-width: 620px;
    }
}


@media (max-width: 767px) {

    .brand-story-section {

        min-height: 650px;

        padding: 90px 20px;
    }

    .brand-story-overlay {

        background:
            linear-gradient(
                180deg,
                rgba(10, 25, 15, .68) 0%,
                rgba(10, 25, 15, .76) 100%
            );
    }

    .brand-story-content h2 {

        margin-bottom: 22px;

        font-size: clamp(2.15rem, 9vw, 3.2rem);

        line-height: 1.1;
    }

    .brand-story-content p {

        margin-bottom: 34px;

        font-size: .95rem;
        line-height: 1.75;
    }

    .brand-story-tag {

        margin-bottom: 22px;
    }

    .brand-story-scroll {

        bottom: 24px;
    }
}


@media (max-width: 575px) {

    .brand-story-section {

        min-height: 620px;

        padding: 80px 18px;
    }

    .brand-story-content h2 {

        font-size: 2.15rem;

        letter-spacing: -.025em;
    }

    .brand-story-content p {

        max-width: 100%;

        font-size: .9rem;
    }

    .brand-story-btn {

        width: 100%;
        max-width: 240px;
    }

    .brand-story-scroll {

        display: none;
    }
}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion: reduce) {

    .brand-story-slide {

        animation: none;

        opacity: 0;
    }

    .brand-story-slide-01 {

        opacity: 1;

        transform: none;
    }

    .brand-story-scroll span {

        animation: none;
    }

    .brand-story-btn,
    .brand-story-btn-icon {

        transition: none;
    }
}


/*==================================================
    WHY CHOOSE US
==================================================*/

.why-choose-section{

    padding:100px 0;

    background:#F7F7F4;

    position:relative;

    overflow:hidden;

}


/*==================================================
    SECTION HEADER
==================================================*/

.why-choose-header{

    display:grid;

    grid-template-columns:1fr .9fr;

    gap:70px;

    align-items:end;

    margin-bottom:70px;

}

.why-heading{

    max-width:600px;

}

.why-heading h2{

    margin:22px 0 0;

    font-size:clamp(2.3rem,4vw,3.4rem);

    line-height:1.12;

    color:var(--secondary);

}

.why-heading h2 span{

    display:block;

    color:var(--primary);

}

.why-description{

    max-width:520px;

}

.why-description p{

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    FEATURE GRID
==================================================*/

.why-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    margin-bottom:36px;

}


/*==================================================
    CARD
==================================================*/

.why-card{

    position:relative;

    background:#FFFFFF;

    border-radius:28px;

    padding:38px;

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

    border:1px solid rgba(118,150,81,.08);

    overflow:hidden;

}

.why-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 20px 45px rgba(0,0,0,.08);

    border-color:rgba(118,150,81,.18);

}


/*==================================================
    ICON
==================================================*/

.why-card-icon{

    width:74px;

    height:74px;

    border-radius:22px;

    background:rgba(118,150,81,.10);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

}

.why-card-icon img{

    width:34px;

    height:34px;

    object-fit:contain;

}


/*==================================================
    TITLE
==================================================*/

.why-card h3{

    font-size:1.45rem;

    color:var(--secondary);

    margin-bottom:18px;

    line-height:1.3;

}


/*==================================================
    DESCRIPTION
==================================================*/

.why-card p{

    color:var(--text-light);

    line-height:1.85;

    margin:0;

}


/*==================================================
    VALUES PANEL
==================================================*/

.values-panel{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:60px;

    align-items:center;

    background:linear-gradient(

        135deg,

        #EEF5E6,

        #F9FBF6

    );

    border-radius:32px;

    padding:50px;

    border:1px solid rgba(118,150,81,.12);

}


/*==================================================
    VALUES CONTENT
==================================================*/

.values-content{

    max-width:520px;

}

.values-content h3{

    margin:20px 0;

    font-size:2rem;

    line-height:1.2;

    color:var(--secondary);

}

.values-content p{

    line-height:1.85;

    color:var(--text-light);

}


/*==================================================
    VALUES GRID
==================================================*/

.values-list{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}


/*==================================================
    VALUE CHIP
==================================================*/

.value-chip{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 22px;

    border-radius:999px;

    background:#FFFFFF;

    border:1px solid rgb(118, 150, 81);

    font-size:.95rem;

    font-weight:600;

    color:var(--secondary);

    transition:

        background .3s ease,

        color .3s ease,

        transform .3s ease,

        box-shadow .3s ease;

}

.value-chip:hover{

    transform:translateY(-3px);

    box-shadow:

        0 10px 25px rgba(118,150,81,.18);

}

/*==================================================
    WHY CHOOSE US RESPONSIVE
==================================================*/


/*==================================================
    LARGE DESKTOP
==================================================*/

@media (min-width:1600px){

    .why-choose-header{

        gap:100px;

    }

    .why-grid{

        gap:32px;

    }

}


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .why-choose-header{

        gap:50px;

    }

    .why-grid{

        gap:24px;

    }

    .why-card{

        padding:32px;

    }

    .values-panel{

        gap:40px;

        padding:40px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .why-choose-section{

        padding:80px 0;

    }

    .why-choose-header{

        grid-template-columns:1fr;

        gap:28px;

        margin-bottom:50px;

    }

    .why-heading{

        max-width:100%;

        text-align:center;

    }

    .why-heading .section-tag{

        margin-inline:auto;

    }

    .why-description{

        max-width:100%;

        text-align:center;

    }

    .why-grid{

        grid-template-columns:1fr 1fr;

    }

    .values-panel{

        grid-template-columns:1fr;

        gap:40px;

        text-align:center;

    }

    .values-content{

        max-width:100%;

    }

    .values-content .section-tag{

        margin-inline:auto;

    }

    .values-list{

        justify-content:center;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .why-choose-section{

        padding:60px 0;

    }

    .why-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .why-card{

        padding:28px;

        border-radius:22px;

    }

    .why-card-icon{

        width:64px;

        height:64px;

        margin-bottom:22px;

    }

    .why-card-icon img{

        width:28px;

        height:28px;

    }

    .why-card h3{

        font-size:1.3rem;

    }

    .values-panel{

        padding:30px;

        border-radius:24px;

    }

    .values-content h3{

        font-size:1.8rem;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .why-heading h2{

        font-size:1.9rem;

    }

    .why-description p{

        font-size:.98rem;

    }

    .why-card{

        padding:24px;

    }

    .values-panel{

        padding:24px;

    }

    .values-content h3{

        font-size:1.6rem;

    }

    .values-list{

        gap:10px;

    }

    .value-chip{

        width:100%;

        justify-content:center;

        padding:14px 18px;

    }

}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:380px){

    .why-heading h2{

        font-size:1.65rem;

    }

    .why-card{

        padding:20px;

    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.why-card:focus-within{

    outline:2px solid var(--primary);

    outline-offset:4px;

}

.value-chip:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .why-card,

    .value-chip{

        transition:none !important;

        transform:none !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .why-choose-section{

        padding:40px 0;

        background:#ffffff;

    }

    .why-card{

        box-shadow:none;

    }

}

/*==================================================
    PURPOSE SECTION
==================================================*/

.purpose-section{

    position:relative;

    padding:40px 0 80px;

    background:#F7F7F4;

    overflow:hidden;

}


/*==================================================
    HEADER
==================================================*/

.purpose-header{

    max-width:960px;

    margin:0 auto 70px;

    text-align:center;

}

.purpose-header h2{

    margin:22px 0;

    font-size:clamp(2.5rem,4vw,3.6rem);

    line-height:1.12;

    color:var(--secondary);

}

.purpose-header h2 span{

    display:block;

    color:var(--primary);

}

.purpose-header p{

    max-width:650px;

    margin:auto;

    color:var(--text-light);

    line-height:1.9;

}


/*==================================================
    HERO BANNER
==================================================*/

.purpose-banner{

    position:relative;

    overflow:hidden;

    border-radius:36px;

    margin-bottom:70px;

    min-height:520px;

    background:#E9EFE5;

}


/*==================================================
    BANNER IMAGE
==================================================*/

.purpose-banner img{

    position:relative;

    z-index:1;

    display:block;

    width:100%;

    height:520px;

    object-fit:cover;

    transition:transform .6s ease;

}


/*==================================================
    IMAGE HOVER
==================================================*/

.purpose-banner:hover img{

    transform:scale(1.05);

}


/*==================================================
    DARK OVERLAY
==================================================*/

.purpose-banner::before{

    content:"";

    position:absolute;

    inset:0;

    z-index:2;

    pointer-events:none;

    background:linear-gradient(

        180deg,

        rgba(0,0,0,.10),

        rgba(0,0,0,.45)

    );

}


/*==================================================
    BANNER CONTENT
==================================================*/

.purpose-banner-overlay{

    position:absolute;

    left:60px;

    bottom:60px;

    z-index:3;

    max-width:560px;

}

.purpose-banner-overlay h3{

    margin:0;

    color:#FFFFFF;

    font-size:2.3rem;

    line-height:1.2;

}


/*==================================================
    PROBLEM GRID
==================================================*/

.purpose-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:32px;

    margin-bottom:80px;

}


/*==================================================
    CARD
==================================================*/

.purpose-card{

    background:#FFFFFF;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(118,150,81,.08);

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.purpose-card:hover{

    transform:translateY(-8px);

    box-shadow:

        0 24px 50px rgba(0,0,0,.08);

    border-color:

        rgba(118,150,81,.18);

}


/*==================================================
    CARD IMAGE
==================================================*/

.purpose-image{

    overflow:hidden;

    background:#EEF4E8;

}

.purpose-image img{

    display:block;

    width:100%;

    height:240px;

    object-fit:cover;

    transition:transform .6s ease;

}

.purpose-card:hover .purpose-image img{

    transform:scale(1.06);

}


/*==================================================
    CARD CONTENT
==================================================*/

.purpose-content{

    padding:34px;

}

.purpose-content span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:52px;

    height:52px;

    margin-bottom:24px;

    border-radius:50%;

    background:rgba(118,150,81,.10);

    color:var(--primary);

    font-weight:700;

    font-size:1rem;

}

.purpose-content h3{

    margin-bottom:18px;

    font-size:1.5rem;

    line-height:1.3;

    color:var(--secondary);

}

.purpose-content p{

    color:var(--text-light);

    line-height:1.85;

    margin:0;

}


/*==================================================
    COMMITMENT PANEL
==================================================*/

.commitment-panel{

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:70px;

    align-items:center;

    padding:60px;

    border-radius:36px;

    background:

    linear-gradient(

        135deg,

        #6F9348,

        #87AA5C

    );

    overflow:hidden;

    position:relative;

}


/*==================================================
    PANEL GLOW
==================================================*/

.commitment-panel::before{

    content:"";

    position:absolute;

    width:380px;

    height:380px;

    top:-140px;

    right:-120px;

    border-radius:50%;

    background:

        rgba(255,255,255,.08);

}


/*==================================================
    LEFT CONTENT
==================================================*/

.commitment-left{

    position:relative;

    z-index:2;

}

.commitment-left .section-tag{

    background:rgba(255,255,255,.14);

    color:#FFFFFF;

}

.commitment-left h2{

    margin:22px 0 0;

    font-size:2.5rem;

    line-height:1.15;

    color:#FFFFFF;

}

.commitment-left h2 span{

    display:block;

}


/*==================================================
    RIGHT CONTENT
==================================================*/

.commitment-right{

    position:relative;

    z-index:2;

}

.commitment-right p{

    color:rgba(255,255,255,.92);

    line-height:1.9;

    margin-bottom:36px;

}

.commitment-right .btn-light {

    background: var(--white);

}

.commitment-right .btn-light:hover {

    color: var(--white);

    background: var(--primary-dark);

}

/*==================================================
    PURPOSE SECTION RESPONSIVE
==================================================*/


/*==================================================
    LARGE DESKTOP
==================================================*/

@media (min-width:1600px){

    .purpose-header{

        max-width:840px;

    }

    .purpose-grid{

        gap:36px;

    }

}


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .purpose-header{

        margin-bottom:60px;

    }

    .purpose-banner{

        min-height:460px;

    }

    .purpose-banner img{

        height:460px;

    }

    .purpose-grid{

        gap:24px;

    }

    .purpose-content{

        padding:30px;

    }


    .commitment-panel{

        gap:50px;

        padding:50px;

    }

    .commitment-left h2{

    margin:22px 0 0;

    font-size:2.2rem;

    line-height:1.15;

    color:#FFFFFF;

}

.commitment-left h2 span{

    display:block;

}

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .purpose-section{

        padding:80px 0;

    }

    .purpose-header{

        margin-bottom:50px;

    }

    .purpose-banner{

        min-height:400px;

        border-radius:28px;

        margin-bottom:60px;

    }

    .purpose-banner img{

        height:400px;

    }

    .purpose-banner-overlay{

        left:40px;

        right:40px;

        bottom:40px;

    }

    .purpose-banner-overlay h3{

        font-size:2rem;

    }

    .purpose-grid{

        grid-template-columns:1fr;

    }

    .commitment-panel{

        grid-template-columns:1fr;

        gap:40px;

        text-align:center;

        padding:45px;

    }

    .commitment-left .section-tag{

        margin-inline:auto;

    }

    .commitment-left h2{

        font-size:2.2rem;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .purpose-section{

        padding:60px 0;

    }

    .purpose-header h2{

        font-size:2rem;

    }

    .purpose-banner{

        min-height:320px;

        border-radius:22px;

        margin-bottom:50px;

    }

    .purpose-banner img{

        height:320px;

    }

    .purpose-banner-overlay{

        left:24px;

        right:24px;

        bottom:24px;

    }

    .purpose-banner-overlay h3{

        font-size:1.6rem;

        line-height:1.3;

    }

    .purpose-content{

        padding:26px;

    }

    .purpose-content span{

        width:46px;

        height:46px;

        margin-bottom:20px;

    }

    .purpose-content h3{

        font-size:1.35rem;

    }

    .commitment-panel{

        padding:32px 28px;

        border-radius:24px;

    }

    .commitment-left h2{

        font-size:1.9rem;

    }

    .commitment-right p{

        margin-bottom:28px;

    }

    .commitment-right .btn{

        width:100%;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .purpose-header h2{

        font-size:1.75rem;

    }

    .purpose-header p{

        font-size:.96rem;

    }

    .purpose-banner{

        min-height:260px;

    }

    .purpose-banner img{

        height:260px;

    }

    .purpose-banner-overlay h3{

        font-size:1.35rem;

    }

    .purpose-card{

        border-radius:22px;

    }

    .purpose-content{

        padding:22px;

    }

    .purpose-content h3{

        font-size:1.25rem;

    }

    .commitment-panel{

        padding:24px;

    }

    .commitment-left h2{

        font-size:1.65rem;

    }

}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:380px){

    .purpose-header h2{

        font-size:1.55rem;

    }

    .purpose-banner-overlay{

        left:18px;

        right:18px;

        bottom:18px;

    }

    .purpose-banner-overlay h3{

        font-size:1.2rem;

    }

    .purpose-content{

        padding:20px;

    }

    .commitment-left h2{

        font-size:1.45rem;

    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.purpose-card:focus-within{

    outline:2px solid var(--primary);

    outline-offset:4px;

}

.commitment-right .btn:focus-visible{

    outline:2px solid #FFFFFF;

    outline-offset:4px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .purpose-card,

    .purpose-banner img,

    .commitment-panel{

        transition:none !important;

        transform:none !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .purpose-section{

        padding:40px 0;

        background:#FFFFFF;

    }

    .purpose-banner{

        min-height:auto;

    }

    .purpose-banner img{

        height:auto;

    }

    .purpose-card{

        box-shadow:none;

        border:1px solid #DDD;

    }

    .commitment-panel{

        background:#F4F4F4;

        color:#000;

    }

    .commitment-left h2,

    .commitment-right p{

        color:#000;

    }

}

/*==================================================
    FOOTER
==================================================*/

.site-footer{

    position:relative;

    margin-top:-2px;

    background:
    linear-gradient(
        180deg,
        #2B3E28 0%,
        #233320 100%
    );

    overflow:hidden;

    color:#FFFFFF;

}


/*==================================================
    BACKGROUND DECORATION
==================================================*/

.site-footer::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    top:-220px;

    right:-180px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(214,240,155,.08),

            transparent 70%

        );

    pointer-events:none;

}

.site-footer::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    bottom:-180px;

    left:-140px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(255,255,255,.04),

            transparent 70%

        );

}


/*==================================================
    WRAPPER
==================================================*/

.footer-wrapper{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:

        1.45fr

        .9fr

        .9fr

        1fr;

    gap:60px;

    padding:90px 0 70px;


}


/*==================================================
    COLUMN
==================================================*/

.footer-column{

    position:relative;

}

.footer-column:not(:last-child){

    padding-right:40px;

}




/*==================================================
    BRAND
==================================================*/

.footer-brand{

    max-width:420px;

}

.footer-logo{

    display:inline-flex;

    margin-bottom:30px;

}

.footer-logo img{

    width:170px;

    display:block;

}

.footer-brand p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:36px;

}


/*==================================================
    SOCIAL
==================================================*/

.footer-social{

    display:flex;

    gap:14px;

    flex-wrap:wrap;

}

.footer-social a{

    width:48px;

    height:48px;

    border-radius:16px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

        rgba(239, 255, 212, 0.667);

    border:1px solid

        rgba(255, 255, 255, 0.788);

    transition:.35s ease;

}

/*==================================================
    SOCIAL ICON
==================================================*/

.footer-social a img{

    display:block;

    width:20px;

    height:20px;

    object-fit:contain;

    transition:transform .3s ease;

}

.footer-social a:hover{

    background:rgba(255, 255, 255, 0.919);

    transform:translateY(-3px);

}

.footer-social a:hover img{

    transform:scale(1.08);

}

/*==================================================
    TITLES
==================================================*/

.footer-column h3{

    font-size:1.2rem;

    margin-bottom:30px;

    color:#FFFFFF;

    position:relative;

    display:inline-block;

}

.footer-column h3::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:50px;

    height:2px;

    border-radius:10px;

    background:var(--primary);

}

/*==================================================
    FOOTER LISTS
==================================================*/

.footer-column ul{

    margin:0;

    padding:0;

    list-style:none;

}

.footer-column li{

    margin-bottom:18px;

}


/*==================================================
    FOOTER LINKS
==================================================*/

.footer-column ul li a{

    position:relative;

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:rgba(255,255,255,.72);

    transition:.35s ease;

}


/* Animated Arrow */

.footer-column ul li a::before{

    content:"";

    width:16px;

    height:16px;

    flex-shrink:0;

    background-repeat:no-repeat;

    background-size:16px;

    background-position:center;

    opacity:.65;

    transition:.35s ease;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23D6F09B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 5l7 7-7 7'/%3E%3C/svg%3E");

}

.footer-column ul li a:hover{

    color:#FFFFFF;

    transform:translateX(6px);

}

.footer-column ul li a:hover::before{

    opacity:1;

    transform:translateX(4px);

}


/*==================================================
    CONTACT
==================================================*/

.footer-contact-list{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.footer-contact-list li{

    display:flex;

    align-items:flex-start;

    gap:16px;

    margin:0;

}

.footer-icon{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:14px;

    background:rgba(255, 255, 255, 0.814);

    border:1px solid rgba(255,255,255,.08);

}

.footer-icon img{

    display:block;

    width:18px;

    height:18px;

    object-fit:contain;

}


.footer-contact-list span:last-child,

.footer-contact-list a{

    color:rgba(255, 255, 255, 0.72);

    line-height:1.8;

    transition:.35s ease;

}


.footer-contact-list a:hover{

    color:#FFFFFF;

}

/*==================================================
    TRUST MESSAGE
==================================================*/

.footer-trust{

    position:relative;

    padding:34px 0;

    text-align:center;

    border-top:1px solid rgba(255,255,255,.08);

    border-bottom:1px solid rgba(255,255,255,.08);

}

.footer-trust::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:180px;

    height:2px;

    background:linear-gradient(

        90deg,

        transparent,

        var(--primary),

        transparent

    );

}

.footer-trust p{

    max-width:720px;

    margin:auto;

    color:rgba(255,255,255,.78);

    line-height:1.9;

    letter-spacing:.2px;

}


/*==================================================
    FOOTER BOTTOM
==================================================*/

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:20px;

    padding:28px 0;

    color:rgba(255,255,255,.58);

    font-size:.95rem;

}

.footer-bottom p{

    margin:0;

}

.footer-bottom a{

    position:relative;

    color:#D6F09B;

    font-weight:600;

    transition:.35s ease;

}

.footer-bottom a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-4px;

    width:0;

    height:2px;

    border-radius:10px;

    background:#D6F09B;

    transition:.35s ease;

}

.footer-bottom a:hover{

    color:#FFFFFF;

}

.footer-bottom a:hover::after{

    width:100%;

}


/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:1200px){

    .footer-wrapper{

        grid-template-columns:1.3fr 1fr 1fr;

        gap:45px;

    }

    .footer-contact{

        grid-column:1/-1;

        max-width:520px;

    }

}

@media (max-width:991px){

    .footer-wrapper{

        grid-template-columns:1fr 1fr;

        gap:40px;

        padding:70px 0 60px;

    }

    .footer-column{

        padding-right:0;

    }

    .footer-column::after{

        display:none;

    }

    .footer-brand{

        grid-column:1/-1;

        max-width:100%;

    }

    .footer-bottom{

        flex-direction:column;

        text-align:center;

    }

}

@media (max-width:767px){

    .footer-wrapper{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:42px 28px;
        padding:60px 0 50px;
    }

    .footer-brand{
        grid-column:1/-1;
        text-align:center;
    }

    .footer-logo{
        justify-content:center;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-column{
        padding-right:0;
    }

    .footer-column h3{
        margin-bottom:24px;
    }

    .footer-column ul li{
        margin-bottom:16px;
    }

    .footer-contact{
        grid-column:1/-1;
        max-width:100%;
    }

    .footer-contact-list{
        gap:20px;
    }

    .footer-trust{
        padding:28px 20px;
    }

    .footer-column:not(:last-child){

    padding-right:0;

}

}

@media (max-width:575px){

    .footer-wrapper{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:36px 20px;
    }

    .footer-column h3{
        font-size:1.05rem;
    }

    .footer-column ul li{
        margin-bottom:14px;
    }

    .footer-column ul li a{
        gap:8px;
        font-size:.9rem;
    }

    .footer-bottom{
        font-size:.88rem;
    }

    .footer-social{
        gap:10px;
    }

    .footer-social a{
        width:44px;
        height:44px;
        border-radius:14px;
    }

    .footer-icon{
        width:38px;
        height:38px;
        border-radius:12px;
    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.footer-column a:focus-visible,

.footer-social a:focus-visible,

.footer-bottom a:focus-visible{

    outline:2px solid #D6F09B;

    outline-offset:4px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .footer-column a,

    .footer-social a,

    .footer-bottom a{

        transition:none !important;

        transform:none !important;

    }

}

/*==================================================
    INTERNAL HERO
==================================================*/

.internal-hero{

    position:relative;

    overflow:hidden;

    padding:150px 0 90px;

    background:#F7F7F4;

}


/*==================================================
    BACKGROUND PATTERN
==================================================*/

.internal-hero-pattern{

    position:absolute;

    inset:0;

    opacity:.03;

    pointer-events:none;

    background-image:

        linear-gradient(rgba(0,0,0,.10) 1px,transparent 1px),

        linear-gradient(90deg,rgba(0,0,0,.10) 1px,transparent 1px);

    background-size:42px 42px;

}


/*==================================================
    CONTENT
==================================================*/

.internal-hero .container{

    position:relative;

    z-index:2;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

}


/*==================================================
    BREADCRUMB
==================================================*/

.breadcrumb{

    margin-bottom:22px;

}

.breadcrumb ol{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:0;

    margin:0;

    list-style:none;

}

.breadcrumb li{

    display:flex;

    align-items:center;

    color:var(--text-light);

    font-size:.95rem;

}

.breadcrumb a{

    color:var(--text-light);

    transition:.3s ease;

}

.breadcrumb a:hover{

    color:var(--primary);

}

.breadcrumb svg{

    width:12px;

    height:12px;

}

.breadcrumb li[aria-current="page"]{

    color:var(--primary-dark);

    font-weight:600;

}


/*==================================================
    PAGE TITLE
==================================================*/

.internal-hero h1{

    margin:0;

    font-size:clamp(2.8rem,5vw,4.6rem);

    line-height:1.08;

    letter-spacing:-.03em;

    color:var(--secondary);

    max-width:900px;

}

/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:991px){

    .internal-hero{

        padding:135px 0 80px;

    }

    .internal-hero h1{

        font-size:3rem;

    }

}

@media (max-width:767px){

    .internal-hero{

        padding:120px 0 70px;

    }

    .breadcrumb{

        margin-bottom:18px;

    }

    .breadcrumb ol{

        gap:8px;

        flex-wrap:wrap;

    }

    .breadcrumb li{

        font-size:.9rem;

    }

    .internal-hero h1{

        font-size:2.4rem;

    }

}

@media (max-width:480px){

    .internal-hero{

        padding:110px 0 60px;

    }

    .internal-hero h1{

        font-size:2rem;

    }

}

/*==================================================
    ABOUT PREVIEW
==================================================*/

.about-preview-section{

    padding:180px 0 80px;

    background:var(--background);

}

.about-preview-wrapper{

    display:grid;

    grid-template-columns:.95fr 1.05fr;

    align-items:center;

    gap:70px;

}


/*==================================================
    CONTENT
==================================================*/

.about-preview-content{

    max-width:520px;

}

.about-preview-content h2{

    margin:22px 0 24px;

    font-size:clamp(2.3rem,4vw,3.4rem);

    line-height:1.15;

}

.about-preview-content h2 span{

    display:block;

    color:var(--primary);

}

.about-preview-content p{

    margin-bottom:38px;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    IMAGE
==================================================*/

.about-preview-media{

    position:relative;

    border-radius:30px;

    overflow:hidden;

    background:#eef2ea;

}

.about-preview-media img{

    display:block;

    width:100%;

    transition:

    opacity .35s ease,

    transform .45s ease;

}

.about-preview-media:hover img{

    transform:scale(1.03);

}


/*==================================================
    TAGS
==================================================*/

.about-tags{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:40px;

}

.about-tag{

    padding:14px 22px;

    border-radius:999px;

    background:#F4F5F1;

    color:var(--secondary);

    font-weight:600;

    transition:.35s ease;

}

.about-tag:hover{

    background:#D8F19D;

}

.about-tag.active{

    background:var(--primary);

    color:#fff;

}


/*==================================================
    LARGE DESKTOP
==================================================*/

@media (min-width:1600px){

    .about-preview-wrapper{

        gap:100px;

    }

}


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .about-preview-wrapper{

        gap:50px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .about-preview-section{

        padding:120px 0 40px;

    }

    .about-preview-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }

    .about-preview-content{

        max-width:100%;

        text-align:center;

    }

    .about-preview-content .section-tag{

        margin-inline:auto;

    }

    .about-preview-content p{

        max-width:700px;

        margin-inline:auto;

        margin-bottom:36px;

    }

    .about-preview-content .btn{

        margin:auto;

    }

    .about-tags{

        justify-content:center;

    }

    .about-preview-media{

        max-width:720px;

        margin:auto;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .about-preview-section{

        padding:110px 0 40px;

    }

    .about-preview-content h2{

        font-size:2rem;

    }

    .about-preview-content p{

        font-size:1rem;

    }

    .about-preview-media{

        border-radius:22px;

    }

    .about-tags{

        gap:10px;

    }

    .about-tag{

        padding:12px 18px;

        font-size:.92rem;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .about-preview-content h2{

        font-size:1.75rem;

    }

    .about-preview-content .btn{

        width:100%;

    }

    .about-tags{

        flex-direction:column;

    }

    .about-tag{

        width:100%;

        justify-content:center;

        display:flex;

    }

}


/*==================================================
    EXTRA SMALL
==================================================*/

@media (max-width:380px){

    .about-preview-content h2{

        font-size:1.55rem;

    }

}

/*==================================================
    OUR STORY SECTION
==================================================*/

.our-story-section{

    position:relative;

    padding:80px 0;

    background:#FFFFFF;

    overflow:hidden;

}


/*==================================================
    BACKGROUND DECORATION
==================================================*/

.our-story-section::before{

    content:"";

    position:absolute;

    top:-180px;

    right:-180px;

    width:420px;

    height:420px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(118,150,81,.05),

            transparent 70%

        );

}

.our-story-section::after{

    content:"";

    position:absolute;

    bottom:-140px;

    left:-140px;

    width:300px;

    height:300px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(214,240,155,.12),

            transparent 70%

        );

}


/*==================================================
    WRAPPER
==================================================*/

.our-story-wrapper{

    position:relative;

    z-index:2;

    max-width:1100px;

    margin:auto;

    text-align:center;

}


/*==================================================
    HEADING
==================================================*/

.our-story-wrapper h2{

    margin:22px 0 18px;

    font-size:clamp(2.4rem,4vw,3.4rem);

    line-height:1.15;

    color:var(--secondary);

}


/*==================================================
    DIVIDER
==================================================*/

.story-divider{

    display:flex;

    justify-content:center;

    margin:38px 0 46px;

}

.story-divider span{

    width:90px;

    height:3px;

    border-radius:999px;

    background:linear-gradient(

        90deg,

        transparent,

        var(--primary),

        transparent

    );

}


/*==================================================
    STORY CONTENT
==================================================*/

.story-content{

    max-width:1100px;

    margin:auto;

}

.story-content p{

    margin:0 0 34px;

    color:var(--text-light);

    font-size:1.08rem;

    line-height:2;

    letter-spacing:.15px;

}

.story-content p:last-child{

    margin-bottom:0;

}


/*==================================================
    EMPHASIS
==================================================*/

.story-content strong{

    color:var(--secondary);

    font-weight:700;

}

.story-content em{

    color:var(--primary);

    font-style:normal;

    font-weight:600;

}


/*==================================================
    SIGNATURE
==================================================*/

.story-signature{

    margin-top:60px;

}

.story-signature span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 28px;

    border-radius:999px;

    background:rgba(118,150,81,.08);

    color:var(--primary-dark);

    font-weight:600;

    letter-spacing:.4px;

}

/*==================================================
    OUR STORY RESPONSIVE
==================================================*/


/*==================================================
    LARGE DESKTOP
==================================================*/

@media (min-width:1600px){

    .our-story-wrapper{

        max-width:900px;

    }

    .story-content{

        max-width:820px;

    }

}


/*==================================================
    LAPTOP
==================================================*/

@media (max-width:1200px){

    .our-story-section{

        padding:100px 0;

    }

    .story-content{

        max-width:720px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .our-story-section{

        padding:85px 0;

    }

    .our-story-wrapper{

        max-width:100%;

    }

    .story-divider{

        margin:32px 0 40px;

    }

    .story-content{

        max-width:100%;

    }

    .story-content p{

        font-size:1.03rem;

        line-height:1.9;

    }

    .story-signature{

        margin-top:50px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .our-story-section{

        padding:70px 0;

    }

    .our-story-wrapper h2{

        font-size:2rem;

    }

    .story-divider{

        margin:28px 0 34px;

    }

    .story-divider span{

        width:70px;

    }

    .story-content p{

        font-size:1rem;

        line-height:1.85;

        margin-bottom:26px;

    }

    .story-signature{

        margin-top:40px;

    }

    .story-signature span{

        padding:12px 22px;

        font-size:.95rem;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:575px){

    .our-story-section{

        padding:60px 0;

    }

    .our-story-wrapper h2{

        font-size:1.75rem;

    }

    .story-content p{

        font-size:.96rem;

        line-height:1.8;

    }

    .story-signature span{

        width:100%;

        justify-content:center;

        text-align:center;

        line-height:1.6;

    }

}


/*==================================================
    EXTRA SMALL DEVICES
==================================================*/

@media (max-width:380px){

    .our-story-wrapper h2{

        font-size:1.55rem;

    }

    .story-content p{

        font-size:.92rem;

    }

}


/*==================================================
    TEXT SELECTION
==================================================*/

.story-content ::selection{

    background:rgba(118,150,81,.18);

    color:var(--secondary);

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.story-signature span:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .story-divider span,

    .story-signature span{

        transition:none !important;

    }

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .our-story-section{

        padding:40px 0;

        background:#FFFFFF;

    }

    .our-story-section::before,

    .our-story-section::after{

        display:none;

    }

    .story-signature span{

        border:1px solid #CCCCCC;

        background:#F5F5F5;

        color:#000000;

    }

}

/*==================================================
    DIRECTION & AMBITION SECTION
==================================================*/

.direction-section{

    position:relative;

    padding:110px 0;

    background:#F7F7F4;

    overflow:hidden;

}


/*==================================================
    BACKGROUND ELEMENTS
==================================================*/

.direction-bg-shape{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

}

.direction-bg-shape-1{

    width:520px;

    height:520px;

    top:-220px;

    right:-180px;

    background:

        radial-gradient(

            rgba(118,150,81,.08),

            transparent 72%

        );

}

.direction-bg-shape-2{

    width:360px;

    height:360px;

    bottom:-160px;

    left:-140px;

    background:

        radial-gradient(

            rgba(214,240,155,.16),

            transparent 72%

        );

}

.direction-bg-grid{

    position:absolute;

    inset:0;

    opacity:.035;

    background-image:

        linear-gradient(rgba(0,0,0,.15) 1px,transparent 1px),

        linear-gradient(90deg,rgba(0,0,0,.15) 1px,transparent 1px);

    background-size:42px 42px;

    pointer-events:none;

}


/*==================================================
    SECTION HEADER
==================================================*/

.direction-header{

    position:relative;

    z-index:2;

    max-width:760px;

    margin:0 auto 80px;

    text-align:center;

}

.direction-header h2{

    margin:22px 0;

    font-size:clamp(2.5rem,4vw,3.6rem);

    line-height:1.15;

    color:var(--secondary);

}

.direction-header h2 span{

    display:block;

    color:var(--primary);

}

.direction-header p{

    max-width:650px;

    margin:0 auto;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    GRID
==================================================*/

.direction-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr;

    gap:36px;

    align-items:start;

}


/*==================================================
    CARD
==================================================*/

.direction-card{

    position:relative;

    display:flex;

    flex-direction:column;

    background:#FFFFFF;

    border-radius:34px;

    padding:36px;

    overflow:hidden;

    border:1px solid rgba(118,150,81,.08);

    box-shadow:

        0 18px 50px rgba(0,0,0,.06);

    transition:

        transform .45s ease,

        box-shadow .45s ease,

        border-color .45s ease;

}

.direction-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            135deg,

            rgba(214,240,155,.10),

            transparent 55%

        );

    pointer-events:none;

}

.direction-card:hover{

    transform:translateY(-10px);

    border-color:rgba(118,150,81,.18);

    box-shadow:

        0 28px 70px rgba(0,0,0,.10);

}


/*==================================================
    CARD HEADER
==================================================*/

.direction-card-header{

    display:flex;

    align-items:center;

    gap:24px;

    margin-bottom:28px;

}


/*==================================================
    ILLUSTRATION
==================================================*/

.direction-illustration{

    flex-shrink:0;

    width:96px;

    height:96px;

    border-radius:26px;

    background:#EEF6E4;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.direction-illustration img{

    width:72px;

    transition:transform .45s ease;

}

.direction-card:hover .direction-illustration img{

    transform:scale(1.08) rotate(-3deg);

}


/*==================================================
    TITLE
==================================================*/

.direction-label{

    display:inline-flex;

    padding:8px 16px;

    border-radius:999px;

    background:rgba(118,150,81,.12);

    color:var(--primary-dark);

    font-size:.82rem;

    font-weight:700;

    margin-bottom:14px;

}

.direction-title h3{

    margin:0;

    color:var(--secondary);

    font-size:2rem;

    line-height:1.2;

}


/*==================================================
    SUMMARY
==================================================*/

.direction-summary{

    margin:0 0 32px;

    color:var(--text-light);

    line-height:1.9;

}

/*==================================================
    TOGGLE BUTTON
==================================================*/

.direction-toggle{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    width:100%;

    padding:18px 22px;

    margin-top:auto;

    border:none;

    border-radius:18px;

    background:#F7F7F4;

    color:var(--secondary);

    font-size:1rem;

    font-weight:600;

    cursor:pointer;

    transition:.35s ease;

}

.direction-toggle:hover{

    background:#EEF6E4;

}

.direction-toggle svg{

    width:22px;

    height:22px;

    color:var(--primary);

    transition:

        transform .35s ease,

        color .35s ease;

}

.direction-card.active .direction-toggle{

    background:var(--primary);

    color:#FFFFFF;

}

.direction-card.active .direction-toggle svg{

    color:#FFFFFF;

    transform:rotate(180deg);

}


/*==================================================
    ACCORDION CONTENT
==================================================*/

.direction-content{

    max-height:0;

    overflow:hidden;

    opacity:0;

    transition:

        max-height .6s ease,

        opacity .35s ease,

        margin-top .35s ease;

}

.direction-card.active .direction-content{

    max-height:600px;

    opacity:1;

    margin-top:30px;

}


/*==================================================
    CONTENT TITLE
==================================================*/

.direction-content h4{

    margin:0 0 24px;

    color:var(--secondary);

    font-size:1.2rem;

}


/*==================================================
    LIST
==================================================*/

.direction-content ul{

    margin:0;

    padding:0;

    list-style:none;

    display:grid;

    gap:18px;

}


/*==================================================
    LIST ITEM
==================================================*/

.direction-content li{

    position:relative;

    padding-left:52px;

    line-height:1.8;

    color:var(--text-light);

    transition:.35s ease;

}


/*==================================================
    CUSTOM ICON
==================================================*/

.direction-content li::before{

    content:"";

    position:absolute;

    left:0;

    top:3px;

    width:32px;

    height:32px;

    border-radius:12px;

    background:

        #EEF6E4

        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B8D49' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")

        center

        no-repeat;

    transition:.35s ease;

}

.direction-content li:hover{

    color:var(--secondary);

    transform:translateX(6px);

}

.direction-content li:hover::before{

    background-color:var(--primary);

}


/*==================================================
    MISSION ACCENT
==================================================*/

.mission-card{

    border-top:5px solid #87A857;

}

.mission-card .direction-label{

    background:rgba(135,168,87,.15);

}


/*==================================================
    VISION ACCENT
==================================================*/

.vision-card{

    border-top:5px solid #4D6E3E;

}

.vision-card .direction-label{

    background:rgba(77,110,62,.12);

}


/*==================================================
    CARD HOVER ENHANCEMENTS
==================================================*/

.direction-card:hover .direction-title h3{

    color:var(--primary-dark);

}

.direction-card:hover .direction-label{

    transform:translateY(-2px);

}

.direction-label{

    transition:.35s ease;

}


/*==================================================
    DECORATIVE HIGHLIGHT
==================================================*/

.direction-card::after{

    content:"";

    position:absolute;

    top:0;

    right:0;

    width:180px;

    height:180px;

    border-radius:50%;

    background:

        radial-gradient(

            rgba(214,240,155,.16),

            transparent 72%

        );

    transform:translate(60%,-60%);

    pointer-events:none;

}

/*==================================================
    RESPONSIVE
==================================================*/

/*==============================
    LARGE DESKTOP
==============================*/

@media (min-width:1600px){

    .direction-grid{

        gap:48px;

    }

}


/*==============================
    LAPTOP
==============================*/

@media (max-width:1200px){

    .direction-section{

        padding:100px 0;

    }

    .direction-header{

        margin-bottom:65px;

    }

    .direction-grid{

        gap:28px;

    }

    .direction-card{

        padding:32px;

    }

}


/*==============================
    TABLET
==============================*/

@media (max-width:991px){

    .direction-section{

        padding:85px 0;

    }

    .direction-grid{

        grid-template-columns:1fr;

        gap:30px;

    }

    .direction-header{

        margin-bottom:55px;

    }

    .direction-title h3{

        font-size:1.75rem;

    }

}


/*==============================
    MOBILE
==============================*/

@media (max-width:767px){

    .direction-section{

        padding:70px 0;

    }

    .direction-header h2{

        font-size:2rem;

    }

    .direction-header p{

        font-size:.98rem;

    }

    .direction-card{

        padding:26px;

        border-radius:28px;

    }

    .direction-card-header{

        flex-direction:column;

        align-items:flex-start;

        gap:20px;

    }

    .direction-illustration{

        width:82px;

        height:82px;

        border-radius:22px;

    }

    .direction-illustration img{

        width:60px;

    }

    .direction-title h3{

        font-size:1.55rem;

    }

    .direction-summary{

        margin-bottom:24px;

    }

    .direction-toggle{

        padding:16px 18px;

        font-size:.95rem;

    }

    .direction-content li{

        padding-left:46px;

    }

}


/*==============================
    SMALL MOBILE
==============================*/

@media (max-width:575px){

    .direction-header{

        margin-bottom:45px;

    }

    .direction-header h2{

        font-size:1.75rem;

    }

    .direction-card{

        padding:22px;

    }

    .direction-title h3{

        font-size:1.35rem;

    }

    .direction-summary{

        font-size:.95rem;

        line-height:1.8;

    }

    .direction-content h4{

        font-size:1.05rem;

    }

    .direction-content li{

        font-size:.94rem;

        line-height:1.7;

        padding-left:42px;

    }

    .direction-content li::before{

        width:28px;

        height:28px;

        border-radius:10px;

        background-size:14px;

    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.direction-toggle:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}

.direction-content li:focus-within{

    color:var(--secondary);

}


/*==================================================
    SCROLL REVEAL
==================================================*/

.direction-card{

    opacity:0;

    transform:translateY(45px);

    transition:

        opacity .7s ease,

        transform .7s ease,

        box-shadow .4s ease,

        border-color .4s ease;

}

.direction-card.in-view{

    opacity:1;

    transform:translateY(0);

}

.direction-card:nth-child(2){

    transition-delay:.12s;

}


/*==================================================
    PRINT
==================================================*/

@media print{

    .direction-section{

        padding:40px 0;

        background:#FFFFFF;

    }

    .direction-bg-grid,

    .direction-bg-shape{

        display:none;

    }

    .direction-card{

        box-shadow:none;

        border:1px solid #DDDDDD;

        break-inside:avoid;

    }

}


/*==================================================
    REDUCED MOTION
==================================================*/

@media (prefers-reduced-motion:reduce){

    .direction-card,

    .direction-toggle,

    .direction-content,

    .direction-content li,

    .direction-illustration img{

        transition:none !important;

        animation:none !important;

        transform:none !important;

    }

}

/*==================================================
    UNIFIED STRATEGIC THEME
==================================================*/

.strategic-theme-section{

    position:relative;

    padding:80px 0 0;

    background:#F7F7F4;

    overflow:hidden;

}


/*==================================================
    BACKGROUND DECORATIONS
==================================================*/

.theme-bg-pattern{

    position:absolute;

    inset:0;

    opacity:.035;

    background-image:

        linear-gradient(rgba(0,0,0,.12) 1px,transparent 1px),

        linear-gradient(90deg,rgba(0,0,0,.12) 1px,transparent 1px);

    background-size:46px 46px;

    pointer-events:none;

}

.theme-bg-circle{

    position:absolute;

    border-radius:50%;

    pointer-events:none;

}

.theme-bg-circle-1{

    width:480px;

    height:480px;

    top:-180px;

    right:-150px;

    background:

        radial-gradient(

            rgba(168,214,114,.12),

            transparent 72%

        );

}

.theme-bg-circle-2{

    width:340px;

    height:340px;

    left:-120px;

    bottom:180px;

    background:

        radial-gradient(

            rgba(118,150,81,.10),

            transparent 70%

        );

}


/*==================================================
    HEADER
==================================================*/

.theme-header{

    position:relative;

    z-index:2;

    max-width:960px;

    margin:0 auto 90px;

    text-align:center;

}

.theme-header h2{

    margin:22px 0;

    font-size:clamp(2.7rem,4vw,3.8rem);

    line-height:1.15;

    color:var(--secondary);

}

.theme-header h2 span{

    display:block;

    color:var(--primary);

}

.theme-header p{

    max-width:680px;

    margin:auto;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    VALUES SECTION
==================================================*/

.values-wrapper{

    position:relative;

    z-index:2;

    margin-bottom:110px;

}

.values-heading{

    display:flex;

    justify-content:center;

    margin-bottom:60px;

}

.values-heading span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 26px;

    border-radius:999px;

    background:rgba(118,150,81,.10);

    color:var(--primary-dark);

    font-weight:700;

}


/*==================================================
    VALUES GRID
==================================================*/

.values-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


/*==================================================
    VALUE CARD
==================================================*/

.value-item{

    position:relative;

    display:flex;

    gap:24px;

    align-items:flex-start;

    padding:34px;

    background:#FFFFFF;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(118,150,81,.08);

    transition:

        transform .45s ease,

        box-shadow .45s ease,

        border-color .45s ease;

    box-shadow:

        0 18px 45px rgba(0,0,0,.05);

}

.value-item:hover{

    transform:translateY(-10px);

    border-color:rgba(118,150,81,.18);

    box-shadow:

        0 28px 70px rgba(0,0,0,.08);

}

.value-item::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            145deg,

            rgba(214,240,155,.12),

            transparent 60%

        );

    pointer-events:none;

}


/*==================================================
    VALUE NUMBER
==================================================*/

.value-number{

    flex-shrink:0;

    width:64px;

    height:64px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:#EEF6E4;

    color:var(--primary-dark);

    font-size:1.2rem;

    font-weight:700;

    transition:.4s ease;

}

.value-item:hover .value-number{

    background:var(--primary);

    color:#FFFFFF;

}


/*==================================================
    VALUE CONTENT
==================================================*/

.value-content{

    flex:1;

}

.value-content h3{

    margin:0 0 14px;

    font-size:1.45rem;

    color:var(--secondary);

}

.value-content p{

    margin:0;

    line-height:1.8;

    color:var(--text-light);

}


/*==================================================
    BRAND COMMITMENT
==================================================*/

.brand-commitment{

    position:relative;

    display:grid;

    grid-template-columns:1.3fr .9fr;

    gap:70px;

    align-items:center;

    margin-bottom:100px;

    padding:70px;

    border-radius:40px;

    background:

        linear-gradient(

            135deg,

            #769651,

            #6B8D49

        );

    overflow:hidden;

}

.brand-commitment::before{

    content:"";

    position:absolute;

    right:-120px;

    top:-120px;

    width:340px;

    height:340px;

    border-radius:50%;

    background:rgba(255,255,255,.06);

}

.commitment-content{

    position:relative;

    z-index:2;

}

.commitment-label{

    display:inline-flex;

    padding:10px 20px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    color:#FFFFFF;

    font-weight:600;

    margin-bottom:24px;

}

.commitment-content h3{

    margin:0 0 24px;

    font-size:clamp(2rem,3vw,3rem);

    line-height:1.2;

    color:#FFFFFF;

}

.commitment-content p{

    color:rgba(255,255,255,.82);

    line-height:1.9;

    max-width:620px;

}

.commitment-visual{

    position:relative;

    z-index:2;

    display:flex;

    justify-content:center;

    align-items:center;

}

.commitment-visual img{

    width:100%;

    max-width:340px;

    transition:.45s ease;

}

.brand-commitment:hover .commitment-visual img{

    transform:translateY(-8px) scale(1.03);

}

/*==================================================
    CTA SECTION
==================================================*/

.theme-cta{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;

    padding:60px;

    margin-bottom:60px;

    border-radius:40px;

    background:linear-gradient(
        135deg,
        #FFFFFF,
        #F2F6ED
    );

    overflow:hidden;

    border:1px solid rgba(118,150,81,.08);

    z-index: 99;

}

.theme-cta::before{

    content:"";

    position:absolute;

    width:340px;

    height:340px;

    right:-140px;

    bottom:-160px;

    border-radius:50%;

    background:radial-gradient(

        rgba(118,150,81,.08),

        transparent 72%

    );

}

.theme-cta::after{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    left:-60px;

    top:-60px;

    border-radius:50%;

    background:radial-gradient(

        rgba(214,240,155,.18),

        transparent 70%

    );

}


/*==================================================
    CTA CONTENT
==================================================*/

.theme-cta-content{

    position:relative;

    z-index:2;

    max-width:650px;

}

.theme-cta-content span{

    display:inline-flex;

    align-items:center;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(118,150,81,.10);

    color:var(--primary-dark);

    font-weight:700;

    margin-bottom:22px;

}

.theme-cta-content h3{

    margin:0;

    font-size:clamp(2rem,3vw,3.1rem);

    line-height:1.2;

    color:var(--secondary);

}


/*==================================================
    CTA BUTTONS
==================================================*/

.theme-cta-buttons{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

}

.theme-cta-buttons .btn{

    min-width:210px;

    justify-content:center;

}


/*==================================================
    VALUE CARD MICRO INTERACTIONS
==================================================*/

.value-item{

    cursor:default;

}

.value-item:hover .value-content h3{

    color:var(--primary);

}

.value-item:hover{

    background:#FFFFFF;

}

.value-item:hover::before{

    opacity:1;

}

.value-content h3{

    transition:.35s ease;

}

.value-number{

    position:relative;

    overflow:hidden;

}

.value-number::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        135deg,

        rgba(255,255,255,.28),

        transparent

    );

    opacity:0;

    transition:.35s ease;

}

.value-item:hover .value-number::after{

    opacity:1;

}


/*==================================================
    COMMITMENT INTERACTION
==================================================*/

.brand-commitment{

    transition:

        transform .45s ease,

        box-shadow .45s ease;

}

.brand-commitment:hover{

    transform:translateY(-8px);

    box-shadow:

        0 35px 80px rgba(56,82,43,.18);

}


/*==================================================
    CTA BUTTON HOVER
==================================================*/

.theme-cta-buttons .btn{

    transition:

        transform .35s ease,

        box-shadow .35s ease;

}

.theme-cta-buttons .btn:hover{

    transform:translateY(-4px);

}


/*==================================================
    RESPONSIVE
==================================================*/

@media (max-width:1200px){

    .values-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .brand-commitment{

        gap:45px;

        padding:55px;

    }

}

@media (max-width:991px){

    .strategic-theme-section{

        padding-top:90px;

    }

    .theme-header{

        margin-bottom:70px;

    }

    .values-wrapper{

        margin-bottom:80px;

    }

    .brand-commitment{

        grid-template-columns:1fr;

        text-align:center;

        padding:50px;

    }

    .commitment-content p{

        margin:0 auto;

    }

    .commitment-label{

        margin-left:auto;

        margin-right:auto;

    }

    .theme-cta{

        flex-direction:column;

        align-items:flex-start;

        padding:50px;

    }

}

@media (max-width:767px){

    .strategic-theme-section{

        padding-top:70px;

    }

    .theme-header h2{

        font-size:2rem;

    }

    .values-grid{

        grid-template-columns:1fr;

    }

    .value-item{

        padding:28px;

    }

    .brand-commitment{

        border-radius:30px;

        padding:40px 30px;

    }

    .commitment-content h3{

        font-size:2rem;

    }

    .theme-cta{

        border-radius:30px 30px 0 0;

        padding:40px 30px;

    }

    .theme-cta-content h3{

        font-size:1.9rem;

    }

    .theme-cta-buttons{

        width:100%;

    }

    .theme-cta-buttons .btn{

        width:100%;

        min-width:100%;

    }

}

@media (max-width:480px){

    .theme-header{

        margin-bottom:55px;

    }

    .theme-header h2{

        font-size:1.7rem;

    }

    .value-item{

        gap:18px;

        padding:24px;

    }

    .value-number{

        width:56px;

        height:56px;

        font-size:1rem;

    }

    .value-content h3{

        font-size:1.25rem;

    }

    .brand-commitment{

        padding:35px 24px;

    }

    .theme-cta{

        padding:35px 24px;

    }

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.theme-cta-buttons .btn:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:4px;

}

/*==================================================
    PRODUCT OVERVIEW
==================================================*/

.product-overview{

    padding:150px 0 120px;

    background:#F7F7F4;

}


/*==================================================
    PRODUCT LAYOUT
==================================================*/

.product-layout{

    display:grid;

    grid-template-columns:520px 1fr;

    gap:80px;

    align-items:start;

}


/*==================================================
    PRODUCT GALLERY
==================================================*/

.product-gallery{

    position:sticky;

    top:120px;

}


/*==================================================
    MAIN IMAGE
==================================================*/

.product-main-image{

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:60px;

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.06);

    border-radius:32px;

    overflow:hidden;

}

.product-main-image::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        radial-gradient(

            circle at center,

            rgba(118,150,81,.10),

            transparent 72%

        );

    pointer-events:none;

}

.product-main-image img{

    position:relative;

    z-index:2;

    width:100%;

    max-width:340px;

    transition:.35s ease;

}

.product-main-image:hover img{

    transform:scale(1.03);

}


/*==================================================
    PRODUCT THUMBNAILS
==================================================*/

.product-thumbnails{

    display:flex;

    justify-content:center;

    gap:18px;

    margin-top:28px;

}

/*==================================================
    PRODUCT VARIANTS
==================================================*/

.thumbnail{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    padding:14px;

    width:110px;

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.08);

    border-radius:18px;

    cursor:pointer;

    transition:.30s ease;

}

.thumbnail img{

    width:60px;

    display:block;

}

.thumbnail span{

    font-size:.85rem;

    font-weight:600;

    color:var(--secondary);

}

.thumbnail:hover{

    border-color:var(--primary);

    transform:translateY(-4px);

}

.thumbnail.active{

    border-color:var(--primary);

    background:#EEF6E4;

}

/*==================================================
    PRODUCT IMAGE TRANSITION
==================================================*/

#active-product-image{

    transition:
        opacity .3s ease,
        transform .3s ease;

}

#active-product-image.changing{

    opacity:0;

    transform:scale(.97);

}

/*==================================================
    PRODUCT INFORMATION
==================================================*/

.product-information{

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    min-height:100%;

}

.product-information h1{

    margin:22px 0 16px;

    font-size:clamp(2.8rem,4vw,3.8rem);

    line-height:1.08;

    letter-spacing:-0.03em;

    color:var(--secondary);

}

.product-category{

    display:inline-flex;

    align-self:flex-start;

    margin-bottom:30px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(118,150,81,.10);

    color:var(--primary-dark);

    font-size:.9rem;

    font-weight:600;

}

.product-summary{

    margin:0;

    max-width:640px;

    color:var(--text-light);

    line-height:1.9;

}


/*==================================================
    PRODUCT META
==================================================*/

.product-meta{

    margin-top:42px;

    padding-top:34px;

    border-top:1px solid rgba(0,0,0,.08);

}

.product-meta:first-of-type{

    margin-top:42px;

}

.product-meta h3{

    margin:0 0 22px;

    font-size:1.25rem;

    font-weight:700;

    color:var(--secondary);

}

/*==================================================
    PRODUCT BENEFITS
==================================================*/

.product-list{

    margin:0;

    padding:0;

    list-style:none;

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:16px 28px;

}

.product-list li{

    position:relative;

    padding-left:30px;

    line-height:1.8;

    color:var(--text-light);

}

.product-list li::before{

    content:"";

    position:absolute;

    left:0;

    top:10px;

    width:10px;

    height:10px;

    border-radius:50%;

    background:var(--primary);

    box-shadow:0 0 0 5px rgba(118,150,81,.12);

}


/*==================================================
    PRODUCT TAGS
==================================================*/

.product-tags{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}

.product-tags span{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 18px;

    border-radius:999px;

    background:#FFFFFF;

    border:1px solid rgba(118,150,81,.12);

    color:var(--secondary);

    font-size:.95rem;

    font-weight:500;

    transition:.30s ease;

}

.product-tags span:hover{

    border-color:var(--primary);

    color:var(--primary-dark);

    background:#EEF6E4;

}


/*==================================================
    PRODUCT ACTIONS
==================================================*/

.product-actions{

    margin-top:48px;

}

/*==================================================
    PRODUCT DESCRIPTION
==================================================*/

.product-description{

    margin-top:120px;

    padding:70px;

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.06);

    border-radius:32px;

    overflow:hidden;

    position:relative;

}

.product-description::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:6px;

    height:100%;

    background:linear-gradient(

        to bottom,

        var(--primary),

        #D6F09B

    );

}


/*==================================================
    DESCRIPTION HEADER
==================================================*/

.description-header{

    max-width:760px;

    margin-bottom:42px;

}

.description-header h2{

    margin:22px 0 0;

    font-size:clamp(2rem,3vw,2.8rem);

    line-height:1.2;

    letter-spacing:-0.02em;

    color:var(--secondary);

}


/*==================================================
    DESCRIPTION CONTENT
==================================================*/

.description-content{

    display:flex;

    flex-direction: column;

    gap:60px;

}

.description-content p{

    margin:0;

    color:var(--text-light);

    line-height:2;

    text-align:justify;

}

/*==================================================
    MICRO INTERACTIONS
==================================================*/

.product-main-image,

.thumbnail,

.product-tags span,

.product-description{

    transition:all .35s ease;

}

.product-description:hover{

    border-color:rgba(118,150,81,.18);

    box-shadow:0 24px 60px rgba(0,0,0,.05);

}

.product-main-image:hover{

    box-shadow:0 24px 60px rgba(0,0,0,.05);

}

.thumbnail:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:3px;

}

.product-actions .btn{

    min-width:190px;

}


/*==================================================
    TEXT SELECTION
==================================================*/

.product-information ::selection,

.product-description ::selection{

    background:rgba(118,150,81,.18);

    color:var(--secondary);

}

/*==================================================
    PRODUCT PAGE RESPONSIVE
==================================================*/

@media (max-width:1200px){

    .product-layout{

        grid-template-columns:450px 1fr;

        gap:60px;

    }

    .product-information h1{

        font-size:3.2rem;

    }

    .product-main-image{

        padding:50px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .product-overview{

        padding:140px 0 100px;

    }

    .product-layout{

        grid-template-columns:1fr;

        gap:60px;

    }

    .product-gallery{

        position:relative;

        top:auto;

        max-width:600px;

        margin:0 auto;

    }

    .product-information{

        max-width:100%;

    }

    .product-information h1{

        font-size:2.8rem;

    }

    .product-summary{

        max-width:100%;

    }

    .product-list{

        grid-template-columns:1fr 1fr;

        gap:18px;

    }

    .description-content{

        grid-template-columns:1fr;

        gap:30px;

    }

    .product-description{

        margin-top:90px;

        padding:55px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .product-overview{

        padding:140px 0 80px;

    }

    .product-layout{

        gap:45px;

    }

    .product-main-image{

        padding:35px;

        border-radius:24px;

    }

    .product-main-image img{

        max-width:240px;

    }

    .product-thumbnails{

        gap:14px;

        margin-top:22px;

    }

    .thumbnail{

        width:92px;

        padding:12px;

    }

    .thumbnail img{

        width:50px;

    }

    .thumbnail span{

        font-size:.8rem;

    }

    .product-information h1{

        font-size:2.2rem;

        line-height:1.15;

    }

    .product-category{

        margin-bottom:24px;

    }

    .product-summary{

        line-height:1.8;

    }

    .product-meta{

        margin-top:34px;

        padding-top:28px;

    }

    .product-list{

        grid-template-columns:1fr;

        gap:16px;

    }

    .product-tags{

        gap:10px;

    }

    .product-tags span{

        padding:10px 16px;

        font-size:.9rem;

    }

    .product-actions{

        margin-top:36px;

    }

    .product-actions .btn{

        width:100%;

        justify-content:center;

    }

    .product-description{

        margin-top:70px;

        padding:40px 30px;

        border-radius:24px;

    }

    .description-header{

        margin-bottom:30px;

    }

    .description-header h2{

        font-size:2rem;

    }

    .description-content{

        gap:24px;

    }

    .description-content p{

        text-align:left;

        line-height:1.9;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .product-overview{

        padding:120px 0 70px;

    }

    .product-main-image{

        padding:28px;

    }

    .product-main-image img{

        max-width:200px;

    }

    .product-thumbnails{

        justify-content:center;

        flex-wrap:wrap;

    }

    .thumbnail{

        width:84px;

        padding:10px;

    }

    .thumbnail img{

        width:44px;

    }

    .product-information h1{

        font-size:1.9rem;

    }

    .product-category{

        padding:8px 14px;

        font-size:.85rem;

    }

    .product-summary{

        font-size:.95rem;

    }

    .product-meta h3{

        font-size:1.1rem;

    }

    .product-list li{

        padding-left:24px;

        font-size:.95rem;

    }

    .product-tags span{

        width:100%;

        justify-content:center;

    }

    .product-description{

        padding:30px 24px;

    }

    .description-header h2{

        font-size:1.75rem;

    }

}

/*==================================================
    CONTACT SECTION
==================================================*/

.contact-section{

    padding:180px 0 120px;

    background:#F7F7F4;

}


/*==================================================
    CONTACT INTRO
==================================================*/

.contact-intro{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.contact-intro h2{

    margin:22px 0 20px;

    font-size:clamp(2.5rem,4vw,3.4rem);

    line-height:1.15;

    letter-spacing:-0.02em;

    color:var(--secondary);

}

.contact-intro p{

    max-width:680px;

    margin:0 auto;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    CONTACT GRID
==================================================*/

.contact-grid{

    display:grid;

    grid-template-columns:480px 1fr;

    gap:60px;

    align-items:start;

}

/*==================================================
    CONTACT INFORMATION
==================================================*/

.contact-information{

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.06);

    border-radius:28px;

    overflow:hidden;

}


/*==================================================
    CONTACT ITEM
==================================================*/

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:30px;

}

.contact-item:not(:last-child){

    border-bottom:1px solid rgba(0,0,0,.06);

}


/*==================================================
    ICON
==================================================*/

.contact-icon{

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:18px;

    background:#EEF6E4;

}

.contact-icon img{

    width:24px;

    display:block;

}


/*==================================================
    CONTENT
==================================================*/

.contact-content h3{

    margin:0 0 10px;

    font-size:1.1rem;

    color:var(--secondary);

}

.contact-content p{

    margin:0;

    line-height:1.8;

    color:var(--text-light);

}

.contact-content a{

    color:var(--secondary);

    font-weight:600;

    transition:.3s ease;

}

.contact-content a:hover{

    color:var(--primary);

}

/*==================================================
    CONTACT FORM
==================================================*/

.contact-form-wrapper{

    background:#FFFFFF;

    border:1px solid rgba(0,0,0,.06);

    border-radius:28px;

    padding:48px;

}

.contact-form{

    display:flex;

    flex-direction:column;

    gap:26px;

}


/*==================================================
    FORM ROW
==================================================*/

.form-row{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:24px;

}


/*==================================================
    FORM GROUP
==================================================*/

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:12px;

    font-size:.95rem;

    font-weight:600;

    color:var(--secondary);

}


/*==================================================
    INPUTS
==================================================*/

.contact-form input,
.contact-form select,
.contact-form textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid rgba(0,0,0,.10);

    border-radius:14px;

    background:#FFFFFF;

    color:var(--secondary);

    font-family:inherit;

    font-size:1rem;

    transition:.30s ease;

    appearance:none;

}

.contact-form textarea{

    resize:vertical;

    min-height:170px;

}

.contact-form input::placeholder,
.contact-form textarea::placeholder{

    color:#8A8A8A;

}


/*==================================================
    SELECT
==================================================*/

.contact-form select{

    cursor:pointer;

}


/*==================================================
    FOCUS
==================================================*/

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(118,150,81,.10);

}


/*==================================================
    BUTTON
==================================================*/

.contact-form .btn{

    align-self:flex-start;

    margin-top:8px;

    min-width:220px;

}

/*==================================================
    FORM VALIDATION
==================================================*/

.form-group{
    position:relative;
}

.form-error{
    display:none;

    margin-top:8px;

    font-size:.82rem;
    line-height:1.45;

    color:#C84A4A;
}

.form-group.has-error .form-error{
    display:block;
}

.contact-form input.is-invalid,
.contact-form select.is-invalid,
.contact-form textarea.is-invalid{
    border-color:#C84A4A;

    box-shadow:
        0 0 0 4px rgba(200,74,74,.08);
}

.contact-form input.is-valid,
.contact-form select.is-valid,
.contact-form textarea.is-valid{
    border-color:var(--primary);
}

.form-success{
    display:none;

    margin-top:24px;
    padding:18px 20px;

    border-radius:14px;

    background:#EEF5E6;
    border:1px solid rgba(118,150,81,.18);

    color:var(--secondary);

    font-size:.95rem;
    line-height:1.6;
}

.form-success.show{
    display:block;

    animation:
        formSuccessIn .4s ease both;
}

@keyframes formSuccessIn{

    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.contact-form .btn:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none;
}

/*==================================================
    RESPONSE PROMISE
==================================================*/

.response-promise{

    display:flex;

    align-items:center;

    gap:28px;

    margin-top:80px;

    padding:34px 40px;

    background:#EEF6E4;

    border:1px solid rgba(118,150,81,.12);

    border-radius:24px;

}

.promise-icon{

    width:74px;

    height:74px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    border-radius:20px;

    background:#FFFFFF;

}

.promise-icon img{

    width:34px;

    display:block;

}

.promise-content h3{

    margin:0 0 10px;

    font-size:1.45rem;

    color:var(--secondary);

}

.promise-content p{

    margin:0;

    max-width:760px;

    line-height:1.9;

    color:var(--text-light);

}


/*==================================================
    GOOGLE MAP
==================================================*/

.contact-map{

    margin-top:70px;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(0,0,0,.06);

}

.contact-map iframe{

    display:block;

    width:100%;

    height:460px;

    border:0;

}


/*==================================================
    MICRO INTERACTIONS
==================================================*/

.contact-information,
.contact-form-wrapper,
.response-promise,
.contact-map{

    transition:.35s ease;

}

.contact-information:hover,
.contact-form-wrapper:hover{

    box-shadow:0 24px 60px rgba(0,0,0,.05);

}

.contact-item{

    transition:.30s ease;

}

.contact-item:hover{

    background:#FAFAF7;

}

.contact-icon{

    transition:.30s ease;

}

.contact-item:hover .contact-icon{

    background:rgba(118,150,81,.18);

}

.response-promise:hover{

    border-color:rgba(118,150,81,.25);

    box-shadow:0 20px 50px rgba(0,0,0,.05);

}

.contact-map:hover{

    box-shadow:0 24px 60px rgba(0,0,0,.05);

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.contact-form input:focus-visible,
.contact-form select:focus-visible,
.contact-form textarea:focus-visible,
.contact-form button:focus-visible{

    outline:2px solid var(--primary);

    outline-offset:3px;

}

/*==================================================
    CONTACT PAGE RESPONSIVE
==================================================*/

@media (max-width:1200px){

    .contact-grid{

        grid-template-columns:340px 1fr;

        gap:50px;

    }

    .contact-form-wrapper{

        padding:40px;

    }

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .contact-section{

        padding:140px 0 100px;

    }

    .contact-intro{

        margin-bottom:55px;

    }

    .contact-grid{

        grid-template-columns:1fr;

        gap:40px;

    }

    .contact-information{

        order:2;

    }

    .contact-form-wrapper{

        order:1;

    }

    .form-row{

        grid-template-columns:1fr;

        gap:24px;

    }

    .response-promise{

        margin-top:60px;

        padding:32px;

    }

    .contact-map{

        margin-top:50px;

    }

    .contact-map iframe{

        height:400px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .contact-section{

        padding:140px 0 80px;

    }

    .contact-intro{

        margin-bottom:45px;

    }

    .contact-intro h2{

        font-size:2.2rem;

    }

    .contact-information{

        border-radius:22px;

    }

    .contact-item{

        padding:24px;

        gap:18px;

    }

    .contact-icon{

        width:52px;

        height:52px;

        border-radius:16px;

    }

    .contact-icon img{

        width:22px;

    }

    .contact-form-wrapper{

        padding:30px 24px;

        border-radius:22px;

    }

    .contact-form{

        gap:22px;

    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{

        padding:15px 16px;

    }

    .contact-form textarea{

        min-height:150px;

    }

    .contact-form .btn{

        width:100%;

        justify-content:center;

    }

    .response-promise{

        flex-direction:column;

        align-items:flex-start;

        gap:22px;

        padding:28px 24px;

        border-radius:22px;

    }

    .promise-icon{

        width:64px;

        height:64px;

    }

    .promise-icon img{

        width:28px;

    }

    .promise-content h3{

        font-size:1.3rem;

    }

    .contact-map{

        border-radius:22px;

    }

    .contact-map iframe{

        height:340px;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .contact-section{

        padding:120px 0 70px;

    }

    .contact-intro h2{

        font-size:1.9rem;

    }

    .contact-intro p{

        font-size:.95rem;

    }

    .contact-item{

        flex-direction:column;

        gap:16px;

        padding:22px;

    }

    .contact-icon{

        width:48px;

        height:48px;

        border-radius:14px;

    }

    .contact-icon img{

        width:20px;

    }

    .contact-content h3{

        font-size:1rem;

    }

    .contact-content p,

    .contact-content a{

        font-size:.95rem;

    }

    .contact-form-wrapper{

        padding:24px 20px;

    }

    .form-group label{

        font-size:.9rem;

    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{

        font-size:.95rem;

    }

    .response-promise{

        padding:24px 20px;

    }

    .promise-content h3{

        font-size:1.15rem;

    }

    .promise-content p{

        font-size:.95rem;

        line-height:1.8;

    }

    .contact-map iframe{

        height:300px;

    }

}

/*==================================================
    FLOATING WHATSAPP BUTTON
==================================================*/

.floating-whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    z-index:9999;

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#25D366;

    color:#FFFFFF;

    text-decoration:none;

    box-shadow:0 12px 30px rgba(0,0,0,.18);

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


/*==================================================
    WHATSAPP ICON
==================================================*/

.floating-whatsapp i{

    font-size:28px;

    line-height:1;

}


/*==================================================
    HOVER EFFECT
==================================================*/

.floating-whatsapp:hover{

    transform:translateY(-5px) scale(1.04);

    box-shadow:0 18px 40px rgba(0,0,0,.25);

}


/*==================================================
    TOOLTIP
==================================================*/

.whatsapp-tooltip{

    position:absolute;

    right:72px;

    top:50%;

    transform:translateY(-50%);

    padding:10px 16px;

    border-radius:10px;

    background:#FFFFFF;

    color:var(--secondary);

    font-size:.85rem;

    font-weight:600;

    white-space:nowrap;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transition:.3s ease;

}


/*==================================================
    TOOLTIP ARROW
==================================================*/

.whatsapp-tooltip::after{

    content:"";

    position:absolute;

    top:50%;

    right:-6px;

    width:12px;

    height:12px;

    background:#FFFFFF;

    transform:translateY(-50%) rotate(45deg);

}


/*==================================================
    SHOW TOOLTIP
==================================================*/

.floating-whatsapp:hover .whatsapp-tooltip{

    opacity:1;

    visibility:visible;

}


/*==================================================
    ACCESSIBILITY
==================================================*/

.floating-whatsapp:focus-visible{

    outline:3px solid var(--primary);

    outline-offset:4px;

}


/*==================================================
    TABLET
==================================================*/

@media (max-width:991px){

    .floating-whatsapp{

        right:24px;

        bottom:24px;

        width:56px;

        height:56px;

    }

}


/*==================================================
    MOBILE
==================================================*/

@media (max-width:767px){

    .floating-whatsapp{

        right:18px;

        bottom:18px;

        width:54px;

        height:54px;

    }

    .floating-whatsapp i{

        font-size:26px;

    }

    .whatsapp-tooltip{

        display:none;

    }

}


/*==================================================
    SMALL MOBILE
==================================================*/

@media (max-width:480px){

    .floating-whatsapp{

        right:15px;

        bottom:15px;

        width:50px;

        height:50px;

    }

    .floating-whatsapp i{

        font-size:24px;

    }

}

/*==================================================
    FEEDBACK SECTION
==================================================*/

.feedback-section{

    padding:120px 0;

    background:var(--primary-light);

}

.feedback-wrapper{

    max-width:900px;

    margin:auto;

}

.feedback-content{

    text-align:center;

    max-width:720px;

    margin:0 auto 50px;

}

.feedback-content h2{

    margin:20px 0;

    color:var(--secondary);

    font-size:clamp(2rem,4vw,3rem);

    line-height:1.15;

}

.feedback-content p{

    color:var(--text-light);

    line-height:1.9;

}

.feedback-form-card{

    background:#FFFFFF;

    border-radius:28px;

    padding:42px;

    border:1px solid rgba(118,150,81,.10);

    box-shadow:
    0 20px 50px rgba(0,0,0,.05);

}

.feedback-form{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.feedback-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.feedback-form .form-group{

    display:flex;

    flex-direction:column;

}

.feedback-form label{

    margin-bottom:10px;

    font-size:.95rem;

    font-weight:600;

    color:var(--secondary);

}

.feedback-form input,
.feedback-form select,
.feedback-form textarea{

    width:100%;

    padding:16px 18px;

    border-radius:14px;

    border:1px solid rgba(0,0,0,.10);

    background:#FFFFFF;

    font:inherit;

    color:var(--secondary);

    transition:.3s ease;

}

.feedback-form textarea{

    min-height:180px;

    resize:vertical;

}

.feedback-form input:focus,
.feedback-form select:focus,
.feedback-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:
    0 0 0 4px rgba(118,150,81,.10);

}

.feedback-form .btn{

    align-self:flex-start;

    min-width:220px;

}

.feedback-success{

    display:none;

    padding:16px 20px;

    border-radius:14px;

    background:#EEF5E6;

    border:1px solid rgba(118,150,81,.16);

    color:var(--secondary);

    line-height:1.6;

}

.feedback-success.show{

    display:block;

}

@media (max-width:767px){

    .feedback-section{

        padding:90px 0;

    }

    .feedback-form-card{

        padding:28px;

    }

    .feedback-row{

        grid-template-columns:1fr;

    }

}

/*==================================================
    POLICY PAGES
==================================================*/

.policy-page{
    background:#F8F8F5;
    color:var(--secondary);
}


/*==================================================
    POLICY HERO
==================================================*/

.policy-hero{
    position:relative;
    padding:180px 0 105px;
    overflow:hidden;
    background:
        linear-gradient(
            135deg,
            #EEF5E6 0%,
            #F8F8F5 55%,
            #F3F7EF 100%
        );
}

.policy-hero::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    top:-280px;
    right:-180px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(118,150,81,.14),
            transparent 70%
        );
    pointer-events:none;
}

.policy-hero::after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    bottom:-240px;
    left:-160px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(118,150,81,.08),
            transparent 70%
        );
    pointer-events:none;
}

.policy-hero-content{
    position:relative;
    z-index:1;
    max-width:850px;
    margin:auto;
    text-align:center;
}

.policy-hero .section-tag{
    margin:0 auto;
}

.policy-hero h1{
    margin:22px 0 22px;
    font-size:clamp(2.5rem,5vw,4.2rem);
    line-height:1.08;
    letter-spacing:-1.5px;
    color:var(--secondary);
}

.policy-hero p{
    max-width:720px;
    margin:0 auto;
    color:var(--text-light);
    font-size:1rem;
    line-height:1.85;
}

.policy-meta{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:28px;
    color:#727A70;
    font-size:.82rem;
}

.policy-meta span{
    display:inline-flex;
    align-items:center;
    gap:7px;
}

.policy-meta span + span::before{
    content:"";
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--primary);
}


/*==================================================
    POLICY CONTENT
==================================================*/

.policy-content-section{
    padding:90px 0 120px;
}

.policy-layout{
    display:grid;
    grid-template-columns:240px minmax(0,820px);
    gap:70px;
    align-items:start;
    max-width:1120px;
    margin:auto;
}


/*==================================================
    POLICY NAVIGATION
==================================================*/

.policy-sidebar{
    position:sticky;
    top:120px;
}

.policy-sidebar-label{
    display:block;
    margin-bottom:18px;
    color:#7C8379;
    font-size:.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1.8px;
}

.policy-sidebar ul{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}

.policy-sidebar a{
    display:block;
    padding:10px 14px;
    border-left:2px solid transparent;
    color:#6D756A;
    font-size:.85rem;
    line-height:1.45;
    transition:.3s ease;
}

.policy-sidebar a:hover{
    color:var(--secondary);
    border-color:var(--primary);
    background:rgba(118,150,81,.06);
}


/*==================================================
    POLICY ARTICLE
==================================================*/

.policy-article{
    min-width:0;
}

.policy-intro{
    margin-bottom:50px;
    padding:28px 30px;
    border:1px solid rgba(118,150,81,.12);
    border-radius:20px;
    background:#EEF5E6;
}

.policy-intro p{
    margin:0;
    color:#536050;
    line-height:1.85;
}

.policy-section{
    padding:0 0 46px;
    margin-bottom:46px;
    border-bottom:1px solid rgba(0,0,0,.07);
    scroll-margin-top:120px;
}

.policy-section:last-child{
    margin-bottom:0;
    border-bottom:0;
}

.policy-section h2{
    margin:0 0 18px;
    color:var(--secondary);
    font-size:1.55rem;
    line-height:1.3;
}

.policy-section h3{
    margin:28px 0 12px;
    color:var(--secondary);
    font-size:1.05rem;
    line-height:1.4;
}

.policy-section p{
    margin:0 0 16px;
    color:var(--text-light);
    line-height:1.9;
}

.policy-section p:last-child{
    margin-bottom:0;
}

.policy-section ul,
.policy-section ol{
    margin:18px 0 0;
    padding-left:22px;
}

.policy-section li{
    margin-bottom:11px;
    padding-left:5px;
    color:var(--text-light);
    line-height:1.8;
}

.policy-section li:last-child{
    margin-bottom:0;
}

.policy-section strong{
    color:var(--secondary);
    font-weight:700;
}

.policy-note{
    margin-top:22px;
    padding:20px 22px;
    border-left:3px solid var(--primary);
    border-radius:0 14px 14px 0;
    background:#F4F8EF;
}

.policy-note p{
    margin:0;
    font-size:.9rem;
}


/*==================================================
    POLICY TABLE
==================================================*/

.policy-table-wrapper{
    width:100%;
    margin:22px 0;
    overflow-x:auto;
    border:1px solid rgba(0,0,0,.07);
    border-radius:16px;
    background:#FFFFFF;
}

.policy-table{
    width:100%;
    min-width:620px;
    border-collapse:collapse;
}

.policy-table th,
.policy-table td{
    padding:16px 18px;
    text-align:left;
    vertical-align:top;
    border-bottom:1px solid rgba(0,0,0,.07);
    font-size:.88rem;
    line-height:1.7;
}

.policy-table th{
    background:#EEF5E6;
    color:var(--secondary);
    font-weight:700;
}

.policy-table td{
    color:var(--text-light);
}

.policy-table tr:last-child td{
    border-bottom:0;
}


/*==================================================
    CONTACT BOX
==================================================*/

.policy-contact{
    margin-top:24px;
    padding:28px;
    border-radius:20px;
    background:
        linear-gradient(
            135deg,
            #2F4D31,
            #203A22
        );
    color:#FFFFFF;
}

.policy-contact h3{
    margin:0 0 10px;
    color:#FFFFFF;
    font-size:1.15rem;
}

.policy-contact p{
    margin:0 0 16px;
    color:rgba(255,255,255,.75);
    line-height:1.8;
}

.policy-contact a{
    color:#D6F09B;
    font-weight:600;
    transition:.3s ease;
}

.policy-contact a:hover{
    color:#FFFFFF;
}


/*==================================================
    RESPONSIVE
==================================================*/

@media(max-width:991px){

    .policy-hero{
        padding:165px 0 85px;
    }

    .policy-layout{
        grid-template-columns:1fr;
        gap:45px;
        max-width:820px;
    }

    .policy-sidebar{
        position:static;
    }

    .policy-sidebar ul{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .policy-sidebar a{
        border-left:0;
        border-bottom:2px solid transparent;
    }

    .policy-sidebar a:hover{
        border-color:var(--primary);
    }

}

@media(max-width:767px){

    .policy-hero{
        padding:145px 0 75px;
    }

    .policy-hero h1{
        letter-spacing:-.8px;
    }

    .policy-hero p{
        font-size:.92rem;
    }

    .policy-meta{
        flex-direction:column;
        gap:6px;
    }

    .policy-meta span + span::before{
        display:none;
    }

    .policy-content-section{
        padding:65px 0 85px;
    }

    .policy-sidebar{
        display: none;
    }

    .policy-sidebar ul{
        grid-template-columns:1fr 1fr;
    }

    .policy-section{
        padding-bottom:38px;
        margin-bottom:38px;
    }

    .policy-section h2{
        font-size:1.35rem;
    }

    .policy-intro{
        padding:22px;
        margin-bottom:40px;
    }

    .policy-contact{
        padding:24px;
    }

}

@media(max-width:575px){

    .policy-hero{
        padding:130px 0 65px;
    }

    .policy-hero h1{
        font-size:2.25rem;
    }

    .policy-sidebar ul{
        grid-template-columns:1fr;
    }

    .policy-content-section{
        padding:55px 0 70px;
    }

    .policy-section p,
    .policy-section li{
        font-size:.92rem;
        line-height:1.8;
    }

    .policy-intro{
        border-radius:16px;
    }

}