/* Shared styles for the legal pages (privacy / terms / accessibility) — matches the main site */
:root {
    --oat: #f3ebe0;
    --linen: #fbf7f1;
    --clay: #b8835f;
    --blush: #d8b79a;
    --sage: #a07c5a;
    --mauve: #856849;
    --gold: #c9a86a;
    --cocoa: #463730;
    --cocoa-soft: #6b594f;
    --line: #e2d5c6;
    --pad: clamp(20px, 5vw, 48px);
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Assistant", system-ui, sans-serif;
    font-weight: 400;
    color: var(--cocoa);
    background: var(--oat);
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
}

.wrap {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 var(--pad);
}

/* top bar */
.legal-nav {
    background: var(--linen);
    border-bottom: 1px solid var(--line);
}

.legal-nav .wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.legal-nav .brand {
    font-weight: 600;
    color: var(--cocoa);
    font-size: 1.1rem;
    text-decoration: none;
}

.legal-nav .back {
    color: var(--clay);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 7px 16px;
    transition:
        background 0.3s,
        color 0.3s;
}

.legal-nav .back:hover {
    background: var(--clay);
    color: #fff;
}

/* content */
main {
    padding: clamp(36px, 7vw, 72px) 0 clamp(60px, 10vw, 110px);
}

.doc-head {
    margin-bottom: 2.4em;
}

.doc-head h1 {
    font-weight: 300;
    font-size: clamp(1.9rem, 5vw, 2.8rem);
    line-height: 1.2;
    margin-bottom: 0.35em;
}

.doc-head .updated {
    color: var(--cocoa-soft);
    font-size: 0.95rem;
}

.doc-head .intro {
    color: var(--cocoa-soft);
    margin-top: 1em;
}

h2 {
    font-weight: 600;
    font-size: clamp(1.25rem, 3.4vw, 1.5rem);
    color: var(--cocoa);
    margin: 1.9em 0 0.5em;
    padding-top: 0.4em;
    border-top: 1px solid var(--line);
}

h2:first-of-type {
    border-top: none;
    padding-top: 0;
}

h3 {
    font-weight: 600;
    font-size: 1.08rem;
    margin: 1.3em 0 0.3em;
}

p {
    margin: 0.75em 0;
    color: var(--cocoa-soft);
}

strong {
    color: var(--cocoa);
    font-weight: 600;
}

a {
    color: var(--clay);
}

ul,
ol {
    margin: 0.75em 0;
    padding-inline-start: 1.3em;
    color: var(--cocoa-soft);
}

li {
    margin: 0.4em 0;
}

.callout {
    background: var(--linen);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px 20px;
    margin: 1.6em 0;
    color: var(--cocoa-soft);
    font-size: 0.98rem;
}

.callout strong {
    color: var(--cocoa);
}

.contact-box {
    background: linear-gradient(165deg, #ecdfce, #f2e9dc);
    border-radius: 16px;
    padding: 22px 24px;
    margin: 1.6em 0;
}

.contact-box h3 {
    margin-top: 0;
}

.contact-box a {
    font-weight: 600;
    direction: ltr;
    display: inline-block;
}

/* footer */
.legal-foot {
    border-top: 1px solid var(--line);
    background: var(--linen);
    padding: 26px 0;
    text-align: center;
}

.legal-foot .links {
    display: flex;
    gap: 22px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.legal-foot a {
    color: var(--cocoa-soft);
    text-decoration: none;
    font-size: 0.95rem;
}

.legal-foot a:hover {
    color: var(--clay);
}

.legal-foot small {
    color: var(--cocoa-soft);
    opacity: 0.8;
}

/* the [[ ... ]] placeholders you still need to fill */
.ph {
    background: #fff4d6;
    border-bottom: 1px dashed #c9a86a;
    padding: 0 3px;
    border-radius: 3px;
    color: #8a6d1e;
    font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
    * {
        transition: none !important;
    }
}

/* skip-to-content link (visible only on keyboard focus) */
.skip-link {
    position: absolute;
    right: 12px;
    top: -60px;
    z-index: 1000;
    background: var(--cocoa);
    color: var(--oat);
    padding: 10px 18px;
    border-radius: 0 0 12px 12px;
    font-weight: 600;
    text-decoration: none;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
}
