:root {
    --ink: #080806;
    --panel: #0d0d0a;
    --panel2: #12120e;
    --line: rgba(255,255,255,.12);
    --paper: #f1eee5;
    --muted: #aaa59a;
    --gold: #d9ad50;
    --g: clamp(18px,5vw,76px);
    --display: "Archivo",system-ui,sans-serif;
    --body: "Instrument Sans",system-ui,sans-serif;
    --mono: "IBM Plex Mono",monospace
}

* {
    box-sizing: border-box
}

html {
    background: var(--ink);
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: radial-gradient(circle at 78% 10%,rgba(217,173,80,.08),transparent 31%),var(--ink);
    color: var(--paper);
    font-family: var(--body)
}

a {
    color: inherit;
    text-decoration: none
}

.wrap {
    width: min(1220px,100%);
    margin: auto;
    padding-inline: var(--g)
}

.announcement {
    height: 32px;
    background: #d4a84a;
    color: #161209;
    display: grid;
    place-items: center;
    font: 600 9px/1 var(--mono);
    letter-spacing: .16em;
    text-transform: uppercase
}

.header {
    position: sticky;
    top: 0;
    z-index: 20;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 var(--g);
    border-bottom: 1px solid var(--line);
    background: rgba(8,8,6,.88);
    backdrop-filter: blur(18px)
}

.brand-logo {
    display: block;
    width: auto;
    object-fit: contain;
    background: #f6f4ef;
    border-radius: 12px;
    padding: 5px 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.25)
}

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

    .nav a {
        font: 600 9px/1 var(--mono);
        letter-spacing: .12em;
        text-transform: uppercase;
        color: #aaa69d
    }

        .nav a:hover {
            color: var(--gold)
        }

.hero {
    padding: clamp(74px,10vw,132px) 0 46px;
    border-bottom: 1px solid var(--line)
}

.eyebrow {
    font: 600 10px/1.3 var(--mono);
    letter-spacing: .17em;
    text-transform: uppercase;
    color: var(--gold)
}

h1 {
    margin: 16px 0 22px;
    font: 780 clamp(52px,8vw,108px)/.88 var(--display);
    letter-spacing: -.05em;
    text-transform: uppercase;
    max-width: 10ch
}

.lead {
    max-width: 780px;
    color: #c8c3b8;
    font-size: clamp(17px,2vw,21px);
    line-height: 1.72
}

.content {
    display: grid;
    grid-template-columns: 240px minmax(0,820px);
    gap: clamp(34px,6vw,86px);
    padding: 60px 0 110px
}

.toc {
    position: sticky;
    top: 130px;
    align-self: start;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(15,15,12,.72);
    padding: 18px
}

    .toc b {
        display: block;
        margin-bottom: 12px;
        font: 600 9px/1 var(--mono);
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #777268
    }

    .toc a {
        display: block;
        padding: 9px 0;
        border-top: 1px solid rgba(255,255,255,.07);
        font-size: 12px;
        color: #aaa69d
    }

.article {
    min-width: 0
}

    .article h2 {
        margin: 50px 0 16px;
        font: 720 clamp(28px,4vw,44px)/1 var(--display);
        text-transform: uppercase;
        letter-spacing: -.025em
    }

        .article h2:first-child {
            margin-top: 0
        }

    .article h3 {
        margin: 32px 0 12px;
        font: 700 21px/1.15 var(--display);
        text-transform: uppercase
    }

    .article p, .article li {
        color: #c0bbb1;
        font-size: 16px;
        line-height: 1.8
    }

    .article strong {
        color: var(--paper)
    }

    .article ul {
        padding-left: 20px
    }

    .article li {
        margin: 8px 0
    }

.rule {
    height: 1px;
    background: var(--line);
    margin: 34px 0
}

.callout {
    margin: 28px 0;
    border: 1px solid rgba(217,173,80,.3);
    background: linear-gradient(135deg,rgba(217,173,80,.1),rgba(255,255,255,.02));
    padding: 24px;
    border-radius: 18px
}

    .callout p {
        margin: 0;
        color: #e2dccd
    }

.contact-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
    margin-top: 26px
}

.contact-card {
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 24px;
    background: var(--panel)
}

    .contact-card small {
        display: block;
        color: #777268;
        font: 600 9px/1 var(--mono);
        letter-spacing: .14em;
        text-transform: uppercase;
        margin-bottom: 11px
    }

    .contact-card b {
        font-size: 18px
    }

    .contact-card p {
        margin: 8px 0 0;
        font-size: 14px
    }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--gold);
    color: #171208;
    font: 700 10px/1 var(--mono);
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-top: 14px
}

.footer {
    border-top: 1px solid var(--line);
    padding: 38px 0 28px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 28px
}

.footer .brand-logo {
    width: 195px;
    height: 58px;
    margin-bottom: 14px
}

.footer p {
    color: #777268;
    font-size: 12px;
    line-height: 1.6
}

.footer h4 {
    font: 600 9px var(--mono);
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #777268
}

.footer a {
    display: block;
    color: #aaa69d;
    font-size: 12px;
    margin: 8px 0
}

.legal {
    border-top: 1px solid var(--line);
    margin-top: 30px;
    padding-top: 18px;
    color: #5f5b53;
    font: 500 9px/1.6 var(--mono)
}

@media(max-width:860px) {
    .nav {
        display: none
    }

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

    .toc {
        position: static
    }

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

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

@media(max-width:560px) {
    .header {
        height: 68px
    }

    .brand-logo {
        width: 145px;
        height: 42px
    }

    .hero {
        padding-top: 60px
    }

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