:root {
    --navy: #000000;
    --navy-deep: #0d0d0d;
    --ink: #000000;
    --sky: #f0f0f0;
    --mist: #fafafa;
    --gold: #d4af37;
    --gold-soft: #d4af37;
    --muted: #707070;
    --line: #e1e1e1;
}

/* Keep the public site edge-to-edge on wide desktop screens. */
.site-shell,
.header,
.hero,
.intro-section,
.services-section,
.work-section,
.contact-section,
.footer {
    max-width: none;
}

.header {
    background: #000000;
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
}

.brand img {
    box-shadow: 0 8px 18px rgba(10, 25, 37, 0.12);
}

.hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(212, 175, 55, 0.14), transparent 24rem),
        linear-gradient(135deg, #000000 0%, #0d0d0d 62%, #171717 100%);
}

.header .nav-links > a,
.hero h1,
.hero .text-link {
    color: #ffffff;
}

.hero .hero-copy,
.hero .eyebrow,
.hero .scroll-cue {
    color: rgba(255, 255, 255, 0.72);
}

.hero h1 em {
    color: #d4af37;
}

.hero .text-link:hover {
    color: #d4af37;
}

.header .nav-links .nav-cta {
    background: #d4af37;
    color: #0d0d0d;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

.header .nav-cta span {
    color: #0d0d0d;
}

.header .menu-toggle {
    color: #ffffff;
}

.hero-photo-wrap {
    border: 7px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 30px 56px rgba(0, 0, 0, 0.22);
}

.hero-badge {
    background: #0d0d0d;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.28);
}

.button-gold {
    color: #0d0d0d;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.service-card {
    border: 1px solid rgba(23, 58, 83, 0.06);
    box-shadow: 0 7px 18px rgba(23, 58, 83, 0.035);
}

.service-card:hover,
.service-card.featured {
    background: #000000;
}

.work-section {
    background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%);
}

.gallery-item {
    border: 1px solid #e4e4e4;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07);
}

.gallery-item:hover,
.gallery-item:focus-visible {
    box-shadow: 0 18px 32px rgba(0, 0, 0, 0.16);
}

.gallery-footer {
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.contact-section {
    background:
        radial-gradient(circle at 87% 12%, rgba(212, 175, 55, 0.12), transparent 22rem),
        linear-gradient(135deg, #000000 0%, #111111 100%);
}

.contact-form-wrap {
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 24px 46px rgba(5, 24, 38, 0.2);
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
    background-color: #fdfdfd;
}

.recaptcha-wrap {
    min-height: 78px;
}

.footer {
    background: #0d0d0d;
}

@media (max-width: 760px) {
    .header .nav-links {
        background: #ffffff;
    }

    .header .nav-links > a {
        color: #0d0d0d;
    }

    .header .nav-links > a:hover,
    .header .nav-links > a:focus-visible {
        color: #a88719;
    }

    .hero-photo-wrap {
        border-width: 5px;
    }

    .gallery-footer {
        padding-top: 15px;
    }
}
