/* Forever Now. Values extracted from the original site (computed styles, 2026-10-12). */

@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/newsreader-400.683081b3f37c.woff2") format("woff2"); }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/pt-serif-400.b5ee4797dce0.woff2") format("woff2"); }
@font-face { font-family: "PT Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/pt-serif-400-italic.efb1fa03a1f9.woff2") format("woff2"); }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/pt-serif-700.663a4f52746c.woff2") format("woff2"); }

:root {
  --fn-green: #52796f;
  --fn-cream: #f4f1de;
  --fn-navy: #264653;
  --fn-gold: #e9c46a;
  --fn-white: #fff;
  --fn-black: #000;
  --sqs-site-max-width: 1400px;
  --sqs-site-gutter: 4vw;
  --sqs-mobile-site-gutter: 6vw;
  --fn-body-font: "PT Serif", Georgia, "Times New Roman", serif;
  --fn-head-font: "Newsreader", Georgia, "Times New Roman", serif;

  /* header height: padding x2 + tallest element */
  --fn-header-h: calc(12vw + 37px);
}
@media (min-width: 768px) { :root { --fn-header-h: calc(12vw + 50px); } }
@media (min-width: 800px) { :root { --fn-header-h: calc(5.2vw + 50px); } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fn-cream);
  color: var(--fn-navy);
  font: 400 16px/1.5 var(--fn-body-font);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
.fn-visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- header ---------- */
.fn-header { position: absolute; top: 0; left: 0; right: 0; z-index: 100; color: var(--fn-cream); background: var(--fn-green); }
.fn-menu-open .fn-header { background: transparent; }
.fn-skip { position: absolute; left: -16000px; top: 24px; background: transparent; color: #fff; padding: 12px 24px; }
.fn-skip:focus { left: 24px; background: var(--fn-navy); }
.fn-header__inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 6vw var(--sqs-mobile-site-gutter); max-width: calc(var(--sqs-site-max-width) + 2 * var(--sqs-mobile-site-gutter)); margin: 0 auto; }
.fn-header__logo { display: block; line-height: 0; }
.fn-header__logo img { display: block; height: 30px; width: auto; max-height: 50px; }
.fn-nav { display: none; }
.fn-burger { display: block; background: none; border: 0; padding: 1px 6px; margin: 0; cursor: pointer; color: var(--fn-cream); height: 37px; }
.fn-burger__box { position: relative; display: block; width: 35px; height: 35px; }
.fn-burger__bar { position: absolute; left: 0; width: 100%; height: 1px; background: currentColor; transition: transform .3s ease, opacity .3s ease, top .3s ease; }
.fn-burger__bar--top { top: 11.5px; }
.fn-burger__bar--bottom { top: 22.5px; }
.fn-menu-open .fn-burger__bar--top { top: 17px; transform: rotate(45deg); }
.fn-menu-open .fn-burger__bar--bottom { top: 17px; transform: rotate(-45deg); }

.fn-menu { position: fixed; inset: 0; z-index: 1; background: var(--fn-cream); visibility: hidden; opacity: 0; transition: opacity .3s ease, visibility .3s; display: flex; flex-direction: column; justify-content: center; text-align: center; padding-top: var(--fn-header-h); }
.fn-menu-open .fn-menu { visibility: visible; opacity: 1; }
.fn-menu-open .fn-header { position: fixed; }
.fn-menu a { display: block; color: var(--fn-navy); text-decoration: none; font-family: var(--fn-body-font); font-size: 31.875px; line-height: 31.875px; padding: 11.25px 15px; }
.fn-menu a { font-size: 8.5vw; line-height: 8.5vw; padding: 1.5vw 15px; }

@media (min-width: 768px) {
  .fn-header__inner { padding: 6vw var(--sqs-site-gutter); max-width: calc(var(--sqs-site-max-width) + 2 * var(--sqs-site-gutter)); }
  .fn-header__logo img { height: 50px; }
  .fn-menu a { font-size: 6vw; line-height: 6vw; padding: 1.5vw 4vw; }
}
@media (min-width: 800px) {
  .fn-header__inner { padding-top: 2.6vw; padding-bottom: 2.6vw; }
  .fn-burger, .fn-menu { display: none; }
  .fn-nav { display: inline-flex; }
  .fn-nav a { display: inline-block; color: var(--fn-cream); text-decoration: none; font-size: 16px; line-height: 24px; padding: 1.6px 0; margin-left: 40px; background-repeat: repeat-x; background-size: 1px 1px; background-position: 0 calc(100% - 1.6px); }
  .fn-nav a:first-child { margin-left: 0; }
  .fn-nav a[aria-current="page"] { background-image: linear-gradient(var(--fn-cream), var(--fn-cream)); }
  .fn-nav a:hover { background-image: linear-gradient(var(--fn-cream), var(--fn-cream)); }
}

/* ---------- sections ---------- */
.fn-page { position: relative; }
.fn-section { position: relative; display: flex; flex-direction: column; min-height: 33vh; z-index: var(--fn-z, 1); color: var(--fn-navy); }
.fn-section--medium { min-height: 66vh; }
.fn-section--custom { min-height: 10vh; }
.fn-page > .fn-section:first-of-type { padding-top: var(--fn-header-h); }
.fn-section--divider { padding-bottom: var(--fn-div-h, 12vw); }

.fn-section__border { position: absolute; top: -1px; right: 0; bottom: 0; left: 0; }
.fn-section--after-divider .fn-section__border { top: calc(-1 * var(--fn-prev-div-h, 12vw) - 1px); }
.fn-section__bg { position: absolute; inset: 0; background: var(--fn-cream); }
.fn-theme-dark .fn-section__bg { background: var(--fn-green); }
.fn-theme-black .fn-section__bg { background: var(--fn-navy); }
.fn-theme-light .fn-section__bg, .fn-theme-default .fn-section__bg { background: var(--fn-cream); }

/* section dividers: bottom-edge cut-outs (flipX variants as extracted) */
.fn-divider--slanted .fn-section__border { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--fn-div-h))); }
.fn-divider--jagged .fn-section__border { clip-path: polygon(0 0, 100% 0, 100% 100%, 75% calc(100% - var(--fn-div-h)), 0 100%); }
.fn-divider--pointed .fn-section__border { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--fn-div-h)), 50% 100%, 0 calc(100% - var(--fn-div-h))); }
.fn-divider--noflip .fn-section__border { transform: scaleX(-1); }

.fn-section__content { position: relative; flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; padding: max(3.3vh, 3.3vw) 0; }
.fn-section__content > .fn-grid { width: 100%; }
.fn-section--medium .fn-section__content { padding: max(6.6vh, 6.6vw) 0; }
.fn-section--custom .fn-section__content { padding: max(1vh, 1vw) 0; }

/* theme text colours */
.fn-theme-dark, .fn-theme-black { color: var(--fn-white); }
.fn-theme-dark a, .fn-theme-black a { color: var(--fn-gold); }
.fn-theme-light { color: var(--fn-navy); }
.fn-theme-default a, .fn-theme-default h3, .fn-theme-default h4 { color: var(--fn-black); }

/* ---------- fluid grid ---------- */
.fn-grid {
  --gap: 0px;
  --grid-gutter: calc(var(--sqs-mobile-site-gutter) - var(--gap));
  --cell-max-width: calc((var(--sqs-site-max-width) - var(--gap) * 7) / 8);
  display: grid; position: relative;
  grid-template-rows: repeat(var(--rows-m), minmax(24px, auto));
  grid-template-columns: minmax(var(--grid-gutter), 1fr) repeat(8, minmax(0, var(--cell-max-width))) minmax(var(--grid-gutter), 1fr);
  row-gap: var(--gap); column-gap: var(--gap);
  overflow-x: hidden; overflow-x: clip;
}
@media (min-width: 768px) {
  .fn-grid {
    --grid-gutter: calc(var(--sqs-site-gutter) - var(--gap));
    --cell-max-width: calc((var(--sqs-site-max-width) - var(--gap) * 23) / 24);
    --container-width: min(var(--sqs-site-max-width), calc(100vw - var(--sqs-site-gutter) * 2));
    grid-template-rows: repeat(var(--rows-d), minmax(calc(var(--container-width) * var(--row-scale, 0.0215)), auto));
    grid-template-columns: minmax(var(--grid-gutter), 1fr) repeat(24, minmax(0, var(--cell-max-width))) minmax(var(--grid-gutter), 1fr);
  }
}
.fn-item { grid-area: var(--area-m); z-index: var(--z-m, 1); display: flex; flex-direction: column; justify-content: var(--just, center); min-width: 0; min-height: 0; }
.fn-item__inner { display: flex; flex-direction: column; align-items: var(--align, center); width: 100%; min-width: 0; }
@media (min-width: 768px) { .fn-item { grid-area: var(--area-d); z-index: var(--z-d, 1); } }

/* ---------- rich text ---------- */
.fn-rte { width: 100%; white-space: pre-wrap; }
.fn-rte p { margin: 1em 0; }
.fn-rte > :first-child { margin-top: 0; }
.fn-rte > :last-child { margin-bottom: 0; }
.fn-rte h1, .fn-rte h2, .fn-rte h3, .fn-rte h4 { font-family: var(--fn-head-font); font-weight: 400; letter-spacing: -0.02em; white-space: pre-wrap; }
.fn-rte h1 { font-size: calc(16px + 0.036 * min(max(100vw, 100vh), 900px)); line-height: 1.056; margin: 0 0 32px; }
.fn-rte h2 { font-size: calc(16px + 0.0216 * min(max(100vw, 100vh), 900px)); line-height: 1.1136; margin: 0 0 32px; }
.fn-rte h3 { font-size: calc(16px + 0.0144 * min(max(100vw, 100vh), 900px)); line-height: 1.1424; margin: 0 0 32px; }
.fn-rte h4 { font-size: calc(16px + 0.0072 * min(max(100vw, 100vh), 900px)); line-height: 1.1712; margin: 32px 0; }
.fn-rte--quote p:not(:last-child) { font-size: calc(16px + 0.0048 * min(max(100vw, 100vh), 900px)); line-height: 1.5; margin: 0 0 16px; }
.fn-rte p:empty, .fn-rte h1:empty, .fn-rte h2:empty, .fn-rte h3:empty, .fn-rte h4:empty { min-height: 1lh; }
.fn-rte h4:first-child { margin-top: 0; }
.fn-rte h1, .fn-rte h2 { color: inherit; }
.fn-theme-light .fn-rte h1, .fn-theme-light .fn-rte h2, .fn-theme-light .fn-rte h3, .fn-theme-light .fn-rte h4 { color: var(--fn-navy); }
.fn-theme-default .fn-rte h1, .fn-theme-default .fn-rte h2 { color: var(--fn-navy); }
@media (min-width: 768px) {
  .fn-rte h1 { font-size: calc(16px + 0.036 * min(100vw, 1400px)); }
  .fn-rte h2 { font-size: calc(16px + 0.0216 * min(100vw, 1400px)); }
  .fn-rte h3 { font-size: calc(16px + 0.0144 * min(100vw, 1400px)); }
  .fn-rte h4 { font-size: calc(16px + 0.0072 * min(100vw, 1400px)); }
  .fn-rte--quote p:not(:last-child) { font-size: calc(16px + 0.0048 * min(100vw, 1400px)); }
}
.fn-rte ul, .fn-rte ol { margin: 16px 0 0; padding: 0 0 0 40px; }
.fn-rte li { margin: 8px 0; }
.fn-rte li p { margin: 0; }
.fn-rte b, .fn-rte strong { font-weight: 700; }
.fn-rte a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: auto; }
.fn-rte--center { text-align: center; }
.fn-rte--right { text-align: right; }

/* single-line tagline fitted to its container width */
.fn-fit { display: block; width: 100%; white-space: nowrap; overflow: visible; }
.fn-fit__text { display: inline-block; white-space: nowrap; font-size: 22.2px; line-height: 1; }
.fn-fit__text p { margin: 0; white-space: nowrap; line-height: 1; }

/* ---------- images ---------- */
.fn-item--image .fn-item__inner { flex: 1 1 auto; align-items: stretch; }
.fn-image { display: flex; flex: 1 1 auto; width: 100%; min-height: 0; }
.fn-image--left { justify-content: flex-start; }
.fn-image--center { justify-content: center; }
.fn-image--right { justify-content: flex-end; }
.fn-image__container { position: relative; width: var(--cw, 100%); max-width: 100%; overflow: hidden; }
.fn-image__container--circle { align-self: center; width: auto; height: 100%; max-width: 100%; clip-path: circle(50% at 50% 50%); aspect-ratio: 1; }
.fn-image__container img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: var(--fit, cover); object-position: var(--focal, 50% 50%); }
.fn-image__container a { display: block; position: absolute; inset: 0; }
.fn-caption { font-size: 14px; }

/* ---------- button ---------- */
.fn-button-wrap { display: flex; width: 100%; }
.fn-button-wrap--left { justify-content: flex-start; }
.fn-button-wrap--center { justify-content: center; }
.fn-button-wrap--right { justify-content: flex-end; }
.fn-button { display: inline-block; background: var(--fn-gold); color: #000; font-family: var(--fn-body-font); font-size: 16px; line-height: normal; padding: 24px 35.2px; border-radius: 10px; border: 0; text-decoration: none; cursor: pointer; transition: opacity .1s linear; }
.fn-theme-dark .fn-button, .fn-theme-black .fn-button { color: #000; }
.fn-button:hover { opacity: .9; }

/* ---------- footer ---------- */
.fn-footer { position: relative; z-index: 1; }

/* ---------- 404 ---------- */
.fn-404 { min-height: 100vh; display: flex; flex-direction: column; }
.fn-404 .fn-page { flex: 1 0 auto; }
.fn-notfound { padding: calc(var(--fn-header-h) + 16px + 10.4vw) 4vw 0; color: var(--fn-navy); }
@media (min-width: 768px) { .fn-notfound { padding: calc(var(--fn-header-h) + 16px + 4vw) var(--sqs-site-gutter) 0; } }
.fn-notfound a { color: var(--fn-black); }
.fn-notfound .fn-rte ul { margin: 16px 0; }
.fn-notfound .fn-rte li { margin: 0; }
