/* ========================================================
   BG JAGD UND UMWELTMANAGEMENT — Design System
   ======================================================== */

/* ─── DESIGN TOKENS ─── */
:root {
    --bgj-forest: #1B3A2D;
    --bgj-forest-light: #2D5A3F;
    --bgj-forest-lighter: #3D7A55;
    --bgj-earth: #8B6F47;
    --bgj-earth-light: #A68B5B;
    --bgj-earth-dark: #6B5232;
    --bgj-moss: #4A7C59;
    --bgj-moss-light: #5A9C6E;
    --bgj-cream: #F5F1EB;
    --bgj-sand: #E8E0D4;
    --bgj-dark: #1A1A1A;
    --bgj-dark-soft: #2A2A2A;
    --bgj-white: #FFFFFF;
    --bgj-gray-100: #F3F4F6;
    --bgj-gray-200: #E5E7EB;
    --bgj-gray-400: #9CA3AF;
    --bgj-gray-600: #4B5563;
    --bgj-gray-700: #374151;
    --bgj-gray-800: #1F2937;
    --bgj-success: #059669;

    --bgj-font-heading: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
    --bgj-font-body: "Avenir Next", "Segoe UI", "Helvetica Neue", sans-serif;

    --bgj-radius: 8px;
    --bgj-radius-lg: 12px;
    --bgj-radius-xl: 16px;

    --bgj-shadow: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.05);
    --bgj-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);
    --bgj-shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.05);

    --bgj-transition: .25s ease;
    --bgj-transition-slow: .4s ease;
    --bgj-header-offset: 122px;
}

/* ─── RESET & BASE ─── */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--bgj-font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--bgj-gray-700);
    background: var(--bgj-white);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
    font-family: var(--bgj-font-heading);
    color: var(--bgj-forest);
    line-height: 1.25;
    font-weight: 700;
}

a {
    color: var(--bgj-earth);
    text-decoration: none;
    transition: color var(--bgj-transition);
}
a:hover { color: var(--bgj-earth-dark); }

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

ul { list-style: none; }

/* ─── UTILITIES ─── */
.bgj-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.bgj-skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    background: var(--bgj-forest);
    color: var(--bgj-white);
    padding: .75rem 1.5rem;
    z-index: 9999;
    font-weight: 600;
    border-radius: 0 0 var(--bgj-radius) 0;
}
.bgj-skip-link:focus {
    top: 0;
    outline: 3px solid var(--bgj-earth);
}

/* ========================================================
   HEADER
   ======================================================== */
.bgj-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(27, 58, 45, .95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    height: 122px;
    transition: box-shadow var(--bgj-transition), background var(--bgj-transition);
}
.bgj-header.scrolled {
    background: rgba(27, 58, 45, .98);
    box-shadow: 0 4px 20px rgba(0,0,0,.2);
}

.bgj-header-mini {
    height: 46px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(14, 33, 25, .45);
}

.bgj-header-mini-inner {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.bgj-header-mini-links,
.bgj-header-mini-note {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.bgj-header-mini a,
.bgj-header-mini span {
    color: rgba(255,255,255,.78);
    font-size: .78rem;
    letter-spacing: .04em;
}

.bgj-header-mini a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.bgj-header-mini a:hover {
    color: var(--bgj-white);
}

.bgj-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 76px;
}

/* Logo */
.bgj-logo {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: var(--bgj-white);
    text-decoration: none;
}
.bgj-logo:hover { color: var(--bgj-sand); }

.bgj-logo-icon {
    color: var(--bgj-earth-light);
    flex-shrink: 0;
}

.bgj-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}
.bgj-logo-brand {
    font-family: var(--bgj-font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    letter-spacing: .02em;
}
.bgj-logo-tagline {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--bgj-earth-light);
    font-weight: 600;
}

/* Navigation */
.bgj-nav {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.bgj-nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    color: rgba(255,255,255,.8);
    padding: .7rem .95rem 1rem;
    font-size: .92rem;
    font-weight: 600;
    border-radius: 999px;
    transition: color var(--bgj-transition), background var(--bgj-transition), transform var(--bgj-transition);
}
.bgj-nav-link::after {
    content: '';
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: .45rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(193, 154, 107, 0), rgba(193, 154, 107, 1), rgba(193, 154, 107, 0));
    opacity: 0;
    transform: scaleX(.45);
    transition: opacity var(--bgj-transition), transform var(--bgj-transition);
}
.bgj-nav-link:hover {
    color: var(--bgj-white);
    background: rgba(255,255,255,.06);
    transform: translateY(-1px);
}
.bgj-nav-link:hover::after,
.bgj-nav-link.bgj-nav-active::after {
    opacity: 1;
    transform: scaleX(1);
}
.bgj-nav-link.bgj-nav-active {
    color: var(--bgj-white);
    background: rgba(255,255,255,.08);
}

.bgj-nav-group {
    position: relative;
}

.bgj-nav-group-trigger {
    border: none;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
}

.bgj-nav-group-caret {
    display: inline-flex;
    margin-left: .35rem;
    transform: rotate(90deg) scale(.72);
    opacity: .8;
}

.bgj-nav-submenu {
    position: absolute;
    top: calc(100% + .55rem);
    left: 0;
    min-width: 260px;
    display: grid;
    gap: .25rem;
    padding: .7rem;
    border-radius: 20px;
    background: rgba(13, 30, 24, .98);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 20px 50px rgba(0,0,0,.28);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--bgj-transition), transform var(--bgj-transition), visibility var(--bgj-transition);
}

.bgj-nav-group:hover .bgj-nav-submenu,
.bgj-nav-group:focus-within .bgj-nav-submenu,
.bgj-nav-group.open .bgj-nav-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.bgj-nav-sublink {
    display: block;
    color: rgba(255,255,255,.82);
    padding: .75rem .9rem;
    border-radius: 14px;
    font-size: .92rem;
    font-weight: 600;
    transition: background var(--bgj-transition), color var(--bgj-transition), transform var(--bgj-transition);
}

.bgj-nav-sublink:hover,
.bgj-nav-sublink-active {
    color: var(--bgj-white);
    background: rgba(255,255,255,.08);
    transform: translateX(2px);
}

.bgj-nav-cta {
    background: var(--bgj-earth);
    color: var(--bgj-white) !important;
    padding: .6rem 1.4rem;
    border-radius: var(--bgj-radius);
    font-size: .9rem;
    font-weight: 700;
    margin-left: .75rem;
    white-space: nowrap;
    transition: all var(--bgj-transition);
}
.bgj-nav-cta:hover {
    background: var(--bgj-earth-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139,111,71,.35);
}

/* Hamburger */
.bgj-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    position: relative;
    z-index: 1001;
}
.bgj-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--bgj-white);
    border-radius: 2px;
    transition: all .3s ease;
}
.bgj-menu-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.bgj-menu-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.bgj-menu-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* ========================================================
   HERO
   ======================================================== */
.bgj-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.bgj-hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background:
        linear-gradient(135deg, #1B3A2D 0%, #2D5A3F 30%, #1a2f1a 60%, #0f1f0f 100%);
}

.bgj-hero-bg-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    animation: bgj-ken-burns 25s ease-in-out infinite alternate;
    transform: scale(1.04);
    will-change: transform;
}

.bgj-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg,
            rgba(27,58,45,.92) 0%,
            rgba(27,58,45,.75) 40%,
            rgba(15,31,15,.6) 70%,
            rgba(10,20,10,.85) 100%
        );
}

.bgj-hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 4rem;
    align-items: center;
    padding-top: 120px;
    padding-bottom: 80px;
}

.bgj-hero-left {
    color: var(--bgj-white);
}

/* Badge */
.bgj-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.15);
    padding: .4rem 1rem;
    border-radius: 100px;
    font-size: .8rem;
    font-weight: 600;
    color: var(--bgj-earth-light);
    letter-spacing: .03em;
    margin-bottom: 1.5rem;
    backdrop-filter: blur(8px);
}
.bgj-badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bgj-moss-light);
    animation: bgj-pulse 2s ease-in-out infinite;
}
@keyframes bgj-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .5; transform: scale(1.3); }
}

/* Hero Headline */
.bgj-hero-h1 {
    font-size: clamp(2.25rem, 5vw, 3.5rem);
    font-weight: 700;
    line-height: 1.15;
    color: var(--bgj-white);
    margin-bottom: 1.25rem;
}
.bgj-accent {
    color: var(--bgj-earth-light);
    position: relative;
}
.bgj-accent::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--bgj-earth-light), transparent);
    border-radius: 2px;
}

.bgj-hero-p {
    font-size: clamp(1rem, 1.5vw, 1.15rem);
    line-height: 1.7;
    color: rgba(255,255,255,.8);
    margin-bottom: 2rem;
    max-width: 540px;
}

/* Hero CTAs */
.bgj-hero-ctas {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem;
}

.bgj-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1.75rem;
    border-radius: var(--bgj-radius);
    font-size: .95rem;
    font-weight: 700;
    font-family: var(--bgj-font-body);
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all var(--bgj-transition);
}

.bgj-btn-primary {
    background: var(--bgj-earth);
    color: var(--bgj-white);
    box-shadow: 0 4px 14px rgba(139,111,71,.35);
}
.bgj-btn-primary:hover {
    background: var(--bgj-earth-dark);
    color: var(--bgj-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139,111,71,.45);
}
.bgj-btn-primary svg {
    transition: transform var(--bgj-transition);
}
.bgj-btn-primary:hover svg {
    transform: translateX(3px);
}

.bgj-btn-outline {
    background: transparent;
    color: var(--bgj-white);
    border: 2px solid rgba(255,255,255,.3);
}
.bgj-btn-outline:hover {
    border-color: rgba(255,255,255,.6);
    color: var(--bgj-white);
    background: rgba(255,255,255,.05);
}

/* Hero Trust Bar */
.bgj-hero-trust {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.bgj-hero-trust-item {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    color: rgba(255,255,255,.65);
    font-weight: 600;
}
.bgj-hero-trust-item svg {
    color: var(--bgj-earth-light);
    flex-shrink: 0;
}

/* Hero Card (Right Side) */
.bgj-hero-right {
    display: flex;
    justify-content: center;
}

.bgj-hero-card {
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--bgj-radius-xl);
    padding: 2rem;
    width: 100%;
    max-width: 380px;
}

.bgj-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    text-align: center;
    margin-bottom: 1.75rem;
    padding-bottom: 1.75rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.bgj-metric-number {
    font-family: var(--bgj-font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--bgj-white);
    display: block;
}
.bgj-metric-suffix {
    font-family: var(--bgj-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bgj-earth-light);
}
.bgj-metric-label {
    font-size: .7rem;
    color: rgba(255,255,255,.55);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
    display: block;
    margin-top: .25rem;
}

.bgj-hero-card-features {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-bottom: 1.75rem;
}
.bgj-card-feature {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    font-weight: 600;
}
.bgj-feature-icon {
    font-size: 1.25rem;
}

.bgj-btn-card {
    display: block;
    width: 100%;
    text-align: center;
    background: linear-gradient(135deg, var(--bgj-earth), var(--bgj-earth-dark));
    color: var(--bgj-white);
    padding: .85rem;
    border-radius: var(--bgj-radius);
    font-weight: 700;
    font-size: .95rem;
    transition: all var(--bgj-transition);
    text-decoration: none;
}
.bgj-btn-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139,111,71,.4);
    color: var(--bgj-white);
}

/* Scroll indicator */
.bgj-hero-scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
    color: rgba(255,255,255,.4);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    animation: bgj-float 2.5s ease-in-out infinite;
}
@keyframes bgj-float {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-8px); }
}

/* ========================================================
   SECTIONS (Generic)
   ======================================================== */
.bgj-section {
    padding: 5rem 0;
    position: relative;
}
.bgj-section-alt {
    background: var(--bgj-cream);
}
.bgj-section-dark {
    background: var(--bgj-forest);
}

.bgj-section > .bgj-container {
    position: relative;
    z-index: 1;
}

.bgj-section-alt::before,
.bgj-section-dark::before {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

.bgj-section-alt::before {
    width: 26rem;
    height: 26rem;
    right: -10rem;
    bottom: -12rem;
    background: radial-gradient(circle, rgba(166,139,91,.12) 0%, rgba(166,139,91,0) 68%);
}

.bgj-section-dark::before {
    width: 28rem;
    height: 28rem;
    left: -12rem;
    top: -14rem;
    background: radial-gradient(circle, rgba(166,139,91,.12) 0%, rgba(166,139,91,0) 72%);
}

.bgj-section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3.5rem;
}
.bgj-section-label {
    display: inline-block;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--bgj-earth);
    margin-bottom: .75rem;
}
.bgj-section-header h2 {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    margin-bottom: 1rem;
}
.bgj-section-header p {
    font-size: 1.05rem;
    color: var(--bgj-gray-600);
}

.bgj-section-header.bgj-light h2 {
    color: var(--bgj-white);
}
.bgj-section-header.bgj-light p {
    color: rgba(255,255,255,.7);
}
.bgj-section-header.bgj-light .bgj-section-label {
    color: var(--bgj-earth-light);
}

/* ========================================================
   PROBLEM SECTION
   ======================================================== */
.bgj-problem-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}

.bgj-problem-card {
    background: var(--bgj-white);
    border: 1px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius-lg);
    padding: 2rem;
    transition: all var(--bgj-transition);
}
.bgj-problem-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--bgj-shadow-lg);
    border-color: var(--bgj-sand);
}

.bgj-problem-icon {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--bgj-cream), var(--bgj-sand));
    border-radius: var(--bgj-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    color: var(--bgj-forest);
}

.bgj-problem-card h3 {
    font-size: 1.15rem;
    margin-bottom: .75rem;
    font-family: var(--bgj-font-body);
    font-weight: 700;
    color: var(--bgj-dark);
}
.bgj-problem-card p {
    font-size: .92rem;
    line-height: 1.65;
    color: var(--bgj-gray-600);
}

/* ========================================================
   SERVICES
   ======================================================== */
.bgj-service {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 3rem;
    align-items: center;
    margin-bottom: 5rem;
}
.bgj-service:last-child {
    margin-bottom: 0;
}
.bgj-service-reverse {
    grid-template-columns: .8fr 1.2fr;
}
.bgj-service-reverse .bgj-service-visual {
    order: -1;
}

.bgj-service-number {
    font-family: var(--bgj-font-heading);
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--bgj-earth-light);
    opacity: .25;
    line-height: 1;
    margin-bottom: .5rem;
}

.bgj-service-content h3 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.bgj-service-desc {
    font-size: 1.02rem;
    line-height: 1.7;
    color: var(--bgj-gray-600);
    margin-bottom: 1.5rem;
}

.bgj-service-features {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    margin-bottom: 1.5rem;
}
.bgj-service-features li {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-size: .95rem;
    font-weight: 500;
    color: var(--bgj-gray-700);
}
.bgj-service-features svg {
    color: var(--bgj-moss);
    flex-shrink: 0;
    margin-top: 2px;
}

.bgj-service-result {
    background: linear-gradient(135deg, var(--bgj-cream), rgba(232,224,212,.5));
    border-left: 3px solid var(--bgj-earth);
    padding: 1rem 1.25rem;
    border-radius: 0 var(--bgj-radius) var(--bgj-radius) 0;
    font-size: .92rem;
    color: var(--bgj-gray-700);
}
.bgj-service-result strong {
    color: var(--bgj-forest);
}

.bgj-core-services {
    display: grid;
    gap: 3.5rem;
}

.bgj-core-service-row {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 2.8rem;
    align-items: center;
    min-width: 0;
}

.bgj-core-service-row.is-reversed .bgj-core-service-copy {
    order: 2;
}

.bgj-core-service-row.is-reversed .bgj-core-service-media {
    order: 1;
}

.bgj-core-service-copy {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 1.2rem;
    align-items: stretch;
    min-width: 0;
}

.bgj-core-service-number {
    font-family: var(--bgj-font-heading);
    font-size: clamp(3.4rem, 9vw, 5rem);
    line-height: .95;
    color: rgba(139,111,71,.22);
    letter-spacing: -.03em;
}

.bgj-core-service-body {
    position: relative;
    display: grid;
    gap: 1rem;
    padding: 1.55rem;
    border-radius: 28px;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,241,235,.96)),
        radial-gradient(circle at top right, rgba(166,139,91,.12), transparent 40%);
    box-shadow: 0 26px 46px -34px rgba(27,58,45,.24);
    overflow: hidden;
    min-width: 0;
}

.bgj-core-service-body::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, rgba(166,139,91,.9), rgba(166,139,91,0));
}

.bgj-core-service-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: .45rem .72rem;
    border-radius: 999px;
    background: rgba(27,58,45,.05);
    border: 1px solid rgba(27,58,45,.08);
    color: var(--bgj-earth);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bgj-core-service-body h3 {
    font-size: clamp(1.7rem, 2.7vw, 2.35rem);
    margin-top: .1rem;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.bgj-core-service-body p {
    color: var(--bgj-gray-700);
    font-size: 1.02rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.bgj-core-service-points {
    display: grid;
    gap: .8rem;
}

.bgj-core-service-points li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: .7rem;
    align-items: start;
    color: var(--bgj-gray-700);
    font-size: .98rem;
    line-height: 1.6;
}

.bgj-core-service-points li span {
    min-width: 0;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.bgj-core-service-points svg {
    color: var(--bgj-moss);
    margin-top: 2px;
}

.bgj-core-service-result {
    background: linear-gradient(135deg, rgba(245,241,235,.96), rgba(255,255,255,.98));
    border-left: 3px solid var(--bgj-earth);
    border-radius: 0 16px 16px 0;
    padding: 1rem 1.2rem;
    color: var(--bgj-gray-700);
    font-size: .95rem;
    box-shadow: 0 14px 28px -26px rgba(27,58,45,.32);
    overflow-wrap: anywhere;
    hyphens: auto;
}

.bgj-core-service-result strong {
    color: var(--bgj-forest);
}

.bgj-core-service-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.25rem;
    align-items: center;
}

.bgj-core-service-actions .bgj-inline-link {
    margin-top: 0;
    max-width: 100%;
    flex-wrap: wrap;
}

.bgj-inline-link-muted {
    color: var(--bgj-gray-600);
}

.bgj-inline-link-muted:hover {
    color: var(--bgj-forest);
}

.bgj-core-service-media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 11;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 28px 50px -32px rgba(27,58,45,.35);
    min-width: 0;
}

.bgj-core-service-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15,31,15,0) 35%, rgba(15,31,15,.12) 100%);
}

.bgj-core-service-media img,
.bgj-core-service-media .bgj-core-service-media-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.bgj-core-service-media-badge {
    position: absolute;
    left: 1.1rem;
    bottom: 1.1rem;
    z-index: 2;
    display: grid;
    gap: .1rem;
    min-width: 180px;
    padding: .85rem .95rem;
    border-radius: 18px;
    background: rgba(12,25,18,.68);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    color: var(--bgj-white);
}

.bgj-core-service-media-kicker {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .68rem;
    font-weight: 800;
    color: rgba(255,255,255,.72);
}

.bgj-core-service-media-badge strong {
    font-size: 1rem;
    line-height: 1.35;
}

.bgj-core-service-media:hover img,
.bgj-core-service-media:hover .bgj-core-service-media-img {
    transform: scale(1.04);
}

.bgj-core-service-row:hover .bgj-core-service-body {
    border-color: rgba(139,111,71,.22);
    box-shadow: 0 30px 54px -30px rgba(27,58,45,.28);
}

@media (max-width: 1180px) {
    .bgj-core-service-row {
        grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
        gap: 1.75rem;
    }

    .bgj-core-service-copy {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: .95rem;
    }

    .bgj-core-service-body {
        padding: 1.35rem;
    }

    .bgj-core-service-number {
        font-size: clamp(2.7rem, 6vw, 4rem);
    }
}

/* Service Visual Placeholder */
.bgj-service-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}
.bgj-service-image-placeholder {
    width: 100%;
    max-width: 400px;
    border-radius: var(--bgj-radius-xl);
    overflow: hidden;
    background: var(--bgj-cream);
    border: 1px solid var(--bgj-sand);
    padding: 2rem;
}
.bgj-service-image-placeholder svg {
    width: 100%;
    height: auto;
}

/* ========================================================
   WHY CHOOSE US
   ======================================================== */
.bgj-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.bgj-why-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--bgj-radius-lg);
    padding: 2rem;
    transition: all var(--bgj-transition);
}
.bgj-why-card:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.18);
    transform: translateY(-4px);
}

.bgj-why-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--bgj-radius);
    background: rgba(166,139,91,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bgj-earth-light);
    margin-bottom: 1.25rem;
}

.bgj-why-card h3 {
    font-size: 1.1rem;
    font-family: var(--bgj-font-body);
    font-weight: 700;
    color: var(--bgj-white);
    margin-bottom: .75rem;
}
.bgj-why-card p {
    font-size: .9rem;
    line-height: 1.6;
    color: rgba(255,255,255,.65);
}

/* ========================================================
   AUDIENCE / ZIELGRUPPEN
   ======================================================== */
.bgj-audience-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1.25rem;
}

.bgj-audience-card {
    text-align: center;
    background: var(--bgj-white);
    border: 1px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius-lg);
    padding: 2rem 1.25rem;
    transition: all var(--bgj-transition);
}
.bgj-audience-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--bgj-shadow-lg);
    border-color: var(--bgj-earth-light);
}

.bgj-audience-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bgj-cream), var(--bgj-sand));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: var(--bgj-forest);
}

.bgj-audience-card h3 {
    font-size: 1rem;
    font-family: var(--bgj-font-body);
    font-weight: 700;
    margin-bottom: .5rem;
}
.bgj-audience-card p {
    font-size: .85rem;
    color: var(--bgj-gray-600);
    line-height: 1.5;
}

/* ========================================================
   PROCESS / ABLAUF
   ======================================================== */
.bgj-process-grid {
    max-width: 700px;
    margin: 0 auto;
}

.bgj-process-step {
    display: flex;
    gap: 1.75rem;
    align-items: flex-start;
}

.bgj-step-number {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--bgj-forest);
    color: var(--bgj-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--bgj-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
}

.bgj-step-content h3 {
    font-size: 1.2rem;
    font-family: var(--bgj-font-body);
    font-weight: 700;
    margin-bottom: .5rem;
}
.bgj-step-content p {
    font-size: .95rem;
    color: var(--bgj-gray-600);
    line-height: 1.65;
}

.bgj-process-connector {
    width: 2px;
    height: 2.5rem;
    background: linear-gradient(to bottom, var(--bgj-forest), var(--bgj-sand));
    margin-left: 27px;
    border-radius: 1px;
}

/* ========================================================
   PARALLAX / TRUST BAR
   ======================================================== */
.bgj-parallax {
    position: relative;
    background:
        linear-gradient(135deg, #1B3A2D, #0f1f0f);
    background-attachment: fixed;
    overflow: hidden;
}

.bgj-parallax-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27,58,45,.9), rgba(15,31,15,.85));
}

.bgj-parallax-content {
    position: relative;
    z-index: 2;
    padding: 4rem 2rem;
}

.bgj-trust-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    text-align: center;
}

.bgj-trust-item {
    padding: 1rem;
}
.bgj-trust-number {
    font-family: var(--bgj-font-heading);
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    color: var(--bgj-white);
    line-height: 1;
    margin-bottom: .5rem;
}
.bgj-trust-label {
    font-size: .85rem;
    color: rgba(255,255,255,.6);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* ========================================================
   FAQ
   ======================================================== */
.bgj-faq-list {
    max-width: 780px;
    margin: 0 auto;
}

.bgj-faq-item {
    border: 1px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius-lg);
    margin-bottom: .75rem;
    overflow: hidden;
    transition: all var(--bgj-transition);
}
.bgj-faq-item:hover {
    border-color: var(--bgj-sand);
    box-shadow: var(--bgj-shadow);
}

.bgj-faq-item summary {
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--bgj-dark);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    transition: color var(--bgj-transition);
}
.bgj-faq-item summary::-webkit-details-marker { display: none; }
.bgj-faq-item summary::marker { display: none; content: ''; }

.bgj-faq-item summary::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--bgj-earth);
    flex-shrink: 0;
    margin-left: 1rem;
    transition: transform .3s ease;
}
.bgj-faq-item[open] summary::after {
    transform: rotate(45deg);
}
.bgj-faq-item[open] summary {
    color: var(--bgj-earth-dark);
}

.bgj-faq-item p {
    padding: 0 1.5rem 1.5rem;
    font-size: .95rem;
    line-height: 1.7;
    color: var(--bgj-gray-600);
    animation: bgj-faqReveal .3s ease;
}
@keyframes bgj-faqReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ========================================================
   CTA SECTION
   ======================================================== */
.bgj-section-cta {
    background: linear-gradient(135deg, var(--bgj-forest), var(--bgj-forest-light));
    color: var(--bgj-white);
}

.bgj-cta-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.bgj-cta-text .bgj-section-label {
    color: var(--bgj-earth-light);
}
.bgj-cta-text h2 {
    color: var(--bgj-white);
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    margin-bottom: 1rem;
}
.bgj-cta-text p {
    color: rgba(255,255,255,.75);
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.bgj-cta-guarantee {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--bgj-earth-light);
}
.bgj-cta-guarantee svg {
    flex-shrink: 0;
    color: var(--bgj-earth-light);
}

/* Contact Cards */
.bgj-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.bgj-contact-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--bgj-radius-lg);
    padding: 1.25rem 1.5rem;
    transition: all var(--bgj-transition);
    text-decoration: none;
    color: var(--bgj-white);
}
.bgj-contact-card:hover {
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.2);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,.2);
    color: var(--bgj-white);
}

.bgj-contact-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--bgj-radius);
    background: rgba(166,139,91,.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bgj-earth-light);
    flex-shrink: 0;
}

.bgj-contact-info strong {
    display: block;
    font-size: .95rem;
    font-weight: 700;
}
.bgj-contact-info span {
    font-size: .85rem;
    color: rgba(255,255,255,.6);
}

.bgj-contact-whatsapp {
    border-color: rgba(37,211,102,.2);
}
.bgj-contact-whatsapp .bgj-contact-icon {
    background: rgba(37,211,102,.12);
    color: #25D366;
}
.bgj-contact-whatsapp:hover {
    border-color: rgba(37,211,102,.35);
}

/* ========================================================
   FOOTER
   ======================================================== */
.bgj-footer {
    background: var(--bgj-dark);
    color: rgba(255,255,255,.6);
    padding-top: 4rem;
}

.bgj-footer-inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 2rem;
    padding-bottom: 3rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.bgj-footer-brand p {
    font-size: .9rem;
    line-height: 1.65;
    margin-top: 1rem;
    max-width: 320px;
}

.bgj-footer-logo-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}
.bgj-footer-logo-link .bgj-logo-brand {
    font-family: var(--bgj-font-heading);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bgj-white);
}
.bgj-footer-logo-link .bgj-logo-tagline {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--bgj-earth-light);
    font-weight: 600;
}

.bgj-footer-links h4 {
    font-family: var(--bgj-font-body);
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bgj-white);
    margin-bottom: 1rem;
}
.bgj-footer-links ul {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.bgj-footer-links a {
    color: rgba(255,255,255,.55);
    font-size: .9rem;
    transition: color var(--bgj-transition);
}
.bgj-footer-links a:hover {
    color: var(--bgj-earth-light);
}

.bgj-footer-bottom {
    padding: 1.5rem 0;
    text-align: center;
}
.bgj-footer-bottom p {
    font-size: .8rem;
    color: rgba(255,255,255,.35);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* ========================================================
   ANIMATIONS
   ======================================================== */
.bgj-animate {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s ease;
}
.bgj-animate.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger children */
.bgj-problem-grid .bgj-animate:nth-child(2),
.bgj-why-grid .bgj-animate:nth-child(2),
.bgj-audience-grid .bgj-animate:nth-child(2) { transition-delay: .1s; }
.bgj-problem-grid .bgj-animate:nth-child(3),
.bgj-why-grid .bgj-animate:nth-child(3),
.bgj-audience-grid .bgj-animate:nth-child(3) { transition-delay: .2s; }
.bgj-problem-grid .bgj-animate:nth-child(4),
.bgj-why-grid .bgj-animate:nth-child(4),
.bgj-audience-grid .bgj-animate:nth-child(4) { transition-delay: .3s; }
.bgj-why-grid .bgj-animate:nth-child(5),
.bgj-audience-grid .bgj-animate:nth-child(5) { transition-delay: .4s; }
.bgj-why-grid .bgj-animate:nth-child(6) { transition-delay: .5s; }

/* Hero entrance */
.bgj-hero-left > * {
    opacity: 0;
    transform: translateY(20px);
    animation: bgj-rise .7s ease forwards;
}
.bgj-hero-left > *:nth-child(1) { animation-delay: .15s; }
.bgj-hero-left > *:nth-child(2) { animation-delay: .3s; }
.bgj-hero-left > *:nth-child(3) { animation-delay: .45s; }
.bgj-hero-left > *:nth-child(4) { animation-delay: .6s; }
.bgj-hero-left > *:nth-child(5) { animation-delay: .75s; }

.bgj-hero-card {
    opacity: 0;
    transform: translateY(30px) scale(.97);
    animation: bgj-cardRise .8s ease .5s forwards;
}

@keyframes bgj-rise {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes bgj-cardRise {
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ========================================================
   RESPONSIVE
   ======================================================== */

/* Tablet */
@media (max-width: 968px) {
    .bgj-menu-toggle { display: flex; }

    .bgj-header {
        height: 106px;
    }

    .bgj-header-mini {
        height: 30px;
    }

    .bgj-header-mini-inner {
        min-height: 30px;
    }

    .bgj-header-mini-links a:last-child,
    .bgj-header-mini-note {
        display: none;
    }

    .bgj-nav {
        display: none;
        position: absolute;
        top: 106px;
        left: 0;
        right: 0;
        background: var(--bgj-forest);
        flex-direction: column;
        padding: 1rem;
        box-shadow: 0 8px 24px rgba(0,0,0,.3);
        border-top: 1px solid rgba(255,255,255,.1);
    }
    .bgj-nav.open { display: flex; }

    .bgj-nav-link {
        width: 100%;
        padding: .75rem 1rem;
        border-radius: var(--bgj-radius);
    }

    .bgj-nav-group {
        width: 100%;
    }

    .bgj-nav-group-trigger {
        width: 100%;
        justify-content: space-between;
    }

    .bgj-nav-submenu {
        position: static;
        min-width: 0;
        margin-top: .35rem;
        background: rgba(255,255,255,.04);
        border-radius: 16px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
    }

    .bgj-nav-group.open .bgj-nav-submenu {
        display: grid;
    }

    .bgj-nav-cta {
        margin-left: 0;
        margin-top: .5rem;
        text-align: center;
    }

    .bgj-hero-content {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        padding-top: 100px;
    }
    .bgj-hero-right { justify-content: center; }
    .bgj-hero-card { max-width: 440px; }

    .bgj-service,
    .bgj-service-reverse {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .bgj-service-reverse .bgj-service-visual {
        order: 0;
    }

    .bgj-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bgj-audience-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .bgj-trust-bar {
        grid-template-columns: repeat(2, 1fr);
    }

    .bgj-cta-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

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

/* Phone */
@media (max-width: 640px) {
    .bgj-container {
        padding: 0 1.25rem;
    }

    .bgj-section {
        padding: 3.5rem 0;
    }
    .bgj-section-header {
        margin-bottom: 2.5rem;
    }

    .bgj-hero-h1 {
        font-size: 2rem;
    }
    .bgj-hero-p {
        font-size: .95rem;
    }

    .bgj-hero-ctas {
        flex-direction: column;
    }
    .bgj-hero-ctas .bgj-btn {
        justify-content: center;
        width: 100%;
    }

    .bgj-hero-trust {
        flex-direction: column;
        gap: .5rem;
    }

    .bgj-hero-metrics {
        grid-template-columns: repeat(3, 1fr);
        gap: .5rem;
    }
    .bgj-metric-number {
        font-size: 1.5rem;
    }

    .bgj-problem-grid {
        grid-template-columns: 1fr;
    }

    .bgj-why-grid {
        grid-template-columns: 1fr;
    }

    .bgj-audience-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bgj-trust-bar {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .bgj-trust-number {
        font-size: 2rem;
    }

    .bgj-footer-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .bgj-service-number {
        font-size: 2.5rem;
    }
    .bgj-service-content h3 {
        font-size: 1.3rem;
    }
}

/* Small phone */
@media (max-width: 480px) {
    .bgj-hero-h1 {
        font-size: 1.75rem;
    }

    .bgj-audience-grid {
        grid-template-columns: 1fr;
    }

    .bgj-hero-scroll {
        display: none;
    }

    .bgj-logo-icon {
        width: 36px;
        height: 36px;
    }
}

/* Service Images */
.bgj-service-img {
    width: 100%;
    max-width: 450px;
    border-radius: var(--bgj-radius-xl);
    object-fit: cover;
    aspect-ratio: 4 / 3;
    box-shadow: var(--bgj-shadow-lg);
    transition: transform var(--bgj-transition-slow);
}
.bgj-service-visual:hover .bgj-service-img {
    transform: scale(1.03);
}

/* Parallax BG image */
.bgj-parallax {
    background-size: cover;
    background-position: center;
}

/* ========================================================
   SUBPAGE STYLES (Page Hero, Content Blocks, Features, etc.)
   ======================================================== */

/* Page Hero */
.bgj-page-hero {
    position: relative;
    min-height: 40vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--bgj-forest);
    background-size: cover;
    background-position: center 40%;
}
.bgj-page-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(27,58,45,.5) 0%,
        rgba(27,58,45,.7) 50%,
        rgba(27,58,45,.92) 100%
    );
}
.bgj-page-hero-content {
    position: relative;
    z-index: 2;
    padding: 120px 0 3rem;
    text-align: center;
    width: 100%;
}
.bgj-page-hero-content h1 {
    font-size: clamp(2rem, 4.5vw, 3rem);
    color: var(--bgj-white);
    margin-bottom: .75rem;
}
.bgj-page-hero-content p {
    font-size: 1.1rem;
    color: rgba(255,255,255,.75);
    max-width: 600px;
    margin: 0 auto;
}

/* Content Blocks */
.bgj-content-block {
    max-width: 780px;
    margin: 0 auto;
}
.bgj-content-block p {
    font-size: 1.02rem;
    line-height: 1.8;
    color: var(--bgj-gray-700);
    margin-bottom: 1.25rem;
}
.bgj-content-block p:last-child {
    margin-bottom: 0;
}

/* Feature Items (used on subpages) */
.bgj-features-list {
    max-width: 780px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.bgj-feature-item {
    background: var(--bgj-white);
    border: 1px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius-lg);
    padding: 2rem;
    transition: all var(--bgj-transition);
}
.bgj-section-alt .bgj-feature-item {
    background: var(--bgj-white);
}
.bgj-feature-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--bgj-shadow-lg);
    border-color: var(--bgj-sand);
}
.bgj-feature-item h3 {
    font-size: 1.15rem;
    font-family: var(--bgj-font-body);
    font-weight: 700;
    color: var(--bgj-dark);
    margin-bottom: .75rem;
}
.bgj-feature-item p {
    font-size: .95rem;
    line-height: 1.7;
    color: var(--bgj-gray-600);
}

/* Target List (used on subpages) */
.bgj-target-list {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.bgj-target-list li {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    font-size: 1rem;
    line-height: 1.7;
    color: var(--bgj-gray-700);
    padding-left: 1.5rem;
    position: relative;
}
.bgj-target-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: .65rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bgj-earth);
}
.bgj-target-list li strong {
    color: var(--bgj-forest);
}

/* Subpage Responsive */
@media (max-width: 640px) {
    .bgj-page-hero-content {
        padding: 100px 0 2rem;
    }
}
@media (max-width: 480px) {
    .bgj-page-hero {
        min-height: 32vh;
    }
}

/* ========================================================
   ANFRAGE-ASSISTENT (Inquiry Wizard)
   ======================================================== */
.anf-wizard {
    max-width: 780px;
    margin: 0 auto;
    position: relative;
}

/* Progress Bar */
.anf-progress {
    margin-bottom: 2.5rem;
}
.anf-progress-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.anf-pstep {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    position: relative;
    z-index: 2;
}
.anf-pstep-num {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bgj-gray-200);
    color: var(--bgj-gray-400);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: .9rem;
    transition: all var(--bgj-transition);
}
.anf-pstep.active .anf-pstep-num {
    background: var(--bgj-earth);
    color: var(--bgj-white);
    box-shadow: 0 4px 12px rgba(139,111,71,.3);
}
.anf-pstep.done .anf-pstep-num {
    background: var(--bgj-moss);
    color: var(--bgj-white);
}
.anf-pstep-txt {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bgj-gray-400);
    transition: color var(--bgj-transition);
}
.anf-pstep.active .anf-pstep-txt,
.anf-pstep.done .anf-pstep-txt {
    color: var(--bgj-forest);
}
.anf-pstep-line {
    flex: 1;
    max-width: 60px;
    height: 2px;
    background: var(--bgj-gray-200);
    margin: 0 .5rem;
    margin-bottom: 1.25rem;
    transition: background var(--bgj-transition);
}
.anf-pstep-line.done {
    background: var(--bgj-moss);
}

/* Steps */
.anf-step {
    display: none;
    animation: bgj-faqReveal .35s ease;
}
.anf-step.active {
    display: block;
}
.anf-step-header {
    text-align: center;
    margin-bottom: 2rem;
}
.anf-step-header h3 {
    font-size: 1.4rem;
    margin-bottom: .5rem;
}
.anf-subtitle {
    color: var(--bgj-gray-600);
    font-size: .95rem;
}

/* Option Cards (Step 1) */
.anf-options-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}
.anf-option-card {
    cursor: pointer;
}
.anf-option-card input { display: none; }
.anf-card-inner {
    background: var(--bgj-white);
    border: 2px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius-lg);
    padding: 1.5rem;
    text-align: center;
    transition: all var(--bgj-transition);
}
.anf-card-inner:hover {
    border-color: var(--bgj-earth-light);
    box-shadow: var(--bgj-shadow);
    transform: translateY(-2px);
}
.anf-option-card input:checked + .anf-card-inner {
    border-color: var(--bgj-earth);
    background: rgba(139,111,71,.04);
    box-shadow: 0 0 0 3px rgba(139,111,71,.15);
}
.anf-card-icon {
    color: var(--bgj-forest);
    margin-bottom: .75rem;
}
.anf-card-inner strong {
    display: block;
    font-size: 1rem;
    color: var(--bgj-dark);
    margin-bottom: .25rem;
}
.anf-card-inner small {
    font-size: .8rem;
    color: var(--bgj-gray-600);
}

/* Form Grid */
.anf-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
}
.anf-field-full {
    grid-column: 1 / -1;
}
.anf-field label {
    display: block;
    font-size: .85rem;
    font-weight: 700;
    color: var(--bgj-dark);
    margin-bottom: .4rem;
}
.anf-optional {
    font-weight: 400;
    color: var(--bgj-gray-400);
}
.anf-input,
.anf-textarea {
    width: 100%;
    padding: .75rem 1rem;
    border: 2px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius);
    font-family: var(--bgj-font-body);
    font-size: .95rem;
    color: var(--bgj-dark);
    transition: border-color var(--bgj-transition);
    background: var(--bgj-white);
}
.anf-input:focus,
.anf-textarea:focus {
    outline: none;
    border-color: var(--bgj-earth);
    box-shadow: 0 0 0 3px rgba(139,111,71,.1);
}
.anf-textarea {
    resize: vertical;
    min-height: 80px;
}
.anf-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.anf-input-wrap .anf-input {
    padding-right: 3rem;
}
.anf-input-suffix {
    position: absolute;
    right: 1rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--bgj-gray-400);
    pointer-events: none;
}
.anf-field small {
    display: block;
    font-size: .75rem;
    color: var(--bgj-gray-400);
    margin-top: .25rem;
}

/* Chips */
.anf-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.anf-chip {
    cursor: pointer;
}
.anf-chip input { display: none; }
.anf-chip span {
    display: inline-block;
    padding: .5rem 1rem;
    border: 2px solid var(--bgj-gray-200);
    border-radius: 100px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--bgj-gray-600);
    transition: all var(--bgj-transition);
    background: var(--bgj-white);
}
.anf-chip span:hover {
    border-color: var(--bgj-earth-light);
    color: var(--bgj-earth-dark);
}
.anf-chip input:checked + span {
    background: var(--bgj-earth);
    color: var(--bgj-white);
    border-color: var(--bgj-earth);
}

/* Toggle Group */
.anf-toggle-group {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.anf-toggle {
    cursor: pointer;
    flex: 1;
    min-width: 120px;
}
.anf-toggle input { display: none; }
.anf-toggle span {
    display: block;
    padding: .75rem 1rem;
    border: 2px solid var(--bgj-gray-200);
    border-radius: var(--bgj-radius);
    text-align: center;
    font-size: .9rem;
    font-weight: 600;
    color: var(--bgj-gray-600);
    transition: all var(--bgj-transition);
    background: var(--bgj-white);
}
.anf-toggle span em {
    display: block;
    font-style: normal;
    font-size: .75rem;
    font-weight: 400;
    color: var(--bgj-gray-400);
    margin-top: .15rem;
}
.anf-toggle span:hover {
    border-color: var(--bgj-earth-light);
}
.anf-toggle input:checked + span {
    background: var(--bgj-earth);
    color: var(--bgj-white);
    border-color: var(--bgj-earth);
}
.anf-toggle input:checked + span em {
    color: rgba(255,255,255,.7);
}
.anf-toggle-sm .anf-toggle {
    min-width: 90px;
}

/* Privacy checkbox */
.anf-privacy label {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    font-weight: 400;
    font-size: .85rem;
    color: var(--bgj-gray-600);
    cursor: pointer;
}
.anf-privacy input[type="checkbox"] {
    margin-top: .15rem;
    width: 18px;
    height: 18px;
    accent-color: var(--bgj-earth);
}
.anf-privacy a {
    color: var(--bgj-earth);
    text-decoration: underline;
}

/* Navigation */
.anf-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--bgj-gray-200);
}
.anf-btn-back,
.anf-btn-next {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .75rem 1.5rem;
    border: none;
    border-radius: var(--bgj-radius);
    font-family: var(--bgj-font-body);
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    transition: all var(--bgj-transition);
}
.anf-btn-back {
    background: transparent;
    color: var(--bgj-gray-600);
    border: 1px solid var(--bgj-gray-200);
}
.anf-btn-back:hover {
    background: var(--bgj-gray-100);
    color: var(--bgj-dark);
}
.anf-btn-next {
    background: var(--bgj-earth);
    color: var(--bgj-white);
}
.anf-btn-next:hover {
    background: var(--bgj-earth-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(139,111,71,.3);
}
.anf-btn-next:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.anf-step-counter {
    font-size: .8rem;
    font-weight: 600;
    color: var(--bgj-gray-400);
}

/* Success Step */
.anf-success {
    text-align: center;
    padding: 2rem 0;
}
.anf-success-icon {
    color: var(--bgj-moss);
    margin-bottom: 1.5rem;
}
.anf-success h3 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.anf-success p {
    color: var(--bgj-gray-600);
    max-width: 480px;
    margin: 0 auto .75rem;
}
.anf-success-name {
    font-weight: 600;
    color: var(--bgj-forest);
    margin-top: 1.5rem !important;
}
.anf-success-name small {
    font-weight: 400;
    color: var(--bgj-gray-600);
}
.anf-success-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 2rem;
}

/* Wizard Responsive */
@media (max-width: 640px) {
    .anf-options-grid { grid-template-columns: 1fr; }
    .anf-form-grid { grid-template-columns: 1fr; }
    .anf-toggle { min-width: 100px; }
    .anf-pstep-txt { font-size: .6rem; }
    .anf-pstep-num { width: 32px; height: 32px; font-size: .8rem; }
    .anf-pstep-line { max-width: 30px; }
    .anf-success-actions { flex-direction: column; }
    .anf-success-actions .bgj-btn { justify-content: center; }
}

/* ========================================================
   PRINT
   ======================================================== */
@media print {
    .bgj-header,
    .bgj-hero-scroll,
    .bgj-menu-toggle,
    .bgj-parallax-overlay {
        display: none !important;
    }
    .bgj-hero {
        min-height: auto;
        padding: 2rem 0;
    }
    .bgj-hero-bg, .bgj-hero-overlay { display: none; }
    .bgj-hero-content { grid-template-columns: 1fr; }
    body { color: #000; font-size: 12pt; }
    .bgj-section-dark { background: #f5f5f5; }
    .bgj-why-card h3, .bgj-section-header.bgj-light h2 { color: #000; }
}

/* ════════════════════════════════════════════════════════════
   DESIGN 2.0 — Widescreen, Breakouts, Visual Impact Layer
   ════════════════════════════════════════════════════════════ */

/* ── Widescreen Container (full viewport) ── */
.bgj-container-wide {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 2rem;
}
.bgj-container-xl {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* ── Full-Bleed Breakout (escapes any parent container) ── */
.bgj-breakout {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    position: relative;
}

/* ════════════════════════════════════════════════════════════
   WIDE HERO — For all subpages (replaces narrow headers)
   ════════════════════════════════════════════════════════════ */
.bgj-hero-wide {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 68vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
}
.bgj-hero-wide-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    overflow: hidden;
}
.bgj-hero-wide-bg-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.08);
    animation: bgj-ken-burns 20s ease-in-out infinite alternate;
    will-change: transform;
}
@keyframes bgj-ken-burns {
    0%   { transform: scale(1.08) translate(0, 0); }
    100% { transform: scale(1.18) translate(-2%, -2%); }
}
.bgj-hero-wide-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg,
            rgba(27,58,45,.4) 0%,
            rgba(27,58,45,.35) 40%,
            rgba(15,31,15,.85) 100%);
}
.bgj-hero-wide-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8rem 2rem 5rem;
    width: 100%;
    color: var(--bgj-white);
    position: relative;
    z-index: 1;
}
.bgj-hero-wide-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--bgj-earth-light);
    margin-bottom: 1.5rem;
    padding: .5rem 1.25rem;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 100px;
    backdrop-filter: blur(10px);
}
.bgj-hero-wide-eyebrow::before {
    content: '';
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--bgj-moss-light);
    box-shadow: 0 0 0 4px rgba(90,156,110,.3);
}
.bgj-hero-wide h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    line-height: 1.05;
    color: var(--bgj-white);
    margin-bottom: 1.5rem;
    max-width: 900px;
    font-weight: 700;
    letter-spacing: -.02em;
    text-shadow: 0 2px 30px rgba(0,0,0,.3);
}
.bgj-hero-wide h1 .bgj-accent {
    color: var(--bgj-earth-light);
    background: linear-gradient(135deg, var(--bgj-earth-light) 0%, #d4b58a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.bgj-hero-wide h1 .bgj-accent::after { display: none; }
.bgj-hero-wide-lead {
    font-size: clamp(1.05rem, 1.4vw, 1.35rem);
    line-height: 1.6;
    color: rgba(255,255,255,.92);
    max-width: 680px;
    margin-bottom: 2.5rem;
    font-weight: 400;
}
.bgj-hero-wide-ctas {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
}
.bgj-hero-wide-stats {
    display: flex;
    gap: 3rem;
    flex-wrap: wrap;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,.15);
}
.bgj-hero-wide-stat {
    display: flex;
    flex-direction: column;
}
.bgj-hero-wide-stat-n {
    font-family: var(--bgj-font-heading);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--bgj-earth-light);
    line-height: 1;
}
.bgj-hero-wide-stat-l {
    font-size: .85rem;
    color: rgba(255,255,255,.65);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-top: .35rem;
    font-weight: 600;
}

/* Scroll cue */
.bgj-hero-wide-cue {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 50px;
    border: 2px solid rgba(255,255,255,.4);
    border-radius: 15px;
    z-index: 2;
}
.bgj-hero-wide-cue::before {
    content: '';
    position: absolute;
    top: 8px; left: 50%;
    width: 4px; height: 8px;
    background: var(--bgj-earth-light);
    border-radius: 2px;
    transform: translateX(-50%);
    animation: bgj-scroll 2s ease-in-out infinite;
}
@keyframes bgj-scroll {
    0%, 100% { opacity: 1; top: 8px; }
    50%      { opacity: .3; top: 24px; }
}

@media (max-width: 768px) {
    .bgj-hero-wide { min-height: 60vh; }
    .bgj-hero-wide-content { padding: 6rem 1.5rem 4rem; }
    .bgj-hero-wide-stats { gap: 1.5rem; }
    .bgj-hero-wide-stat-n { font-size: 1.75rem; }
}

/* ════════════════════════════════════════════════════════════
   IMAGE SHOWCASE GRIDS — Visual Anchors Between Content
   ════════════════════════════════════════════════════════════ */
.bgj-showcase {
    padding: 0;
    margin: 5rem 0;
}
.bgj-showcase-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: .75rem;
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 2rem;
}
.bgj-showcase-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--bgj-radius-lg);
    aspect-ratio: 4/3;
    cursor: pointer;
    transition: transform .4s ease;
}
.bgj-showcase-item:first-child { grid-row: span 2; aspect-ratio: 1/1; }
.bgj-showcase-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s ease;
}
.bgj-showcase-item:hover img { transform: scale(1.08); }
.bgj-showcase-item::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(27,58,45,.85) 100%);
    pointer-events: none;
}

.bgj-species-card img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.bgj-species-link {
    display: block;
    color: inherit;
}

.bgj-species-card .bgj-showcase-caption p {
    max-width: 28ch;
}
.bgj-showcase-caption {
    position: absolute;
    bottom: 1.25rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 2;
    color: var(--bgj-white);
}
.bgj-showcase-caption h4 {
    color: var(--bgj-white);
    font-size: 1.15rem;
    margin-bottom: .25rem;
}
.bgj-showcase-caption p {
    font-size: .85rem;
    color: rgba(255,255,255,.8);
    line-height: 1.4;
}

.bgj-species-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.2rem;
    max-width: none;
    padding: 0;
}

.bgj-species-grid .bgj-showcase-item {
    aspect-ratio: auto;
    cursor: default;
}

.bgj-species-grid .bgj-showcase-item:first-child {
    grid-row: auto;
    aspect-ratio: auto;
}

.bgj-species-card {
    background: rgba(255,255,255,.98);
    border: 1px solid rgba(27,58,45,.08);
    box-shadow: 0 24px 48px -34px rgba(27,58,45,.24);
}

.bgj-species-card::after {
    display: none;
}

.bgj-species-link {
    display: grid;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.bgj-species-media {
    position: relative;
    aspect-ratio: 16 / 11;
    overflow: hidden;
}

.bgj-species-badge {
    position: absolute;
    left: 1rem;
    top: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: rgba(12,25,18,.68);
    border: 1px solid rgba(255,255,255,.14);
    color: var(--bgj-white);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bgj-species-caption {
    position: static;
    display: grid;
    gap: .7rem;
    padding: 1.2rem;
    color: inherit;
}

.bgj-species-caption-top {
    display: grid;
    gap: .4rem;
}

.bgj-species-caption h4 {
    color: var(--bgj-dark);
    font-size: 1.12rem;
    margin-bottom: 0;
}

.bgj-species-caption p,
.bgj-species-card .bgj-showcase-caption p {
    max-width: none;
    color: var(--bgj-gray-600);
    line-height: 1.65;
    font-size: .93rem;
}

.bgj-species-caption .bgj-inline-link {
    margin-top: 0;
    font-size: .85rem;
}

@media (max-width: 900px) {
    .bgj-showcase-grid { grid-template-columns: 1fr 1fr; }
    .bgj-showcase-item:first-child { grid-column: span 2; grid-row: auto; aspect-ratio: 16/9; }
    .bgj-species-grid { grid-template-columns: 1fr 1fr; }
    .bgj-species-grid .bgj-showcase-item:first-child { grid-column: auto; grid-row: auto; aspect-ratio: auto; }
}

/* ════════════════════════════════════════════════════════════
   SPLIT-HERO — Image left, Content right (or reverse)
   ════════════════════════════════════════════════════════════ */
.bgj-split-hero {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 560px;
    background: var(--bgj-forest);
    overflow: hidden;
}
.bgj-split-hero-image {
    background-size: cover;
    background-position: center;
    position: relative;
    min-height: 400px;
}
.bgj-split-hero-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 60%, rgba(27,58,45,.4) 100%);
}
.bgj-split-hero-content {
    padding: 5rem clamp(2rem, 5vw, 5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--bgj-white);
    background: linear-gradient(135deg, var(--bgj-forest) 0%, var(--bgj-forest-light) 100%);
}
.bgj-split-hero-content h2 {
    color: var(--bgj-white);
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    line-height: 1.15;
    margin-bottom: 1.25rem;
}
.bgj-split-hero-content p {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255,255,255,.85);
    margin-bottom: 2rem;
}
.bgj-split-hero-reverse { grid-template-columns: 1fr 1.1fr; }
.bgj-split-hero-reverse .bgj-split-hero-image { order: 2; }
.bgj-split-hero-reverse .bgj-split-hero-content { order: 1; }

@media (max-width: 900px) {
    .bgj-split-hero, .bgj-split-hero-reverse { grid-template-columns: 1fr; }
    .bgj-split-hero-reverse .bgj-split-hero-image { order: 1; }
    .bgj-split-hero-reverse .bgj-split-hero-content { order: 2; }
    .bgj-split-hero-content { padding: 3rem 1.5rem; }
}

/* ════════════════════════════════════════════════════════════
   PARALLAX BANNER — Quote / Mission Statement
   ════════════════════════════════════════════════════════════ */
.bgj-parallax-banner {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    isolation: isolate;
}
.bgj-parallax-banner-bg {
    position: absolute;
    inset: -10%;
    z-index: -2;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
@supports not (background-attachment: fixed) {
    .bgj-parallax-banner-bg { background-attachment: scroll; }
}
.bgj-parallax-banner-overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: rgba(27,58,45,.78);
}
.bgj-parallax-banner-content {
    max-width: 900px;
    padding: 5rem 2rem;
    text-align: center;
    color: var(--bgj-white);
}
.bgj-parallax-banner-content .quote-mark {
    font-family: var(--bgj-font-heading);
    font-size: 6rem;
    line-height: 0.5;
    color: var(--bgj-earth-light);
    opacity: .8;
    display: block;
    margin-bottom: 1rem;
}
.bgj-parallax-banner-content blockquote {
    font-family: var(--bgj-font-heading);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    line-height: 1.4;
    color: var(--bgj-white);
    margin-bottom: 2rem;
    font-weight: 500;
    font-style: italic;
}
.bgj-parallax-banner-content cite {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-style: normal;
    color: rgba(255,255,255,.8);
    font-size: .9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.bgj-parallax-banner-content cite::before {
    content: '';
    width: 40px; height: 1px;
    background: var(--bgj-earth-light);
}

/* ════════════════════════════════════════════════════════════
   FEATURE GRID — Alternating image-text rows
   ════════════════════════════════════════════════════════════ */
.bgj-feature-alt {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    margin: 5rem 0;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2rem;
}
.bgj-feature-alt-reverse .bgj-feature-alt-image { order: 2; }
.bgj-feature-alt-image {
    position: relative;
    border-radius: var(--bgj-radius-xl);
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: var(--bgj-shadow-xl);
}
.bgj-feature-alt-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.bgj-feature-alt-image:hover img { transform: scale(1.05); }
.bgj-feature-alt-image::before {
    content: '';
    position: absolute;
    inset: -8px;
    border: 2px solid var(--bgj-earth);
    border-radius: var(--bgj-radius-xl);
    z-index: -1;
    opacity: .3;
    transform: translate(20px, 20px);
}
.bgj-feature-alt-content h3 {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    margin-bottom: 1rem;
    color: var(--bgj-forest);
}
.bgj-feature-alt-content p {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--bgj-gray-700);
    margin-bottom: 1.5rem;
}
.bgj-feature-alt-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .75rem;
}
.bgj-feature-alt-list li {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    color: var(--bgj-gray-700);
    font-size: 1rem;
    line-height: 1.5;
}
.bgj-feature-alt-list li::before {
    content: '✓';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: var(--bgj-moss);
    color: var(--bgj-white);
    border-radius: 50%;
    font-size: .75rem;
    font-weight: 700;
}

@media (max-width: 900px) {
    .bgj-feature-alt { grid-template-columns: 1fr; gap: 2.5rem; }
    .bgj-feature-alt-reverse .bgj-feature-alt-image { order: 1; }
}

/* ════════════════════════════════════════════════════════════
   ENHANCED CARD HOVERS — Lift + Glow
   ════════════════════════════════════════════════════════════ */
.bgj-problem-card,
.bgj-audience-card,
.bgj-contact-card,
.bgj-faq-item {
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, border-color .35s ease;
}
.bgj-problem-card:hover,
.bgj-audience-card:hover,
.bgj-contact-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -12px rgba(27,58,45,.18), 0 0 0 1px var(--bgj-moss);
}

/* ════════════════════════════════════════════════════════════
   SECTION RHYTHM — Label, heading polish
   ════════════════════════════════════════════════════════════ */
.bgj-section-label {
    position: relative;
    padding-left: 2rem;
}
.bgj-section-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 2px;
    background: var(--bgj-earth);
}
.bgj-section-header.bgj-light .bgj-section-label::before {
    background: var(--bgj-earth-light);
}

/* Full-width decorative sections (when used in Elementor) */
.elementor-widget-html .bgj-hero-wide,
.elementor-widget-html .bgj-split-hero,
.elementor-widget-html .bgj-parallax-banner,
.elementor-widget-html .bgj-breakout,
.elementor-widget-html .bgj-showcase-grid {
    position: relative;
}

/* ════════════════════════════════════════════════════════════
   SCROLL-REVEAL ANIMATIONS
   ════════════════════════════════════════════════════════════ */
.bgj-animate,
.bgj-problem-card,
.bgj-audience-card,
.bgj-service,
.bgj-faq-item,
.bgj-feature-alt {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1);
}
.bgj-animate.bgj-visible,
.bgj-problem-card.bgj-visible,
.bgj-audience-card.bgj-visible,
.bgj-service.bgj-visible,
.bgj-faq-item.bgj-visible,
.bgj-feature-alt.bgj-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fallback: show content if JS doesn't run */
@media (prefers-reduced-motion: reduce) {
    .bgj-animate,
    .bgj-problem-card,
    .bgj-audience-card,
    .bgj-service,
    .bgj-faq-item,
    .bgj-feature-alt,
    .bgj-hero-bg-media,
    .bgj-hero-wide-bg,
    .bgj-hero-wide-bg-media {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }
}

/* JS-off fallback */
html.no-js .bgj-animate,
html.no-js .bgj-problem-card,
html.no-js .bgj-audience-card,
html.no-js .bgj-service,
html.no-js .bgj-faq-item,
html.no-js .bgj-feature-alt {
    opacity: 1;
    transform: none;
}

/* ════════════════════════════════════════════════════════════
   THEME-RENDERED PAGE LAYER
   ════════════════════════════════════════════════════════════ */
.bgj-theme-rendered {
    background: linear-gradient(180deg, #fbf8f2 0%, #ffffff 20%);
}

.bgj-theme-rendered main {
    overflow: clip;
}

.bgj-header-inner {
    gap: 1.25rem;
}

.bgj-nav {
    margin-left: auto;
}

.bgj-header-meta {
    display: none;
}

.bgj-header-call {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--bgj-white);
    font-size: .92rem;
    font-weight: 700;
    padding: .55rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
}

.bgj-header-call:hover {
    color: var(--bgj-white);
    background: rgba(255,255,255,.14);
}

.bgj-header-note {
    font-size: .73rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.62);
}

.bgj-breadcrumbs {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .8rem;
    font-weight: 700;
    color: rgba(255,255,255,.72);
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.bgj-breadcrumbs a {
    color: rgba(255,255,255,.86);
    text-decoration: none;
}

.bgj-answer-strip {
    background: linear-gradient(135deg, rgba(27,58,45,.97), rgba(45,90,63,.95));
    color: var(--bgj-white);
    padding: 1.2rem 0;
}

.bgj-answer-strip-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.25rem;
    align-items: start;
}

.bgj-answer-strip strong {
    color: var(--bgj-earth-light);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .8rem;
    padding-top: .15rem;
}

.bgj-answer-copy,
.bgj-answer-points {
    color: rgba(255,255,255,.88);
    font-size: 1rem;
    line-height: 1.7;
}

.bgj-answer-points {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.bgj-answer-points span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .5rem .8rem;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    font-size: .92rem;
}

[data-anchor-section],
#anfrage,
#kontaktformular,
#details {
    scroll-margin-top: calc(var(--bgj-header-offset, 122px) + 26px);
}

.bgj-page-nav-wrap {
    position: sticky;
    top: calc(var(--bgj-header-offset, 122px) - 1px);
    z-index: 120;
    background: rgba(251,248,242,.84);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(27,58,45,.08);
    box-shadow: 0 14px 34px -30px rgba(27,58,45,.28);
}

.bgj-page-nav {
    display: flex;
    gap: .75rem;
    padding: .85rem 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.bgj-page-nav::-webkit-scrollbar {
    display: none;
}

.bgj-page-nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: .7rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.72);
    color: var(--bgj-gray-700);
    font-size: .88rem;
    font-weight: 700;
    box-shadow: 0 16px 34px -30px rgba(27,58,45,.22);
    transition: background var(--bgj-transition), color var(--bgj-transition), border-color var(--bgj-transition), transform var(--bgj-transition);
}

.bgj-page-nav-link:hover,
.bgj-page-nav-link.is-active {
    color: var(--bgj-white);
    background: var(--bgj-forest);
    border-color: rgba(27,58,45,.4);
    transform: translateY(-1px);
}

.bgj-editorial-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    gap: 2rem;
    align-items: start;
}

.bgj-editorial-copy .bgj-section-header {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
}

.bgj-content-block-left {
    max-width: none;
    margin: 0;
}

.bgj-editorial-side {
    position: sticky;
    top: calc(var(--bgj-header-offset, 122px) + 1.5rem);
}

.bgj-editorial-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,241,235,.96)),
        radial-gradient(circle at top right, rgba(166,139,91,.16), transparent 38%);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 24px;
    padding: 1.45rem;
    box-shadow: 0 26px 46px -34px rgba(27,58,45,.28);
}

.bgj-editorial-kicker {
    display: inline-flex;
    margin-bottom: .5rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .73rem;
    font-weight: 800;
    color: var(--bgj-earth);
}

.bgj-editorial-card h3 {
    font-family: var(--bgj-font-body);
    font-size: 1.24rem;
    color: var(--bgj-dark);
    margin-bottom: 1rem;
}

.bgj-editorial-stat-stack {
    display: grid;
    gap: .85rem;
}

.bgj-editorial-stat {
    padding: .95rem 1rem;
    border-radius: 18px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.78);
}

.bgj-editorial-stat strong {
    display: block;
    color: var(--bgj-forest);
    font-size: .95rem;
    margin-bottom: .2rem;
}

.bgj-editorial-stat span {
    display: block;
    color: var(--bgj-gray-600);
    font-size: .86rem;
    line-height: 1.55;
}

.bgj-editorial-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(27,58,45,.12), rgba(27,58,45,.02));
    margin: 1rem 0;
}

.bgj-editorial-list {
    display: grid;
    gap: .85rem;
}

.bgj-editorial-list li {
    display: grid;
    gap: .18rem;
    padding-left: 1rem;
    position: relative;
}

.bgj-editorial-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .5rem;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bgj-earth);
}

.bgj-editorial-list strong {
    color: var(--bgj-dark);
    font-size: .92rem;
}

.bgj-editorial-list span {
    color: var(--bgj-gray-600);
    font-size: .88rem;
    line-height: 1.6;
}

.bgj-editorial-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.bgj-editorial-pills span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem .75rem;
    border-radius: 999px;
    background: rgba(27,58,45,.06);
    border: 1px solid rgba(27,58,45,.09);
    color: var(--bgj-forest);
    font-size: .78rem;
    font-weight: 700;
}

.bgj-signal-grid,
.bgj-solution-grid,
.bgj-related-detail-grid {
    display: grid;
    gap: 1.4rem;
}

.bgj-signal-grid,
.bgj-solution-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgj-related-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgj-signal-card,
.bgj-solution-card,
.bgj-related-detail-card {
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.96);
    box-shadow: 0 24px 46px -34px rgba(27,58,45,.26);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.bgj-signal-card:hover,
.bgj-solution-card:hover,
.bgj-related-detail-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 54px -30px rgba(27,58,45,.3);
    border-color: rgba(139,111,71,.24);
}

.bgj-signal-card,
.bgj-solution-card {
    position: relative;
    padding: 1.45rem;
    padding-top: 3.2rem;
}

.bgj-signal-card {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,246,246,.92));
}

.bgj-solution-card {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,248,244,.94));
}

.bgj-signal-card-icon,
.bgj-solution-card-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    margin-bottom: .95rem;
}

.bgj-signal-card-icon {
    background: rgba(153,27,27,.08);
    color: #991b1b;
}

.bgj-solution-card-icon {
    background: rgba(5,150,105,.1);
    color: var(--bgj-success);
}

.bgj-signal-card p,
.bgj-solution-card p {
    color: var(--bgj-gray-700);
    line-height: 1.7;
    font-size: .96rem;
}

.bgj-signal-card-step,
.bgj-solution-card-step {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-family: var(--bgj-font-heading);
    font-size: 2rem;
    line-height: 1;
    color: rgba(139,111,71,.18);
    letter-spacing: -.04em;
}

.bgj-related-detail-link {
    display: grid;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

.bgj-related-detail-media {
    aspect-ratio: 16 / 11;
    overflow: hidden;
}

.bgj-related-detail-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.bgj-related-detail-card:hover .bgj-related-detail-media img {
    transform: scale(1.05);
}

.bgj-related-detail-body {
    display: grid;
    gap: .6rem;
    padding: 1.3rem;
}

.bgj-related-detail-eyebrow {
    display: inline-flex;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--bgj-earth);
}

.bgj-related-detail-body h3 {
    font-family: var(--bgj-font-body);
    font-size: 1.12rem;
    color: var(--bgj-dark);
}

.bgj-related-detail-body p {
    color: var(--bgj-gray-600);
    line-height: 1.65;
    font-size: .93rem;
}

.bgj-service-card-grid,
.bgj-proof-grid,
.bgj-results-grid,
.bgj-target-grid {
    display: grid;
    gap: 1.4rem;
}

.bgj-service-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

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

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

.bgj-service-card,
.bgj-proof-card,
.bgj-target-card,
.bgj-result-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 20px;
    padding: 1.7rem;
    box-shadow: 0 20px 40px -28px rgba(27,58,45,.24);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.bgj-service-card:hover,
.bgj-proof-card:hover,
.bgj-target-card:hover,
.bgj-result-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 50px -26px rgba(27,58,45,.28);
    border-color: rgba(139,111,71,.25);
}

.bgj-service-card-icon,
.bgj-proof-card-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(139,111,71,.12), rgba(232,224,212,.72));
    color: var(--bgj-forest);
    margin-bottom: 1rem;
}

.bgj-service-card h3,
.bgj-proof-card h3,
.bgj-target-card h3 {
    font-family: var(--bgj-font-body);
    font-size: 1.1rem;
    margin-bottom: .65rem;
    color: var(--bgj-dark);
}

.bgj-service-card p,
.bgj-proof-card p,
.bgj-target-card p {
    color: var(--bgj-gray-600);
    line-height: 1.7;
    font-size: .96rem;
}

.bgj-target-card-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, rgba(27,58,45,.1), rgba(232,224,212,.74));
    color: var(--bgj-forest);
}

.bgj-inline-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: 1.1rem;
    font-weight: 700;
    text-decoration: none;
}

.bgj-result-card strong {
    display: block;
    color: var(--bgj-forest);
    font-size: 1.25rem;
    margin-bottom: .45rem;
}

.bgj-result-card span {
    color: var(--bgj-gray-600);
    font-size: .95rem;
    line-height: 1.65;
}

.bgj-proof-stack {
    display: grid;
    gap: .9rem;
}

.bgj-proof-item {
    display: grid;
    gap: .25rem;
    padding: 1rem 1.05rem;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
}

.bgj-proof-item strong {
    color: var(--bgj-white);
    font-size: 1.1rem;
}

.bgj-proof-item span {
    color: rgba(255,255,255,.72);
    font-size: .88rem;
    line-height: 1.55;
}

.bgj-service-mini-list {
    display: grid;
    gap: .75rem;
    margin-top: 1.3rem;
}

.bgj-service-mini-list .bgj-card-feature {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: .8rem .95rem;
}

.bgj-service-mini-list .bgj-feature-icon {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bgj-earth-light);
}

.bgj-form-panel {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 24px;
    padding: clamp(1.25rem, 2vw, 1.7rem);
    box-shadow: 0 28px 60px -32px rgba(27,58,45,.28);
}

.bgj-form-status {
    margin-bottom: 1.2rem;
    padding: .95rem 1rem;
    border-radius: 16px;
    font-size: .95rem;
    line-height: 1.6;
    font-weight: 600;
}

.bgj-form-status-sent {
    background: rgba(5,150,105,.1);
    color: #065f46;
    border: 1px solid rgba(5,150,105,.18);
}

.bgj-form-status-error {
    background: rgba(153,27,27,.08);
    color: #991b1b;
    border: 1px solid rgba(153,27,27,.15);
}

.bgj-prefill-note,
.bgj-form-note {
    margin-top: .9rem;
    font-size: .84rem;
    color: var(--bgj-gray-600);
    line-height: 1.6;
}

.bgj-honeypot {
    position: absolute;
    left: -9999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.bgj-contact-card-grid {
    display: grid;
    gap: 1rem;
}

.bgj-contact-card-grid-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgj-contact-card-grid-stack {
    grid-template-columns: 1fr;
}

.bgj-contact-split {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 2rem;
    align-items: start;
}

.bgj-contact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.bgj-contact-form .anf-field-full {
    grid-column: 1 / -1;
}

.bgj-contact-form select.anf-input {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--bgj-gray-400) 50%), linear-gradient(135deg, var(--bgj-gray-400) 50%, transparent 50%);
    background-position: calc(100% - 20px) calc(50% - 2px), calc(100% - 14px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 3rem;
}

.bgj-form-submit {
    width: 100%;
    justify-content: center;
    margin-top: .5rem;
}

.bgj-checklist {
    display: grid;
    gap: .8rem;
}

.bgj-checklist-item {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .95rem 1rem;
    background: rgba(27,58,45,.04);
    border: 1px solid rgba(27,58,45,.07);
    border-radius: 16px;
    color: var(--bgj-gray-700);
    line-height: 1.65;
}

.bgj-checklist-item svg {
    flex-shrink: 0;
    color: var(--bgj-forest);
    margin-top: .05rem;
}

.bgj-cta-contact-stack {
    margin-top: 1rem;
}

.bgj-mobile-cta {
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    display: none;
    grid-template-columns: repeat(3, 1fr);
    gap: .65rem;
    z-index: 1200;
    padding: .7rem;
    border-radius: 20px;
    background: rgba(14,25,20,.92);
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 50px -28px rgba(0,0,0,.5);
}

.bgj-mobile-cta-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    min-height: 58px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    color: var(--bgj-white);
    text-decoration: none;
    font-size: .78rem;
    font-weight: 700;
}

.bgj-mobile-cta-link-primary {
    background: var(--bgj-earth);
}

.bgj-mobile-cta-link:hover {
    color: var(--bgj-white);
}

html.no-js .anf-progress,
html.no-js .anf-nav {
    display: none !important;
}

html.no-js .anf-step {
    display: block !important;
    margin-bottom: 1.5rem;
}

.bgj-btn-ghost {
    background: rgba(27,58,45,.05);
    color: var(--bgj-forest);
    border: 1px solid rgba(27,58,45,.12);
}

.bgj-btn-ghost:hover {
    background: rgba(27,58,45,.08);
    color: var(--bgj-forest);
    border-color: rgba(27,58,45,.2);
    transform: translateY(-1px);
}

/* ========================================================
   ABOUT PAGE
   ======================================================== */
.bgj-about-layout {
    display: grid;
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: stretch;
    padding: 1.15rem;
    border-radius: 34px;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,236,.98)),
        radial-gradient(circle at top right, rgba(166,139,91,.12), transparent 42%);
    box-shadow: 0 34px 64px -42px rgba(27,58,45,.24);
    overflow: hidden;
    position: relative;
}

.bgj-about-layout::before {
    content: "";
    position: absolute;
    inset: -15% -8% auto auto;
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(166,139,91,.12) 0%, rgba(166,139,91,0) 72%);
    pointer-events: none;
}

.bgj-about-aside {
    position: sticky;
    top: 132px;
    align-self: start;
}

.bgj-about-portrait-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,241,235,.92)),
        radial-gradient(circle at top right, rgba(166,139,91,.14), transparent 42%);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 30px 50px -34px rgba(27,58,45,.34);
}

.bgj-about-portrait-media {
    position: relative;
    aspect-ratio: 4 / 5;
    background:
        radial-gradient(circle at top left, rgba(139,111,71,.22), transparent 36%),
        linear-gradient(135deg, #f3eee5 0%, #e7dece 45%, #d9ccb8 100%);
}

.bgj-about-portrait-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.bgj-about-portrait-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    gap: .8rem;
    color: var(--bgj-forest);
    font-weight: 700;
    letter-spacing: .03em;
    text-align: center;
    padding: 1.5rem;
}

.bgj-about-portrait-placeholder-icon {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255,255,255,.6);
    border: 1px solid rgba(27,58,45,.1);
    box-shadow: 0 12px 24px -18px rgba(27,58,45,.35);
}

.bgj-about-portrait-body {
    padding: 1.6rem 1.5rem 1.7rem;
}

.bgj-about-kicker {
    margin-bottom: .45rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .74rem;
    font-weight: 800;
    color: var(--bgj-earth);
}

.bgj-about-portrait-body h2 {
    margin-bottom: .35rem;
    font-size: 2rem;
}

.bgj-about-role {
    color: var(--bgj-gray-600);
    font-size: .98rem;
    margin-bottom: 1.2rem;
}

.bgj-about-facts {
    display: grid;
    gap: .75rem;
    margin-bottom: 1.35rem;
}

.bgj-about-fact {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .7rem .8rem;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 16px;
    color: var(--bgj-gray-700);
    font-size: .92rem;
}

.bgj-about-fact-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(139,111,71,.14), rgba(232,224,212,.75));
    color: var(--bgj-forest);
}

.bgj-about-portrait-actions {
    display: grid;
    gap: .75rem;
}

.bgj-about-portrait-actions .bgj-btn {
    justify-content: center;
}

.bgj-about-main .bgj-section-header {
    text-align: left;
    margin-bottom: 2rem;
}

.bgj-about-main {
    position: relative;
    display: grid;
    align-content: start;
    padding: 1.35rem 1.6rem 1.35rem .35rem;
    min-width: 0;
}

.bgj-about-main::before {
    content: "";
    position: absolute;
    left: -.55rem;
    top: 1.2rem;
    bottom: 1.2rem;
    width: 1px;
    background: linear-gradient(180deg, rgba(166,139,91,.22), rgba(166,139,91,0));
}

.bgj-about-main .bgj-section-header p {
    max-width: 720px;
}

.bgj-about-intro-copy {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.8rem;
}

.bgj-about-intro-copy p {
    font-size: 1.04rem;
    line-height: 1.82;
    color: var(--bgj-gray-700);
}

.bgj-about-story-grid,
.bgj-about-values-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.3rem;
}

.bgj-about-story-card,
.bgj-about-value-card {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 22px;
    padding: 1.5rem;
    box-shadow: 0 24px 44px -34px rgba(27,58,45,.28);
}

.bgj-about-story-card:hover,
.bgj-about-value-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 48px -30px rgba(27,58,45,.32);
    border-color: rgba(139,111,71,.22);
}

.bgj-about-story-eyebrow,
.bgj-about-timeline-eyebrow {
    display: inline-flex;
    margin-bottom: .6rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .74rem;
    font-weight: 800;
    color: var(--bgj-earth);
}

.bgj-about-story-card h3,
.bgj-about-value-card h3,
.bgj-about-timeline-content h3 {
    font-family: var(--bgj-font-body);
    font-size: 1.18rem;
    font-weight: 800;
    color: var(--bgj-dark);
    margin-bottom: .7rem;
}

.bgj-about-story-card p,
.bgj-about-value-card p,
.bgj-about-timeline-content p {
    color: var(--bgj-gray-600);
    font-size: .96rem;
    line-height: 1.72;
}

.bgj-about-quote {
    position: relative;
    margin-top: 1.8rem;
    padding: 1.5rem 1.7rem;
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(245,241,235,.95), rgba(255,255,255,.96)),
        radial-gradient(circle at top right, rgba(139,111,71,.14), transparent 42%);
    border: 1px solid rgba(139,111,71,.16);
    box-shadow: 0 20px 40px -34px rgba(27,58,45,.22);
}

.bgj-about-quote::before {
    content: "“";
    position: absolute;
    top: .7rem;
    right: 1.2rem;
    font-family: var(--bgj-font-heading);
    font-size: 4rem;
    line-height: 1;
    color: rgba(139,111,71,.18);
}

.bgj-about-quote p {
    position: relative;
    z-index: 1;
    font-family: var(--bgj-font-heading);
    font-size: 1.5rem;
    line-height: 1.45;
    color: var(--bgj-forest);
}

.bgj-about-quote cite {
    display: inline-block;
    margin-top: .85rem;
    color: var(--bgj-gray-600);
    font-size: .92rem;
    font-style: normal;
}

.bgj-about-timeline {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
    padding-left: 2.8rem;
}

.bgj-about-timeline::before {
    content: "";
    position: absolute;
    top: .3rem;
    bottom: .3rem;
    left: 11px;
    width: 2px;
    background: linear-gradient(180deg, rgba(139,111,71,.85), rgba(139,111,71,.18));
}

.bgj-about-timeline-item {
    position: relative;
    padding-bottom: 2rem;
}

.bgj-about-timeline-item:last-child {
    padding-bottom: 0;
}

.bgj-about-timeline-dot {
    position: absolute;
    left: -2.8rem;
    top: .15rem;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--bgj-white);
    border: 3px solid var(--bgj-earth);
    box-shadow: 0 0 0 7px rgba(245,241,235,.95);
}

.bgj-about-timeline-content {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 22px;
    padding: 1.45rem 1.5rem;
    box-shadow: 0 20px 42px -34px rgba(27,58,45,.24);
}

.bgj-about-timeline-item.is-highlight .bgj-about-timeline-dot {
    background: var(--bgj-earth);
    border-color: var(--bgj-earth);
}

.bgj-about-timeline-item.is-highlight .bgj-about-timeline-content {
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(245,241,235,.98));
    border-color: rgba(139,111,71,.24);
}

.bgj-about-values-section {
    overflow: hidden;
}

.bgj-about-value-card {
    position: relative;
}

.bgj-about-value-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(139,111,71,.12), rgba(232,224,212,.76));
    color: var(--bgj-forest);
    margin-bottom: 1rem;
}

.bgj-about-timeline-shell {
    display: grid;
    grid-template-columns: minmax(360px, 460px) minmax(0, 1fr);
    gap: 0;
    align-items: start;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.98);
    box-shadow: 0 34px 64px -42px rgba(27,58,45,.24);
}

.bgj-about-timeline-rail {
    position: sticky;
    top: calc(var(--bgj-header-offset, 122px) + 1.5rem);
    display: grid;
    gap: .65rem;
    padding: 2rem 1.6rem 2rem 1.75rem;
    align-content: start;
    min-height: 100%;
    background:
        linear-gradient(180deg, rgba(22,49,38,.98), rgba(28,61,47,.96)),
        radial-gradient(circle at top left, rgba(166,139,91,.16), transparent 34%);
}

.bgj-about-timeline-rail-line {
    position: absolute;
    top: 2.15rem;
    bottom: 2.1rem;
    left: 29px;
    width: 2px;
    background: linear-gradient(180deg, rgba(232,224,212,.58), rgba(232,224,212,.14));
    pointer-events: none;
}

.bgj-about-timeline-rail-progress {
    position: absolute;
    top: 2.15rem;
    left: 29px;
    width: 2px;
    height: calc(100% - 4.25rem);
    background: linear-gradient(180deg, #d2b386, var(--bgj-earth));
    transform-origin: top;
    transform: scaleY(0);
    transition: transform .35s ease;
    pointer-events: none;
}

.bgj-about-timeline-tab {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: .95rem;
    align-items: center;
    text-align: left;
    border: none;
    background: rgba(255,255,255,.02);
    cursor: pointer;
    padding: .9rem 1rem .9rem .05rem;
    border-radius: 22px;
    transition: background var(--bgj-transition), transform var(--bgj-transition);
    min-width: 0;
}

.bgj-about-timeline-tab-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 3px solid rgba(210,179,134,.95);
    background: rgba(22,49,38,.95);
    box-shadow: 0 0 0 7px rgba(22,49,38,.82);
    transition: transform var(--bgj-transition), background var(--bgj-transition), border-color var(--bgj-transition);
}

.bgj-about-timeline-tab-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .55rem;
}

.bgj-about-timeline-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .38rem .62rem;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.96);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bgj-about-timeline-tab-copy {
    display: grid;
    gap: .45rem;
    padding: 0;
    min-width: 0;
}

.bgj-about-timeline-tab-eyebrow,
.bgj-about-timeline-panel-eyebrow {
    display: inline-flex;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .69rem;
    font-weight: 800;
    color: var(--bgj-earth);
}

.bgj-about-timeline-tab-title {
    color: rgba(255,255,255,.94);
    font-size: 1rem;
    line-height: 1.45;
    font-weight: 700;
    transition: color var(--bgj-transition), transform var(--bgj-transition);
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    text-wrap: balance;
}

.bgj-about-timeline-tab:hover,
.bgj-about-timeline-tab.is-active {
    background: rgba(255,255,255,.08);
    transform: translateX(3px);
}

.bgj-about-timeline-tab:hover .bgj-about-timeline-tab-title,
.bgj-about-timeline-tab.is-active .bgj-about-timeline-tab-title {
    color: var(--bgj-white);
    transform: none;
}

.bgj-about-timeline-tab:hover .bgj-about-timeline-tab-badge,
.bgj-about-timeline-tab.is-active .bgj-about-timeline-tab-badge {
    background: rgba(210,179,134,.15);
    border-color: rgba(210,179,134,.24);
    color: #fff4e5;
}

.bgj-about-timeline-tab.is-active .bgj-about-timeline-tab-dot,
.bgj-about-timeline-tab:hover .bgj-about-timeline-tab-dot {
    background: var(--bgj-earth);
    border-color: var(--bgj-earth);
    transform: scale(1.04);
}

.bgj-about-timeline-tab.is-highlight .bgj-about-timeline-tab-dot {
    box-shadow: 0 0 0 8px rgba(210,179,134,.18);
}

.bgj-about-timeline-tab.is-highlight .bgj-about-timeline-tab-badge {
    background: rgba(210,179,134,.18);
    border-color: rgba(210,179,134,.3);
    color: #fff8ef;
}

.bgj-about-timeline-tab.is-highlight {
    background: rgba(210,179,134,.08);
}

.bgj-about-timeline-panels {
    position: relative;
    display: grid;
    align-items: stretch;
    padding: 1.45rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,236,.98)),
        radial-gradient(circle at top right, rgba(166,139,91,.12), transparent 38%);
}

.bgj-about-timeline-panel {
    display: none;
    gap: 1rem;
    padding: 2.25rem;
    border-radius: 30px;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,245,239,.96)),
        radial-gradient(circle at top right, rgba(166,139,91,.16), transparent 36%);
    box-shadow: 0 26px 56px -38px rgba(27,58,45,.2);
    position: relative;
    overflow: hidden;
}

.bgj-about-timeline-panel::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, rgba(166,139,91,.92), rgba(166,139,91,0));
}

.bgj-about-timeline-panel.is-active {
    display: grid;
    animation: bgj-faqReveal .35s ease;
}

.bgj-about-timeline-panel-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .7rem .85rem;
}

.bgj-about-timeline-panel-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: .45rem .72rem;
    border-radius: 999px;
    background: rgba(27,58,45,.06);
    border: 1px solid rgba(27,58,45,.08);
    color: var(--bgj-forest);
    font-size: .7rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.bgj-about-timeline-panel h3 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: var(--bgj-forest);
    line-height: 1.16;
}

.bgj-about-timeline-panel p {
    font-size: 1.05rem;
    line-height: 1.78;
    color: var(--bgj-gray-700);
    max-width: 62ch;
}

.bgj-about-timeline-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.bgj-about-timeline-points li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: .65rem;
    align-items: start;
    padding: .95rem 1rem;
    border-radius: 18px;
    background: rgba(27,58,45,.03);
    border: 1px solid rgba(27,58,45,.06);
    color: var(--bgj-gray-700);
    line-height: 1.65;
}

.bgj-about-timeline-points svg {
    color: var(--bgj-success);
    margin-top: 2px;
}

.bgj-about-timeline-impact {
    display: grid;
    gap: .35rem;
    padding: 1.1rem 1.15rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(27,58,45,.06), rgba(255,255,255,.62));
    border: 1px solid rgba(27,58,45,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

.bgj-about-timeline-impact strong {
    color: var(--bgj-forest);
    font-size: .88rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.bgj-about-timeline-impact span {
    color: var(--bgj-gray-700);
    line-height: 1.65;
}

.bgj-about-timeline-panel.is-highlight {
    background:
        linear-gradient(135deg, rgba(27,58,45,.97), rgba(41,84,64,.95)),
        radial-gradient(circle at top right, rgba(166,139,91,.18), transparent 40%);
    border-color: rgba(255,255,255,.08);
}

.bgj-about-timeline-panel.is-highlight::before {
    background: linear-gradient(90deg, rgba(210,179,134,.98), rgba(210,179,134,.08));
}

.bgj-about-timeline-panel.is-highlight h3,
.bgj-about-timeline-panel.is-highlight p,
.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-panel-eyebrow,
.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-impact strong,
.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-impact span {
    color: var(--bgj-white);
}

.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-panel-eyebrow,
.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-panel-badge {
    color: var(--bgj-earth-light);
}

.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-panel-badge {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.12);
}

.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-points li {
    color: rgba(255,255,255,.9);
}

.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-points svg {
    color: var(--bgj-earth-light);
}

.bgj-about-timeline-panel.is-highlight .bgj-about-timeline-impact {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.1);
}

.bgj-process-grid {
    max-width: 960px;
    display: grid;
    gap: 1rem;
}

.bgj-process-step {
    position: relative;
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.2rem;
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 20px 40px -34px rgba(27,58,45,.22);
}

.bgj-process-connector {
    width: 2px;
    height: 1.2rem;
    margin-left: 33px;
    background: linear-gradient(180deg, rgba(139,111,71,.9), rgba(139,111,71,.18));
}

.bgj-step-number {
    width: 52px;
    height: 52px;
    font-size: 1.35rem;
    background: linear-gradient(135deg, var(--bgj-forest), var(--bgj-forest-light));
    box-shadow: 0 16px 34px -24px rgba(27,58,45,.5);
}

.bgj-target-card,
.bgj-proof-card,
.bgj-result-card {
    position: relative;
    overflow: hidden;
}

.bgj-target-card::before,
.bgj-proof-card::before,
.bgj-result-card::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, rgba(166,139,91,.85), rgba(166,139,91,0));
}

@media (max-width: 1100px) {
    .bgj-header-meta {
        display: none;
    }

    .bgj-editorial-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .bgj-editorial-side {
        position: static;
    }

    .bgj-about-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 1.2rem;
        padding: 1rem;
    }

    .bgj-about-timeline-shell {
        grid-template-columns: 1fr;
    }

    .bgj-about-timeline-rail {
        position: static;
        padding: 1.55rem 1.25rem 1.35rem 1.35rem;
        border-bottom: 1px solid rgba(255,255,255,.08);
    }

    .bgj-about-timeline-panels {
        padding: 1.2rem;
    }
}

@media (max-width: 900px) {
    .bgj-service-card-grid,
    .bgj-proof-grid,
    .bgj-results-grid,
    .bgj-target-grid,
    .bgj-signal-grid,
    .bgj-solution-grid,
    .bgj-related-detail-grid,
    .bgj-about-story-grid,
    .bgj-about-values-grid,
    .bgj-contact-card-grid-grid,
    .bgj-contact-split,
    .bgj-contact-form-grid,
    .bgj-answer-strip-inner {
        grid-template-columns: 1fr;
    }

    .bgj-core-service-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .bgj-core-service-row.is-reversed .bgj-core-service-copy,
    .bgj-core-service-row.is-reversed .bgj-core-service-media {
        order: initial;
    }

    .bgj-about-layout {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .bgj-about-aside {
        position: static;
    }

    .bgj-about-main {
        padding: .35rem .4rem .55rem;
    }

    .bgj-about-main::before {
        display: none;
    }

    .bgj-core-service-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
    }

    .bgj-answer-strip strong {
        padding-top: 0;
    }
}

@media (max-width: 768px) {
    body.bgj-theme-rendered {
        padding-bottom: 6.25rem;
    }

    .bgj-mobile-cta {
        display: grid;
    }
}

@media (max-width: 640px) {
    .bgj-service-card,
    .bgj-proof-card,
    .bgj-target-card,
    .bgj-result-card,
    .bgj-form-panel,
    .bgj-signal-card,
    .bgj-solution-card,
    .bgj-related-detail-card,
    .bgj-editorial-card,
    .bgj-about-story-card,
    .bgj-about-value-card,
    .bgj-about-timeline-content,
    .bgj-about-timeline-panel,
    .bgj-about-portrait-card {
        border-radius: 18px;
    }

    .bgj-answer-points span {
        width: 100%;
        justify-content: center;
    }

    .bgj-page-nav {
        padding: .7rem 0;
    }

    .bgj-page-nav-link {
        padding: .65rem .85rem;
        font-size: .82rem;
    }

    .bgj-editorial-card {
        padding: 1.2rem;
    }

    .bgj-core-services {
        gap: 2.4rem;
    }

    .bgj-core-service-copy {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    .bgj-core-service-number {
        font-size: 3.2rem;
    }

    .bgj-core-service-body h3 {
        font-size: 1.55rem;
    }

    .bgj-core-service-media {
        border-radius: 22px;
    }

    .bgj-about-portrait-body {
        padding: 1.35rem;
    }

    .bgj-about-portrait-body h2 {
        font-size: 1.7rem;
    }

    .bgj-about-quote p {
        font-size: 1.25rem;
    }

    .bgj-about-timeline-shell {
        gap: 1.2rem;
    }

    .bgj-about-timeline-rail {
        padding: 1.25rem 1rem 1.1rem 1rem;
    }

    .bgj-about-timeline-rail-line {
        left: 22px;
        top: 1.7rem;
        bottom: 1.7rem;
    }

    .bgj-about-timeline-rail-progress {
        left: 22px;
        top: 1.7rem;
        height: calc(100% - 3.4rem);
    }

    .bgj-about-timeline-tab {
        grid-template-columns: 24px 1fr;
        gap: .7rem;
        padding: .75rem .8rem .75rem 0;
    }

    .bgj-about-timeline-tab-dot {
        width: 18px;
        height: 18px;
        box-shadow: 0 0 0 5px rgba(22,49,38,.82);
    }

    .bgj-about-timeline-tab-badge {
        padding: .32rem .5rem;
        font-size: .62rem;
    }

    .bgj-about-timeline-panel {
        padding: 1.4rem;
    }

    .bgj-about-timeline-panel h3 {
        font-size: 1.5rem;
    }

    .bgj-about-timeline-points {
        grid-template-columns: 1fr;
    }

    .bgj-process-step {
        grid-template-columns: 1fr;
        gap: .75rem;
    }

    .bgj-process-connector {
        margin-left: 24px;
    }

    .bgj-species-grid,
    .bgj-showcase-grid {
        padding: 0;
    }

    .bgj-species-grid {
        grid-template-columns: 1fr;
    }
}

/* ════════════════════════════════════════════════════════════
   IMAGE CAPTION-CARD — Sits under image, overlaps
   ════════════════════════════════════════════════════════════ */
.bgj-image-card {
    position: relative;
    border-radius: var(--bgj-radius-xl);
    overflow: hidden;
    box-shadow: var(--bgj-shadow-xl);
}
.bgj-image-card-img {
    aspect-ratio: 16/9;
    width: 100%;
    object-fit: cover;
}
.bgj-image-card-content {
    padding: 2rem;
    background: var(--bgj-white);
}
.bgj-image-card-content h4 {
    font-size: 1.25rem;
    margin-bottom: .5rem;
}
.bgj-image-card-content p {
    color: var(--bgj-gray-600);
    font-size: .95rem;
    line-height: 1.6;
}

/* Enhance existing hero image — use saturated overlay + subtle animation */
/* ════════════════════════════════════════════════════════════
   BLOG & ARTICLE
   ════════════════════════════════════════════════════════════ */
.bgj-blog-shell {
    padding: 0 0 5rem;
    background:
        radial-gradient(circle at top, rgba(166,139,91,.1), transparent 36%),
        linear-gradient(180deg, #fcfaf7 0%, #f7f3ed 100%);
}

.bgj-blog-hero {
    position: relative;
    overflow: hidden;
    padding: calc(var(--bgj-header-offset, 122px) + 4.5rem) 0 3rem;
    background: linear-gradient(145deg, #173327 0%, #224936 52%, #2d5b43 100%);
}

.bgj-blog-hero-compact {
    padding-bottom: 2.4rem;
}

.bgj-blog-hero-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 18%, rgba(166,139,91,.28), transparent 24%),
        radial-gradient(circle at 84% 22%, rgba(90,156,110,.22), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.06), transparent 42%);
    opacity: .95;
}

.bgj-blog-hero-inner,
.bgj-post-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
}

.bgj-blog-hero h1,
.bgj-post-hero h1 {
    color: var(--bgj-white);
    font-size: clamp(2.3rem, 4.7vw, 4.45rem);
    max-width: 16ch;
    text-wrap: balance;
    line-height: .98;
    margin-bottom: 1rem;
}

.bgj-blog-hero p,
.bgj-post-hero-lead {
    max-width: 780px;
    color: rgba(255,255,255,.88);
    font-size: 1.12rem;
    line-height: 1.8;
}

.bgj-blog-hero-copy,
.bgj-post-hero-copy {
    width: min(100%, 860px);
    padding: clamp(1.35rem, 2vw + .75rem, 2.55rem);
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(180deg, rgba(18,34,26,.78), rgba(16,28,22,.5)),
        radial-gradient(circle at top left, rgba(166,139,91,.18), transparent 38%);
    box-shadow: 0 28px 80px -44px rgba(3,10,7,.82);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.bgj-post-hero-copy {
    width: min(100%, 920px);
}

.bgj-post-hero-topline {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin-bottom: 1.1rem;
}

.bgj-post-hero-topline .bgj-post-backlink {
    margin-bottom: 0;
}

.bgj-blog-topic-pills,
.bgj-blog-taxonomy-links,
.bgj-post-context-links,
.bgj-blog-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.bgj-blog-topic-pills {
    margin-top: 1.5rem;
}

.bgj-blog-topic-pills a,
.bgj-blog-taxonomy-links a,
.bgj-post-context-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    color: var(--bgj-white);
    font-size: .88rem;
    font-weight: 700;
}

.bgj-blog-topic-pills a:hover,
.bgj-post-context-links a:hover {
    background: rgba(255,255,255,.16);
    color: var(--bgj-white);
}

.bgj-blog-taxonomy-strip {
    position: relative;
    z-index: 2;
    margin-top: -1.35rem;
}

.bgj-blog-taxonomy-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
    border-radius: 22px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.9);
    box-shadow: 0 24px 40px -32px rgba(27,58,45,.28);
}

.bgj-blog-taxonomy-inner strong {
    color: var(--bgj-forest);
    white-space: nowrap;
}

.bgj-blog-taxonomy-links a {
    border-color: rgba(27,58,45,.08);
    background: rgba(27,58,45,.06);
    color: var(--bgj-forest);
}

.bgj-blog-taxonomy-links a:hover {
    background: var(--bgj-forest);
    color: var(--bgj-white);
}

.bgj-blog-featured {
    display: grid;
    grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
    gap: 1.6rem;
    align-items: stretch;
    margin: 3.2rem 0 3rem;
}

.bgj-blog-featured-media,
.bgj-blog-featured-copy,
.bgj-blog-card {
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,241,235,.95)),
        radial-gradient(circle at top right, rgba(166,139,91,.16), transparent 38%);
    box-shadow: 0 26px 50px -34px rgba(27,58,45,.24);
}

.bgj-blog-featured-media a,
.bgj-blog-card-image {
    display: block;
    height: 100%;
}

.bgj-blog-featured-media img,
.bgj-blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bgj-blog-featured-copy {
    padding: 2rem;
}

.bgj-blog-featured-label {
    display: inline-flex;
    margin-bottom: .85rem;
    color: var(--bgj-earth);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.bgj-blog-pill {
    display: inline-flex;
    align-items: center;
    padding: .48rem .74rem;
    border-radius: 999px;
    background: rgba(27,58,45,.08);
    color: var(--bgj-forest);
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bgj-blog-pill-light {
    margin-bottom: 1rem;
    background: rgba(255,255,255,.16);
    color: var(--bgj-white);
}

.bgj-blog-pill:hover {
    background: var(--bgj-forest);
    color: var(--bgj-white);
}

.bgj-blog-meta,
.bgj-post-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    color: var(--bgj-gray-600);
    font-size: .92rem;
    font-weight: 600;
}

.bgj-post-hero-meta {
    color: rgba(255,255,255,.82);
}

.bgj-blog-featured-copy h2,
.bgj-blog-card-body h2,
.bgj-blog-card-body h3 {
    font-size: clamp(1.5rem, 2vw, 2.35rem);
    margin: .8rem 0 .75rem;
    color: var(--bgj-forest);
}

.bgj-blog-featured-copy h2 a,
.bgj-blog-card-body h2 a,
.bgj-blog-card-body h3 a {
    color: inherit;
}

.bgj-blog-featured-copy p,
.bgj-blog-card-body p,
.bgj-blog-section-head p {
    color: var(--bgj-gray-700);
}

.bgj-blog-featured-actions,
.bgj-blog-empty-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.4rem;
}

.bgj-blog-section-head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(280px, .7fr);
    gap: 1.5rem;
    align-items: end;
    margin-bottom: 1.6rem;
}

.bgj-blog-section-head h2 {
    font-size: clamp(1.95rem, 3vw, 3.15rem);
}

.bgj-blog-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.3rem;
}

.bgj-blog-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: transform var(--bgj-transition), box-shadow var(--bgj-transition), border-color var(--bgj-transition);
}

.bgj-blog-card:hover {
    transform: translateY(-4px);
    border-color: rgba(139,111,71,.26);
    box-shadow: 0 28px 54px -32px rgba(27,58,45,.28);
}

.bgj-blog-card-image {
    aspect-ratio: 4 / 3;
    background: linear-gradient(145deg, rgba(27,58,45,.12), rgba(90,156,110,.14));
    overflow: hidden;
}

.bgj-blog-card-body {
    display: grid;
    gap: .8rem;
    padding: 1.35rem;
}

.bgj-blog-image-fallback {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: var(--bgj-forest);
}

.bgj-blog-pagination {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.bgj-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: .7rem .95rem;
    margin: 0 .2rem;
    border-radius: 999px;
    border: 1px solid rgba(27,58,45,.12);
    background: rgba(255,255,255,.85);
    color: var(--bgj-forest);
    font-weight: 700;
}

.bgj-blog-pagination .page-numbers.current,
.bgj-blog-pagination .page-numbers:hover {
    background: var(--bgj-forest);
    border-color: var(--bgj-forest);
    color: var(--bgj-white);
}

.bgj-blog-empty {
    padding: 2rem;
    border-radius: 28px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.86);
    box-shadow: 0 20px 36px -30px rgba(27,58,45,.18);
    text-align: center;
}

.bgj-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1200;
    width: 100%;
    height: 4px;
    background: rgba(255,255,255,.08);
}

.bgj-reading-progress-bar {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: linear-gradient(90deg, var(--bgj-earth), #d3bf94);
}

.bgj-post-hero {
    position: relative;
    overflow: hidden;
    padding: calc(var(--bgj-header-offset, 122px) + 4rem) 0 3rem;
    background: #1f3f31;
}

.bgj-post-hero-bg,
.bgj-post-hero-overlay {
    position: absolute;
    inset: 0;
}

.bgj-post-hero-bg {
    background-position: center;
    background-size: cover;
    transform: scale(1.04);
}

.bgj-post-hero-bg-fallback {
    background:
        radial-gradient(circle at 18% 20%, rgba(166,139,91,.38), transparent 24%),
        linear-gradient(145deg, #183428 0%, #244c39 55%, #2e6045 100%);
}

.bgj-post-hero-overlay {
    background:
        linear-gradient(92deg, rgba(8,18,13,.9) 0%, rgba(12,24,18,.74) 32%, rgba(12,24,18,.38) 64%, rgba(12,24,18,.72) 100%),
        linear-gradient(180deg, rgba(12,24,18,.24), rgba(12,24,18,.76));
}

.bgj-post-backlink {
    display: inline-flex;
    align-items: center;
    margin-bottom: 1.2rem;
    color: rgba(255,255,255,.84);
    font-weight: 700;
}

.bgj-post-backlink:hover {
    color: var(--bgj-white);
}

@media (max-width: 860px) {
    .bgj-blog-hero-copy,
    .bgj-post-hero-copy {
        width: 100%;
        padding: 1.35rem 1.2rem 1.45rem;
        border-radius: 28px;
    }

    .bgj-blog-hero h1,
    .bgj-post-hero h1 {
        max-width: none;
        font-size: clamp(2.2rem, 8vw, 3.7rem);
    }

    .bgj-blog-hero p,
    .bgj-post-hero-lead {
        font-size: 1.02rem;
        line-height: 1.72;
    }
}

.bgj-post-layout {
    padding: 2.3rem 0 1rem;
    background:
        radial-gradient(circle at top, rgba(166,139,91,.08), transparent 32%),
        linear-gradient(180deg, #fbfaf7 0%, #f5efe7 100%);
}

.bgj-post-layout-inner {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.bgj-post-sidebar {
    position: sticky;
    top: calc(var(--bgj-header-offset, 122px) + 1.5rem);
    display: grid;
    gap: 1rem;
}

.bgj-post-sidebar-card,
.bgj-post-article,
.bgj-post-author-box,
.bgj-blog-cta-banner {
    border-radius: 28px;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,241,235,.94)),
        radial-gradient(circle at top right, rgba(166,139,91,.14), transparent 36%);
    box-shadow: 0 24px 46px -34px rgba(27,58,45,.22);
}

.bgj-post-sidebar-card {
    padding: 1.25rem;
}

.bgj-post-sidebar-card h3 {
    font-size: 1.18rem;
    margin: .4rem 0 .6rem;
}

.bgj-post-toc {
    display: grid;
    gap: .55rem;
}

.bgj-post-toc a {
    display: block;
    padding: .65rem .85rem;
    border-radius: 16px;
    background: rgba(27,58,45,.05);
    color: var(--bgj-gray-700);
    font-weight: 700;
}

.bgj-post-toc a:hover {
    background: rgba(27,58,45,.1);
    color: var(--bgj-forest);
}

.bgj-post-context-links {
    gap: .6rem;
}

.bgj-post-context-links a {
    border-color: rgba(27,58,45,.08);
    background: rgba(27,58,45,.05);
    color: var(--bgj-forest);
}

.bgj-post-article {
    min-width: 0;
    padding: 2rem;
}

.bgj-post-content > *:first-child {
    margin-top: 0;
}

.bgj-post-content > *:last-child {
    margin-bottom: 0;
}

.bgj-post-content p,
.bgj-post-content li {
    font-size: 1.05rem;
    line-height: 1.86;
    color: var(--bgj-gray-700);
}

.bgj-post-content p,
.bgj-post-content ul,
.bgj-post-content ol,
.bgj-post-content figure,
.bgj-post-content blockquote,
.bgj-post-content .bgj-article-intro-grid,
.bgj-post-content .bgj-article-callout,
.bgj-post-content .bgj-article-warning,
.bgj-post-content .bgj-article-facts,
.bgj-post-content .bgj-article-compare,
.bgj-post-content .bgj-article-quote,
.bgj-post-content .bgj-article-faq {
    margin: 1.3rem 0;
}

.bgj-post-content h2,
.bgj-post-content h3 {
    color: var(--bgj-forest);
    line-height: 1.22;
}

.bgj-post-content h2 {
    margin-top: 2.7rem;
    font-size: clamp(1.8rem, 3vw, 2.7rem);
}

.bgj-post-content h3 {
    margin-top: 1.7rem;
    font-size: clamp(1.3rem, 2vw, 1.8rem);
}

.bgj-post-content ul,
.bgj-post-content ol {
    padding-left: 1.2rem;
}

.bgj-post-content ul {
    list-style: disc;
}

.bgj-post-content ol {
    list-style: decimal;
}

.bgj-post-content li + li {
    margin-top: .5rem;
}

.bgj-post-content strong {
    color: var(--bgj-dark);
}

.bgj-post-content a {
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: .18em;
}

.bgj-article-figure {
    overflow: hidden;
    border-radius: 26px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.92);
    box-shadow: 0 24px 44px -34px rgba(27,58,45,.22);
}

.bgj-article-figure img {
    width: 100%;
    max-height: 520px;
    object-fit: cover;
}

.bgj-article-figure figcaption {
    padding: .9rem 1.15rem 1.05rem;
    color: var(--bgj-gray-600);
    font-size: .92rem;
}

.bgj-article-intro-grid,
.bgj-article-facts,
.bgj-article-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.bgj-article-panel,
.bgj-article-fact,
.bgj-article-compare-card {
    padding: 1.2rem;
    border-radius: 22px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.84);
}

.bgj-article-panel h3,
.bgj-article-fact h3,
.bgj-article-compare-card h3 {
    margin-top: 0;
    margin-bottom: .55rem;
    font-size: 1.15rem;
}

.bgj-article-checklist {
    display: grid;
    gap: .7rem;
    padding-left: 0;
    list-style: none !important;
}

.bgj-article-checklist li {
    position: relative;
    padding-left: 1.9rem;
}

.bgj-article-checklist li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: var(--bgj-success);
    font-weight: 800;
}

.bgj-article-callout,
.bgj-article-warning,
.bgj-article-quote {
    padding: 1.4rem 1.5rem;
    border-radius: 24px;
}

.bgj-article-callout {
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.88);
}

.bgj-article-warning {
    border: 1px solid rgba(139,111,71,.16);
    background: linear-gradient(180deg, rgba(248,242,233,.98), rgba(245,236,223,.95));
}

.bgj-article-quote {
    border: 1px solid rgba(27,58,45,.08);
    background: linear-gradient(180deg, rgba(26,58,45,.98), rgba(39,82,62,.98));
    color: rgba(255,255,255,.92);
}

.bgj-article-quote p,
.bgj-article-quote strong {
    color: inherit;
}

.bgj-article-faq {
    display: grid;
    gap: 1rem;
}

.bgj-article-faq-item {
    padding: 1.15rem 1.2rem;
    border-radius: 22px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.84);
}

.bgj-article-faq-item h3 {
    margin-top: 0;
}

.bgj-post-author-box {
    display: grid;
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 1.2rem;
    margin-top: 2rem;
    padding: 1.35rem;
}

.bgj-post-author-media {
    overflow: hidden;
    border-radius: 22px;
    background: rgba(27,58,45,.08);
}

.bgj-post-author-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bgj-post-author-copy h3 {
    margin: .25rem 0 .55rem;
}

.bgj-blog-cta-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.8rem;
}

@media (max-width: 1080px) {
    .bgj-blog-featured,
    .bgj-blog-section-head,
    .bgj-post-layout-inner,
    .bgj-blog-cta-banner {
        grid-template-columns: 1fr;
    }

    .bgj-blog-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bgj-post-sidebar {
        position: static;
        order: 2;
    }
}

@media (max-width: 900px) {
    .bgj-blog-taxonomy-inner,
    .bgj-post-author-box,
    .bgj-article-intro-grid,
    .bgj-article-facts,
    .bgj-article-compare {
        grid-template-columns: 1fr;
    }

    .bgj-blog-taxonomy-inner {
        display: grid;
    }
}

@media (max-width: 720px) {
    .bgj-blog-card-grid {
        grid-template-columns: 1fr;
    }

    .bgj-blog-featured-copy,
    .bgj-post-article,
    .bgj-blog-cta-banner {
        padding: 1.35rem;
    }

    .bgj-post-layout {
        padding-top: 1.5rem;
    }

    .bgj-post-content p,
    .bgj-post-content li {
        font-size: 1rem;
    }
}

/* ════════════════════════════════════════════════════════════
   GLOSSARY
   ════════════════════════════════════════════════════════════ */
.bgj-glossary-teaser-grid,
.bgj-glossary-grid {
    display: grid;
    gap: 1.3rem;
}

.bgj-glossary-teaser-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bgj-glossary-teaser-card,
.bgj-glossary-card {
    position: relative;
    min-width: 0;
    border-radius: 24px;
    border: 1px solid rgba(27,58,45,.08);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,241,235,.95)),
        radial-gradient(circle at top right, rgba(166,139,91,.15), transparent 36%);
    box-shadow: 0 26px 44px -34px rgba(27,58,45,.24);
}

.bgj-glossary-teaser-card {
    padding: 1.4rem;
    transition: transform var(--bgj-transition), box-shadow var(--bgj-transition), border-color var(--bgj-transition);
}

.bgj-glossary-teaser-card:hover {
    transform: translateY(-3px);
    border-color: rgba(139,111,71,.28);
    box-shadow: 0 28px 52px -34px rgba(27,58,45,.28);
}

.bgj-glossary-teaser-top,
.bgj-glossary-card-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-bottom: .95rem;
}

.bgj-glossary-teaser-category,
.bgj-glossary-card-category {
    display: inline-flex;
    align-items: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(139,111,71,.18);
    background: rgba(255,255,255,.75);
    color: var(--bgj-earth-dark);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.bgj-glossary-teaser-aliases,
.bgj-glossary-card-aliases,
.bgj-glossary-card-link-list {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.bgj-glossary-teaser-aliases span,
.bgj-glossary-card-aliases span {
    display: inline-flex;
    align-items: center;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: rgba(27,58,45,.07);
    color: var(--bgj-gray-600);
    font-size: .76rem;
    font-weight: 700;
}

.bgj-glossary-teaser-card h3,
.bgj-glossary-card h3 {
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    margin-bottom: .75rem;
}

.bgj-glossary-teaser-card p,
.bgj-glossary-card p {
    color: var(--bgj-gray-700);
    line-height: 1.7;
}

.bgj-glossary-teaser-card p {
    margin-bottom: 1rem;
}

.bgj-glossary-teaser-footer {
    margin-top: 1.4rem;
    display: flex;
    justify-content: flex-start;
}

.bgj-glossary-toolbar {
    display: grid;
    gap: 1rem;
}

.bgj-glossary-search {
    display: grid;
    gap: .55rem;
}

.bgj-glossary-search span {
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--bgj-earth);
}

.bgj-glossary-search input {
    width: 100%;
    border-radius: 16px;
    border: 1px solid rgba(27,58,45,.12);
    background: rgba(255,255,255,.92);
    color: var(--bgj-dark);
    padding: 1rem 1.1rem;
    font-size: 1rem;
    transition: border-color var(--bgj-transition), box-shadow var(--bgj-transition), transform var(--bgj-transition);
}

.bgj-glossary-search input:focus {
    outline: none;
    border-color: rgba(139,111,71,.45);
    box-shadow: 0 0 0 4px rgba(166,139,91,.12);
    transform: translateY(-1px);
}

.bgj-glossary-toolbar-note,
.bgj-glossary-empty {
    font-size: .96rem;
    color: var(--bgj-gray-600);
}

.bgj-glossary-toolbar-meta {
    display: grid;
    gap: .3rem;
    padding: 1rem 1.05rem;
    border-radius: 18px;
    border: 1px solid rgba(27,58,45,.08);
    background: rgba(255,255,255,.84);
}

.bgj-glossary-toolbar-meta strong {
    color: var(--bgj-forest);
    font-size: 1.05rem;
}

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

.bgj-glossary-card {
    padding: 1.5rem;
    transition: transform var(--bgj-transition), box-shadow var(--bgj-transition), border-color var(--bgj-transition), background var(--bgj-transition);
}

.bgj-glossary-card:hover {
    transform: translateY(-3px);
    border-color: rgba(139,111,71,.28);
    box-shadow: 0 30px 54px -36px rgba(27,58,45,.28);
}

.bgj-glossary-card:target {
    border-color: rgba(139,111,71,.55);
    box-shadow: 0 0 0 5px rgba(166,139,91,.18), 0 30px 54px -36px rgba(27,58,45,.32);
}

.bgj-glossary-card-summary {
    font-weight: 700;
    color: var(--bgj-dark);
    margin-bottom: .8rem;
}

.bgj-glossary-card-definition {
    margin-bottom: 1rem;
}

.bgj-glossary-card-links {
    display: grid;
    gap: .7rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(27,58,45,.08);
}

.bgj-glossary-card-links strong {
    color: var(--bgj-earth-dark);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.bgj-glossary-card-link-list a {
    display: inline-flex;
    align-items: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: rgba(27,58,45,.08);
    color: var(--bgj-forest);
    font-size: .85rem;
    font-weight: 700;
}

.bgj-glossary-card-link-list a:hover {
    background: var(--bgj-forest);
    color: var(--bgj-white);
}

@media (max-width: 900px) {
    .bgj-glossary-teaser-grid,
    .bgj-glossary-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .bgj-glossary-teaser-card,
    .bgj-glossary-card {
        border-radius: 18px;
        padding: 1.25rem;
    }

    .bgj-glossary-card h3,
    .bgj-glossary-teaser-card h3 {
        font-size: 1.4rem;
    }
}

/* ========================================================
   TRUST / REGIONS / LOCAL SEO
   ======================================================== */
.bgj-home-detail-stack {
    margin-top: 3.5rem;
}

.bgj-home-detail-header {
    max-width: 760px;
    margin-bottom: 1.75rem;
}

.bgj-home-detail-header .bgj-section-label {
    margin-bottom: .75rem;
}

.bgj-home-detail-header h3 {
    font-family: var(--bgj-font-heading);
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    line-height: 1.15;
    margin-bottom: .85rem;
    color: var(--bgj-dark);
}

.bgj-home-detail-header p {
    color: var(--bgj-gray-600);
    line-height: 1.7;
    max-width: 65ch;
}

.bgj-home-detail-header-light h3,
.bgj-home-detail-header-light p {
    color: var(--bgj-white);
}

.bgj-home-detail-header-light p {
    color: rgba(255,255,255,.72);
}

.bgj-home-credentials-grid,
.bgj-home-case-grid,
.bgj-region-grid,
.bgj-region-service-grid,
.bgj-region-nearby-grid {
    display: grid;
    gap: 1.5rem;
}

.bgj-home-credentials-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bgj-credential-card,
.bgj-region-service-card,
.bgj-region-nearby-card {
    padding: 1.4rem;
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(13,32,24,.08);
    box-shadow: 0 20px 45px rgba(12,22,18,.08);
}

.bgj-credential-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(168,129,76,.18), rgba(255,255,255,.95));
    color: var(--bgj-earth-dark);
    margin-bottom: 1rem;
}

.bgj-credential-card h3,
.bgj-region-service-card h3,
.bgj-region-nearby-card strong {
    font-size: 1.05rem;
    line-height: 1.35;
    margin-bottom: .7rem;
    color: var(--bgj-dark);
}

.bgj-credential-card p,
.bgj-region-service-card p,
.bgj-region-nearby-card p {
    font-size: .95rem;
    line-height: 1.65;
    color: var(--bgj-gray-600);
}

.bgj-home-case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bgj-home-case-card {
    padding: 1.7rem;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,238,.98));
    border: 1px solid rgba(168,129,76,.14);
    box-shadow: 0 22px 55px rgba(13,32,24,.07);
}

.bgj-home-case-eyebrow,
.bgj-region-card-kicker,
.bgj-region-nearby-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .9rem;
    padding: .38rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(168,129,76,.24);
    background: rgba(255,255,255,.82);
    color: var(--bgj-earth-dark);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bgj-home-case-card h3 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: .8rem;
    color: var(--bgj-dark);
}

.bgj-home-case-card > p {
    color: var(--bgj-gray-600);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.bgj-home-case-result {
    padding: 1rem 1rem 1rem 1.2rem;
    margin-bottom: 1rem;
    border-left: 3px solid var(--bgj-earth);
    border-radius: 0 18px 18px 0;
    background: rgba(255,255,255,.84);
}

.bgj-home-case-result strong {
    display: block;
    margin-bottom: .45rem;
    color: var(--bgj-dark);
}

.bgj-home-case-result span {
    color: var(--bgj-gray-600);
    line-height: 1.65;
}

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

.bgj-region-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 28px;
    text-decoration: none;
    background: rgba(255,255,255,.95);
    border: 1px solid rgba(13,32,24,.08);
    box-shadow: 0 24px 60px rgba(16,27,22,.08);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.bgj-region-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 30px 70px rgba(16,27,22,.12);
    border-color: rgba(168,129,76,.22);
}

.bgj-region-card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.bgj-region-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.bgj-region-card:hover .bgj-region-card-media img {
    transform: scale(1.06);
}

.bgj-region-card-body {
    padding: 1.3rem 1.3rem 1.45rem;
}

.bgj-region-card-body h3 {
    font-size: 1.2rem;
    margin-bottom: .75rem;
    color: var(--bgj-dark);
}

.bgj-region-card-body p {
    color: var(--bgj-gray-600);
    line-height: 1.7;
    margin-bottom: 1rem;
}

.bgj-region-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgj-region-service-card .bgj-proof-card-icon {
    margin-bottom: .85rem;
}

.bgj-region-nearby {
    margin-top: 3rem;
}

.bgj-region-nearby-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bgj-region-nearby-card {
    text-decoration: none;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: none;
}

.bgj-region-nearby-card strong {
    display: block;
    color: var(--bgj-white);
}

.bgj-region-nearby-card p {
    color: rgba(255,255,255,.72);
}

.bgj-region-nearby-card .bgj-inline-link {
    color: var(--bgj-earth-light);
}

.bgj-editorial-checklist {
    display: grid;
    gap: .9rem;
}

.bgj-editorial-check {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    color: var(--bgj-gray-600);
    line-height: 1.65;
}

.bgj-editorial-check svg {
    flex-shrink: 0;
    color: var(--bgj-earth-dark);
    margin-top: .1rem;
}

.bgj-editorial-check strong {
    color: var(--bgj-dark);
}

.bgj-footer-inner {
    grid-template-columns: 2fr repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .bgj-home-credentials-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bgj-home-case-grid,
    .bgj-region-grid,
    .bgj-region-service-grid,
    .bgj-region-nearby-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .bgj-home-credentials-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .bgj-home-detail-stack {
        margin-top: 2.5rem;
    }

    .bgj-home-detail-header h3 {
        font-size: 1.6rem;
    }

    .bgj-home-credentials-grid,
    .bgj-home-case-grid,
    .bgj-region-grid,
    .bgj-region-service-grid,
    .bgj-region-nearby-grid {
        grid-template-columns: 1fr;
    }

    .bgj-credential-card,
    .bgj-home-case-card,
    .bgj-region-service-card,
    .bgj-region-nearby-card {
        padding: 1.2rem;
    }
}

/* ========================================================
   CONSENT
   ======================================================== */
.bgj-consent[hidden],
.bgj-consent-manage[hidden] {
    display: none !important;
}

.bgj-consent {
    position: fixed;
    inset: 0;
    z-index: 1400;
}

.bgj-consent-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 20, 16, .42);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.bgj-consent-panel {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    width: min(100%, 34rem);
    padding: 1.45rem;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.985), rgba(245,241,235,.985));
    border: 1px solid rgba(139,111,71,.18);
    box-shadow: 0 28px 70px rgba(12, 28, 21, .22);
}

.bgj-consent-kicker {
    display: inline-flex;
    align-items: center;
    margin-bottom: .8rem;
    padding: .34rem .72rem;
    border-radius: 999px;
    background: rgba(139,111,71,.1);
    border: 1px solid rgba(139,111,71,.16);
    color: var(--bgj-earth-dark);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.bgj-consent-panel h2 {
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    color: var(--bgj-forest);
    margin-bottom: .75rem;
}

.bgj-consent-panel > p {
    color: var(--bgj-gray-600);
    line-height: 1.7;
    margin-bottom: 1.15rem;
}

.bgj-consent-options {
    display: grid;
    gap: .9rem;
}

.bgj-consent-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.05rem;
    border-radius: 22px;
    border: 1px solid rgba(27,58,45,.09);
    background: rgba(255,255,255,.84);
}

.bgj-consent-option strong {
    display: block;
    color: var(--bgj-dark);
    margin-bottom: .18rem;
}

.bgj-consent-option p {
    color: var(--bgj-gray-600);
    font-size: .95rem;
    line-height: 1.6;
}

.bgj-consent-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .46rem .78rem;
    border-radius: 999px;
    background: rgba(27,58,45,.08);
    color: var(--bgj-forest);
    font-size: .76rem;
    font-weight: 700;
    white-space: nowrap;
}

.bgj-consent-switch {
    flex-shrink: 0;
    position: relative;
}

.bgj-consent-switch input {
    position: absolute;
    opacity: 0;
    inset: 0;
}

.bgj-consent-switch span {
    position: relative;
    display: inline-flex;
    width: 3.35rem;
    height: 1.95rem;
    border-radius: 999px;
    background: rgba(27,58,45,.18);
    transition: background var(--bgj-transition);
}

.bgj-consent-switch span::after {
    content: "";
    position: absolute;
    top: .2rem;
    left: .22rem;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    background: var(--bgj-white);
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
    transition: transform var(--bgj-transition);
}

.bgj-consent-switch input:checked + span {
    background: var(--bgj-forest);
}

.bgj-consent-switch input:checked + span::after {
    transform: translateX(1.38rem);
}

.bgj-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.15rem;
}

.bgj-button {
    appearance: none;
    border: 0;
    border-radius: 18px;
    padding: .95rem 1.2rem;
    font: inherit;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
    transition: transform var(--bgj-transition), box-shadow var(--bgj-transition), background var(--bgj-transition), color var(--bgj-transition);
}

.bgj-button:hover {
    transform: translateY(-1px);
}

.bgj-button-primary {
    background: linear-gradient(135deg, var(--bgj-earth), var(--bgj-earth-dark));
    color: var(--bgj-white);
    box-shadow: 0 16px 30px rgba(107,82,50,.24);
}

.bgj-button-ghost {
    background: rgba(27,58,45,.08);
    color: var(--bgj-forest);
}

.bgj-consent.is-customizing [data-consent-customize] {
    display: none;
}

.bgj-consent-privacy {
    display: inline-flex;
    margin-top: 1rem;
    color: var(--bgj-earth-dark);
    font-weight: 700;
}

.bgj-consent-manage {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    z-index: 1390;
    border: 1px solid rgba(27,58,45,.08);
    border-radius: 999px;
    padding: .78rem 1rem;
    background: rgba(255,255,255,.92);
    color: var(--bgj-forest);
    box-shadow: 0 16px 36px rgba(12,28,21,.14);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 768px) {
    .bgj-consent-panel {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        width: auto;
        padding: 1.2rem;
        border-radius: 24px;
    }

    .bgj-consent-option {
        align-items: flex-start;
    }

    .bgj-consent-actions {
        flex-direction: column;
    }

    .bgj-button {
        width: 100%;
    }

    .bgj-consent-manage {
        left: .8rem;
        right: .8rem;
        bottom: .8rem;
        display: flex;
        justify-content: center;
    }
}
