/* DBAY Advisors — dbayadvisors.com
   Rebuilt as a static site, October 2026. Reproduces the previous WordPress/Avada design.
   Fonts are self-hosted (SIL Open Font Licence): Open Sans, Cambay, and Carlito
   (metric-compatible with Calibri, which is used first where installed). */

@font-face { font-family: "Open Sans"; font-weight: 300; font-style: normal; font-display: swap; src: url("/assets/fonts/OpenSans-300.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-weight: 300; font-style: italic; font-display: swap; src: url("/assets/fonts/OpenSans-300i.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("/assets/fonts/OpenSans-400.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url("/assets/fonts/OpenSans-700.woff2") format("woff2"); }
@font-face { font-family: "Cambay"; font-weight: 700; font-style: normal; font-display: swap; src: url("/assets/fonts/Cambay-700.woff2") format("woff2"); }
@font-face { font-family: "Carlito"; font-weight: 400; font-style: normal; font-display: swap; src: url("/assets/fonts/Carlito-400.woff2") format("woff2"); }
@font-face { font-family: "Carlito"; font-weight: 400; font-style: italic; font-display: swap; src: url("/assets/fonts/Carlito-400i.woff2") format("woff2"); }
@font-face { font-family: "Carlito"; font-weight: 700; font-style: normal; font-display: swap; src: url("/assets/fonts/Carlito-700.woff2") format("woff2"); }
@font-face { font-family: "Carlito"; font-weight: 700; font-style: italic; font-display: swap; src: url("/assets/fonts/Carlito-700i.woff2") format("woff2"); }

:root {
  --blue: #0088cc;
  --text: #747474;
  --ink: #000;
  --line: #e2e2e2;
  --content: 1100px;
  --font: Calibri, Carlito, Arial, Helvetica, sans-serif;
  --display: "Open Sans", Arial, Helvetica, sans-serif;
  --menu: Cambay, Arial, Helvetica, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--text); font: 400 15px/1.5 var(--font); }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

.skip-link { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 10px 16px; background: var(--blue); color: #fff; }
.skip-link:focus { left: 8px; top: 8px; }

/* ---------- Header ---------- */
.site-header { background: #fff; height: 94px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 50; }
.site-logo { font: 400 30px/1 var(--display); color: var(--blue); display: none; }
.site-logo:hover, .site-logo:focus { text-decoration: none; }
.site-nav { margin-left: auto; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; }
.site-nav a { display: flex; align-items: center; height: 84px; padding: 0 10px; font: 700 14px/14px var(--menu); color: var(--blue); }
.site-nav a:hover, .site-nav a:focus { text-decoration: none; background: var(--blue); color: #fff; }
.site-nav a[aria-current="page"] { background: var(--blue); color: #fff; }
.nav-toggle { display: none; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; background: none; color: var(--blue); cursor: pointer; }
.nav-toggle svg { width: 22px; height: 22px; display: block; margin: auto; }

/* ---------- Main ---------- */
main { padding-top: 20px; }
.container { max-width: var(--content); margin: 0 auto; }
.container--wide { max-width: none; padding: 0 30px; }
.content { padding-bottom: 60px; }

h1, h2, h3, h4, h5, h6 { color: var(--blue); font-family: var(--font); margin: 0 0 20px; }
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong { font-weight: inherit; }
h2 { font-size: 30px; line-height: 36px; font-weight: 300; }
h3 { font-size: 20px; line-height: 30px; font-weight: 400; margin-top: 10px; margin-bottom: 10px; }
h4 { font-size: 18px; line-height: 27px; font-weight: 400; }
p { margin: 0 0 20px; }
strong { font-weight: 700; }
ul, ol { margin: 0 0 20px; padding-left: 20px; }
li { margin-bottom: 4px; }
hr { border: 0; border-top: 1px solid var(--line); margin: 20px 0; }

/* Homepage hero */
.hero-title { font: 400 70px/70px var(--display); margin: 0; }
.hero-sub { font: italic 300 36px/54px var(--display); color: var(--blue); margin: 0 0 20px; }
.hero-image { margin-bottom: 40px; }

/* Black title banner (Privacy Policy, Unauthorised Access) */
.banner { background: #000; margin-bottom: 20px; }
.banner .container { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 25px 0; }
.banner h1 { margin: 0; color: #fff; font-size: 30px; line-height: 36px; font-weight: 300; }
.banner .banner-tag { margin: 0; color: var(--blue); font-size: 30px; line-height: 36px; font-weight: 300; }
.banner-image { margin-bottom: 40px; }

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--line); padding: 30px 30px 40px; text-align: center; color: var(--ink); font: 400 15px/1.5 var(--font); }
.site-footer p { margin: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 800px) {
  .site-header { height: 74px; padding: 0 20px; }
  .site-logo { display: block; }
  .nav-toggle { display: block; }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; margin: 0; background: #fff; box-shadow: 0 8px 16px rgba(0,0,0,.08); display: none; }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; }
  .site-nav a { height: auto; padding: 16px 20px; border-top: 1px solid var(--line); }
  .container { padding: 0 20px; }
  .container--wide { padding: 0 20px; }
  .hero-title { font-size: 44px; line-height: 50px; }
  .hero-sub { font-size: 26px; line-height: 36px; }
  .banner .container { flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px; }
  .banner h1, .banner .banner-tag { font-size: 26px; line-height: 32px; }
}

@media print {
  .site-header, .nav-toggle, .skip-link { display: none; }
}
