:root {
    --ink: #141414;
    --muted: #74706a;
    --paper: #f4f1eb;
    --card: rgba(255, 255, 255, .94);
    --gold: #b79a61;
    --line: rgba(20, 20, 20, .10);
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 18% 18%, rgba(183,154,97,.10), transparent 24%),
        radial-gradient(circle at 82% 82%, rgba(0,0,0,.055), transparent 26%),
        var(--paper);
}

.construction-page {
    min-height: 100vh;
    min-height: 100svh;
    position: relative;
    isolation: isolate;
}

.construction-page::before {
    content: '';
    position: fixed;
    inset: 22px;
    border: 1px solid rgba(20,20,20,.07);
    pointer-events: none;
    z-index: -1;
}

.premium-card {
    background: var(--card);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 28px;
    padding: clamp(2rem, 5vw, 4.75rem);
    box-shadow:
        0 30px 80px rgba(21, 19, 15, .10),
        0 6px 18px rgba(21, 19, 15, .04);
    backdrop-filter: blur(10px);
}

.top-line {
    position: absolute;
    top: 0;
    left: 14%;
    right: 14%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.status-badge {
    padding: .52rem .85rem;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #5f5a53;
    background: rgba(255,255,255,.65);
}

.status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 5px rgba(183,154,97,.12);
}

.logo-wrap {
    width: min(340px, 78vw);
}

.brand-logo {
    width: 100%;
    height: auto;
    display: block;
    filter: contrast(1.03);
}

.eyebrow {
    font-size: .72rem;
    letter-spacing: .28em;
    font-weight: 600;
    color: var(--gold);
}

.display-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 5vw, 3.45rem);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.lead-copy {
    max-width: 580px;
    font-size: clamp(1rem, 2vw, 1.12rem);
    line-height: 1.8;
    color: var(--muted);
    font-weight: 300;
}

.divider {
    width: 74px;
    height: 1px;
    background: var(--gold);
    opacity: .75;
}

.btn-premium,
.btn-outline-premium {
    min-width: 145px;
    padding: .82rem 1.25rem;
    border-radius: 999px;
    font-weight: 500;
    font-size: .9rem;
    transition: .25s ease;
}

.btn-premium {
    color: #fff;
    background: var(--ink);
    border: 1px solid var(--ink);
}

.btn-premium:hover {
    color: #fff;
    background: #2b2b2b;
    border-color: #2b2b2b;
    transform: translateY(-1px);
}

.btn-outline-premium {
    color: var(--ink);
    background: transparent;
    border: 1px solid rgba(20,20,20,.23);
}

.btn-outline-premium:hover {
    color: #fff;
    background: var(--gold);
    border-color: var(--gold);
    transform: translateY(-1px);
}

.small-note {
    color: var(--muted);
    font-size: .93rem;
}

.footer-note {
    color: #9b958d;
    font-size: .75rem;
    letter-spacing: .04em;
}

@media (max-width: 575.98px) {
    .construction-page::before { inset: 10px; }
    .premium-card { border-radius: 22px; }
    .logo-wrap { width: min(290px, 84vw); }
}
