/* ==========================================================================
   BASE.CSS — Reset & Typography
   Replaces Blueprint CSS Framework
   ========================================================================== */

/* Custom Properties
   ========================================================================== */

:root {
    /* Colors */
    --figure: #000;
    --ground: #fff;
    --pencil: rgb(80, 80, 80);
    --accent: rgb(231, 66, 0);
    --accent-tint: rgba(231, 66, 0, 0.1);

    /* Spacing */
    --padding-sm: 5px;
    --padding-md: 10px;
    --padding-lg: 20px;
    --padding-xl: 30px;
    --padding-xxl: 40px;
    --padding-xxxl: 50px;

    /* Typography scale */
    --fs-small: 0.875rem;
    --fs-regular: 1rem;
    --fs-large: 1.125rem;

    /* Typography weight */
    --fw-light: 300;
    --fw-normal: normal;
    --fw-bold: 600;

    /* Layout */
    --container-max: 960px;
    --container-pad: 20px;
    --content-max: 520px; /* narrow column for list/text pages */

    /* Breakpoints (reference only — css variables can't be used directly in @media) */
    /* --br-sm: 600px; --br-md: 768px; --br-lg: 1024px; */

    /* Mobile menu bar — used for content clearance calculations */
    --menu-bar-height: 50px;
}

/* Reset
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html, body, div, span,
h1, h2, h3, h4, h5, h6,
p, blockquote, a, abbr, address, em, img,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    line-height: 1.5;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a img {
    border: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Typography
   ========================================================================== */

body {
    font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text",
    "Times New Roman", serif;
    font-size: 1rem;
    color: #222;
    background: #fff;
}

button {
    font-family: Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", serif,
    "Times New Roman", serif;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: var(--fw-normal);
    color: #111;
    line-height: 1.2;
}

h2 {
    font-size: var(--fs-large);
    font-weight: var(--fw-bold);
    margin-top: 1.5em;
    margin-bottom: var(--fs-regular);
}

h3 {
    font-size: var(--fs-regular);
    font-weight: var(--fw-bold);
    color: #666;
}

p {
    font-size: 1rem;
    margin: 0 0 1.5em;
}

a {
    color: rgb(231, 66, 0);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

strong, b {
    font-weight: var(--fw-bold);
}

em, i, dfn {
    font-style: italic;
}

ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

blockquote {
    margin: 1.5em;
    color: #666;
    font-style: italic;
}

abbr {
    border-bottom: 1px dotted #666;
}

address {
    font-style: italic;
}

sup, sub {
    line-height: 0;
}
