/* Base typography mirrors the Dorik global settings */
:root { --max: 1140px; --col: 71.4285%; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
main { max-width: var(--max); margin: 0 auto; padding: 40px 20px 56px; }

h1,h2,h3,h4,h5,h6 { line-height: 1.5; margin: 1.2em 0 0.5em; font-weight: 700; }
h1 { font-size: 48px; }
h2 { font-size: 36px; }
h3 { font-size: 30px; }
h4 { font-size: 24px; }
h5 { font-size: 20px; }
h6 { font-size: 16px; }
main > :first-child { margin-top: 0; }

p { margin: 0 0 1rem; }
.text { font-size: 15px; }            /* legal body copy default */
.text p:last-child { margin-bottom: 0; }
a { color: #1e96c8; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Home: text content sits in a centered 5/7 column, the logo spans wider */
body.home main > h1, body.home main > h2, body.home main > h3,
body.home main > .text, body.home main > .social {
  max-width: var(--col); margin-left: auto; margin-right: auto;
}
.logo { text-align: center; margin: 24px 0; }
.logo img { display: inline-block; height: auto; }

/* Social icons */
.social { list-style: none; display: flex; justify-content: center; gap: 24px; padding: 0; }
.social a { display: inline-flex; transition: transform .15s ease; }
.social a:hover { transform: translateY(-3px); }

@media (max-width: 767px) {
  main { padding: 28px 16px 44px; }
  body.home main > h1, body.home main > h2, body.home main > h3,
  body.home main > .text, body.home main > .social { max-width: 100%; }
}
