/* Longevity Health Clinic brand tokens — single source of truth.
   Values come from Docs/DESIGN_SPEC.md; change them here, never inline. */
:root {
    --color-cream: #D6C8BC;
    --color-gold: #BC996A;
    --color-navy: #35495E;
    --color-offwhite: #FBF9F6;
    --color-ink: #2C2620;
    --color-muted: #8A8478;
    --color-error: #B4553C;
    --color-gradient-light: #F4E7CA;
    --gradient-brand: linear-gradient(180deg, #F4E7CA 0%, #D6C8BC 55%, #BC996A 100%);

    --font-serif: "Times New Roman", Times, Georgia, serif;
    --font-sans: "Gill Sans", "Gill Sans MT", Calibri, "Trebuchet MS", sans-serif;

    --radius-card: 16px;
    --radius-pill: 999px;
    --shadow-card: 0 4px 20px rgba(44, 38, 32, 0.08);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
}

body {
    font-family: var(--font-sans);
    background: var(--color-offwhite);
    color: var(--color-ink);
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

h1, h2, h3 {
    font-family: var(--font-serif);
    font-weight: 400;
}

/* Shared buttons */
.btn {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border: none;
    border-radius: var(--radius-pill);
    padding: 16px 40px;
    cursor: pointer;
    width: 100%;
    max-width: 340px;
    transition: opacity 0.2s ease;
}

.btn:hover { opacity: 0.88; transform: translateY(-1px); }
.btn:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid rgba(188, 153, 106, .42); outline-offset: 3px; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

.btn-gold { background: var(--color-gold); color: #fff; }
.btn-navy { background: var(--color-navy); color: #fff; }

.btn-ghost {
    background: transparent;
    color: var(--color-navy);
    border: 1px solid var(--color-navy);
}

/* De-emphasized text-link action (e.g. Skip profile) */
.link-subtle {
    background: none;
    border: none;
    color: var(--color-muted);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    text-decoration: underline;
    cursor: pointer;
    padding: 12px;
    min-height: 44px;
}
