        /* === SELF-HOSTED FONTS === */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/playfair-display-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/playfair-display-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/playfair-display-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('fonts/source-sans-pro-300.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/source-sans-pro-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/source-sans-pro-600.ttf') format('truetype');
}
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/source-sans-pro-700.ttf') format('truetype');
}


        :root {
            --forest-green:       #1B4332;
            --forest-green-light: #2D6A4F;
            --forest-green-dark:  #081C15;
            --gold:               #C07F3F;
            --gold-light:         #D4A574;
            --gold-dark:          #8B5A2B;
            --cream:              #F5F5F0;
            --mid-grey:           #E0E0D8;
            --text-dark:          #2C2C2C;
            --text-light:         #6B6B6B;
            --white:              #FFFFFF;
        }

        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Source Sans Pro', sans-serif;
            color: var(--text-dark);
            line-height: 1.7;
            overflow-x: hidden;
            background: var(--white);
        }

        h1,h2,h3,h4,h5,h6 {
            font-family: 'Playfair Display', serif;
            font-weight: 600;
            line-height: 1.3;
        }

        img { max-width: 100%; display: block; }

        /* ─── NAVIGATION ─────────────────────────────────────── */
        nav {
            position: fixed;
            top: 0; left: 0; right: 0;
            background: rgba(255,255,255,0.97);
            backdrop-filter: blur(12px);
            z-index: 1000;
            border-bottom: 1px solid var(--mid-grey);
            transition: box-shadow .3s ease;
        }
        nav.scrolled { box-shadow: 0 2px 24px rgba(27,67,50,.10); }

        .nav-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0.9rem 3rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* Logo in nav */
        .nav-logo { display: flex; align-items: center; gap: 0.85rem; text-decoration: none; }
        .nav-logo img { height: 60px; width: auto; }
        .nav-logo-text { display: flex; flex-direction: column; }
        .nav-logo-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--forest-green);
            letter-spacing: 0.5px;
            line-height: 1.1;
        }
        .nav-logo-sub {
            font-size: 0.68rem;
            color: var(--gold);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.8px;
        }

        .nav-links { display: flex; gap: 2.5rem; list-style: none; }
        .nav-links a {
            color: var(--text-dark);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            letter-spacing: 0.4px;
            position: relative;
            transition: color .3s;
        }
        .nav-links a:hover { color: var(--forest-green); }
        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: -4px; left: 0;
            width: 0; height: 2px;
            background: var(--gold);
            transition: width .3s;
        }
        .nav-links a:hover::after { width: 100%; }

        /* hamburger */
        .hamburger {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            background: none;
            border: none;
            padding: 4px;
        }
        .hamburger span {
            display: block; width: 24px; height: 2px;
            background: var(--forest-green);
            transition: all .3s;
        }
        .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .hamburger.open span:nth-child(2) { opacity: 0; }
        .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        .mobile-menu {
            display: none;
            flex-direction: column;
            background: var(--white);
            border-top: 1px solid var(--mid-grey);
            padding: 1rem 2rem 1.5rem;
            gap: 1rem;
        }
        .mobile-menu.open { display: flex; }
        .mobile-menu a {
            color: var(--text-dark);
            text-decoration: none;
            font-weight: 600;
            font-size: 1rem;
            padding: 0.5rem 0;
            border-bottom: 1px solid var(--mid-grey);
        }

        /* ─── HERO ──────────────────────────────────────────── */
        .hero {
            margin-top: 68px;
            min-height: 90vh;
            background: linear-gradient(140deg, var(--forest-green-dark) 0%, var(--forest-green) 65%, var(--forest-green-light) 100%);
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
        }

        /* Geometric pattern overlay — echoes logo cube shapes */
        .hero::before {
            content: '';
            position: absolute; inset: 0;
            background:
                radial-gradient(ellipse at 15% 85%, rgba(192,127,63,.18) 0%, transparent 55%),
                radial-gradient(ellipse at 85% 15%, rgba(192,127,63,.10) 0%, transparent 45%);
            pointer-events: none;
        }

        /* Subtle cube-grid pattern */
        .hero-grid {
            position: absolute; inset: 0;
            background-image:
                linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
        }

        /* Decorative cube SVG — top right */
        .hero-cube-deco {
            position: absolute;
            right: -40px; top: 80px;
            opacity: .08;
            width: 420px;
        }

        .hero::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0; right: 0;
            height: 180px;
            background: linear-gradient(to top, var(--white) 0%, transparent 100%);
            pointer-events: none;
        }

        .hero-content {
            max-width: 1400px;
            margin: 0 auto;
            padding: 5rem 3rem 8rem;
            position: relative;
            z-index: 1;
        }

        .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            background: rgba(192,127,63,.15);
            color: var(--gold-light);
            padding: 0.55rem 1.4rem;
            border-radius: 30px;
            font-size: 0.82rem;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 2.2rem;
            border: 1px solid rgba(192,127,63,.3);
            animation: fadeInDown .8s ease both;
        }
        .hero-badge::before {
            content: '';
            display: inline-block;
            width: 6px; height: 6px;
            border-radius: 50%;
            background: var(--gold);
        }

        .hero h1 {
            font-size: clamp(2.4rem, 5vw, 4.2rem);
            color: var(--white);
            max-width: 860px;
            margin-bottom: 1.6rem;
            line-height: 1.18;
            animation: fadeInUp .8s ease .2s both;
        }
        .hero h1 em {
            font-style: italic;
            color: var(--gold-light);
        }

        .hero-subtitle {
            font-size: clamp(1rem, 2vw, 1.35rem);
            color: rgba(255,255,255,.88);
            max-width: 680px;
            margin-bottom: 3rem;
            font-weight: 300;
            animation: fadeInUp .8s ease .4s both;
        }

        .hero-cta {
            display: flex;
            gap: 1.2rem;
            flex-wrap: wrap;
            animation: fadeInUp .8s ease .6s both;
        }

        /* ─── BUTTONS ───────────────────────────────────────── */
        .btn {
            padding: 0.95rem 2.4rem;
            border-radius: 4px;
            font-family: 'Source Sans Pro', sans-serif;
            font-weight: 700;
            font-size: 0.95rem;
            letter-spacing: 0.6px;
            transition: all .3s ease;
            display: inline-block;
            border: 2px solid transparent;
            text-decoration: none;
            cursor: pointer;
        }
        .btn-primary {
            background: var(--gold);
            color: var(--white);
            border-color: var(--gold);
        }
        .btn-primary:hover {
            background: var(--gold-dark);
            border-color: var(--gold-dark);
            transform: translateY(-2px);
            box-shadow: 0 10px 28px rgba(192,127,63,.35);
        }
        .btn-secondary {
            background: transparent;
            color: var(--white);
            border-color: rgba(255,255,255,.45);
        }
        .btn-secondary:hover {
            background: rgba(255,255,255,.1);
            border-color: var(--white);
            transform: translateY(-2px);
        }
        .btn-dark {
            background: var(--forest-green);
            color: var(--white);
            border-color: var(--forest-green);
        }
        .btn-dark:hover {
            background: var(--forest-green-dark);
            transform: translateY(-2px);
        }

        /* ─── SECTION BASE ───────────────────────────────────── */
        .section-wrap {
            padding: 6rem 3rem;
        }
        .section-inner {
            max-width: 1400px;
            margin: 0 auto;
        }
        .section-header {
            text-align: center;
            margin-bottom: 4rem;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
        .section-badge {
            display: inline-block;
            color: var(--gold);
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 2.5px;
            text-transform: uppercase;
            margin-bottom: 1rem;
        }
        .section-header h2 {
            font-size: clamp(2rem, 4vw, 3rem);
            margin-bottom: 1.2rem;
            color: var(--forest-green-dark);
        }
        .section-header p {
            font-size: 1.15rem;
            color: var(--text-light);
            line-height: 1.8;
        }

        /* ─── ABOUT ──────────────────────────────────────────── */
        .about { background: var(--cream); }

        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: start;
            margin-top: 0;
        }

        .about-text h3 {
            font-size: 1.9rem;
            margin-bottom: 1.4rem;
            color: var(--forest-green);
        }
        .about-text p {
            margin-bottom: 1.4rem;
            color: var(--text-dark);
            line-height: 1.9;
        }
        .about-highlight {
            background: var(--white);
            padding: 1.8rem 2rem;
            border-left: 4px solid var(--gold);
            margin: 2rem 0;
            box-shadow: 0 4px 20px rgba(0,0,0,.05);
            border-radius: 0 6px 6px 0;
        }
        .about-highlight p {
            font-size: 1.05rem;
            font-style: italic;
            color: var(--forest-green);
            margin: 0;
        }

        .about-stats {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
        }
        .stat-item {
            background: var(--white);
            padding: 2rem 1.5rem;
            border-radius: 10px;
            text-align: center;
            box-shadow: 0 4px 24px rgba(0,0,0,.06);
            transition: transform .3s, box-shadow .3s;
            border-bottom: 3px solid transparent;
        }
        .stat-item:hover {
            transform: translateY(-6px);
            box-shadow: 0 10px 32px rgba(27,67,50,.12);
            border-bottom-color: var(--gold);
        }
        .stat-number {
            font-family: 'Playfair Display', serif;
            font-size: 2.3rem;
            color: var(--gold);
            font-weight: 700;
            margin-bottom: 0.5rem;
        }
        .stat-label {
            font-size: 0.85rem;
            color: var(--text-light);
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
        }

        /* ─── SERVICES ───────────────────────────────────────── */
        .services { background: var(--white); }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 2rem;
        }
        .service-card {
            background: var(--white);
            padding: 2.8rem 2.2rem;
            border-radius: 10px;
            box-shadow: 0 4px 28px rgba(27,67,50,.07);
            transition: all .3s ease;
            border-top: 3px solid var(--mid-grey);
            display: flex;
            flex-direction: column;
        }
        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 40px rgba(27,67,50,.14);
            border-top-color: var(--gold);
        }
        .service-icon {
            width: 56px; height: 56px;
            background: linear-gradient(135deg, var(--forest-green), var(--forest-green-light));
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.6rem;
            font-size: 1.6rem;
        }
        .service-card h3 {
            font-size: 1.35rem;
            margin-bottom: 0.8rem;
            color: var(--forest-green);
        }
        .service-card p {
            color: var(--text-light);
            line-height: 1.8;
            margin-bottom: 1.4rem;
            font-size: 0.97rem;
        }
        .service-list { list-style: none; padding: 0; }
        .service-list li {
            padding: 0.5rem 0 0.5rem 1.6rem;
            color: var(--text-dark);
            font-size: 0.92rem;
            position: relative;
            border-bottom: 1px solid var(--cream);
        }
        .service-list li:last-child { border-bottom: none; }
        .service-list li::before {
            content: '→';
            position: absolute; left: 0;
            color: var(--gold);
            font-weight: bold;
        }

        /* ─── CLIENTS ────────────────────────────────────────── */
        .clients-section {
            background: var(--forest-green-dark);
            color: var(--white);
        }
        .clients-section .section-badge { color: var(--gold-light); }
        .clients-section .section-header h2 { color: var(--white); }
        .clients-section .section-header p { color: rgba(255,255,255,.75); }

        .clients-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2.5rem;
        }
        .client-category {
            background: rgba(255,255,255,.05);
            padding: 2.8rem;
            border-radius: 10px;
            border: 1px solid rgba(255,255,255,.09);
            transition: all .3s;
        }
        .client-category:hover {
            background: rgba(255,255,255,.09);
            border-color: var(--gold);
        }
        .client-category h3 {
            font-size: 1.6rem;
            color: var(--gold-light);
            margin-bottom: 1.8rem;
            padding-bottom: 0.8rem;
            border-bottom: 1px solid rgba(192,127,63,.3);
        }
        .client-category h4 {
            font-size: 1.05rem;
            color: var(--white);
            margin: 1.8rem 0 0.8rem;
            font-weight: 600;
        }
        .client-category ul { list-style: none; padding: 0; }
        .client-category li {
            padding: 0.7rem 0 0.7rem 2rem;
            color: rgba(255,255,255,.85);
            border-bottom: 1px solid rgba(255,255,255,.07);
            font-size: 0.95rem;
            position: relative;
        }
        .client-category li::before {
            content: '✓';
            position: absolute; left: 0;
            color: var(--gold);
            font-weight: bold;
        }

        /* ─── VALUE PROPOSITION ──────────────────────────────── */
        .value-prop { background: var(--cream); }

        .value-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: start;
        }
        .value-main {
            background: var(--forest-green);
            color: var(--white);
            padding: 3.5rem;
            border-radius: 12px;
            position: relative;
            overflow: hidden;
        }
        .value-main::before {
            content: '"';
            position: absolute;
            top: -30px; left: 16px;
            font-size: 14rem;
            font-family: 'Playfair Display', serif;
            color: rgba(255,255,255,.06);
            line-height: 1;
            pointer-events: none;
        }
        /* small logo watermark inside value card */
        .value-main-logo {
            position: absolute;
            bottom: 2rem; right: 2rem;
            opacity: .12;
            width: 80px;
        }
        .value-main h3 {
            font-size: 2.2rem;
            color: var(--gold-light);
            margin-bottom: 1.6rem;
            position: relative; z-index: 1;
        }
        .value-main p {
            font-size: 1.1rem;
            line-height: 1.9;
            color: rgba(255,255,255,.92);
            position: relative; z-index: 1;
            margin-bottom: 1.2rem;
        }

        .value-points { display: flex; flex-direction: column; gap: 1.4rem; }
        .value-point {
            background: var(--white);
            padding: 2.2rem;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(0,0,0,.05);
            border-left: 4px solid var(--gold);
            transition: transform .3s, box-shadow .3s;
        }
        .value-point:hover {
            transform: translateX(4px);
            box-shadow: 0 6px 28px rgba(27,67,50,.1);
        }
        .value-point h4 {
            font-size: 1.2rem;
            color: var(--forest-green);
            margin-bottom: 0.7rem;
        }
        .value-point p { color: var(--text-light); line-height: 1.8; font-size: 0.97rem; }

        /* ─── CONTACT ────────────────────────────────────────── */
        .contact-section { background: var(--white); }

        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 4rem;
        }
        .contact-info {
            background: var(--cream);
            padding: 3rem;
            border-radius: 12px;
        }
        .contact-info h3 {
            font-size: 1.8rem;
            color: var(--forest-green);
            margin-bottom: 2rem;
        }
        .contact-item { margin-bottom: 2rem; }
        .contact-label {
            font-size: 0.78rem;
            color: var(--gold);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 700;
            margin-bottom: 0.4rem;
        }
        .contact-value { font-size: 1.1rem; color: var(--text-dark); font-weight: 600; }
        .contact-value a {
            color: var(--forest-green);
            text-decoration: none;
            transition: color .3s;
        }
        .contact-value a:hover { color: var(--gold); }

        .contact-form { display: flex; flex-direction: column; gap: 1.4rem; }
        .form-group { display: flex; flex-direction: column; }
        .form-group label {
            font-size: 0.88rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.5rem;
            letter-spacing: 0.3px;
        }
        .form-group input,
        .form-group textarea {
            padding: 0.95rem 1rem;
            border: 2px solid var(--mid-grey);
            border-radius: 4px;
            font-family: 'Source Sans Pro', sans-serif;
            font-size: 1rem;
            background: var(--cream);
            transition: border-color .3s, background .3s;
        }
        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--forest-green);
            background: var(--white);
        }
        .form-group textarea { min-height: 140px; resize: vertical; }

        /* ─── FOOTER ─────────────────────────────────────────── */
        footer {
            background: var(--forest-green-dark);
            color: rgba(255,255,255,.75);
            padding: 4rem 3rem 2rem;
        }
        .footer-inner { max-width: 1400px; margin: 0 auto; }

        .footer-logo { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.2rem; }
        .footer-logo img { height: 55px; width: auto; }
        .footer-logo-name {
            font-family: 'Playfair Display', serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--white);
        }
        .footer-logo-sub {
            font-size: 0.62rem;
            color: var(--gold-light);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.6px;
        }

        .footer-content {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 4rem;
            margin-bottom: 3rem;
        }
        .footer-about p { line-height: 1.8; font-size: 0.95rem; margin-bottom: 1rem; }

        .footer-links h5 {
            color: var(--gold-light);
            margin-bottom: 1.2rem;
            font-size: 1rem;
            font-family: 'Playfair Display', serif;
        }
        .footer-links ul { list-style: none; }
        .footer-links li { margin-bottom: 0.7rem; }
        .footer-links a {
            color: rgba(255,255,255,.7);
            text-decoration: none;
            font-size: 0.93rem;
            transition: color .3s;
        }
        .footer-links a:hover { color: var(--gold-light); }

        .footer-legal-info {
            border-top: 1px solid rgba(255,255,255,.1);
            padding-top: 1.6rem;
            margin-bottom: 1.2rem;
            text-align: center;
            font-size: 0.82rem;
            color: rgba(255,255,255,.4);
            line-height: 1.9;
        }
        .footer-legal-info strong { color: rgba(255,255,255,.6); }
        .footer-legal-info a { color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s; }
        .footer-legal-info a:hover { color: var(--gold-light); }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,.07);
            padding-top: 1.2rem;
            text-align: center;
            font-size: 0.85rem;
            color: rgba(255,255,255,.45);
        }
        .footer-legal-links { margin-top: 0.55rem; }
        .footer-legal-links a {
            color: rgba(255,255,255,.45);
            text-decoration: none;
            transition: color .3s;
        }
        .footer-legal-links a:hover { color: var(--gold-light); }

        /* ─── LEGAL MODALS ──────────────────────────────────── */
        .modal-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(8,28,21,.82);
            backdrop-filter: blur(4px);
            z-index: 2000;
            overflow-y: auto;
            padding: 2rem 1rem;
        }
        .modal-overlay.open { display: flex; align-items: flex-start; justify-content: center; }
        .modal-box {
            background: var(--white);
            border-radius: 8px;
            max-width: 780px;
            width: 100%;
            padding: 3rem 3.5rem;
            position: relative;
            margin: auto;
        }
        .modal-close {
            position: absolute;
            top: 1.2rem; right: 1.4rem;
            background: none;
            border: none;
            font-size: 1.6rem;
            cursor: pointer;
            color: var(--text-light);
            line-height: 1;
            transition: color .2s;
        }
        .modal-close:hover { color: var(--forest-green); }
        .modal-box h2 {
            font-family: 'Playfair Display', serif;
            color: var(--forest-green);
            font-size: 1.75rem;
            margin-bottom: 0.4rem;
        }
        .modal-date {
            font-size: 0.82rem;
            color: var(--text-light);
            margin-bottom: 2rem;
            display: block;
        }
        .modal-box h3 {
            font-family: 'Playfair Display', serif;
            color: var(--forest-green);
            font-size: 1.05rem;
            margin: 1.8rem 0 0.5rem;
        }
        .modal-box p, .modal-box li {
            font-size: 0.95rem;
            color: var(--text-dark);
            line-height: 1.8;
        }
        .modal-box ul {
            padding-left: 1.4rem;
            margin-top: 0.4rem;
        }
        .modal-box li { margin-bottom: 0.35rem; }

        /* ─── BACK TO TOP ────────────────────────────────────── */
        .back-top {
            position: fixed;
            bottom: 2rem; right: 2rem;
            width: 44px; height: 44px;
            background: var(--gold);
            color: var(--white);
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity .3s, transform .3s, background .3s;
            z-index: 999;
        }
        .back-top.visible { opacity: 1; pointer-events: auto; }
        .back-top:hover { background: var(--gold-dark); transform: translateY(-3px); }

        /* ─── COOKIE CONSENT BANNER ─────────────────────────── */
        #cookieBanner {
            display: none;
            position: fixed;
            bottom: 0; left: 0; right: 0;
            background: var(--forest-green-dark);
            color: rgba(255,255,255,.85);
            padding: 1.1rem 2.5rem;
            z-index: 3000;
            box-shadow: 0 -2px 20px rgba(0,0,0,.25);
            border-top: 2px solid var(--gold);
        }
        #cookieBanner.show { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
        #cookieBanner p { margin: 0; font-size: 0.88rem; line-height: 1.6; flex: 1; min-width: 260px; }
        #cookieBanner a { color: var(--gold-light); text-decoration: underline; cursor: pointer; }
        .cookie-btns { display: flex; gap: 0.75rem; flex-shrink: 0; }
        .cookie-btn-accept {
            background: var(--gold);
            color: var(--white);
            border: none;
            padding: 0.55rem 1.4rem;
            border-radius: 4px;
            font-weight: 700;
            font-size: 0.85rem;
            cursor: pointer;
            letter-spacing: 0.4px;
            transition: background .2s;
        }
        .cookie-btn-accept:hover { background: var(--gold-dark); }
        .cookie-btn-decline {
            background: transparent;
            color: rgba(255,255,255,.65);
            border: 1px solid rgba(255,255,255,.3);
            padding: 0.55rem 1.1rem;
            border-radius: 4px;
            font-size: 0.85rem;
            cursor: pointer;
            transition: border-color .2s, color .2s;
        }
        .cookie-btn-decline:hover { border-color: rgba(255,255,255,.7); color: var(--white); }

        /* ─── GDPR CONSENT CHECKBOX ──────────────────────────── */
        .gdpr-consent {
            display: flex;
            align-items: flex-start;
            gap: 0.65rem;
            font-size: 0.88rem;
            color: var(--text-light);
            line-height: 1.5;
        }
        .gdpr-consent input[type="checkbox"] {
            margin-top: 0.18rem;
            accent-color: var(--forest-green);
            width: 16px;
            height: 16px;
            flex-shrink: 0;
            cursor: pointer;
        }
        .gdpr-consent a { color: var(--forest-green); text-decoration: underline; }

        /* ─── SCROLL REVEAL ──────────────────────────────────── */
        .reveal {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity .7s ease, transform .7s ease;
        }
        .reveal.visible {
            opacity: 1;
            transform: none;
        }

        /* ─── ANIMATIONS ─────────────────────────────────────── */
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to   { opacity: 1; transform: none; }
        }
        @keyframes fadeInDown {
            from { opacity: 0; transform: translateY(-24px); }
            to   { opacity: 1; transform: none; }
        }

        /* ─── RESPONSIVE ─────────────────────────────────────── */
        @media (max-width: 1024px) {
            .services-grid { grid-template-columns: 1fr 1fr; }
            .about-content,
            .value-grid,
            .contact-grid,
            .clients-grid { grid-template-columns: 1fr; }
            .footer-content { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
        }

        @media (max-width: 768px) {
            .nav-container { padding: 0.9rem 1.5rem; }
            .nav-links { display: none; }
            .hamburger { display: flex; }
            .section-wrap { padding: 4rem 1.5rem; }
            .hero-content { padding: 3.5rem 1.5rem 6rem; }
            .services-grid { grid-template-columns: 1fr; }
            .footer-content { grid-template-columns: 1fr; gap: 2rem; }
            .about-stats { grid-template-columns: 1fr 1fr; }
            .hero-cube-deco { display: none; }
        }

        @media (max-width: 480px) {
            .about-stats { grid-template-columns: 1fr; }
            .hero-cta { flex-direction: column; }
            .btn { text-align: center; }
        }
/* ============================================================
   POLICY PAGES (privacy-policy, cookie-policy, terms, accessibility)
   ============================================================ */

/* Logo image — replaces inline style='height:150px;width:auto;' */
.nav-logo-img { height: 100px; width: auto; display: block; }

.policy-hero {
    background: var(--forest-green-dark);
    padding: 8rem 2rem 3.5rem;
    text-align: center;
    color: var(--white);
}
.policy-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 5vw, 2.8rem);
    color: var(--white);
    margin-bottom: 0.5rem;
}
.policy-hero .policy-date {
    color: var(--gold-light);
    font-size: 0.88rem;
    letter-spacing: 0.04em;
}
.policy-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 3.5rem 2rem 6rem;
    color: var(--text-dark);
}
.policy-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.25rem;
    color: var(--forest-green);
    margin: 2.5rem 0 0.6rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--mid-grey);
}
.policy-content h2:first-child { border-top: none; padding-top: 0; margin-top: 0; }
.policy-content p  { font-size: 0.96rem; line-height: 1.85; margin-bottom: 0.9rem; }
.policy-content ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.policy-content li { font-size: 0.96rem; line-height: 1.8; margin-bottom: 0.4rem; }
.policy-content a  { color: var(--forest-green); text-decoration: underline; }
.policy-content a:hover { color: var(--gold); }
.policy-content code {
    background: var(--mid-grey);
    padding: 0.15rem 0.45rem;
    border-radius: 3px;
    font-size: 0.87rem;
    font-family: monospace;
}
.policy-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0 1.5rem;
    font-size: 0.92rem;
}
.policy-content th, .policy-content td {
    text-align: left;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--mid-grey);
}
.policy-content th {
    background: var(--forest-green);
    color: var(--white);
    font-weight: 600;
}
.policy-content tr:nth-child(even) td { background: var(--cream); }
