/*
*   Base — reset, body defaults, shared typography
*/

/* ── Reset ── */
*, *:before, *:after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote,
a, abbr, em, img, ins, small, strong, sub, sup,
b, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figure, figcaption,
footer, header, menu, nav, section, summary, time, mark,
audio, video {
    margin: 0; padding: 0; border: 0;
    font-size: 100%; font: inherit;
    vertical-align: baseline; text-decoration: none;
}

article, aside, details, figcaption, figure,
footer, header, menu, nav, section { display: block; }

ol, ul { list-style: none; }
table  { border-collapse: collapse; border-spacing: 0; }

a, a:hover, a:active, a:visited, a:focus { text-decoration: none; }

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

a:focus { outline: 0; }

iframe { width: 100%; display: block; }

::selection { background: #2e3138; color: #fff; }


/* ── Body ── */
body {
    background: #f0f0f0;
    font-family: 'open_sansregular', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #8a909b;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
    color: #2e3138;
    font-weight: normal;
    text-transform: uppercase;
}

em    { font-style: italic; }
strong { color: #2e3138; font-family: 'open_sansbold', Arial, sans-serif; }
small  { font-size: 80%; }
p      { line-height: 1.7; }

/* ── Transitions on interactive elements ── */
a { transition: color .2s, background .2s, border-color .2s; }
