/* ================= GLOBAL STYLES ================= */
html,
body {
    margin:0;
    padding:0;
    height:100%;
}

html {
    scroll-padding-top: 0;
}

html.snap {
    scroll-snap-type:y mandatory;
}

:root {
    /* Brand colors extracted from `assets/img/logo.png` */
    --brand-500: #A0E000;
    --brand-600: #60B000;
    --brand-700: #587B00;
    --brand-800: #384E00;
    --brand-900: #202D00;

    --surface-900: #060707;
    --text-900: #1d1b16;
    --sand-200: #eff7d2;
}

body {
    font-family:Segoe UI, sans-serif;
    color:#333;
}

#vision,
#values,
#philosophy {
    scroll-margin-top: calc(var(--header-height) + 16px);
}

.container {
    width:90%;
    max-width:1100px;
    margin:auto;
}

.muted {
    color:#6b7280;
    font-size:14px;
}

/* ================= HERO SECTION ================= */
.hero,
.section,
.news-slider,
.news-slides,
.news-inner {
    box-sizing:border-box;
}

.hero {
    height:100vh;
    height:100svh;
    background:linear-gradient(135deg, var(--brand-900), var(--brand-600));
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:white;
   /* border-bottom-left-radius:50% 15%;
    border-bottom-right-radius:50% 15%;*/
    scroll-snap-align:start;
    scroll-snap-stop:always;
    padding-top:var(--header-height);
}

.hero-content {
    max-width:780px;
    padding:0 16px 110px 0px;
    position:relative;
    z-index:2;
}

.hero--video .hero-video {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.hero--video .hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(244, 255, 245, 0), rgba(102,187,106,.0));
    z-index:1;
}

@media (prefers-reduced-motion: reduce) {
    .hero--video .hero-video {
        display:none;
    }
}

.btn {
    display:inline-block;
    margin-top:18px;
    padding:12px 18px;
    background:white;
    color:var(--brand-800);
    text-decoration:none;
    border-radius:999px;
    font-weight:700;
}

/* ================= SECTIONS ================= */
.section {
    height:100vh;
    height:100svh;
    padding:calc(var(--header-height) + 28px) 0 28px;
    text-align:center;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}

.section-footer {
    text-align:center;
    scroll-snap-align:start;
    scroll-snap-stop:always;
}

.section.news {
    padding:0;
    background:#0b0f12;
    color:#fff;
}

.section.story {
    position:relative;
    padding:0;
    background:
        radial-gradient(1200px 700px at 20% 10%, rgba(255,255,255,.10), rgba(255,255,255,0)),
        linear-gradient(120deg, rgba(18,36,26,.65), rgba(0,0,0,.45));
    background-size:cover;
    background-position:center;
    color:#fff;
    overflow:hidden;
}

.story-bg-slideshow {
    position:absolute;
    inset:0;
    z-index:0;
}

.story-bg-slideshow img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .7s ease;
}

.story-bg-slideshow img.active {
    opacity:1;
}

.story-overlay {
    position:absolute;
    inset:0;
    background:
        linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,.20)),
        linear-gradient(120deg, rgba(18,36,26,.55), rgba(0,0,0,.40));
    z-index:1;
}

.story-content {
    position:relative;
    z-index:2;
    height:100%;
    padding:calc(var(--header-height) + 36px) 0 36px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
}

.story-content h2 {
    margin:0 0 26px;
    font-size:34px;
    text-shadow:0 10px 30px rgba(0,0,0,.45);
}

.story-tiles {
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    justify-content:center;
    align-items:stretch;
    max-width:860px;
}

.story-tile {
    position:relative;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    padding:18px;
    height:210px;
    border-radius:18px;
    text-decoration:none;
    color:#fff;
    background:transparent;
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 18px 42px rgba(0,0,0,.32);
    overflow:hidden;
}

.story-tile-bg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.story-tile::before {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,.18)),
        linear-gradient(120deg, rgba(0,0,0,.20), rgba(0,0,0,.35));
    z-index:1;
}

.story-tile::after {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.08);
    opacity:0;
    transition:opacity .25s ease;
    z-index:2;
}

.story-tile:hover::after {
    opacity:1;
}

.story-tile span {
    position:relative;
    z-index:3;
    font-weight:800;
    font-size:16px;
    line-height:1.25;
    text-shadow:0 8px 22px rgba(0,0,0,.45);
}

.story-desc {
    max-width:820px;
    margin:26px auto 0;
    font-size:14px;
    line-height:1.9;
    font-style:italic;
    text-align:center;
    color:rgba(255,255,255,.92);
    text-shadow:0 10px 28px rgba(0,0,0,.35);
}

@media (max-width: 900px) {
    .story-content h2 { font-size:28px; }
    .story-tiles { max-width:760px; gap:16px; }
    .story-tile { height:190px; }
}

@media (max-width: 700px) {
    .story-tiles { grid-template-columns:1fr; max-width:520px; }
    .story-tile { height:170px; }
}

/* ================= NEWS SLIDER ================= */
.news-slider {
    position:relative;
    height:100vh;
    height:100svh;
}

.news-top {
    position:absolute;
    left:0;
    right:0;
    top:0;
    z-index:3;
    padding-top:calc(var(--header-height) + 18px);
    padding-bottom:18px;
    background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
}

.news-top-inner {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}

.news-top h2 {
    margin:0;
    font-size:24px;
    letter-spacing:.2px;
    text-shadow:0 8px 24px rgba(0,0,0,.45);
}

.news-controls {
    display:flex;
    align-items:center;
    gap:10px;
}

.news-btn {
    width:44px;
    height:44px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.35);
    background:rgba(0,0,0,.25);
    color:#fff;
    cursor:pointer;
    font-size:24px;
    line-height:1;
}

.news-btn:hover {
    background:rgba(0,0,0,.4);
}

.news-count {
    min-width:64px;
    text-align:center;
    padding:8px 10px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(0,0,0,.25);
    font-weight:700;
}

.news-slides {
    position:relative;
    height:100vh;
    height:100svh;
    overflow:hidden;
}

.news-slide {
    position:absolute;
    inset:0;
    background:
        linear-gradient(120deg, rgba(18,36,26,.65), rgba(0,0,0,.35)),
        linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.15));
    background-size:cover;
    background-position:center;
    opacity:0;
    transform:scale(1.02);
    transition:opacity .55s ease, transform .55s ease;
}

.news-slide.is-active {
    opacity:1;
    transform:scale(1);
}

.news-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(to right, rgba(0,0,0,.25), rgba(0,0,0,.15) 45%, rgba(0,0,0,.55));
}

.news-inner {
    position:relative;
    height:100vh;
    height:100svh;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    padding-top:var(--header-height);
}

.news-panel {
    width:min(520px, 92%);
    background:rgba(10, 14, 18, .65);
    border:1px solid rgba(255,255,255,.18);
    box-shadow:0 16px 40px rgba(0,0,0,.35);
    border-radius:12px;
    padding:24px 22px;
    text-align:center;
    backdrop-filter: blur(6px);
}

.news-panel h3 {
    margin:0 0 10px;
    font-size:36px;
    line-height:1.05;
}

.news-panel p {
    margin:0;
    font-size:14px;
    line-height:1.8;
    opacity:.95;
}

.news-more {
    display:inline-block;
    margin-top:16px;
    color:#6ee7b7;
    text-decoration:none;
    font-weight:800;
}

.news-more:hover {
    text-decoration:underline;
}

@media (max-width: 800px) {
    .news-top-inner { align-items:center; }
    .news-panel h3 { font-size:28px; }
    .news-panel { text-align:left; }
}

/* ================= BACKGROUND & GRID ================= */
.bg-light {
    background:#f4fdf6;
}

.bg-green {
    background:var(--brand-800);
    color:white;
}

.grid-2 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
    text-align:left;
}

.grid-2 h2,
.grid-2 h3,
.grid-2 p,
.grid-2 ul {
    margin-top:0;
}

.grid-3 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.card {
    background:white;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

.bg-green .card {
    color:#333;
}

/* ================= CONTACT FORM ================= */
.contact-form {
    display:flex;
    flex-direction:column;
    gap:15px;
    max-width:500px;
    margin:auto;
}

.contact-form input,
.contact-form textarea {
    padding:12px;
    border:1px solid #ccc;
    border-radius:8px;
}

.contact-form button {
    padding:12px;
    background:var(--brand-700);
    color:white;
    border:none;
    border-radius:8px;
    cursor:pointer;
}

.alert {
    max-width:700px;
    margin:0 auto 18px;
    padding:12px 14px;
    border-radius:10px;
    border:1px solid transparent;
    text-align:left;
}

.alert-success {
    background:#e8f5e9;
    border-color:#a5d6a7;
    color:var(--brand-800);
}

.alert-error {
    background:#ffebee;
    border-color:#ef9a9a;
    color:#b71c1c;
}

/* ================= FOOTER ================= */
.site-footer {
    padding:72px 0 44px;
    color:rgba(255,255,255,0.88);
    background:
        radial-gradient(1200px 700px at 20% 20%, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        radial-gradient(900px 600px at 85% 30%, rgba(160,224,0,0.18), rgba(160,224,0,0)),
        linear-gradient(135deg, #061204, var(--brand-900) 55%, #040802);
}

.footer-grid {
    display:grid;
    grid-template-columns: 1.15fr 1.15fr 1fr;
    gap:28px;
    align-items:start;
}

.footer-title {
    margin:0 0 12px;
    font-size:12px;
    font-weight:900;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#fff;
}

.footer-line {
    height:1px;
    width:100%;
    background:rgba(255,255,255,0.24);
    margin-bottom:18px;
}

.footer-contact {
    display:flex;
    flex-direction:column;
    gap:10px;
    font-size:14px;
    line-height:1.7;
}

.footer-k {
    display:inline-block;
    width:20px;
    color:rgba(255,255,255,0.72);
    font-weight:800;
}

.footer-address {
    margin-top:4px;
    color:rgba(255,255,255,0.78);
}

.footer-link {
    color:rgba(255,255,255,0.88);
    text-decoration:none;
    text-underline-offset:5px;
}

.footer-link:hover,
.footer-link:focus {
    color:#fff;
    text-decoration:underline;
}

.footer-social {
    display:flex;
    gap:10px;
    margin:18px 0 24px;
}

.footer-social-btn {
    width:36px;
    height:36px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.08);
    display:grid;
    place-items:center;
    transition:transform 0.15s ease, background 0.15s ease;
}

.footer-social-btn:hover {
    background:rgba(255,255,255,0.12);
    transform:translateY(-1px);
}

.footer-social-btn svg {
    width:18px;
    height:18px;
    fill:#fff;
    opacity:0.92;
}

.footer-brand {
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:8px;
}

.footer-logo {
    width: 100px;
    height:100px;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 10px 24px rgba(0,0,0,0.35));
}

.footer-brand-name {
    font-size:22px;
    font-weight:950;
    letter-spacing:0.12em;
    color:#fff;
    line-height:1.05;
}

.footer-brand-sub {
    font-size:11px;
    font-weight:850;
    letter-spacing:0.18em;
    color:rgba(255,255,255,0.82);
    margin-top:3px;
}

.footer-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.footer-links ul {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.footer-badges {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}

.footer-badge {
    width:56px;
    height:56px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.16);
    background:rgba(255,255,255,0.06);
    display:grid;
    place-items:center;
    font-weight:900;
    letter-spacing:0.12em;
    color:rgba(255,255,255,0.86);
    font-size:12px;
    user-select:none;
}

.footer-copy {
    margin-top:44px;
    text-align:center;
    color:rgba(255,255,255,0.72);
    font-size:12.5px;
    line-height:1.65;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns:1fr;
    }

    .footer-links {
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width: 520px) {
    .footer-links {
        grid-template-columns:1fr;
    }
}

/* ================= PRODUCTS FLOW ================= */
.products {
    background:
        radial-gradient(circle at 30% 20%, rgba(46, 125, 50, 0.25), transparent 55%),
        radial-gradient(circle at 70% 70%, rgba(102, 187, 106, 0.18), transparent 50%),
        #060707;
    color:#fff;
}

.products h2 {
    margin-bottom:0;
}

.products-head {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
}

.products-head h2 {
    margin:0;
}

.products-all {
    text-decoration:none;
    color:rgba(255,255,255,0.9);
    font-weight:700;
}

.products-all:hover {
    text-decoration:underline;
}

.products-flow {
    position:relative;
    min-height:540px;
    padding:14px 0 6px;
}

.products-flow-viewport {
    position:relative;
    width:100%;
    height:520px;
    overflow:hidden;
    perspective:1200px;
}

.products-flow-track {
    position:relative;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    list-style:none;
}

.products-flow-slide {
    position:absolute;
    left:50%;
    top:50%;
    transform-style:preserve-3d;
    transform:
        translate(-50%, -50%)
        translateX(var(--x, 0px))
        scale(var(--scale, 1))
        rotateY(var(--rotate, 0deg));
    opacity:var(--opacity, 1);
    filter:blur(var(--blur, 0px));
    transition:transform 0.45s ease, opacity 0.45s ease, filter 0.45s ease;
    will-change:transform, opacity, filter;
}

.products-flow-card {
    width:320px;
    height:420px;
    border-radius:18px;
    overflow:hidden;
    background:#0f1211;
    box-shadow:0 22px 80px rgba(0,0,0,0.65);
    position:relative;
    transform:translateZ(0);
}

.products-flow-card img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.products-flow-caption {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:18px 18px 16px;
    text-align:center;
    color:#fff;
    background:linear-gradient(to top, rgba(0,0,0,0.78), rgba(0,0,0,0));
}

.products-flow-title {
    font-size:28px;
    font-weight:800;
    letter-spacing:.2px;
    line-height:1.15;
    margin:0 0 10px;
}

.products-flow-more {
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    text-decoration:none;
    color:#fff;
    font-weight:650;
    font-size:14px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.18);
    backdrop-filter:blur(6px);
}

.products-flow-more:hover {
    background:rgba(255,255,255,0.18);
}

.products-flow-btn {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:54px;
    height:54px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.18);
    background:rgba(255,255,255,0.10);
    color:#fff;
    display:grid;
    place-items:center;
    cursor:pointer;
    z-index:20;
    backdrop-filter:blur(10px);
    transition:background 0.2s ease, transform 0.2s ease;
}

.products-flow-btn:hover {
    background:rgba(255,255,255,0.16);
    transform:translateY(-50%) scale(1.03);
}

.products-flow-btn span {
    font-size:42px;
    line-height:1;
    margin-top:-2px;
}

.products-flow-btn--prev { left:0; }
.products-flow-btn--next { right:0; }

@media (max-width: 900px) {
    .products-flow-viewport { height:480px; }
    .products-flow-card { width:290px; height:390px; }
}

@media (max-width: 700px) {
    .products-flow { min-height:440px; }
    .products-flow-viewport { height:420px; }
    .products-flow-card { width:250px; height:340px; }
    .products-flow-btn { width:46px; height:46px; }
    .products-flow-btn span { font-size:36px; }
}

/* ================= PRODUCT ADMIN ================= */
.product-admin-card {
    text-align:left;
}

.product-form {
    display:flex;
    flex-direction:column;
    gap:12px;
}

.product-form input[type="text"],
.product-form textarea,
.product-form input[type="file"] {
    padding:12px;
    border:1px solid #ccc;
    border-radius:10px;
}

.product-form button {
    padding:12px;
    background:var(--brand-700);
    color:#fff;
    border:none;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
}

.product-admin-grid {
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:18px;
    text-align:left;
}

.product-admin-item {
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.product-admin-item .thumb {
    width:96px;
    height:96px;
    border-radius:12px;
    overflow:hidden;
    flex:0 0 auto;
    background:#f3f4f6;
}

.product-admin-item .thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.product-admin-item .meta h3 {
    margin:0 0 6px;
    color:var(--brand-800);
}

.product-admin-item .meta p {
    margin:0 0 10px;
    font-size:13px;
    color:#374151;
}

.btn-danger {
    background:#b71c1c;
    color:#fff;
    border:none;
    padding:8px 10px;
    border-radius:10px;
    cursor:pointer;
    font-weight:700;
}

/* ================= ALL PRODUCTS PAGE ================= */
.products-page {
    background:#e7f7d2;
    color:var(--text-900);
}

.products-page-hero {
    padding:calc(var(--header-height) + 72px) 0 72px;
    color:#fff;
    background:
        linear-gradient(120deg, rgba(0,0,0,.68), rgba(0,0,0,.22));
    background-size:cover;
    background-position:center;
}

.products-breadcrumb {
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.88);
}

.products-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.products-breadcrumb a:hover {
    text-decoration:underline;
}

.products-sep {
    display:inline-block;
    margin:0 10px;
    opacity:0.7;
}

.products-title {
    margin:18px 0 10px;
    font-size:56px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-shadow:0 18px 50px rgba(0,0,0,0.28);
}

.products-subtitle {
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,0.86);
    line-height:1.8;
}

.products-hero-desc {
    margin:14px 0 0;
    max-width:720px;
    color:rgba(255,255,255,0.80);
    line-height:1.85;
}

.products-choice {
    padding:64px 0 54px;
}

.products-choice-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:34px;
    align-items:start;
    justify-items:center;
}

.products-choice-card {
    text-decoration:none;
    color:inherit;
    text-align:center;
    width:100%;
    max-width:440px;
}

.products-choice-frame {
    width:100%;
    aspect-ratio: 4 / 3;
    border-radius:14px;
    overflow:hidden;
    background:rgba(255,255,255,0.7);
    border:4px solid rgba(88,123,0,0.85);
    box-shadow:0 22px 70px rgba(0,0,0,0.10);
    display:grid;
    place-items:center;
}

.products-choice-frame img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.products-choice-frame--animal {
    border-color:rgba(32,45,0,0.90);
    background:
        radial-gradient(600px 320px at 30% 20%, rgba(160,224,0,0.20), rgba(160,224,0,0)),
        rgba(255,255,255,0.65);
}

.products-choice-frame--animal svg {
    width:92px;
    height:92px;
    fill:rgba(32,45,0,0.88);
}

.products-choice-name {
    margin-top:18px;
    font-weight:950;
    font-size:28px;
    letter-spacing:0.10em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.products-choice-path {
    margin-top:16px;
    font-size:12px;
    font-weight:900;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.65);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.products-choice-path-sep {
    opacity:0.55;
}

.products-choice-path-cat {
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.products-choice-path svg {
    width:70px;
    height:70px;
    fill:rgba(32,45,0,0.85);
}

.products-choice-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:12px;
    padding:10px 14px;
    border-radius:10px;
    border:1px solid rgba(88,123,0,0.26);
    background:rgba(88,123,0,0.14);
    color:var(--brand-800);
    font-weight:900;
    letter-spacing:0.12em;
    text-transform:uppercase;
    font-size:12px;
}

.products-choice-btn--animal {
    border-color:rgba(32,45,0,0.24);
    background:rgba(32,45,0,0.10);
    color:rgba(32,45,0,0.90);
}

.products-choice-card:hover .products-choice-frame {
    transform:translateY(-2px);
}

.products-choice-frame {
    transition:transform .15s ease, box-shadow .15s ease;
}

.products-choice-card.is-active .products-choice-frame {
    box-shadow:0 30px 90px rgba(0,0,0,0.16);
    transform:translateY(-3px);
}

.products-note {
    margin:22px auto 0;
    text-align:center;
    max-width:720px;
    color:rgba(29,27,22,0.72);
}

.products-list {
    padding:44px 0 70px;
    background:rgba(255,255,255,0.40);
}

.products-list-head {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
}

.products-list-title {
    margin:0;
    color:var(--brand-800);
}

.products-clear {
    text-decoration:none;
    color:rgba(29,27,22,0.80);
    font-weight:800;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:12px;
}

.products-clear:hover {
    text-decoration:underline;
}

.products-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:18px;
    text-align:left;
}

.product-list-thumb {
    width:100%;
    aspect-ratio:4 / 3;
    border-radius:14px;
    overflow:hidden;
    background:#f3f4f6;
    margin-bottom:12px;
}

.product-list-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.product-list-card h3 {
    margin:0 0 8px;
    color:var(--brand-800);
}

.product-list-card p {
    margin:0;
    font-size:14px;
    color:#374151;
}

.product-list-date {
    margin-top:10px;
    font-size:12px;
    color:#6b7280;
}

.product-list-card {
    display:block;
    text-decoration:none;
    color:inherit;
}

.products-list-head--showcase {
    margin-top:26px;
}

/* ================= TERNAK SHOWCASE (INSPIRED GRID) ================= */
.products-showcase {
    padding:56px 0 78px;
    background:var(--sand-200);
}

.products-showcase-head {
    display:grid;
    grid-template-columns:minmax(0, 320px) minmax(0, 1fr);
    gap:30px;
    align-items:start;
}

.products-showcase-kicker {
    margin:0;
    font-weight:950;
    font-size:42px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.products-showcase-title {
    margin:8px 0 10px;
    font-size:18px;
    font-weight:900;
    color:rgba(29,27,22,0.92);
}

.products-showcase-desc {
    margin:0;
    color:rgba(29,27,22,0.72);
    line-height:1.8;
    max-width:720px;
}

.products-showcase-grid {
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:18px;
}

.products-showcase-card {
    text-decoration:none;
    color:inherit;
    background:rgba(255,255,255,0.60);
    border:2px solid rgba(56,78,0,0.22);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 16px 44px rgba(0,0,0,0.08);
    transition:transform .15s ease, box-shadow .15s ease;
    position:relative;
    min-height:340px;
    display:flex;
    flex-direction:column;
}

.products-showcase-card:hover {
    transform:translateY(-3px);
    box-shadow:0 22px 60px rgba(0,0,0,0.12);
}

.products-showcase-thumb {
    width:100%;
    aspect-ratio:4 / 3;
    background:#f3f4f6;
    border-bottom:2px solid rgba(56,78,0,0.18);
}

.products-showcase-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.products-showcase-meta {
    padding:14px 14px 46px;
}

.products-showcase-tag {
    font-size:11px;
    font-weight:900;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(56,78,0,0.70);
}

.products-showcase-name {
    margin-top:8px;
    font-size:18px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.products-showcase-mini {
    margin-top:8px;
    color:rgba(29,27,22,0.76);
    font-size:13px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.products-showcase-arrow {
    position:absolute;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:rgba(56,78,0,0.12);
    border:1px solid rgba(56,78,0,0.20);
}

.products-showcase-arrow svg {
    width:18px;
    height:18px;
    fill:rgba(56,78,0,0.88);
}

@media (max-width: 920px) {
    .products-title { font-size:44px; }
    .products-choice-grid { grid-template-columns:1fr; }
    .products-showcase-head { grid-template-columns:1fr; }
    .products-showcase-kicker { font-size:36px; }
}

/* ================= TERNAK PAGE (INDUSTRY-LIKE) ================= */
.ternak-page {
    background: #e7f7d2;
    color:var(--text-900);
}

.ternak-hero {
    padding:calc(var(--header-height) + 72px) 0 72px;
    color:#fff;
    background:linear-gradient(120deg, rgba(32,45,0,.80), rgba(56,78,0,.28));
    background-size:cover;
    background-position:center;
    overflow:hidden;
}

.ternak-hero-inner {
    position:relative;
}

.ternak-breadcrumb {
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.90);
}

.ternak-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.ternak-breadcrumb a:hover {
    text-decoration:underline;
}

.ternak-sep {
    display:inline-block;
    margin:0 10px;
    opacity:0.7;
}

.ternak-hero-grid {
    margin-top:22px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 380px);
    gap:34px;
    align-items:center;
}

.ternak-hero-title {
    margin:10px 0 10px;
    font-size:56px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-shadow:0 18px 50px rgba(0,0,0,0.28);
}

.ternak-hero-subtitle {
    margin:0;
    font-weight:800;
    letter-spacing:0.02em;
    color:rgba(255,255,255,0.88);
}

.ternak-hero-desc {
    margin:14px 0 0;
    max-width:720px;
    color:rgba(255,255,255,0.80);
    line-height:1.85;
}

.ternak-hero-mark {
    display:flex;
    justify-content:center;
    align-items:center;
}

.ternak-hero-mark svg {
    width:min(320px, 70vw);
    height:auto;
    fill:rgba(255,255,255,0.5);
    filter:drop-shadow(0 22px 60px rgba(0,0,0,0.22));
}

.ternak-products {
    padding:56px 0 84px;
}

.ternak-products-head {
    display:grid;
    /*grid-template-columns:minmax(0, 320px) minmax(0, 1fr);*/
    gap:30px;
    align-items:start;
}

.ternak-products-kicker {
    margin:0;
    font-weight:950;
    font-size:42px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
    text-align:center;
}

.ternak-products-title {
    margin:8px 0 10px;
    font-size:18px;
    font-weight:900;
    color:rgba(29,27,22,0.92);
}

.ternak-products-desc {
    margin:0;
    color:rgba(29,27,22,0.72);
    line-height:1.8;
    max-width:720px;
}

.ternak-grid {
    margin-top:22px;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
}

.ternak-card {
    background:rgba(255,255,255,0.62);
    border:2px solid rgba(56,78,0,0.22);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 16px 44px rgba(0,0,0,0.08);
    position:relative;
    min-height:340px;
    text-decoration:none;
    color:inherit;
    display:block;
}

.ternak-card-thumb {
    width:100%;
    aspect-ratio:1 / 1;
    background:#f3f4f6;
    border-bottom:2px solid rgba(56,78,0,0.18);
}

.ternak-card-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.ternak-card-body {
    padding:14px 14px 48px;
}

.ternak-card-cat {
    font-size:11px;
    font-weight:900;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:rgba(56,78,0,0.70);
}

.ternak-card-name {
    margin:10px 0 8px;
    font-size:18px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.ternak-card-desc {
    margin:0;
    color:rgba(29,27,22,0.76);
    font-size:13px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.ternak-card-arrow {
    position:absolute;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:rgba(56,78,0,0.12);
    border:1px solid rgba(56,78,0,0.20);
}

.ternak-card-arrow svg {
    width:18px;
    height:18px;
    fill:rgba(56,78,0,0.88);
}

.ternak-solution {
    margin-top:40px;
    max-width:860px;
}

.ternak-solution-title {
    margin:0 0 10px;
    color:var(--brand-800);
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
}

.ternak-solution-desc {
    margin:0;
    color:rgba(29,27,22,0.72);
    line-height:1.9;
}

@media (max-width: 1024px) {
    .ternak-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
    .ternak-hero-grid { grid-template-columns:1fr; }
    .ternak-hero-title { font-size:44px; }
    .ternak-products-head { grid-template-columns:1fr; }
    .ternak-products-kicker { font-size:36px; }
}

@media (max-width: 560px) {
    .ternak-grid { grid-template-columns:1fr; }
}

/* ================= PRODUCT DETAIL ================= */
.product-detail-page {
    background:var(--sand-200);
    color:var(--text-900);
}

.product-detail-hero {
    padding:calc(var(--header-height) + 72px) 0 64px;
}

.product-detail-breadcrumb {
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.62);
}

.product-detail-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.product-detail-breadcrumb a:hover {
    text-decoration:underline;
}

.product-detail-sep {
    display:inline-block;
    margin:0 10px;
    opacity:0.6;
}

.product-detail-hero-grid {
    margin-top:26px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 420px);
    gap:34px;
    align-items:start;
}

.product-detail-title {
    margin:0 0 14px;
    font-size:56px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.product-detail-desc {
    margin:0;
    line-height:1.9;
    color:rgba(29,27,22,0.74);
    max-width:760px;
}

.product-detail-media {
    display:flex;
    justify-content:center;
    align-items:flex-start;
}

.product-detail-media img {
    width:100%;
    max-width:420px;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 30px 70px rgba(0,0,0,0.18));
    border-radius:18px;
    background:rgba(255,255,255,0.55);
    border:2px solid rgba(56,78,0,0.16);
    padding:18px;
}

.product-detail-related {
    padding:34px 0 84px;
}

.product-detail-related-title {
    text-align:center;
    margin:0 0 18px;
    font-size:38px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.product-detail-related-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    max-width:860px;
    margin:0 auto;
}

.product-detail-related-card {
    text-decoration:none;
    color:inherit;
    background:rgba(255,255,255,0.62);
    border:2px solid rgba(56,78,0,0.22);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 16px 44px rgba(0,0,0,0.08);
    position:relative;
    transition:transform .15s ease, box-shadow .15s ease;
    min-height:280px;
}

.product-detail-related-card:hover {
    transform:translateY(-3px);
    box-shadow:0 22px 60px rgba(0,0,0,0.12);
}

.product-detail-related-thumb {
    width:100%;
    aspect-ratio:1 / 1;
    background:#f3f4f6;
    border-bottom:2px solid rgba(56,78,0,0.18);
}

.product-detail-related-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.product-detail-related-name {
    padding:12px 44px 14px 14px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--brand-800);
    font-size:14px;
}

.product-detail-related-arrow {
    position:absolute;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:rgba(56,78,0,0.12);
    border:1px solid rgba(56,78,0,0.20);
}

.product-detail-related-arrow svg {
    width:18px;
    height:18px;
    fill:rgba(56,78,0,0.88);
}

@media (max-width: 920px) {
    .product-detail-hero-grid { grid-template-columns:1fr; }
    .product-detail-title { font-size:44px; }
    .product-detail-media { justify-content:flex-start; }
    .product-detail-related-grid { grid-template-columns:1fr; }
}

/* ================= STORY PAGE (COMMITMENT-LIKE) ================= */
.story-page {
    background:var(--sand-200);
    color:var(--text-900);
}

.story-page-hero {
    padding:calc(var(--header-height) + 56px) 0 56px;
    background:linear-gradient(135deg, rgba(32,45,0,0.92), rgba(56,78,0,0.88));
    color:#fff;
}

.story-page-breadcrumb {
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.88);
}

.story-page-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.story-page-breadcrumb a:hover {
    text-decoration:underline;
}

.story-page-sep {
    display:inline-block;
    margin:0 10px;
    opacity:0.7;
}

.story-page-title {
    margin:18px 0 0;
    font-size:56px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-shadow:0 18px 50px rgba(0,0,0,0.28);
}

.story-approach {
    padding:56px 0 62px;
}

.story-approach-grid {
    display:grid;
    grid-template-columns:minmax(0, 420px) minmax(0, 1fr);
    gap:44px;
    align-items:center;
}

.story-approach-media {
    position:relative;
    min-height:360px;
}

.story-approach-main {
    width:100%;
    height:360px;
    object-fit:cover;
    border-radius:18px;
    border:2px solid rgba(56,78,0,0.18);
    box-shadow:0 22px 70px rgba(0,0,0,0.10);
    display:block;
}

.story-approach-inset {
    position:absolute;
    width:160px;
    height:160px;
    object-fit:cover;
    border-radius:16px;
    border:6px solid var(--sand-200);
    box-shadow:0 24px 70px rgba(0,0,0,0.18);
    right:24px;
    bottom:18px;
    background:#fff;
}

.story-approach-fallback {
    background:rgba(255,255,255,0.55);
}

.story-approach-title {
    margin:0 0 12px;
    color:var(--brand-800);
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:24px;
}

.story-approach-desc {
    margin:0 0 14px;
    color:rgba(29,27,22,0.74);
    line-height:1.9;
    position:relative;
    z-index:1;
}

.story-approach-more {
    display:inline-flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-weight:900;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:12px;
    color:var(--brand-800);
    border:1px solid rgba(56,78,0,0.20);
    background:rgba(56,78,0,0.10);
    padding:10px 12px;
    border-radius:10px;
}

.story-approach-more:hover {
    text-decoration:underline;
}

.story-approach-copy {
    position:relative;
}

.story-approach-mark {
    position:absolute;
    right:-10px;
    top:-10px;
    color:rgba(56,78,0,0.20);
    z-index:0;
    pointer-events:none;
}

.story-approach-mark svg {
    width:240px;
    height:240px;
}

.story-practices {
    padding:34px 0 84px;
}

.story-practices-head {
    text-align:center;
    max-width:860px;
    margin:0 auto 24px;
}

.story-practices-title {
    margin:0;
    color:var(--brand-800);
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-size:26px;
}

.story-practices-sub {
    margin-top:6px;
    font-weight:900;
    color:rgba(56,78,0,0.70);
    letter-spacing:0.06em;
}

.story-practices-desc {
    margin:10px auto 0;
    color:rgba(29,27,22,0.72);
    line-height:1.9;
}

.story-practices-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 420px);
    gap:26px;
    align-items:start;
}

.story-practice-card {
    display:flex;
    gap:12px;
    align-items:flex-start;
    text-decoration:none;
    color:inherit;
    background:rgba(56,78,0,0.86);
    border:1px solid rgba(255,255,255,0.10);
    border-radius:12px;
    padding:14px 14px;
    margin-bottom:12px;
    position:relative;
}

.story-practice-card:hover {
    transform:translateY(-2px);
}

.story-practice-dot {
    width:10px;
    height:10px;
    border-radius:999px;
    margin-top:6px;
    background:var(--brand-500);
    flex:0 0 auto;
}

.story-practice-name {
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:6px;
    font-size:13px;
}

.story-practice-ex {
    color:rgba(255,255,255,0.82);
    line-height:1.7;
    font-size:12px;
}

.story-practice-arrow {
    position:absolute;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border-radius:10px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,0.10);
    border:1px solid rgba(255,255,255,0.12);
}

.story-practice-arrow svg {
    width:18px;
    height:18px;
    fill:#fff;
    opacity:0.9;
}

.story-practices-media img,
.story-practices-fallback {
    width:100%;
    height:420px;
    border-radius:18px;
    object-fit:cover;
    border:2px solid rgba(56,78,0,0.18);
    box-shadow:0 22px 70px rgba(0,0,0,0.10);
    display:block;
    background:rgba(255,255,255,0.55);
}

.story-impact {
    padding:70px 0 80px;
    background:linear-gradient(135deg, rgba(32,45,0,0.92), rgba(56,78,0,0.88));
    color:#fff;
}

.story-impact-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    gap:34px;
    align-items:center;
}

.story-impact-media img,
.story-impact-fallback {
    width:100%;
    height:360px;
    object-fit:cover;
    border-radius:18px;
    border:2px solid rgba(255,255,255,0.14);
    box-shadow:0 22px 70px rgba(0,0,0,0.18);
    display:block;
    background:rgba(255,255,255,0.10);
}

.story-impact-title {
    margin:0 0 12px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
}

.story-impact-desc {
    margin:0 0 18px;
    line-height:1.9;
    color:rgba(255,255,255,0.86);
}

.story-impact-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:rgba(32,45,0,0.92);
    background:var(--brand-500);
    font-weight:950;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:12px;
    padding:12px 14px;
    border-radius:10px;
}

.story-impact-cta:hover {
    filter:brightness(0.95);
}

@media (max-width: 920px) {
    .story-page-title { font-size:44px; }
    .story-approach-grid { grid-template-columns:1fr; }
    .story-practices-grid { grid-template-columns:1fr; }
    .story-impact-grid { grid-template-columns:1fr; }
    .story-practices-media img,
    .story-practices-fallback { height:320px; }
}

/* ================= ARTICLES ================= */
.article-card {
    text-align:left;
}

.article-card h3 {
    color:var(--brand-800);
    margin-bottom:10px;
}

.article-card p {
    font-size:14px;
    margin-bottom:15px;
}

.read-more {
    text-decoration:none;
    color:var(--brand-700);
    font-weight:bold;
}

.read-more:hover {
    text-decoration:underline;
}

.article-detail {
    max-width:800px;
    margin:auto;
    text-align:left;
}

.article-detail h1 {
    color:var(--brand-800);
    margin-bottom:10px;
}

.article-detail .date {
    font-size:14px;
    color:gray;
    margin-bottom:20px;
}

/* Detail cerita bisa panjang, jangan pakai tinggi 100vh bawaan .section */ 
body.page-story_detail .section { 
    height:auto; 
    min-height:auto; 
    padding-bottom:72px; 
    scroll-snap-align:none; 
    scroll-snap-stop:normal; 
} 

body.page-story_detail .hero { 
    height:auto; 
    min-height:340px; 
    padding:calc(var(--header-height) + 64px) 0 56px; 
    scroll-snap-align:none; 
    scroll-snap-stop:normal; 
} 

body.page-story_detail .story-hero { 
    background-size:cover; 
    background-position:center; 
    background-repeat:no-repeat; 
} 

body.page-story_detail .story-hero .hero-overlay { 
    position:absolute; 
    inset:0; 
    background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.65)); 
    z-index:1; 
} 

body.page-story_detail .story-hero .hero-content { 
    z-index:2; 
} 

body.page-story_detail .story-hero-title { 
    font-size:clamp(1.6rem, 3.6vw, 2.8rem); 
    line-height:1.15; 
    margin:0; 
    letter-spacing:.3px; 
} 

body.page-story_detail .story-hero-meta { 
    margin:14px 0 0; 
    font-weight:700; 
    letter-spacing:.08em; 
    text-transform:uppercase; 
    font-size:.85rem; 
    opacity:.9; 
} 

body.page-story_detail .story-detail-page { 
    background:#dff7d6; 
} 

body.page-story_detail .story-detail-section { 
    padding:56px 0 80px; 
    background:transparent; 
} 

body.page-story_detail .story-card { 
    max-width:980px; 
    margin:0 auto; 
    background:#fff; 
    border-radius:18px; 
    padding:clamp(18px, 3.6vw, 42px); 
    box-shadow:0 14px 40px rgba(0,0,0,.08); 
    text-align:left; 
} 

body.page-story_detail .story-card-media { 
    margin:0 0 22px; 
} 

body.page-story_detail .story-card-media img { 
    width:100%; 
    height:auto; 
    display:block; 
    border-radius:14px; 
    max-height:520px; 
    object-fit:cover; 
} 

body.page-story_detail .story-body { 
    color:#1f2937; 
    font-size:1rem; 
    line-height:1.85; 
} 

body.page-story_detail .story-body p { 
    margin:0 0 16px; 
} 

body.page-story_detail .story-body p:last-child { 
    margin-bottom:0; 
} 

/* ================= SCROLL REVEAL ANIMATION ================= */
.reveal {
    opacity:0;
    transform:translate3d(0, 60px, 0);
    transition:opacity 0.8s ease, transform 0.8s ease;
    will-change:transform, opacity;
}

.reveal.active {
    opacity:1;
    transform:translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* ================= ABOUT PAGE ================= */
.about-page {
    background:#eff7d2;
    color:#1d1b16;
}

.about-hero {
    position:relative;
    padding:calc(var(--header-height) + 64px) 0 72px;
    background:
        radial-gradient(1100px 520px at 15% 10%, rgba(255,255,255,0.12), rgba(255,255,255,0)),
        radial-gradient(900px 520px at 85% 20%, rgba(255,255,255,0.10), rgba(255,255,255,0)),
        linear-gradient(135deg, var(--brand-900), var(--brand-700) 55%, var(--brand-800));
    color:#fff;
    overflow:hidden;
}

.about-hero::after {
    content:"";
    position:absolute;
    inset:-40px -60px -40px -60px;
    background:
        radial-gradient(700px 420px at 10% 40%, rgba(0,0,0,0.18), rgba(0,0,0,0)),
        radial-gradient(680px 420px at 70% 20%, rgba(0,0,0,0.14), rgba(0,0,0,0));
    opacity:0.9;
    pointer-events:none;
}

.about-hero-inner {
    position:relative;
    z-index:1;
}

.about-breadcrumb {
    font-size:12px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.88);
}

.about-breadcrumb a {
    color:inherit;
    text-decoration:none;
}

.about-breadcrumb a:hover {
    text-decoration:underline;
}

.about-sep {
    display:inline-block;
    margin:0 10px;
    opacity:0.7;
}

.about-hero-title {
    margin:16px 0 0;
    font-size:56px;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    text-shadow:0 18px 50px rgba(0,0,0,0.28);
}

.about-band {
    padding:64px 0;
}

.about-band--soft {
    background:rgba(255,255,255,0.45);
}

.about-center {
    text-align:center;
}

.about-heading {
    margin:0 0 16px;
    font-size:28px;
    font-weight:950;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.about-subheading {
    margin:0 0 22px;
    text-align:center;
    font-size:18px;
    font-weight:950;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--brand-800);
}

.about-lead {
    max-width:860px;
    margin:0 auto;
    color:rgba(29,27,22,0.82);
    line-height:1.9;
    font-size:15px;
}

.about-muted {
    color:rgba(29,27,22,0.72);
    line-height:1.85;
}

.about-numbers {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:18px;
    margin-top:22px;
}

.about-number-card {
    background:rgba(255,255,255,0.62);
    border:1px solid rgba(88,123,0,0.18);
    border-radius:18px;
    padding:22px 16px;
    text-align:center;
    box-shadow:0 18px 50px rgba(0,0,0,0.06);
}

.about-number-icon {
    width:54px;
    height:54px;
    border-radius:16px;
    margin:0 auto 14px;
    display:grid;
    place-items:center;
    background:rgba(88,123,0,0.14);
    border:1px solid rgba(88,123,0,0.22);
}

.about-number-icon svg {
    width:26px;
    height:26px;
    fill:var(--brand-800);
    opacity:0.95;
}

.about-number-value {
    font-size:32px;
    font-weight:950;
    color:var(--brand-800);
    letter-spacing:0.02em;
    line-height:1.1;
}

.about-number-label {
    margin-top:6px;
    font-size:12px;
    font-weight:800;
    letter-spacing:0.10em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.72);
}

.about-mission-grid {
    display:grid;
   /* grid-template-columns:1.2fr 0.8fr;*/
    gap:22px;
    align-items:stretch;
}

.about-mission-card {
    background:rgba(255,255,255,0.70);
    border:1px solid rgba(88,123,0,0.18);
    border-radius:22px;
    padding:26px 24px;
    text-align:left;
    box-shadow:0 22px 64px rgba(0,0,0,0.07);
}

.about-mission-tag {
    display:inline-block;
    font-size:12px;
    font-weight:950;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--brand-800);
    margin-bottom:10px;
}

.about-mission-card h3 {
    margin:0 0 10px;
    font-size:22px;
    color:#1d1b16;
        text-align: center;
}

.about-list {
    margin:14px 0 0;
    padding-left:18px;
    color:rgba(29,27,22,0.78);
    line-height:1.9;
}

.about-mission-side {
    background:
        radial-gradient(700px 420px at 30% 10%, rgba(88,123,0,0.18), rgba(88,123,0,0)),
        rgba(255,255,255,0.55);
    border:1px solid rgba(88,123,0,0.16);
    border-radius:22px;
    padding:26px 24px;
    text-align:left;
    box-shadow:0 22px 64px rgba(0,0,0,0.06);
}

.about-brand-name {
    font-size:26px;
    font-weight:950;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--brand-800);
    line-height:1.05;
}

.about-brand-sub {
    font-size:11px;
    font-weight:900;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.7);
    margin-top:3px;
}

.about-cta {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    padding:10px 14px;
    border-radius:10px;
    border:1px solid rgba(88,123,0,0.26);
    background:rgba(88,123,0,0.14);
    color:var(--brand-800);
    font-weight:900;
    letter-spacing:0.12em;
    text-transform:uppercase;
    text-decoration:none;
}

.about-cta:hover {
    background:rgba(88,123,0,0.20);
}

.about-cta--dark {
    background:rgba(29,27,22,0.08);
    border-color:rgba(29,27,22,0.16);
    color:rgba(29,27,22,0.85);
}

.about-exist {
    background:linear-gradient(120deg, rgba(0,0,0,0.78), rgba(29,27,22,0.35));
    color:#fff;
}

.about-exist-grid {
    display:grid;
    grid-template-columns:1fr 0.85fr;
    gap:22px;
    align-items:center;
}

.about-exist .about-heading {
    color:#fff;
}

.about-exist .about-lead {
    color:rgba(255,255,255,0.85);
}

.about-exist-media {
    height:260px;
    border-radius:22px;
    background:
        linear-gradient(120deg, rgba(0,0,0,0.40), rgba(0,0,0,0.10)),
        url("../uploads/about/Vanilla\ Orchid\ Stock\ Videos\ –\ 848\ HD\ &\ 4K\ Footage\ Clips.jpeg");
    background-size:cover;
    background-position:center;
    border:1px solid rgba(255,255,255,0.18);
    box-shadow:0 22px 70px rgba(0,0,0,0.35);
}

.about-values {
    padding:0;
}

.about-values-split {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:420px;
}

.about-values-photo {
    background:
        linear-gradient(120deg, rgba(0,0,0,0.20), rgba(0,0,0,0.10)),
        url("../uploads/about/LVR09976.png");
    background-size:cover;
    background-position:center;
}

.about-values-panel {
    padding:64px 42px;
    background:rgba(255,255,255,0.60);
}

.about-bullets {
    margin:14px 0 0;
    padding-left:18px;
    line-height:1.9;
    color:rgba(29,27,22,0.78);
}

.about-cards {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:18px;
    margin-top:22px;
}

.about-card {
    background:rgba(255,255,255,0.70);
    border:1px solid rgba(88,123,0,0.16);
    border-radius:18px;
    padding:20px 18px;
    text-align:left;
    box-shadow:0 18px 52px rgba(0,0,0,0.05);
}

.about-card h3 {
    margin:0 0 10px;
    color:#1d1b16;
}

.about-products {
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}

.about-product {
    text-decoration:none;
    color:inherit;
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,0.65);
    border:1px solid rgba(88,123,0,0.14);
    box-shadow:0 18px 52px rgba(0,0,0,0.05);
    display:block;
}

.about-product img {
    width:100%;
    height:170px;
    object-fit:cover;
    display:block;
}

.about-product span {
    display:block;
    padding:12px 12px 14px;
    font-weight:900;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.86);
    font-size:12px;
}

@media (max-width: 980px) {
    .about-hero-title { font-size:44px; }
    .about-numbers { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .about-mission-grid { grid-template-columns:1fr; }
    .about-exist-grid { grid-template-columns:1fr; }
    .about-values-split { grid-template-columns:1fr; }
    .about-values-panel { padding:44px 22px; }
    .about-cards { grid-template-columns:1fr; }
    .about-products { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .about-hero { padding:calc(var(--header-height) + 52px) 0 58px; }
    .about-hero-title { font-size:34px; }
    .about-band { padding:52px 0; }
    .about-products { grid-template-columns:1fr; }
}


/* ================= CERTIFICATIONS PAGE ================= */


.cert-page {
    background:var(--sand-200);
    min-height:calc(100svh - var(--header-height));
}

.cert-hero {
    position:relative;
    overflow:hidden;
    padding:calc(var(--header-height) + 64px) 0 78px;
    background:
        radial-gradient(900px 520px at 18% 18%, rgba(160,224,0,0.12), rgba(160,224,0,0)),
        radial-gradient(760px 520px at 78% 10%, rgba(88,123,0,0.20), rgba(88,123,0,0)),
        linear-gradient(120deg, rgba(18,36,26,0.90), rgba(22,52,34,0.72));
    color:#fff;
}

.cert-hero::before,
.cert-hero::after {
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    filter:blur(2px);
    opacity:0.55;
    pointer-events:none;
}

.cert-hero::before {
    left:-190px;
    top:-260px;
    background:radial-gradient(circle at 30% 30%, rgba(160,224,0,0.32), rgba(160,224,0,0));
}

.cert-hero::after {
    right:-220px;
    bottom:-320px;
    background:radial-gradient(circle at 40% 40%, rgba(247,237,210,0.28), rgba(247,237,210,0));
}

.cert-hero-inner {
    position:relative;
    z-index:1;
    max-width:920px;
}

.cert-breadcrumb {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:800;
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:12px;
    color:rgba(255,255,255,0.80);
}

.cert-breadcrumb a {
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,0.32);
}

.cert-breadcrumb a:hover {
    border-bottom-color:rgba(255,255,255,0.72);
}

.cert-sep {
    opacity:0.8;
}

.cert-hero-title {
    margin:18px 0 12px;
    font-size:56px;
    line-height:1.02;
    letter-spacing:0.06em;
    text-transform:uppercase;
    font-weight:950;
}

.cert-hero-lead {
    margin:0;
    max-width:780px;
    color:rgba(247,237,210,0.92);
    font-weight:700;
}

.cert-hero-sub {
    margin:12px 0 0;
    max-width:760px;
    color:rgba(255,255,255,0.78);
    font-size:14px;
}

.cert-cards {
    padding:54px 0 70px;
}

.cert-grid {
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:26px;
}

.cert-card {
    background:rgba(255,255,255,0.28);
    border:4px solid rgba(56,78,0,0.85);
    border-radius:0;
    box-shadow:0 22px 60px rgba(0,0,0,0.10);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height:330px;
}

.cert-card-top {
    padding:22px 22px 18px;
    background:rgba(247, 237, 210, 0.322);
}

.cert-card-head {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
}

.cert-logo {
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,0.75);
    border:1px solid rgba(56,78,0,0.22);
    box-shadow:0 10px 24px rgba(0,0,0,0.06);
}

.cert-logo img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.cert-logo svg {
    width:100%;
    height:100%;
    display:block;
}

.cert-card-name {
    font-size:18px;
    font-weight:950;
    letter-spacing:0.10em;
    text-transform:uppercase;
    color:rgba(29,27,22,0.92);
}

.cert-card-desc {
    margin:0;
    color:rgba(29,27,22,0.78);
    font-size:14px;
    line-height:1.55;
}

.cert-highlights {
    margin-top:auto;
    padding:18px 22px 20px;
    background:
        radial-gradient(520px 240px at 10% 0%, rgba(160,224,0,0.16), rgba(160,224,0,0)),
        linear-gradient(120deg, rgba(56,78,0,0.98), rgba(32,45,0,0.96));
    color:rgba(247,237,210,0.94);
}

.cert-highlights-title {
    font-size:11px;
    font-weight:950;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.92;
}

.cert-highlights-list {
    margin:10px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:8px;
}

.cert-highlights-list li {
    position:relative;
    padding-left:18px;
    font-size:13px;
    line-height:1.45;
}

.cert-highlights-list li::before {
    content:"";
    position:absolute;
    left:0;
    top:7px;
    width:10px;
    height:10px;
    border-radius:2px;
    background:rgba(160,224,0,0.72);
    box-shadow:0 6px 14px rgba(0,0,0,0.18);
}

.cert-other {
    position:relative;
    padding:58px 0 72px;
    background:var(--sand-200);
}

.cert-other-inner {
    position:relative;
    text-align:center;
}

.cert-other-mark {
    position:absolute;
    left:50%;
    top:0;
    transform:translate(-50%, -24%);
    width:220px;
    height:220px;
    color:rgba(56,78,0,0.55);
    pointer-events:none;
    z-index:0;
}

.cert-other-mark svg {
    width:100%;
    height:100%;
    display:block;
}

.cert-other-title {
    position:relative;
    z-index:1;
    margin:0;
    font-size:34px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:950;
    color:rgba(29,27,22,0.82);
}

.cert-other-sub {
    position:relative;
    z-index:1;
    margin:10px auto 0;
    max-width:720px;
    color:rgba(29,27,22,0.68);
    font-size:14px;
}

.cert-mini-row {
    position:relative;
    z-index:1;
    margin-top:22px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
}

.cert-mini {
    width:62px;
    height:62px;
    border-radius:999px;
    background:rgba(255,255,255,0.65);
    border:1px solid rgba(56,78,0,0.18);
    box-shadow:0 18px 44px rgba(0,0,0,0.08);
    display:grid;
    place-items:center;
    overflow:hidden;
}

.cert-mini img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.cert-mini svg {
    width:100%;
    height:100%;
    display:block;
}

.cert-improve {
    padding:64px 0 74px;
    background:
        radial-gradient(900px 520px at 20% 0%, rgba(160,224,0,0.16), rgba(160,224,0,0)),
        linear-gradient(120deg, rgba(247,237,210,0.88), rgba(247,237,210,0.62));
}

.cert-improve-grid {
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:22px;
    align-items:center;
}

.cert-improve-title {
    margin:0;
    font-size:44px;
    line-height:1.02;
    font-weight:950;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:rgba(56,78,0,0.95);
}

.cert-improve-desc {
    margin:0;
    color:rgba(29,27,22,0.78);
    line-height:1.65;
}

@media (max-width: 920px) {
    .cert-hero-title { font-size:44px; }
    .cert-improve-title { font-size:36px; }
}

@media (max-width: 760px) {
    .cert-grid { grid-template-columns:1fr; }
    .cert-hero { padding:calc(var(--header-height) + 52px) 0 62px; }
    .cert-hero-title { font-size:34px; }
    .cert-improve-grid { grid-template-columns:1fr; }
}
