/*
Theme Name: PWSGO
Description: Design build for PWSGO motorhome and campervan hire. Every page is a design export unpacked into pages/ by inc/import.php. See README.md.
Version: 2.1.0
*/

/*
 * The stylesheet is in two cascade layers.
 *
 * pwsgo-base   every rule that used to sit in a page's own <style> block.
 * pwsgo-inline every rule that used to sit in a style="" attribute.
 *
 * An inline style attribute beat every selector but lost to !important.
 * Declaring the layers in this order reproduces that: for normal
 * declarations the later layer wins, so pwsgo-inline overrides the base
 * rules the way the attributes did; for important declarations the order
 * reverses, so the base layer's own !important rules - the ones written to
 * beat those attributes on a narrow screen - still win.
 *
 * Nothing here needs to be in a layer to work. They are what keeps the
 * cascade the same as it was before the CSS was pulled out of the markup.
 */

@layer pwsgo-base, pwsgo-inline;

@layer pwsgo-base {
/*!
 * PWSGO — site stylesheet.
 *
 * Every rule that used to sit in a <style> block or a style="" attribute
 * lives here. Pages that genuinely disagree about a rule are fenced with
 * :where(.pwsgo-<page>), which adds no specificity, so the cascade is the
 * same as it was when each page carried its own copy.
 *
 * <html> carries: pwsgo-<page>, plus pwsgo-shell on every page with the
 * site header and footer, plus pwsgo-sub on every page but the homepage.
 */

/* training */
:root:where(.pwsgo-training) {
  color-scheme: light;
  --paper: #f4f2ea;
  --surface: #fffdf7;
  --ink: #12213a;
  --body: #3d4654;
  --muted: #767a6e;
  --olive: #5b6f2b;
  --amber: #e2990c;
  --line: #ded9c9;
  --sunk: #ebe7d9;
  --note: #fbf6e0;
  --note-ed: #d8b53f;
  --display: "Bricolage Grotesque", "Trebuchet MS", sans-serif;
  --text: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "Consolas", monospace;
}
@media (prefers-color-scheme: dark) {

  /* training */
  :root:where(.pwsgo-training):not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #14170f;
    --surface: #1c2016;
    --ink: #eeecdd;
    --body: #c6c7b8;
    --muted: #93958a;
    --olive: #a9c069;
    --amber: #f0b53f;
    --line: #333828;
    --sunk: #232719;
    --note: #2b2713;
    --note-ed: #8a7526;
  }
}

/* training */
:root:where(.pwsgo-training)[data-theme="dark"] {
  color-scheme: dark;
  --paper: #14170f;
  --surface: #1c2016;
  --ink: #eeecdd;
  --body: #c6c7b8;
  --muted: #93958a;
  --olive: #a9c069;
  --amber: #f0b53f;
  --line: #333828;
  --sunk: #232719;
  --note: #2b2713;
  --note-ed: #8a7526;
}
:where(.pwsgo-training) body {
  margin: 0;
  background: var(--paper);
  color: var(--body);
  font-family: var(--text);
  font-size: 17px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
:where(.pwsgo-training) h1,
:where(.pwsgo-training) h2,
:where(.pwsgo-training) h3 {
  font-family: var(--display);
  color: var(--ink);
  text-wrap: balance;
  margin: 0;
  letter-spacing: -0.02em;
}
:where(.pwsgo-training) a {
  color: var(--olive);
}
/* ---------------------------------------------------------------- */
:where(.pwsgo-training) .bar {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 20;
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(9px);
  border-bottom: 1px solid var(--line);
}
:where(.pwsgo-training) .bar-in {
  max-width: 1000px;
  margin: 0 auto;
  padding-block: 11px;
  padding-inline: 16px;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
:where(.pwsgo-training) .mark {
  font-family: var(--display);
  font-weight: 700;
  font-size: 19px;
  color: var(--ink);
  letter-spacing: -0.03em;
}
:where(.pwsgo-training) .mark span {
  color: var(--olive);
}
:where(.pwsgo-training) .bar nav {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-left: auto;
}
:where(.pwsgo-training) .bar nav a {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  padding: 5px 10px;
  border-radius: 999px;
}
:where(.pwsgo-training) .bar nav a:hover {
  color: var(--ink);
  background: var(--sunk);
}
/* ---------------------------------------------------------------- */
:where(.pwsgo-training) .wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding-inline: 16px;
  padding-block: 0 84px;
}
:where(.pwsgo-training) .lede {
  padding-block: 52px 8px;
  max-width: 34em;
}
:where(.pwsgo-training) .kicker {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--olive);
  margin: 0 0 16px;
}
:where(.pwsgo-training) h1 {
  font-size: clamp(34px, 5.4vw, 52px);
  line-height: 1.05;
}
:where(.pwsgo-training) .lede p {
  font-size: 18.5px;
  margin: 20px 0 0;
}
:where(.pwsgo-training) .start {
  margin-top: 34px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 22px 24px;
  max-width: 44em;
}
:where(.pwsgo-training) .start h3 {
  font-size: 17px;
  margin-bottom: 8px;
}
:where(.pwsgo-training) .start p {
  margin: 0;
  font-size: 16px;
}
:where(.pwsgo-training) .start code {
  font-family: var(--mono);
  font-size: 14.5px;
  background: var(--sunk);
  padding: 2px 7px;
  border-radius: 5px;
  color: var(--ink);
  overflow-wrap: anywhere;
}
/* ---------------------------------------------------------------- */
:where(.pwsgo-training) .part {
  padding-top: 72px;
  scroll-margin-top: 78px;
}
:where(.pwsgo-training) .part-head {
  display: flex;
  gap: 20px;
  align-items: baseline;
}
:where(.pwsgo-training) .num {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--amber);
  letter-spacing: 0.1em;
  padding-top: 6px;
  flex: none;
}
:where(.pwsgo-training) .part h2 {
  font-size: clamp(26px, 3.6vw, 36px);
  line-height: 1.12;
}
:where(.pwsgo-training) .part-head p {
  margin: 9px 0 0;
  color: var(--muted);
  max-width: 40em;
}
:where(.pwsgo-training) .film {
  margin-top: 26px;
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
  background: #0b1220;
  line-height: 0;
}
:where(.pwsgo-training) .film video {
  width: 100%;
  height: auto;
  display: block;
}
:where(.pwsgo-training) .film-note {
  font-size: 13.5px;
  color: var(--muted);
  margin: 10px 2px 0;
  line-height: 1.5;
}
:where(.pwsgo-training) ol.steps {
  list-style: none;
  margin: 34px 0 0;
  padding: 0;
  display: grid;
  gap: 30px;
  counter-reset: step;
}
:where(.pwsgo-training) ol.steps li {
  counter-increment: step;
}
:where(.pwsgo-training) .step-txt {
  display: flex;
  gap: 14px;
  align-items: baseline;
  margin-bottom: 12px;
}
:where(.pwsgo-training) .step-txt::before {
  content: counter(step);
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--paper);
  background: var(--ink);
  width: 23px;
  height: 23px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: none;
  position: relative;
  top: 3px;
}
:where(.pwsgo-training) .step-txt p {
  margin: 0;
}
:where(.pwsgo-training) ol.steps img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--sunk);
}
/* ---------------------------------------------------------------- */
:where(.pwsgo-training) .remember {
  margin-top: 80px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 30px clamp(20px, 3vw, 34px);
}
:where(.pwsgo-training) .remember h2 {
  font-size: 24px;
}
:where(.pwsgo-training) .remember ul {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 15px;
}
:where(.pwsgo-training) .remember li {
  display: flex;
  gap: 13px;
  align-items: baseline;
}
:where(.pwsgo-training) .remember li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--amber);
  flex: none;
  position: relative;
  top: 8px;
}
:where(.pwsgo-training) .yellow {
  background: var(--note);
  border: 1px solid var(--note-ed);
  border-radius: 7px;
  padding: 2px 8px;
  font-size: 15px;
  color: var(--ink);
}
@media (max-width: 620px) {

  /* training */
  :where(.pwsgo-training) body {
    font-size: 16px;
  }
  :where(.pwsgo-training) .part-head {
    gap: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {

  /* training */
  :where(.pwsgo-training), :where(.pwsgo-training) * {
    scroll-behavior: auto !important;
  }
}

/* training */
/* This page carries the site's own head and foot, so two things that
     belong to the website are turned off here: the client review tool, and
     the admin bar, which would sit over the top of it. */
:where(.pwsgo-training) [class*="pwsgo-rv"],
:where(.pwsgo-training) #wpadminbar {
  display:none!important;
}
html:where(.pwsgo-training) {
  margin-top:0!important;
}

/* send */
:where(.pwsgo-send) .send-wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(28px,4vw,56px) clamp(16px,4vw,40px) clamp(56px,7vw,96px);
}
:where(.pwsgo-send) .send-grid {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,0.85fr);
  gap: clamp(24px,3.4vw,48px);
  align-items: start;
}
:where(.pwsgo-send) .send-card {
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: var(--r);
  padding: clamp(16px,1.8vw,22px);
}
:where(.pwsgo-send) .send-field {
  display: block;
  margin-top: 12px;
}
:where(.pwsgo-send) .send-field > span {
  display: block;
  font-size: 14px;
  color: var(--ink-soft);
  margin-bottom: 6px;
}
:where(.pwsgo-send) .send-field input,
:where(.pwsgo-send) .send-field textarea {
  width: 100%;
  border: 1px solid var(--rule);
  border-radius: 8px;
  background: var(--paper);
  padding: 11px 13px;
  font: 400 15.5px/1.45 'IBM Plex Sans', system-ui, sans-serif;
  color: var(--ink);
}
:where(.pwsgo-send) .send-field textarea {
  min-height: 68px;
  resize: vertical;
}
:where(.pwsgo-send) .send-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
:where(.pwsgo-send) .errmsg {
  color: var(--accent-dark);
  font-size: 14px;
  margin: 6px 0 0;
}
:where(.pwsgo-send) .send-extras {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 22px;
}
:where(.pwsgo-send) .send-extra {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
}
:where(.pwsgo-send) .send-extra {
  border-top: 1px solid var(--rule);
}
:where(.pwsgo-send) .send-extras > .send-extra:nth-child(-n + 2) {
  border-top: 0;
}
:where(.pwsgo-send) .req {
  color: var(--accent-dark);
  font-weight: 600;
}
:where(.pwsgo-send) .send-extra-name {
  font-size: 15px;
  line-height: 1.4;
}
:where(.pwsgo-send) .send-extra-name > span {
  display: block;
  color: var(--ink-soft);
  font-size: 13.5px;
}
:where(.pwsgo-send) .send-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: none;
}
:where(.pwsgo-send) .send-step button {
  width: 28px;
  height: 28px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  color: var(--ink);
}
:where(.pwsgo-send) .send-qty {
  min-width: 14px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
:where(.pwsgo-send) .send-tick {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  cursor: pointer;
}
:where(.pwsgo-send) .send-busy {
  opacity: .55;
  pointer-events: none;
}
@media (max-width: 860px) {

  /* send */
  :where(.pwsgo-send) .send-grid {
    grid-template-columns: 1fr;
  }
  :where(.pwsgo-send) .send-two {
    grid-template-columns: 1fr;
  }
  :where(.pwsgo-send) .send-extras {
    grid-template-columns: 1fr;
  }
  :where(.pwsgo-send) .send-extras > .send-extra:nth-child(2) {
    border-top: 1px solid var(--rule);
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* Modernist — design-system tokens and component classes. This file is the source of truth for the system's look; retune it here and see readme.md. */
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* home */
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 800; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 800; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 800; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root:where(.pwsgo-home) {
  --color-bg: #f3f2f2;
  --color-surface: #eae9e9;
  --color-text: #201e1d;
  --color-accent: #ec3013;
  --color-accent-2: #e15b47;
  --color-divider: color-mix(in srgb, #201e1d 40%, transparent);
  --color-neutral-100: #f8f4f4;
  --color-neutral-200: #eae7e7;
  --color-neutral-300: #d7d3d3;
  --color-neutral-400: #bab6b6;
  --color-neutral-500: #9b9797;
  --color-neutral-600: #7d7979;
  --color-neutral-700: #605d5d;
  --color-neutral-800: #444141;
  --color-neutral-900: #2d2b2b;
  --color-accent-100: #fff2ef;
  --color-accent-200: #ffe0d9;
  --color-accent-300: #ffc4b8;
  --color-accent-400: #ff9783;
  --color-accent-500: #ff563c;
  --color-accent-600: #dd2b0f;
  --color-accent-700: #ae1800;
  --color-accent-800: #7c1405;
  --color-accent-900: #4d170e;
  --color-accent-2-100: #fff2ef;
  --color-accent-2-200: #ffe0da;
  --color-accent-2-300: #ffc4b9;
  --color-accent-2-400: #ff9784;
  --color-accent-2-500: #ef6853;
  --color-accent-2-600: #c94b39;
  --color-accent-2-700: #9e3526;
  --color-accent-2-800: #71261b;
  --color-accent-2-900: #471d16;
  --font-heading: "Archivo", system-ui, sans-serif;
  --font-heading-weight: 800;
  --font-body: "Archivo", system-ui, sans-serif;
  --space-1: 4.0px;
  --space-2: 8.0px;
  --space-3: 12.0px;
  --space-4: 16.0px;
  --space-6: 24.0px;
  --space-8: 32.0px;
  --radius-sm: 0px;
  --radius-md: 0px;
  --radius-lg: 0px;
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
  --shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);
}
:where(.pwsgo-home) body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
}
:where(.pwsgo-home) h1,
:where(.pwsgo-home) h2,
:where(.pwsgo-home) h3,
:where(.pwsgo-home) h4 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
}
:where(.pwsgo-home) .grayscale {
  filter:grayscale(1) contrast(1.08);
}
/* ══════════════════════════════════════════════════════════════════════════
   Components — built with the tokens above. Plain CSS
   on plain HTML: no JavaScript, no build step. Each class is documented in
   readme.md and demonstrated in foundations/ and components/.
   ══════════════════════════════════════════════════════════════════════ */
:where(.pwsgo-home), :where(.pwsgo-home) *,
:where(.pwsgo-home)::before, :where(.pwsgo-home) *::before,
:where(.pwsgo-home)::after, :where(.pwsgo-home) *::after {
  box-sizing: border-box;
}
:where(.pwsgo-home) body {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}
:where(.pwsgo-home) h1,
:where(.pwsgo-home) h2,
:where(.pwsgo-home) h3,
:where(.pwsgo-home) h4,
:where(.pwsgo-home) h5,
:where(.pwsgo-home) h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-2);
}
:where(.pwsgo-home) h1 {
  font-size: 42px;
}
:where(.pwsgo-home) h2 {
  font-size: 32px;
}
:where(.pwsgo-home) h3 {
  font-size: 25px;
}
:where(.pwsgo-home) h4 {
  font-size: 20px;
}
:where(.pwsgo-home) h5 {
  font-size: 16px;
}
:where(.pwsgo-home) h6 {
  font-size: 13px;
}
:where(.pwsgo-home) h6 {
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
:where(.pwsgo-home) p {
  margin: 0 0 var(--space-3);
}
:where(.pwsgo-home) a {
  color: var(--color-accent);
  text-underline-offset: 3px;
}
:where(.pwsgo-home) img {
  display: block;
  max-width: 100%;
}
:where(.pwsgo-home) figure {
  margin: 0;
}
:where(.pwsgo-home) figcaption {
  font-size: 11px;
  margin-top: var(--space-1);
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
:where(.pwsgo-home) .text-muted {
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
:where(.pwsgo-home) :focus {
  outline: none;
}
:where(.pwsgo-home) :focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
:where(.pwsgo-home)::selection, :where(.pwsgo-home) ::selection {
  background: color-mix(in srgb, var(--color-accent) 30%, transparent);
}
/* — rules — */
:where(.pwsgo-home) .hr {
  height: 2px;
  border: 0;
  margin: var(--space-4) 0;
  background: var(--color-divider);
}
/* — buttons — */
:where(.pwsgo-home) .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  text-decoration: none;
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-size: 14px;
  line-height: 1.2;
  color: var(--color-text);
  background: transparent;
  border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
:where(.pwsgo-home) .btn svg {
  display: block;
}
:where(.pwsgo-home) .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
:where(.pwsgo-home) .btn-primary {
  background: var(--color-accent);
  color: var(--color-bg);
}
:where(.pwsgo-home) .btn-primary:hover {
  background: var(--color-accent-600);
}
:where(.pwsgo-home) .btn-primary:active {
  background: var(--color-accent-700);
}
:where(.pwsgo-home) .btn-secondary {
  border-color: var(--color-divider);
}
:where(.pwsgo-home) .btn-secondary:hover {
  background: color-mix(in srgb, var(--color-text) 7%, transparent);
}
:where(.pwsgo-home) .btn-secondary:active {
  background: color-mix(in srgb, var(--color-text) 14%, transparent);
}
:where(.pwsgo-home) .btn-ghost {
  color: var(--color-accent);
  padding-inline: var(--space-1);
}
:where(.pwsgo-home) .btn-ghost:hover {
  background: color-mix(in srgb, var(--color-accent) 10%, transparent);
}
:where(.pwsgo-home) .btn-ghost:active {
  background: color-mix(in srgb, var(--color-accent) 18%, transparent);
}
:where(.pwsgo-home) .btn-icon {
  width: 36px;
  height: 36px;
  padding: 0;
}
:where(.pwsgo-home) .btn-block {
  width: 100%;
  margin-top: var(--space-2);
  justify-content: flex-start;
  text-align: left;
}
/* — forms — */
:where(.pwsgo-home) .field > label {
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
}
:where(.pwsgo-home) .input {
  width: 100%;
  min-height: 36px;
  padding: 6px 10px;
  font: inherit;
  font-size: 14px;
  color: var(--color-text);
  caret-color: var(--color-accent);
  background: var(--color-surface);
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-md);
}
:where(.pwsgo-home) .input:hover {
  border-color: color-mix(in srgb, var(--color-text) 45%, transparent);
}
:where(.pwsgo-home) .input:focus-visible {
  border-color: var(--color-accent);
  outline-offset: 0;
}
:where(.pwsgo-home) textarea.input {
  min-height: 90px;
  resize: vertical;
}
:where(.pwsgo-home) .radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
}
:where(.pwsgo-home) .radio input,
:where(.pwsgo-home) .seg-opt input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
:where(.pwsgo-home) .radio .dot {
  width: 16px;
  height: 16px;
  flex: none;
  border-radius: 50%;
  border: 1.5px solid var(--color-divider);
}
:where(.pwsgo-home) .radio:hover .dot {
  border-color: var(--color-accent);
}
:where(.pwsgo-home) .radio input:checked + .dot {
  border-color: var(--color-accent);
  background: var(--color-accent);
  box-shadow: inset 0 0 0 4px var(--color-bg);
}
:where(.pwsgo-home) .radio input:focus-visible + .dot {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
:where(.pwsgo-home) .seg {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-md);
}
:where(.pwsgo-home) .seg-opt {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 13px;
  cursor: pointer;
}
:where(.pwsgo-home) .seg-opt + .seg-opt {
  border-left: 1px solid var(--color-divider);
}
:where(.pwsgo-home) .seg-opt:has(input:checked) {
  background: var(--color-accent);
  color: var(--color-bg);
}
:where(.pwsgo-home) .seg-opt:not(:has(input:checked)):hover {
  background: color-mix(in srgb, var(--color-text) 7%, transparent);
}
:where(.pwsgo-home) .seg-opt:has(input:focus-visible) {
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}
/* — cards — */
:where(.pwsgo-home) .card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}
:where(.pwsgo-home) .card-kicker {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-accent);
}
:where(.pwsgo-home) .card-title {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-size: 17px;
  line-height: 1.2;
}
:where(.pwsgo-home) .card-body {
  margin: 0;
  font-size: 13px;
  opacity: 0.8;
  flex: 1;
}
:where(.pwsgo-home) .card-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: color-mix(in srgb, var(--color-text) 50%, transparent);
}
:where(.pwsgo-home) .elev-sm {
  box-shadow: var(--shadow-sm);
}
:where(.pwsgo-home) .elev-md {
  box-shadow: var(--shadow-md);
}
:where(.pwsgo-home) .elev-lg {
  box-shadow: var(--shadow-lg);
}
/* — tags — */
:where(.pwsgo-home) .tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  letter-spacing: 0.02em;
  padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
:where(.pwsgo-home) .tag-accent {
  background: var(--color-accent-100);
  color: var(--color-accent-800);
}
:where(.pwsgo-home) .tag-accent-2 {
  background: var(--color-accent-2-100);
  color: var(--color-accent-2-800);
}
:where(.pwsgo-home) .tag-neutral {
  background: var(--color-neutral-100);
  color: var(--color-neutral-800);
}
:where(.pwsgo-home) .tag-outline {
  border: 1px solid var(--color-accent);
  color: var(--color-accent);
}
/* — navigation — */
:where(.pwsgo-home) .nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-bottom: 2px solid var(--color-divider);
}
:where(.pwsgo-home) .nav-brand {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-size: 18px;
  margin-right: auto;
}
:where(.pwsgo-home) .nav a {
  color: inherit;
  text-decoration: none;
  font-size: 14px;
}
:where(.pwsgo-home) .nav a:hover,
:where(.pwsgo-home) .nav a[aria-current='page'] {
  color: var(--color-accent);
}
/* — tables — */
:where(.pwsgo-home) .table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
:where(.pwsgo-home) .table th {
  text-align: left;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
  padding: var(--space-2);
  border-bottom: 2px solid var(--color-divider);
}
:where(.pwsgo-home) .table td {
  padding: var(--space-2);
  border-bottom: 1px solid var(--color-divider);
}
:where(.pwsgo-home) .table tbody tr:hover {
  background: color-mix(in srgb, var(--color-text) 4%, transparent);
}
/* — dialog — */
:where(.pwsgo-home) .dialog-backdrop {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--color-neutral-900) 50%, transparent);
}
:where(.pwsgo-home) .dialog {
  width: min(440px, 100%);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  box-shadow: var(--shadow-lg);
}
:where(.pwsgo-home) .dialog-title {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-size: 20px;
}
:where(.pwsgo-home) .dialog-body {
  font-size: 14px;
  opacity: 0.85;
}
:where(.pwsgo-home) .dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
  margin-top: var(--space-2);
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* vietnamese */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url("assets/e338d01e03b2.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url("assets/7301cde310f6.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url("assets/65449f160537.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/9a3103b2da76.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/d60fe850d102.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/b77f87bbc412.woff2") format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/8b633380e51e.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/69ec30990085.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("assets/d8b4e62dbb82.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/9a3103b2da76.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/d60fe850d102.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/b77f87bbc412.woff2") format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/8b633380e51e.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/69ec30990085.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("assets/d8b4e62dbb82.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/9a3103b2da76.woff2") format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/d60fe850d102.woff2") format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/b77f87bbc412.woff2") format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/8b633380e51e.woff2") format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/69ec30990085.woff2") format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("assets/d8b4e62dbb82.woff2") format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* enquiry */
:root:where(.pwsgo-enquiry) {
  --paper:#F5F6F1;
  --well:#EDF0E4;
  --rule:#D9D9D9;
  --ink:#071F3E;
  --ink-soft:#4A5B75;
  --ink-faint:#4A5B75;
  --sand:#EDF0E4;
  --stone:#D9D9D9;
  --accent:#6E8B2D;
  --accent-deep:#4E6320;
  --accent-dark:#4E6320;
  --accent-wash:#EDF0E4;
  --sage:#A8B28B;
  --grey:#D9D9D9;
  --gold:#F0A91F;
  --err:#B3261E;
  --booked:#4A5B75;
  --r:8px;
}

/* contact · policy */
:root:where(.pwsgo-contact, .pwsgo-policy) {
  --paper:#F5F6F1;
  --well:#EDF0E4;
  --rule:#D9D9D9;
  --ink:#071F3E;
  --ink-soft:#4A5B75;
  --ink-faint:#4A5B75;
  --sand:#EDF0E4;
  --stone:#D9D9D9;
  --accent:#6E8B2D;
  --accent-deep:#4E6320;
  --accent-dark:#4E6320;
  --accent-wash:#EDF0E4;
  --sage:#A8B28B;
  --grey:#D9D9D9;
  --gold:#F0A91F;
  --green:#4E6320;
  --r:8px;
}

/* how · faq · about · terms */
:root:where(.pwsgo-how, .pwsgo-faq, .pwsgo-about, .pwsgo-terms) {
  --paper:#F5F6F1;
  --well:#EDF0E4;
  --rule:#D9D9D9;
  --ink:#071F3E;
  --ink-soft:#4A5B75;
  --ink-faint:#4A5B75;
  --sand:#EDF0E4;
  --stone:#D9D9D9;
  --accent:#6E8B2D;
  --accent-deep:#4E6320;
  --accent-dark:#4E6320;
  --accent-wash:#EDF0E4;
  --sage:#A8B28B;
  --grey:#D9D9D9;
  --gold:#F0A91F;
  --r:8px;
}

/* pricing */
:root:where(.pwsgo-pricing) {
  --paper:#F5F6F1;
  --well:#EDF0E4;
  --rule:#D9D9D9;
  --ink:#071F3E;
  --ink-soft:#4A5B75;
  --ink-faint:#4A5B75;
  --sand:#EDF0E4;
  --stone:#D9D9D9;
  --accent:#6E8B2D;
  --accent-deep:#4E6320;
  --accent-dark:#4E6320;
  --accent-wash:#EDF0E4;
  --sage:#A8B28B;
  --grey:#D9D9D9;
  --gold:#F0A91F;
  --s-low:#EDF0E4;
  --s-mid:#A8B28B;
  --s-high:#A8B28B;
  --s-peak:#4E6320;
  --r:8px;
}

/* pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 16px/1.6 'IBM Plex Sans',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* vehicle */
:root:where(.pwsgo-vehicle) {
  --paper:#F5F6F1;
  --surface:#FFFFFF;
  --well:#EDF0E4;
  --rule:#D9D9D9;
  --ink:#071F3E;
  --ink-soft:#4A5B75;
  --ink-faint:#4A5B75;
  --sand:#EDF0E4;
  --stone:#D9D9D9;
  --pine:#6E8B2D;
  --pine-deep:#4E6320;
  --pine-wash:#EDF0E4;
  --accent:#6E8B2D;
  --accent-dark:#4E6320;
  --r:8px;
  --available:#4E6320;
  --held:#071F3E;
  --booked:#4A5B75;
  --e-sticky:0 1px 3px rgba(7,31,62,0.08), 0 8px 24px rgba(7,31,62,0.06);
  --e-bar:0 -1px 12px rgba(7,31,62,0.10);
  --ease:cubic-bezier(0.32,0.72,0,1);
}
:root:where(.pwsgo-vehicle) .calmove {
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rule);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease;
}
:root:where(.pwsgo-vehicle) .calmove:hover:not(.is-off) {
  background:var(--well);
  border-color:var(--ink);
}
:root:where(.pwsgo-vehicle) .calmove.is-off {
  opacity:.35;
  cursor:default;
}
/* The two fields. A button, because a native date input brings a picker
       that cannot be told which days are already booked. Dressed to look
       exactly like the field it replaced. */
:root:where(.pwsgo-vehicle) .daybtn {
  display:block;
  width:100%;
  text-align:left;
  padding:12px 14px;
  border:0;
  background:transparent;
  cursor:pointer;
  font:inherit;
}
:root:where(.pwsgo-vehicle) .daybtn-right {
  border-left:1px solid var(--rule);
}
:root:where(.pwsgo-vehicle) .daybtn:hover {
  background:var(--well);
}
:root:where(.pwsgo-vehicle) .daybtn-label {
  display:block;
  font-size:14px;
  color:var(--ink-soft);
  margin-bottom:6px;
}
:root:where(.pwsgo-vehicle) .daybtn-value {
  display:block;
  min-height:36px;
  font:500 15px/36px 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
}
:root:where(.pwsgo-vehicle) .daypop {
  position:absolute;
  z-index:40;
  top:calc(100% + 8px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid var(--rule);
  border-radius:12px;
  padding:14px;
  box-shadow:0 18px 40px rgba(7,31,62,.14);
}
:root:where(.pwsgo-vehicle) .daypop-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
:root:where(.pwsgo-vehicle) .daypop-month {
  font:600 15px/1.3 'IBM Plex Sans',system-ui,sans-serif;
  margin:0;
}
:root:where(.pwsgo-vehicle) .daypop-top .calmove {
  width:30px;
  height:30px;
  margin-left:6px;
}
:root:where(.pwsgo-vehicle) .daypop-grid {
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:2px;
  margin-top:10px;
}
:root:where(.pwsgo-vehicle) .daypop-dow {
  text-align:center;
  font-size:12.5px;
  color:var(--ink-faint);
  padding-bottom:4px;
}
:root:where(.pwsgo-vehicle) .daypop-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--rule);
}
:root:where(.pwsgo-vehicle) .daypop-key {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  color:var(--ink-soft);
}
:root:where(.pwsgo-vehicle) .daypop-swatch {
  width:13px;
  height:13px;
  border-radius:3px;
  border:1px solid var(--rule);
  background-image:repeating-linear-gradient(45deg,#4A5B75 0 1px,transparent 1px 4px);
}
:root:where(.pwsgo-vehicle) .daypop-done {
  border:0;
  background:var(--ink);
  color:#fff;
  border-radius:999px;
  padding:7px 16px;
  font:600 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  cursor:pointer;
}
:where(.pwsgo-vehicle) body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 16px/1.6 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub), :where(.pwsgo-sub) * {
  box-sizing:border-box;
}

/* about */
:where(.pwsgo-about) h1,
:where(.pwsgo-about) h2,
:where(.pwsgo-about) h3,
:where(.pwsgo-about) p,
:where(.pwsgo-about) ul,
:where(.pwsgo-about) ol,
:where(.pwsgo-about) li,
:where(.pwsgo-about) figure {
  margin:0;
}

/* pricing · how · faq · contact · terms · enquiry · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) h1,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) h2,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) h3,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) p,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) ul,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) ol,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) li,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) dl,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) figure,
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-terms, .pwsgo-enquiry, .pwsgo-policy) table {
  margin:0;
}

/* pricing · how · contact · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-contact, .pwsgo-policy) table {
  border-collapse:collapse;
  width:100%;
}

/* vehicle */
:where(.pwsgo-vehicle) h1,
:where(.pwsgo-vehicle) h2,
:where(.pwsgo-vehicle) h3,
:where(.pwsgo-vehicle) p,
:where(.pwsgo-vehicle) ul,
:where(.pwsgo-vehicle) li,
:where(.pwsgo-vehicle) dl,
:where(.pwsgo-vehicle) figure {
  margin:0;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) a {
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:0.15em;
}
:where(.pwsgo-sub) a:hover {
  color:var(--ink);
}

/* enquiry */
:where(.pwsgo-enquiry) a:focus-visible,
:where(.pwsgo-enquiry) button:focus-visible,
:where(.pwsgo-enquiry) input:focus-visible,
:where(.pwsgo-enquiry) textarea:focus-visible {
  outline:3px solid var(--accent-dark);
  outline-offset:3px;
  border-radius:6px;
}

/* vehicle */
:where(.pwsgo-vehicle) a:focus-visible,
:where(.pwsgo-vehicle) button:focus-visible,
:where(.pwsgo-vehicle) input:focus-visible,
:where(.pwsgo-vehicle) [tabindex]:focus-visible {
  outline:3px solid var(--accent-dark);
  outline-offset:3px;
  border-radius:6px;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) button {
  font:inherit;
}

/* enquiry */
:where(.pwsgo-enquiry) .pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:999px;
  padding:13px 22px;
  font:600 14.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  text-decoration:none;
  border:0;
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease;
}

/* pricing · how · contact · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-contact, .pwsgo-policy) .num {
  font-variant-numeric:tabular-nums;
}

/* pricing · how · faq · about · contact · terms · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) .pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:999px;
  padding:13px 22px;
  font:600 14.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  text-decoration:none;
  border:0;
  cursor:pointer;
}

/* vehicle */
:where(.pwsgo-vehicle) .rule {
  border:0;
  border-top:1px solid var(--rule);
  margin:0;
}
:where(.pwsgo-vehicle) .card {
  border-radius:var(--r);
  overflow:hidden;
}
:where(.pwsgo-vehicle) .pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:999px;
  padding:13px 22px;
  font:600 14.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  text-decoration:none;
  border:0;
  cursor:pointer;
  transition:background-color .18s ease, color .18s ease, transform .16s ease, box-shadow .18s ease;
}
:where(.pwsgo-vehicle) .pill:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(7,31,62,0.18);
  text-decoration:none;
}
:where(.pwsgo-vehicle) .pill:active {
  transform:translateY(0);
  box-shadow:0 3px 8px rgba(7,31,62,0.16);
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .pill-accent {
  background:var(--accent);
  color:#fff;
}

/* enquiry */
:where(.pwsgo-enquiry) .pill-accent:hover {
  background:var(--accent-deep);
  color:#fff;
}

/* vehicle */
:where(.pwsgo-vehicle) .pill-accent:hover {
  background:#4E6320;
  color:#fff;
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .pill-sand {
  background:var(--sand);
  color:var(--ink);
}
:where(.pwsgo-vehicle, .pwsgo-enquiry) .pill-sand:hover {
  background:var(--stone);
  color:var(--ink);
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) .navlink {
  font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
  padding:12px 2px;
  white-space:nowrap;
  transition:color .18s ease;
}

/* vehicle */
:where(.pwsgo-vehicle) .burger:hover {
  background:var(--accent) !important;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) .drawer-row {
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 2px;
  font:500 17px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  text-decoration:none;
}
:where(.pwsgo-sub) .drawer-row:hover {
  color:var(--accent-dark);
}

/* about · terms */
:where(.pwsgo-about, .pwsgo-terms, .pwsgo-trips) .kick {
  font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--accent-dark);
}

/* about */
:where(.pwsgo-about) .kick-soft {
  color:var(--ink-faint);
}
:where(.pwsgo-about) .blk-h {
  font:500 clamp(23px,2.8vw,34px)/1.12 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.03em;
}

/* pricing · how · faq · contact · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-policy) .numeral {
  font:500 13px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.1em;
  color:var(--accent-dark);
}
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-policy) .blk-h {
  font:500 clamp(22px,2.5vw,30px)/1.18 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.025em;
}

/* pricing · how · faq · about · contact · terms · policy */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) .lede {
  font-size:15.5px;
  line-height:1.6;
  color:var(--ink-soft);
}

/* terms */
:where(.pwsgo-terms) .progress {
  position:fixed;
  left:0;
  top:0;
  height:3px;
  z-index:90;
  background:var(--accent);
}

/* contact · policy */
/* the router — pick a reason, the right rail answers */
:where(.pwsgo-contact, .pwsgo-policy) .route {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 26px;
  gap:16px;
  align-items:start;
  width:100%;
  text-align:left;
  border:0;
  border-top:1px solid var(--rule);
  background:none;
  padding:20px 4px;
  cursor:pointer;
  transition:padding-left .22s cubic-bezier(0.22,0.61,0.36,1);
}
:where(.pwsgo-contact, .pwsgo-policy) .route:first-child {
  border-top:0;
}
:where(.pwsgo-contact, .pwsgo-policy) .route:hover {
  padding-left:10px;
}
:where(.pwsgo-contact, .pwsgo-policy) .route-n {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1.5px solid var(--rule);
  color:var(--ink-soft);
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
:where(.pwsgo-contact, .pwsgo-policy) .route:hover .route-n {
  border-color:var(--accent);
  color:var(--accent-dark);
}
:where(.pwsgo-contact, .pwsgo-policy) .route-on .route-n {
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
:where(.pwsgo-contact, .pwsgo-policy) .route-t {
  display:block;
  font:600 clamp(17px,1.8vw,20px)/1.3 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.018em;
}
:where(.pwsgo-contact, .pwsgo-policy) .route-on .route-t {
  color:var(--accent-dark);
}
:where(.pwsgo-contact, .pwsgo-policy) .route-s {
  display:block;
  font-size:14.5px;
  line-height:1.55;
  color:var(--ink-soft);
  margin-top:5px;
  max-width:46ch;
}
:where(.pwsgo-contact, .pwsgo-policy) .route-x {
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin-top:9px;
  color:var(--ink-faint);
  transition:transform .22s ease, color .18s ease;
}
:where(.pwsgo-contact, .pwsgo-policy) .route:hover .route-x,
:where(.pwsgo-contact, .pwsgo-policy) .route-on .route-x {
  color:var(--accent-dark);
  transform:translateX(4px);
}
:where(.pwsgo-contact, .pwsgo-policy) .answer {
  position:sticky;
  top:104px;
  background:var(--well);
  border-radius:var(--r);
  padding:clamp(24px,2.8vw,34px);
}
:where(.pwsgo-contact, .pwsgo-policy) .answer dt {
  font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
:where(.pwsgo-contact, .pwsgo-policy) .answer dd {
  margin:8px 0 0;
  font-size:15px;
  line-height:1.6;
  color:var(--ink-soft);
}
:where(.pwsgo-contact, .pwsgo-policy) .answer .split {
  border-top:1px solid var(--rule);
  margin-top:18px;
  padding-top:18px;
}
:where(.pwsgo-contact, .pwsgo-policy) .hours th,
:where(.pwsgo-contact, .pwsgo-policy) .hours td {
  text-align:left;
  padding:12px 0;
  border-top:1px solid var(--rule);
  font-size:15px;
}
:where(.pwsgo-contact, .pwsgo-policy) .hours th {
  font-weight:500;
}
:where(.pwsgo-contact, .pwsgo-policy) .hours td {
  text-align:right;
  font-variant-numeric:tabular-nums;
  color:var(--ink-soft);
  white-space:nowrap;
}
:where(.pwsgo-contact, .pwsgo-policy) .hours tr.now th,
:where(.pwsgo-contact, .pwsgo-policy) .hours tr.now td {
  color:var(--ink);
  font-weight:600;
}
:where(.pwsgo-contact, .pwsgo-policy) .dot-live {
  display:inline-flex;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--green);
  margin-right:8px;
}
:where(.pwsgo-contact, .pwsgo-policy) .dot-off {
  background:var(--ink-faint);
}

/* about */
:where(.pwsgo-about) .body {
  font-size:16.5px;
  line-height:1.7;
  color:var(--ink-soft);
}
:where(.pwsgo-about) .body + .body {
  margin-top:16px;
}
:where(.pwsgo-about) .shot {
  background:var(--stone);
  overflow:hidden;
  border-radius:var(--r);
}
:where(.pwsgo-about) .shot image-slot {
  display:block;
  width:100%;
  height:100%;
}
:where(.pwsgo-about) .gap {
  background:none;
}
:where(.pwsgo-about) .gaps-off .gap {
  background:none;
  border-bottom:0;
  padding:0;
}
/* motion: sections rise once as they enter; menu wipes down */
/* No CSS hidden state: the reveal is applied and removed inline by the
       logic class, so if the script never runs the page is simply visible. */
:where(.pwsgo-about) [data-drawer] {
  overflow:hidden;
  animation:drawerIn-about 320ms cubic-bezier(0.2,0,0,1) both;
}
@keyframes drawerIn-about {
  from { clip-path:inset(0 0 100% 0); }
  to { clip-path:inset(0 0 0 0); }
}
:where(.pwsgo-about) [data-drawer] > a {
  animation:rowIn-about 300ms cubic-bezier(0.2,0,0,1) both;
}
:where(.pwsgo-about) [data-drawer] > a:nth-child(1) {
  animation-delay:60ms;
}
:where(.pwsgo-about) [data-drawer] > a:nth-child(2) {
  animation-delay:105ms;
}
:where(.pwsgo-about) [data-drawer] > a:nth-child(3) {
  animation-delay:150ms;
}
:where(.pwsgo-about) [data-drawer] > a:nth-child(4) {
  animation-delay:195ms;
}
:where(.pwsgo-about) [data-drawer] > a:nth-child(5) {
  animation-delay:240ms;
}
@keyframes rowIn-about {
  from { opacity:0; transform:translate3d(0,-8px,0); }
  to { opacity:1; transform:none; }
}
@media (prefers-reduced-motion: reduce) {

  /* about */
  :where(.pwsgo-about) [data-rise] {
    opacity:1 !important;
    transform:none !important;
  }
  :where(.pwsgo-about) [data-drawer],
  :where(.pwsgo-about) [data-drawer] > a {
    animation:none !important;
  }
}

/* about */
:where(.pwsgo-about) .story {
  display:grid;
  grid-template-columns:minmax(0,54fr) minmax(0,46fr);
  grid-template-areas:"head media" "prose media";
  grid-template-rows:max-content 1fr;
  gap:0 clamp(26px,3.6vw,64px);
  align-items:start;
}
:where(.pwsgo-about) .story-head {
  grid-area:head;
}
:where(.pwsgo-about) .story-prose {
  grid-area:prose;
  margin-top:20px;
}
:where(.pwsgo-about) .story-media {
  grid-area:media;
}
:where(.pwsgo-about) .way h3 {
  font:600 clamp(17px,1.9vw,20px)/1.28 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
}
:where(.pwsgo-about) .way p {
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-soft);
  margin-top:10px;
}
:where(.pwsgo-about) .vcard {
  display:grid;
  border:1px solid var(--rule);
  border-radius:var(--r);
  overflow:hidden;
  text-decoration:none;
  color:var(--ink);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
:where(.pwsgo-about) .vcard:hover {
  border-color:rgba(7,31,62,0.32);
  box-shadow:0 14px 32px rgba(7,31,62,0.09);
  transform:translateY(-2px);
  color:var(--ink);
  text-decoration:none;
}
:where(.pwsgo-about) .vcard .go {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:600 14px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--accent-dark);
  margin-top:14px;
}
:where(.pwsgo-about) .vcard:hover .go {
  color:var(--ink);
}

/* faq */
/* faq — same card accordion as the homepage */
:where(.pwsgo-faq) .faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
  align-items:start;
}
:where(.pwsgo-faq) .card {
  background:#fff;
  border:1px solid var(--rule);
  border-radius:var(--r);
  padding:2px 8px 2px 20px;
  align-self:start;
  transition:border-color .2s ease, box-shadow .2s ease;
}
:where(.pwsgo-faq) .card:hover {
  border-color:rgba(7,31,62,0.3);
  box-shadow:0 10px 26px rgba(7,31,62,0.07);
}
:where(.pwsgo-faq) .card-on {
  border-color:var(--accent);
}
:where(.pwsgo-faq) .faq-q {
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  text-align:left;
  background:none;
  border:0;
  padding:12px 0;
  cursor:pointer;
  font:500 15.5px/1.35 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  transition:color .18s ease;
  min-height:52px;
}
:where(.pwsgo-faq) .faq-q:hover {
  color:var(--accent-dark);
}
:where(.pwsgo-faq) .sign {
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:999px;
  background:var(--sand);
  color:var(--ink);
  font-size:20px;
  line-height:1;
  margin-right:8px;
  transition:background-color .18s ease, color .18s ease;
}
:where(.pwsgo-faq) .faq-q:hover .sign {
  background:var(--accent);
  color:#fff;
}
:where(.pwsgo-faq) .faq-a {
  font-size:15px;
  line-height:1.65;
  color:#4A5B75;
  padding:0 60px 22px 0;
  max-width:70ch;
}
:where(.pwsgo-faq) .chip {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid var(--rule);
  background:#fff;
  color:var(--ink-soft);
  font:600 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
:where(.pwsgo-faq) .chip:hover {
  border-color:rgba(7,31,62,0.4);
  color:var(--ink);
}
:where(.pwsgo-faq) .chip-on {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
:where(.pwsgo-faq) .chip-on:hover {
  color:#fff;
}
:where(.pwsgo-faq) .search {
  width:100%;
  min-height:52px;
  padding:14px 18px 14px 46px;
  border-radius:999px;
  border:1px solid var(--rule);
  background:#fff;
  font:400 15.5px/1.2 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
}
:where(.pwsgo-faq) .search::placeholder {
  color:var(--ink-faint);
}
:where(.pwsgo-faq) .search:hover {
  border-color:rgba(7,31,62,0.4);
}
:where(.pwsgo-faq) .catnav a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:44px;
  padding:10px 0;
  border-top:1px solid var(--rule);
  font:500 14.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  text-decoration:none;
  transition:color .18s ease;
}
:where(.pwsgo-faq) .catnav a:hover {
  color:var(--accent-dark);
}
:where(.pwsgo-faq) .catnav a span.n {
  font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}

/* faq · terms */
:where(.pwsgo-faq, .pwsgo-terms) .aside {
  position:sticky;
  top:104px;
}

/* terms */
:where(.pwsgo-terms) .toc {
  overflow:auto;
  max-height:calc(100vh - 260px);
  margin-top:14px;
  padding-right:4px;
}
:where(.pwsgo-terms) .toc a {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  min-height:40px;
  padding:8px 0;
  border-top:1px solid var(--rule);
  font:500 14px/1.35 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  text-decoration:none;
  transition:color .18s ease;
}
:where(.pwsgo-terms) .toc a:hover {
  color:var(--accent-dark);
}
:where(.pwsgo-terms) .toc a span.i {
  font:600 12px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
:where(.pwsgo-terms) .toc-on,
:where(.pwsgo-terms) .toc-on span.i {
  color:var(--accent-dark);
}
:where(.pwsgo-terms) .search {
  width:100%;
  min-height:50px;
  padding:13px 16px 13px 44px;
  border-radius:999px;
  border:1px solid var(--rule);
  background:#fff;
  font:400 15px/1.2 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
}
:where(.pwsgo-terms) .search::placeholder {
  color:var(--ink-faint);
}
:where(.pwsgo-terms) .search:hover {
  border-color:rgba(7,31,62,0.4);
}
:where(.pwsgo-terms) .sec {
  border-top:2px solid var(--ink);
  scroll-margin-top:104px;
}
:where(.pwsgo-terms) .sechead {
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto 32px;
  gap:14px;
  align-items:center;
  width:100%;
  text-align:left;
  background:none;
  border:0;
  padding:18px 0;
  cursor:pointer;
  min-height:60px;
}
:where(.pwsgo-terms) .sechead:hover .sect {
  color:var(--accent-dark);
}
:where(.pwsgo-terms) .secn {
  font:600 13px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--accent-dark);
  font-variant-numeric:tabular-nums;
}
:where(.pwsgo-terms) .sect {
  font:600 clamp(17px,1.9vw,21px)/1.25 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
  transition:color .18s ease;
}
:where(.pwsgo-terms) .seccount {
  font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-faint);
  white-space:nowrap;
}
:where(.pwsgo-terms) .sign {
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:rgba(7,31,62,0.07);
  color:var(--ink);
  font:400 20px/1 'Archivo',system-ui,sans-serif;
  transition:background-color .18s ease, color .18s ease;
}
:where(.pwsgo-terms) .sechead:hover .sign {
  background:var(--accent);
  color:#fff;
}
:where(.pwsgo-terms) .secbody {
  padding:0 0 30px;
  max-width:76ch;
}
:where(.pwsgo-terms) .clause {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:16px;
  padding:11px 0;
  border-top:1px solid var(--rule);
  align-items:baseline;
  scroll-margin-top:104px;
}
:where(.pwsgo-terms) .cn {
  font:600 12.5px/1.6 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
  text-decoration:none;
  transition:color .18s ease;
}
:where(.pwsgo-terms) .cn:hover {
  color:var(--accent-dark);
  text-decoration:none;
}
:where(.pwsgo-terms) .ctext {
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-soft);
}
:where(.pwsgo-terms) .ctext b {
  color:var(--ink);
  font-weight:600;
}
:where(.pwsgo-terms) .hit {
  background:var(--accent-wash);
  border-radius:8px;
  padding-left:12px;
  margin-left:-12px;
}
:where(.pwsgo-terms) .grph {
  font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin:26px 0 4px;
}
:where(.pwsgo-terms) .tw {
  overflow-x:auto;
  margin-top:20px;
}
:where(.pwsgo-terms) .tbl {
  width:100%;
  border-collapse:collapse;
  font-size:14.5px;
}
:where(.pwsgo-terms) .tbl th {
  text-align:left;
  font:600 11.5px/1.3 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-faint);
  background:var(--well);
  padding:11px 14px;
}
:where(.pwsgo-terms) .tbl td {
  padding:12px 14px;
  border-top:1px solid var(--rule);
  vertical-align:top;
  line-height:1.5;
}
:where(.pwsgo-terms) .tbl td.n {
  font-variant-numeric:tabular-nums;
  font-weight:600;
}
:where(.pwsgo-terms) .tbl td:first-child,
:where(.pwsgo-terms) .tbl th:first-child {
  min-width:160px;
}
:where(.pwsgo-terms) .tbl tr:hover td {
  background:rgba(7,31,62,0.03);
}
:where(.pwsgo-terms) .flag {
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:var(--well);
  border-radius:8px;
  padding:16px 18px;
  margin-top:20px;
}
:where(.pwsgo-terms) .flag-i {
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--gold);
  color:var(--ink);
}

/* how */
:where(.pwsgo-how) .rt th,
:where(.pwsgo-how) .rt td {
  text-align:left;
  padding:15px 18px 15px 0;
  border-top:1px solid var(--rule);
  font-size:15px;
  line-height:1.5;
  vertical-align:top;
}

/* pricing */
:where(.pwsgo-pricing) .rt th,
:where(.pwsgo-pricing) .rt td {
  text-align:left;
  padding:14px 0;
  border-top:1px solid var(--rule);
  font-size:15px;
}

/* pricing · how */
:where(.pwsgo-pricing, .pwsgo-how) .rt thead th {
  font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ink-faint);
  padding-bottom:10px;
  border-top:0;
}

/* how */
:where(.pwsgo-how) .rt tbody th {
  font-weight:600;
  white-space:nowrap;
}

/* pricing */
:where(.pwsgo-pricing) .rt tbody th {
  font-weight:500;
}
:where(.pwsgo-pricing) .rt td.n {
  text-align:right;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
:where(.pwsgo-pricing) .rt td.m {
  text-align:right;
  color:var(--ink-soft);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
:where(.pwsgo-pricing) .band {
  position:relative;
  display:flex;
  align-items:stretch;
  height:76px;
  border-radius:8px;
  overflow:hidden;
}
:where(.pwsgo-pricing) .seg {
  position:relative;
  border:0;
  padding:0;
  cursor:pointer;
  min-height:44px;
  transition:filter .18s ease, transform .18s ease;
}
:where(.pwsgo-pricing) .seg:hover {
  filter:brightness(1.05);
}
/* The dates belong to the narrow layout only. Across a wide bar the band's
   position under the month scale already says when it runs. */
:where(.pwsgo-pricing) .seg-when {
  display:none;
}
:where(.pwsgo-pricing) .seg-on {
  box-shadow:inset 0 0 0 3px var(--ink);
  z-index:2;
}
:where(.pwsgo-pricing) .lrow {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px 24px;
  align-items:baseline;
  padding:14px 0;
  border-top:1px solid var(--rule);
}

/* pricing · how */
:where(.pwsgo-pricing, .pwsgo-how) .sticky-cta {
  display:none;
  align-items:center;
  gap:12px;
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .ulink {
  text-decoration:none;
}
:where(.pwsgo-vehicle, .pwsgo-enquiry) .ulink:hover {
  text-decoration:underline;
  text-underline-offset:0.18em;
}

/* enquiry */
:where(.pwsgo-enquiry) .inp {
  width:100%;
  min-height:52px;
  border:1.5px solid var(--rule);
  border-radius:8px;
  background:#fff;
  padding:14px 16px;
  font:400 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
}
:where(.pwsgo-enquiry) .inp:hover {
  border-color:rgba(7,31,62,0.34);
}
:where(.pwsgo-enquiry) .inp:focus {
  outline:3px solid var(--accent-dark);
  outline-offset:2px;
  border-color:var(--accent-dark);
}
:where(.pwsgo-enquiry) .inp-err {
  border-color:var(--err);
}
:where(.pwsgo-enquiry) .lab {
  display:block;
  font:500 14.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  margin-bottom:7px;
}
:where(.pwsgo-enquiry) .hint {
  font:400 13.5px/1.55 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-faint);
  margin-top:7px;
}
:where(.pwsgo-enquiry) .errmsg {
  font:500 13.5px/1.5 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--err);
  margin-top:7px;
}
:where(.pwsgo-enquiry) .cell {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1;
  min-height:38px;
  border:0;
  background:none;
  cursor:pointer;
  border-radius:8px;
  font:400 15px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}

/* vehicle */
:where(.pwsgo-vehicle) .cell {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1;
  min-height:40px;
  border:0;
  background:none;
  cursor:pointer;
  border-radius:6px;
  font:400 15px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .cell-empty {
  visibility:hidden;
  cursor:default;
}

/* enquiry */
:where(.pwsgo-enquiry) .cell-avail:hover {
  background:var(--accent-wash);
}
:where(.pwsgo-enquiry) .cell-range {
  background:var(--accent-wash);
  border-radius:0;
}
:where(.pwsgo-enquiry) .cell-end {
  background:var(--accent);
  color:#fff;
  font-weight:600;
}
/* Hatched rather than struck through, which is how the vehicle pages have
   always drawn a day that cannot be had. A line through a number reads as a
   correction, as though the date had changed; the hatch reads as a surface
   that is closed. The two calendars show the same days as each other, so they
   should not have shown them two different ways. */
:where(.pwsgo-enquiry) .cell-off {
  color:var(--ink-faint);
  cursor:not-allowed;
  background-image:repeating-linear-gradient(45deg, var(--booked) 0 1px, transparent 1px 4px);
}

/* vehicle */
:where(.pwsgo-vehicle) .cell-avail:hover {
  background:var(--pine-wash);
}
:where(.pwsgo-vehicle) .cell-range {
  background:var(--pine-wash);
  border-radius:0;
}
:where(.pwsgo-vehicle) .cell-end {
  background:var(--accent);
  color:#fff;
}
:where(.pwsgo-vehicle) .cell-booked {
  color:var(--ink-faint);
  cursor:not-allowed;
  background-image:repeating-linear-gradient(45deg, var(--booked) 0 1px, transparent 1px 4px);
}
:where(.pwsgo-vehicle) .cell-held {
  color:var(--held);
  text-decoration:underline dotted;
  text-underline-offset:3px;
  cursor:not-allowed;
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .cell-past {
  color:var(--ink-faint);
  opacity:0.4;
  cursor:not-allowed;
}

/* enquiry */
:where(.pwsgo-enquiry, .pwsgo-exlist) .exrow {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px 24px;
  align-items:center;
  padding:18px 0;
  border-top:1px solid var(--rule);
}
:where(.pwsgo-enquiry, .pwsgo-exlist) .chk {
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  flex:none;
  border:1.5px solid rgba(7,31,62,0.34);
  border-radius:7px;
  background:#fff;
  color:#fff;
}
:where(.pwsgo-enquiry, .pwsgo-exlist) .chk-on {
  background:var(--accent);
  border-color:var(--accent);
}
:where(.pwsgo-enquiry, .pwsgo-exlist) .tapbox {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:44px;
  background:none;
  border:0;
  cursor:pointer;
  padding:0;
  text-align:left;
  color:var(--ink);
}
:where(.pwsgo-enquiry, .pwsgo-exlist) .step {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:none;
  border:1.5px solid rgba(7,31,62,0.24);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  font:500 19px/1 'Archivo',system-ui,sans-serif;
  color:var(--ink);
}
:where(.pwsgo-enquiry, .pwsgo-exlist) .step:hover {
  border-color:var(--accent);
  color:var(--accent-dark);
}
:where(.pwsgo-enquiry) .numeral {
  font:500 13px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.1em;
  color:var(--accent-dark);
}
:where(.pwsgo-enquiry) .blk-h {
  font:500 clamp(21px,2.3vw,27px)/1.2 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
}
:where(.pwsgo-enquiry) .sched th,
:where(.pwsgo-enquiry) .sched td {
  text-align:left;
  padding:13px 16px 13px 0;
  font-size:14.5px;
  border-bottom:1px solid var(--rule);
  vertical-align:top;
}
:where(.pwsgo-enquiry) .sched th {
  font-weight:600;
}
:where(.pwsgo-enquiry) .sched tr:last-child td {
  border-bottom:0;
}
@keyframes totalIn {
  from { opacity:0; transform:translateY(-5px); }
  to { opacity:1; transform:none; }
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .mobile-bar {
  display:none;
}

/* vehicle */
/* continuous ticker of what travels with her */
@keyframes ticker {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(-50%,0,0); }
}
:where(.pwsgo-vehicle) .ticker {
  display:flex;
  width:max-content;
  animation:ticker 38s linear infinite;
}
:where(.pwsgo-vehicle) .ticker:hover {
  animation-play-state:paused;
}
:where(.pwsgo-vehicle) .ticker span {
  display:flex;
  align-items:center;
  gap:32px;
  padding-right:32px;
  font:500 15px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-soft);
  white-space:nowrap;
}
:where(.pwsgo-vehicle) .ticker i {
  width:5px;
  height:5px;
  border-radius:999px;
  background:var(--accent);
  flex:none;
}
/* mosaic: slow reveal on hover, the one hover motion on the page */
:where(.pwsgo-vehicle) .mosaic a img {
  transition:transform 600ms cubic-bezier(0.32,0.72,0,1);
}
:where(.pwsgo-vehicle) .mosaic a:hover img {
  transform:scale(1.035);
}
@media (max-width:640px) {

  /* vehicle */
  :where(.pwsgo-vehicle) .watermark {
    font-size:64px !important;
  }
}

/* vehicle */
@keyframes lbIn {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes lbZoom {
  from { opacity:0; transform:scale(0.96); }
  to { opacity:1; transform:none; }
}
:where(.pwsgo-vehicle) .lb {
  animation:lbIn 180ms ease both;
}
:where(.pwsgo-vehicle) .lb-img {
  animation:lbZoom 240ms cubic-bezier(0.32,0.72,0,1) both;
}
:where(.pwsgo-vehicle) .lb-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:none;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  color:#fff;
  cursor:pointer;
  transition:background-color .18s ease;
}
:where(.pwsgo-vehicle) .lb-btn:hover {
  background:rgba(255,255,255,0.28);
}
/* photography presence */
:where(.pwsgo-vehicle) .ph-subtle .mosaic {
  aspect-ratio:3/1 !important;
}
:where(.pwsgo-vehicle) .ph-subtle .fact-pills {
  display:none !important;
}
:where(.pwsgo-vehicle) .ph-subtle .layout-shot {
  aspect-ratio:16/9 !important;
}
:where(.pwsgo-vehicle) .ph-immersive .mosaic {
  aspect-ratio:16/9 !important;
}
:where(.pwsgo-vehicle) .ph-immersive .mosaic-wrap {
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
:where(.pwsgo-vehicle) .ph-immersive .mosaic {
  border-radius:0 !important;
}
:where(.pwsgo-vehicle) .ph-immersive .layout-shot {
  aspect-ratio:1 !important;
}
/* density */
:where(.pwsgo-vehicle) .d-compact section,
:where(.pwsgo-vehicle) .d-compact .facts {
  padding-top:20px !important;
  padding-bottom:20px !important;
}
:where(.pwsgo-vehicle) .d-compact dl > div {
  padding-top:8px !important;
  padding-bottom:8px !important;
}
:where(.pwsgo-vehicle) .d-compact table td,
:where(.pwsgo-vehicle) .d-compact table th {
  padding-top:9px !important;
  padding-bottom:9px !important;
}
:where(.pwsgo-vehicle) .d-compact .facts > div {
  padding:15px !important;
}
:where(.pwsgo-vehicle) .d-compact .equip > div {
  padding-top:8px !important;
  padding-bottom:8px !important;
}
:where(.pwsgo-vehicle) .d-generous section,
:where(.pwsgo-vehicle) .d-generous .facts {
  padding-top:52px !important;
  padding-bottom:52px !important;
}
:where(.pwsgo-vehicle) .d-generous dl > div {
  padding-top:17px !important;
  padding-bottom:17px !important;
}
:where(.pwsgo-vehicle) .d-generous .facts > div {
  padding:26px !important;
}
/* booking rail */
:where(.pwsgo-vehicle) .rail-flat #enquiry {
  box-shadow:none !important;
  border:0 !important;
  border-top:1px solid var(--rule) !important;
  border-radius:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  background:transparent !important;
}
:where(.pwsgo-vehicle) .rail-flat .trust {
  border-top:1px solid var(--rule);
  padding-top:16px;
}
:where(.pwsgo-vehicle) .rail-static .rail {
  position:static !important;
}
@media (max-width:1024px) {

  /* vehicle */
  :where(.pwsgo-vehicle) .cols {
    grid-template-columns:minmax(0,1fr) !important;
  }
  :where(.pwsgo-vehicle) .rail {
    position:static !important;
  }
  :where(.pwsgo-vehicle) .rail-desktop {
    display:none !important;
  }
  :where(.pwsgo-vehicle) .mobile-bar {
    display:flex !important;
  }
  :where(.pwsgo-vehicle) .mosaic {
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    aspect-ratio:auto !important;
  }
  :where(.pwsgo-vehicle) .mosaic > a {
    aspect-ratio:3/2;
  }
  :where(.pwsgo-vehicle) .mosaic-side {
    display:none !important;
  }
  :where(.pwsgo-vehicle) .mosaic .count {
    display:inline-flex !important;
  }
  :where(.pwsgo-vehicle) .pad-bottom {
    padding-bottom:104px !important;
  }
}

@media (max-width:640px) {

  /* vehicle */
  :where(.pwsgo-vehicle) .facts {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  :where(.pwsgo-vehicle) .facts > div:last-child {
    grid-column:span 2;
  }
  :where(.pwsgo-vehicle) .facts > div {
    padding:16px !important;
  }
  :where(.pwsgo-vehicle) .equip {
    grid-template-columns:minmax(0,1fr) !important;
  }
  :where(.pwsgo-vehicle) .cal {
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media (max-width:1080px) {

  /* vehicle · pricing · faq · about · contact · terms · policy */
  :where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) .nav-links {
    display:none !important;
  }

  /* pricing · faq · about · contact · terms · policy */
  :where(.pwsgo-pricing, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) .burger {
    display:flex !important;
  }
}

@media (max-width:900px) {

  /* pricing · faq · about · contact · terms · policy */
  :where(.pwsgo-pricing, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) .two {
    grid-template-columns:minmax(0,1fr) !important;
  }

  /* contact · policy */
  :where(.pwsgo-contact, .pwsgo-policy) .answer {
    position:static;
  }

  /* about */
  :where(.pwsgo-about) .story {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"head" "media" "prose";
    grid-template-rows:auto auto auto;
  }
  :where(.pwsgo-about) .story-media {
    margin-top:20px;
  }

  /* faq · terms */
  :where(.pwsgo-faq, .pwsgo-terms) .aside {
    position:static;
  }

  /* terms */
  :where(.pwsgo-terms) .toc {
    max-height:260px;
  }
}

@media (max-width:640px) {

  /* terms */
  :where(.pwsgo-terms) .sechead {
    grid-template-columns:28px minmax(0,1fr) 32px;
    gap:10px;
  }
  :where(.pwsgo-terms) .seccount {
    display:none;
  }
  :where(.pwsgo-terms) .clause {
    grid-template-columns:44px minmax(0,1fr);
    gap:12px;
  }
}

@media (max-width:780px) {

  /* faq */
  :where(.pwsgo-faq) .faq-grid {
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:760px) {

  /* pricing */
  :where(.pwsgo-pricing) .sticky-cta {
    display:flex !important;
  }
  :where(.pwsgo-pricing) .pad-bottom {
    padding-bottom:92px !important;
  }
  /* Stacked, the bar stopped being a bar. Every band became the same
     height whatever its length, under a twelve month scale that no longer
     lined up with anything, so the one thing it existed to show, which part
     of the year each rate covers, was the thing you could not read. It is a
     list on a narrow screen: each row says its season and its dates. */
  :where(.pwsgo-pricing) .band {
    height:auto;
    flex-direction:column;
    gap:6px;
    overflow:visible;
  }
  :where(.pwsgo-pricing) .pw-type-136 {
    display:none;
  }
  :where(.pwsgo-pricing) .seg {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:54px;
    padding:10px 16px;
    border-radius:8px;
    text-align:left;
  }
  :where(.pwsgo-pricing) .seg > span {
    display:block;
  }
  :where(.pwsgo-pricing) .seg-when {
    display:block;
    font-size:12.5px;
    font-weight:500;
    letter-spacing:0;
    text-transform:none;
    opacity:0.85;
    text-align:right;
  }
}

@media (prefers-reduced-motion: reduce) {

  /* pricing · faq · about · contact · terms · policy */
  :where(.pwsgo-pricing, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy), :where(.pwsgo-pricing, .pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) * {
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}

/* pricing */
:where(.pwsgo-pricing) .minirow {
  display:grid;
  grid-template-columns:minmax(0,34%) minmax(0,1fr);
  gap:8px 24px;
  padding:13px 0;
  border-top:1px solid var(--rule);
}
:where(.pwsgo-pricing) .minirow:first-child {
  border-top:0;
  padding-top:0;
}
:where(.pwsgo-pricing) .mt {
  font:600 14.5px/1.45 'IBM Plex Sans',system-ui,sans-serif;
}
:where(.pwsgo-pricing) .mb {
  font-size:14.5px;
  line-height:1.55;
  color:var(--ink-soft);
}
@media (max-width:760px) {

  /* pricing */
  :where(.pwsgo-pricing) .minirow {
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
}

/* pricing */
/* motion + watermarks */
@keyframes tick {
  from { transform:translate3d(0,0,0); }
  to { transform:translate3d(-50%,0,0); }
}
:where(.pwsgo-pricing) .band {
  transform-origin:left center;
}
:where(.pwsgo-pricing) .ghost {
  position:absolute;
  right:-6px;
  top:-16px;
  font:700 clamp(64px,10vw,140px)/0.8 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.05em;
  color:rgba(7,31,62,0.045);
  pointer-events:none;
  user-select:none;
  z-index:0;
}

/* pricing · how · enquiry */
/* watermarks */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) .blk {
  position:relative;
}

/* enquiry */
:where(.pwsgo-enquiry) .ghost {
  position:absolute;
  right:-4px;
  top:-18px;
  font:700 clamp(70px,11vw,150px)/0.8 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.05em;
  color:rgba(7,31,62,0.045);
  pointer-events:none;
  user-select:none;
  z-index:0;
}

/* pricing · how · enquiry */
:where(.pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) .blk > *:not(.ghost) {
  position:relative;
  z-index:1;
}

/* enquiry */
:where(.pwsgo-enquiry, .pwsgo-exlist) .exrow {
  transition:background-color .16s ease;
}
:where(.pwsgo-enquiry) .exrow:hover {
  background:rgba(110,139,45,0.04);
}
:where(.pwsgo-enquiry) .veh-card {
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
:where(.pwsgo-enquiry) .veh-card:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(7,31,62,0.08);
}
:where(.pwsgo-enquiry) .veh-card:hover span[role="img"] {
  transform:scale(1.06);
}
:where(.pwsgo-enquiry) .term-tab {
  transition:border-color .18s ease, background-color .18s ease, transform .18s ease;
}
:where(.pwsgo-enquiry) .term-tab:hover {
  transform:translateX(3px);
}
@media (max-width:860px) {

  /* enquiry */
  :where(.pwsgo-enquiry) .terms-grid {
    grid-template-columns:minmax(0,1fr) !important;
  }
}

/* how */
:where(.pwsgo-how) .ghost {
  position:absolute;
  right:-6px;
  top:-22px;
  z-index:0;
  font:700 clamp(64px,10vw,150px)/0.8 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.05em;
  color:rgba(7,31,62,0.05);
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
}
:where(.pwsgo-how) .ghost-word {
  right:auto;
  left:-4px;
  top:auto;
  bottom:-14px;
  font-size:clamp(52px,9vw,130px);
}
:where(.pwsgo-how) .ghost-doc {
  right:auto;
  left:-6px;
  top:auto;
  bottom:8px;
  opacity:0.7;
}
/* documents */
:where(.pwsgo-how) .dt {
  border-collapse:collapse;
}
:where(.pwsgo-how) .dt thead th {
  font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-faint);
  text-align:left;
  padding:0 18px 12px 0;
}
:where(.pwsgo-how) .dt tbody tr {
  transition:background-color .18s ease;
}
:where(.pwsgo-how) .dt tbody tr:hover {
  background:var(--well);
}
:where(.pwsgo-how) .dt tbody td,
:where(.pwsgo-how) .dt tbody th {
  padding:16px 18px 16px 0;
  border-top:1px solid var(--rule);
  vertical-align:top;
  font-size:15.5px;
  line-height:1.5;
  text-align:left;
}
:where(.pwsgo-how) .dt tbody tr:last-child td,
:where(.pwsgo-how) .dt tbody tr:last-child th {
  border-bottom:1px solid var(--rule);
}
:where(.pwsgo-how) .dt td.idx,
:where(.pwsgo-how) .dt th.idx {
  width:46px;
  padding-left:12px;
}
:where(.pwsgo-how) .dt tbody tr:hover td.idx .badge {
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
:where(.pwsgo-how) .badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  border:1.5px solid var(--rule);
  font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-soft);
  font-variant-numeric:tabular-nums;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
:where(.pwsgo-how) .whenpill {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 11px 5px 9px;
  border-radius:999px;
  background:var(--accent-wash);
  color:#4E6320;
  font:600 13px/1.2 'IBM Plex Sans',system-ui,sans-serif;
  white-space:nowrap;
}
:where(.pwsgo-how) .whenpill i {
  width:5px;
  height:5px;
  border-radius:999px;
  background:var(--accent);
  flex:none;
}
:where(.pwsgo-how) .dwhat {
  font-weight:600;
}
:where(.pwsgo-how) .dwhy {
  color:var(--ink-soft);
  font-size:14.5px;
}
:where(.pwsgo-how) .fact {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:14px;
  padding:11px 0;
  border-top:1px solid var(--rule);
  align-items:baseline;
}
:where(.pwsgo-how) .fact b {
  font:600 clamp(19px,2vw,23px)/1 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
}
:where(.pwsgo-how) .docaside {
  position:sticky;
  top:104px;
}
@media (max-width:900px) {

  /* how */
  :where(.pwsgo-how) .docaside {
    position:static;
  }
}

/* how */
:where(.pwsgo-how) .fact span {
  font-size:14.5px;
  line-height:1.45;
  color:var(--ink-soft);
}
@media (max-width:700px) {

  /* how */
  :where(.pwsgo-how) .dt thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  :where(.pwsgo-how) .dt,
  :where(.pwsgo-how) .dt tbody,
  :where(.pwsgo-how) .dt tr,
  :where(.pwsgo-how) .dt td,
  :where(.pwsgo-how) .dt th {
    display:block;
    width:100%;
  }
  :where(.pwsgo-how) .dt tbody tr {
    border-top:1px solid var(--rule);
    padding:14px 0;
  }
  :where(.pwsgo-how) .dt tbody td,
  :where(.pwsgo-how) .dt tbody th {
    border:0 !important;
    padding:2px 0;
  }
  :where(.pwsgo-how) .dt td.idx {
    display:none;
  }
}

/* how */
/* collection / return cards */
:where(.pwsgo-how) .daycard {
  border:1px solid var(--rule);
  border-radius:var(--r);
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
  transition:border-color .2s ease, box-shadow .2s ease;
}
:where(.pwsgo-how) .daycard:hover {
  border-color:rgba(7,31,62,0.3);
  box-shadow:0 14px 34px rgba(7,31,62,0.09);
}
:where(.pwsgo-how) .dayshot {
  background:var(--stone);
  aspect-ratio:16/10;
  overflow:hidden;
}
:where(.pwsgo-how) .dayshot image-slot {
  display:block;
  width:100%;
  height:100%;
}
:where(.pwsgo-how) .daybody {
  padding:clamp(20px,2.4vw,30px);
}
:where(.pwsgo-how) .daykick {
  font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.02em;
  color:var(--ink-faint);
}
:where(.pwsgo-how) .daykick span {
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font-size:11.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-right:8px;
}
:where(.pwsgo-how) .bring {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:12px;
  padding:11px 0;
  border-top:1px solid var(--rule);
  font-size:15px;
  line-height:1.55;
}
:where(.pwsgo-how) .tick {
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  margin-top:3px;
}
/* questions */
:where(.pwsgo-how) .qrow {
  display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,1fr);
  gap:8px 28px;
  padding:16px 0;
  border-top:1px solid var(--rule);
  align-items:baseline;
}
:where(.pwsgo-how) .qrow:first-child {
  border-top:0;
  padding-top:0;
}
:where(.pwsgo-how) .qq {
  font:600 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
}
@media (max-width:760px) {

  /* how */
  :where(.pwsgo-how) .qrow {
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
}

/* how */
:where(.pwsgo-how) .wm-img {
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  user-select:none;
  overflow:hidden;
  border-radius:var(--r);
}
:where(.pwsgo-how) .wm-img img {
  position:absolute;
  left:0;
  top:-12%;
  width:100%;
  height:124%;
  object-fit:cover;
  filter:grayscale(1);
  opacity:0.16;
  mix-blend-mode:screen;
}

/* pricing */
:where(.pwsgo-pricing) .ticker {
  display:flex;
  width:max-content;
  animation:tick 42s linear infinite;
}
:where(.pwsgo-pricing) .ticker:hover {
  animation-play-state:paused;
}
:where(.pwsgo-pricing) .ticker span {
  display:flex;
  align-items:center;
  gap:30px;
  padding-right:30px;
  font:500 14.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  color:var(--ink-soft);
  white-space:nowrap;
}
:where(.pwsgo-pricing) .ticker i {
  width:5px;
  height:5px;
  border-radius:999px;
  background:var(--accent);
  flex:none;
}
:where(.pwsgo-pricing) .shot {
  transition:transform 600ms cubic-bezier(0.32,0.72,0,1);
}
:where(.pwsgo-pricing) .ratecard {
  transition:border-color .2s ease, box-shadow .2s ease;
}
:where(.pwsgo-pricing) .ratecard:hover {
  border-color:rgba(7,31,62,0.3);
  box-shadow:0 12px 30px rgba(7,31,62,0.07);
}
:where(.pwsgo-pricing) .ratecard:hover .shot {
  transform:scale(1.05);
}
@media (max-width:640px) {

  /* pricing · how · enquiry */
  :where(.pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) .ghost {
    display:none;
  }
}

@media (max-width:1023px) {

  /* enquiry */
  :where(.pwsgo-enquiry) .cols {
    grid-template-columns:minmax(0,1fr) !important;
  }
  :where(.pwsgo-enquiry) .rail-wrap {
    display:none !important;
  }
  :where(.pwsgo-enquiry) .mobile-bar {
    display:block !important;
  }
  :where(.pwsgo-enquiry) .pad-bottom {
    padding-bottom:104px !important;
  }
}

/* how */
/* — timeline — */
:where(.pwsgo-how) .tl {
  list-style:none;
  padding:0;
  margin:0;
}
:where(.pwsgo-how) .step {
  display:grid;
  grid-template-columns:minmax(0,168px) 34px minmax(0,1fr);
  align-items:start;
}
:where(.pwsgo-how) .when {
  font:600 14.5px/1.35 'IBM Plex Sans',system-ui,sans-serif;
  padding:26px 20px 0 0;
  text-align:right;
  letter-spacing:-0.005em;
}
:where(.pwsgo-how) .spine {
  position:relative;
  align-self:stretch;
  justify-self:center;
  width:34px;
}
:where(.pwsgo-how) .spine::before {
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  margin-left:-1px;
  background:var(--rule);
}
:where(.pwsgo-how) .step:first-child .spine::before {
  top:30px;
}
:where(.pwsgo-how) .step:last-child .spine::before {
  bottom:auto;
  height:30px;
}
:where(.pwsgo-how) .fill {
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  margin-left:-1px;
  background:var(--accent);
  transform-origin:top center;
  transform:scaleY(0);
}
:where(.pwsgo-how) .step:first-child .fill {
  top:30px;
}
:where(.pwsgo-how) .step:last-child .fill {
  bottom:auto;
  height:30px;
}
@media (max-width:820px) {

  /* how */
  :where(.pwsgo-how) .step:first-child .fill {
    top:12px;
  }
  :where(.pwsgo-how) .step:last-child .fill {
    height:12px;
  }
}

/* how */
:where(.pwsgo-how) .dot {
  position:absolute;
  left:50%;
  top:24px;
  width:13px;
  height:13px;
  margin-left:-6.5px;
  border-radius:999px;
  background:#fff;
  border:2.5px solid var(--ink-faint);
  z-index:1;
}
:where(.pwsgo-how) .dot-on {
  background:var(--accent);
  border-color:var(--accent);
}
:where(.pwsgo-how) .dot-live {
  background:var(--ink);
  border-color:var(--ink);
}
:where(.pwsgo-how) .sbody {
  padding:18px 0 28px;
  min-width:0;
}
:where(.pwsgo-how) .stitle {
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px;
  gap:14px;
  align-items:center;
  width:100%;
  text-align:left;
  border:0;
  background:none;
  padding:0;
  cursor:pointer;
}
:where(.pwsgo-how) .stitle span.t {
  font:600 clamp(18px,1.9vw,21px)/1.3 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
}
:where(.pwsgo-how) .stitle:hover span.t {
  color:var(--accent-dark);
}
:where(.pwsgo-how) .sign {
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:none;
  border-radius:999px;
  background:rgba(7,31,62,0.07);
  color:var(--ink);
  font:400 19px/1 'Archivo',system-ui,sans-serif;
  transition:background-color .18s ease, color .18s ease;
}
:where(.pwsgo-how) .stitle:hover .sign {
  background:var(--accent);
  color:#fff;
}
:where(.pwsgo-how) .stext {
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-soft);
  margin-top:10px;
  max-width:58ch;
}
:where(.pwsgo-how) .stext strong {
  color:var(--ink);
  font-weight:600;
}
:where(.pwsgo-how) .phase {
  display:grid;
  grid-template-columns:minmax(0,168px) 34px minmax(0,1fr);
  align-items:center;
}
:where(.pwsgo-how) .phase-lab {
  grid-column:3;
  font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-faint);
  padding:6px 0 16px;
}
:where(.pwsgo-how) .phase-first .phase-lab {
  padding-top:0;
}
:where(.pwsgo-how) .whenm {
  display:none;
}
@media (max-width:1080px) {

  /* how · enquiry */
  :where(.pwsgo-how, .pwsgo-enquiry) .nav-links {
    display:none !important;
  }
  :where(.pwsgo-how, .pwsgo-enquiry) .burger {
    display:flex !important;
  }
}

@media (max-width:640px) {

  /* enquiry */
  :where(.pwsgo-enquiry) .two-up,
  :where(.pwsgo-enquiry) .cal-two {
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media (max-width:900px) {

  /* how */
  :where(.pwsgo-how) .two {
    grid-template-columns:minmax(0,1fr) !important;
  }
}

@media (max-width:820px) {

  /* how */
  :where(.pwsgo-how) .step,
  :where(.pwsgo-how) .phase {
    grid-template-columns:26px minmax(0,1fr);
  }
  :where(.pwsgo-how) .when {
    display:none;
  }
  :where(.pwsgo-how) .whenm {
    display:block;
    font:600 13px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.03em;
    color:var(--accent-dark);
    text-transform:uppercase;
    margin-bottom:8px;
  }
  :where(.pwsgo-how) .spine {
    grid-column:1;
    width:26px;
  }
  :where(.pwsgo-how) .dot {
    top:6px;
  }
  :where(.pwsgo-how) .step:first-child .spine::before {
    top:12px;
  }
  :where(.pwsgo-how) .step:last-child .spine::before {
    height:12px;
  }
  :where(.pwsgo-how) .sbody {
    padding:0 0 30px;
  }
  :where(.pwsgo-how) .phase-lab {
    grid-column:2;
  }
  :where(.pwsgo-how) .rt tbody th {
    white-space:normal;
  }
}

@media (max-width:760px) {

  /* how */
  :where(.pwsgo-how) .sticky-cta {
    display:flex !important;
  }
  :where(.pwsgo-how) .pad-bottom {
    padding-bottom:92px !important;
  }
}

@media (prefers-reduced-motion: reduce) {

  /* how · enquiry */
  :where(.pwsgo-how, .pwsgo-enquiry), :where(.pwsgo-how, .pwsgo-enquiry) * {
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }

  /* pricing */
  :where(.pwsgo-pricing) .ticker {
    animation:none !important;
  }
}

@media (max-width:1080px) {

  /* vehicle */
  :where(.pwsgo-vehicle) .burger {
    display:inline-flex !important;
  }
}

@media (prefers-reduced-motion: reduce) {

  /* vehicle */
  :where(.pwsgo-vehicle), :where(.pwsgo-vehicle) * {
    transition:none !important;
    animation:none !important;
  }
}

/* home */
:root:where(.pwsgo-home) {
  --accent: #6E8B2D;
  --accent-dark: #4E6320;
  --accent-tint: #EDF0E4;
  --ink: #071F3E;
  --paper: #ffffff;
  --sand: #EDF0E4;
  --stone: #D9D9D9;
  --r: 22px;
}
@keyframes heroPan {
  0% { transform: scale(1.14) translate3d(3.5%, 0.6%, 0); }
  100% { transform: scale(1.05) translate3d(-3.5%, -0.6%, 0); }
}
@keyframes vanDrive {
  0% { transform: translate3d(26%, 34%, 0) scale(1.15); opacity: 0; }
  6% { opacity: 1; }
  72% { transform: translate3d(-10%, -14%, 0) scale(0.3); opacity: 1; }
  88% { transform: translate3d(-14%, -19%, 0) scale(0.17); opacity: 0; }
  100% { transform: translate3d(-14%, -19%, 0) scale(0.17); opacity: 0; }
}
@keyframes vanBob {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  30% { transform: translate3d(0, -0.6%, 0) rotate(-0.25deg); }
  65% { transform: translate3d(0, 0.5%, 0) rotate(0.2deg); }
}
@keyframes heroBob {
  0%, 100% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(0, -0.35%, 0); }
  60% { transform: translate3d(0, 0.3%, 0); }
}
@keyframes heroGlow {
  0%, 100% { opacity: 0.30; }
  50% { opacity: 0.52; }
}
@media (prefers-reduced-motion: reduce) {

  /* home */
  :where(.pwsgo-home) [data-hero-img],
  :where(.pwsgo-home) [data-hero-rise],
  :where(.pwsgo-home) [data-hero-glow] {
    animation: none !important;
  }
}

/* home */
:where(.pwsgo-home) body,
:where(.pwsgo-home) body *,
:where(.pwsgo-home) input,
:where(.pwsgo-home) select,
:where(.pwsgo-home) button,
:where(.pwsgo-home) textarea {
  font-family:'IBM Plex Sans',system-ui,sans-serif;
}
:where(.pwsgo-home) h1,
:where(.pwsgo-home) h2,
:where(.pwsgo-home) h3,
:where(.pwsgo-home) .display,
:where(.pwsgo-home) .blk-h,
:where(.pwsgo-home) .sect,
:where(.pwsgo-home) .num-xl {
  font-family:'Archivo',system-ui,sans-serif;
  letter-spacing:-0.02em;
}
:where(.pwsgo-home) body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  text-wrap: pretty;
}
:where(.pwsgo-home) a {
  color: var(--accent-dark);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
:where(.pwsgo-home) a:hover {
  color: var(--ink);
}
:where(.pwsgo-home) h1,
:where(.pwsgo-home) h2,
:where(.pwsgo-home) h3,
:where(.pwsgo-home) p {
  margin: 0;
}
:where(.pwsgo-home) .pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  padding: 16px 27px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
}
:where(.pwsgo-home) .pill-accent {
  background: var(--accent);
  background-color: var(--accent);
  color: #fff;
}
:where(.pwsgo-home) .pill-accent:hover {
  background: #4E6320;
  background-color: #4E6320;
  color: #fff;
  text-decoration: none;
}
:where(.pwsgo-home) .pill-dark {
  background: var(--ink);
  color: #fff;
}
:where(.pwsgo-home) .pill-dark:hover {
  background: #123A63;
  background-color: #123A63;
  color: #fff;
  text-decoration: none;
}
:where(.pwsgo-home) .pill-white {
  background: #fff;
  color: var(--ink);
}
:where(.pwsgo-home) .pill-white:hover {
  background: rgba(255,255,255,0.85);
  color: var(--ink);
  text-decoration: none;
}
:where(.pwsgo-home) button.pill {
  background-color: transparent;
}
:where(.pwsgo-home) .pill-line {
  background-color: transparent;
  border-color: rgba(7,31,62,0.28);
  color: var(--ink);
}
:where(.pwsgo-home) .pill-line:hover {
  border-color: var(--ink);
  background: rgba(7,31,62,0.05);
  color: var(--ink);
  text-decoration: none;
}
:where(.pwsgo-home) .pill-light {
  border-color: rgba(255,255,255,0.6);
  color: #fff;
}
:where(.pwsgo-home) .pill-light:hover {
  background: rgba(255,255,255,0.16);
  color: #fff;
  text-decoration: none;
}
:where(.pwsgo-home) .navlink {
  position: relative;
  font: 600 12.5px/1 'IBM Plex Sans', system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
  padding: 12px 2px;
  white-space: nowrap;
  text-decoration: none;
}
:where(.pwsgo-home) .ulink {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
:where(.pwsgo-home) .ulink::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -3px;
  height: 1.5px;
  background: currentColor;
  opacity: 0.8;
  transition: left 300ms cubic-bezier(0.22,0.61,0.36,1), right 300ms cubic-bezier(0.22,0.61,0.36,1);
}
:where(.pwsgo-home) .ulink:hover::after,
:where(.pwsgo-home) .ulink:focus-visible::after {
  left: 0;
  right: 0;
}
:where(.pwsgo-home) .card {
  border-radius: var(--r);
  overflow: hidden;
}
:where(.pwsgo-home) [data-rise] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition: opacity .55s cubic-bezier(0.2,0,0,1), transform .55s cubic-bezier(0.2,0,0,1);
}
:where(.pwsgo-home) [data-rise].is-in {
  opacity: 1;
  transform: none;
}
/* menu: panel wipes down, rows follow in sequence */
:where(.pwsgo-home) [data-drawer] {
  overflow: hidden;
  animation: drawerIn-home 320ms cubic-bezier(0.2,0,0,1) both;
}
@keyframes drawerIn-home {
  from { clip-path: inset(0 0 100% 0); }
  to { clip-path: inset(0 0 0 0); }
}
:where(.pwsgo-home) [data-drawer] > a {
  animation: rowIn-home 300ms cubic-bezier(0.2,0,0,1) both;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(1) {
  animation-delay: 60ms;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(2) {
  animation-delay: 105ms;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(3) {
  animation-delay: 150ms;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(4) {
  animation-delay: 195ms;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(5) {
  animation-delay: 240ms;
}
:where(.pwsgo-home) [data-drawer] > a:nth-child(6) {
  animation-delay: 285ms;
}
@keyframes rowIn-home {
  from { opacity: 0; transform: translate3d(0,-8px,0); }
  to { opacity: 1; transform: none; }
}
/* hero: image settles, then the copy rises in sequence */
:where(.pwsgo-home) [data-hero-img] {
  animation: heroImg 1200ms cubic-bezier(0.2,0,0,1) both;
}
@keyframes heroImg {
  from { transform: scale(1.06); }
  to { transform: scale(1); }
}
:where(.pwsgo-home) [data-hero-rise] {
  animation: heroRise 700ms cubic-bezier(0.2,0,0,1) both;
}
:where(.pwsgo-home) [data-hero-rise="1"] {
  animation-delay: 120ms;
}
:where(.pwsgo-home) [data-hero-rise="2"] {
  animation-delay: 220ms;
}
:where(.pwsgo-home) [data-hero-rise="3"] {
  animation-delay: 320ms;
}
:where(.pwsgo-home) [data-hero-rise="4"] {
  animation-delay: 440ms;
}
@keyframes heroRise {
  from { opacity: 0; transform: translate3d(0,18px,0); }
  to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {

  /* home */
  :where(.pwsgo-home) [data-drawer],
  :where(.pwsgo-home) [data-drawer] > a {
    animation: none !important;
  }
}

/* home */
:where(.pwsgo-home) a:focus-visible,
:where(.pwsgo-home) button:focus-visible,
:where(.pwsgo-home) input:focus-visible,
:where(.pwsgo-home) select:focus-visible,
:where(.pwsgo-home) [tabindex]:focus-visible {
  outline: 3px solid var(--accent-dark);
  outline-offset: 3px;
  border-radius: 6px;
}
:where(.pwsgo-home) a.card {
  transition: transform .22s ease, box-shadow .22s ease;
}
:where(.pwsgo-home) a.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px #D9D9D9;
}
:where(.pwsgo-home) a.card:hover img {
  filter: brightness(1.04);
}
:where(.pwsgo-home) .pill {
  min-height: 44px;
  position: relative;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .16s ease, box-shadow .18s ease;
}
:where(.pwsgo-home) .pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(7,31,62,0.18);
}
:where(.pwsgo-home) .pill:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(7,31,62,0.16);
}
:where(.pwsgo-home) .pill-accent:active {
  background-color: #4E6320;
}
:where(.pwsgo-home) .pill-dark:active {
  background-color: #071F3E;
}
:where(.pwsgo-home) .pill-line:hover {
  background-color: rgba(7,31,62,0.06);
  border-color: #4A5B75;
}
:where(.pwsgo-home) .pill-line:active {
  background-color: #D9D9D9;
}
:where(.pwsgo-home) .pill-white:hover {
  background-color: #D9D9D9;
}
:where(.pwsgo-home) .faq-q {
  transition: color .18s ease;
}
:where(.pwsgo-home) .tabbtn {
  min-height: 44px;
}
:where(.pwsgo-home) .tabbtn:hover {
  color: var(--ink);
  background-color: rgba(255,255,255,0.6);
}
:where(.pwsgo-home) .skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  background: var(--ink);
  color: #fff;
  padding: 12px 20px;
  border-radius: 0 0 12px 0;
  font-size: 14.5px;
  font-weight: 600;
}
:where(.pwsgo-home) .skip:focus {
  left: 0;
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {

  /* home */
  :where(.pwsgo-home), :where(.pwsgo-home) * {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

/* home */
:where(.pwsgo-home) .fld {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
:where(.pwsgo-home) .fld label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4A5B75;
}
:where(.pwsgo-home) .fld input,
:where(.pwsgo-home) .fld select {
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  background: #fff;
  border: 1.5px solid rgba(7,31,62,0.16);
  border-radius:8px;
  padding: 13px 14px;
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
}
:where(.pwsgo-home) .fld input:focus-visible,
:where(.pwsgo-home) .fld select:focus-visible {
  outline: 3px solid var(--accent-dark);
  outline-offset: 2px;
}
:where(.pwsgo-home) .fld input:hover,
:where(.pwsgo-home) .fld select:hover {
  border-color: rgba(7,31,62,0.4);
}
/* The two date fields. Buttons rather than date inputs, because a native
     date input brings a picker that cannot be told which days are already
     taken. Dressed to match the select beside them exactly. */
:where(.pwsgo-home) .daybtn {
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
  background: #fff;
  text-align: left;
  border: 1.5px solid rgba(7,31,62,0.16);
  border-radius: 8px;
  padding: 13px 14px;
  min-height: 48px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
}
:where(.pwsgo-home) .daybtn:hover {
  border-color: rgba(7,31,62,0.4);
}
:where(.pwsgo-home) .daypop {
  position: absolute;
  z-index: 60;
  top: calc(100% - 10px);
  left: clamp(16px,4vw,32px);
  width: min(330px, calc(100% - 2 * clamp(16px,4vw,32px)));
  background: #fff;
  border: 1px solid var(--rule);
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 18px 44px rgba(7,31,62,0.18);
  color: var(--ink);
}
/* The hero card clips what hangs out of it, which is right for the
     photograph and wrong for a popover that has to hang below the search
     panel. It stops clipping only while the picker is open, so nothing else
     about the hero changes. */
:where(.pwsgo-home) .card:has(.daypop) {
  overflow: visible;
}
:where(.pwsgo-home) .daypop-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
:where(.pwsgo-home) .daypop-month {
  font: 600 15px/1.3 'IBM Plex Sans', system-ui, sans-serif;
  margin: 0;
}
:where(.pwsgo-home) .daypop-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  gap: 2px;
  margin-top: 10px;
}
:where(.pwsgo-home) .daypop-dow {
  text-align: center;
  font-size: 12.5px;
  color: #4A5B75;
  padding-bottom: 4px;
}
:where(.pwsgo-home) .daypop-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--rule);
}
:where(.pwsgo-home) .daypop-key {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #4A5B75;
}
:where(.pwsgo-home) .daypop-swatch {
  width: 13px;
  height: 13px;
  border-radius: 3px;
  border: 1px solid var(--rule);
  background-image: repeating-linear-gradient(45deg,#4A5B75 0 1px,transparent 1px 4px);
}
:where(.pwsgo-home) .daypop-done {
  border: 0;
  background: var(--ink);
  color: #fff;
  border-radius: 999px;
  padding: 7px 16px;
  font: 600 13.5px/1 'IBM Plex Sans', system-ui, sans-serif;
  cursor: pointer;
}
:where(.pwsgo-home) .calmove {
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  margin-left: 6px;
}
:where(.pwsgo-home) .calmove:hover:not(.is-off) {
  background: #F2F4EC;
  border-color: var(--ink);
}
:where(.pwsgo-home) .calmove.is-off {
  opacity: .35;
  cursor: default;
}
:where(.pwsgo-home) .cell {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  min-height: 36px;
  border: 0;
  background: none;
  cursor: pointer;
  border-radius: 6px;
  font: 400 14.5px/1 'IBM Plex Sans', system-ui, sans-serif;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
:where(.pwsgo-home) .cell-empty {
  visibility: hidden;
  cursor: default;
}
:where(.pwsgo-home) .cell-avail:hover {
  background: #F2F4EC;
}
:where(.pwsgo-home) .cell-range {
  background: #F2F4EC;
  border-radius: 0;
}
:where(.pwsgo-home) .cell-end {
  background: var(--accent);
  color: #fff;
}
:where(.pwsgo-home) .cell-booked {
  color: #8A97AA;
  cursor: not-allowed;
  background-image: repeating-linear-gradient(45deg,#4A5B75 0 1px,transparent 1px 4px);
}
:where(.pwsgo-home) .cell-past {
  color: #8A97AA;
  opacity: 0.4;
  cursor: not-allowed;
}
:where(.pwsgo-home) .faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  text-align: left;
  background: none;
  border: 0;
  padding: 22px 0;
  cursor: pointer;
  font-size: clamp(17px,1.6vw,21px);
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
}
:where(.pwsgo-home) .faq-q:hover {
  color: var(--accent-dark);
}
:where(.pwsgo-home) .burger {
  display: none;
}
@media (max-width: 700px) {

  /* home */
  :where(.pwsgo-home) #included h2,
  :where(.pwsgo-home) #included p {
    white-space: normal !important;
  }
}

@media (max-width: 780px) {

  /* home */
  :where(.pwsgo-home) .faq-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

@media (max-width: 1120px) {

  /* home */
  :where(.pwsgo-home) .rev {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 900px) {

  /* home */
  :where(.pwsgo-home) .two {
    grid-template-columns: minmax(0,1fr) !important;
  }
  :where(.pwsgo-home) .four {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  :where(.pwsgo-home) .search {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

/* home */
:where(.pwsgo-home) .navsub {
  padding-left: 16px !important;
  border-left: 2px solid #D9D9D9;
  color: #4A5B75 !important;
}
@keyframes stepUp {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* — uniform interaction layer (same on every page) — */
:where(.pwsgo-shell) .pill {
  border-radius:8px;
  white-space:nowrap;
  transition:background-color 150ms cubic-bezier(0.2,0,0,1), color 150ms cubic-bezier(0.2,0,0,1), border-color 150ms cubic-bezier(0.2,0,0,1), transform 150ms cubic-bezier(0.2,0,0,1), box-shadow 150ms cubic-bezier(0.2,0,0,1);
}
:where(.pwsgo-shell) .pill:hover {
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(7,31,62,0.12);
}
:where(.pwsgo-shell) .pill:active {
  transform:translateY(0);
  box-shadow:none;
}
:where(.pwsgo-shell) .pill-accent,
:where(.pwsgo-shell) a.pill-accent {
  background-color:#F0A91F;
  color:#071F3E;
}
:where(.pwsgo-shell) .pill-accent::after {
  content:"";
  flex:none;
  width:18px;
  height:18px;
  margin-left:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' sc-camel-view-box='0 0 24 24' fill='none' stroke='%23071F3E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M7 12h8M12 8l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;
}
:where(.pwsgo-shell) .pill-accent:hover,
:where(.pwsgo-shell) a.pill-accent:hover {
  background-color:#DC991B;
  color:#071F3E;
  text-decoration:none;
}
:where(.pwsgo-shell) .pill-accent:active {
  background-color:#C88A18;
}
:where(.pwsgo-shell) .pill-olive,
:where(.pwsgo-shell) a.pill-olive {
  background-color:#4E6320;
  color:#fff;
}
:where(.pwsgo-shell) .pill-olive:hover,
:where(.pwsgo-shell) a.pill-olive:hover {
  background-color:#435519;
  color:#fff;
  text-decoration:none;
}
:where(.pwsgo-shell) .pill-dark,
:where(.pwsgo-shell) a.pill-dark {
  background-color:#071F3E;
  color:#fff;
}
:where(.pwsgo-shell) .pill-dark:hover,
:where(.pwsgo-shell) a.pill-dark:hover {
  background-color:#122F55;
  color:#fff;
  text-decoration:none;
}
:where(.pwsgo-shell) .pill-sand,
:where(.pwsgo-shell) a.pill-sand {
  background-color:#FFFFFF;
  color:#071F3E;
  border:1px solid #D9D9D9;
}
:where(.pwsgo-shell) .pill-sand:hover,
:where(.pwsgo-shell) a.pill-sand:hover {
  background-color:#FAFAF8;
  color:#071F3E;
  text-decoration:none;
}
:where(.pwsgo-shell) .pill-line {
  background-color:transparent;
  border:1.5px solid #071F3E;
  color:#071F3E;
}
:where(.pwsgo-shell) .pill-line:hover {
  background-color:#EDF0E4;
  border-color:#071F3E;
  color:#071F3E;
  text-decoration:none;
}
:where(.pwsgo-shell) a:focus-visible,
:where(.pwsgo-shell) button:focus-visible,
:where(.pwsgo-shell) input:focus-visible,
:where(.pwsgo-shell) select:focus-visible,
:where(.pwsgo-shell) textarea:focus-visible,
:where(.pwsgo-shell) [tabindex]:focus-visible {
  outline:2px solid #071F3E;
  outline-offset:2px;
  border-radius:4px;
}
:where(.pwsgo-shell) footer a:focus-visible,
:where(.pwsgo-shell) footer button:focus-visible,
:where(.pwsgo-shell) [style*="background:var(--ink)"] a:focus-visible {
  outline-color:#F0A91F;
}
:where(.pwsgo-shell) .navlink {
  position:relative;
}
:where(.pwsgo-shell) .navlink::after {
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:6px;
  height:1.5px;
  background:currentColor;
  opacity:0.85;
  transition:left 300ms cubic-bezier(0.22,0.61,0.36,1), right 300ms cubic-bezier(0.22,0.61,0.36,1);
}
:where(.pwsgo-shell) .navlink:hover,
:where(.pwsgo-shell) .navlink:focus-visible {
  color:#4E6320;
  text-decoration:none;
}
:where(.pwsgo-shell) .navlink:hover::after,
:where(.pwsgo-shell) .navlink:focus-visible::after {
  left:2px;
  right:2px;
}
:where(.pwsgo-shell)::selection, :where(.pwsgo-shell) ::selection {
  background:rgba(110,139,45,0.24);
}
:where(.pwsgo-shell) :disabled {
  opacity:0.45;
  cursor:not-allowed;
}

/* faq · about · contact · terms · policy */
:where(.pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) footer .pill:not([class*="pill-"]) {
  background-color:rgba(255,255,255,0.1);
  color:#fff;
}
:where(.pwsgo-faq, .pwsgo-about, .pwsgo-contact, .pwsgo-terms, .pwsgo-policy) footer .pill:not([class*="pill-"]):hover {
  background-color:rgba(255,255,255,0.22);
  color:#fff;
  text-decoration:none;
}

/* about · terms */
:where(.pwsgo-about, .pwsgo-terms) .ulink {
  position:relative;
  display:inline-block;
  width:fit-content;
  max-width:100%;
  text-decoration:none;
}

/* vehicle · pricing · how · enquiry */
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) .pill-ghost,
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) footer .pill:not([class*="pill-"]),
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) nav .pill:not([class*="pill-"]) {
  background-color:rgba(255,255,255,0.1);
  color:#fff;
}
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) .pill-ghost:hover,
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-enquiry) footer .pill:not([class*="pill-"]):hover {
  background-color:rgba(255,255,255,0.22);
  color:#fff;
  text-decoration:none;
}

/* vehicle · enquiry */
:where(.pwsgo-vehicle, .pwsgo-enquiry) .pill-ghost:active,
:where(.pwsgo-vehicle, .pwsgo-enquiry) footer .pill:not([class*="pill-"]):active {
  background-color:rgba(255,255,255,0.3);
}

/* vehicle · pricing · how · faq · contact · enquiry · policy */
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-enquiry, .pwsgo-policy) .ulink {
  position:relative;
  display:inline-block;
  width:fit-content;
  max-width:100%;
  justify-self:start;
  text-decoration:none;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) .ulink::after {
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:-3px;
  height:1.5px;
  background:currentColor;
  opacity:0.8;
  transition:left 300ms cubic-bezier(0.22,0.61,0.36,1), right 300ms cubic-bezier(0.22,0.61,0.36,1);
}

/* vehicle · pricing · how · faq · contact · enquiry · policy */
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-enquiry, .pwsgo-policy) .ulink:hover,
:where(.pwsgo-vehicle, .pwsgo-pricing, .pwsgo-how, .pwsgo-faq, .pwsgo-contact, .pwsgo-enquiry, .pwsgo-policy) .ulink:focus-visible {
  text-decoration:none;
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
:where(.pwsgo-sub) .ulink:hover::after,
:where(.pwsgo-sub) .ulink:focus-visible::after {
  left:0;
  right:0;
}

/* home · vehicle · pricing · enquiry */
:where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-pricing, .pwsgo-enquiry) a.card {
  transition:transform .22s ease, box-shadow .22s ease;
}
:where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-pricing, .pwsgo-enquiry) a.card:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 34px #D9D9D9;
}
@media (prefers-reduced-motion: reduce) {

  /* home · vehicle · enquiry */
  :where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-enquiry) .pill,
  :where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-enquiry) a.card {
    transition-duration:.001ms !important;
  }
  :where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-enquiry) .pill:hover,
  :where(.pwsgo-home, .pwsgo-vehicle, .pwsgo-enquiry) a.card:hover {
    transform:none;
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* ——— canonical button roles (identical on every PWSGO page) ——— */
:where(.pwsgo-shell) .pill {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
:where(.pwsgo-shell) .pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(7,31,62,0.16);
  text-decoration: none;
}
:where(.pwsgo-shell) .pill:active {
  transform: translateY(0);
  box-shadow: none;
}
:where(.pwsgo-shell) .pill:focus-visible {
  outline: 2px solid #F0A91F;
  outline-offset: 2px;
}
:where(.pwsgo-shell) .pill-accent,
:where(.pwsgo-shell) a.pill-accent,
:where(.pwsgo-shell) button.pill-accent {
  background-color: #F0A91F;
  color: #071F3E;
  border-color: transparent;
}
:where(.pwsgo-shell) .pill-accent:hover {
  background-color: #DC991B;
  color: #071F3E;
}
:where(.pwsgo-shell) .pill-dark,
:where(.pwsgo-shell) a.pill-dark,
:where(.pwsgo-shell) button.pill-dark {
  background-color: #071F3E;
  color: #fff;
  border-color: transparent;
}
:where(.pwsgo-shell) .pill-dark:hover {
  background-color: #123A63;
  color: #fff;
}
:where(.pwsgo-shell) .pill-line,
:where(.pwsgo-shell) a.pill-line,
:where(.pwsgo-shell) button.pill-line {
  background-color: transparent;
  color: #071F3E;
  border: 1.5px solid rgba(7,31,62,0.28);
}
:where(.pwsgo-shell) .pill-line:hover {
  background-color: rgba(7,31,62,0.05);
  border-color: #071F3E;
  color: #071F3E;
}
:where(.pwsgo-shell) .pill-sand,
:where(.pwsgo-shell) a.pill-sand,
:where(.pwsgo-shell) button.pill-sand {
  background-color: #fff;
  color: #071F3E;
  border: 1.5px solid #D9D9D9;
}
:where(.pwsgo-shell) .pill-sand:hover {
  background-color: #F2F4EC;
  color: #071F3E;
  border-color: #071F3E;
}
:where(.pwsgo-shell) .pill-ghost-dark,
:where(.pwsgo-shell) a.pill-ghost-dark {
  background-color: rgba(255,255,255,0.12);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.38);
}
:where(.pwsgo-shell) .pill-ghost-dark:hover {
  background-color: rgba(255,255,255,0.22);
  color: #fff;
  border-color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.24);
}
@media (prefers-reduced-motion: reduce) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) .pill:hover,
  :where(.pwsgo-shell) .pill:active {
    transform: none;
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* ——— shared responsive layer (identical on every PWSGO page) ——— */
:where(.pwsgo-shell) img,
:where(.pwsgo-shell) video,
:where(.pwsgo-shell) iframe,
:where(.pwsgo-shell) svg,
:where(.pwsgo-shell) image-slot {
  max-width: 100%;
}
:where(.pwsgo-shell), :where(.pwsgo-shell) * {
  min-width: 0;
}
@media (max-width: 900px) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) [style*="grid-template-columns: repeat(2,"],
  :where(.pwsgo-shell) [style*="grid-template-columns: minmax(min("],
  :where(.pwsgo-shell) .two,
  :where(.pwsgo-shell) .cols,
  :where(.pwsgo-shell) .two-up,
  :where(.pwsgo-shell) .pw-grid-4,
  :where(.pwsgo-shell) .pw-grid-5,
  :where(.pwsgo-shell) .pw-grid-15,
  :where(.pwsgo-shell) .pw-grid-24,
  :where(.pwsgo-shell) .pw-grid-25,
  :where(.pwsgo-shell) .pw-grid-26,
  :where(.pwsgo-shell) .pw-grid-28,
  :where(.pwsgo-shell) .pw-grid-38,
  :where(.pwsgo-shell) .pw-grid-40,
  :where(.pwsgo-shell) .pw-grid-46,
  :where(.pwsgo-shell) .pw-grid-53,
  :where(.pwsgo-shell) .pw-grid-58,
  :where(.pwsgo-shell) .pw-grid-59,
  :where(.pwsgo-shell) .pw-grid-69,
  :where(.pwsgo-shell) .pw-grid-70 {
    grid-template-columns: minmax(0,1fr) !important;
  }
  :where(.pwsgo-shell) .ghost,
  :where(.pwsgo-shell) .watermark {
    display: none !important;
  }
}

@media (max-width: 640px) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) [style*="grid-template-columns: repeat(3,"],
  :where(.pwsgo-shell) [style*="grid-template-columns: repeat(4,"],
  :where(.pwsgo-shell) [style*="grid-template-columns: 40px"],
  :where(.pwsgo-shell) [style*="grid-template-columns: 82px"],
  :where(.pwsgo-shell) [style*="grid-template-columns: 18px"],
  :where(.pwsgo-shell) [style*="grid-template-columns: auto"],
  :where(.pwsgo-shell) .pw-grid-10,
  :where(.pwsgo-shell) .pw-grid-45,
  :where(.pwsgo-shell) .pw-grid-52,
  :where(.pwsgo-shell) .pw-grid-54,
  :where(.pwsgo-shell) .pw-grid-71,
  :where(.pwsgo-shell) .pw-grid-72,
  :where(.pwsgo-shell) .pw-grid-73 {
    grid-template-columns: minmax(0,1fr) !important;
  }
  :where(.pwsgo-shell) [style*="white-space: nowrap"]:not([class*="pill"]):not(.navlink),
  :where(.pwsgo-shell) .pw-spec-detail,
  :where(.pwsgo-shell) .pw-menu-link,
  :where(.pwsgo-shell) .pw-foot-watermark,
  :where(.pwsgo-shell) .pw-nowrap,
  :where(.pwsgo-shell) .pw-pad-2,
  :where(.pwsgo-shell) .pw-type-20,
  :where(.pwsgo-shell) .pw-absolute-2,
  :where(.pwsgo-shell) .pw-bit-4,
  :where(.pwsgo-shell) .pw-pad-5,
  :where(.pwsgo-shell) .pw-type-116,
  :where(.pwsgo-shell) .pw-row-60,
  :where(.pwsgo-shell) .pw-block-24,
  :where(.pwsgo-shell) .pw-type-141 {
    white-space: normal !important;
  }
  :where(.pwsgo-shell) iframe {
    height: 320px !important;
  }
  :where(.pwsgo-shell) .pill {
    min-height: 46px;
    padding: 14px 22px;
  }
  :where(.pwsgo-shell) nav .pill {
    padding: 12px 16px;
    font-size: 13.5px;
  }
}

/* home */
/* ——— "Our vehicles" dropdown (hover + keyboard focus, no JS) ——— */
:where(.pwsgo-home) .navdrop {
  position: relative;
  display: inline-flex;
  align-items: center;
}
:where(.pwsgo-home) .navdrop > .navlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
:where(.pwsgo-home) .navdrop-chev {
  transition: transform .18s ease;
}
:where(.pwsgo-home) .navdrop:hover .navdrop-chev,
:where(.pwsgo-home) .navdrop:focus-within .navdrop-chev {
  transform: rotate(180deg);
}
:where(.pwsgo-home) .navdrop-panel {
  position: absolute;
  top: 100%;
  left: -14px;
  z-index: 60;
  display: grid;
  gap: 2px;
  min-width: 286px;
  padding: 10px;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(7,31,62,0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
:where(.pwsgo-home) .navdrop:hover .navdrop-panel,
:where(.pwsgo-home) .navdrop:focus-within .navdrop-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
:where(.pwsgo-home) .navdrop-panel a {
  display: grid;
  gap: 2px;
  padding: 11px 13px;
  border-radius: 8px;
  text-decoration: none;
  color: #071F3E;
  transition: background-color .16s ease;
}
:where(.pwsgo-home) .navdrop-panel a:hover,
:where(.pwsgo-home) .navdrop-panel a:focus-visible {
  background: #F2F4EC;
  text-decoration: none;
}
:where(.pwsgo-home) .navdrop-panel strong {
  font: 600 15px/1.2 'IBM Plex Sans', system-ui, sans-serif;
  letter-spacing: -0.01em;
}
:where(.pwsgo-home) .navdrop-panel em {
  font: 400 12.5px/1.35 'IBM Plex Sans', system-ui, sans-serif;
  font-style: normal;
  color: #4A5B75;
}
:where(.pwsgo-home) .navdrop-all {
  margin-top: 4px;
  border-top: 1px solid #D9D9D9;
  border-radius: 0 !important;
  font: 600 12.5px/1 'IBM Plex Sans', system-ui, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8A6410 !important;
  padding-top: 13px !important;
}
@media (prefers-reduced-motion: reduce) {

  /* home */
  :where(.pwsgo-home) .navdrop-panel,
  :where(.pwsgo-home) .navdrop-chev {
    transition: none;
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* Buttons on a navy ground: the ground is declared with data-on-dark, so a
     role can never resolve to the same colour as what it sits on. */
:where(.pwsgo-shell) [data-on-dark] .pill-dark,
:where(.pwsgo-shell) [data-on-dark] a.pill-dark,
:where(.pwsgo-shell) [data-on-dark] button.pill-dark {
  background-color: #F0A91F;
  color: #071F3E;
  border-color: transparent;
}
:where(.pwsgo-shell) [data-on-dark] .pill-dark:hover {
  background-color: #DC991B;
  color: #071F3E;
}
:where(.pwsgo-shell) [data-on-dark] .pill-line,
:where(.pwsgo-shell) [data-on-dark] a.pill-line,
:where(.pwsgo-shell) [data-on-dark] button.pill-line {
  background-color: rgba(255,255,255,0.12);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.38);
}
:where(.pwsgo-shell) [data-on-dark] .pill-line:hover {
  background-color: rgba(255,255,255,0.22);
  border-color: #fff;
  color: #fff;
}
@media (max-width: 620px) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) nav {
    gap: 8px !important;
    padding-left: 12px !important;
    padding-right: 10px !important;
  }
  :where(.pwsgo-shell) nav .pill-sand,
  :where(.pwsgo-shell) nav .pill-ghost-dark {
    display: none !important;
  }
  :where(.pwsgo-shell) nav .pill-accent {
    padding: 12px 15px !important;
    font-size: 13px !important;
  }
  :where(.pwsgo-shell) nav a[href="#top"] img,
  :where(.pwsgo-shell) nav a[href="#top"] + * {
    max-width: 46vw;
  }
}

@media (max-width: 400px) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) nav .pill-accent {
    padding: 11px 12px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 900px) {

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) .rail-sticky:not(:has(nav)):not(:has(header)) {
    position: static !important;
    top: auto !important;
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* The nav is one row: with six links plus two action pills it would wrap and
     drop the buttons onto a second line, so the links fold into the menu
     button before that can happen. */
:where(.pwsgo-shell) nav {
  flex-wrap: nowrap !important;
}
:where(.pwsgo-shell) nav .pill {
  flex: none;
}
@media (max-width: 1240px) {

  /* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-sub) .nav-links,
  :where(.pwsgo-sub) .navdrop {
    display: none !important;
  }

  /* home */
  :where(.pwsgo-home) .nav-links,
  :where(.pwsgo-home) .navdrop,
  :where(.pwsgo-home) nav > .navlink {
    display: none !important;
  }

  /* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-shell) .burger {
    display: flex !important;
  }
}

/* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* ——— "Our vehicles" dropdown (hover + keyboard focus, no JS) ——— */
:where(.pwsgo-sub) .navdrop {
  position: relative;
  display: inline-flex;
  align-items: center;
}
:where(.pwsgo-sub) .navdrop > .navlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
:where(.pwsgo-sub) .navdrop-chev {
  transition: transform .18s ease;
}
:where(.pwsgo-sub) .navdrop:hover .navdrop-chev,
:where(.pwsgo-sub) .navdrop:focus-within .navdrop-chev {
  transform: rotate(180deg);
}
:where(.pwsgo-sub) .navdrop-panel {
  position: absolute;
  top: 100%;
  left: -14px;
  z-index: 60;
  display: grid;
  gap: 2px;
  min-width: 286px;
  padding: 10px;
  background: #fff;
  border: 1px solid #D9D9D9;
  border-radius: 12px;
  box-shadow: 0 18px 44px rgba(7,31,62,0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
:where(.pwsgo-sub) .navdrop:hover .navdrop-panel,
:where(.pwsgo-sub) .navdrop:focus-within .navdrop-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
:where(.pwsgo-sub) .navdrop-panel a {
  display: grid;
  gap: 2px;
  padding: 11px 13px;
  border-radius: 8px;
  text-decoration: none;
  color: #071F3E;
  transition: background-color .16s ease;
}
:where(.pwsgo-sub) .navdrop-panel a:hover,
:where(.pwsgo-sub) .navdrop-panel a:focus-visible {
  background: #F2F4EC;
  text-decoration: none;
}
:where(.pwsgo-sub) .navdrop-panel strong {
  font: 600 15px/1.2 'IBM Plex Sans', system-ui, sans-serif;
  letter-spacing: -0.01em;
}
:where(.pwsgo-sub) .navdrop-panel em {
  font: 400 12.5px/1.35 'IBM Plex Sans', system-ui, sans-serif;
  font-style: normal;
  color: #4A5B75;
}
:where(.pwsgo-sub) .navsub {
  padding-left: 16px !important;
  border-left: 2px solid #D9D9D9;
  color: #4A5B75 !important;
}
@media (prefers-reduced-motion: reduce) {

  /* vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
  :where(.pwsgo-sub) .navdrop-panel,
  :where(.pwsgo-sub) .navdrop-chev {
    transition: none;
  }
}

@media (max-width: 1240px) {

  /* home */
  :where(.pwsgo-home) .drawer .navlink,
  :where(.pwsgo-home) [data-drawer] .navlink {
    display: block !important;
    font-size: 17px;
    padding: 6px 0;
  }
}

/* home · vehicle · pricing · how · faq · about · contact · terms · enquiry · policy */
/* ——— canonical PWSGO palette (identical on every page) ——— */
:root:where(.pwsgo-shell) {
  --paper: #F5F6F1;
  --surface: #FFFFFF;
  --well: #EDF0E4;
  --sand: #EDF0E4;
  --rule: #D9D9D9;
  --stone: #D9D9D9;
  --ink: #071F3E;
  --ink-soft: #4A5B75;
  --ink-faint: #4A5B75;
  --accent: #6E8B2D;
  --accent-deep: #4E6320;
  --accent-dark: #4E6320;
  --accent-tint: #EDF0E4;
  --accent-wash: #EDF0E4;
  --sage: #A8B28B;
  --grey: #D9D9D9;
  --gold: #F0A91F;
  --gold-deep: #DC991B;
}

/* about */
/* About — editorial layout */
:where(.pwsgo-about) .kick {
  font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
:where(.pwsgo-about) .prin {
  display:grid;
  grid-template-columns:minmax(0,32%) minmax(0,1fr);
  gap:10px clamp(24px,4vw,56px);
  padding:clamp(18px,2.4vw,26px) 0;
  border-top:1px solid var(--rule);
  align-items:baseline;
}
:where(.pwsgo-about) .prin:last-child {
  border-bottom:1px solid var(--rule);
}
:where(.pwsgo-about) .prin dt {
  font:600 17px/1.35 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.015em;
}
:where(.pwsgo-about) .prin dd {
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:var(--ink-soft);
  max-width:48ch;
}
@media (max-width:700px) {

  /* about */
  :where(.pwsgo-about) .prin {
    grid-template-columns:minmax(0,1fr);
    gap:6px;
  }
}

/* about */
:where(.pwsgo-about) .vlink {
  display:block;
  text-decoration:none;
  color:var(--ink);
}
:where(.pwsgo-about) .vlink image-slot,
:where(.pwsgo-about) .vlink img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s cubic-bezier(0.2,0,0,1);
}
:where(.pwsgo-about) .vlink:hover image-slot,
:where(.pwsgo-about) .vlink:hover img {
  transform:scale(1.03);
}
:where(.pwsgo-about) .vname {
  font:500 clamp(21px,2.4vw,27px)/1.2 'Archivo',system-ui,sans-serif;
  letter-spacing:-0.025em;
  margin-top:16px;
}
:where(.pwsgo-about) .vlink:hover .vname {
  color:var(--accent-dark);
}
:where(.pwsgo-about) .vmeta {
  font-size:15px;
  line-height:1.5;
  color:var(--ink-soft);
  margin-top:6px;
}
:where(.pwsgo-about) .ph {
  background:none;
}
:where(.pwsgo-about) .gaps-off .ph {
  background:none;
  padding:0;
}
@media (prefers-reduced-motion: reduce) {

  /* about */
  :where(.pwsgo-about) .vlink image-slot,
  :where(.pwsgo-about) .vlink img {
    transition:none;
  }
}

@media (min-width: 761px) {

  /* pricing */
  :where(.pwsgo-pricing) .seg-narrow > span {
    visibility: hidden;
  }
}

@media (max-width: 1024px) {

  /* vehicle */
  :where(.pwsgo-vehicle) .mosaic > a {
    aspect-ratio: 4/3;
  }
}

/* ------------------------------------------------------------------ *\
 * Fallback layout
 *
 * index.php draws posts, archives and 404s — anything without a design.
\* ------------------------------------------------------------------ */

:where(.pwsgo-fallback) body {
  margin: 0;
  background: #F5F6F1;
  color: #071F3E;
  font: 16px/1.6 "IBM Plex Sans", system-ui, sans-serif;
}
:where(.pwsgo-fallback) main {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(40px, 7vw, 96px) clamp(20px, 4vw, 32px);
}
:where(.pwsgo-fallback) h1 {
  font: 500 clamp(28px, 4vw, 44px)/1.1 Archivo, system-ui, sans-serif;
  letter-spacing: -0.028em;
  margin: 0 0 20px;
}
:where(.pwsgo-fallback) a {
  color: #4E6320;
  text-underline-offset: 2px;
}
:where(.pwsgo-fallback) a:hover {
  color: #6E8B2D;
}

}

@layer pwsgo-inline {

  /* ------------------------------------------------------------------ *\
   * The bar across the top
  \* ------------------------------------------------------------------ */

  .pw-burger-bar {
    display:block;
    height:1.8px;
    border-radius:2px;
    background:#fff;
  }
  .pw-burger {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:17px;
  }
  .pw-dot {
    width:5px;
    height:5px;
    border-radius:999px;
    background:#6E8B2D;
  }
  .pw-logo {
    display:block;
    height:30px;
    width:auto;
  }
  .pw-menu-link {
    padding:0 0 12px;
    color:var(--ink-soft);
    font:500 15.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    text-decoration:none;
    white-space:nowrap;
  }
  .pw-nav-row {
    display:flex;
    align-items:center;
    gap:clamp(8px,1.1vw,20px);
    min-width:0;
  }
  .pw-bar {
    position:sticky;
    top:0;
    z-index:70;
    background:#fff;
    border-bottom:1px solid var(--rule);
    box-shadow:0 1px 0 rgba(7,31,62,0.04);
  }
  .pw-bar-link {
    margin-left:auto;
    color:#fff;
    font-weight:600;
  }
  .pw-brand {
    display:flex;
    align-items:center;
    gap:11px;
    margin-right:auto;
    text-decoration:none;
  }
  .pw-nav {
    max-width:1320px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px clamp(8px,1.4vw,26px);
    padding:10px clamp(16px,3vw,20px);
  }
  .pw-burger-btn {
    display:none;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:none;
    border:0;
    border-radius:999px;
    background:var(--ink);
    cursor:pointer;
  }
  .pw-strip {
    max-width:1240px;
    margin:0 auto;
    padding:9px clamp(16px,3vw,20px);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 22px;
    font:500 12.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.02em;
    color:rgba(255,255,255,0.72);
  }

  /* ------------------------------------------------------------------ *\
   * The footer
  \* ------------------------------------------------------------------ */

  .pw-foot-link {
    color:#fff;
    opacity:0.8;
    font-size:14px;
  }
  .pw-foot-heading {
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:rgba(255,255,255,0.5);
    margin-bottom:16px;
  }
  .pw-foot {
    background:#071F3E;
    color:#fff;
    padding:clamp(56px,7vw,104px) clamp(16px,4vw,56px) clamp(22px,2.6vw,34px);
    overflow:hidden;
  }
  .pw-foot-base {
    border-top:1px solid rgba(255,255,255,0.16);
    margin-top:clamp(20px,2.4vw,32px);
    padding-top:20px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px 24px;
    font-size:12.5px;
    color:rgba(255,255,255,0.6);
  }
  .pw-foot-cols {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));
    gap:clamp(22px,3vw,44px);
  }
  .pw-foot-mark {
    display:block;
    width:min(300px,72%);
    height:auto;
    margin-bottom:24px;
  }
  .pw-foot-say {
    font-size:clamp(22px,2.6vw,34px);
    line-height:1.15;
    letter-spacing:-0.03em;
    font-weight:400;
    max-width:18ch;
    margin-bottom:26px;
  }
  .pw-foot-top {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:clamp(28px,4vw,72px);
    align-items:start;
  }
  .pw-foot-watermark {
    margin-top:clamp(34px,5vw,72px);
    position:relative;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    display:flex;
    justify-content:center;
    font-size:clamp(46px,13vw,190px);
    line-height:0.82;
    letter-spacing:-0.05em;
    font-weight:600;
    color:rgba(255,255,255,0.09);
    white-space:nowrap;
  }

  /* ------------------------------------------------------------------ *\
   * Page frame
  \* ------------------------------------------------------------------ */

  .pw-sr-only {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .pw-main {
    max-width:1240px;
    margin:0 auto;
    padding:clamp(28px,4vw,52px) clamp(16px,3vw,20px) clamp(48px,6vw,88px);
  }
  .pw-head-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
    gap:clamp(20px,3vw,56px);
    align-items:end;
  }
  .pw-lede {
    font-size:clamp(15.5px,1.6vw,18.5px);
    margin-top:18px;
    max-width:52ch;
  }
  .pw-rule {
    border:0;
    border-top:1px solid var(--rule);
    margin:clamp(48px,7vw,96px) 0 0;
  }
  .pw-title {
    font:500 clamp(30px,4.4vw,50px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin-top:16px;
    max-width:16ch;
  }

  /* ------------------------------------------------------------------ *\
   * The specification list
  \* ------------------------------------------------------------------ */

  .pw-spec-row {
    display:flex;
    gap:24px;
    padding:12px 0;
    border-bottom:1px solid var(--rule);
  }
  .pw-spec-term {
    font-size:15px;
    color:var(--ink-soft);
    flex:1 1 auto;
  }
  .pw-spec-detail {
    font-size:15px;
    color:var(--ink);
    text-align:right;
    margin:0;
    white-space:nowrap;
  }
  .pw-th {
    text-align:left;
    font:600 15px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    padding:12px;
  }

  /* ------------------------------------------------------------------ *\
   * Pictures
  \* ------------------------------------------------------------------ */

  .pw-shot-img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .pw-media-fill {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .pw-chip {
    background:#fff;
    color:var(--ink);
    border-radius:999px;
    padding:8px 15px;
    font:500 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-layout-shot {
    border-radius:var(--r);
    overflow:hidden;
    background:var(--well);
    aspect-ratio:4/3;
  }
  .pw-overlay {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:clamp(22px,2.6vw,38px);
  }
  .pw-overlay-kicker {
    font-size:13.5px;
    font-weight:500;
    color:rgba(255,255,255,0.85);
    margin-bottom:10px;
  }
  .pw-overlay-title {
    font-size:clamp(20px,2vw,27px);
    font-weight:500;
    line-height:1.18;
    letter-spacing:-0.02em;
  }
  .pw-scrim {
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, #D9D9D9 0%, rgba(7,31,62,0.3) 52%, #4A5B75 100%);
  }

  /* ------------------------------------------------------------------ *\
   * Reviews
  \* ------------------------------------------------------------------ */

  .pw-quote {
    margin:0;
    font-size:15.5px;
    line-height:1.6;
    color:rgba(7,31,62,0.82);
  }
  .pw-review {
    background:#fff;
    padding:clamp(22px,2.2vw,30px);
    margin:0;
  }
  .pw-review-by {
    display:flex;
    align-items:center;
    gap:11px;
    margin-top:20px;
  }
  .pw-review-role {
    display:block;
    font-size:12px;
    font-weight:400;
    color:#4A5B75;
  }
  .pw-review-stars {
    font-size:15px;
    letter-spacing:2px;
    color:var(--ink);
  }
  .pw-review-top {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
  }

  /* ------------------------------------------------------------------ *\
   * The enquiry page
  \* ------------------------------------------------------------------ */

  .pw-mobile-bar {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:80;
    background:#fff;
    border-top:1px solid var(--rule);
    box-shadow:0 -1px 12px rgba(7,31,62,0.10);
    padding:12px clamp(14px,4vw,20px);
  }
  .pw-tick {
    display:flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border-radius:999px;
    background:var(--accent-wash);
    color:var(--accent-dark);
    margin-top:1px;
  }
  .pw-tick-row {
    display:grid;
    grid-template-columns:26px minmax(0,1fr);
    gap:13px;
    padding:15px 0;
    border-top:1px solid var(--rule);
  }
  .pw-step-num {
    width:34px;
    height:34px;
    border-radius:999px;
    background:var(--sand);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:600;
    color:var(--accent-dark);
  }

  /* ------------------------------------------------------------------ *\
   * Rows of buttons
  \* ------------------------------------------------------------------ */

  .pw-pill-row {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .pw-pill-row-end {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
  }
  .pw-pill-row-mt {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
  }
  .pw-pill-row-center {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-top:20px;
  }

  /* ------------------------------------------------------------------ *\
   * Figures and boxes
  \* ------------------------------------------------------------------ */

  .pw-box {
    border:1px solid var(--rule);
    border-radius:8px;
    padding:20px;
  }
  .pw-figure {
    font:600 clamp(20px,2.2vw,26px)/1.2 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin-top:8px;
  }
  .pw-figure-value {
    margin:0;
    font-size:14.5px;
    font-weight:600;
    text-align:right;
  }
  .pw-aside {
    border:1px solid var(--rule);
    border-radius:var(--r);
    overflow:hidden;
  }
  .pw-callout {
    margin-top:28px;
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:clamp(24px,3vw,40px);
    text-align:center;
  }

  /* ------------------------------------------------------------------ *\
   * Small type
  \* ------------------------------------------------------------------ */

  .pw-note {
    font-size:14px;
    color:var(--ink-soft);
    margin-top:4px;
  }
  .pw-meta {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    color:var(--ink-soft);
  }
  .pw-inline-row {
    display:inline-flex;
    align-items:center;
    gap:7px;
  }
  .pw-sub {
    font-size:14px;
    color:var(--ink-soft);
    margin-top:2px;
  }
  .pw-eyebrow {
    font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }
  .pw-hint {
    font-size:14.5px;
    color:var(--ink-soft);
    margin-top:4px;
  }
  .pw-stars {
    color:var(--accent);
    font-size:18px;
    letter-spacing:2px;
    line-height:1;
  }
  .pw-eyebrow-accent {
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--accent-dark);
  }
  .pw-meta-sm {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    color:var(--ink-soft);
  }
  .pw-note-mt {
    font-size:14px;
    color:var(--ink-soft);
    margin-top:12px;
  }
  .pw-sub-sm {
    display:block;
    font-size:13px;
    color:var(--ink-soft);
    margin-top:2px;
  }
  .pw-para {
    margin-top:12px;
    color:var(--ink-soft);
    max-width:68ch;
  }
  .pw-inline-block {
    font:600 15px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.04em;
    background:var(--well);
    border-radius:8px;
    padding:18px 20px;
    margin-top:26px;
    display:inline-block;
  }

  /* ------------------------------------------------------------------ *\
   * One-offs from the design export
  \* ------------------------------------------------------------------ */

  .pw-grid {
    display:grid;
    gap:11px;
  }
  .pw-mt-10px {
    margin-top:10px;
  }
  .pw-type-21 {
    font:600 21px/1.3 'Archivo',system-ui,sans-serif;
  }
  .pw-ink-soft {
    color:var(--ink-soft);
  }
  .pw-nowrap {
    white-space:nowrap;
  }
  .pw-type-16 {
    font:600 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-fill {
    background:var(--paper);
    min-height:100vh;
  }
  .pw-mt-16px {
    margin-top:16px;
  }
  .pw-mt-18px {
    margin-top:18px;
  }
  .pw-mt-8px {
    margin-top:8px;
  }
  .pw-p-32px-0 {
    padding:32px 0;
  }
  .pw-pad {
    padding:32px 0;
    scroll-margin-top:24px;
  }
  .pw-semibold {
    font-weight:600;
  }
  .pw-mt-12px {
    margin-top:12px;
  }
  .pw-mt-clamp-34px-4-6vw {
    margin-top:clamp(34px,4.6vw,64px);
  }
  .pw-type {
    font:600 15px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:10px;
  }
  .pw-pad-2 {
    white-space:nowrap;
    padding:14px 24px;
  }
  .pw-shrink {
    min-width:0;
  }
  .pw-flush {
    margin:0;
  }
  .pw-gap {
    max-width:1240px;
    margin:0 auto;
  }
  .pw-fill-2 {
    background:var(--ink);
    color:#fff;
  }
  .pw-ink-rgba-255-255-255 {
    color:rgba(255,255,255,0.28);
  }
  .pw-block {
    display:block;
    background:var(--well);
  }
  .pw-type-17 {
    font:600 17px/1.3 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-block-2 {
    display:block;
  }
  .pw-ink {
    font-weight:600;
    color:var(--ink);
  }
  .pw-m-12px-0 {
    margin:12px 0;
  }
  .pw-mt-clamp-38px-5vw-7 {
    margin-top:clamp(38px,5vw,72px);
  }
  .pw-type-2 {
    padding:11px 18px;
    font-size:13.5px;
  }
  .pw-ink-2 {
    color:var(--ink-faint);
    font-weight:400;
  }
  .pw-ink-accent-dark {
    color:var(--accent-dark);
  }
  .pw-p-2px-0 {
    padding:2px 0;
  }
  .pw-type-3 {
    font-size:13px;
    color:#4A5B75;
  }
  .pw-absolute {
    position:absolute;
    left:-9999px;
  }
  .pw-bit {
    flex:1;
    min-width:0;
  }
  .pw-border-bottom-1px-solid-rule {
    border-bottom:1px solid var(--rule);
  }
  .pw-flex-none {
    flex:none;
  }
  .pw-gap-2 {
    max-width:1180px;
    margin:0 auto;
  }
  .pw-gap-9px {
    gap:9px;
  }
  .pw-ink-ink {
    color:var(--ink);
  }
  .pw-maxw-60ch {
    max-width:60ch;
  }
  .pw-p-3px-0 {
    padding:3px 0;
  }
  .pw-scroll-margin-top-110px {
    scroll-margin-top:110px;
  }
  .pw-type-15-5 {
    font:600 15.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-type-4 {
    font-size:14.5px;
    line-height:1.55;
  }
  .pw-type-5 {
    font-size:14.5px;
    color:#4A5B75;
  }
  .pw-type-6 {
    font-size:14.5px;
    font-weight:600;
  }
  .pw-type-7 {
    font-size:14px;
    font-weight:500;
  }
  .pw-block-3 {
    display:block;
    font-size:14px;
    color:var(--ink-soft);
    margin-top:2px;
  }
  .pw-block-4 {
    display:block;
    font-size:14px;
    color:var(--ink-soft);
    margin-bottom:6px;
  }
  .pw-cursor-pointer {
    cursor:pointer;
  }
  .pw-edge {
    border-top:2px solid var(--ink);
    padding-top:16px;
  }
  .pw-fill-3 {
    background:var(--well);
    border-radius:var(--r);
    padding:clamp(28px,4vw,64px);
    text-align:center;
  }
  .pw-fill-4 {
    flex:1;
    height:1px;
    background:rgba(7,31,62,0.22);
  }
  .pw-fill-5 {
    margin:0;
    padding:18px 20px;
    border:1px solid var(--rule);
    border-radius:var(--r);
    background:#fff;
  }
  .pw-fs-15px {
    font-size:15px;
  }
  .pw-gap-3 {
    margin-top:clamp(34px,4.6vw,64px);
    scroll-margin-top:110px;
  }
  .pw-gap-4 {
    margin:10px auto 0;
    max-width:44ch;
  }
  .pw-gap-5 {
    margin:16px auto 0;
    max-width:46ch;
  }
  .pw-gap-6 {
    margin-top:14px;
    max-width:34ch;
  }
  .pw-gap-7 {
    color:#F0A91F;
    margin-top:3px;
  }
  .pw-ink-3 {
    color:#fff;
    font-weight:600;
  }
  .pw-ink-faint {
    color:var(--ink-faint);
  }
  .pw-ink-rgba-255-255-255-2 {
    color:rgba(255,255,255,0.86);
  }
  .pw-mt-22px {
    margin-top:22px;
  }
  .pw-mt-clamp-36px-5vw-6 {
    margin-top:clamp(36px,5vw,64px);
  }
  .pw-mt-clamp-40px-5-4vw {
    margin-top:clamp(40px,5.4vw,80px);
  }
  .pw-pos-relative {
    position:relative;
  }
  .pw-pt-5px {
    padding-top:5px;
  }
  .pw-row {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:center;
    margin-top:26px;
  }
  .pw-row-2 {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:13px 0;
    border-top:1px solid #D9D9D9;
  }
  .pw-row-3 {
    display:flex;
    justify-content:space-between;
    gap:16px;
  }
  .pw-row-4 {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:15px;
  }
  .pw-row-5 {
    flex:none;
    width:40px;
    height:40px;
    border-radius:999px;
    background:#F0A91F;
    color:#071F3E;
    font-size:15px;
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .pw-row-6 {
    flex:none;
    width:64px;
    height:64px;
    border-radius:999px;
    background:rgba(7,31,62,0.055);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#071F3E;
  }
  .pw-row-7 {
    position:relative;
    aspect-ratio:3/4;
    color:#fff;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    text-align:center;
    padding:clamp(22px,2.6vw,38px);
    background:var(--stone);
  }
  .pw-stack {
    display:flex;
    flex-direction:column;
    align-items:center;
    align-self:stretch;
  }
  .pw-stack-2 {
    display:flex;
    flex-direction:column;
    gap:clamp(14px,1.6vw,22px);
  }
  .pw-type-10 {
    font:500 clamp(26px,3.4vw,44px)/1.08 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.032em;
    max-width:22ch;
    margin:0 auto;
  }
  .pw-type-11 {
    width:100%;
    min-height:36px;
    border:0;
    background:transparent;
    padding:0;
    font:500 15px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink);
  }
  .pw-type-12 {
    font-size:24px;
    line-height:1.3;
    font-weight:600;
    letter-spacing:-0.02em;
    color:#071F3E;
    margin-bottom:8px;
  }
  .pw-type-13 {
    font-size:17px;
    line-height:1.5;
    color:#4A5B75;
    max-width:42ch;
  }
  .pw-type-15-5-2 {
    font:600 15.5px/1.35 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-type-18 {
    font:600 18px/1.3 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-type-8 {
    font-size:15px;
    line-height:1.55;
  }
  .pw-type-9 {
    font-size:13.5px;
    margin-top:10px;
  }
  .pw-absolute-2 {
    position:absolute;
    right:-8px;
    top:14px;
    font:700 clamp(64px,13vw,150px)/0.8 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.05em;
    color:rgba(7,31,62,0.05);
    white-space:nowrap;
    pointer-events:none;
    user-select:none;
  }
  .pw-absolute-3 {
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(242,244,236,0.98) 0%, rgba(242,244,236,0.9) 26%, rgba(242,244,236,0.32) 44%, rgba(7,31,62,0) 62%, rgba(7,31,62,0.34) 100%);
    z-index:1;
  }
  .pw-bg-stone {
    background:var(--stone);
  }
  .pw-bg-well {
    background:var(--well);
  }
  .pw-bit-2 {
    min-width:0;
    flex:1 1 260px;
  }
  .pw-bit-3 {
    flex:1;
    min-width:0;
    max-height:100%;
    width:100%;
    object-fit:contain;
    border-radius:var(--r);
  }
  .pw-bit-4 {
    margin-left:auto;
    white-space:nowrap;
  }
  .pw-bit-5 {
    position:relative;
    z-index:2;
    text-align:center;
  }
  .pw-block-5 {
    grid-row:span 2;
    position:relative;
    display:block;
    background:var(--well);
  }
  .pw-block-6 {
    position:relative;
    display:block;
    background:var(--well);
  }
  .pw-block-7 {
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-radius:var(--r);
    overflow:hidden;
    background:var(--well);
    aspect-ratio:4/3;
    cursor:pointer;
  }
  .pw-block-8 {
    display:block;
    font:600 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink);
  }
  .pw-edge-2 {
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:18px 0;
    overflow:hidden;
    position:relative;
  }
  .pw-edge-3 {
    width:14px;
    height:14px;
    border-radius:3px;
    background-image:repeating-linear-gradient(45deg,#4A5B75 0 1px,transparent 1px 4px);
    border:1px solid var(--rule);
  }
  .pw-edge-4 {
    width:14px;
    height:14px;
    border-radius:3px;
    border:1px dotted #071F3E;
  }
  .pw-edge-5 {
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:clamp(18px,2vw,24px);
  }
  .pw-fill-10 {
    aspect-ratio:3/2;
    background:var(--well);
    overflow:hidden;
    border-radius:2px;
  }
  .pw-fill-11 {
    background:var(--well);
    aspect-ratio:4/3;
  }
  .pw-fill-12 {
    overflow:hidden;
    background:var(--stone);
    aspect-ratio:16/9;
  }
  .pw-fill-6 {
    background:var(--surface);
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:24px;
    margin-bottom:32px;
  }
  .pw-fill-7 {
    width:14px;
    height:14px;
    border:1px solid var(--rule);
    border-radius:3px;
    background:var(--surface);
  }
  .pw-fill-8 {
    width:14px;
    height:14px;
    border-radius:3px;
    background:var(--accent);
  }
  .pw-fill-9 {
    background:var(--surface);
    border:1px solid var(--rule);
    border-radius:var(--r);
    box-shadow:var(--e-sticky);
    padding:24px;
    scroll-margin-top:24px;
  }
  .pw-fixed {
    position:fixed;
    inset:0;
    z-index:190;
    background:var(--paper);
    overflow-y:auto;
  }
  .pw-fixed-2 {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    background:var(--surface);
    box-shadow:var(--e-bar);
    padding:12px 20px;
    align-items:center;
    gap:16px;
  }
  .pw-gap-10 {
    max-width:1200px;
    margin:0 auto;
    padding:24px 20px 0;
  }
  .pw-gap-11 {
    width:100%;
    border-collapse:collapse;
    margin-top:16px;
    font-variant-numeric:tabular-nums;
  }
  .pw-gap-12 {
    margin-top:16px;
    font-variant-numeric:tabular-nums;
  }
  .pw-gap-13 {
    width:100%;
    margin-top:20px;
    justify-content:space-between;
  }
  .pw-gap-14 {
    flex:none;
    margin-top:2px;
  }
  .pw-gap-15 {
    flex:1;
    width:0;
    border-left:1px dashed rgba(7,31,62,0.28);
    margin:10px 0 -48px;
  }
  .pw-gap-8 {
    max-width:1200px;
    margin:0 auto;
    padding:14px 20px 0;
  }
  .pw-gap-9 {
    max-width:1200px;
    margin:0 auto;
    padding:16px 20px 0;
  }
  .pw-grid-10 {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    padding:18px 0 32px;
  }
  .pw-grid-11 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
    gap:24px;
    margin-top:20px;
  }
  .pw-grid-12 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
    gap:28px 40px;
    margin-top:28px;
  }
  .pw-grid-2 {
    display:grid;
    grid-template-columns:minmax(0,4fr) minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:8px;
    aspect-ratio:2/1;
    border-radius:var(--r);
    overflow:hidden;
  }
  .pw-grid-3 {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px 64px;
    display:grid;
    grid-template-columns:minmax(0,62fr) minmax(0,34fr);
    gap:48px;
    align-items:start;
  }
  .pw-grid-4 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 48px;
    margin-top:16px;
  }
  .pw-grid-5 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:32px;
    margin-top:24px;
  }
  .pw-grid-6 {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
    margin-top:10px;
  }
  .pw-grid-7 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap:12px;
    margin-top:16px;
  }
  .pw-grid-8 {
    margin-top:20px;
    display:grid;
    gap:12px;
  }
  .pw-grid-9 {
    max-width:1100px;
    margin:0 auto;
    padding:clamp(16px,3vw,32px);
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
    gap:14px;
  }
  .pw-hidden {
    display:none;
    position:absolute;
    right:12px;
    bottom:12px;
    background:var(--surface);
    color:var(--ink);
    border-radius:999px;
    padding:9px 16px;
    font:600 14px/1 'IBM Plex Sans',system-ui,sans-serif;
    min-height:36px;
    align-items:center;
  }
  .pw-ink-4 {
    margin-left:auto;
    color:var(--ink-soft);
    text-align:right;
  }
  .pw-ml-auto {
    margin-left:auto;
  }
  .pw-mt-20px {
    margin-top:20px;
  }
  .pw-p-24px-24px-24px-0 {
    padding:24px 24px 24px 0;
  }
  .pw-p-clamp-20px-2-4vw {
    padding:clamp(20px,2.4vw,30px);
  }
  .pw-pad-3 {
    padding:32px 0;
    position:relative;
    overflow:hidden;
  }
  .pw-pad-4 {
    padding:0 0 20px;
    color:var(--ink-soft);
    max-width:70ch;
  }
  .pw-right {
    text-align:right;
  }
  .pw-row-10 {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px 32px;
  }
  .pw-row-11 {
    display:flex;
    gap:28px;
    margin-top:22px;
    border-bottom:1px solid var(--rule);
    overflow-x:auto;
  }
  .pw-row-12 {
    display:flex;
    align-items:center;
    gap:16px;
    padding:24px 0;
    flex-wrap:wrap;
  }
  .pw-row-13 {
    flex:none;
    width:48px;
    height:48px;
    border-radius:999px;
    background:var(--well);
    display:flex;
    align-items:center;
    justify-content:center;
    font:600 16px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink-soft);
  }
  .pw-row-14 {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
  }
  .pw-row-15 {
    display:flex;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid var(--rule);
    font-size:15px;
  }
  .pw-row-16 {
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    margin-top:14px;
  }
  .pw-row-17 {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    font-size:15px;
    color:var(--ink-soft);
    margin-top:8px;
  }
  .pw-row-18 {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:56px;
    padding:16px 0;
    border:0;
    background:none;
    text-align:left;
    font:600 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink);
    cursor:pointer;
  }
  .pw-row-19 {
    display:flex;
    align-items:baseline;
    gap:8px;
    font-variant-numeric:tabular-nums;
  }
  .pw-row-20 {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:15px;
    padding:5px 0;
  }
  .pw-row-21 {
    flex:none;
    width:32px;
    height:32px;
    border-radius:999px;
    background:rgba(255,255,255,0.22);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .pw-row-22 {
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:var(--ink-soft);
  }
  .pw-row-23 {
    position:sticky;
    top:0;
    background:var(--paper);
    border-bottom:1px solid var(--rule);
    display:flex;
    align-items:center;
    gap:16px;
    padding:14px clamp(16px,3vw,28px);
  }
  .pw-row-24 {
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid var(--rule);
    border-radius:999px;
    background:#fff;
    cursor:pointer;
  }
  .pw-row-25 {
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px clamp(16px,3vw,28px);
  }
  .pw-row-26 {
    flex:1;
    min-height:0;
    display:flex;
    align-items:center;
    gap:clamp(8px,2vw,20px);
    padding:0 clamp(8px,2vw,24px) clamp(16px,3vw,28px);
  }
  .pw-row-27 {
    border-radius:var(--r);
    overflow:hidden;
    background:var(--well);
    aspect-ratio:4/3;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12px;
  }
  .pw-row-28 {
    position:relative;
    z-index:2;
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
  }
  .pw-row-8 {
    position:absolute;
    top:14px;
    left:14px;
    right:14px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    z-index:2;
  }
  .pw-row-9 {
    position:absolute;
    right:12px;
    bottom:12px;
    background:var(--surface);
    color:var(--ink);
    border-radius:999px;
    padding:11px 18px;
    font:600 14px/1 'IBM Plex Sans',system-ui,sans-serif;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    box-shadow:0 2px 10px rgba(7,31,62,0.16);
  }
  .pw-stack-3 {
    position:fixed;
    inset:0;
    z-index:200;
    background:rgba(7,31,62,0.94);
    display:flex;
    flex-direction:column;
  }
  .pw-stack-4 {
    position:relative;
    aspect-ratio:1/1;
    min-height:340px;
    background:linear-gradient(165deg,#D9D9D9 0%,#D9D9D9 100%);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:clamp(24px,2.6vw,38px);
  }
  .pw-sticky {
    position:sticky;
    top:96px;
  }
  .pw-sticky-2 {
    position:sticky;
    top:92px;
    min-width:0;
    max-height:calc(100vh - 112px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:2px;
  }
  .pw-type-14 {
    font-size:14px;
    color:var(--ink-soft);
  }
  .pw-type-15 {
    font:600 34px/1.15 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.01em;
  }
  .pw-type-19 {
    font-size:15.5px;
    color:var(--ink-soft);
    margin-top:8px;
  }
  .pw-type-20 {
    padding:0 0 12px;
    color:var(--accent-dark);
    font:600 15.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    text-decoration:none;
    border-bottom:2px solid var(--accent);
    margin-bottom:-1px;
    white-space:nowrap;
  }
  .pw-type-22 {
    font:600 21px/1.3 'Archivo',system-ui,sans-serif;
    padding-top:32px;
    scroll-margin-top:24px;
  }
  .pw-type-23 {
    font:400 18px/1.6 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:12px;
    max-width:70ch;
  }
  .pw-type-24 {
    font:600 21px/1.3 'Archivo',system-ui,sans-serif;
    position:relative;
  }
  .pw-type-25 {
    font-size:15px;
    color:var(--ink);
    font-variant-numeric:tabular-nums;
    text-align:right;
    margin:0;
  }
  .pw-type-26 {
    font-size:15px;
    color:var(--ink);
    text-align:right;
    margin:0;
    max-width:34ch;
  }
  .pw-type-27 {
    text-align:right;
    font:600 15px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    padding:12px;
  }
  .pw-type-28 {
    padding:12px;
    font-size:15px;
  }
  .pw-type-29 {
    padding:12px;
    font-size:15px;
    color:var(--ink-soft);
  }
  .pw-type-30 {
    padding:12px;
    font-size:15px;
    text-align:right;
  }
  .pw-type-31 {
    text-align:center;
    font-size:13px;
    color:var(--ink-faint);
    padding-bottom:4px;
  }
  .pw-type-32 {
    font-size:15px;
    margin-top:16px;
  }
  .pw-type-33 {
    flex:none;
    color:var(--ink-soft);
    font-size:18px;
  }
  .pw-type-34 {
    font:600 34px/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
  }
  .pw-type-35 {
    font-size:15px;
    color:var(--ink-soft);
  }
  .pw-type-36 {
    font-size:14px;
    color:var(--ink-soft);
    margin-top:10px;
  }
  .pw-type-37 {
    margin:14px 0 0;
    padding-left:18px;
    font-size:14px;
    color:var(--ink-soft);
  }
  .pw-type-38 {
    font-size:13.5px;
    color:var(--ink-soft);
    margin-top:8px;
  }
  .pw-type-39 {
    font:500 14px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:rgba(255,255,255,0.7);
    font-variant-numeric:tabular-nums;
  }
  .pw-type-40 {
    font:500 14px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    color:#fff;
    margin-left:8px;
  }
  .pw-type-41 {
    font:600 18px/1.2 'IBM Plex Sans',system-ui,sans-serif;
    font-variant-numeric:tabular-nums;
  }
  .pw-type-42 {
    font-size:13px;
    color:var(--ink-soft);
  }
  .pw-type-43 {
    font-size:15px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:8px;
    max-width:68ch;
  }
  .pw-type-44 {
    margin:12px 0 0;
    padding-left:20px;
    color:var(--ink-soft);
    font-size:15px;
  }
  .pw-type-45 {
    font-size:15px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:10px;
    max-width:44ch;
  }
  .pw-type-46 {
    margin-top:8px;
    font-size:14.5px;
  }
  .pw-type-47 {
    font-size:clamp(24px,2.4vw,34px);
    font-weight:500;
    letter-spacing:-0.03em;
    line-height:1.05;
    margin-bottom:10px;
  }
  .pw-type-48 {
    font-size:14.5px;
    line-height:1.5;
    color:#4A5B75;
  }
  .pw-absolute-4 {
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(7,31,62,0.82) 0%, rgba(7,31,62,0.34) 46%, rgba(7,31,62,0.06) 100%);
  }
  .pw-absolute-5 {
    position:absolute;
    inset:0;
    background:linear-gradient(to right, #4A5B75 0%, rgba(7,31,62,0.58) 30%, rgba(7,31,62,0.2) 62%, rgba(7,31,62,0.04) 100%);
  }
  .pw-absolute-6 {
    position:absolute;
    inset:0;
    background:linear-gradient(to top, #4A5B75 0%, rgba(7,31,62,0.1) 40%, rgba(7,31,62,0) 70%);
  }
  .pw-absolute-7 {
    position:absolute;
    right:-10px;
    bottom:-26px;
    font:700 clamp(90px,17vw,260px)/0.8 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.05em;
    color:rgba(255,255,255,0.05);
    pointer-events:none;
    user-select:none;
  }
  .pw-absolute-8 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 60%;
    z-index:1;
  }
  .pw-bit-10 {
    max-width:56ch;
    position:relative;
    z-index:1;
  }
  .pw-bit-6 {
    border-left:2px solid var(--ink);
    padding-left:20px;
  }
  .pw-bit-7 {
    min-height:112px;
    resize:vertical;
  }
  .pw-bit-8 {
    align-self:stretch;
    height:100%;
  }
  .pw-bit-9 {
    top:24px;
    right:0;
  }
  .pw-block-10 {
    display:block;
    font-weight:400;
    margin-top:2px;
  }
  .pw-block-11 {
    display:block;
    width:100%;
    height:clamp(320px,42vw,460px);
    border:0;
  }
  .pw-block-12 {
    display:block;
    font:600 15.5px/1.25 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-block-13 {
    display:block;
    font-size:13.5px;
    color:var(--ink-soft);
    margin-top:3px;
  }
  .pw-block-14 {
    display:block;
    font-size:13.5px;
    font-weight:600;
    margin-top:3px;
  }
  .pw-block-15 {
    display:block;
    font:600 15px/1.3 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-block-16 {
    display:block;
    font-size:13.5px;
    color:var(--ink-soft);
  }
  .pw-block-17 {
    display:block;
    font-size:13px;
    color:var(--ink-faint);
  }
  .pw-block-18 {
    display:block;
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--accent-dark);
  }
  .pw-block-19 {
    display:block;
    font:600 clamp(17px,1.8vw,20px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.015em;
    margin-top:8px;
  }
  .pw-block-20 {
    display:block;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-soft);
    margin-top:6px;
  }
  .pw-block-21 {
    display:block;
    font:600 clamp(19px,5.4vw,23px)/1.1 'Archivo',system-ui,sans-serif;
    font-variant-numeric:tabular-nums;
  }
  .pw-block-22 {
    display:block;
    width:100%;
    height:clamp(420px,44vw,600px);
    border:0;
  }
  .pw-block-23 {
    display:block;
    font:600 16px/1.15 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-block-24 {
    display:block;
    padding:10px 8px;
    font:600 11.5px/1.25 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.03em;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .pw-block-25 {
    display:block;
    font-size:13px;
    font-weight:400;
    color:var(--ink-faint);
    text-align:right;
  }
  .pw-block-26 {
    display:block;
    font:600 clamp(17px,1.8vw,20px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.018em;
  }
  .pw-block-27 {
    display:block;
    font-size:14px;
    line-height:1.55;
    color:var(--ink-soft);
    margin-top:5px;
  }
  .pw-block-28 {
    display:block;
    font:600 18px/1.1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-block-29 {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 55%;
  }
  .pw-block-30 {
    display:block;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
  .pw-block-31 {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 62%;
  }
  .pw-block-32 {
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:8px;
  }
  .pw-block-9 {
    display:block;
    width:40px;
    height:2px;
    background:var(--gold);
    flex:none;
  }
  .pw-edge-10 {
    border-top:2px solid var(--ink);
    padding-top:22px;
  }
  .pw-edge-11 {
    border-top:1px solid var(--rule);
    padding-top:6px;
  }
  .pw-edge-12 {
    margin-top:clamp(36px,4.6vw,64px);
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:18px 0;
    overflow:hidden;
  }
  .pw-edge-13 {
    border:1px solid var(--rule);
    border-radius:8px;
    padding:16px 18px;
  }
  .pw-edge-6 {
    margin-top:clamp(56px,8vw,112px);
    border-top:2px solid var(--ink);
    padding-top:clamp(28px,4vw,44px);
  }
  .pw-edge-7 {
    margin-top:18px;
    border:1px solid var(--rule);
    border-radius:8px;
    padding:clamp(14px,1.8vw,22px);
  }
  .pw-edge-8 {
    margin-top:clamp(46px,6vw,90px);
    padding-top:clamp(30px,4vw,52px);
    border-top:1px solid var(--rule);
    position:relative;
    overflow:hidden;
  }
  .pw-edge-9 {
    margin-top:clamp(30px,4vw,56px);
    border-top:1px solid var(--rule);
    padding-top:clamp(26px,3.2vw,40px);
  }
  .pw-fill-13 {
    width:16px;
    height:16px;
    border-radius:5px;
    border:1.5px solid var(--rule);
    background:#fff;
  }
  .pw-fill-14 {
    width:16px;
    height:16px;
    border-radius:5px;
    background:var(--stone);
  }
  .pw-fill-15 {
    width:16px;
    height:16px;
    border-radius:5px;
    background:var(--accent);
  }
  .pw-fill-16 {
    background:#fff;
    border:1px solid var(--rule);
    border-radius:var(--r);
    box-shadow:0 1px 3px rgba(7,31,62,0.08), 0 8px 24px rgba(7,31,62,0.06);
    padding:clamp(20px,2.2vw,28px);
  }
  .pw-fill-17 {
    background:var(--well);
    border-radius:var(--r);
    padding:clamp(20px,2.2vw,28px);
  }
  .pw-fill-18 {
    margin-top:26px;
    background:var(--ink);
    color:#fff;
    border-radius:var(--r);
    padding:clamp(20px,2.2vw,26px);
  }
  .pw-fill-19 {
    background:#EDF0E4;
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px);
  }
  .pw-fill-20 {
    width:26px;
    height:1px;
    background:#F0A91F;
    flex:none;
  }
  .pw-fill-21 {
    background:var(--stone);
    overflow:hidden;
  }
  .pw-fill-22 {
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px) clamp(48px,5.9vw,88px);
    background:linear-gradient(to bottom, var(--sand) 0%, #ffffff 62%);
  }
  .pw-fill-23 {
    width:6px;
    height:6px;
    border-radius:999px;
    background:var(--accent);
    flex:none;
  }
  .pw-fill-24 {
    position:relative;
    background:var(--stone);
    width:100%;
    aspect-ratio:21/9;
    min-height:min(62vw,300px);
  }
  .pw-fill-25 {
    background:var(--sand);
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px);
  }
  .pw-fill-26 {
    background:var(--sand);
    padding:clamp(28px,3.4vw,52px) clamp(16px,4vw,56px) clamp(48px,5.9vw,88px);
    scroll-margin-top:110px;
  }
  .pw-fill-27 {
    background:#fff;
    padding:2px 8px 2px 20px;
    align-self:start;
  }
  .pw-fill-28 {
    margin-top:clamp(16px,2vw,24px);
    background:var(--ink);
    color:#fff;
    border-radius:var(--r);
    padding:clamp(22px,2.6vw,32px);
  }
  .pw-fill-29 {
    background:var(--ink);
    color:#fff;
    border-radius:var(--r);
    padding:clamp(28px,4vw,64px);
    overflow:hidden;
  }
  .pw-fill-30 {
    margin-top:18px;
    background:var(--accent-wash);
    border-radius:var(--r);
    padding:clamp(20px,2.4vw,30px);
  }
  .pw-fill-31 {
    background:var(--ink);
    color:#fff;
    border-radius:var(--r);
    padding:clamp(24px,3.4vw,56px);
    position:relative;
    overflow:hidden;
  }
  .pw-fill-32 {
    background:var(--ink);
    color:#fff;
    border-radius:var(--r);
    padding:clamp(22px,2.6vw,32px);
  }
  .pw-fill-33 {
    background:var(--stone);
    border-radius:8px;
    overflow:hidden;
    aspect-ratio:16/10;
  }
  .pw-gap-16 {
    max-width:960px;
    margin:0 auto;
    padding:clamp(48px,8vw,120px) clamp(20px,4vw,32px) clamp(56px,7vw,104px);
  }
  .pw-gap-17 {
    margin-top:14px;
    max-width:42ch;
  }
  .pw-gap-18 {
    max-width:760px;
    margin:0 auto;
    padding:clamp(40px,7vw,96px) clamp(16px,4vw,24px) clamp(56px,8vw,110px);
  }
  .pw-gap-19 {
    max-width:1240px;
    margin:0 auto;
    padding:clamp(28px,4vw,52px) clamp(16px,3vw,20px) clamp(56px,8vw,104px);
  }
  .pw-gap-20 {
    margin-top:22px;
    width:100%;
    max-width:320px;
  }
  .pw-gap-21 {
    margin-top:clamp(30px,4vw,52px);
    scroll-margin-top:110px;
  }
  .pw-gap-22 {
    margin-top:clamp(28px,3.4vw,44px);
    scroll-margin-top:110px;
  }
  .pw-gap-23 {
    text-align:center;
    max-width:min(100%,64ch);
    margin:0 auto;
  }
  .pw-gap-24 {
    max-width:52ch;
    margin:0 auto clamp(24px,3vw,42px);
    text-align:center;
  }
  .pw-gap-25 {
    text-align:center;
    margin-top:clamp(26px,3vw,44px);
  }
  .pw-gap-26 {
    text-align:center;
    margin-top:clamp(26px,3vw,42px);
  }
  .pw-gap-27 {
    margin-top:16px;
    max-width:56ch;
  }
  .pw-gap-28 {
    margin-top:clamp(38px,5vw,72px);
    scroll-margin-top:110px;
  }
  .pw-gap-29 {
    margin-top:10px;
    max-width:16ch;
  }
  .pw-gap-30 {
    margin-top:24px;
    max-width:34ch;
  }
  .pw-gap-31 {
    list-style:none;
    padding:0;
    margin-top:10px;
  }
  .pw-gap-32 {
    margin-top:18px;
    max-width:70ch;
  }
  .pw-gap-33 {
    list-style:none;
    padding:0;
    margin-top:18px;
  }
  .pw-gap-34 {
    margin-top:18px;
    max-width:64ch;
  }
  .pw-gap-35 {
    margin-top:clamp(40px,5.4vw,80px);
    scroll-margin-top:110px;
  }
  .pw-gap-36 {
    margin-top:10px;
    max-width:14ch;
  }
  .pw-gap-37 {
    margin-top:20px;
    max-width:560px;
  }
  .pw-grid-13 {
    margin-top:clamp(48px,7vw,96px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,340px);
    gap:clamp(32px,5vw,72px);
    align-items:start;
  }
  .pw-grid-14 {
    margin:clamp(24px,3vw,40px) 0 0;
    display:grid;
    gap:0;
  }
  .pw-grid-15 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(24px,4vw,48px);
    margin-top:clamp(24px,3vw,40px);
  }
  .pw-grid-16 {
    margin-top:clamp(36px,5vw,64px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(28px,4vw,64px);
  }
  .pw-grid-17 {
    display:grid;
    grid-template-columns:minmax(0,58fr) minmax(0,42fr);
    gap:clamp(24px,3.4vw,56px);
    align-items:start;
  }
  .pw-grid-18 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));
    gap:18px 24px;
  }
  .pw-grid-19 {
    display:grid;
    grid-template-columns:minmax(0,55fr) minmax(0,45fr);
    gap:clamp(22px,3vw,44px);
    align-items:start;
  }
  .pw-grid-20 {
    list-style:none;
    padding:0;
    display:grid;
    gap:0;
  }
  .pw-grid-21 {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:16px;
    padding:16px 0;
    border-top:1px solid var(--rule);
  }
  .pw-grid-22 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
    gap:clamp(24px,3.4vw,64px);
    align-items:end;
  }
  .pw-grid-23 {
    display:grid;
    grid-template-columns:minmax(0,62fr) minmax(0,38fr);
    gap:clamp(26px,3.6vw,64px);
    margin-top:clamp(30px,4vw,56px);
    align-items:start;
  }
  .pw-grid-24 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:22px;
  }
  .pw-grid-25 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:24px;
  }
  .pw-grid-26 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(14px,2vw,28px);
  }
  .pw-grid-27 {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:2px;
  }
  .pw-grid-28 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:22px;
  }
  .pw-grid-29 {
    margin-top:20px;
    display:grid;
    gap:4px;
  }
  .pw-grid-30 {
    position:sticky;
    top:88px;
    display:grid;
    gap:20px;
    max-height:calc(100vh - 108px);
    overflow-y:auto;
  }
  .pw-grid-31 {
    margin-top:20px;
    display:grid;
    gap:0;
  }
  .pw-grid-32 {
    list-style:none;
    padding:0;
    margin-top:14px;
    display:grid;
    gap:0;
  }
  .pw-grid-33 {
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:12px;
    padding:12px 0;
    border-top:1px solid var(--rule);
  }
  .pw-grid-34 {
    display:grid;
    grid-template-columns:minmax(0,44fr) minmax(0,56fr);
    gap:clamp(20px,3vw,48px);
    margin-top:clamp(24px,3vw,40px);
    align-items:stretch;
    position:relative;
    z-index:1;
  }
  .pw-grid-35 {
    margin-top:18px;
    display:grid;
    gap:0;
  }
  .pw-grid-36 {
    display:grid;
    grid-template-columns:minmax(0,26fr) minmax(0,74fr);
    gap:clamp(22px,3vw,52px);
    align-items:start;
  }
  .pw-grid-37 {
    display:grid;
    grid-template-columns:1fr 1fr 1fr auto;
    gap:14px;
    align-items:end;
  }
  .pw-grid-38 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(16px,2vw,32px);
    max-width:1140px;
    margin:0 auto;
  }
  .pw-grid-39 {
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));
    gap:clamp(32px,4vw,64px);
    align-items:stretch;
  }
  .pw-grid-40 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:minmax(0,1fr) minmax(0,1.3fr);
    gap:24px;
    height:100%;
    min-height:0;
    overflow:hidden;
  }
  .pw-grid-41 {
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
    gap:clamp(24px,3.4vw,56px);
    align-items:center;
  }
  .pw-grid-42 {
    margin:14px 0 0;
    padding:0;
    display:grid;
    gap:0;
    width:100%;
    max-width:44ch;
  }
  .pw-grid-43 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap:clamp(14px,1.8vw,26px);
    max-width:1180px;
    margin:0 auto;
  }
  .pw-grid-44 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));
    gap:clamp(20px,3vw,56px);
    align-items:start;
    margin-bottom:clamp(30px,4vw,56px);
  }
  .pw-grid-45 {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(14px,1.6vw,22px);
    align-items:start;
  }
  .pw-grid-46 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 20px;
    align-items:start;
  }
  .pw-grid-47 {
    display:grid;
    grid-template-columns:minmax(0,34fr) minmax(0,66fr);
    gap:clamp(20px,3vw,56px);
    align-items:start;
  }
  .pw-grid-48 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:16px 40px;
    align-items:end;
    border-bottom:2px solid var(--ink);
    padding-bottom:16px;
  }
  .pw-grid-49 {
    display:grid;
    grid-template-columns:minmax(0,32fr) minmax(0,68fr);
    gap:clamp(22px,3vw,56px);
    align-items:start;
  }
  .pw-grid-50 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
    gap:clamp(16px,2vw,24px);
    margin-top:clamp(22px,2.6vw,32px);
  }
  .pw-grid-51 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap:clamp(18px,2.4vw,36px);
    align-items:start;
  }
  .pw-grid-52 {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:10px 12px;
    font-size:14.5px;
    line-height:1.55;
  }
  .pw-grid-53 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(20px,2.6vw,32px);
  }
  .pw-grid-54 {
    margin-top:24px;
    background:var(--accent-wash);
    border-radius:8px;
    padding:clamp(18px,2vw,24px);
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:6px 16px;
    align-items:center;
  }
  .pw-grid-55 {
    display:grid;
    grid-template-columns:minmax(0,66fr) minmax(0,34fr);
    gap:clamp(24px,3.4vw,56px);
    margin-top:24px;
    align-items:start;
  }
  .pw-grid-56 {
    display:grid;
    grid-template-columns:minmax(0,58fr) minmax(0,42fr);
    gap:clamp(22px,3vw,56px);
    align-items:end;
  }
  .pw-grid-57 {
    margin-top:16px;
    background:var(--well);
    border-radius:var(--r);
    padding:clamp(20px,2.4vw,30px);
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
    gap:20px 32px;
    align-items:start;
  }
  .pw-grid-58 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(18px,2.4vw,32px);
    margin-top:24px;
  }
  .pw-grid-59 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(24px,3.4vw,56px);
  }
  .pw-grid-60 {
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:12px;
    padding:12px 0;
    border-top:1px solid var(--rule);
    font-size:15px;
    line-height:1.55;
  }
  .pw-grid-61 {
    display:grid;
    grid-template-columns:minmax(0,42fr) minmax(0,58fr);
    gap:clamp(24px,3.4vw,56px);
    align-items:start;
  }
  .pw-grid-62 {
    display:grid;
    grid-template-columns:minmax(0,30fr) minmax(0,70fr);
    gap:clamp(22px,3vw,56px);
    align-items:start;
  }
  .pw-grid-63 {
    display:grid;
    gap:10px;
  }
  .pw-grid-64 {
    display:grid;
    grid-template-columns:minmax(0,1fr) 34px;
    gap:18px;
    align-items:center;
    width:100%;
    text-align:left;
    padding:clamp(18px,2vw,24px);
    border:0;
    background:none;
    cursor:pointer;
  }
  .pw-grid-65 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
    gap:clamp(20px,3vw,56px);
    align-items:end;
  }
  .pw-grid-66 {
    display:grid;
    grid-template-columns:minmax(0,27fr) minmax(0,73fr);
    gap:clamp(22px,3vw,52px);
    align-items:start;
    margin-top:clamp(28px,3.6vw,48px);
  }
  .pw-grid-67 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
    gap:12px;
    margin-top:16px;
  }
  .pw-grid-68 {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap:24px;
    align-items:center;
    border:1px solid var(--rule);
    border-radius:var(--r);
    overflow:hidden;
  }
  .pw-grid-69 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid var(--rule);
    border-radius:8px;
    overflow:hidden;
    margin-top:20px;
  }
  .pw-hidden-2 {
    display:none;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:none;
    border:0;
    border-radius:999px;
    background:var(--ink);
    cursor:pointer;
    transition:background-color .18s ease;
  }
  .pw-ink-5 {
    font-weight:400;
    color:var(--ink-soft);
  }
  .pw-ink-6 {
    font-weight:500;
    color:var(--ink-soft);
  }
  .pw-ink-7 {
    color:#fff;
    width:min(100%,46ch);
    text-shadow:0 1px 26px #4A5B75;
  }
  .pw-ink-8 {
    color:var(--ink-faint);
    font-weight:500;
  }
  .pw-ink-9 {
    color:var(--ink);
    font-weight:600;
  }
  .pw-lh-1-55 {
    line-height:1.55;
  }
  .pw-maxw-18ch {
    max-width:18ch;
  }
  .pw-mb-14px {
    margin-bottom:14px;
  }
  .pw-mt-0 {
    margin-top:0;
  }
  .pw-mt-1px {
    margin-top:1px;
  }
  .pw-mt-26px {
    margin-top:26px;
  }
  .pw-mt-6px {
    margin-top:6px;
  }
  .pw-mt-clamp-20px-2-4vw {
    margin-top:clamp(20px,2.4vw,30px);
  }
  .pw-mt-clamp-24px-3vw-4 {
    margin-top:clamp(24px,3vw,40px);
  }
  .pw-mt-clamp-36px-4-6vw {
    margin-top:clamp(36px,4.6vw,64px);
  }
  .pw-op-7 {
    opacity:.7;
  }
  .pw-p-0-20px-20px-0 {
    padding:0 20px 20px 0;
  }
  .pw-p-0-clamp-18px-2vw {
    padding:0 clamp(18px,2vw,24px) clamp(20px,2.2vw,26px);
  }
  .pw-p-12px-14px {
    padding:12px 14px;
  }
  .pw-p-clamp-10px-1-4vw {
    padding:clamp(10px,1.4vw,18px) clamp(10px,1.4vw,18px) 0;
  }
  .pw-p-clamp-20px-2-2vw {
    padding:clamp(20px,2.2vw,26px);
  }
  .pw-p-clamp-48px-5-9vw {
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px);
  }
  .pw-pad-10 {
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px);
    scroll-margin-top:110px;
  }
  .pw-pad-11 {
    padding:12px 14px;
    border-left:1px solid var(--rule);
  }
  .pw-pad-5 {
    white-space:nowrap;
    padding:14px 22px;
  }
  .pw-pad-6 {
    align-items:flex-start;
    gap:14px;
    padding:12px 0;
    width:100%;
  }
  .pw-pad-7 {
    position:relative;
    z-index:3;
    width:100%;
    padding:clamp(26px,4.5vw,64px);
    padding-top:clamp(96px,10vw,150px);
    padding-bottom:clamp(120px,22vh,280px);
    color:#fff;
  }
  .pw-pad-8 {
    padding:clamp(48px,5.9vw,88px) clamp(16px,4vw,56px);
    scroll-margin-top:120px;
  }
  .pw-pad-9 {
    padding:clamp(48px,5.9vw,88px) clamp(10px,1.4vw,18px);
    scroll-margin-top:110px;
  }
  .pw-ratio-5-4 {
    aspect-ratio:5/4;
  }
  .pw-row-29 {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:clamp(22px,3vw,32px);
  }
  .pw-row-30 {
    display:flex;
    align-items:center;
    gap:clamp(8px,1.4vw,26px);
    background:#fff;
    border-radius:8px;
    padding:12px 14px 12px clamp(16px,2vw,28px);
  }
  .pw-row-31 {
    display:flex;
    align-items:center;
    gap:11px;
    margin-right:auto;
  }
  .pw-row-32 {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
  }
  .pw-row-33 {
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:var(--accent-wash);
    color:var(--accent-dark);
    border-radius:999px;
    padding:9px 16px;
    font:600 13px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-row-34 {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:clamp(30px,4vw,46px);
  }
  .pw-row-35 {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px;
  }
  .pw-row-36 {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
  }
  .pw-row-37 {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--rule);
  }
  .pw-row-38 {
    display:flex;
    align-items:center;
    gap:10px;
  }
  .pw-row-39 {
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
    border-top:1px solid var(--rule);
  }
  .pw-row-40 {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:16px;
    margin-top:16px;
    padding-top:16px;
    border-top:2px solid var(--ink);
  }
  .pw-row-41 {
    display:flex;
    justify-content:space-between;
    gap:16px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid var(--rule);
  }
  .pw-row-42 {
    display:inline-flex;
    align-self:flex-start;
    align-items:center;
    background:#fff;
    border-radius:999px;
    padding:9px 15px;
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.04em;
    margin-bottom:18px;
  }
  .pw-row-43 {
    display:flex;
    align-items:center;
    gap:12px;
  }
  .pw-row-44 {
    position:absolute;
    left:17px;
    top:50%;
    transform:translateY(-50%);
    color:var(--ink-faint);
    display:flex;
  }
  .pw-row-45 {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:16px;
  }
  .pw-row-46 {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .pw-row-47 {
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    justify-content:space-between;
    gap:10px 20px;
    border-top:2px solid var(--ink);
    padding-top:14px;
  }
  .pw-row-48 {
    position:relative;
    min-height:calc(112vh - 20px);
    display:flex;
    flex-direction:row;
    align-items:flex-end;
    background:var(--stone);
  }
  .pw-row-49 {
    display:flex;
    align-items:center;
    gap:14px;
    margin:28px 0 40px;
    max-width:36ch;
  }
  .pw-row-50 {
    position:relative;
    overflow:hidden;
    background:var(--ink);
    min-height:min(70vh,620px);
    display:flex;
    align-items:flex-end;
  }
  .pw-row-51 {
    position:relative;
    width:100%;
    display:flex;
    justify-content:flex-start;
    padding:clamp(28px,4.4vw,64px);
  }
  .pw-row-52 {
    display:flex;
    align-items:center;
    gap:12px;
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#F0A91F;
    margin-bottom:20px;
  }
  .pw-row-53 {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
  }
  .pw-row-54 {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:13px 0;
    border-top:1px solid #D9D9D9;
    border-bottom:1px solid #D9D9D9;
  }
  .pw-row-55 {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
  }
  .pw-row-56 {
    display:inline-flex;
    align-items:center;
    background:var(--ink);
    color:#fff;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.02em;
    padding:7px 16px;
    border-radius:999px;
  }
  .pw-row-57 {
    display:flex;
    justify-content:center;
    margin:clamp(26px,3vw,42px) 0;
  }
  .pw-row-58 {
    display:inline-flex;
    gap:4px;
    background:rgba(7,31,62,0.07);
    border-radius:999px;
    padding:5px;
  }
  .pw-row-59 {
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:9px;
    max-width:1180px;
  }
  .pw-row-60 {
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 14px;
    border-radius:999px;
    background:var(--sand);
    border:1px solid rgba(7,31,62,0.09);
    font-size:13.5px;
    line-height:1.3;
    white-space:nowrap;
  }
  .pw-row-61 {
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:999px;
    background:var(--sand);
    color:var(--ink);
    font-size:20px;
    line-height:1;
    margin-right:8px;
  }
  .pw-row-62 {
    display:flex;
    justify-content:flex-end;
  }
  .pw-row-63 {
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border-radius:999px;
    background:rgba(255,255,255,0.12);
    color:#F0A91F;
  }
  .pw-row-64 {
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    grid-row:span 2;
  }
  .pw-row-65 {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    justify-content:flex-start;
  }
  .pw-row-66 {
    display:flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    margin-top:2px;
  }
  .pw-row-67 {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
  }
  .pw-row-68 {
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:20px;
    margin-top:16px;
    padding-top:16px;
    border-top:2px solid #fff;
  }
  .pw-row-69 {
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,0.18);
  }
  .pw-row-70 {
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--ink-faint);
    display:flex;
  }
  .pw-row-71 {
    max-width:1240px;
    margin:0 auto;
    padding:9px clamp(16px,3vw,20px);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 22px;
    font:500 12.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    color:rgba(255,255,255,0.72);
  }
  .pw-row-72 {
    display:inline-flex;
    align-items:center;
    background:var(--well);
    border-radius:999px;
    padding:9px 15px;
    font:500 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-row-73 {
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:999px;
    background:var(--accent-wash);
    color:#4E6320;
  }
  .pw-stack-10 {
    display:flex;
    flex-direction:column;
  }
  .pw-stack-11 {
    display:flex;
    flex-direction:column;
    gap:40px;
  }
  .pw-stack-12 {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .pw-stack-13 {
    margin-top:clamp(22px,2.6vw,34px);
    display:flex;
    flex-direction:column;
    gap:clamp(24px,3vw,40px);
  }
  .pw-stack-14 {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .pw-stack-5 {
    margin:0;
    background:var(--ink);
    color:#fff;
    padding:clamp(26px,3.4vw,38px);
    border-radius:2px;
    display:flex;
    flex-direction:column;
    gap:clamp(18px,2.4vw,26px);
  }
  .pw-stack-6 {
    position:absolute;
    top:clamp(10px,1.2vw,16px);
    left:clamp(10px,1.2vw,16px);
    right:clamp(10px,1.2vw,16px);
    z-index:40;
    display:flex;
    flex-direction:column;
    gap:clamp(8px,0.9vw,12px);
  }
  .pw-stack-7 {
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .pw-stack-8 {
    display:flex;
    flex-direction:column;
    background:var(--well);
    border-radius:var(--r);
    overflow:hidden;
  }
  .pw-stack-9 {
    padding:clamp(24px,2.8vw,38px);
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .pw-type-100 {
    font-size:14.5px;
    line-height:1.6;
    color:rgba(255,255,255,0.72);
    margin-top:8px;
  }
  .pw-type-101 {
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }
  .pw-type-102 {
    font-size:14px;
    font-weight:600;
  }
  .pw-type-103 {
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    margin-bottom:18px;
    opacity:0.85;
  }
  .pw-type-104 {
    font-size:clamp(34px,5.2vw,76px);
    line-height:1;
    letter-spacing:-0.032em;
    font-weight:500;
    max-width:16ch;
    margin-bottom:20px;
  }
  .pw-type-105 {
    font-size:clamp(16px,1.5vw,20px);
    line-height:1.5;
    max-width:46ch;
    opacity:0.92;
  }
  .pw-type-106 {
    font-size:clamp(30px,4.4vw,64px);
    line-height:1.06;
    letter-spacing:-0.035em;
    font-weight:400;
    text-align:center;
    max-width:32ch;
    margin:0 auto 24px;
  }
  .pw-type-107 {
    font-size:clamp(15px,1.4vw,18px);
    line-height:1.6;
    color:#4A5B75;
    text-align:center;
    max-width:56ch;
    margin:0 auto clamp(40px,5vw,80px);
  }
  .pw-type-108 {
    font-size:11.5px;
    line-height:1.4;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#8A6410;
  }
  .pw-type-109 {
    font-size:clamp(32px,3.7vw,48px);
    line-height:1.1;
    font-weight:600;
    letter-spacing:-0.03em;
    color:#071F3E;
    max-width:15ch;
    margin:16px 0 0;
  }
  .pw-type-110 {
    font-size:clamp(30px,3.9vw,54px);
    line-height:1.02;
    letter-spacing:-0.035em;
    font-weight:500;
    margin-bottom:20px;
    max-width:20ch;
    text-wrap:balance;
  }
  .pw-type-111 {
    font-size:clamp(15px,1.4vw,17.5px);
    line-height:1.6;
    color:rgba(255,255,255,0.88);
    margin-bottom:30px;
    max-width:38ch;
    text-wrap:pretty;
  }
  .pw-type-112 {
    font-size:12.5px;
    font-weight:500;
    letter-spacing:0.02em;
    color:rgba(255,255,255,0.72);
    margin-top:22px;
    max-width:44ch;
    text-wrap:pretty;
  }
  .pw-type-113 {
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent-dark);
  }
  .pw-type-114 {
    font-size:clamp(26px,3.4vw,46px);
    line-height:1.05;
    letter-spacing:-0.032em;
    font-weight:500;
    max-width:18ch;
  }
  .pw-type-115 {
    font-size:15.5px;
    line-height:1.6;
    color:#4A5B75;
    max-width:44ch;
  }
  .pw-type-116 {
    font-size:clamp(26px,3.6vw,52px);
    line-height:1.06;
    letter-spacing:-0.035em;
    font-weight:500;
    margin:22px 0 16px;
    white-space:nowrap;
  }
  .pw-type-117 {
    font-size:clamp(14px,1.35vw,17px);
    line-height:1.6;
    color:#4A5B75;
    max-width:100%;
    margin:0 auto;
    text-wrap:balance;
  }
  .pw-type-118 {
    font-size:clamp(28px,3.8vw,52px);
    line-height:1.06;
    letter-spacing:-0.032em;
    font-weight:400;
    margin-bottom:16px;
  }
  .pw-type-119 {
    font-size:clamp(15px,1.4vw,17px);
    line-height:1.6;
    color:#4A5B75;
  }
  .pw-type-120 {
    font-size:clamp(28px,3.8vw,52px);
    line-height:1.06;
    letter-spacing:-0.032em;
    font-weight:400;
    max-width:16ch;
  }
  .pw-type-121 {
    font-size:clamp(15px,1.4vw,17px);
    line-height:1.6;
    color:#4A5B75;
    max-width:52ch;
  }
  .pw-type-122 {
    font-size:clamp(28px,3.8vw,52px);
    line-height:1.06;
    letter-spacing:-0.032em;
    font-weight:400;
    text-align:center;
    margin-bottom:clamp(28px,3.4vw,48px);
  }
  .pw-type-123 {
    align-items:center;
    gap:14px;
    padding:12px 0;
    font-size:15.5px;
    font-weight:500;
  }
  .pw-type-124 {
    font-size:15px;
    line-height:1.65;
    color:#4A5B75;
    padding:0 60px 22px 0;
    max-width:70ch;
  }
  .pw-type-125 {
    font:500 clamp(30px,4.4vw,50px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    max-width:16ch;
  }
  .pw-type-126 {
    font-size:clamp(16px,1.7vw,19px);
    line-height:1.6;
    max-width:56ch;
  }
  .pw-type-127 {
    font:600 clamp(18px,2vw,22px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin-top:16px;
  }
  .pw-type-128 {
    font-size:15px;
    line-height:1.6;
    color:rgba(255,255,255,0.72);
    margin-top:10px;
    max-width:36ch;
  }
  .pw-type-129 {
    color:#fff;
    font-size:14.5px;
    font-weight:600;
  }
  .pw-type-130 {
    font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-top:24px;
  }
  .pw-type-131 {
    font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#4E6320;
  }
  .pw-type-132 {
    font:600 clamp(19px,2.1vw,24px)/1.15 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.025em;
  }
  .pw-type-133 {
    grid-column:1/-1;
    font-size:14.5px;
    line-height:1.6;
    color:#4A5B75;
    margin-top:4px;
  }
  .pw-type-134 {
    font:500 clamp(26px,3.4vw,42px)/1.08 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.032em;
    max-width:20ch;
  }
  .pw-type-135 {
    font-size:16px;
    line-height:1.65;
    color:rgba(255,255,255,0.72);
    margin-top:16px;
    max-width:48ch;
  }
  .pw-type-136 {
    position:relative;
    height:13px;
    font:500 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink-faint);
    margin-bottom:8px;
  }
  .pw-type-137 {
    font-size:15px;
    line-height:1.5;
    margin-top:8px;
  }
  .pw-type-138 {
    font:600 clamp(30px,3.4vw,42px)/1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.03em;
    margin-top:12px;
  }
  .pw-type-139 {
    font-size:15px;
    line-height:1.6;
    color:#4A5B75;
    margin-top:10px;
  }
  .pw-type-140 {
    font-size:14px;
    line-height:1.5;
    color:var(--ink-soft);
    margin-top:4px;
    max-width:52ch;
  }
  .pw-type-141 {
    font:600 16px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    white-space:nowrap;
  }
  .pw-type-142 {
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:#F0A91F;
  }
  .pw-type-143 {
    font:500 clamp(24px,3vw,38px)/1.1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.03em;
    margin-top:16px;
    max-width:20ch;
  }
  .pw-type-144 {
    font-size:15.5px;
    line-height:1.65;
    color:rgba(255,255,255,0.72);
    margin-top:16px;
    max-width:40ch;
  }
  .pw-type-145 {
    font:600 clamp(34px,4.4vw,56px)/1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
  }
  .pw-type-146 {
    font-size:15px;
    color:rgba(255,255,255,0.72);
  }
  .pw-type-147 {
    font-size:15px;
    font-weight:600;
  }
  .pw-type-148 {
    font-size:14.5px;
    line-height:1.65;
    color:rgba(255,255,255,0.72);
    margin-top:22px;
    max-width:52ch;
  }
  .pw-type-149 {
    font-size:13.5px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:14px;
    max-width:62ch;
  }
  .pw-type-150 {
    font-size:clamp(15.5px,1.6vw,18.5px);
    margin-top:18px;
    max-width:54ch;
  }
  .pw-type-151 {
    font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--gold);
  }
  .pw-type-152 {
    font:600 clamp(19px,2.1vw,23px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.022em;
    margin-top:12px;
  }
  .pw-type-153 {
    font-size:15px;
    line-height:1.65;
    color:rgba(255,255,255,0.78);
    margin-top:8px;
  }
  .pw-type-154 {
    font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }
  .pw-type-155 {
    font:600 16.5px/1.25 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:8px;
  }
  .pw-type-156 {
    font-size:14px;
    color:var(--ink-soft);
    margin-top:4px;
    font-variant-numeric:tabular-nums;
  }
  .pw-type-157 {
    font-size:14.5px;
    line-height:1.6;
  }
  .pw-type-158 {
    font-size:13.5px;
    margin-top:clamp(28px,3.4vw,44px);
    border-top:1px solid var(--rule);
    padding-top:16px;
  }
  .pw-type-159 {
    margin-top:12px;
    min-height:44px;
    padding:0;
    border:0;
    background:none;
    color:var(--pine);
    font:400 16px/1.6 'IBM Plex Sans',system-ui,sans-serif;
    text-decoration:underline;
    text-underline-offset:0.15em;
    cursor:pointer;
  }
  .pw-type-16-2 {
    font:600 16px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-type-160 {
    min-height:44px;
    border:0;
    background:none;
    color:var(--pine);
    font-size:15px;
    text-decoration:underline;
    text-underline-offset:0.15em;
    cursor:pointer;
  }
  .pw-type-161 {
    font:600 16px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:24px;
  }
  .pw-type-162 {
    font:600 21px/1.3 'Archivo',system-ui,sans-serif;
    margin-top:12px;
  }
  .pw-type-163 {
    font-size:13.5px;
    line-height:1.55;
    color:var(--ink-faint);
    margin-top:10px;
  }
  .pw-type-164 {
    font:600 16.5px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:14px;
  }
  .pw-type-165 {
    font:600 clamp(18px,1.9vw,21px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
  }
  .pw-type-166 {
    font:600 15px/1.4 \'IBM Plex Sans\',system-ui,sans-serif; margin-top:10px;
  }
  .pw-type-17-2 {
    font:600 17px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-type-49 {
    font:500 clamp(32px,5.4vw,62px)/1.06 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    max-width:22ch;
    margin-top:18px;
  }
  .pw-type-50 {
    font:400 clamp(18px,2.1vw,22px)/1.55 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:-0.01em;
    max-width:46ch;
  }
  .pw-type-51 {
    font-size:16.5px;
    line-height:1.7;
    color:var(--ink-soft);
    margin-top:22px;
    max-width:52ch;
  }
  .pw-type-52 {
    margin:0;
    font:400 clamp(17px,2vw,20px)/1.5 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:-0.01em;
  }
  .pw-type-53 {
    font:600 14px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    color:rgba(255,255,255,0.72);
    border-top:1px solid rgba(255,255,255,0.16);
    padding-top:16px;
    margin-top:auto;
  }
  .pw-type-54 {
    font:500 clamp(19px,2.2vw,24px)/1.35 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin-top:14px;
  }
  .pw-type-55 {
    font-size:16px;
    line-height:1.7;
    color:var(--ink-soft);
    margin-top:12px;
    max-width:40ch;
  }
  .pw-type-56 {
    font-size:16px;
    line-height:1.7;
    color:var(--ink-soft);
    margin-top:14px;
    max-width:40ch;
  }
  .pw-type-57 {
    font:500 clamp(24px,3.4vw,40px)/1.15 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.03em;
    max-width:24ch;
  }
  .pw-type-58 {
    font-size:16.5px;
    line-height:1.7;
    color:var(--ink-soft);
    margin-top:14px;
    max-width:48ch;
  }
  .pw-type-59 {
    font:500 clamp(30px,4.4vw,50px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin-top:16px;
    max-width:15ch;
  }
  .pw-type-60 {
    font-size:clamp(15.5px,1.6vw,18.5px);
    margin-top:18px;
    max-width:46ch;
  }
  .pw-type-61 {
    font:500 clamp(19px,2vw,24px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin-top:10px;
    max-width:20ch;
  }
  .pw-type-62 {
    font-size:14px;
    margin-top:8px;
  }
  .pw-type-63 {
    font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--accent-dark);
  }
  .pw-type-64 {
    font:500 clamp(22px,2.4vw,28px)/1.15 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.028em;
    margin-top:14px;
  }
  .pw-type-65 {
    font-size:15px;
    line-height:1.65;
    color:var(--ink-soft);
    margin-top:12px;
    max-width:38ch;
  }
  .pw-type-66 {
    font:600 15.5px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:18px;
  }
  .pw-type-67 {
    font:600 12px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--ink-faint);
    margin-top:30px;
  }
  .pw-type-68 {
    font-size:13.5px;
    margin-top:14px;
  }
  .pw-type-69 {
    font:500 clamp(32px,5vw,52px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin:20px 0 18px;
  }
  .pw-type-70 {
    font-size:clamp(16px,1.6vw,19px);
    line-height:1.6;
    color:var(--ink-soft);
    max-width:54ch;
  }
  .pw-type-71 {
    font-size:15.5px;
    line-height:1.65;
    color:var(--ink-soft);
    margin-top:22px;
    max-width:56ch;
  }
  .pw-type-72 {
    font:500 22px/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin:clamp(34px,4.5vw,54px) 0 4px;
  }
  .pw-type-73 {
    font:600 15px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--accent-dark);
    font-variant-numeric:tabular-nums;
  }
  .pw-type-74 {
    font:500 clamp(30px,4.4vw,50px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin-top:16px;
    max-width:22ch;
  }
  .pw-type-75 {
    font-size:clamp(15.5px,1.6vw,18.5px);
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:18px;
    max-width:48ch;
  }
  .pw-type-76 {
    font:600 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink-soft);
    margin-bottom:10px;
  }
  .pw-type-77 {
    text-align:center;
    font:500 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink-faint);
    padding:6px 0;
  }
  .pw-type-78 {
    font-size:15.5px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:12px;
    max-width:52ch;
  }
  .pw-type-79 {
    font-size:14px;
    line-height:1.5;
    color:var(--ink-soft);
    margin-top:4px;
    max-width:46ch;
  }
  .pw-type-80 {
    min-width:2ch;
    text-align:center;
    font:600 16px/1 'IBM Plex Sans',system-ui,sans-serif;
    font-variant-numeric:tabular-nums;
  }
  .pw-type-81 {
    font-size:14px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:14px;
    max-width:56ch;
  }
  .pw-type-82 {
    font:600 15px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--err);
    background:#FEF3F2;
    border:1px solid rgba(179,38,30,0.24);
    border-radius:8px;
    padding:14px 16px;
    margin-top:20px;
  }
  .pw-type-83 {
    font-size:14px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:12px;
  }
  .pw-type-84 {
    font:600 12.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--ink-faint);
  }
  .pw-type-85 {
    font-size:16px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:16px;
  }
  .pw-type-86 {
    font:600 18px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin-top:16px;
  }
  .pw-type-87 {
    font:600 clamp(30px,3.4vw,42px)/1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.03em;
    font-variant-numeric:tabular-nums;
    animation:totalIn 260ms ease both;
  }
  .pw-type-88 {
    font-size:14.5px;
    color:var(--ink-soft);
  }
  .pw-type-89 {
    font-size:14.5px;
    font-weight:600;
    font-variant-numeric:tabular-nums;
  }
  .pw-type-90 {
    font-size:13px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:18px;
  }
  .pw-type-91 {
    font:600 13.5px/1.55 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--accent-dark);
    font-variant-numeric:tabular-nums;
  }
  .pw-type-92 {
    font-size:14px;
    line-height:1.55;
  }
  .pw-type-93 {
    font-size:15.5px;
    line-height:1.6;
    color:var(--ink-soft);
    margin-top:12px;
  }
  .pw-type-94 {
    font-size:13px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:6px;
  }
  .pw-type-95 {
    font:600 clamp(21px,2.2vw,27px)/1.25 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
  }
  .pw-type-96 {
    font:600 clamp(34px,4vw,50px)/1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin-top:16px;
  }
  .pw-type-97 {
    font:600 12.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--accent-dark);
  }
  .pw-type-98 {
    font-size:13.5px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:auto;
    padding-top:20px;
  }
  .pw-type-99 {
    font:600 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--ink-faint);
    padding-bottom:10px;
  }
  .pw-w-100pc {
    width:100%;
  }
  .pw-absolute-10 {
    position:absolute;
    left:8.49%;
    top:0;
  }
  .pw-absolute-11 {
    position:absolute;
    left:16.16%;
    top:0;
  }
  .pw-absolute-12 {
    position:absolute;
    left:24.66%;
    top:0;
  }
  .pw-absolute-13 {
    position:absolute;
    left:32.88%;
    top:0;
  }
  .pw-absolute-14 {
    position:absolute;
    left:41.37%;
    top:0;
  }
  .pw-absolute-15 {
    position:absolute;
    left:49.59%;
    top:0;
  }
  .pw-absolute-16 {
    position:absolute;
    left:58.08%;
    top:0;
  }
  .pw-absolute-17 {
    position:absolute;
    left:66.58%;
    top:0;
  }
  .pw-absolute-18 {
    position:absolute;
    left:74.79%;
    top:0;
  }
  .pw-absolute-19 {
    position:absolute;
    left:83.29%;
    top:0;
  }
  .pw-absolute-20 {
    position:absolute;
    left:91.51%;
    top:0;
  }
  .pw-absolute-21 {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
  }
  .pw-absolute-9 {
    position:absolute;
    left:0%;
    top:0;
  }
  .pw-bit-11 {
    width:100%;
    justify-content:center;
  }
  .pw-block-33 {
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    border-radius:8px;
    display:block;
  }
  .pw-block-34 {
    grid-column:span 2;
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:8px;
  }
  .pw-block-35 {
    display:block;
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
  }
  .pw-block-36 {
    display:block;
    width:100%;
    aspect-ratio:5/4;
    object-fit:cover;
  }
  .pw-block-37 {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:inherit;
  }
  .pw-block-38 {
    width:34px;
    height:34px;
    object-fit:contain;
    display:block;
  }
  .pw-block-39 {
    display:block;
    font:600 16px/1.4 \'IBM Plex Sans\',system-ui,sans-serif; color:var(--ink);
  }
  .pw-edge-14 {
    width:100%;
    margin-top:20px;
    justify-content:center;
    opacity:.45;
    cursor:not-allowed;
    border:0;
  }
  .pw-edge-15 {
    border:1px solid var(--rule);
    border-left:2px solid #071F3E;
    border-radius:8px;
    padding:20px;
  }
  .pw-edge-16 {
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:0;
    overflow:hidden;
  }
  .pw-edge-17 {
    border:1px solid var(--rule);
    border-radius:var(--r);
    padding:0;
    overflow:hidden;
    animation-delay:90ms;
  }
  .pw-edge-18 {
    max-width:280px;
    height:auto;
    border:1px solid #dcdcde;
  }
  .pw-fill-34 {
    position:relative;
    margin-top:clamp(24px,3vw,40px);
    background:rgba(255,255,255,0.96);
    border-radius:8px;
    padding:clamp(16px,1.8vw,22px);
    max-width:1000px;
    scroll-margin-top:110px;
  }
  .pw-fill-35 {
    margin-top:clamp(24px,3vw,40px);
    background:rgba(255,255,255,0.96);
    border-radius:8px;
    padding:clamp(16px,1.8vw,22px);
    max-width:1000px;
    scroll-margin-top:110px;
  }
  .pw-fs-14px {
    font-size:14px;
  }
  .pw-gap-38 {
    max-width:860px;
    margin:0 auto;
    padding:clamp(28px,4vw,52px) clamp(16px,3vw,20px) clamp(48px,6vw,88px);
  }
  .pw-gap-39 {
    position:relative;
    margin-top:20px;
  }
  .pw-gap-40 {
    text-align:center;
    margin-top:clamp(22px,2.6vw,36px);
  }
  .pw-gap-41 {
    flex:none;
    width:20px;
    height:20px;
    margin-top:2px;
  }
  .pw-grid-70 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid var(--rule);
    border-radius:8px;
    overflow:hidden;
  }
  .pw-grid-71 {
    display:grid;
    grid-template-columns:40px auto minmax(0,1fr);
    column-gap:20px;
    align-items:start;
    padding-bottom:40px;
    border-bottom:1px solid #D9D9D9;
    animation:stepUp 300ms cubic-bezier(0.25,0.1,0.25,1) 0ms both;
  }
  .pw-grid-72 {
    display:grid;
    grid-template-columns:40px auto minmax(0,1fr);
    column-gap:20px;
    align-items:start;
    padding-bottom:40px;
    border-bottom:1px solid #D9D9D9;
    animation:stepUp 300ms cubic-bezier(0.25,0.1,0.25,1) 60ms both;
  }
  .pw-grid-73 {
    display:grid;
    grid-template-columns:40px auto minmax(0,1fr);
    column-gap:20px;
    align-items:start;
    animation:stepUp 300ms cubic-bezier(0.25,0.1,0.25,1) 120ms both;
  }
  .pw-ink-10 {
    color:inherit;
    text-decoration:underline;
  }
  .pw-ink-11 {
    color:var(--ink-faint);
    margin-right:10px;
  }
  .pw-m-0-0-10px {
    margin:0 0 10px;
  }
  .pw-m-0-0-12px {
    margin:0 0 12px;
  }
  .pw-m-0-0-6px {
    margin:0 0 6px;
  }
  .pw-m-0-0-8px {
    margin:0 0 8px;
  }
  .pw-m-16px-0-0 {
    margin:16px 0 0;
  }
  .pw-maxw-46em {
    max-width:46em;
  }
  .pw-mb-16px {
    margin-bottom:16px;
  }
  .pw-mt-2px {
    margin-top:2px;
  }
  .pw-mt-clamp-30px-3-4vw {
    margin-top:clamp(30px,3.4vw,46px);
  }
  .pw-row-74 {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:16px;
  }
  .pw-row-75 {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:var(--well);
    border-radius:999px;
    padding:9px 15px;
    font:500 13.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  }
  .pw-row-76 {
    width:34px;
    height:34px;
    border-radius:999px;
    background:var(--sand);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:600;
    color:var(--accent-deep);
  }
  .pw-row-77 {
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:7px 0;
    font-size:15px;
  }
  .pw-row-78 {
    display:flex;
    gap:11px;
    align-items:flex-start;
    padding:6px 0;
    cursor:pointer;
  }
  .pw-type-16-3 {
    font:600 16px/1.4 \'IBM Plex Sans\',system-ui,sans-serif;
  }
  .pw-type-167 {
    font:600 15px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--err);
    background:#FEF3F2;
    border:1px solid rgba(179,38,30,0.24);
    border-radius:8px;
    padding:14px 16px;
    margin-top:14px;
    max-width:56ch;
  }
  .pw-type-168 {
    margin:12px 2px 0;
    font-size:14px;
    line-height:1.45;
    color:var(--accent-dark);
  }
  .pw-type-169 {
    font:500 clamp(30px,4.4vw,50px)/1.05 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.035em;
    margin-top:16px;
    max-width:18ch;
  }
  .pw-type-170 {
    font:700 clamp(26px,3.2vw,36px)/1.1 'Archivo',system-ui,sans-serif;
    letter-spacing:-0.02em;
    margin:0 0 8px;
  }
  .pw-type-171 {
    font-size:15.5px;
    line-height:1.55;
    color:var(--ink-soft);
    max-width:60ch;
    margin:0 0 clamp(16px,2vw,24px);
  }
  .pw-type-172 {
    font:600 18px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin:0 0 3px;
  }
  .pw-type-173 {
    font-size:14px;
    color:var(--ink-soft);
    margin:0;
  }
  .pw-type-174 {
    font:600 15px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin:16px 0 2px;
  }
  .pw-type-175 {
    font:600 18px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin:0;
  }
  .pw-type-176 {
    font:600 18px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin:0 0 2px;
  }
  .pw-type-177 {
    font:600 20px/1.3 'IBM Plex Sans',system-ui,sans-serif;
    margin:0 0 8px;
  }
  .pw-type-178 {
    font-size:15.5px;
    line-height:1.6;
    margin:0;
  }
  .pw-type-179 {
    font:600 20px/1.25 'IBM Plex Sans',system-ui,sans-serif;
    margin:14px 0 4px;
  }
  .pw-type-180 {
    font-size:15px;
    color:var(--ink-soft);
    margin:0 0 14px;
  }
  .pw-type-181 {
    font-size:14px;
    color:var(--ink-soft);
    margin:4px 0 14px;
  }
  .pw-type-182 {
    font-size:14px;
    color:var(--ink-soft);
    margin:12px 0 0;
  }
  .pw-type-183 {
    margin-top:12px;
    min-height:44px;
    padding:0;
    border:0;
    background:none;
    color:var(--pine-deep);
    font:400 16px/1.6 'IBM Plex Sans',system-ui,sans-serif;
    text-decoration:underline;
    text-underline-offset:0.15em;
    cursor:pointer;
  }
  .pw-type-184 {
    min-height:44px;
    border:0;
    background:none;
    color:var(--pine-deep);
    font-size:15px;
    text-decoration:underline;
    text-underline-offset:0.15em;
    cursor:pointer;
  }
  .pw-type-185 {
    font-size:14px;
    color:var(--accent-dark);
    margin-top:10px;
  }
  .pw-type-186 {
    font:400 17px/1.5 'IBM Plex Sans',system-ui,sans-serif;
    color:var(--ink-soft);
    margin-top:8px;
    max-width:52ch;
  }
  .pw-type-187 {
    text-align:left;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,0.18);
    font-weight:400;
    color:rgba(255,255,255,0.78);
    font-size:15px;
  }
  .pw-type-188 {
    text-align:right;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,0.18);
    font-weight:600;
    font-size:15px;
  }
  .pw-type-189 {
    text-align:left;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,0.18);
    font-weight:400;
    color:#F0A91F;
    font-size:15px;
  }
  .pw-type-190 {
    text-align:right;
    padding:13px 0;
    border-top:1px solid rgba(255,255,255,0.18);
    font-weight:600;
    font-size:15px;
    color:#F0A91F;
  }
  .pw-type-191 {
    font:600 16.5px/1.3 \'IBM Plex Sans\',system-ui,sans-serif; margin-top:14px;
  }
  .pw-type-192 {
    font-size:13.5px;
    line-height:1.6;
    color:var(--ink-faint);
    margin-top:14px;
  }
  .pw-type-193 {
    font:500 clamp(20px,2.1vw,26px)/1.25 \'Archivo\',system-ui,sans-serif; letter-spacing:-0.02em; color:var(--ink);
  }
  .pw-type-194 {
    font:500 16.5px/1.4 \'Archivo\',system-ui,sans-serif; color:var(--ink); margin-top:22px;
  }
  .pw-type-195 {
    font-size:15px;
    line-height:1.5;
  }
  .pw-type-196 {
    font-size:15.5px;
    line-height:1.6;
    margin:0 0 16px;
  }
  .pw-type-197 {
    background:#fff;
    color:var(--ink);
    border-radius:999px;
    padding:8px 15px;
    font:500 13.5px/1 \'IBM Plex Sans\',system-ui,sans-serif;
  }
  .pw-type-198 {
    font:400 17px/1.5 \'IBM Plex Sans\',system-ui,sans-serif; color:var(--ink-soft); margin-top:8px; max-width:52ch;
  }
  .pw-type-199 {
    font:600 12.5px/1 \'IBM Plex Sans\',system-ui,sans-serif; letter-spacing:0.1em; text-transform:uppercase; color:var(--accent-dark);
  }
  .pw-type-200 {
    font:600 21px/1.3 \'Archivo\',system-ui,sans-serif; margin-top:12px;
  }
  .pw-type-21-2 {
    font:600 21px/1.3 \'Archivo\',system-ui,sans-serif;
  }

  /* ------------------------------------------------------------------ *\
   * Where you are
   *
   * The bar and the pop-out menu both mark the current page with
   * aria-current, so the colour hangs off that rather than off a
   * style attribute the chrome used to inject.
  \* ------------------------------------------------------------------ */

  .navlink[aria-current="page"] {
    color: var(--accent-dark);
  }

}

@layer pwsgo-inline {

  /* ------------------------------------------------------------------ *\
   * Built by a renderer
   *
   * These replaced style attributes that inc/*.php used to assemble from
   * a fixed list of declarations plus a conditional fragment. The fragment
   * is now the modifier beside each class.
  \* ------------------------------------------------------------------ */

  /* Routes on the homepage */
  .pw-trip-card {
    position: relative;
    aspect-ratio: 3/4;
    color: #fff;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-align: center;
    padding: clamp(22px, 2.6vw, 38px);
    background: var(--stone);
  }

  /* The picture grid on the homepage. Every third tile is the wide one. */
  .pw-mosaic-tile {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 8px;
  }
  .pw-mosaic-tile--wide {
    grid-column: span 2;
    aspect-ratio: 16/9;
  }

  /* The numbered steps, which arrive one after another. */
  .pw-step-row {
    display: grid;
    grid-template-columns: 40px auto minmax(0, 1fr);
    column-gap: 20px;
    align-items: start;
    animation: stepUp 300ms cubic-bezier(0.25, 0.1, 0.25, 1) both;
  }
  .pw-step-row--divided {
    padding-bottom: 40px;
    border-bottom: 1px solid #D9D9D9;
  }
  .pw-step-delay-0 {
    animation-delay: 0ms;
  }
  .pw-step-delay-60 {
    animation-delay: 60ms;
  }
  .pw-step-delay-120 {
    animation-delay: 120ms;
  }
  .pw-step-delay-180 {
    animation-delay: 180ms;
  }
  .pw-step-delay-240 {
    animation-delay: 240ms;
  }
  .pw-step-delay-300 {
    animation-delay: 300ms;
  }
  .pw-step-delay-360 {
    animation-delay: 360ms;
  }
  .pw-step-delay-420 {
    animation-delay: 420ms;
  }
  .pw-step-delay-480 {
    animation-delay: 480ms;
  }
  .pw-step-delay-540 {
    animation-delay: 540ms;
  }
  .pw-step-delay-600 {
    animation-delay: 600ms;
  }
  .pw-step-delay-660 {
    animation-delay: 660ms;
  }
  .pw-step-delay-720 {
    animation-delay: 720ms;
  }
  .pw-step-delay-780 {
    animation-delay: 780ms;
  }
  .pw-step-delay-840 {
    animation-delay: 840ms;
  }
  .pw-step-delay-900 {
    animation-delay: 900ms;
  }
  .pw-step-delay-960 {
    animation-delay: 960ms;
  }
  .pw-step-delay-1020 {
    animation-delay: 1020ms;
  }
  .pw-step-delay-1080 {
    animation-delay: 1080ms;
  }
  .pw-step-delay-1140 {
    animation-delay: 1140ms;
  }
  .pw-step-delay-1200 {
    animation-delay: 1200ms;
  }

  /* A vehicle's feature cards, one of which the owner can pick out. */
  .pw-fact {
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 20px;
  }
  .pw-fact--lit {
    border-left: 2px solid #071F3E;
  }

  /* A bed diagram sits inside its frame where a photograph fills it. */
  .pw-fit-contain {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  /* The card pointing at the other vehicle. */
  .pw-crosslink {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 24px;
    align-items: center;
    border: 1px solid var(--rule);
    border-radius: var(--r);
    overflow: hidden;
  }
  .pw-crosslink--apart {
    margin-top: 24px;
  }

  /* The badges across the top of the enquiry page. The first has a dot. */
  .pw-badge {
    display: inline-flex;
    align-items: center;
    background: var(--well);
    border-radius: 999px;
    padding: 9px 15px;
    font: 500 13.5px/1 'IBM Plex Sans', system-ui, sans-serif;
  }
  .pw-badge--dotted {
    gap: 8px;
  }

  /* Arriving at the send page with nothing chosen. */
  .pw-send-nothing-head {
    font: 600 19px/1.3 'IBM Plex Sans', system-ui, sans-serif;
    margin: 0 0 8px;
  }

  /* The privacy and cookie notices. */
  .pw-policy-intro {
    font-size: clamp(15.5px, 1.6vw, 18.5px);
    line-height: 1.65;
    color: var(--ink-soft);
    margin-top: 18px;
    max-width: 64ch;
  }
  .pw-policy-body {
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.7;
    color: var(--ink-soft);
    margin-top: 12px;
    max-width: 64ch;
  }
  .pw-policy-points {
    padding-left: 20px;
    list-style: disc;
  }

  /* The rate cards. The second one arrives a moment after the first. */
  .pw-ratecard {
    border: 1px solid var(--rule);
    border-radius: var(--r);
    padding: 0;
    overflow: hidden;
  }
  .pw-ratecard--delayed {
    animation-delay: 90ms;
  }
  .pw-ratecard-model {
    font: 600 clamp(18px, 1.9vw, 21px)/1.25 'Archivo', system-ui, sans-serif;
    letter-spacing: -0.02em;
  }

  /* The worked example, where one row is picked out in amber. */
  .pw-ex-label {
    text-align: left;
    padding: 13px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
  }
  .pw-ex-amount {
    text-align: right;
    padding: 13px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    font-weight: 600;
    font-size: 15px;
  }
  .pw-lit {
    color: #F0A91F;
  }

  /* The icons beside the documents you need. */
  .pw-doc-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--accent-wash);
    color: #4E6320;
  }

}

@layer pwsgo-inline {

  /* ------------------------------------------------------------------ *\
   * The chrome, where a setting completes the class
   *
   * These sat in the chrome templates as a style attribute that a token
   * finished off. The token now names a modifier instead.
  \* ------------------------------------------------------------------ */

  /* The strip of contact details above the bar. */
  .pw-strip-bar {
    max-width: 1240px;
    margin: 0 auto;
    padding: 9px clamp(16px, 3vw, 20px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 22px;
    font: 500 12.5px/1.4 'IBM Plex Sans', system-ui, sans-serif;
    color: rgba(255, 255, 255, 0.72);
  }
  .pw-strip-bar--tracked {
    letter-spacing: 0.02em;
  }

  /* The menu button, which fades when the export's runtime is driving it. */
  .pw-burger-btn--animated {
    transition: background-color .18s ease;
  }

}

@layer pwsgo-inline {

  /* ------------------------------------------------------------------ *\
   * A picture filling its frame
   *
   * The vehicle mosaic, the bed pictures and the card pointing at the
   * other vehicle all used to carry this as a style attribute, written
   * by inc/vehicle-render.php. The frame around each one is a grid item
   * with a definite height, so the picture takes its height from that
   * and crops to fit rather than stretching.
  \* ------------------------------------------------------------------ */

  .pw-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

}

/* ------------------------------------------------------------------ *\
 * Which vehicle's year the rate strip is showing.
 *
 * Two vehicles are a row of buttons, three or more a dropdown; both are
 * written by pwsgo_pricing_vehicle_picker_html(). Only the arrangement is
 * set here. The colours come from .pill, .pill-dark and .pill-line, which
 * this page already uses for every other button on it.
\* ------------------------------------------------------------------ */

:where(.pwsgo-pricing) .pw-pick {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
}

:where(.pwsgo-pricing) .pw-pick label {
  font: 600 12px/1 'IBM Plex Sans', system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint);
}

/* Smaller than a call to action, because choosing a vehicle is not one. */
:where(.pwsgo-pricing) .pw-pick .pill {
  min-height: 38px;
  padding: 9px 18px;
  font-size: 14px;
}

:where(.pwsgo-pricing) .pw-pick select {
  min-height: 40px;
  padding: 8px 16px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

/* The way back to a part filled enquiry, offered on the terms page only when
   there is one to go back to. Sits above the heading because somebody who
   followed a link to read one clause wants out again, not a hunt. */
.pwsgo-back-row {
  margin:0 0 20px;
}
.pwsgo-back-row .pill {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:12px 22px;
  border-radius:999px;
  text-decoration:none;
  font:600 14.5px/1 'IBM Plex Sans',system-ui,sans-serif;
  background:#F0A91F;
  color:#071F3E;
}
.pwsgo-back-row .pill:hover {
  background:#DC991B;
  text-decoration:none;
}

/* vehicle · the section menu follows you down the page
 *
 * Paul's note: pressing Rates took you to Rates, and then the menu was gone,
 * so choosing FAQ afterwards meant scrolling all the way back up. It sticks
 * now. It had to be moved out of the hero block in the markup first: a sticky
 * element only travels as far as its own parent, and that block ended
 * directly underneath it.
 *
 * The background is drawn full width by a pseudo-element rather than by the
 * menu itself, because the menu is the centred reading column and a strip of
 * colour only as wide as the text would let the page show through either side
 * of it as things scrolled underneath.
 */
.pwsgo-secnav {
  position:sticky;

  /* Directly under the site header, whatever height that is at this width.
   * The script measures it and sets the variable; 67px is what it comes to on
   * a desktop today, and is here so the bar still lands in the right place if
   * the script does not run. A guessed offset left a band of the page
   * scrolling visibly between the header and this bar. */
  top:var(--pwsgo-head, 67px);
  z-index:30;
  margin-top:22px;

  /* The menu still scrolls sideways on a narrow screen, but now that it is a
   * bar of its own the scrollbar was drawing a grey stripe the width of the
   * page directly under it. */
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.pwsgo-secnav::-webkit-scrollbar {
  display:none;
}

/* The bar needs to be opaque across the whole window while being only as wide
 * as the reading column. A pseudo-element behind it was the obvious way and
 * the wrong one: sent behind with a negative z-index it went behind the page
 * itself, and the photographs scrolled over the top of the menu. A spread
 * shadow paints in the ordinary order instead, and the clip stops it covering
 * the page above and below. */
.pwsgo-secnav {
  background:var(--paper);
  box-shadow:0 0 0 100vmax var(--paper);
  clip-path:inset(0 -100vmax);
}
.pwsgo-secnav a {
  position:relative;
  padding-bottom:10px;
}

/* Pressing Rates used to land the heading underneath the bar, which is worse
 * than the problem this set out to fix: you arrive and cannot see what you
 * arrived at. The class is put on by the script, so nothing changes on the
 * pages that have no such menu. */
:where(.pwsgo-has-secnav) :where(#overview, #availability, #rates, #reviews, #faq, #enquiry) {
  scroll-margin-top:calc(var(--pwsgo-head, 67px) + 72px);
}

/* Which section you are actually in. A menu that follows you is only useful
 * if it also says where you are. */
.pwsgo-secnav a[aria-current="true"] {
  font-weight:600;
}
.pwsgo-secnav a[aria-current="true"]::after {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--ink, currentColor);
  border-radius:2px;
}

/* the WhatsApp button
 *
 * Bottom left, because bottom right is where the review widget sits while the
 * site is being checked over, and where a visitor expects a cookie notice.
 *
 * It is a circle on a phone and grows a label on anything wider, so it is
 * obvious what it is without taking a thumb's worth of a small screen.
 */
.pwsgo-whatsapp {
  position:fixed;
  left:20px;
  bottom:20px;
  z-index:60;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  line-height:1;
  box-shadow:0 6px 20px rgba(7,31,62,.22);
  transition:transform .18s ease, box-shadow .18s ease;
}
.pwsgo-whatsapp:hover,
.pwsgo-whatsapp:focus-visible {
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(7,31,62,.28);
}
.pwsgo-whatsapp:focus-visible {
  outline:3px solid #071F3E;
  outline-offset:3px;
}
.pwsgo-whatsapp-says {
  padding-right:6px;
}

/* The label is the first thing to go when there is no room for it. */
@media (max-width:720px) {
  .pwsgo-whatsapp {
    left:14px;
    bottom:14px;
  }
  .pwsgo-whatsapp-says {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
  }
}

/* Somebody who has asked for less movement gets less of it. */
@media (prefers-reduced-motion:reduce) {
  .pwsgo-whatsapp {
    transition:none;
  }
  .pwsgo-whatsapp:hover,
  .pwsgo-whatsapp:focus-visible {
    transform:none;
  }
}

/* enquiry and send · the word beside an answer about a code
   Applied, Expired, Cancelled and so on. currentColor is deliberate: the
   badge sits inside the message line and takes that line's colour, so there
   is one place deciding what green and red mean here, not three. */
:where(.pwsgo-enquiry, .pwsgo-send) .pwv-tag {
  display:inline-block;
  margin-right:8px;
  padding:1px 7px 2px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.07em;
  text-transform:uppercase;
  white-space:nowrap;
  vertical-align:1px;
}
:where(.pwsgo-enquiry, .pwsgo-send) .pwv-tag[hidden] {
  display:none;
}

/* send · the voucher in the summary
   Two rows that appear under the hire total once a code has been accepted.
   The hire total itself is left alone, because the hire still costs what it
   costs: a voucher pays for part of it rather than making it cheaper. The
   rule above "to pay" is what makes that the figure the eye lands on. */
:where(.pwsgo-send) .sv-off[hidden],
:where(.pwsgo-send) .sv-left[hidden] {
  display:none;
}
:where(.pwsgo-send) .sv-off {
  margin-top:10px;
}
:where(.pwsgo-send) .sv-left {
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--rule);
}

/* road trips · the index and one guide
   The cards are the homepage's, markup and all, so the two cannot drift into
   being two designs. Everything below is the article itself, which the
   homepage has no equivalent of. */
:where(.pwsgo-trips) .kick {
  margin:0;
}
:where(.pwsgo-trips) .pw-type-169 {
  max-width:24ch;
}
:where(.pwsgo-trips) .pw-type-171 {
  margin:12px 0 0;
}

/* The hairline between the heading block and the guides, with the count
   sitting on it. Counted in PHP rather than typed, so it cannot disagree with
   the list underneath it. */
:where(.pwsgo-trips) .trips-count {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 10px;
  margin:clamp(22px,2.6vw,30px) 0 0;
  padding-top:14px;
  border-top:1px solid var(--rule);
  font:600 12px/1.4 'IBM Plex Sans',system-ui,sans-serif;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
:where(.pwsgo-trips) .trips-count b {
  font-weight:600;
  color:var(--accent-dark);
}
:where(.pwsgo-trips) .trips-count span::before {
  content:'·';
  margin-right:10px;
}

:where(.pwsgo-trips) .trip-none {
  font-size:16.5px;
  color:var(--ink-soft);
}

/* The newest guide, across the width. An index that holds one thing is the
   normal state of this page for a while, and a single portrait card on a wide
   page reads as a page that failed to load rather than as a guide. */
:where(.pwsgo-trips) .trip-lead {
  display:grid;
  margin-top:clamp(22px,2.6vw,30px);
  grid-template-columns:1fr;
  gap:clamp(16px,2vw,26px);
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid var(--rule);
  border-radius:14px;
  overflow:hidden;
}
:where(.pwsgo-trips) .trip-lead-shot {
  display:block;
  aspect-ratio:16/7;
  background:var(--stone);
}
:where(.pwsgo-trips) .trip-lead-shot img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
:where(.pwsgo-trips) .trip-lead-say {
  display:block;
  padding:0 clamp(20px,2.4vw,34px) clamp(24px,2.6vw,34px);
  max-width:44em;
}
:where(.pwsgo-trips) .trip-lead-title {
  display:block;
  font-size:clamp(26px,3vw,40px);
  font-weight:500;
  line-height:1.14;
  letter-spacing:-0.025em;
  margin:10px 0 0;
}
:where(.pwsgo-trips) .trip-lead .trip-strap {
  font-size:17px;
  margin-top:12px;
}

/* Small print over every title: when it was written and how long it takes to
   read. Worked out from the guide, never typed. */
:where(.pwsgo-trips) .trip-meta {
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
:where(.pwsgo-trips) .trip-strap {
  display:block;
  font-size:15.5px;
  line-height:1.6;
  color:var(--ink-soft);
  margin-top:9px;
}
:where(.pwsgo-trips) .trip-more {
  display:inline-block;
  margin-top:18px;
  font-weight:600;
  border-bottom:2px solid var(--accent);
  padding-bottom:2px;
}
:where(.pwsgo-trips) .trip-lead:hover .trip-more {
  border-bottom-color:var(--ink);
}

/* Everything after the first. Landscape, because a photograph of a place
   nearly always is, and the portrait crop on the homepage exists so four of
   them can stand in a row, which is not what this page is doing. */
:where(.pwsgo-trips) .trips-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:clamp(18px,2vw,28px);
  margin-top:clamp(20px,2.4vw,32px);
}
:where(.pwsgo-trips) .trip-card {
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid var(--rule);
  border-radius:12px;
  overflow:hidden;
}
:where(.pwsgo-trips) .trip-card:hover {
  border-color:var(--ink);
}
:where(.pwsgo-trips) .trip-card.is-plain {
  background:var(--sand);
  border-color:#CBD3B9;
}
:where(.pwsgo-trips) .trip-card.is-plain .trip-card-say {
  padding-top:clamp(20px,2.4vw,28px);
}
:where(.pwsgo-trips) .trip-card-shot {
  display:block;
  aspect-ratio:16/10;
  background:var(--stone);
}
:where(.pwsgo-trips) .trip-card-shot img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
:where(.pwsgo-trips) .trip-card-say {
  display:block;
  padding:16px clamp(16px,1.6vw,20px) 20px;
}
:where(.pwsgo-trips) .trip-card-title {
  display:block;
  font-size:19px;
  font-weight:500;
  line-height:1.24;
  letter-spacing:-0.015em;
  margin-top:8px;
}

@media (min-width:860px) {
  :where(.pwsgo-trips) .trip-lead {
    grid-template-columns:1.15fr 1fr;
    align-items:stretch;
  }
  :where(.pwsgo-trips) .trip-lead-shot {
    aspect-ratio:auto;
    height:100%;
  }
  :where(.pwsgo-trips) .trip-lead-say {
    align-self:center;
    padding:clamp(24px,2.6vw,40px);
  }
}
/* The pager under the guides. Scoped through .navigation on purpose:
   nav-links is WordPress's own class for the links inside a pager, and it
   is also the class on the site header's menu. Written as nav-links alone,
   this turned every link in the header into an outlined pill, but only on
   this page, which is a puzzling thing to meet and a quiet thing to miss. */
:where(.pwsgo-trips) .navigation,
:where(.pwsgo-trips) .navigation .nav-links {
  display:flex;
  gap:14px;
  margin-top:8px;
}
:where(.pwsgo-trips) .navigation .nav-links a {
  text-decoration:none;
  border:1px solid var(--rule);
  border-radius:999px;
  padding:9px 16px;
  font-size:14.5px;
}
/* The credit the photographs' licences ask for. Deliberately quiet: it has
   to be there and it is not what anyone came to read. */
:where(.pwsgo-trips, .pwsgo-trip, .pwsgo-home) .trip-credits {
  margin:clamp(26px,3vw,38px) 0 0;
  padding-top:14px;
  border-top:1px solid var(--rule);
  font-size:12.5px;
  line-height:1.6;
  color:var(--ink-soft);
}
:where(.pwsgo-trips, .pwsgo-trip, .pwsgo-home) .trip-credits a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}
:where(.pwsgo-home) .trip-credits {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  border-top:0;
  padding-top:0;
}

:where(.pwsgo-trips) .screen-reader-text {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
}

/* The themes, as one row of pills. The same shape as the Newer and Older
   links further down the page, because they do the same kind of job: they
   move you between lists rather than being things to read. */
:where(.pwsgo-trips) .trip-themes {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(16px,1.8vw,22px);
}
:where(.pwsgo-trips) .trip-theme {
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--rule);
  border-radius:999px;
  padding:9px 16px;
  font-size:14px;
  line-height:1.2;
  color:inherit;
  text-decoration:none;
  background:#fff;
}
:where(.pwsgo-trips) .trip-theme:hover {
  border-color:currentColor;
}
:where(.pwsgo-trips) .trip-theme.is-on {
  background:var(--ink,#13233a);
  border-color:var(--ink,#13233a);
  color:#fff;
}
:where(.pwsgo-trips) .trip-theme-n {
  font-size:12px;
  opacity:.65;
}

:where(.pwsgo-trip) .trip-hero {
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
  aspect-ratio:16/9;
  object-fit:cover;
  /* The picture had no margin at all, so the first line of the guide started
     against the bottom edge of it. */
  margin:clamp(10px,1.2vw,16px) 0 clamp(28px,3.4vw,42px);
}

/* One column, not two.
   The guide used the full page width for its photograph and a 40em measure
   for its words, which left every paragraph trailing off into 400px of empty
   page. A guide is one column of reading: the picture, the words and the
   credit all sit on the same measure, and the margin either side of them is
   even. */
/* The column is set on the contents, not on the wrapper. pwsgo-menu.css
   pins .pwsgo-wrap to 1240px with !important so the menu panel lines up with
   the page, and that is load-bearing: narrowing the wrapper here would drag
   the menu in with it. */
:where(.pwsgo-trip) .back,
:where(.pwsgo-trip) .pw-type-169,
:where(.pwsgo-trip) .pw-type-171,
:where(.pwsgo-trip) .trip-hero,
:where(.pwsgo-trip) .trip-body,
:where(.pwsgo-trip) .trip-credits {
  max-width:720px;
  margin-inline:auto;
}

/* The title has no bottom margin and the strapline no top one, so the two sat
   against each other. The index was given this and the guide was not. */
:where(.pwsgo-trip) .pw-type-171 {
  margin-top:12px;
}

:where(.pwsgo-trip) .trip-body {
  font-size:16.5px;
  line-height:1.72;
}
:where(.pwsgo-trip) .trip-body h2 {
  font-size:clamp(22px,2.1vw,29px);
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1.2;
  margin:38px 0 10px;
}
:where(.pwsgo-trip) .trip-body h3 {
  font-size:clamp(17px,1.5vw,20px);
  font-weight:600;
  margin:26px 0 8px;
}
:where(.pwsgo-trip) .trip-body p {
  margin:0 0 16px;
}
:where(.pwsgo-trip) .trip-body ul,
:where(.pwsgo-trip) .trip-body ol {
  margin:0 0 16px 1.1em;
}
:where(.pwsgo-trip) .trip-body li {
  margin:0 0 7px;
}
:where(.pwsgo-trip) .trip-body img,
:where(.pwsgo-trip) .trip-body figure img {
  max-width:100%;
  height:auto;
  border-radius:10px;
}
:where(.pwsgo-trip) .trip-body figure {
  margin:clamp(26px,3vw,36px) 0;
}
:where(.pwsgo-trip) .trip-body figcaption {
  font-size:13.5px;
  color:var(--ink-soft);
  margin-top:7px;
}

/* The two boxes each day ends with. Same rules as the editor stylesheet, so
   what Paul writes is what the page draws. */
:where(.pwsgo-trip) .is-style-pwsgo-stay,
:where(.pwsgo-trip) .is-style-pwsgo-tip {
  position:relative;
  border-radius:10px;
  padding:16px 18px 16px 20px;
  margin:22px 0;
  font-size:15.5px;
  line-height:1.6;
}
:where(.pwsgo-trip) .is-style-pwsgo-stay::before,
:where(.pwsgo-trip) .is-style-pwsgo-tip::before {
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
  margin-bottom:6px;
  opacity:.75;
}
:where(.pwsgo-trip) .is-style-pwsgo-stay {
  background:#F2F4F2;
  border-left:3px solid #6B7F4F;
}
:where(.pwsgo-trip) .is-style-pwsgo-stay::before {
  content:'Where to stay';
  color:#4A5B33;
}
:where(.pwsgo-trip) .is-style-pwsgo-tip {
  background:#F4F1EA;
  border-left:3px solid #C8A24A;
}
:where(.pwsgo-trip) .is-style-pwsgo-tip::before {
  content:'PWS Go tip';
  color:#8A6D0B;
}

/* enquiry · the gift voucher box
   Added with the voucher feature. The box sits under the notes and only
   appears when vouchers are on sale, so most of the time none of this is
   drawn at all. */
:where(.pwsgo-enquiry) .pwv-line {
  display:flex;
  gap:10px;
  align-items:stretch;
}
:where(.pwsgo-enquiry) .pwv-box {
  flex:1 1 auto;
  min-width:0;
  font-family:'Courier New',Courier,monospace;
  letter-spacing:0.06em;
  text-transform:uppercase;
}
:where(.pwsgo-enquiry) .pwv-check {
  flex:0 0 auto;
  align-self:stretch;
}
:where(.pwsgo-enquiry) .pwv-good {
  color:var(--accent-dark);
  font-weight:600;
}
