
@font-face { font-family:"GV Alex Brush";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/gv-alex-brush.ttf") format("truetype"); }
@font-face { font-family:"GV Karla";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/gv-karla-semibold.ttf") format("truetype"); }
@font-face { font-family:"GV Karla";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/gv-karla-bold.ttf") format("truetype"); }
/* Shared website colours */
:root {
  color-scheme: light;
  --gv-bg: #FFFCF5;
  --gv-alt: #EBF7F5;
  --gv-surface: #FFFFFF;
  --gv-ink: #173B40;
  --gv-soft: #405D62;
  --gv-brand: #00675F;
  --gv-hover: #004F49;
  --gv-on-brand: #FFFFFF;
  --gv-gold: #855413;
  --gv-line: #C6DCD9;
  --gv-field: #71938F;
  --gv-hero: #D9F1ED;
  --gv-hero-end: #F8EFD8;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"], .mood-page) {
    color-scheme: dark;
    --gv-bg: #142527;
    --gv-alt: #1A3032;
    --gv-surface: #203739;
    --gv-ink: #EEF8F7;
    --gv-soft: #BDD7D5;
    --gv-brand: #79E5D4;
    --gv-hover: #ACF1E6;
    --gv-on-brand: #103432;
    --gv-gold: #FFD28B;
    --gv-line: #3E5B5C;
    --gv-field: #769895;
    --gv-hero: #1B4141;
    --gv-hero-end: #32362D;
  }
}
:root {
  --mood-paper: #FFFCF5;
  --mood-aqua: #E1F8F4;
  --mood-aqua-line: #B4DFD7;
  --mood-ink: #203942;
  --mood-muted: #425A64;
  --mood-violet: #573991;
  --mood-violet-hover: #482E7A;
  --mood-lilac: #F1EAFF;
  --mood-lilac-line: #D7C9EB;
  --mood-sunshine: #FFDC7D;
  --mood-sunshine-light: #FFF2C9;
  --mood-sunshine-line: #C09B47;
}
.gv-site-header { background:var(--gv-bg)!important;border-bottom:1px solid var(--gv-line)!important;position:relative;z-index:20;margin-bottom:4px; }
.gv-site-header .wrap { width:100%;max-width:1080px;margin:0 auto;padding-left:clamp(18px,5vw,40px);padding-right:clamp(18px,5vw,40px); }
.gv-site-header .header-top { display:flex;justify-content:center;align-items:center;padding-top:24px;padding-bottom:8px; }
.gv-site-header .brand { display:flex;flex-direction:column;align-items:center;gap:0;max-width:70%;text-decoration:none;line-height:1; }
.gv-site-header .brand-name { font-family:"GV Alex Brush","Alex Brush","Segoe Script",cursive;font-weight:400;font-size:clamp(1.7rem,5.5vw,2.3rem);color:var(--gv-brand);line-height:1; }
.gv-site-header .brand-sub { font-family:"GV Karla","Karla",sans-serif;font-weight:700;font-size:.6rem;letter-spacing:2px;color:var(--gv-gold);text-transform:uppercase;margin-top:4px; }
.gv-site-header .nav-row { display:flex;justify-content:center;padding-top:6px;padding-bottom:20px; }
.gv-site-header nav.desktop-nav { display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px clamp(10px,3vw,28px);margin:0 auto;padding:0 12px;max-width:100%;font-family:"GV Karla","Karla",sans-serif;line-height:1.7; }
.gv-site-header nav.desktop-nav a { text-decoration:none;color:var(--gv-soft);font-weight:600;font-size:clamp(.78rem,2.2vw,.95rem);padding:4px 2px;border-bottom:2px solid transparent;white-space:nowrap; }
.gv-site-header nav.desktop-nav a:hover { color:var(--gv-ink); }
.gv-site-header nav.desktop-nav .navlink.active { color:var(--gv-brand);border-color:var(--gv-gold); }
.gv-site-header nav.desktop-nav a.gv-app-badge { display:inline-flex;align-items:center;gap:8px;background:var(--mood-sunshine-light);color:var(--mood-violet);padding:7px 15px;border:1px solid var(--mood-sunshine-line);border-radius:99px;font-weight:700;box-shadow:0 2px 7px #173b4014; }
.gv-site-header nav.desktop-nav a.gv-app-badge:hover,.gv-site-header nav.desktop-nav a.gv-app-badge.active { background:var(--mood-sunshine);border-color:var(--mood-sunshine-line);color:var(--mood-violet-hover); }
.gv-site-header .gv-app-badge svg { flex-shrink:0;display:block; }
.gv-site-header .badge-arrow { font-size:.85rem; }
.gv-site-header a:focus-visible { outline:3px solid var(--gv-gold);outline-offset:4px; }
@media(max-width:600px) { .gv-site-header nav.desktop-nav { display:grid;grid-template-columns:repeat(2,1fr);justify-items:center;row-gap:14px;column-gap:10px;width:100%;max-width:320px; }.gv-site-header nav.desktop-nav a { white-space:normal;text-align:center;font-size:.85rem;line-height:1.25; }.gv-site-header nav.desktop-nav a.gv-app-badge { grid-column:1 / -1; } }
