

/* ================================
   MOC Front UI — Foundation (2025)
   ================================ */

:root{
    /* Brand */
    --moc-green:#157575;
    --moc-orange:#F26C36;

    /* Typography */
    --font-head:"Playfair Display", serif;
    --font-body:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

    /* Layout tokens */
    --maxw:1280px;
    --radius:16px;
    --gap:clamp(10px, 1.4vw, 22px);
    --sectionY: clamp(16px, 6vw, 40px);

    /* Neutrals */
    --paper:#ffffff;
    --ink:#121212;
    --ink-2:#4b5563;
    --line:#e6e6e6;

    /* Elevation */
    --shadow-1: 0 6px 16px rgba(0,0,0,.08);
    --shadow-2: 0 12px 32px rgba(0,0,0,.12);

    /* Header heights */
    --promoH: 40px;
    --headerH: 104px;
}

/* Base reset-ish */
*{ box-sizing:border-box; }
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }
html,body{ margin:0; padding:0; }
body{
    font-family: var(--font-body);
    color: var(--ink);
    line-height: 1.5;
    background:#fff;
}

/* Container */
.container{
    width:100%;
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 clamp(16px, 2vw, 28px);
}

/* Headings */
h1,h2,h3,h4{
    font-family: var(--font-head);
    line-height: 1.15;
    letter-spacing: .1px;
    margin: 0 0 .5em 0;
}
h1{ font-size: clamp(36px, 5vw, 64px); }
h2{ font-size: clamp(28px, 3.5vw, 42px); }
h3{ font-size: clamp(20px, 2.2vw, 28px); }

/* Paragraph / small */
p{ color: var(--ink-2); margin: 0 0 1em 0; }
.small{ font-size:.9rem; color: var(--ink-2); }

/* Grid primitives */
.grid{ display:grid; gap: var(--gap); }
.grid.full{ grid-template-columns: 1fr; }
.grid.half{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.third{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid.quarter{ grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid.three-fifth-left {
    grid-template-columns: 3fr 2fr;
    align-items: center;
    gap: var(--gap);
}

.grid.three-fifth-right {
    grid-template-columns: 2fr 3fr;
    align-items: center;
    gap: var(--gap);
}

@media (max-width: 900px){
    .grid.three-fifth-left,
    .grid.three-fifth-right {
        grid-template-columns: 1fr;
    }
}
.col{ min-width:0; }

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

/* Section rhythm */
.section{ padding: var(--sectionY) 0; }
.section + .section{
    /*border-top: 1px solid var(--line);*/
}
.section-tight  { padding: clamp(24px, 4vw, 48px) 0; }
.section-loose  { padding: clamp(60px, 10vw, 120px) 0;}
/* ======================
   Heading Block Pattern
   ====================== */

.heading-block {
    text-align: center;
    max-width: 720px;
    margin: 0 auto; /* rely on section padding for vertical spacing */
    margin-bottom: clamp(16px, 2vw, 28px);
    padding: 0 clamp(16px, 2vw, 24px);
    /*border-bottom: 1px solid var(--line);*/
    /*padding-bottom: clamp(16px, 2vw, 28px);*/
}

.heading-block h2 {
    font-family: var(--font-head);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 600;
    color: var(--moc-green);
    margin-bottom: 0.4em;
    line-height: 1.2;
}

.heading-block p {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.3vw, 18px);
    color: var(--ink-2);
    margin: 0 auto;
    max-width: 640px;
    line-height: 1.5;
}

/* Optional variants */
.heading-block.align-left { text-align: left; }
.heading-block.align-right { text-align: right; }
.heading-block.light h2 { color: #fff; }
.heading-block.light p { color: rgba(255,255,255,0.85); }
/* ===== Full-bleed Sections ===== */
.section,
.hero,
.cta {
    width:100%;
    padding-left:0;
    padding-right:0;
}
.section > .container,
.hero > .container,
.cta > .container {
    max-width: var(--maxw);
    margin:0 auto;
    padding: 0 clamp(16px,2vw,32px);
}
.section.bg-white  { background:#fff; }
.section.bg-light  { background:#f9faf9; }
.section.bg-accent { background:var(--moc-green); color:#fff; }
.section.bg-accent a { color:#fff; }



/* Buttons */
.btn{
    display:inline-flex; align-items:center; justify-content:center;
    gap:10px; padding: 12px 22px; border-radius: 999px;
    font-weight: 700; border:1px solid transparent; cursor:pointer;
    transition: transform .04s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:active{ transform: translateY(1px); }

.btn-primary{ background: var(--moc-green); color:#fff; }
.btn-primary:hover{ background:#0f5f5f; }

.btn-outline{ background:#fff; border-color: var(--moc-green); color: var(--moc-green); }
.btn-outline:hover{ background: #f6fffd; }

.btn-ghost{ background: transparent; color: var(--ink); }
.btn-ghost:hover{ background:#f8f8f8; }

/* Cards */
.card{
    background:#fff; border:1px solid var(--line); border-radius: var(--radius);
    overflow:hidden; box-shadow: var(--shadow-1);
}
.card .card-body{ padding: clamp(14px, 2vw, 22px); }

/* Image crops */
.img-cover{
    width:100%; height: 100%; object-fit: cover; object-position: center;
    display:block;
}

/* Utilities */
.center{ text-align:center; }
.stack-sm > * + *{ margin-top: .5rem; }
.stack > * + *{ margin-top: 1rem; }
.stack-lg > * + *{ margin-top: 1.5rem; }

.mt-0{ margin-top:0!important; }
.mt-1{ margin-top:.5rem!important; }
.mt-2{ margin-top:1rem!important; }
.mt-3{ margin-top:1.5rem!important; }
.mb-0{ margin-bottom:0!important; }
.mb-2{ margin-bottom:1rem!important; }

.pad{ padding: clamp(12px, 2vw, 24px); }
.pad-lg{ padding: clamp(18px, 3vw, 36px); }

/* CTA band */
.cta{
    background: linear-gradient(180deg, #f7faf9, #ffffff);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}



/* Promo pill */
.pill{
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 12px; border-radius:999px; border:1px dashed var(--moc-green);
    color: var(--moc-green); background:#fff;
}

/* Simple focus ring */
:where(a,button,input,select,textarea):focus-visible{
    outline: 2px solid #0ea5a5; outline-offset: 2px;
}


/* =========================================================
   PROMO BAR — hides on scroll
   ========================================================= */
.promo-bar{
    background:var(--moc-green);
    color:#fff;
    text-align:center;
    position:fixed; top:0; left:0; right:0;
    z-index:1200;
    font-weight:600; font-size:.95rem;
    transition:transform .3s ease,opacity .3s ease;
}
.promo-inner{
    max-width:var(--maxw);
    margin:0 auto;
    padding:10px 16px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
}
.promo-bar a.redeem{
    background:var(--moc-orange);
    color:#fff;
    padding:6px 14px;
    border-radius:999px;
    font-weight:700;
}
.promo-bar a.redeem:hover{ background:#f3581e; }

.promo-bar.hide{ transform:translateY(-100%); opacity:0; pointer-events:none; }

/* =========================================================
   TOP NAVIGATION + DRAWER
   ========================================================= */
.moc-topnav, .moc-topnav *{ box-sizing:border-box; }
.moc-topnav a{ color:inherit; text-decoration:none; }
.moc-topnav img{ display:block; max-width:100%; height:auto; }

.moc-topnav{
    position:fixed;
    top:var(--promoH);
    left:0; right:0;
    z-index:1000;
    background:#fff;
    transition:top .3s ease, box-shadow .3s ease, height .3s ease;
}
body.scrolled .moc-topnav{ top:0; box-shadow:0 4px 12px rgba(0,0,0,0.1); }

.moc-topnav .nav-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:80px;
    padding:0 clamp(20px,3vw,60px);
    max-width:var(--maxw);
    margin:0 auto;
}

/* LOGO */
.moc-topnav .brand img{ height:50px; width:auto; transition:height .3s ease; }
body.scrolled .moc-topnav .brand img{ height:42px; }

/* MAIN LINKS */
.moc-topnav .main ul{
    display:flex; gap:clamp(14px,3vw,36px);
    list-style:none; margin:0; padding:0;
}
.moc-topnav .main a{
    font-weight:700;
    padding:8px 6px;
    border-radius:8px;
    font-size:clamp(14px,1.1vw,17px);
}
.moc-topnav .main a:hover{ color:var(--moc-green); }

/* CTA + CART + HAMBURGER */
.moc-topnav .utils{ display:flex; align-items:center; gap:14px; }
.moc-topnav .btn-nav-cta{
    background:var(--moc-orange);
    color:#fff;
    border-radius:999px;
    font-weight:700;
    padding:.6em 1.4em;
    font-size:.95rem;
}
.moc-topnav .btn-nav-cta:hover{ background:var(--moc-green); }

/* CART BADGE */
.moc-topnav .cart{ position:relative; z-index:1200; }
.moc-topnav .badge{
    position:absolute; top:-6px; right:-6px;
    min-width:18px; height:18px;
    background:var(--moc-orange);
    color:#fff; border-radius:999px;
    font-size:11px; line-height:18px; text-align:center;
}








/* ===== DRAWER ===== */
.more-drawer{
    position:fixed;
    top:var(--headerH); left:0; right:0; bottom:0;
    background:rgba(0,0,0,0.35);
    display:none; z-index:1100;
}
.more-drawer.open{ display:block; }
.drawer-inner{
    position:absolute; right:0; top:0; bottom:0;
    width:min(360px,90vw);
    background:#fff;
    box-shadow:-10px 0 30px rgba(0,0,0,.15);
    padding:22px;
    overflow:auto;
}
.drawer-close-left{
    font-size:1.6rem; font-weight:700;
    color:var(--moc-green);
    cursor:pointer;
    position:absolute; top:8px; left:12px;
}
.drawer-menu .menu{
    list-style:none;
    padding:8px 0 0; margin:0;
}
.drawer-menu .menu>li{ padding:10px 2px; border-bottom:1px solid var(--line); }
.drawer-menu .menu a{
    display:block;
    font-weight:700;
    padding:8px 4px;
    border-radius:8px;
}
.drawer-menu .menu a:hover{ background:#f8f8f8; }
.drawer-cta{ margin-top:24px; text-align:center; }
.drawer-btn{
    display:inline-block;
    padding:12px 24px;
    background:var(--moc-green);
    color:#fff;
    font-weight:700;
    border-radius:999px;
    transition:background .2s ease;
}
.drawer-btn:hover{ background:var(--moc-orange); }

/* Responsive drawer widths */
@media (min-width:961px){ .drawer-inner{ width:280px; } }
@media (max-width:720px){
    .drawer-inner{ width:100%; border-top-left-radius:var(--radius); border-top-right-radius:var(--radius); }
}

/* Hide Build Your Box + move Raw Bar to drawer on mobile */
@media (max-width:960px){
    .moc-topnav .main ul li:last-child,
    .moc-topnav .btn-nav-cta{ display:none!important; }

}

/* Responsive typography tweaks */
@media (max-width:720px){
    .moc-topnav .main a{ font-size:clamp(12px,3.6vw,11px); padding:6px 4px; }
    .moc-topnav .navbtn .icon{ width:18px; height:18px; }
    .moc-topnav .nav-row--main {
        padding: 0 clamp(12px, 3vw, 20px);
    }
    .promo-inner {
        font-size: 0.85rem;
    }
    .nav-text-desktop { display: none!important;; }
    .nav-text-mobile { display: inline!important;; }
}
@media (min-width:720px){
    .nav-text-desktop { display: inline!important;; }
    .nav-text-mobile { display: none!important; }
}
/* === ALIGNMENT FIX FOR TOP NAV === */
.moc-topnav .nav-row--main {
    display: flex;
    align-items: center;      /* Ensures all items align vertically */
    justify-content: space-between;
    height: 80px;
    padding: 0 clamp(20px, 3vw, 60px);
    max-width: var(--maxw);
    margin: 0 auto;
}

/* Logo tweak: consistent visual height */
.moc-topnav .brand img {
    height: 48px;
    width: auto;
    display: block;
    margin-top: 2px;          /* visually centers logo with links */
}

/* Make nav links and utils align perfectly */
.moc-topnav .main ul,
.moc-topnav .utils {
    display: flex;
    align-items: center;      /* vertical centering within their flex space */
}

/* Tighten spacing slightly between cart + hamburger */
.moc-topnav .utils {
    gap: 12px;
}

/* Make sure the cart icon aligns optically */
.moc-topnav .nav-cart i {
    font-size: 20px;
    line-height: 1;
    vertical-align: middle;
}
/* shared burger styling */
.moc-topnav .more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: none;
    background: transparent;
    cursor: pointer;
}
.moc-topnav .more-btn .icon {
    width: 22px;
    height: 22px;
}
.moc-topnav .more-btn .icon path {
    stroke: var(--moc-green);
    stroke-width: 2;
}

/* hide mobile-only burger by default */
.mobile-only { display: none; }

/* desktop view: burger inline with RAW BAR */
@media (min-width: 961px) {
    .moc-topnav .nav-burger-desktop { display: inline-flex; }
}

/* mobile view: grid layout and left burger visible */
@media (max-width: 960px) {
    .moc-topnav .nav-row--main {
        display: grid;
        grid-template-columns: 42px 1fr 42px;
        align-items: center;
        height: 64px;
        padding: 0 12px;
    }

    /* hide desktop nav entirely */
    .moc-topnav nav.main { display: none !important; }

    /* show left burger */
    .mobile-only { display: flex !important; justify-self: start; }

    /* center logo, right cart */
    .moc-topnav .brand { justify-self: center; }
    .moc-topnav .utils { justify-self: end; display: flex; align-items: center; gap: 12px; }
}


@media (max-width: 960px) {
    /* =======================
       MOBILE HEADER — 3 ITEMS
       ======================= */
    .moc-topnav .nav-row--main {
        display: grid;
        grid-template-columns: 42px 1fr 42px;
        align-items: center;
        height: 64px;
        padding: 0 12px;
    }

    /* hide main nav links */
    .moc-topnav nav.main {
        display: none !important;
    }

    /* burger (3 bars) on left */
    .mobile-burger,
    .moc-topnav .nav-burger {
        display: flex !important;
        justify-self: start;
        align-items: center;
        width: 42px;
        height: 42px;
        background: transparent;
    }
    .mobile-burger .icon,
    .moc-topnav .more-btn .icon {
        width: 24px;
        height: 24px;
        stroke: var(--moc-green);
    }

    /* center logo perfectly */
    .moc-topnav .brand {
        justify-self: center !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
        margin: 0 auto !important;
    }
    .moc-topnav .brand img {
        display: block;
        height: 46px;   /* nice balance on mobile */
        width: auto;
        margin: 0 auto !important;
    }

    /* right cart */
    .moc-topnav .utils {
        justify-self: end;
        display: flex;
        align-items: center;
        gap: 12px;
    }
}





/* ===== HERO (Unified) ===== */
.hero {
    position: relative;

    z-index: 1;
    margin-top: 0; /* just in case */
    width: 100%;
    height: clamp(500px, 80vh, 720px);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #fff;
}

/* Video background */
.hero-video video {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Overlay gradient background */
.hero-overlay {
    position: relative;
    z-index: 2;
    padding: clamp(40px, 6vw, 100px);
    max-width: 70%;
    display: flex;
    align-items: center;
    min-height: 100%;
    background: linear-gradient(90deg,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.25) 40%,
    rgba(0, 0, 0, 0.05) 85%,
    rgba(0, 0, 0, 0) 100%);
}

/* Text container */
.hero-text {
    position: relative;
    z-index: 3;
    max-width: 600px;
}

.hero h1 {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: clamp(36px, 5vw, 68px);
    margin-bottom: 0.5em;
    line-height: 1.1;
}

.hero p {
    font-size: clamp(16px, 1.4vw, 20px);
    margin-bottom: 1.2em;
    line-height: 1.5;
}

/* Call-to-action button */
.btn-cta {
    background: var(--moc-green);
    color: #fff;
    font-weight: 600;
    padding: 0.8em 1.8em;
    border-radius: 999px;
    transition: background 0.3s ease;
}
.btn-cta:hover {
    background: var(--moc-orange);
    color: #fff;
}

/* ===== HERO SLIDER (Image + Video) ===== */
.hero-slider {
    position: relative;
    width: 100%;
    height: clamp(500px, 80vh, 720px);
    overflow: visible;

}

.hero-slider .swiper {
    width: 100%;
    height: 100%;
}

.hero-slider .swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    background: transparent !important;
}

/* Background Image */
.hero-slider .slide-bg {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 0 !important;
}

/* Background Video */
.hero-slider video {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Overlay + Text */
.hero-slider .slide-overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
    rgba(0,0,0,0.55) 0%,
    rgba(0,0,0,0.25) 40%,
    rgba(0,0,0,0.05) 85%,
    rgba(0,0,0,0) 100%);
    display: flex;
    align-items: center;
}

.hero-slider .slide-text {
    color: #fff;
    max-width: 600px;
    padding-left: clamp(20px, 6vw, 80px);
}

.hero-slider .slide-text h1 {
    font-family: var(--font-head);
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 700;
    margin-bottom: 0.5em;
}

.hero-slider .slide-text p {
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.5;
    margin-bottom: 1.2em;
    color: rgba(255,255,255,0.85); /* slightly dimmer white for balance */
    text-shadow: 0 1px 4px rgba(0,0,0,0.4); /* helps legibility on light bg */
}

.hero-slider .btn-cta {
    background: var(--moc-green);
    color: #fff;
    font-weight: 600;
    padding: 0.8em 1.8em;
    border-radius: 999px;
    transition: background 0.3s ease;
}
.hero-slider .btn-cta:hover {
    background: var(--moc-orange);
}

/* Swiper controls */
.hero-slider .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.7;
}
.hero-slider .swiper-pagination-bullet-active {
    background: var(--moc-orange);
    opacity: 1;
}
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
    color: #fff;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.hero-slider .swiper-button-prev:hover,
.hero-slider .swiper-button-next:hover {
    opacity: 1;
}

/* Responsive */
@media (max-width: 900px) {
    .hero-slider .slide-overlay {
        background: linear-gradient(180deg,
        rgba(0,0,0,0.6) 0%,
        rgba(0,0,0,0.3) 60%,
        rgba(0,0,0,0.1) 100%);
        justify-content: center;
    }
    .hero-slider .slide-text {
        padding: 0 20px;
        text-align: center;
        max-width: 90%;
        margin: 0 auto;
    }
    .hero-slider .slide-text h1 {
        font-size: clamp(28px, 8vw, 48px);
    }
}


/* ===== Page Header ===== */
/* Adjust page header alignment under fixed nav */
.page-header {
    margin-top: var(--headerH, 80px); /* dynamically match nav height */
    padding: clamp(20px, 8vw, 40px) 0;
    background: var(--paper, #f9faf9); /* your light bg tone */
    text-align: center;
}

.page-header.bg-light {
    background-color: #f9faf9; /* keeps your "bg-light" look */
}
.page-title {
    font-family: var(--font-head);
    font-size: clamp(32px, 4.5vw, 56px);
    margin-bottom: .4em;
    color: var(--ink);
}
.page-subtitle {
    color: var(--ink-2);
    font-size: clamp(16px, 1.5vw, 20px);
    max-width: 700px;
    margin: 0 auto;
}

/* ===== Banner ===== */
.banner {
    background: var(--moc-green);
    color: #fff;
    padding: clamp(40px,6vw,80px) 0;
    text-align: center;
}
.banner-inner {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
}
.banner .eyebrow {
    font-weight:700;
    letter-spacing:.5px;
    opacity:.9;
    text-transform:uppercase;
}
.banner .banner-title {
    font-family: var(--font-head);
    font-size: clamp(28px,3.5vw,42px);
}
.banner .btn-outline {
    border-color:#fff;
    color:var(--moc-green);
}
.banner .btn-outline:hover {
    background:var(--moc-orange);
    color:#fff;
}
/* ===== Testimonials ===== */
.testimonials {
    background:#fff;
}
.testimonials h2 {
    font-family: var(--font-head);
    font-size: clamp(28px,3vw,40px);
    margin-bottom: 1.5em;
    color: var(--ink);
}
.testimonial-grid {
    gap: clamp(30px,3vw,50px);
}
.testimonial {
    background:#f9faf9;
    padding: clamp(20px,3vw,32px);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);
}
.testimonial .quote {
    font-style: italic;
    color: var(--ink);
    line-height:1.6;
    margin-bottom: .8em;
}
.testimonial .author {
    font-weight:700;
    color: var(--moc-green);
    font-size:1rem;
}

/* ==========================
   VIDEO WRAPPER (FrontNew)
   ========================== */

.video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius);
    background: #000;
    box-shadow: var(--shadow-1);
}

.video-wrapper video,
.video-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 1;
}

.video-wrapper .play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: rgba(21,117,117,0.9); /* moc-green */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 32px;
    z-index: 5;
    transition: background .3s ease, transform .2s ease, box-shadow .3s ease;
    pointer-events: auto;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.video-wrapper:hover .play-button {
    background: var(--moc-orange);
    transform: translate(-50%, -50%) scale(1.05);
}

.play-button i {
    font-size: 1.5rem;
}



/* ===== FOOTER ===== */
.moc-footer {
    background: var(--moc-green);
    color: #f8f8f8;
    font-family: var(--font-body);
    padding: clamp(40px, 6vw, 80px) 20px;
}

.moc-footer a {
    color: #f8f8f8;
    text-decoration: none;
    transition: color 0.2s ease;
}

.moc-footer a:hover {
    color: var(--moc-orange);
}

.footer-inner {
    max-width: var(--maxw);
    margin: 0 auto;
    display: grid;
    gap: var(--gap);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.footer-col h3 {
    font-family: var(--font-head);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
    color: #fff;
}

.footer-col address {
    font-style: normal;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1.2rem 0;
}

.footer-col ul li {
    margin: 4px 0;
}

.footer-col ul li a {
    font-size: 0.95rem;
}

.newsletter-form {
    display: flex;
    margin: 1rem 0;
}

.newsletter-form input {
    flex: 1;
    padding: 10px 12px;
    border: none;
    border-radius: var(--radius) 0 0 var(--radius);
    outline: none;
    font-size: 0.95rem;
}

.newsletter-form button {
    background: var(--moc-orange);
    border: none;
    color: white;
    padding: 10px 18px;
    border-radius: 0 var(--radius) var(--radius) 0;
    font-weight: 600;
    cursor: pointer;
}

.newsletter-form button:hover {
    opacity: 0.9;
}

.socials a {
    display: inline-block;
    margin-right: 10px;
    font-size: 1.4rem;
}

.tagline {
    font-style: italic;
    margin-bottom: 1rem;
    color: #e8e8e8;
    font-size: 0.9rem;
}

.contact-mini {
    font-size: 0.9rem;
    margin-top: 1rem;
}

.copyright {
    font-size: 0.8rem;
    color: #ddd;
    margin-top: 1.2rem;
}



/* Refined alignment & spacing for parsed content below videos/images */
.feature-content {
    max-width: clamp(900px, 90%, 1200px);
    margin: 1.25rem auto 2rem auto; /* centers and balances spacing */
    padding: 0 1rem; /* keeps text off edges on mobile */
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--ink-2);
    text-align: center;
}

.feature-content strong {
    color: var(--moc-green);
    font-weight: 600;
}

.feature-content a {
    color: var(--moc-orange);
    text-decoration: none;
    font-weight: 500;
}

.feature-content a:hover {
    text-decoration: underline;
}


