/**
 * Pickle Hunt Theme Stylesheet
 *
 * Designed with a premium custom design system.
 * Uses HSL color system, modern grid/flex layouts, CSS variables, and micro-animations.
 */

/* ==========================================================================
   1. Design System & CSS Variables
   ========================================================================== */
:root {
    /* Color Palette - Gold/Yellow Theme */
    --color-primary-hue: 47;
    --color-primary: #E0B000;
    --color-primary-light: #ffcd1b;
    --color-primary-dark: #b38c00;
    --color-primary-glow: rgba(224, 176, 0, 0.15);

    --color-accent-hue: 45;
    --color-accent: hsl(var(--color-accent-hue), 98%, 52%); /* Warm Mustard/Yellow Accent */
    --color-accent-hover: hsl(var(--color-accent-hue), 98%, 45%);

    --color-bg-base: hsl(210, 20%, 98%); /* Soft light bg */
    --color-bg-card: hsl(0, 0%, 100%);
    --color-bg-footer: #111111;

    --color-text-main: hsl(210, 24%, 16%);
    --color-text-muted: hsl(210, 16%, 46%);
    --color-text-light: hsl(0, 0%, 100%);

    --color-border: hsl(210, 14%, 90%);
    --color-border-hover: hsl(210, 14%, 80%);

    /* Typography */
    --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-body: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.75rem;

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;

    /* Layout & Spacing */
    --container-width: 1200px;
    --container-width-narrow: 800px;
    
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4.5rem;

    /* Shadows & Border Radius */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-full: 9999px;

    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.04);
    --shadow-md: 0 8px 16px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 16px 32px rgba(10, 45, 20, 0.08);
    --shadow-glow: 0 0 20px rgba(42, 128, 64, 0.2);

    /* Transitions */
    --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}



/* ==========================================================================
   2. Reset & Base Styles
   ========================================================================== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--color-bg-base);
    color: var(--color-text-main);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-main);
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: var(--space-md);
}

h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
h4 { font-size: var(--font-size-lg); }

@media (min-width: 768px) {
    h1 { font-size: var(--font-size-4xl); }
    h2 { font-size: var(--font-size-3xl); }
    h3 { font-size: var(--font-size-2xl); }
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast), border-color var(--transition-fast);
}

a:hover {
    color: var(--color-primary-light);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

/* Focus Styling for Accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 4px;
}

/* ==========================================================================
   3. Layout Elements
   ========================================================================== */
.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--space-lg);
    padding-left: var(--space-lg);
    max-width: var(--container-width);
}

.container-narrow {
    max-width: var(--container-width-narrow);
}

.site-main {
    flex: 1 0 auto;
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-3xl);
}

/* Grid Utilities */
.grid {
    display: grid;
    gap: var(--space-lg);
}

.grid-cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(1, minmax(0, 1fr)); }

@media (min-width: 768px) {
    .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ==========================================================================
   4. Header & Navigation (Premium Glassmorphism Look)
   ========================================================================== */
.site-header {
    background-color: hsla(210, 20%, 98%, 0.8);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--color-border);
    position: sticky;
    top: 0;
    z-index: 100;
    transition: background-color var(--transition-base), box-shadow var(--transition-base);
}


.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
}

.site-branding {
    display: flex;
    align-items: center;
}

.site-logo {
    max-height: 48px;
    width: auto;
}

.site-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin: 0;
    letter-spacing: -0.5px;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.site-title span {
    color: var(--color-accent);
}

/* Menus */
.primary-menu-container {
    display: flex;
    align-items: center;
}

.primary-menu {
    display: none; /* Hidden on mobile by default */
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-lg);
}

@media (min-width: 992px) {
    .primary-menu {
        display: flex;
    }
}

.primary-menu a {
    color: var(--color-text-main);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-medium);
    font-size: var(--font-size-sm);
    padding: var(--space-xs) 0;
    border-bottom: 2px solid transparent;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}

/* Mobile Toggle Hamburger */
.mobile-nav-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 101;
}

.mobile-nav-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-text-main);
    transition: transform var(--transition-base), opacity var(--transition-base);
}

@media (min-width: 992px) {
    .mobile-nav-toggle {
        display: none;
    }
}

/* Mobile Drawer Styles */
.mobile-menu-active {
    overflow: hidden;
}

.mobile-nav-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background-color: var(--color-bg-card);
    z-index: 99;
    box-shadow: var(--shadow-lg);
    transition: right var(--transition-base);
    padding: 100px var(--space-xl) var(--space-xl);
}

.mobile-nav-drawer.active {
    right: 0;
}

.mobile-nav-drawer .primary-menu {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    font-size: var(--font-size-lg);
}

/* ==========================================================================
   5. Content Cards & Post Loop Layout
   ========================================================================== */
.post-card {
    background-color: var(--color-bg-card);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
    display: flex;
    flex-direction: column;
}

.post-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--color-primary-glow);
}

.post-card-image {
    aspect-ratio: 16/9;
    overflow: hidden;
    background-color: var(--color-primary-glow);
}

.post-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-slow);
}

.post-card:hover .post-card-image img {
    transform: scale(1.05);
}

.post-card-content {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.post-card-meta {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    margin-bottom: var(--space-xs);
    display: flex;
    gap: var(--space-sm);
}

.post-card-title {
    margin-bottom: var(--space-sm);
}

.post-card-title a {
    color: var(--color-text-main);
}

.post-card-title a:hover {
    color: var(--color-primary);
}

.post-card-excerpt {
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-lg);
    flex-grow: 1;
}

.read-more-link {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
    color: var(--color-primary);
}

.read-more-link::after {
    content: '→';
    transition: transform var(--transition-fast);
}

.post-card:hover .read-more-link::after {
    transform: translateX(4px);
}

/* ==========================================================================
   6. Buttons & Inputs
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--radius-full);
    transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    cursor: pointer;
    border: none;
}

.btn-primary {
    background-color: var(--color-primary);
    color: var(--color-text-light);
}

.btn-primary:hover {
    background-color: var(--color-primary-light);
    color: var(--color-text-light);
    box-shadow: var(--shadow-glow);
}

.btn-accent {
    background-color: var(--color-accent);
    color: hsl(210, 24%, 16%);
}

.btn-accent:hover {
    background-color: var(--color-accent-hover);
    color: hsl(210, 24%, 16%);
    box-shadow: 0 4px 12px rgba(250, 200, 0, 0.3);
}

/* Keep link buttons legible when global anchor hover styles are applied. */
a.btn-primary,
a.btn-primary:visited,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active {
    color: var(--color-text-light);
}

a.btn-accent,
a.btn-accent:visited,
a.btn-accent:hover,
a.btn-accent:focus,
a.btn-accent:active {
    color: hsl(210, 24%, 16%);
}

/* Search Form Input */
.search-form {
    display: flex;
    gap: var(--space-xs);
    max-width: 480px;
    width: 100%;
}

.search-field {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background-color: var(--color-bg-card);
    color: var(--color-text-main);
    transition: border-color var(--transition-fast);
}

.search-field:focus {
    outline: none;
    border-color: var(--color-primary);
}

.search-submit {
    background-color: var(--color-primary);
    color: var(--color-text-light);
    border: none;
    padding: var(--space-sm) var(--space-xl);
    border-radius: var(--radius-md);
    cursor: pointer;
    font-weight: var(--font-weight-semibold);
    transition: background-color var(--transition-fast);
}

.search-submit:hover {
    background-color: var(--color-primary-light);
}

/* ==========================================================================
   7. Single Post / Page Content Markup
   ========================================================================== */
.post-header {
    margin-bottom: var(--space-xl);
    text-align: center;
}

.post-thumbnail-wrapper {
    margin-bottom: var(--space-2xl);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.post-content {
    font-size: var(--font-size-base);
    color: var(--color-text-main);
}

.post-content p {
    margin-top: 0;
    margin-bottom: var(--space-lg);
}

.post-content blockquote {
    border-left: 4px solid var(--color-primary);
    margin: var(--space-xl) 0;
    padding: var(--space-sm) 0 var(--space-sm) var(--space-lg);
    font-style: italic;
    color: var(--color-text-muted);
}

/* ==========================================================================
   8. Footer Layout (Sleek Dark Look)
   ========================================================================== */
.site-footer {
    background-color: #E0B000;
    color: #FFFFFF;
    padding-top: 5rem;
    padding-bottom: 2rem;
    border-top: none;
    font-family: 'Outfit', sans-serif;
}

.site-footer a {
    color: rgba(255, 255, 255, 0.85);
    transition: color 0.25s ease, opacity 0.25s ease;
}

.site-footer a:hover {
    color: #FFFFFF;
    opacity: 1;
}

/* Footer Top Row layout: Brand Info + Links Grid */
.footer-top {
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 4rem;
}

@media (max-width: 991px) {
    .footer-top {
        flex-direction: column;
        gap: 3rem;
    }
}

/* Left Brand Description Column */
.footer-info {
    max-width: 260px;
    flex-shrink: 0;
}

@media (max-width: 991px) {
    .footer-info {
               max-width: 100%;
        text-align: center;
        display: flex;
        flex-direction: column;
    }
    .site-footer{
        padding-top: 2rem;
    }
    .container{
        padding:10px;
    }
    .footer-col{
            text-align: left;
    }
}

.footer-logo,
.site-footer .custom-logo {
    height: 52px;
    width: auto;
    display: block;
    margin-bottom: 1.25rem;
}

@media (max-width: 991px) {
    .footer-logo,
    .site-footer .custom-logo-link {
        margin: 0 auto 1.25rem;
        display: block;
    }
}

.footer-description {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    font-weight: 500;
}

/* Right Columns Links Grid */
.footer-links-grid {
    flex-grow: 1;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem;
}

@media (max-width: 1199px) {
    .footer-links-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2.5rem;
    }
}

@media (max-width: 767px) {
    .footer-links-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 480px) {
    .footer-links-grid {
        grid-template-columns: repeat(2, 1fr);
        text-align: center;
        gap: 2rem 1rem;
    }
}

/* Individual Column Styles */
.footer-col {
    display: flex;
    flex-direction: column;
}

.footer-col-title {
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 1.25rem;
    text-transform: capitalize;
}

.footer-col-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-col-list a {
    font-size: 0.925rem;
    font-weight: 500;
    display: inline-block;
}

/* Instagram link alignment */
.footer-social-link i {
    font-size: 1rem;
    margin-right: 0.25rem;
    vertical-align: middle;
}

/* Giant PICKLEHUNT Text Middle Block */
.footer-middle {
    width: 100%;
    margin-bottom: 2rem;
    overflow: hidden;
}

.footer-giant-text {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Copyright Bottom Row */
.footer-bottom {
    border-top: none;
    padding-top: 1rem;
    text-align: center;
}

.copyright-text {
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    margin: 0;
    letter-spacing: 0.1px;
}

/* ==========================================================================
   9. Error 404 & Search Results Style
   ========================================================================== */
.error-404-container, .no-results-container {
    text-align: center;
    padding: var(--space-3xl) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
}

.error-404-title {
    font-size: 6rem;
    font-weight: 800;
    line-height: 1;
    color: var(--color-primary);
    margin: 0;
}

.error-404-subtitle {
    margin-bottom: var(--space-lg);
}

/* Accessibility bypass links */
.skip-link {
    position: absolute;
    top: -9999px;
    left: -9999px;
    background-color: var(--color-accent);
    color: hsl(210, 24%, 16%);
    padding: var(--space-md);
    z-index: 99999;
}

.skip-link:focus {
    top: 0;
    left: 0;
}

/* ==========================================================================
   10. Homepage Hero Section
   ========================================================================== */
.hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    font-family: 'Outfit', sans-serif;
}

.hero__announcement-bar {
    background-color: #E0B000;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 1rem;
    position: relative;
    z-index: 10;
}

.hero__announcement-text {
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.hero__background-wrapper {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 840px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 80px;
}

@media (max-width: 991px) {
    .hero__background-wrapper {
        min-height: auto;
        padding-bottom: 40px;
    }
    .hero__announcement-bar{
        padding: 25px 10px;
    }
}

.hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(17, 17, 17, 0.45);
    z-index: 1;
}

.hero__navigation {
    position: relative;
    width: 100%;
    z-index: 5;
    background-color: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 991px) {
    .hero__navigation {
        background-color: #111111;
    }
}

.hero__nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 90px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (max-width: 991px) {
    .hero__nav-container {
        height: 85px;
    }
}

.hero__logo-wrapper {
    flex-shrink: 0;
}

.hero__logo-wrapper img,
.hero__logo-wrapper .custom-logo {
    height: 60px;
    width: auto;
    display: block;
}

@media (max-width: 991px) {
    .hero__logo-wrapper img,
    .hero__logo-wrapper .custom-logo {
        height: 36px;
    }
}

.hero__menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem;
}

@media (min-width: 992px) {
    .hero__menu {
        display: flex;
        align-items: center;
    }
}

.hero__menu li {
    position: relative;
}

.hero__menu a,
.hero__menu-link {
    color: rgba(255, 255, 255, 0.9);
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 0.5rem 0;
    transition: color 0.25s ease;
}

.hero__menu a:hover,
.hero__menu .current-menu-item > a,
.hero__menu-link:hover,
.hero__menu-link--active {
    color: #E0B000;
}

.hero__menu li.menu-item-has-children > a::after,
.hero__menu-item--has-children > a::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 5px;
    margin-left: 0.35rem;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.25s ease;
}

.hero__menu li.menu-item-has-children:hover > a::after,
.hero__menu-item--has-children:hover > a::after {
    transform: translateY(2px);
}

.hero__nav-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.hero__btn-search {
    background-color: #FFFFFF;
    color: #111111;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.2s ease;
}

.hero__btn-search:hover {
    background-color: rgba(255, 255, 255, 0.9);
    transform: scale(1.05);
}

.hero__btn-search svg {
    display: block;
}

.hero__btn-contact {
    background-color: #E0B000;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
    padding: 0.75rem 1.75rem;
    border-radius: 30px;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    text-align: center;
    box-shadow: 0 4px 14px rgba(224, 176, 0, 0.2);
}

@media (max-width: 767px) {
    .hero__btn-contact {
        display: none;
    }
}

.hero__btn-contact:hover {
    background-color: #f7c70c;
    color: #111111;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(224, 176, 0, 0.35);
}

.hero__menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 100;
}

@media (min-width: 992px) {
    .hero__menu-toggle {
        display: none;
    }
}

.hero__menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.hero__menu-toggle--active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.hero__menu-toggle--active span:nth-child(2) {
    opacity: 0;
}

.hero__menu-toggle--active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

.hero__drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background-color: #111111;
    z-index: 99;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.5);
    transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 110px 2rem 2rem;
    display: flex;
    flex-direction: column;
}

.hero__drawer--active {
    right: 0;
}

.hero__drawer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hero__drawer-menu a,
.hero__drawer-link {
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    text-decoration: none;
    display: block;
    padding: 0.5rem 0;
    transition: color 0.25s ease;
}

.hero__drawer-menu a:hover,
.hero__drawer-link:hover {
    color: #E0B000;
}

.hero__drawer-link--button {
    text-align: center;
    background-color: #E0B000;
    color: #111111 !important;
    border-radius: 30px;
    padding: 0.75rem;
    margin-top: 1rem;
    box-shadow: 0 4px 10px rgba(224, 176, 0, 0.25);
}

.hero__drawer-link--button:hover {
    background-color: #f7c70c;
    color: #111111 !important;
}

.hero__drawer-close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    color: #FFFFFF;
    font-size: 1.75rem;
    cursor: pointer;
    padding: 0.5rem;
    transition: color 0.2s ease;
    z-index: 101;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero__drawer-close:hover {
    color: #E0B000;
}

.hero__content-container {
    position: relative;
    z-index: 2;
    margin-top: 200px;
    text-align: center;
}

@media (max-width: 991px) {
    .hero__content-container {
        margin-top: 35px;
        margin-bottom: 25px;
    }
}

@media (max-width: 767px) {
    .hero__content-container {
        margin-top: 45px;
        margin-bottom: 15px;
    }
}

.hero__content-box {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1rem;
}

.hero__pill {
    border: 1px solid rgba(224, 176, 0, 0.6);
    background-color: rgba(224, 176, 0, 0.08);
    padding: 0.45rem 1.25rem;
    border-radius: 30px;
    margin-bottom: 2rem;
    display: inline-flex;
}

@media (max-width: 767px) {
    .hero__pill {
        padding: 0.35rem 0.9rem;
        margin-bottom: 1rem;
    }
}

.hero__pill-text {
    color: #E0B000;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
}

@media (max-width: 767px) {
    .hero__pill-text {
        font-size: 0.68rem;
        letter-spacing: 1px;
    }
}

.hero__heading {
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 850;
    font-size: 3.5rem;
    line-height: 1.15;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

@media (max-width: 991px) {
    .hero__heading {
        font-size: 2.25rem;
        line-height: 1.2;
    }
}

@media (max-width: 767px) {
    .hero__heading {
        font-size: 1.55rem;
        line-height: 1.25;
        margin-bottom: 0.85rem;
    }
    .hero__content-box {
        padding: 0;
    }
}

.hero__subheading {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.125rem;
    line-height: 1.65;
    max-width: 660px;
    margin: 0 auto;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}

@media (max-width: 767px) {
    .hero__subheading {
        font-size: 0.9375rem;
        line-height: 1.55;
    }
}

.hero__search-container {
    position: relative;
    z-index: 3;
    padding-top: 20px;
}

@media (max-width: 991px) {
    .hero__search-container {
        padding-top: 20px;
    }
}

.hero__search-card {
    background-color: #FFF9E8;
    border-radius: 28px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.05);
    padding: 2rem;
    width: 100%;
    max-width: 1060px;
    margin: 0 auto;
    border: 1px solid rgba(224, 176, 0, 0.15);
}

@media (max-width: 767px) {
    .hero__search-card {
        padding: 1.25rem 1rem;
        border-radius: 20px;
    }
}

.hero__tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
    .hero__tabs {
        margin-bottom: 1.25rem;
    }
}

.hero__tab {
    background: transparent;
    border: none;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.8125rem;
    letter-spacing: 1px;
    padding: 0.65rem 1.5rem;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

@media (max-width: 575px) {
    .hero__tab {
        padding: 0.5rem 1rem;
        font-size: 0.75rem;
    }
}

.hero__tab--active {
    background-color: #E0B000;
    color: #111111;
}

.hero__tab:not(.hero__tab--active):hover {
    background-color: rgba(224, 176, 0, 0.1);
}

.hero__divider {
    border-top: 2px dashed rgba(17, 17, 17, 0.08);
    margin-bottom: 1.5rem;
}

.hero__form {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
    align-items: flex-end;
}

@media (max-width: 991px) {
    .hero__form {
        gap: 1rem;
    }
}

@media (max-width: 767px) {
    .hero__form {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        align-items: stretch;
    }
}

.hero__form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hero__form-group:nth-child(1) {
    grid-column: span 4;
}
@media (max-width: 991px) {
    .hero__form-group:nth-child(1) { grid-column: span 12; }
}

.hero__form-group:nth-child(2) {
    grid-column: span 3;
}
@media (max-width: 991px) {
    .hero__form-group:nth-child(2) { grid-column: span 6; }
}

.hero__form-group:nth-child(3) {
    grid-column: span 2;
}
@media (max-width: 991px) {
    .hero__form-group:nth-child(3) { grid-column: span 6; }
}

.hero__form-group--submit {
    grid-column: span 3;
}
@media (max-width: 991px) {
    .hero__form-group--submit { grid-column: span 12; }
}

@media (max-width: 991px) {
    .hero__form-group {
        margin-bottom: 0.5rem;
    }
}

.hero__label {
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding-left: 0.25rem;
}

.hero__input {
    background-color: #FFFFFF;
    color: #111111;
    border: 1px solid rgba(17, 17, 17, 0.1);
    height: 48px;
    padding: 0 1.25rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    width: 100%;
    transition: border-color 0.25s ease;
}

.hero__input:focus {
    outline: none;
    border-color: #E0B000;
}

.hero__input::placeholder {
    color: rgba(17, 17, 17, 0.4);
}

.hero__select-wrapper {
    position: relative;
    width: 100%;
}

.hero__select-wrapper::after {
    content: '';
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 5px;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%23111111' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
}

.hero__select {
    background-color: #FFFFFF;
    color: #111111;
    border: 1px solid rgba(17, 17, 17, 0.1);
    height: 48px;
    padding: 0 2.5rem 0 1.25rem;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    width: 100%;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: border-color 0.25s ease;
}

.hero__select:focus {
    outline: none;
    border-color: #E0B000;
}

.hero__btn-submit {
    background-color: #E0B000;
    color: #111111;
    border: none;
    height: 48px;
    border-radius: 10px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    box-shadow: 0 4px 12px rgba(224, 176, 0, 0.2);
}

@media (max-width: 767px) {
    .hero__btn-submit {
        width: 100%;
        margin-top: 0.5rem;
    }
}

.hero__btn-submit:hover {
    background-color: #f7c70c;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(224, 176, 0, 0.35);
}

.hero__btn-submit-icon {
    display: flex;
    align-items: center;
}

.hero-drawer-active {
    overflow: hidden;
}
.hero__panel[hidden]{display:none!important}.hero__select:disabled{opacity:.6;cursor:not-allowed}.hero__panel .hero__form-group:nth-child(1){grid-column:span 4}.hero__panel .hero__form-group:nth-child(2){grid-column:span 3}.hero__panel .hero__form-group:nth-child(3){grid-column:span 2}.hero__panel .hero__form-group--submit{grid-column:span 3}

/* Custom styling for Front Page wrapper to remove container padding and margins */
.site-main--front-page {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* Transparent and Solid Header Overrides */
@media (min-width: 992px) {
    .site-header.site-header--transparent {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        margin-bottom: -90px !important;
        background-color: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        box-shadow: none !important;
        z-index: 10 !important;
    }
}

@media (max-width: 991px) {
    .site-header.site-header--transparent {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 0 !important;
        background-color: #111111 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        z-index: 100 !important;
    }
}

.site-header.site-header--solid {
    background-color: #111111 !important; /* Premium dark background for subpages menu readability */
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
}

/* ==========================================================================
   11. Homepage Blog Section
   ========================================================================== */
.home-blog {
    background-color: #FFFFFF;
    padding: 6rem 0;
    font-family: 'Outfit', sans-serif;
}

@media (max-width: 991px) {
    .home-blog {
        padding: 4rem 0;
    }
}

.home-blog__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.home-blog__pill {
    display: inline-flex;
    border: 1px solid #E0B000;
    padding: 0.45rem 1.25rem;
    border-radius: 30px;
    margin-bottom: 1.5rem;
}

.home-blog__pill-text {
    color: #E0B000;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.home-blog__title {
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2.75rem;
    font-weight: 850;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 4rem;
    text-transform: uppercase;
}

@media (max-width: 991px) {
    .home-blog__title {
        font-size: 2rem;
        margin-bottom: 2.5rem;
    }
    .home-blog__title br {
        display: none;
    }
    .home-blog__container{
        padding: 10px;
    }
}

.home-blog__grid {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 3.5rem;
    margin-bottom: 4rem;
}

@media (max-width: 991px) {
    .home-blog__grid {
        gap: 2rem;
    }
}

@media (max-width: 767px) {
    .home-blog__grid {
        flex-direction: column;
        gap: 2.5rem;
        margin-bottom: 3rem;
    }
}

.home-blog__featured-col {
    flex: 0 0 calc(52% - 1.75rem);
    max-width: calc(52% - 1.75rem);
}

@media (max-width: 767px) {
    .home-blog__featured-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.home-blog__sidebar-col {
    flex: 0 0 calc(48% - 1.75rem);
    max-width: calc(48% - 1.75rem);
}

@media (max-width: 767px) {
    .home-blog__sidebar-col {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.home-blog__divider {
    width: 1px;
    border-left: 2px dashed rgba(17, 17, 17, 0.12);
    align-self: stretch;
}

@media (max-width: 767px) {
    .home-blog__divider {
        display: none;
    }
}

.home-blog__sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    justify-content: space-between;
}

@media (max-width: 767px) {
    .home-blog__sidebar-list {
        gap: 1.5rem;
    }
}

.home-blog__footer {
    display: flex;
    justify-content: flex-start;
}

@media (max-width: 767px) {
    .home-blog__footer {
        justify-content: stretch;
    }
}

.home-blog__btn-all {
    background-color: #E0B000;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    padding: 0.95rem 2.25rem;
    border-radius: 30px;
    transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@media (max-width: 767px) {
    .home-blog__btn-all {
        width: 100%;
        text-align: center;
    }
}

.home-blog__btn-all:hover {
    background-color: #c49900;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(224, 176, 0, 0.25);
}

.article-card {
    background-color: #FFF9E8;
    border: 1px solid rgba(224, 176, 0, 0.12);
    border-radius: 28px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    overflow: hidden;
}

.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

.article-card:hover .article-card__read-more {
    text-decoration: underline;
}

.article-card:hover .article-card__read-more-chevron {
    transform: translateX(4px);
}

.article-card__image-wrapper,
.article-card__thumbnail-wrapper {
    overflow: hidden;
    position: relative;
}

.article-card__image,
.article-card__thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.article-card:hover .article-card__image,
.article-card:hover .article-card__thumbnail {
    transform: scale(1.04);
}

.article-card__content {
    display: flex;
    flex-direction: column;
}

.article-card__category-badge {
    display: inline-block;
    background-color: #E0B000;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    padding: 0.35rem 0.95rem;
    border-radius: 20px;
    align-self: flex-start;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.article-card__title {
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    margin-top: 0;
    margin-bottom: 0.75rem;
    line-height: 1.35;
}

.article-card__title a {
    color: #111111;
    text-decoration: none;
    transition: color 0.25s ease;
}

.article-card__title a:hover {
    color: #383838;
}

.article-card__excerpt {
    color: hsl(210, 16%, 46%);
    font-size: 0.9375rem;
    line-height: 1.55;
    margin-top: 0;
    margin-bottom: 1.5rem;
}

.article-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
    margin-top: auto;
}

.article-card__read-more-chevron {
    display: inline-flex;
    align-items: center;
    transition: transform 0.25s ease;
}

.article-card--large {
    flex-direction: column;
    height: 100%;
}

.article-card--large .article-card__image-wrapper {
    width: 100%;
    aspect-ratio: 16/10;
    border-bottom: 1px solid rgba(224, 176, 0, 0.08);
}

.article-card--large .article-card__content {
    padding: 2.25rem;
    flex: 1;
}

@media (max-width: 767px) {
    .article-card--large .article-card__content {
        padding: 1.75rem;
    }
}

.article-card--large .article-card__title {
    font-size: 1.75rem;
    font-weight: 800;
}

@media (max-width: 991px) {
    .article-card--large .article-card__title {
        font-size: 1.5rem;
    }
}

.article-card--small {
    flex-direction: row;
    align-items: stretch;
    min-height: 190px;
}

@media (max-width: 575px) {
    .article-card--small {
        flex-direction: column;
    }
}

.article-card--small .article-card__thumbnail-wrapper {
    flex: 0 0 180px;
    width: 180px;
    border-right: 1px solid rgba(224, 176, 0, 0.08);
}

@media (max-width: 991px) {
    .article-card--small .article-card__thumbnail-wrapper {
        flex: 0 0 150px;
        width: 150px;
    }
}

@media (max-width: 575px) {
    .article-card--small .article-card__thumbnail-wrapper {
        flex: 0 0 auto;
        width: 100%;
        aspect-ratio: 16/10;
        border-right: none;
        border-bottom: 1px solid rgba(224, 176, 0, 0.08);
    }
}

.article-card--small .article-card__content {
    padding: 1.5rem 1.75rem;
    flex: 1;
}

@media (max-width: 991px) {
    .article-card--small .article-card__content {
        padding: 1.25rem;
    }
}

.article-card--small .article-card__title {
    font-size: 1.15rem;
    font-weight: 800;
    margin-bottom: 0.5rem;
}

@media (max-width: 991px) {
    .article-card--small .article-card__title {
        font-size: 1.05rem;
    }
}

.article-card--small .article-card__excerpt {
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.875rem;
}

/* ==========================================================================
   12. Homepage Category Carousel Section
   ========================================================================== */
.category-carousel {
    background-color: #FFFFFF;
    padding: 6rem 0;
    overflow: hidden;
    font-family: 'Outfit', sans-serif;
}

@media (max-width: 991px) {
    .category-carousel {
        padding: 4rem 0;
    }
}

.category-carousel__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

.category-carousel__badge-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.category-carousel__pill {
    display: inline-flex;
    border: 1px solid #E0B000;
    padding: 0.45rem 1.25rem;
    border-radius: 30px;
}

.category-carousel__pill-text {
    color: #E0B000;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.category-carousel__title {
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2.75rem;
    font-weight: 850;
    line-height: 1.2;
    margin-top: 0;
    margin-bottom: 4rem;
    text-transform: uppercase;
    text-align: center;
}

@media (max-width: 991px) {
    .category-carousel__title {
        font-size: 2rem;
        margin-bottom: 2.5rem;
    }
    .category-carousel__title br {
        display: none;
    }
}

.category-carousel__slides-wrapper {
    margin: 0 -15px 3.5rem;
}

.category-carousel__subtitle {
    font-family: 'Outfit', sans-serif;
    font-size: 1.1rem;
    font-weight: 400;
    color: #888888;
    max-width: 650px;
    margin: -3rem auto 3.5rem;
    text-align: center;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .category-carousel__subtitle {
        font-size: 0.95rem;
        margin: -2rem auto 2.5rem;
        padding: 0 1rem;
    }
}

.category-carousel__slides-wrapper .slick-list {
    overflow: hidden;
}

.category-carousel__slides-wrapper .slick-slide {
    padding: 2.25rem 10px;
    outline: none;
    box-sizing: border-box !important;
}

.category-carousel__nav {
    display: flex;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 1.5rem;
}

.category-carousel__nav-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(224, 176, 0, 0.15);
    background-color: #FFF9E8;
    color: #E0B000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    cursor: pointer;
    outline: none;
    transition: background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.category-carousel__nav-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
}

.category-carousel__nav-btn--active {
    background-color: #E0B000;
    color: #111111;
    border-color: #E0B000;
}

.category-carousel__nav-btn--active:hover {
    background-color: #c49900;
}

.category-card {
    box-sizing: border-box !important;
    background-color: #FFF9E8;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 16px;
    width: auto;
    max-width: 220px;
    min-height: 290px;
    margin: 0 5px;
    padding: 2.25rem 1.25rem 1.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
}

.category-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.04);
    border-color: rgba(224, 176, 0, 0.2);
}

.category-card__icon-wrapper {
    margin-bottom: 1.25rem;
    display: flex;
    justify-content: center;
}

.category-card__icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    background-color: rgba(224, 176, 0, 0.06);
    color: #E0B000;
    transition: transform 0.3s ease;
}

.category-card:hover .category-card__icon-circle {
    transform: scale(1.05);
}

.category-card__name {
    margin: 0 0 0.5rem 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
    color: #111111;
    line-height: 1.25;
}

.category-card__desc {
    margin: 0 0 1.5rem 0;
    font-family: 'Outfit', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: #666666;
    line-height: 1.45;
}

.category-card__arrow {
    margin-top: auto;
    color: #E0B000;
    font-size: 1rem;
    transition: transform 0.3s ease;
}

.category-card:hover .category-card__arrow {
    transform: translateX(5px);
}

/* ==========================================================================
   13. Homepage Featured Gear Section
   ========================================================================== */
.featured-gear {
    background-color: #FFFBEF;
    padding: 6rem 0;
    overflow: hidden;
    font-family: 'Outfit', sans-serif;
}

@media (max-width: 991px) {
    .featured-gear {
        padding: 4rem 0;
    }
}

.featured-gear__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* Outlined Pill Label */
.featured-gear__badge-wrapper {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 1.5rem;
}

.featured-gear__pill {
    display: inline-flex;
    border: 1.5px solid #E0B000;
    padding: 0.45rem 1.25rem;
    border-radius: 30px;
    background: transparent;
}

.featured-gear__pill-text {
    color: #E0B000;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Large Two-Line Heading */
.featured-gear__title {
    color: #111111;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 2.75rem;
    font-weight: 850;
    line-height: 1.2;
    margin-top: 0;
    text-transform: uppercase;
    text-align: left;
}

@media (max-width: 991px) {
    .featured-gear__title {
        font-size: 2rem;
        margin-bottom: 2.5rem;
    }
    .featured-gear__title br {
        display: none;
    }
}

/* Slick Slider Wrapper */
.featured-gear__slider-wrapper {
    margin: 0 -15px 3.5rem;
}

.featured-gear__slider-wrapper .slick-list {
    overflow: hidden;
}

.featured-gear__slider-wrapper .slick-slide {
    padding: 2.25rem 15px 2rem;
    outline: none;
}

/* Bottom Actions Row */
.featured-gear__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}

@media (max-width: 767px) {
    .featured-gear__footer {
        flex-direction: column;
        gap: 1.5rem;
        align-items: stretch;
    }
}

@media (max-width: 767px) {
    .featured-gear__action-wrapper {
        width: 100%;
    }
}

/* Gold View All Button */
.featured-gear__btn-all {
    background-color: #E0B000;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    padding: 0.95rem 2.25rem;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
}

@media (max-width: 767px) {
    .featured-gear__btn-all {
        width: 100%;
        padding: 1.1rem 2rem;
    }
}

.featured-gear__btn-all:hover {
    background-color: #c49900;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(224, 176, 0, 0.25);
    color: #FFFFFF;
}

/* Prev / Next Slider Navigation Buttons */
.featured-gear__nav {
    display: flex;
    gap: 1.25rem;
}

@media (max-width: 767px) {
    .featured-gear__nav {
        justify-content: center;
    }
}

.featured-gear__nav-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1.5px solid rgba(224, 176, 0, 0.15);
    background-color: #FFF9E8;
    color: #E0B000;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    cursor: pointer;
    outline: none;
    transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.featured-gear__nav-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
}

/* Solid active next state */
.featured-gear__nav-btn--active {
    background-color: #E0B000;
    color: #FFFBEF;
    border-color: #E0B000;
}

.featured-gear__nav-btn--active:hover {
    background-color: #c49900;
}

/* ==========================================================================
   Product Card Styles
   ========================================================================== */
.product-card {
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    background: transparent;
}

/* Large Image Box */
.product-card__image-container {
    position: relative;
    background-color: #EDEDED;
    border-radius: 28px;
    border: 1.5px solid rgba(0, 0, 0, 0.03);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.product-card__image-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-card__image {
    max-width: 70%;
    max-height: 70%;
    object-fit: contain;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Floating Add To Cart Button Overlap */
.product-card__action-btn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 75%) scale(0.95);
    opacity: 0;
    pointer-events: none;
    background-color: #E0B000;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.5px;
    padding: 0.75rem 2rem;
    border-radius: 30px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(224, 176, 0, 0.2);
    transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 2;
}

.product-card__action-btn:hover {
    background-color: #c49900;
    color: #FFFFFF;
    box-shadow: 0 6px 16px rgba(224, 176, 0, 0.3);
}

/* Text info content below image box */
.product-card__info {
    margin-top: 2.25rem;
    display: flex;
    flex-direction: column;
}

/* Product Title */
.product-card__title {
    margin: 0 0 0.5rem 0;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.2px;
    text-transform: uppercase;
}

.product-card__title a {
    color: #111111;
    transition: color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.product-card__title a:hover {
    color: #E0B000;
}

/* Bottom Row Meta: Price & Rating */
.product-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product-card__price {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 1.15rem;
    color: #111111;
}

.product-card__rating {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #E0B000;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.product-card__star-icon {
    color: #E0B000;
    font-size: 0.95rem;
}

/* Hover Lift & Scale Overrides */
.product-card:hover {
    transform: translateY(-8px);
}

.product-card:hover .product-card__image-container {
    box-shadow: 0 16px 36px rgba(17, 17, 17, 0.08);
    border-color: rgba(224, 176, 0, 0.15);
    background-color: #D6D6D6;
}

.product-card:hover .product-card__image {
    transform: scale(1.05);
}

.product-card:hover .product-card__action-btn {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 50%) scale(1);
}

.product-card:hover .product-card__action-btn:hover {
    transform: translate(-50%, 50%) scale(1.05);
}

/* ==========================================================================
   14. Homepage Facilities Section
   ========================================================================== */
.facilities {
  background-color: #FFFFFF;
  padding: 6rem 0;
  overflow: hidden;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 991px) {
  .facilities {
    padding: 4rem 0;
  }
}
.facilities__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.facilities__badge-wrapper {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 1.5rem;
}
.facilities__pill {
  display: inline-flex;
  border: 1.5px solid #E0B000;
  padding: 0.45rem 1.25rem;
  border-radius: 30px;
  background: transparent;
}
.facilities__pill-text {
  color: #E0B000;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.facilities__title {
  color: #111111;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.75rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 4rem;
  text-transform: uppercase;
  text-align: left;
}
@media (max-width: 991px) {
  .facilities__title {
    font-size: 2rem;
    margin-bottom: 2.5rem;
  }
  .facilities__title br {
    display: none;
  }
}
.facilities__slider-wrapper {
  margin: 0 -5px 3.5rem;
}
.facilities__slider-wrapper .slick-list {
  overflow: hidden;
}
.facilities__slider-wrapper .slick-slide {
  /* padding: 2.25rem 0 2rem; */
  margin: 5px;
  outline: none;
  box-sizing: border-box !important;
}
.facilities__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .facilities__footer {
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch;
  }
}
@media (max-width: 767px) {
  .facilities__action-wrapper {
    width: 100%;
  }
}
.facilities__btn-all {
  background-color: #E0B000;
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.5px;
  padding: 0.95rem 2.25rem;
  border-radius: 30px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
}
@media (max-width: 767px) {
  .facilities__btn-all {
    width: 100%;
    padding: 1.1rem 2rem;
  }
}
.facilities__btn-all:hover {
  background-color: #b89000;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(224, 176, 0, 0.25);
  color: #FFFFFF;
}
.facilities__nav {
  display: flex;
  gap: 1.25rem;
}
@media (max-width: 767px) {
  .facilities__nav {
    justify-content: center;
  }
}
.facilities__nav-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1.5px solid rgba(224, 176, 0, 0.15);
  background-color: #FFF9E8;
  color: #E0B000;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  outline: none;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.facilities__nav-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
}
.facilities__nav-btn--active {
  background-color: #E0B000;
  color: #FFFFFF;
  border-color: #E0B000;
}
.facilities__nav-btn--active:hover {
  background-color: #b89000;
}

/* ==========================================================================
   Court Card Styles
   ========================================================================== */
.court-card {
  box-sizing: border-box !important;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #FFFDF4;
  border: 1.5px solid rgba(224, 176, 0, 0.25);
  border-radius: 28px;
  overflow: hidden;
  width: auto;
  margin: 0 5px;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
}
.court-card__image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background-color: #EDEDED;
}
.court-card__image-link {
  display: block;
  width: 100%;
  height: 100%;
}
.court-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.court-card__badges {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  display: flex;
  gap: 0.5rem;
  z-index: 2;
}
.court-card__badge {
  background-color: #E0B000;
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.35rem 0.85rem;
  border-radius: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.court-card__info {
  padding: 2rem 2rem;
  display: flex;
  flex-direction: column;
}
.court-card__title {
  margin: 0 0 0.5rem 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.35rem;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: -0.5px;
  text-transform: uppercase;
}
.court-card__title a {
  color: #111111;
  transition: color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.court-card__title a:hover {
  color: #E0B000;
}
.court-card__location {
  margin: 0 0 1.25rem 0;
  font-family: "Outfit", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #666666;
}
.court-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
.court-card__rating {
  color: #E0B000;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.court-card__star-icon {
  color: #E0B000;
  font-size: 0.95rem;
}
.court-card__divider {
  color: rgba(0, 0, 0, 0.25);
}
.court-card__count {
  color: #666666;
  font-weight: 500;
}
.court-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 36px rgba(224, 176, 0, 0.15);
  border-color: #E0B000;
}
.court-card:hover .court-card__image {
  transform: scale(1.05);
}

/* Homepage live state directory */
.state-directory__heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3rem}.state-directory__heading-row .facilities__title{margin-bottom:0}.state-directory__heading-row p{max-width:420px;margin:0 0 .5rem;color:#666;font:400 1.05rem/1.7 "Outfit",sans-serif}.state-directory__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.state-directory__card{position:relative;display:flex;min-height:108px;flex-direction:column;justify-content:center;padding:.95rem 1rem;border:1px solid #e7e2d3;border-radius:16px;background:#f5f3ec;color:#153f36;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.state-directory__card.has-courts{background:#fff9e8;border-color:rgba(224,176,0,.45)}.state-directory__card:hover{transform:translateY(-4px);border-color:#e0b000;box-shadow:0 12px 28px rgba(18,62,53,.11)}.state-directory__abbr{font:800 1.45rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em}.state-directory__name{margin-top:.4rem;color:#5f6e69;font:500 .72rem/1.2 "Plus Jakarta Sans",sans-serif}.state-directory__count{margin-top:.55rem;color:#111;font:700 .76rem/1 "Plus Jakarta Sans",sans-serif}.state-directory__card.is-empty{opacity:.65}.state-directory__card.is-empty .state-directory__count{color:#60716b}.state-directory__card i{position:absolute;right:12px;top:12px;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:#e0b000;color:#fff;font-size:.65rem}.state-directory__footer{display:flex;justify-content:center;margin-top:3rem}@media(max-width:1199px){.state-directory__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:991px){.state-directory__heading-row{align-items:flex-start;flex-direction:column;gap:1rem}.state-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:575px){.state-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.state-directory__card{min-height:105px;padding:.9rem;border-radius:14px}.state-directory__abbr{font-size:1.3rem}.state-directory__name{font-size:.68rem}}


/* Gear directory and affiliate product pages */
.gear-page{background:#fffaf0}.gear-page__hero{display:flex;min-height:635px;align-items:center;padding:5rem 0;background-color:#111;background-position:center;background-size:cover;color:#fff}.gear-page__hero .container{display:flex;max-width:1200px;flex-direction:column;align-items:flex-start}.gear-page__eyebrow{display:inline-block;margin-bottom:1.75rem;padding:.7rem 1.35rem;border:1.5px solid #e0b000;border-radius:999px;color:#e0b000;font:700 .82rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase}.gear-page__label{display:inline-block;margin-bottom:1.25rem;color:#e0b000;font:700 .85rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}.gear-page__hero h1{max-width:850px;margin:0;color:#fff;font:800 clamp(3rem,5vw,5rem)/1.05 "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em;text-transform:uppercase}.gear-page__hero p{max-width:670px;margin:2rem 0 0;color:rgba(255,255,255,.86);font:400 1.15rem/1.7 "Outfit",sans-serif}.gear-page__catalog{padding:6rem 0}.gear-page__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem}.gear-page__toolbar h2{margin:0;font:800 clamp(2rem,4vw,3.5rem)/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em;text-transform:uppercase}.gear-page__toolbar select{min-width:250px;padding:1rem 2.8rem 1rem 1.1rem;border:1px solid #dedbd1;border-radius:12px;background:#fff;color:#153f36;font-weight:600}.gear-page__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem 1.5rem}.gear-page__grid .product-card{min-width:0}.gear-page__pagination{display:flex;justify-content:center;gap:.5rem;margin-top:4rem}.gear-page__pagination .page-numbers{display:grid;min-width:42px;height:42px;padding:0 .75rem;place-items:center;border-radius:50px;background:#fff;color:#153f36;text-decoration:none}.gear-page__pagination .current,.gear-page__pagination a:hover{background:#e0b000;color:#fff}.gear-page__empty{padding:5rem 2rem;border-radius:24px;background:#f3f1e9;text-align:center}.gear-single{padding:0 0 7rem;background:#fffaf0}.gear-single__breadcrumbs{padding:3rem 0}.gear-single__article{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:4rem;align-items:center}.gear-single__visual{display:grid;min-height:580px;padding:3rem;place-items:center;border-radius:28px;background:#efefef}.gear-single__visual img{max-width:100%;max-height:650px;object-fit:contain}.gear-single__summary h1{margin:.25rem 0 1.5rem;color:#111;font:800 clamp(2.3rem,4vw,4.2rem)/1.02 "Plus Jakarta Sans",sans-serif;letter-spacing:-.055em;text-transform:uppercase}.gear-single__excerpt{color:#65706d;font-size:1.15rem;line-height:1.7}.gear-single__meta{display:flex;align-items:center;gap:1.5rem;margin:2rem 0}.gear-single__meta strong{font:800 1.8rem/1 "Plus Jakarta Sans",sans-serif}.gear-single__meta span{color:#e0b000;font-weight:800}.gear-single__affiliate{display:inline-flex;gap:.75rem;align-items:center}.gear-single__disclosure{max-width:460px;margin-top:1rem;color:#7c8582;font-size:.78rem;line-height:1.5}.gear-single__content{grid-column:1/-1;margin-top:2rem;padding:4rem;border:1px solid #e5e0d4;border-radius:24px;background:#fff;font-size:1.08rem;line-height:1.8}.product-card__action-btn{text-decoration:none}@media(max-width:991px){.gear-page__hero{min-height:540px}.gear-page__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-single__article{grid-template-columns:1fr;gap:2.5rem}.gear-single__visual{min-height:420px}.gear-page__toolbar{align-items:flex-start;flex-direction:column}}@media(max-width:575px){.gear-page__hero{min-height:480px;padding:4rem 0}.gear-page__hero p{margin-top:1.4rem;font-size:1rem}.gear-page__catalog{padding:4rem 0}.gear-page__grid{grid-template-columns:1fr}.gear-page__toolbar select{width:100%;min-width:0}.gear-page__toolbar form{width:100%}.gear-single__breadcrumbs{padding:2rem 0}.gear-single__visual{min-height:320px;padding:1.5rem;border-radius:20px}.gear-single__content{padding:1.5rem}.gear-single__summary h1{font-size:2.25rem}}

/* ==========================================================================
   15. Homepage Ebook Promotional Banner
   ========================================================================== */
.home-ebook {
  background-color: #FFFFFF;
  padding: 6rem 0;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 991px) {
  .home-ebook {
    padding: 4rem 0;
  }
}
.home-ebook__container {
  max-width: 1200px;
  margin: 0 auto;
  /* padding: 0 1.5rem; */
}
.home-ebook__card {
  background-color: #E0B000;
  border-radius: 40px;
  padding: 4.5rem 5rem;
  display: flex;
  align-items: center;
  gap: 5rem;
  box-shadow: 0 20px 50px rgba(224, 176, 0, 0.15);
}
@media (max-width: 991px) {
  .home-ebook__card {
    flex-direction: column;
    gap: 3rem;
    padding: 2rem 1rem;
    text-align: center;
  }
}
.home-ebook__cover-col {
  flex-shrink: 0;
  width: 32%;
  display: flex;
  justify-content: center;
}
@media (max-width: 991px) {
  .home-ebook__cover-col {
    width: 100%;
    max-width: 280px;
  }
}
.home-ebook__cover {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(10px 15px 25px rgba(17, 17, 17, 0.35));
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.home-ebook__cover:hover {
  transform: scale(1.03) translateY(-4px);
}
.home-ebook__details-col {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 991px) {
  .home-ebook__details-col {
    align-items: center;
  }
}
.home-ebook__badge-wrapper {
  margin-bottom: 1.5rem;
}
.home-ebook__badge {
  display: inline-flex;
  border: 1.5px solid #FFFFFF;
  color: #FFFFFF;
  padding: 0.4rem 1.15rem;
  border-radius: 30px;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: transparent;
}
.home-ebook__title {
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.75rem;
  font-weight: 850;
  line-height: 1.15;
  margin-top: 0;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
@media (max-width: 1199px) {
  .home-ebook__title {
    font-size: 2.25rem;
  }
}
@media (max-width: 767px) {
  .home-ebook__title {
    font-size: 1.85rem;
  }
}
.home-ebook__description {
  color: rgba(255, 255, 255, 0.95);
  font-size: 1.15rem;
  line-height: 1.55;
  margin-top: 0;
  margin-bottom: 2.5rem;
  max-width: 580px;
}
@media (max-width: 991px) {
  .home-ebook__description {
    font-size: 1.05rem;
    margin-bottom: 2rem;
  }
}
.home-ebook__cta-row {
  display: flex;
  align-items: center;
  gap: 2.25rem;
}
@media (max-width: 575px) {
  .home-ebook__cta-row {
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
  }
}
.home-ebook__price-wrapper {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
}
.home-ebook__price-current {
  font-size: 2.25rem;
  font-weight: 800;
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
}
.home-ebook__price-original {
  font-size: 1.25rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: line-through;
}
.home-ebook__btn {
  background-color: #FFFFFF;
  color: #111111;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.5px;
  padding: 0.95rem 2.25rem;
  border-radius: 30px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
@media (max-width: 575px) {
  .home-ebook__btn {
    width: 100%;
    padding: 1.1rem 2rem;
  }
}
.home-ebook__btn:hover {
  background-color: #FFF9E8;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  color: #111111;
}

/* ==========================================================================
   16. Homepage Newsletter Section
   ========================================================================== */
.home-newsletter {
  background-color: #FFFDF4;
  padding: 6rem 0;
  text-align: center;
  font-family: "Outfit", sans-serif;
}
@media (max-width: 991px) {
  .home-newsletter {
    padding: 4rem 0;
  }
}
.home-newsletter__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.home-newsletter__badge-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.home-newsletter__pill {
  display: inline-flex;
  border: 1.5px solid #E0B000;
  padding: 0.45rem 1.25rem;
  border-radius: 30px;
  background: transparent;
}
.home-newsletter__pill-text {
  color: #E0B000;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.home-newsletter__title {
  color: #111111;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 2.75rem;
  font-weight: 850;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .home-newsletter__title {
    font-size: 2rem;
  }
}
.home-newsletter__description {
  color: #666666;
  font-size: 1.15rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 2.5rem;
  max-width: 620px;
}
@media (max-width: 991px) {
  .home-newsletter__description {
    font-size: 1.05rem;
    margin-bottom: 2rem;
  }
}
.home-newsletter__form {
  width: 100%;
  max-width: 540px;
  margin-bottom: 1.25rem;
}
.home-newsletter__form-group {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 575px) {
  .home-newsletter__form-group {
    flex-direction: column;
    gap: 1rem;
  }
}
.home-newsletter__input {
  flex-grow: 1;
  background-color: #FFFFFF;
  color: #111111;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 30px;
  padding: 0.95rem 1.75rem;
  font-size: 0.95rem;
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  transition: border-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  outline: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}
@media (max-width: 575px) {
  .home-newsletter__input {
    width: 100%;
    text-align: center;
    padding: 1.1rem 2rem;
  }
}
.home-newsletter__input::placeholder {
  color: rgba(17, 17, 17, 0.35);
}
.home-newsletter__input:focus {
  border-color: #E0B000;
  box-shadow: 0 4px 15px rgba(224, 176, 0, 0.1);
}
.home-newsletter__btn {
  background-color: #E0B000;
  color: #FFFFFF;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
  padding: 0.95rem 2.25rem;
  border-radius: 30px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 12px rgba(224, 176, 0, 0.15);
  white-space: nowrap;
}
@media (max-width: 575px) {
  .home-newsletter__btn {
    width: 100%;
    padding: 1.1rem 2rem;
  }
}
.home-newsletter__btn:hover {
  background-color: #b89000;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(224, 176, 0, 0.25);
  color: #FFFFFF;
}
.home-newsletter__disclaimer {
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #888888;
}

/* ==========================================================================
   17. Slick Carousel Core CSS Layout Fallbacks
   ========================================================================== */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-slide.dragging img {
    pointer-events: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/* ==========================================================================
   9. Single Post Layout & Components
   ========================================================================== */
.single-post-page-wrapper {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-3xl);
    background-color: var(--color-bg-base);
}

.breadcrumbs-container {
    margin-bottom: var(--space-lg);
    padding: 20px;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.breadcrumbs a {
    color: var(--color-text-muted);
    transition: color var(--transition-fast);
}

.breadcrumbs a:hover {
    color: var(--color-primary);
}

.breadcrumbs__separator {
    font-size: 0.65rem;
    color: var(--color-border-hover);
}

.breadcrumbs__current {
    color: var(--color-text-main);
    font-weight: var(--font-weight-medium);
}

.single-post-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-xl);
}

@media (min-width: 992px) {
    .single-post-grid {
        grid-template-columns: 8fr 4fr;
        gap: var(--space-2xl);
    }
}

.single-post-main {
    min-width: 0; /* Prevents flex/grid overflow */
}

/* Featured Image & Badge */
.single-post-image-container {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: var(--space-xl);
    box-shadow: var(--shadow-md);
}

.single-post-image-container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 480px;
}

.single-post-image-badge {
    position: absolute;
    bottom: var(--space-lg);
    left: var(--space-lg);
    background-color: var(--color-primary);
    color: var(--color-text-light);
    padding: var(--space-2xs) var(--space-md);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: var(--radius-sm);
}

.single-post-entry .post-header {
    text-align: left;
    margin-bottom: var(--space-lg);
}

.single-post-entry .entry-title {
    font-size: var(--font-size-3xl);
    margin-bottom: var(--space-sm);
}

/* Post Meta Info */
.single-post-meta-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-xl);
}

.single-post-meta-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-lg);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

.single-post-meta-item {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.single-post-meta-item i {
    color: var(--color-primary);
}

.single-post-meta-right {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.single-post-share-label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-weight: var(--font-weight-medium);
}

.single-post-share-btn {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
    background-color: var(--color-bg-base);
    color: var(--color-text-main);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
    font-size: var(--font-size-sm);
    border: 1px solid var(--color-border);
    cursor: pointer;
}

.single-post-share-btn:hover {
    background-color: var(--color-primary);
    color: var(--color-text-light);
    border-color: var(--color-primary);
}

/* Article Body Content styling */
.single-post-entry .post-content {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--color-text-main);
}

.single-post-entry .post-content p {
    margin-bottom: var(--space-lg);
}

.single-post-entry .post-content h2 {
    font-size: var(--font-size-2xl);
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-md);
}

.single-post-entry .post-content h3 {
    font-size: var(--font-size-xl);
    margin-top: var(--space-xl);
    margin-bottom: var(--space-sm);
}

.single-post-entry .post-content ul, 
.single-post-entry .post-content ol {
    margin-bottom: var(--space-lg);
    padding-left: var(--space-xl);
}

.single-post-entry .post-content li {
    margin-bottom: var(--space-xs);
}

/* Author Box */
.author-info-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    background-color: var(--color-bg-card);
    padding: var(--space-xl);
    border-radius: var(--radius-md);
    margin-top: var(--space-3xl);
    margin-bottom: var(--space-2xl);
    border: 1px solid var(--color-border);
}

@media (min-width: 576px) {
    .author-info-card {
        flex-direction: row;
        align-items: flex-start;
    }
}

.author-info-card__avatar {
    flex-shrink: 0;
}

.author-info-card__avatar img {
    border-radius: var(--radius-full);
    display: block;
}

.author-info-card__content {
    flex-grow: 1;
}

.author-info-card__label {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.author-info-card__name {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-xs);
    color: var(--color-text-main);
}

.author-info-card__bio {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    line-height: 1.6;
    margin-bottom: var(--space-md);
}

.author-info-card__socials {
    display: flex;
    gap: var(--space-sm);
}

.author-info-card__social-link {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background-color: var(--color-bg-base);
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    transition: all var(--transition-fast);
}

.author-info-card__social-link:hover {
    background-color: var(--color-primary);
    color: var(--color-text-light);
}

/* Post Navigation (Prev / Next) */
.post-navigation-custom {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-md);
    padding: var(--space-lg) 0;
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--space-3xl);
}

@media (min-width: 576px) {
    .post-navigation-custom {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-xl);
    }
}

.post-nav-link {
    display: flex;
    flex-direction: column;
    padding: var(--space-md);
    border-radius: var(--radius-sm);
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.post-nav-link:hover {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-sm);
}

.post-nav-link--next {
    text-align: right;
}

.post-nav-label {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.5px;
    margin-bottom: var(--space-2xs);
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.post-nav-link--next .post-nav-label {
    justify-content: flex-end;
}

.post-nav-title {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-main);
    line-height: 1.4;
    transition: color var(--transition-fast);
}

.post-nav-link:hover .post-nav-title {
    color: var(--color-primary);
}

/* You Might Also Like Section */
.related-posts-section {
    margin-top: var(--space-3xl);
}

.related-posts-section__title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-xl);
    text-transform: uppercase;
}

.related-posts-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-lg);
}

.related-posts-grid .article-card {
    flex: 1 1 220px;
    max-width: 100%;
}

@media (min-width: 576px) {
    .related-posts-grid .article-card {
        max-width: calc(50% - (var(--space-lg) / 2));
    }
}

@media (min-width: 992px) {
    .related-posts-grid .article-card {
        max-width: calc(25% - (var(--space-lg) * 3 / 4));
    }
}

/* Sidebar Widgets styling */
.single-post-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.sidebar-widget {
    background-color: var(--color-bg-card);
    padding: var(--space-xl);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-sm);
}

.sidebar-widget__title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-main);
    margin-bottom: var(--space-lg);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-primary);
    padding-bottom: var(--space-xs);
    display: inline-block;
}

/* Sidebar Search */
.sidebar-search-form {
    position: relative;
    display: flex;
    width: 100%;
}

.sidebar-search-input {
    width: 100%;
    padding: var(--space-sm) var(--space-xl) var(--space-sm) var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    transition: all var(--transition-fast);
}

.sidebar-search-input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-glow);
}

.sidebar-search-submit {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 46px;
    background-color: var(--color-accent);
    color: var(--color-text-main);
    border: none;
    border-top-right-radius: var(--radius-sm);
    border-bottom-right-radius: var(--radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-sm);
    transition: background-color var(--transition-fast);
}

.sidebar-search-submit:hover {
    background-color: var(--color-accent-hover);
}

/* Sidebar Categories */
.sidebar-categories-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-categories-item {
    border-bottom: 1px solid var(--color-border);
}

.sidebar-categories-item:last-child {
    border-bottom: none;
}

.sidebar-categories-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    color: var(--color-text-main);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    transition: color var(--transition-fast);
}

.sidebar-categories-link:hover {
    color: var(--color-primary);
}

.sidebar-categories-count {
    color: var(--color-text-muted);
    font-size: var(--font-size-xs);
    background-color: var(--color-bg-base);
    padding: 2px 8px;
    border-radius: var(--radius-full);
}

/* Sidebar Popular Posts */
.sidebar-popular-posts-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.sidebar-popular-post-item {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.sidebar-popular-post-thumbnail {
    width: 64px;
    height: 64px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    flex-shrink: 0;
}

.sidebar-popular-post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sidebar-popular-post-content {
    flex-grow: 1;
}

.sidebar-popular-post-title {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    line-height: 1.4;
    margin-bottom: 4px;
}

.sidebar-popular-post-title a {
    color: var(--color-text-main);
    transition: color var(--transition-fast);
}

.sidebar-popular-post-title a:hover {
    color: var(--color-primary);
}

.sidebar-popular-post-date {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
}

/* Stay In the Loop Newsletter Widget */
.sidebar-widget--newsletter {
    background-color: var(--color-accent);
    border: none;
    color: var(--color-text-main);
    padding: var(--space-xl);
    border-radius: var(--radius-md);
}

.sidebar-widget--newsletter .sidebar-widget__title {
    color: var(--color-text-main);
    border-bottom-color: var(--color-text-main);
}

.newsletter-widget-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.newsletter-widget-icon {
    font-size: var(--font-size-3xl);
    color: var(--color-text-main);
    margin-bottom: var(--space-2xs);
}

.newsletter-widget-desc {
    font-size: var(--font-size-sm);
    line-height: 1.5;
    margin-bottom: var(--space-xs);
}

.newsletter-widget-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.newsletter-widget-input {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
}

.newsletter-widget-input:focus {
    outline: none;
    border-color: var(--color-primary);
}

.newsletter-widget-submit {
    width: 100%;
    padding: var(--space-sm);
    background-color: #111111;
    color: var(--color-text-light);
    border: none;
    border-radius: var(--radius-sm);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    cursor: pointer;
    transition: background-color var(--transition-fast);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.newsletter-widget-submit:hover {
    background-color: #222222;
}

/* ==========================================================================
   10. About Page Layout & Components
   ========================================================================== */
.about-page-wrapper {
    background-color: var(--color-bg-base);
}

.about-hero {
    background-size: cover;
    background-position: center;
    padding: var(--space-3xl) 0;
    text-align: left;
    color: var(--color-text-light);
}

.about-hero__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.about-hero__pill {
    display: inline-block;
    border: 1.5px solid var(--color-primary);
    padding: var(--space-2xs) var(--space-md);
    border-radius: var(--radius-full);
    margin-bottom: var(--space-md);
}

.about-hero__pill-text {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.about-hero__title {
    color: var(--color-text-light);
    font-size: var(--font-size-3xl);
    font-weight: 850;
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: -0.5px;
    line-height: 1.15;
}

@media (min-width: 768px) {
    .about-hero__title {
        font-size: var(--font-size-4xl);
    }
}

.about-hero__subtitle {
    font-size: var(--font-size-base);
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    line-height: 1.6;
}

/* Section Labels & Headings */
.about-section-label {
    color: var(--color-primary);
    font-weight: var(--font-weight-bold);
    font-size: 0.8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    display: block;
    margin-bottom: var(--space-sm);
}

.about-section-title {
    font-size: 2.25rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
    color: #111111;
    margin-bottom: var(--space-md);
}

@media (max-width: 768px) {
    .about-section-title {
        font-size: var(--font-size-2xl);
    }
}

/* Mission Section styling */
.about-mission {
    padding: 6rem 0;
}

.about-mission__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
    align-items: center;
}

@media (min-width: 992px) {
    .about-mission__grid {
        grid-template-columns: 1.1fr 0.9fr;
        gap: 4rem;
    }
}

.about-mission__subtitle-text {
    font-size: 1.05rem;
    color: var(--color-text-muted);
    line-height: 1.6;
    margin-bottom: var(--space-lg);
}

.about-mission__list {
    list-style: none;
    padding: 0;
    margin: 0 0 var(--space-xl) 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.about-mission__list li {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.about-mission__check-icon {
    color: var(--color-primary);
    font-size: 1.15rem;
    display: flex;
    align-items: center;
}

.about-mission__list-text {
    font-weight: var(--font-weight-medium);
    color: var(--color-text-main);
}

.about-mission__cta-btn {
    display: inline-block;
    background-color: var(--color-primary);
    color: #111111;
    font-weight: 700;
    padding: 0.9rem 2rem;
    border-radius: 30px;
    transition: all var(--transition-fast);
}

.about-mission__cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--color-primary-glow);
    background-color: var(--color-primary-light);
    color: #111111;
}

.about-mission__image-wrapper {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.about-mission__image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Stats Section styling */
.about-stats {
    margin-bottom: 6rem;
}

.about-stats__box {
    background-color: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 24px;
    padding: var(--space-xl) var(--space-lg);
    box-shadow: var(--shadow-sm);
}

.about-stats__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-xl);
}

@media (min-width: 768px) {
    .about-stats__grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }
}

.about-stat-item {
    text-align: center;
    position: relative;
    padding: var(--space-sm) 0;
}

@media (min-width: 768px) {
    .about-stat-item:not(:last-child)::after {
        content: "";
        position: absolute;
        right: 0;
        top: 20%;
        bottom: 20%;
        width: 1px;
        background-color: var(--color-border);
    }
}

.about-stat-item__icon {
    font-size: 1.75rem;
    color: var(--color-primary);
    margin-bottom: var(--space-xs);
}

.about-stat-item__number {
    font-size: 2.25rem;
    font-weight: 850;
    color: #111111;
    line-height: 1.2;
}

.about-stat-item__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-weight: var(--font-weight-medium);
}

/* Our Story Section styling */
.about-story {
    padding-bottom: 6rem;
}

.about-story__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}

@media (min-width: 992px) {
    .about-story__grid {
        grid-template-columns: 0.95fr 1.05fr;
        gap: 5rem;
    }
}

.about-story__images-container {
    position: relative;
    height: 400px;
}

.about-story__image-main {
    position: absolute;
    right: 0;
    top: 0;
    width: 78%;
    height: 300px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
}

.about-story__image-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-story__image-sub {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 48%;
    height: 200px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    border: 6px solid #FFFFFF;
    z-index: 2;
}

.about-story__image-sub img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-story__dashed-path {
    position: absolute;
    left: -20px;
    top: 20px;
    z-index: 1;
}

.about-story__content p {
    font-size: 1.05rem;
    color: var(--color-text-muted);
    line-height: 1.7;
    margin-bottom: var(--space-md);
}

.about-story__signature {
    margin-top: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    align-items: flex-start;
}

.about-story__signature svg {
    height: 45px;
    width: auto;
}

.about-story__signature-title {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: #111111;
}

/* Why Choose Section styling */
.about-why {
    background-color: #FFFFFF;
    padding: 6rem 0;
    border-top: 1px solid var(--color-border);
}

.about-why__header {
    text-align: center;
    margin-bottom: 4rem;
}

.about-why__header .about-section-label {
    justify-content: center;
}

.about-why__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-xl);
}

@media (min-width: 576px) {
    .about-why__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .about-why__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.about-why-card {
    text-align: center;
    padding: var(--space-md);
}

.about-why-card__icon {
    width: 70px;
    height: 70px;
    border-radius: var(--radius-full);
    background-color: var(--color-primary-glow);
    color: var(--color-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xl);
    margin-bottom: var(--space-md);
}

.about-why-card__title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: #111111;
    margin-bottom: var(--space-xs);
}

.about-why-card__desc {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    line-height: 1.5;
}

/* CTA Banner Section styling */
.about-cta-banner {
    margin-bottom: 6rem;
}

.about-cta-banner__box {
    background-color: var(--color-primary);
    border-radius: 28px;
    padding: var(--space-2xl) var(--space-xl);
    overflow: hidden;
    position: relative;
}

@media (min-width: 992px) {
    .about-cta-banner__box {
        padding: 4rem;
    }
}

.about-cta-banner__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 992px) {
    .about-cta-banner__grid {
        grid-template-columns: 1.2fr 0.8fr 1fr;
        gap: 2rem;
    }
}

.about-cta-banner__title {
    font-size: 2.25rem;
    font-weight: 850;
    line-height: 1.2;
    color: #111111;
    margin-bottom: var(--space-sm);
}

.about-cta-banner__desc {
    font-size: 1.05rem;
    color: rgba(17, 17, 17, 0.8);
    line-height: 1.5;
}

.about-cta-banner__center {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: flex-start;
}

.about-cta-banner__btn {
    background-color: #111111;
    color: #FFFFFF;
    padding: 1rem 2rem;
    border-radius: 8px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background var(--transition-fast);
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    letter-spacing: 0.5px;
}

.about-cta-banner__btn:hover {
    background-color: #222222;
}

.about-cta-banner__link {
    color: #111111;
    font-weight: 700;
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    transition: transform var(--transition-fast);
}

.about-cta-banner__link:hover {
    transform: translateX(4px);
    color: #222222;
}

.about-cta-banner__right {
    position: relative;
    height: 180px;
    display: none;
}

@media (min-width: 992px) {
    .about-cta-banner__right {
        display: block;
        height: auto;
    }
}

.about-cta-banner__mockups {
    position: absolute;
    top: -140px;
    right: -40px;
    width: 140%;
}

.about-cta-banner__mockups img {
    width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   11. Contact Page Layout & Components
   ========================================================================== */
.contact-page-wrapper {
    background-color: var(--color-bg-base);
}

.contact-hero {
    background-size: cover;
    background-position: center;
    padding: var(--space-3xl) 0;
    text-align: left;
    color: var(--color-text-light);
}

.contact-hero__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.contact-hero__pill {
    display: inline-block;
    border: 1.5px solid var(--color-primary);
    padding: var(--space-2xs) var(--space-md);
    border-radius: var(--radius-full);
    margin-bottom: var(--space-md);
}

.contact-hero__pill-text {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 2px;
}

.contact-hero__title {
    color: var(--color-text-light);
    font-size: var(--font-size-3xl);
    font-weight: 850;
    margin-bottom: var(--space-md);
    text-transform: uppercase;
    letter-spacing: -0.5px;
    line-height: 1.15;
}

@media (min-width: 768px) {
    .contact-hero__title {
        font-size: var(--font-size-4xl);
    }
}

.contact-hero__subtitle {
    font-size: var(--font-size-base);
    color: rgba(255, 255, 255, 0.85);
    max-width: 600px;
    line-height: 1.6;
}

/* Main Section Content */
.contact-main {
    padding-top: var(--space-xl);
    padding-bottom: 5rem;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
}

@media (min-width: 992px) {
    .contact-grid {
        grid-template-columns: 1.2fr 0.8fr;
        gap: 5rem;
    }
}

.contact-column-title {
    font-size: 1.75rem;
    font-weight: var(--font-weight-bold);
    color: #111111;
    margin-bottom: var(--space-xs);
    text-transform: uppercase;
}

.contact-column-desc {
    font-size: var(--font-size-base);
    color: var(--color-text-muted);
    margin-bottom: var(--space-xl);
}

/* Form Styles */
.pickle-contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-md);
}

@media (min-width: 576px) {
    .form-row {
        grid-template-columns: 1fr 1fr;
    }
}

.pickle-contact-form input[type="text"],
.pickle-contact-form input[type="email"],
.pickle-contact-form textarea {
    width: 100%;
    background-color: #FFF9E8;
    border: 1px solid rgba(224, 176, 0, 0.12);
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: #111111;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.pickle-contact-form input[type="text"]::placeholder,
.pickle-contact-form input[type="email"]::placeholder,
.pickle-contact-form textarea::placeholder {
    color: rgba(17, 17, 17, 0.4);
}

.pickle-contact-form input[type="text"]:focus,
.pickle-contact-form input[type="email"]:focus,
.pickle-contact-form textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary-glow);
}

.contact-submit-btn {
    align-self: flex-start;
    padding: 1rem 2.25rem;
    border-radius: 30px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: var(--font-size-sm);
    letter-spacing: 0.5px;
    border: none;
    cursor: pointer;
    background-color: var(--color-primary);
    color: #111111;
    transition: all var(--transition-fast);
}

.contact-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--color-primary-glow);
}

.privacy-note {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    margin-top: var(--space-xs);
}

.privacy-note i {
    font-size: 0.85rem;
}

/* Success Alert */
.contact-success-alert {
    display: none; /* Controlled by JS */
    align-items: flex-start;
    gap: var(--space-md);
    background-color: #E2F5EA;
    border: 1px solid #A3E0C1;
    border-radius: 12px;
    padding: var(--space-md);
    margin-top: var(--space-lg);
    animation: fadeIn 0.4s ease;
}

.contact-success-alert i {
    font-size: 1.5rem;
    color: #219653;
    margin-top: 2px;
}

.contact-success-alert h4 {
    margin: 0 0 var(--space-2xs) 0;
    color: #219653;
    font-weight: 700;
}

.contact-success-alert p {
    margin: 0;
    color: #27ae60;
    font-size: var(--font-size-sm);
}

/* Info Cards Right Column */
.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.contact-info-card {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    background-color: #FFF9E8;
    border: 1px solid rgba(224, 176, 0, 0.12);
    border-radius: 16px;
    padding: var(--space-md) var(--space-lg);
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.contact-info-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-sm);
}

.contact-info-card__icon {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-full);
    background-color: var(--color-primary);
    color: #111111;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-lg);
    flex-shrink: 0;
}

.contact-info-card__content {
    display: flex;
    flex-direction: column;
}

.contact-info-card__title {
    font-size: var(--font-size-xs);
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 2px 0;
}

.contact-info-card__value {
    font-size: 1.05rem;
    font-weight: var(--font-weight-semibold);
    color: #111111;
    text-decoration: none;
    line-height: 1.4;
    transition: color var(--transition-fast);
}

.contact-info-card__value:hover {
    color: var(--color-primary);
}

.contact-info-card__value.text-value:hover {
    color: #111111;
}

.contact-info-card__note {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    margin-top: 4px;
}

/* Map Section */
.contact-map {
    margin-bottom: 5rem;
}

.contact-map__box {
    height: 450px;
    border-radius: 28px;
    background-size: cover;
    background-position: center;
    position: relative;
    border: 1px solid var(--color-border);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--space-xl);
}

.contact-map__card {
    background-color: #FFFFFF;
    border-radius: 20px;
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
    padding: var(--space-xl);
    max-width: 380px;
    position: relative;
    z-index: 2;
}

.contact-map__card-icon {
    font-size: 1.5rem;
    color: var(--color-primary);
    margin-bottom: var(--space-xs);
}

.contact-map__card-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: #111111;
    margin-bottom: var(--space-xs);
    text-transform: uppercase;
}

.contact-map__card-address {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    line-height: 1.6;
    margin-bottom: var(--space-md);
}

.contact-map__card-link {
    font-size: var(--font-size-sm);
    font-weight: 700;
    color: var(--color-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    transition: transform var(--transition-fast);
}

.contact-map__card-link:hover {
    transform: translateX(4px);
}

.contact-map__marker {
    position: absolute;
    top: 47%;
    left: 49%;
    font-size: 2.5rem;
    color: var(--color-primary);
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.15));
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* FAQ Accordion Section */
.contact-faq {
    background-color: #FFFFFF;
    padding: 6rem 0;
    border-top: 1px solid var(--color-border);
}

.contact-faq__header {
    text-align: center;
    margin-bottom: 4rem;
}

.contact-faq__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-md);
    max-width: 1000px;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .contact-faq__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-lg);
    }
}

.contact-faq-item {
    background-color: var(--color-bg-card);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
    height: fit-content;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.contact-faq-item:hover {
    border-color: rgba(224, 176, 0, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01);
}

.contact-faq-item__trigger {
    width: 100%;
    background: transparent;
    border: none;
    padding: 1.25rem 1.5rem;
    text-align: left;
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: 1.05rem;
    color: #111111;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-md);
}

.contact-faq-item__trigger:focus {
    outline: none;
}

.contact-faq-item__trigger .faq-icon {
    font-size: 0.9rem;
    color: var(--color-primary);
    transition: transform var(--transition-fast);
}

.contact-faq-item__content {
    max-height: 0;
    overflow: hidden;
    padding: 0 1.5rem;
    transition: max-height 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), padding 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.contact-faq-item__content p {
    margin: 0 0 1.25rem 0;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    line-height: 1.6;
}

/* Active FAQ state */
.contact-faq-item--active {
    border-color: var(--color-primary);
}

.contact-faq-item--active .contact-faq-item__content {
    max-height: 200px;
    padding: 0 1.5rem 1.25rem 1.5rem;
}

/* ==========================================================================
   Ebook sales page
   ========================================================================== */
.ebook-sales-page{overflow:hidden;background:#fbf7ec;color:#153f36}.ebook-sales-page .container:not(.ebook-sales-narrow){max-width:1360px}.ebook-sales-page h1,.ebook-sales-page h2,.ebook-sales-page h3{font-family:"Plus Jakarta Sans",sans-serif}.ebook-sales-page h2{max-width:980px;margin:.9rem 0 1.6rem;font-size:clamp(2.25rem,3.7vw,4rem);font-weight:850;letter-spacing:-.025em;line-height:1.08;text-transform:uppercase}.ebook-sales-story h2,.ebook-testimonials h2,.ebook-faq h2{margin-right:auto;margin-left:auto}.ebook-sales-page p{font-family:"Outfit",sans-serif}.ebook-sales-section{padding:7rem 0}.ebook-sales-pill,.ebook-sales-kicker{display:inline-flex;color:#e0b000;font:750 .8rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase}.ebook-sales-pill{padding:.8rem 1.25rem;border:1.5px solid #e0b000;border-radius:999px}.ebook-sales-btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:.75rem;padding:.8rem 1.6rem;font-size:.82rem;text-decoration:none;text-transform:uppercase}.ebook-sales-hero{position:relative;display:flex;min-height:720px;align-items:center;background:#123e35}.ebook-sales-hero:before{position:absolute;inset:0;background:radial-gradient(circle at 72% 42%,rgba(224,176,0,.16),transparent 34%),linear-gradient(125deg,rgba(255,255,255,.035),transparent 45%);content:""}.ebook-sales-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:5rem;align-items:center}.ebook-sales-hero__copy h1{max-width:790px;margin:1.7rem 0 1.6rem;color:#fff;font:850 clamp(3rem,4.7vw,4.8rem)/1.03 "Plus Jakarta Sans",sans-serif;letter-spacing:-.035em;text-transform:uppercase}.ebook-sales-hero__copy>p{max-width:720px;margin:0 0 1rem;color:rgba(255,255,255,.82);font-size:1.12rem;line-height:1.75}.ebook-sales-hero__copy .ebook-sales-btn{margin-top:1.25rem}.ebook-sales-price{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:#fff;font-family:"Plus Jakarta Sans",sans-serif}.ebook-sales-price strong{font-size:1rem}.ebook-sales-price span{color:rgba(255,255,255,.58);font-size:.8rem}.ebook-sales-hero__visual{position:relative;display:grid;place-items:center}.ebook-sales-hero__visual img{position:relative;width:min(100%,510px);border:1px solid rgba(224,176,0,.45);border-radius:28px;box-shadow:0 32px 80px rgba(0,0,0,.32)}.ebook-sales-cover-glow{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:rgba(224,176,0,.2);filter:blur(70px)}.ebook-sales-narrow{max-width:980px;text-align:center}.ebook-sales-lead{color:#153f36;font-size:1.18rem;font-weight:600;line-height:1.75}.ebook-sales-story{background:#fff}.ebook-sales-story__copy{max-width:800px;margin:2rem auto;color:#5d6f69;font-size:1.08rem;line-height:1.8}.ebook-sales-story__copy p{margin:0 0 1rem}.ebook-sales-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:5rem;align-items:center}.ebook-sales-smarter{background:#f2eee2}.ebook-sales-smarter p,.ebook-sales-toolkit p{color:#60716b;font-size:1.08rem;line-height:1.75}.ebook-sales-smarter .ebook-sales-btn,.ebook-sales-toolkit .ebook-sales-btn{margin-top:1.5rem}.ebook-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.ebook-benefit-grid article,.ebook-chapter-grid article{position:relative;padding:2.25rem;border:1px solid #e3ddce;border-radius:18px;background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ebook-benefit-grid article:hover,.ebook-chapter-grid article:hover{transform:translateY(-5px);border-color:#e0b000;box-shadow:0 15px 35px rgba(21,63,54,.09)}.ebook-benefit-grid span,.ebook-chapter-grid span{color:#e0b000;font:800 .82rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.1em}.ebook-benefit-grid h3,.ebook-chapter-grid h3{margin:1rem 0 .7rem;color:#153f36;font-size:1.08rem;line-height:1.25;letter-spacing:-.01em;text-transform:uppercase}.ebook-benefit-grid p,.ebook-chapter-grid p{margin:0;color:#667670;font-size:.94rem;line-height:1.6}.ebook-sales-inside{background:#123e35;color:#fff}.ebook-sales-inside h2{color:#fff}.ebook-chapter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;margin-top:3rem}.ebook-chapter-grid article{min-height:205px;background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.13)}.ebook-chapter-grid h3{color:#fff}.ebook-chapter-grid p{color:rgba(255,255,255,.7)}.ebook-sales-center{display:flex;justify-content:center;margin-top:3rem}.ebook-sales-toolkit{background:#fff}.ebook-sales-split--visual{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)}.ebook-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}.ebook-tool-grid article{display:flex;min-height:62px;align-items:center;gap:.8rem;padding:1rem 1.15rem;border:1px solid #e5e1d8;border-radius:12px;background:#fbf7ec}.ebook-tool-grid i{color:#e0b000}.ebook-tool-grid h3{margin:0;font-size:.9rem;letter-spacing:-.01em;text-transform:uppercase}.ebook-toolkit-visual{display:grid;place-items:center;padding:3rem;border-radius:30px;background:#f2eee2}.ebook-toolkit-visual img{width:min(100%,500px);border-radius:20px;box-shadow:0 25px 55px rgba(21,63,54,.16)}.ebook-testimonials{text-align:center}.ebook-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:3rem;text-align:left}.ebook-testimonial-grid blockquote{margin:0;padding:2.25rem;border:1px solid #e0dacb;border-radius:18px;background:#fff}.ebook-testimonial-grid blockquote div{color:#e0b000;letter-spacing:.15em}.ebook-testimonial-grid blockquote p{color:#53645f;font-size:1rem;line-height:1.7}.ebook-testimonial-grid cite{color:#153f36;font:700 .8rem/1.4 "Plus Jakarta Sans",sans-serif;font-style:normal}.ebook-offer{background:#123e35}.ebook-offer-card{max-width:820px;margin:auto;padding:4.5rem;border:1.5px solid #e0b000;border-radius:28px;background:#0e352d;color:#fff;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.2)}.ebook-offer-card h2{color:#fff}.ebook-offer-card>p{max-width:650px;margin:0 auto 2rem;color:rgba(255,255,255,.76);font-size:1.05rem;line-height:1.75}.ebook-offer-card img{width:min(100%,360px);border-radius:18px}.ebook-offer-card h3{max-width:600px;margin:1.75rem auto .8rem;color:#fff;font-size:1.2rem;line-height:1.35;text-transform:uppercase}.ebook-offer-price{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 0 1.4rem}.ebook-offer-price del{color:rgba(255,255,255,.45);font-size:1.2rem}.ebook-offer-price strong{color:#e0b000;font:850 3rem/1 "Plus Jakarta Sans",sans-serif}.ebook-offer-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:1.4rem;color:rgba(255,255,255,.68);font-size:.78rem}.ebook-offer-trust i{color:#e0b000}.ebook-faq{background:#fff}.ebook-faq-list{margin-top:3rem;text-align:left}.ebook-faq-list details{border-bottom:1px solid #e2ded4}.ebook-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.65rem 0;color:#153f36;font:800 1.02rem/1.4 "Plus Jakarta Sans",sans-serif;cursor:pointer;list-style:none;text-transform:uppercase}.ebook-faq-list summary::-webkit-details-marker{display:none}.ebook-faq-list summary i{color:#e0b000;transition:transform .2s ease}.ebook-faq-list details[open] summary i{transform:rotate(45deg)}.ebook-faq-list details p{margin:0 0 1.5rem;color:#61726c;font-size:1.02rem;line-height:1.75}@media(max-width:1100px){.ebook-sales-page .container:not(.ebook-sales-narrow){max-width:1100px}.ebook-chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.ebook-sales-section{padding:5rem 0}.ebook-sales-hero{padding:5rem 0}.ebook-sales-hero__grid,.ebook-sales-split,.ebook-sales-split--visual{grid-template-columns:1fr;gap:3rem}.ebook-sales-hero__copy{text-align:center}.ebook-sales-hero__copy p{margin-right:auto;margin-left:auto}.ebook-sales-hero__copy .ebook-sales-pill{margin:auto}.ebook-sales-hero__visual img{max-width:480px}.ebook-testimonial-grid{grid-template-columns:1fr}.ebook-chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ebook-toolkit-visual{order:-1}}@media(max-width:575px){.ebook-sales-section{padding:4rem 0}.ebook-sales-hero{min-height:auto;padding:4rem 0}.ebook-sales-hero__copy h1{font-size:2.55rem;letter-spacing:-.025em}.ebook-sales-page h2{font-size:2.15rem;letter-spacing:-.02em}.ebook-benefit-grid,.ebook-chapter-grid,.ebook-tool-grid{grid-template-columns:1fr}.ebook-benefit-grid article,.ebook-chapter-grid article{min-height:0;padding:1.5rem}.ebook-offer-card{padding:2.2rem 1.25rem}.ebook-offer-trust{align-items:center;flex-direction:column}.ebook-sales-btn{width:100%;padding-right:1rem;padding-left:1rem}.ebook-sales-price{justify-content:center}}

/* Global link-button contrast safeguards */
a.hero__btn-contact:hover,a.hero__btn-contact:focus,a.hero__btn-contact:active,
a.home-blog__btn-all:hover,a.home-blog__btn-all:focus,a.home-blog__btn-all:active,
a.about-mission__cta-btn:hover,a.about-mission__cta-btn:focus,a.about-mission__cta-btn:active,
a.home-ebook__btn:hover,a.home-ebook__btn:focus,a.home-ebook__btn:active{color:#111!important}
a.featured-gear__btn-all:hover,a.featured-gear__btn-all:focus,a.featured-gear__btn-all:active,
a.facilities__btn-all:hover,a.facilities__btn-all:focus,a.facilities__btn-all:active,
a.product-card__action-btn:hover,a.product-card__action-btn:focus,a.product-card__action-btn:active,
a.about-cta-banner__btn:hover,a.about-cta-banner__btn:focus,a.about-cta-banner__btn:active{color:#fff!important}

/* Contact page Forminator form */
.contact-hero.contact-hero--compact{min-height:0;padding:3.5rem 0 3rem;border-bottom:1px solid #d9e3de;background:#e8f0ec;color:#153f36}.contact-hero--compact .contact-hero__container{align-items:center;text-align:center}.contact-hero--compact .contact-hero__title{margin:0;color:#153f36;font-size:clamp(2.5rem,4vw,4rem);line-height:1.05;letter-spacing:-.04em}.contact-hero__breadcrumbs{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem;color:#71807b;font:600 .82rem/1.4 "Plus Jakarta Sans",sans-serif}.contact-hero__breadcrumbs a{color:#153f36;text-decoration:none}.contact-hero__breadcrumbs a:hover{color:#b99000}.contact-hero__breadcrumbs i{color:#e0b000;font-size:.58rem}@media(max-width:575px){.contact-hero.contact-hero--compact{padding:2.5rem 0 2.25rem}.contact-hero--compact .contact-hero__title{font-size:2.4rem}}
.pickle-contact-form--forminator{padding:2rem;border:1px solid rgba(224,176,0,.18);border-radius:20px;background:#fff;box-shadow:0 16px 40px rgba(21,63,54,.07)}.pickle-contact-form--forminator .forminator-ui{margin:0!important}.pickle-contact-form--forminator .forminator-row{margin-bottom:1.15rem!important}.pickle-contact-form--forminator .forminator-col{padding:0 .5rem!important}.pickle-contact-form--forminator .forminator-label{margin-bottom:.55rem!important;color:#153f36!important;font:750 .78rem/1.4 "Plus Jakarta Sans",sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase}.pickle-contact-form--forminator .forminator-required{color:#e0b000!important}.pickle-contact-form--forminator .forminator-description{margin-top:.4rem!important;color:#71807b!important;font:400 .78rem/1.5 "Outfit",sans-serif!important}.pickle-contact-form--forminator .forminator-input,.pickle-contact-form--forminator .forminator-textarea,.pickle-contact-form--forminator .forminator-select2-selection{width:100%!important;border:1px solid #dedbd1!important;border-radius:12px!important;background:#fff9e8!important;color:#153f36!important;font:500 1rem/1.5 "Outfit",sans-serif!important;box-shadow:none!important;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease!important}.pickle-contact-form--forminator .forminator-input{min-height:56px!important;padding:.9rem 1rem!important}.pickle-contact-form--forminator .forminator-textarea{min-height:165px!important;padding:1rem!important;resize:vertical}.pickle-contact-form--forminator .forminator-input::placeholder,.pickle-contact-form--forminator .forminator-textarea::placeholder{color:#8a938f!important}.pickle-contact-form--forminator .forminator-input:focus,.pickle-contact-form--forminator .forminator-textarea:focus{border-color:#e0b000!important;background:#fff!important;box-shadow:0 0 0 4px rgba(224,176,0,.12)!important}.pickle-contact-form--forminator .forminator-checkbox__label p,.pickle-contact-form--forminator .forminator-radio__label{color:#53645f!important;font:400 .9rem/1.5 "Outfit",sans-serif!important}.pickle-contact-form--forminator .forminator-button-submit{min-height:52px!important;padding:.9rem 2rem!important;border:0!important;border-radius:999px!important;background:#e0b000!important;color:#111!important;font:800 .82rem/1 "Plus Jakarta Sans",sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;box-shadow:0 6px 18px rgba(224,176,0,.22)!important;transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important}.pickle-contact-form--forminator .forminator-button-submit:hover,.pickle-contact-form--forminator .forminator-button-submit:focus{background:#f3c400!important;color:#111!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,176,0,.3)!important}.pickle-contact-form--forminator .forminator-error-message{margin-top:.45rem!important;border-radius:8px!important;font-size:.78rem!important}.pickle-contact-form--forminator .forminator-response-message{margin:0 0 1.25rem!important;padding:1rem 1.2rem!important;border-radius:12px!important;font:500 .9rem/1.55 "Outfit",sans-serif!important}@media(max-width:575px){.pickle-contact-form--forminator{padding:1.25rem;border-radius:16px}.pickle-contact-form--forminator .forminator-col{padding:0!important}.pickle-contact-form--forminator .forminator-button-submit{width:100%!important}}

/* Global site search dialog */
.home-newsletter__form--forminator{max-width:760px}.home-newsletter__form--forminator .forminator-ui{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;margin:0!important}.home-newsletter__form--forminator .forminator-row{margin:0!important}.home-newsletter__form--forminator .forminator-col{padding:0!important}.home-newsletter__form--forminator .forminator-field{margin:0!important}.home-newsletter__form--forminator .forminator-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.home-newsletter__form--forminator .forminator-input{width:100%!important;min-height:58px!important;padding:.95rem 1.6rem!important;border:1px solid rgba(21,63,54,.13)!important;border-radius:999px!important;background:#fff!important;color:#153f36!important;font:500 1rem/1.4 "Outfit",sans-serif!important;box-shadow:0 4px 16px rgba(21,63,54,.05)!important;transition:border-color .2s ease,box-shadow .2s ease!important}.home-newsletter__form--forminator .forminator-input::placeholder{color:#929b98!important}.home-newsletter__form--forminator .forminator-input:focus{border-color:#e0b000!important;box-shadow:0 0 0 4px rgba(224,176,0,.12)!important}.home-newsletter__form--forminator .forminator-button-submit{min-width:165px!important;min-height:58px!important;padding:.95rem 2rem!important;border:0!important;border-radius:999px!important;background:#e0b000!important;color:#111!important;font:800 .9rem/1 "Plus Jakarta Sans",sans-serif!important;box-shadow:0 7px 18px rgba(224,176,0,.2)!important;transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important}.home-newsletter__form--forminator .forminator-button-submit:hover,.home-newsletter__form--forminator .forminator-button-submit:focus{background:#f2c300!important;color:#111!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,176,0,.3)!important}.home-newsletter__form--forminator .forminator-error-message{margin:.45rem 1rem 0!important;text-align:left;font-size:.75rem!important}.home-newsletter__form--forminator .forminator-response-message{grid-column:1/-1;margin:0 0 1rem!important;padding:1rem 1.2rem!important;border-radius:12px!important;text-align:left;font:500 .88rem/1.5 "Outfit",sans-serif!important}.home-newsletter__form--forminator .forminator-description{grid-column:1/-1;color:#75827e!important;font-size:.78rem!important}@media(max-width:575px){.home-newsletter__form--forminator .forminator-ui{grid-template-columns:1fr}.home-newsletter__form--forminator .forminator-button-submit{width:100%!important}.home-newsletter__form--forminator .forminator-input{text-align:center}}
body.site-search-open{overflow:hidden}.site-search-overlay[hidden]{display:none}.site-search-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:start center;padding:clamp(6rem,13vh,10rem) 1.5rem 2rem;opacity:0;transition:opacity .22s ease}.site-search-overlay.is-open{opacity:1}.site-search-overlay__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(5,19,16,.82);cursor:default;backdrop-filter:blur(8px)}.site-search-overlay__panel{position:relative;width:min(100%,980px);padding:clamp(2rem,5vw,4.5rem);border:1px solid rgba(224,176,0,.35);border-radius:28px;background:#123e35;box-shadow:0 35px 90px rgba(0,0,0,.35);transform:translateY(-18px);transition:transform .25s ease}.site-search-overlay.is-open .site-search-overlay__panel{transform:translateY(0)}.site-search-overlay__close{position:absolute;top:1.25rem;right:1.25rem;display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.site-search-overlay__close:hover{background:#e0b000;color:#111;transform:rotate(5deg)}.site-search-overlay__eyebrow{color:#e0b000;font:750 .78rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase}.site-search-overlay h2{max-width:760px;margin:1rem 0 2rem;color:#fff;font:800 clamp(2rem,4vw,3.8rem)/1.08 "Plus Jakarta Sans",sans-serif;letter-spacing:-.04em}.site-search-overlay__field{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:#fff}.site-search-overlay__field>i{margin-left:1.25rem;color:#153f36;font-size:1.05rem}.site-search-overlay__field input{width:100%;min-height:68px;padding:0 1rem;border:0;outline:0;background:transparent;color:#153f36;font:500 1.05rem/1.4 "Outfit",sans-serif}.site-search-overlay__field input::placeholder{color:#87938f}.site-search-overlay__field button{align-self:stretch;min-width:150px;padding:0 1.5rem;border:0;background:#e0b000;color:#111;font:750 .85rem/1 "Plus Jakarta Sans",sans-serif;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.site-search-overlay__field button:hover{background:#f5c400}.site-search-overlay__field button i{margin-left:.45rem}.site-search-overlay__links{display:flex;flex-wrap:wrap;gap:.8rem 1.25rem;margin-top:1.5rem;align-items:center;color:rgba(255,255,255,.55);font-size:.88rem}.site-search-overlay__links a{color:#fff;font-weight:650;text-decoration:none}.site-search-overlay__links a:hover{color:#e0b000}@media(max-width:575px){.site-search-overlay{padding:5rem 1rem 1rem}.site-search-overlay__panel{padding:4.5rem 1.25rem 2rem;border-radius:20px}.site-search-overlay h2{font-size:2rem;letter-spacing:-.025em}.site-search-overlay__field{grid-template-columns:auto minmax(0,1fr)}.site-search-overlay__field input{min-height:60px}.site-search-overlay__field button{grid-column:1/-1;min-height:52px}.site-search-overlay__links{align-items:flex-start;flex-direction:column}}

/* Search results page */
.site-search-results{background:#f7f4ea;color:#153f36}.site-search-results__hero{padding:5rem 0;background:#123e35;color:#fff}.site-search-results__eyebrow{display:inline-flex;color:#e0b000;font:750 .78rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase}.site-search-results__hero h1{max-width:920px;margin:1rem 0 .9rem;color:#fff;font:850 clamp(2.8rem,5vw,5rem)/1.02 "Plus Jakarta Sans",sans-serif;letter-spacing:-.05em}.site-search-results__hero> .container>p{margin:0;color:rgba(255,255,255,.7);font:400 1.05rem/1.7 "Outfit",sans-serif}.site-search-results__form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;max-width:900px;margin-top:2.25rem;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:#fff;box-shadow:0 18px 45px rgba(0,0,0,.16)}.site-search-results__form>i{margin-left:1.3rem;color:#153f36}.site-search-results__form input{min-width:0;min-height:66px;padding:0 1rem;border:0;outline:0;background:transparent;color:#153f36;font:500 1.05rem/1.4 "Outfit",sans-serif}.site-search-results__form input::placeholder{color:#87938f}.site-search-results__form button{align-self:stretch;padding:0 1.65rem;border:0;background:#e0b000;color:#111;font:800 .8rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.site-search-results__form button:hover{background:#f4c300}.site-search-results__form button i{margin-left:.5rem}.site-search-results__body{min-height:520px;padding:5rem 0 6rem}.site-search-results__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.site-search-results__toolbar div{display:flex;align-items:center;gap:.8rem}.site-search-results__toolbar div span{font:800 1.6rem/1 "Plus Jakarta Sans",sans-serif;text-transform:uppercase}.site-search-results__toolbar div strong{display:grid;min-width:38px;height:38px;padding:0 .65rem;place-items:center;border-radius:999px;background:#e0b000;color:#111;font:800 .78rem/1 "Plus Jakarta Sans",sans-serif}.site-search-results__toolbar p{margin:0;color:#6d7c77;font-size:.92rem}.site-search-results__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.site-search-card{overflow:hidden;border:1px solid #e1ded4;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(21,63,54,.055);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.site-search-card:hover{transform:translateY(-6px);border-color:rgba(224,176,0,.6);box-shadow:0 18px 40px rgba(21,63,54,.11)}.site-search-card__visual{position:relative;display:block;height:220px;overflow:hidden;background:#dfe9e5;color:#153f36}.site-search-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.site-search-card:hover .site-search-card__visual img{transform:scale(1.04)}.site-search-card__visual.is-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#153f36,#236558)}.site-search-card__visual.is-placeholder>i{color:rgba(255,255,255,.16);font-size:4.2rem}.site-search-card__visual span{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border-radius:999px;background:#153f36;color:#fff;font:750 .68rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase}.site-search-card__visual span i{color:#e0b000}.site-search-card__content{display:flex;min-height:255px;flex-direction:column;padding:1.6rem}.site-search-card__content h2{margin:0 0 .9rem;font:800 1.45rem/1.22 "Plus Jakarta Sans",sans-serif;letter-spacing:-.03em}.site-search-card__content h2 a{color:#153f36;text-decoration:none}.site-search-card__content h2 a:hover{color:#b99000}.site-search-card__location,.site-search-card__excerpt{margin:0;color:#687872;font:400 .92rem/1.6 "Outfit",sans-serif}.site-search-card__location{display:flex;align-items:flex-start;gap:.55rem}.site-search-card__location i{margin-top:.3rem;color:#e0b000}.site-search-card__product-meta{display:flex;align-items:center;gap:1rem}.site-search-card__product-meta strong{color:#153f36;font:800 1.2rem/1 "Plus Jakarta Sans",sans-serif}.site-search-card__product-meta span{color:#b99000;font-weight:750}.site-search-card__product-meta i{margin-right:.35rem;color:#e0b000}.site-search-card__link{display:inline-flex;align-items:center;gap:.55rem;margin-top:auto;padding-top:1.4rem;color:#153f36;font:800 .78rem/1 "Plus Jakarta Sans",sans-serif;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.site-search-card__link i{color:#e0b000;transition:transform .2s ease}.site-search-card__link:hover{color:#153f36}.site-search-card__link:hover i{transform:translateX(4px)}.site-search-results__pagination{margin-top:3.5rem}.site-search-results__pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.site-search-results__pagination .page-numbers{display:inline-flex;min-width:44px;height:44px;align-items:center;justify-content:center;gap:.55rem;padding:0 .85rem;border:1px solid #dedbd1;border-radius:999px;background:#fff;color:#153f36;font-weight:750;text-decoration:none}.site-search-results__pagination .page-numbers.current,.site-search-results__pagination a.page-numbers:hover{border-color:#e0b000;background:#e0b000;color:#111}.site-search-results__empty{max-width:760px;margin:0 auto;padding:4.5rem 2rem;text-align:center}.site-search-results__empty>div{display:grid;width:72px;height:72px;margin:0 auto 1.5rem;place-items:center;border-radius:50%;background:#153f36;color:#e0b000;font-size:1.5rem}.site-search-results__empty h2{margin:.8rem 0;color:#153f36;font:850 clamp(2.2rem,4vw,3.8rem)/1.05 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;text-transform:uppercase}.site-search-results__empty p{margin:0 0 1.8rem;color:#667670;font-size:1.05rem}@media(max-width:991px){.site-search-results__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.site-search-results__hero{padding:3.5rem 0}.site-search-results__hero h1{font-size:2.65rem;letter-spacing:-.035em}.site-search-results__form{grid-template-columns:auto minmax(0,1fr)}.site-search-results__form button{grid-column:1/-1;min-height:52px}.site-search-results__body{padding:3.5rem 0 4.5rem}.site-search-results__toolbar{align-items:flex-start;flex-direction:column;gap:.8rem}.site-search-results__grid{grid-template-columns:1fr}.site-search-card__visual{height:230px}.site-search-card__content{min-height:220px}.site-search-results__pagination .page-numbers.prev span,.site-search-results__pagination .page-numbers.next span{display:none}}

/* Compact Gear page heading and breadcrumb */
.gear-page__hero.gear-page__hero--compact{border-bottom:1px solid #d9e3de;background:#e8f0ec!important}
.hero__drawer{top:0!important;right:min(-380px,-100%)!important;bottom:0!important;width:min(88vw,360px)!important;max-width:none!important;height:100vh!important;height:100dvh!important;box-sizing:border-box!important;overflow-y:auto!important;overscroll-behavior:contain;z-index:100001!important;padding:96px 2rem 2rem!important}.hero__drawer.active,.hero__drawer.hero__drawer--active{right:0!important}.hero__drawer-close{top:1.25rem!important;right:1.25rem!important;z-index:2!important}.hero-drawer-active:before{position:fixed;inset:0;z-index:100000;background:rgba(5,19,16,.68);content:"";backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.hero-drawer-active .hero__menu-toggle,.hero-drawer-active .hero__btn-search{visibility:hidden!important}.hero-drawer-active{overflow:hidden!important}@media(max-width:480px){.hero__drawer{width:min(90vw,340px)!important;padding:82px 1.5rem 1.5rem!important}.hero__drawer-menu{gap:1rem!important}.hero__drawer-menu a,.hero__drawer-link{font-size:1.05rem!important}}
.home-newsletter__form--forminator{width:100%;max-width:980px}.home-newsletter__form--forminator>div.forminator-ui,.home-newsletter__form--forminator>a,.home-newsletter__form--forminator .forminator-edit-module,.home-newsletter__form--forminator .forminator-module-edit-link{display:none!important}.home-newsletter__form--forminator form#forminator-module-736{display:grid!important;grid-template-columns:minmax(190px,.72fr) minmax(300px,1.28fr) auto;gap:1rem;align-items:start;margin:0!important}.home-newsletter__form--forminator form#forminator-module-736>.forminator-response-message{grid-column:1/-1}.home-newsletter__form--forminator form#forminator-module-736 .forminator-row,.home-newsletter__form--forminator form#forminator-module-736 .forminator-col,.home-newsletter__form--forminator form#forminator-module-736 .forminator-field{margin:0!important;padding:0!important}.home-newsletter__form--forminator form#forminator-module-736 .forminator-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.home-newsletter__form--forminator form#forminator-module-736 .forminator-input,.home-newsletter__form--forminator form#forminator-module-736 .forminator-button-submit{height:60px!important;min-height:60px!important;box-sizing:border-box!important}.home-newsletter__form--forminator form#forminator-module-736 .forminator-input{text-align:left!important}.home-newsletter__form--forminator form#forminator-module-736 .forminator-button-submit{min-width:180px!important;margin:0!important;white-space:nowrap}@media(max-width:760px){.home-newsletter__form--forminator form#forminator-module-736{grid-template-columns:1fr}.home-newsletter__form--forminator form#forminator-module-736 .forminator-button-submit{width:100%!important}}
.gear-page__hero.gear-page__hero--compact{min-height:0;padding:3.5rem 0 3rem;background:transparent;color:#153f36}.gear-page__hero--compact .container{align-items:center;text-align:center}.gear-page__hero--compact h1{margin:0;color:#153f36;font-size:clamp(2.5rem,4vw,4rem);line-height:1.05;letter-spacing:-.04em}.gear-page__breadcrumbs{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem;color:#71807b;font:600 .82rem/1.4 "Plus Jakarta Sans",sans-serif}.gear-page__breadcrumbs a{color:#153f36;text-decoration:none}.gear-page__breadcrumbs a:hover{color:#b99000}.gear-page__breadcrumbs i{color:#e0b000;font-size:.58rem}@media(max-width:575px){.gear-page__hero.gear-page__hero--compact{padding:2.5rem 0 2.25rem}.gear-page__hero--compact h1{font-size:2.4rem}}
.gear-page__hero.gear-page__hero--compact{min-height:0;padding:3.5rem 0 3rem;background:transparent;color:#153f36}.gear-page__hero--compact .container{align-items:center;text-align:center}.gear-page__hero--compact h1{margin:0;color:#153f36;font-size:clamp(2.5rem,4vw,4rem);line-height:1.05;letter-spacing:-.04em}.gear-page__breadcrumbs{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:1rem;color:#71807b;font:600 .82rem/1.4 "Plus Jakarta Sans",sans-serif}.gear-page__breadcrumbs a{color:#153f36;text-decoration:none}.gear-page__breadcrumbs a:hover{color:#b99000}.gear-page__breadcrumbs i{color:#e0b000;font-size:.58rem}@media(max-width:575px){.gear-page__hero.gear-page__hero--compact{padding:2.5rem 0 2.25rem}.gear-page__hero--compact h1{font-size:2.4rem}}

/* ==========================================================================
   Blog Listing Page & Archive Templates
   ========================================================================== */

/* ── Blog Hero ── */
.blog-hero {
    background: linear-gradient(135deg, var(--color-bg-dark, #0d2e26) 0%, #123e35 100%);
    padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 7vw, 5.5rem);
    color: var(--color-text-light, #fff);
    position: relative;
    overflow: hidden;
}

.blog-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 60% 0%, rgba(224,176,0,.12) 0%, transparent 70%);
    pointer-events: none;
}

.blog-hero__inner {
    position: relative;
    /* max-width: 820px; */
}

.blog-hero__pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .45rem 1.1rem;
    border: 1.5px solid var(--color-primary, #e0b000);
    border-radius: 999px;
    margin-bottom: 1.4rem;
}

.blog-hero__pill-text {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--color-primary, #e0b000);
}

.blog-hero__title {
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: clamp(2.4rem, 5vw, 4.2rem);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -.04em;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 1.2rem;
}

.blog-hero__subtitle {
    font-size: clamp(1rem, 1.4vw, 1.1rem);
    line-height: 1.7;
    color: rgba(255,255,255,.78);
    max-width: 620px;
    margin-bottom: 2.4rem;
}

/* Blog hero search */
.blog-hero__search-form {
    max-width: 700px;
}

.blog-hero__search-field {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.blog-hero__search-field > i {
    margin-left: 1.2rem;
    color: #153f36;
    font-size: 1rem;
}

.blog-hero__search-field input {
    width: 100%;
    min-height: 62px;
    padding: 0 1rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: #153f36;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 1rem;
}

.blog-hero__search-field input::placeholder {
    color: #87938f;
}

.blog-hero__search-field button {
    align-self: stretch;
    padding: 0 1.5rem;
    border: 0;
    background: var(--color-primary, #e0b000);
    color: #111;
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-weight: 800;
    font-size: .82rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease;
    white-space: nowrap;
}

.blog-hero__search-field button:hover {
    background: #f5c400;
}

@media (max-width: 575px) {
    .blog-hero__search-field {
        grid-template-columns: auto minmax(0,1fr);
        border-radius: 12px;
    }
    .blog-hero__search-field input {
        min-height: 56px;
    }
    .blog-hero__search-field button {
        grid-column: 1 / -1;
        min-height: 50px;
    }
}

/* ── Category Filter Bar ── */
.blog-filter {
    background: var(--color-bg-card, #fff);
    border-bottom: 1px solid var(--color-border, #e1ded4);
    position: sticky;
    top: 0;
    z-index: 90;
    box-shadow: 0 4px 16px rgba(21,63,54,.06);
}

.blog-filter__inner {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.blog-filter__inner::-webkit-scrollbar {
    display: none;
}

.blog-filter__list {
    display: flex;
    align-items: center;
    gap: .5rem;
    list-style: none;
    padding: .75rem 0;
    margin: 0;
    white-space: nowrap;
}

.blog-filter__tab {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem 1.1rem;
    border-radius: 999px;
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: var(--color-text-muted, #687872);
    transition: background .18s ease, color .18s ease;
    text-decoration: none;
}

.blog-filter__tab:hover {
    background: rgba(21,63,54,.07);
    color: var(--color-text-main, #153f36);
}

.blog-filter__tab--active {
    background: var(--color-primary, #e0b000);
    color: #111;
}

.blog-filter__tab--active:hover {
    background: #f5c400;
    color: #111;
}

.blog-filter__tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 .45rem;
    border-radius: 999px;
    background: rgba(0,0,0,.1);
    font-size: .72rem;
    font-weight: 800;
}

.blog-filter__tab--active .blog-filter__tab-count {
    background: rgba(0,0,0,.15);
}

/* ── Featured Post (page-level hero card) ── */
.blog-featured {
    padding: 3rem 10px 1.5rem;
}

.blog-featured .article-card--large {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    border-radius: 20px;
    overflow: hidden;
    background: var(--color-bg-card, #fff);
    border: 1px solid var(--color-border, #e1ded4);
    box-shadow: 0 8px 30px rgba(21,63,54,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.blog-featured .article-card--large:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(21,63,54,.12);
}

@media (min-width: 768px) {
    

    .blog-featured .article-card--large {
        grid-template-columns: 1.1fr .9fr;
    }
}

.blog-featured .article-card__image-wrapper {
    overflow: hidden;
    height: 280px;
}

@media (min-width: 768px) {
    .blog-featured .article-card__image-wrapper {
        height: auto;
        min-height: 400px;
    }
}

.blog-featured .article-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.blog-featured .article-card--large:hover .article-card__image {
    transform: scale(1.03);
}

.blog-featured .article-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2.5rem clamp(1.5rem, 3vw, 2.5rem);
}

.blog-featured .article-card__title {
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
}

/* ── Blog Listing: Grid + Sidebar Layout ── */
.blog-listing {
    padding: 2rem 10px 5rem;
}

.blog-listing__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}

@media (min-width: 1024px) {
    .blog-listing__grid {
        grid-template-columns: minmax(0, 1fr) 320px;
        align-items: start;
        gap: 3rem;
    }
}

/* Blog posts 3-column grid */
.blog-posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}

@media (min-width: 576px) {
    .blog-posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 900px) {
    .blog-posts-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Individual article cards in the grid */
.blog-posts-grid .article-card--large {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
    background: var(--color-bg-card, #fff);
    border: 1px solid var(--color-border, #e1ded4);
    box-shadow: 0 4px 18px rgba(21,63,54,.06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.blog-posts-grid .article-card--large:hover {
    transform: translateY(-5px);
    border-color: rgba(224,176,0,.5);
    box-shadow: 0 14px 36px rgba(21,63,54,.1);
}

.blog-posts-grid .article-card__image-wrapper {
    height: 200px;
    overflow: hidden;
    flex-shrink: 0;
}

.blog-posts-grid .article-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.blog-posts-grid .article-card--large:hover .article-card__image {
    transform: scale(1.04);
}

.blog-posts-grid .article-card__content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1.4rem 1.5rem 1.6rem;
}

.blog-posts-grid .article-card__category-badge {
    margin-bottom: .75rem;
}

.blog-posts-grid .article-card__title {
    font-size: 1.1rem;
    margin-bottom: .7rem;
    flex: 1;
}

.blog-posts-grid .article-card__excerpt {
    font-size: .9rem;
    line-height: 1.55;
    margin-bottom: 1.1rem;
}

.blog-posts-grid .article-card__read-more {
    margin-top: auto;
}

/* Sidebar sticky behavior on desktop */
.blog-listing__sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .blog-listing__sidebar {
        position: sticky;
        top: 80px;
    }
}

/* ── Blog Pagination ── */
.blog-pagination {
    margin-top: 3rem;
}

.blog-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
}

.blog-pagination .page-numbers li {
    list-style: none;
}

.blog-pagination .page-numbers a,
.blog-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-width: 44px;
    height: 44px;
    padding: 0 .85rem;
    border: 1px solid var(--color-border, #e1ded4);
    border-radius: 999px;
    background: var(--color-bg-card, #fff);
    color: var(--color-text-main, #153f36);
    font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif);
    font-weight: 750;
    font-size: .88rem;
    text-decoration: none;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.blog-pagination .page-numbers a:hover {
    background: var(--color-primary, #e0b000);
    border-color: var(--color-primary, #e0b000);
    color: #111;
}

.blog-pagination .page-numbers .current {
    background: var(--color-primary, #e0b000);
    border-color: var(--color-primary, #e0b000);
    color: #111;
    pointer-events: none;
}

.blog-pagination .page-numbers .dots {
    border-color: transparent;
    background: transparent;
}

/* No posts state */
.blog-no-posts {
    padding: 4rem;
    text-align: center;
    color: var(--color-text-muted, #687872);
    font-size: 1.05rem;
    grid-column: 1 / -1;
}

/* ==========================================================================
   Blog Hero — Compact size override
   ========================================================================== */
.blog-hero{padding:2.5rem 0 2rem}
.blog-hero__title{font-size:clamp(1.6rem,3.5vw,2.6rem);margin-bottom:.75rem}
.blog-hero__pill{margin-bottom:.9rem;padding:.35rem .9rem}
.blog-hero__pill-text{font-size:.7rem}
.blog-hero__subtitle{font-size:.95rem;margin-bottom:1.6rem}

/* ==========================================================================
   Blog Posts Grid — 2 columns max + horizontal card redesign
   ========================================================================== */
.blog-posts-grid{grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.blog-posts-grid{grid-template-columns:repeat(2,1fr)}}

/* Horizontal card */
.blog-posts-grid .article-card--large{
    display:grid;
    grid-template-columns:220px 1fr;
    grid-template-rows:1fr;
    height:auto;
    min-height:210px;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--color-border,#e2ded4);
    box-shadow:0 2px 12px rgba(21,63,54,.07);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.blog-posts-grid .article-card--large:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 36px rgba(21,63,54,.13);
    border-color:rgba(224,176,0,.55)
}
.blog-posts-grid .article-card__image-wrapper{
    grid-column:1;grid-row:1;
    height:100%;min-height:210px;
    overflow:hidden;flex-shrink:0;
    position:relative
}
.blog-posts-grid .article-card__image{
    position:absolute;inset:0;
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .38s ease
}
.blog-posts-grid .article-card--large:hover .article-card__image{transform:scale(1.06)}
.blog-posts-grid .article-card__content{
    grid-column:2;grid-row:1;
    display:flex;flex-direction:column;
    padding:1.5rem 1.8rem;
    justify-content:center
}
.blog-posts-grid .article-card__category-badge{
    display:inline-block;
    padding:.28rem .8rem;
    border-radius:999px;
    background:var(--color-primary,#e0b000);
    color:#111;
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-size:.68rem;font-weight:800;
    letter-spacing:.08em;text-transform:uppercase;
    margin-bottom:.8rem;width:fit-content
}
.blog-posts-grid .article-card__title{
    font-size:1.15rem;
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-weight:800;line-height:1.3;
    letter-spacing:-.02em;
    color:var(--color-text-main,#153f36);
    margin-bottom:.6rem;flex:0
}
.blog-posts-grid .article-card__title a{color:inherit;text-decoration:none;transition:color .18s ease}
.blog-posts-grid .article-card__title a:hover{color:#b99000}
.blog-posts-grid .article-card__excerpt{
    font-size:.88rem;line-height:1.6;
    color:var(--color-text-muted,#687872);
    margin-bottom:1.1rem;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden
}
.blog-posts-grid .article-card__read-more{
    display:inline-flex;align-items:center;gap:.45rem;
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-size:.78rem;font-weight:800;
    letter-spacing:.05em;text-transform:uppercase;
    color:var(--color-text-main,#153f36);
    text-decoration:none;margin-top:auto;
    transition:color .18s ease,gap .18s ease
}
.blog-posts-grid .article-card__read-more:hover{color:#b99000;gap:.7rem}

/* Stack on mobile */
@media(max-width:639px){
    .blog-posts-grid .article-card--large{grid-template-columns:1fr;grid-template-rows:200px auto;min-height:auto}
    .blog-posts-grid .article-card__image-wrapper{grid-column:1;grid-row:1;height:200px;min-height:0}
    .blog-posts-grid .article-card__content{grid-column:1;grid-row:2;padding:1.2rem 1.4rem 1.4rem}
}

/* Keep featured card unaffected */
.blog-featured .article-card--large{display:grid;grid-template-columns:1fr;min-height:auto}
@media(min-width:768px){.blog-featured .article-card--large{grid-template-columns:1.1fr .9fr}}
.blog-featured .article-card__image-wrapper{position:relative;height:280px;min-height:0}
@media(min-width:768px){.blog-featured .article-card__image-wrapper{height:auto;min-height:400px}}

/* ==========================================================================
   Blog Posts Grid — reset to vertical card matching homepage article-card-large
   ========================================================================== */

/* 2 columns, no horizontal override */
.blog-posts-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.75rem;
}
@media(max-width:639px){
    .blog-posts-grid{
        grid-template-columns:1fr;
    }
}

/* Reset the horizontal layout back to vertical */
.blog-posts-grid .article-card--large{
    display:flex;
    flex-direction:column;
    grid-template-columns:unset;
    grid-template-rows:unset;
    min-height:unset;
    height:100%;
    border-radius:20px;
    overflow:hidden;
    background:#faf9f5;
    border:1px solid var(--color-border,#e8e4d8);
    box-shadow:0 4px 18px rgba(21,63,54,.06);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.blog-posts-grid .article-card--large:hover{
    transform:translateY(-5px);
    border-color:rgba(224,176,0,.4);
    box-shadow:0 16px 40px rgba(21,63,54,.11);
}

/* Image — full width on top */
.blog-posts-grid .article-card__image-wrapper{
    grid-column:unset;
    grid-row:unset;
    position:relative;
    width:100%;
    height:240px;
    min-height:0;
    overflow:hidden;
    flex-shrink:0;
}
.blog-posts-grid .article-card__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .38s ease;
}
.blog-posts-grid .article-card--large:hover .article-card__image{
    transform:scale(1.05);
}

/* Content below image */
.blog-posts-grid .article-card__content{
    grid-column:unset;
    grid-row:unset;
    display:flex;
    flex-direction:column;
    flex:1;
    padding:1.5rem 1.6rem 1.8rem;
    justify-content:flex-start;
}

/* Category badge — yellow pill like homepage */
.blog-posts-grid .article-card__category-badge{
    display:inline-block;
    padding:.32rem .9rem;
    border-radius:999px;
    background:var(--color-primary,#e0b000);
    color:#111;
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:.9rem;
    width:fit-content;
}

/* Title */
.blog-posts-grid .article-card__title{
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-size:1.2rem;
    font-weight:800;
    line-height:1.3;
    letter-spacing:-.02em;
    color:var(--color-text-main,#153f36);
    margin-bottom:.7rem;
    flex:0;
}
.blog-posts-grid .article-card__title a{
    color:inherit;
    text-decoration:none;
    transition:color .18s ease;
}
.blog-posts-grid .article-card__title a:hover{color:#b99000;}

/* Excerpt */
.blog-posts-grid .article-card__excerpt{
    font-size:.9rem;
    line-height:1.6;
    color:var(--color-text-muted,#687872);
    margin-bottom:1.2rem;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Read more — matches homepage style */
.blog-posts-grid .article-card__read-more{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-family:var(--font-heading,'Plus Jakarta Sans',sans-serif);
    font-size:.85rem;
    font-weight:700;
    color:var(--color-text-main,#153f36);
    text-decoration:none;
    margin-top:auto;
    transition:color .18s ease,gap .18s ease;
}
.blog-posts-grid .article-card__read-more:hover{
    color:#b99000;
    gap:.65rem;
}

/* ==========================================================================
   Ebook Sales Page — Design & Layout Enhancements
   ========================================================================== */

/* Overall Page Base */
.ebook-sales-page {
    background-color: #fbf7ec;
    color: #153f36;
}

.ebook-sales-page .container:not(.ebook-sales-narrow) {
    max-width: 1240px;
}

.ebook-sales-section {
    padding: 5rem 0;
}

.ebook-sales-pill,
.ebook-sales-kicker {
    display: inline-flex;
    align-items: center;
    color: #e0b000;
    font-family: var(--font-heading, "Plus Jakarta Sans", sans-serif);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ebook-sales-pill {
    padding: 0.45rem 1.1rem;
    border: 1.5px solid #e0b000;
    border-radius: 999px;
    margin-bottom: 1.25rem;
}

.ebook-sales-kicker {
    margin-bottom: 0.75rem;
}

.ebook-sales-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 52px;
    padding: 0.85rem 2rem;
    border-radius: 999px;
    background: #e0b000;
    color: #111 !important;
    font-family: var(--font-heading, "Plus Jakarta Sans", sans-serif);
    font-weight: 800;
    font-size: 0.82rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    box-shadow: 0 6px 20px rgba(224, 176, 0, 0.22);
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.ebook-sales-btn:hover {
    background: #f5c400;
    color: #111 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(224, 176, 0, 0.32);
}

/* 1. Hero Section */
.ebook-sales-hero {
    position: relative;
    padding: 5rem 0 5.5rem;
    min-height: auto;
    background: linear-gradient(135deg, #0d2e26 0%, #123e35 100%);
    color: #fff;
}

.ebook-sales-hero__grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 4rem;
}

.ebook-sales-hero__copy h1 {
    font-size: clamp(2.4rem, 4vw, 3.8rem);
    font-weight: 850;
    line-height: 1.08;
    letter-spacing: -0.035em;
    text-transform: uppercase;
    color: #fff;
    margin: 1rem 0 1.25rem;
    max-width: 720px;
}

.ebook-sales-hero__copy > p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
    max-width: 620px;
    margin-bottom: 1rem;
}

.ebook-sales-price {
    margin-top: 1.25rem;
    gap: 0.85rem;
}

.ebook-sales-price strong {
    font-size: 1.05rem;
    color: #e0b000;
    font-weight: 800;
}

.ebook-sales-hero__visual img {
    max-width: 440px;
    border-radius: 20px;
    border: 1px solid rgba(224, 176, 0, 0.35);
    box-shadow: 0 25px 65px rgba(0, 0, 0, 0.38);
}

/* 2. Story Section */
.ebook-sales-story {
    background: #fff;
    padding: 5.5rem 0;
}

.ebook-sales-narrow {
    max-width: 840px;
    margin: 0 auto;
    text-align: center;
}

.ebook-sales-story h2 {
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #153f36;
    margin: 0.8rem auto 1.5rem;
    max-width: 800px;
}

.ebook-sales-lead {
    font-size: 1.15rem;
    font-weight: 700;
    color: #153f36;
    line-height: 1.65;
    margin-bottom: 1.75rem;
}

.ebook-sales-story__copy {
    max-width: 760px;
    margin: 0 auto 2.25rem;
    text-align: left;
    background: #faf8f2;
    padding: 2.25rem 2.5rem;
    border-radius: 20px;
    border: 1px solid #eae5d8;
}

.ebook-sales-story__copy p {
    font-size: 1.02rem;
    line-height: 1.75;
    color: #4f615b;
    margin-bottom: 1.1rem;
}

.ebook-sales-story__copy p:last-child {
    margin-bottom: 0;
    font-weight: 700;
    color: #153f36;
}

/* 3. Smarter Section */
.ebook-sales-smarter {
    background: #f2eee2;
    padding: 5.5rem 0;
}

.ebook-sales-split {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 4rem;
}

.ebook-sales-smarter h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #153f36;
    margin: 0.75rem 0 1.25rem;
}

.ebook-benefit-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.ebook-benefit-grid article {
    padding: 1.8rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e2ded4;
    box-shadow: 0 4px 16px rgba(21, 63, 54, 0.05);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.ebook-benefit-grid article:hover {
    transform: translateY(-4px);
    border-color: #e0b000;
    box-shadow: 0 14px 32px rgba(21, 63, 54, 0.1);
}

.ebook-benefit-grid span {
    font-size: 0.85rem;
    font-weight: 850;
    color: #e0b000;
}

.ebook-benefit-grid h3 {
    font-size: 1.08rem;
    font-weight: 800;
    margin: 0.6rem 0 0.5rem;
    color: #153f36;
}

.ebook-benefit-grid p {
    font-size: 0.92rem;
    line-height: 1.55;
    color: #64756f;
}

/* 4. Inside the Playbook Section (3 columns grid for desktop) */
.ebook-sales-inside {
    background: #123e35;
    color: #fff;
    padding: 5.5rem 0;
}

.ebook-sales-inside h2 {
    font-size: clamp(2.2rem, 3.5vw, 3.4rem);
    font-weight: 850;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: #fff;
    margin: 0.75rem 0 0;
}

.ebook-chapter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.4rem;
    margin-top: 2.75rem;
}

.ebook-chapter-grid article {
    min-height: 180px;
    padding: 1.75rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease;
}

.ebook-chapter-grid article:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(224, 176, 0, 0.55);
}

.ebook-chapter-grid span {
    font-size: 0.85rem;
    font-weight: 850;
    color: #e0b000;
}

.ebook-chapter-grid h3 {
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
    margin: 0.6rem 0 0.5rem;
    line-height: 1.25;
}

.ebook-chapter-grid p {
    font-size: 0.92rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.78);
}

/* 5. Toolkit Section */
.ebook-sales-toolkit {
    background: #fff;
    padding: 5.5rem 0;
}

.ebook-sales-toolkit h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #153f36;
    margin: 0.75rem 0 1.25rem;
}

.ebook-tool-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2rem;
}

.ebook-tool-grid article {
    min-height: 58px;
    padding: 0.9rem 1.25rem;
    border-radius: 12px;
    background: #faf8f2;
    border: 1px solid #eae5d8;
}

.ebook-tool-grid i {
    font-size: 1.1rem;
    color: #e0b000;
}

.ebook-tool-grid h3 {
    font-size: 0.88rem;
    font-weight: 800;
    color: #153f36;
}

.ebook-toolkit-visual {
    padding: 2.5rem;
    border-radius: 24px;
    background: #f4f0e4;
}

.ebook-toolkit-visual img {
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(21, 63, 54, 0.16);
}

/* 6. Testimonials Section */
.ebook-testimonials {
    background: #fbf7ec;
    padding: 5.5rem 0;
}

.ebook-testimonials h2 {
    font-size: clamp(2rem, 3vw, 3.2rem);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #153f36;
    margin: 0.75rem auto 1.25rem;
}

.ebook-testimonial-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 2.75rem;
}

.ebook-testimonial-grid blockquote {
    padding: 2rem;
    border-radius: 18px;
    border: 1px solid #e4e0d4;
    background: #fff;
    box-shadow: 0 4px 20px rgba(21, 63, 54, 0.05);
}

.ebook-testimonial-grid blockquote div {
    color: #e0b000;
    font-size: 1rem;
    margin-bottom: 0.85rem;
}

.ebook-testimonial-grid blockquote p {
    font-size: 0.98rem;
    line-height: 1.65;
    color: #556761;
}

.ebook-testimonial-grid cite {
    margin-top: 1.25rem;
    font-size: 0.85rem;
    font-weight: 800;
    color: #153f36;
}

/* 7. Offer Card Section */
.ebook-offer {
    background: #123e35;
    padding: 5.5rem 0;
}

.ebook-offer-card {
    max-width: 780px;
    margin: 0 auto;
    padding: 4rem 3rem;
    border: 2px solid #e0b000;
    border-radius: 24px;
    background: #0c332b;
    color: #fff;
    box-shadow: 0 30px 75px rgba(0, 0, 0, 0.3);
}

.ebook-offer-card h2 {
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #fff;
    margin: 0.75rem auto 1.25rem;
}

.ebook-offer-card > p {
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.8);
    max-width: 620px;
    margin: 0 auto 1.75rem;
}

.ebook-offer-card img {
    max-width: 300px;
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.ebook-offer-card h3 {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
    margin: 1.75rem auto 1rem;
}

.ebook-offer-price strong {
    font-size: 3.2rem;
    font-weight: 850;
    color: #e0b000;
}

.ebook-offer-trust {
    gap: 1.5rem;
    margin-top: 1.6rem;
    font-weight: 600;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.75);
}

/* 8. FAQ Section */
.ebook-faq {
    background: #fff;
    padding: 5.5rem 0;
}

.ebook-faq h2 {
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -0.025em;
    text-transform: uppercase;
    color: #153f36;
    margin: 0.75rem auto 1.5rem;
}

.ebook-faq-list details {
    border-bottom: 1px solid #e4e0d4;
    padding: 0.4rem 0;
}

.ebook-faq-list summary {
    font-size: 1.05rem;
    font-weight: 800;
    color: #153f36;
    padding: 1.25rem 0;
    line-height: 1.35;
}

.ebook-faq-list details p {
    font-size: 1rem;
    line-height: 1.7;
    color: #596a64;
    padding-bottom: 1.25rem;
}

/* Responsive adjustments for eBook page */
@media (max-width: 991px) {
    .ebook-chapter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ebook-sales-hero__grid,
    .ebook-sales-split,
    .ebook-sales-split--visual {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
    .ebook-sales-hero__copy {
        text-align: center;
    }
    .ebook-sales-hero__copy h1,
    .ebook-sales-hero__copy > p {
        margin-right: auto;
        margin-left: auto;
    }
    .ebook-sales-price {
        justify-content: center;
    }
    .ebook-chapter-grid,
    .ebook-benefit-grid,
    .ebook-testimonial-grid,
    .ebook-tool-grid {
        grid-template-columns: 1fr;
    }
    .ebook-offer-card {
        padding: 2.5rem 1.5rem;
    }
}
