/* Shared typography and content-page styles. Feather animation lives in feather.css. */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Noto+Sans+Khmer:wght@100..900&display=swap');

* { box-sizing: border-box; }

html,
body {
    width: 100%;
    margin: 0;
}

body {
    min-height: 100%;
    font-family: "EB Garamond", Georgia, serif;
    opacity: 0.98;
}

a {
    all: unset;
    cursor: pointer;
}

/* Asterisk between menu items. */
header a+a:before {
    content: "*";
    font-size: 1.8em;
    line-height: 0;
    vertical-align: -0.3em;
    margin-right: 0.18em;
    /* The source newline supplies the remaining visual space. */
    margin-left: 0.14em;
}

/* menu-wrap.js can hide a divider when an item starts a new visual row. */
a.first-in-row:before { opacity: 0; }

header {
    margin: 1em 2em;
    flex-wrap: wrap;
    justify-content: center;
    color: #f5f3ef;
    text-align: center;
    text-wrap: balance;
}

header a { display: inline-block; }

/* Optional alternate cursor theme for content pages. */
body.tentacles { cursor: url("cursor.png"), default; }
body.tentacles a { cursor: url("cursor_grab.png"), pointer; }

/* CONTENT PAGES
   Tune --content-width and --content-padding to change the shared reading area. */
.content-page {
    --content-width: 52rem;
    --content-padding: clamp(1.25rem, 4vw, 3rem);
    min-height: 100vh;
    height: auto;
    overflow: visible;
    cursor: default;
    color: #f5f3ef;
    background: #0d0d0d;
}

.content-page .site-menu {
    margin: 0;
    padding: 1em var(--content-padding);
    background: #0d0d0d;
    box-shadow: 0 0.5em 12vh 5vh #0d0d0d;
}

.content-page .content {
    width: min(100% - (2 * var(--content-padding)), var(--content-width));
    margin: clamp(3rem, 9vh, 7rem) auto;
    line-height: 1.55;
}

.content-page .content a {
    color: #c9c2ff;
    text-decoration: underline;
}

.content-page .content img {
    max-width: 100%;
    height: auto;
}

.registry-portrait {
    display: block;
    width: 5em;
    margin: auto;
}

.introduction-art { text-align: center; }
.introduction-art img { max-height: 50vh; }

.split-heading {
    display: flex;
    justify-content: space-between;
    font-size: 2rem;
}
