/* Because Science — shared blue & white site styling
   Add this entire file in Squarespace: Design > Custom CSS.
   It is selector-only: existing page HTML, links, images, post content,
   and Squarespace list IDs remain unchanged. */

:root {
  --bs-blue: #0b4f9c;
  --bs-blue-deep: #073b76;
  --bs-blue-pale: #eef6ff;
  --bs-ink: #172b4d;
  --bs-muted: #58708e;
  --bs-line: #d9e7f5;
  --bs-white: #ffffff;
  --bs-shadow: 0 12px 30px rgba(11, 79, 156, .10);
}

html, body { background: var(--bs-white); color: var(--bs-ink); }
body, input, textarea, button { font-family: Cabin, Arial, sans-serif; }
a { color: var(--bs-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, a:focus { color: var(--bs-blue-deep); }

/* Header and navigation */
#header, header, .site-header {
  background: var(--bs-white);
  border-bottom: 1px solid var(--bs-line);
}
.logo.site-title, .site-title { margin-bottom: 4px; }
.logo.site-title a, .site-title a {
  color: var(--bs-blue-deep);
  font-size: clamp(1.75rem, 4vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -.04em;
  text-decoration: none;
}
.site-tagline { color: var(--bs-muted); font-size: .95rem; margin: 0; }
.main-nav { margin-top: 28px; }
.main-nav ul { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; padding: 0; }
.main-nav li { list-style: none; }
.main-nav a {
  color: var(--bs-ink);
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  padding: 10px 0;
  text-decoration: none;
  text-transform: uppercase;
}
.main-nav a:hover, .main-nav .active-link a, .main-nav a.active-link {
  color: var(--bs-blue);
  box-shadow: inset 0 -2px 0 var(--bs-blue);
}

/* Shared content layout: works on the Blog and standard pages */
#page, #content, .collection-type-blog #content, .collection-type-page #content {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.hentry, .page-content, .sqs-layout > .sqs-row {
  border-bottom: 1px solid var(--bs-line);
  padding-bottom: clamp(34px, 6vw, 64px);
  margin-bottom: clamp(34px, 6vw, 64px);
}
.entry-title, .page-title, h1, h2, h3 {
  color: var(--bs-blue-deep);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.15;
}
.entry-title { font-size: clamp(1.65rem, 3.4vw, 2.55rem); margin-bottom: 13px; }
.entry-title a { color: inherit; text-decoration: none; }
.entry-title a:hover { color: var(--bs-blue); }
.entry-content, .sqs-block-content, .page-content { color: var(--bs-ink); font-size: 1.05rem; line-height: 1.78; }
.entry-content p, .sqs-block-content p, .page-content p { margin: 0 0 1.35em; }
.entry-content img, .sqs-block-image img, .image-block-outer-wrapper img {
  border-radius: 8px;
  box-shadow: var(--bs-shadow);
  height: auto;
  max-width: 100%;
}

/* Post details, lists, quote and buttons */
.entry-meta, .entry-header .author, .entry-header .date, .entry-header time {
  color: var(--bs-muted);
  font-size: .88rem;
}
blockquote {
  background: var(--bs-blue-pale);
  border-left: 4px solid var(--bs-blue);
  color: var(--bs-ink);
  margin: 1.8rem 0;
  padding: 18px 22px;
}
.sqs-block-button-element, .button, button, input[type="submit"] {
  background: var(--bs-blue);
  border: 1px solid var(--bs-blue);
  border-radius: 4px;
  box-shadow: none;
  color: var(--bs-white);
  font-weight: 700;
  text-decoration: none;
}
.sqs-block-button-element:hover, .button:hover, button:hover, input[type="submit"]:hover {
  background: var(--bs-blue-deep);
  border-color: var(--bs-blue-deep);
  color: var(--bs-white);
}

/* Footer */
#footer, footer, .site-footer {
  background: var(--bs-blue-deep);
  color: #dcecff;
  margin-top: 48px;
}
#footer a, footer a, .site-footer a { color: var(--bs-white); }

/* Mobile */
@media screen and (max-width: 640px) {
  .main-nav { margin-top: 18px; }
  .main-nav ul { gap: 4px 14px; }
  .main-nav a { font-size: .72rem; }
  .entry-content, .sqs-block-content, .page-content { font-size: 1rem; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* End shared styling */
/* Force refresh after publishing if an old cached version is visible. */

/* HTML edit file: no markup changes are needed.
   Keep all existing anchors, image tags, article content, latest posts,
   and every existing ul id exactly as they are. */

/* Justify article and page content */
#content p,
.entry-content p,
.sqs-block-content p,
.article-content p,
.blog-item-content p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

/* Keep headings, menus, buttons, captions, and metadata un-justified */
h1, h2, h3, h4, h5, h6,
nav,
.button,
.btn,
.entry-header,
.article-meta,
.caption,
figcaption {
  text-align: left;
}
