:root {
    --bg:#050505;
    --bg2:#0b0908;
    --panel:#100d0b;
    --line:#302117;
    --copper:#c9825b;
    --copper2:#e4a17d;
    --copper-dark:#875038;
    --cream:#f5eee9;
    --text:#ded6d1;
    --muted:#9f9189;
    --white:#fff;
    --max:1180px;
    --serif:'Cormorant Garamond',serif;
    --sans:'Montserrat',sans-serif
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    font-size:15px;
    line-height:1.75
}

a {
    color:inherit
}

img {
    max-width:100%
}

.container {
    width:min(var(--max),calc(100% - 40px));
    margin:auto
}

.narrow {
    max-width:820px
}

h1,h2,h3 {
    font-family:var(--serif);
    color:var(--cream);
    font-weight:600;
    line-height:1.06;
    margin:0
}

h1 {
    font-size:clamp(48px,7vw,82px)
}

h2 {
    font-size:clamp(38px,5vw,58px)
}

h3 {
    font-size:29px
}

p {
    margin:0 0 20px;
    color:var(--muted)
}

.eyebrow {
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:11px;
    font-weight:600;
    color:var(--copper2);
    display:block;
    margin-bottom:15px
}

.site-header {
    height:88px;
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(5,5,5,.82);
    border-bottom:1px solid rgba(201,130,91,.13);
    backdrop-filter:blur(16px);
    transition:.25s
}

.site-header.scrolled {
    background:rgba(5,5,5,.96);
    box-shadow:0 14px 40px rgba(0,0,0,.25)
}

.nav-wrap {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.brand {
    display:flex;
    align-items:center;
    text-decoration:none;
    gap:12px
}

.brand-kx {
    font-family:var(--serif);
    font-size:48px;
    line-height:.8;
    color:var(--copper2);
    letter-spacing:-.07em
}

.brand-copy {
    display:flex;
    flex-direction:column;
    line-height:1.15;
    border-left:1px solid #3d2b21;
    padding-left:12px
}

.brand-copy strong {
    text-transform:uppercase;
    letter-spacing:.14em;
    color:#eee5df;
    font-size:12px;
    font-weight:500
}

.brand-copy small {
    font-size:8px;
    color:#8f7f75;
    letter-spacing:.04em;
    margin-top:5px
}

.main-nav {
    display:flex;
    align-items:center;
    gap:27px
}

.main-nav>a {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-decoration:none;
    color:#cfc4bd;
    transition:.2s
}

.main-nav>a:hover,.main-nav>a.active {
    color:var(--copper2)
}

.main-nav .nav-cta {
    background:var(--copper);
    color:#140a05;
    padding:12px 17px;
    border-radius:4px;
    font-weight:600
}

.menu-toggle {
    display:none;
    background:none;
    border:0;
    padding:8px
}

.menu-toggle span {
    display:block;
    width:25px;
    height:1px;
    background:var(--cream);
    margin:6px
}

.hero {
    min-height:720px;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:linear-gradient(90deg,#050505 0%,#080706 55%,#0d0907 100%)
}

.hero:after {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 76% 42%,rgba(201,130,91,.16),transparent 34%);
    pointer-events:none
}

.hero-glow {
    position:absolute;
    width:500px;
    height:500px;
    border:1px solid rgba(201,130,91,.12);
    border-radius:50%;
    right:-190px;
    top:80px;
    box-shadow:0 0 100px rgba(201,130,91,.07)
}

.hero-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
    position:relative;
    z-index:2;
    padding:90px 0
}

.hero-copy h1 {
    max-width:700px
}

.hero-copy h1 em {
    color:var(--copper2);
    font-style:normal
}

.hero-copy>p {
    max-width:610px;
    font-size:16px;
    margin:27px 0 32px
}

.hero-actions {
    display:flex;
    gap:13px;
    flex-wrap:wrap
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:15px 24px;
    border-radius:3px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    font-weight:600;
    text-decoration:none;
    transition:.22s
}

.btn-primary {
    background:linear-gradient(135deg,var(--copper2),var(--copper));
    color:#170b06
}

.btn-primary:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 35px rgba(201,130,91,.18)
}

.btn-secondary {
    border:1px solid var(--copper-dark);
    color:var(--copper2)
}

.btn-secondary:hover {
    background:rgba(201,130,91,.08)
}

.btn-dark {
    background:#080808;
    color:#fff;
    border:1px solid #14100e
}

.btn.full {
    width:100%
}

.hero-visual {
    position:relative
}

.image-frame {
    border:1px solid rgba(201,130,91,.52);
    padding:10px;
    min-height:200px;
    background:linear-gradient(145deg,#1b130f,#080706);
    box-shadow:24px 24px 24px rgba(201,130,91,.04)
}

.image-placeholder {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#705649;
    position:relative;
    overflow:hidden
}

.image-placeholder:before {
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(201,130,91,.16),transparent 70%)
}

.placeholder-mark {
    font-family:var(--serif);
    font-size:100px;
    color:#b57553;
    position:relative
}

.placeholder-mark.small {
    font-size:80px
}

.image-placeholder p {
    position:relative;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:10px
}

.floating-card {
    position:absolute;
    left:-45px;
    bottom:32px;
    background:#0b0908;
    border:1px solid #39261b;
    padding:19px 23px;
    width:230px;
    display:flex;
    flex-direction:column;
    box-shadow:0 14px 38px rgba(0,0,0,.35)
}

.floating-card strong {
    font-family:var(--serif);
    font-size:23px;
    color:var(--cream)
}

.floating-card span {
    font-size:10px;
    color:var(--muted)
}

.trust-strip {
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#090807
}

.trust-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    min-height:115px
}

.trust-grid>div {
    display:flex;
    align-items:center;
    gap:17px;
    padding:25px;
    border-right:1px solid var(--line)
}

.trust-grid>div:last-child {
    border:0
}

.icon-line {
    font-family:var(--serif);
    font-size:34px;
    color:var(--copper)
}

.trust-grid p {
    display:flex;
    flex-direction:column;
    margin:0
}

.trust-grid strong {
    color:#f0e9e5;
    font-size:12px
}

.trust-grid small {
    font-size:9px;
    margin-top:3px
}

.section {
    padding:105px 0
}

.section-heading {
    max-width:700px;
    margin-bottom:48px
}

.section-heading.centered {
    text-align:center;
    margin-left:auto;
    margin-right:auto
}

.section-heading p {
    max-width:620px;
    margin:18px auto 0
}

.service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px
}

.service-grid.large {
    grid-template-columns:repeat(3,1fr)
}

.service-card {
    min-height:310px;
    padding:28px 25px;
    border:1px solid #40291d;
    background:linear-gradient(160deg,#100c0a,#080706);
    display:flex;
    flex-direction:column
}

.service-card>span {
    font-size:10px;
    color:var(--copper);
    letter-spacing:.12em;
    margin-bottom:27px
}

.service-card h3 {
    font-size:27px;
    margin-bottom:18px
}

.service-card p {
    font-size:12px;
    line-height:1.75
}

.service-card a {
    margin-top:auto;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:9px;
    color:var(--copper2)
}

.service-card:hover {
    border-color:var(--copper);
    transform:translateY(-3px);
    transition:.22s
}

.split-section {
    background:#080706;
    border-top:1px solid #17110e
}

.split-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center
}

.split-copy p {
    margin-top:25px
}

.text-link {
    color:var(--copper2);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:10px
}

.audience-section {
    border-top:1px solid #1c1511
}

.audience-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.audience-card {
    padding:40px;
    border:1px solid #3b271c;
    background:linear-gradient(135deg,#0d0a08,#070606);
    text-decoration:none;
    min-height:290px;
    display:flex;
    flex-direction:column
}

.audience-card>span {
    color:var(--copper2);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em
}

.audience-card h3 {
    font-size:36px;
    margin:22px 0 16px
}

.audience-card b {
    margin-top:auto;
    color:var(--copper2);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.09em
}

.audience-card:not(.static):hover {
    background:#100b08
}

.cta-band {
    background:linear-gradient(90deg,#8a5139,#d58b64 55%,#b66f4e);
    color:#fff
}

.cta-inner {
    min-height:190px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px
}

.cta-band .eyebrow {
    color:#2d160d
}

.cta-band h2 {
    color:#fff;
    font-size:43px
}

.cta-band p {
    color:#f7e7de;
    margin:7px 0 0
}

.page-hero {
    padding:115px 0 90px;
    background:radial-gradient(circle at 50% 0,rgba(201,130,91,.11),transparent 46%);
    border-bottom:1px solid #21170f
}

.page-hero h1 {
    font-size:clamp(50px,7vw,76px)
}

.page-hero p {
    font-size:16px;
    max-width:720px;
    margin-top:25px
}

.values-panel {
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid #3b271c
}

.values-panel>div {
    padding:28px;
    border-right:1px solid #3b271c;
    border-bottom:1px solid #3b271c
}

.values-panel>div:nth-child(2n) {
    border-right:0
}

.values-panel>div:nth-child(n+3) {
    border-bottom:0
}

.values-panel b,.steps-grid b {
    color:var(--copper);
    font-size:10px
}

.values-panel h3 {
    font-size:25px;
    margin:10px 0
}

.values-panel p {
    font-size:11px;
    margin:0
}

.note-section {
    padding:80px 0;
    background:#0b0908;
    border-top:1px solid #221710;
    border-bottom:1px solid #221710;
    text-align:center
}

.note-section p {
    max-width:660px;
    margin:22px auto
}

.steps-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#3b271c;
    border:1px solid #3b271c
}

.steps-grid>div {
    background:#090807;
    padding:38px
}

.steps-grid h3 {
    font-size:29px;
    margin:15px 0
}

.contact-grid {
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:70px
}

.contact-list {
    margin-top:35px;
    border-top:1px solid #312117
}

.contact-list a {
    display:flex;
    justify-content:space-between;
    padding:20px 0;
    border-bottom:1px solid #312117;
    text-decoration:none
}

.contact-list b {
    text-transform:uppercase;
    letter-spacing:.09em;
    font-size:10px;
    color:var(--copper2)
}

.contact-list span {
    font-size:12px
}

.form-shell {
    border:1px solid #3a271c;
    background:#0d0a08;
    padding:38px;
    align-self:start
}

.form-shell h3 {
    margin-bottom:12px
}

.site-footer {
    padding:75px 0 25px;
    background:#030303;
    border-top:1px solid #1f1610
}

.footer-grid {
    display:grid;
    grid-template-columns:1.5fr .7fr .9fr 1fr;
    gap:50px
}

.footer-grid h3 {
    font-family:var(--sans);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.12em;
    margin-bottom:18px
}

.footer-grid>div>a,.footer-grid>div>span {
    display:block;
    color:#a99a91;
    text-decoration:none;
    font-size:11px;
    margin:9px 0
}

.footer-brand p {
    font-size:11px;
    max-width:310px;
    margin-top:24px
}

.footer-cta p {
    font-size:11px
}

.footer-bottom {
    border-top:1px solid #1d1510;
    margin-top:50px;
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    font-size:9px;
    color:#71645d
}

.footer-bottom a {
    margin-left:18px;
    color:#8f7d73
}


/* =========================================================
   FOOTER SOCIAL BUTTONS
   ========================================================= */

.footer-socials {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 22px;
}

.social-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;
    margin: 0 !important;

    border: 1px solid rgba(228, 161, 125, 0.55);
    border-radius: 50%;

    background: rgba(201, 130, 91, 0.04);
    color: var(--copper2) !important;

    text-decoration: none;

    transition:
        background 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.social-button svg {
    width: 20px;
    height: 20px;

    fill: currentColor;
}

.social-button:hover {
    transform: translateY(-3px);

    border-color: var(--copper2);

    background: var(--copper2);
    color: #140a05 !important;

    box-shadow:
        0 10px 28px rgba(201, 130, 91, 0.2);
}

.social-button:focus-visible {
    outline: 2px solid var(--copper2);
    outline-offset: 4px;
}

.reveal {
    opacity:0;
    transform:translateY(18px);
    transition:opacity .7s ease,transform .7s ease
}

.reveal.visible {
    opacity:1;
    transform:none
}

@media(max-width:980px) {
    .main-nav {
        position:absolute;
        top:88px;
        left:0;
        right:0;
        background:#050505;
        border-bottom:1px solid #302117;
        display:none;
        flex-direction:column;
        align-items:stretch;
        padding:22px 25px;
        gap:0
    }

    .main-nav.open {
        display:flex
    }

    .main-nav>a {
        padding:13px 0;
        border-bottom:1px solid #17110e
    }

    .main-nav .nav-cta {
        text-align:center;
        margin-top:12px;
        padding:14px
    }

    .menu-toggle {
        display:block
    }

    .hero-grid,.split-grid,.contact-grid {
        grid-template-columns:1fr
    }

    .hero {
        min-height:auto
    }

    .hero-visual {
        max-width:650px
    }

    .service-grid {
        grid-template-columns:1fr 1fr
    }

    .service-grid.large {
        grid-template-columns:1fr 1fr
    }

    .trust-grid {
        grid-template-columns:1fr 1fr
    }

    .trust-grid>div:nth-child(2) {
        border-right:0
    }

    .trust-grid>div:nth-child(-n+2) {
        border-bottom:1px solid var(--line)
    }

    .footer-grid {
        grid-template-columns:1fr 1fr
    }

}

@media(max-width:650px) {
    .container {
        width:min(100% - 28px,var(--max))
    }

    .site-header {
        height:75px
    }

    .brand-kx {
        font-size:41px
    }

    .brand-copy strong {
        font-size:10px
    }

    .main-nav {
        top:75px
    }

    .hero-grid {
        padding:70px 0;
        gap:45px
    }

    .hero-copy h1 {
        font-size:48px
    }

    .hero-visual {
        display:none
    }

    .trust-grid {
        grid-template-columns:1fr 1fr
    }

    .trust-grid>div {
        padding:19px 12px
    }

    .service-grid,.service-grid.large,.audience-grid,.steps-grid,.footer-grid,.values-panel {
        grid-template-columns:1fr
    }

    .service-card {
        min-height:260px
    }

    .section {
        padding:72px 0
    }

    .split-grid {
        gap:40px
    }

    .image-frame {
        min-height:300px
    }

    .audience-card {
        padding:30px;
        min-height:245px
    }

    .cta-inner {
        min-height:240px;
        align-items:flex-start;
        justify-content:center;
        flex-direction:column
    }

    .cta-band h2 {
        font-size:37px
    }

    .page-hero {
        padding:85px 0 65px
    }

    .values-panel>div {
        border-right:0!important;
        border-bottom:1px solid #3b271c!important
    }

    .values-panel>div:last-child {
        border-bottom:0!important
    }

    .steps-grid {
        gap:1px
    }

    .footer-grid {
        gap:32px
    }

    .footer-bottom {
        flex-direction:column;
        gap:12px
    }

    .footer-bottom a {
        margin:0 18px 0 0
    }

}

/* =========================================================
   FOOTER CONTACT BUTTON
   Keep the CTA text dark on the copper background.
   ========================================================= */

.footer-cta .btn.btn-primary {
    color: #170b06 !important;
}

.footer-cta .btn.btn-primary:hover,
.footer-cta .btn.btn-primary:focus {
    color: #170b06 !important;
}

