/* Built Logic — AI Feasibility Study page, handoff v3 (11 Sep 2026).
   Page-local composition for ai-feasibility-study.html only. Palette and type
   are the locked design.md set; shared v3 tokens are read from bl-visual.css
   with a literal fallback so this sheet renders correctly on its own.

   Inside your Feasibility Study is a document composition: three selectable
   details, each one short HTML explanation beside one complete A4 page of the
   public format guide at its true proportions. The explanations are HTML text,
   not a raster of text, and every panel is in the DOM before any script runs. */

.fs-page {
  --fsv-radius-media: var(--bl-radius-media, 16px);
  --fsv-radius-card: var(--bl-radius-card, 12px);
  --fsv-shadow-media: var(--bl-shadow-media, 0 24px 60px rgba(35,42,49,.14), 0 2px 6px rgba(35,42,49,.08));
  --fsv-line: var(--bl-line-strong, rgba(35,42,49,.18));
  --fsv-ground: #FAFAF8;
  --fsv-ease: cubic-bezier(.2,.6,.2,1);
}

/* ------------------------------------------------------------------- hero */

/* An explicit icon track: the marker is its own grid column, aligned to the
   first text line, so a bullet that wraps keeps its rule at the top. */
.fsv-outcomes { list-style: none; margin: 22px 0 0; padding: 0; max-width: 34em; }
.fsv-outcomes li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
  padding: 10px 0;
  font-size: 18px;
  line-height: 1.5;
  color: #232A31;
  border-top: 1px solid #E5E5E2;
}
.fsv-outcomes li:first-child { border-top: none; }
.fsv-outcomes li::before {
  content: "";
  /* Half the first line box, so the rule sits on that line's optical centre. */
  margin-top: .72em;
  width: 16px;
  height: 2px;
  background: #1B3A5B;
}

/* A complete portrait page keeps its true proportions. */
.fsv-doc { margin: 0; }
/* The frame carries the border and shadow so the caption can sit inside the
   same <figure> without reading as part of the printed page. */
.fsv-doc__frame {
  border: 1px solid var(--fsv-line);
  border-radius: var(--fsv-radius-media);
  background: var(--fsv-ground);
  box-shadow: var(--fsv-shadow-media);
  overflow: hidden;
}
.fsv-doc img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 210 / 297;
  object-fit: contain;
  background: #FAFAF8;
}
.fsv-hero__doc { max-width: 420px; margin-left: auto; }
/* Centred against the document frame, not the hero column. */
.fsv-doc__cap { margin: 14px 0 0; font-size: 15px; line-height: 1.55; color: #586069; text-align: center; }

/* ------------------------------------------------------------------ questions */
/* A centred reading column: the heading is centred, the rows stay left-aligned. */
.fsv-faq { max-width: 780px; margin: 0 auto; }
.fsv-faq__h { text-align: center; }
.fsv-faq .fs-acc { max-width: none; }

/* ---------------------------------------------------- a plan you can use */

.fsv-deliverables { margin: 30px 0 0; max-width: 78em; }
.fsv-deliverables div {
  display: grid;
  grid-template-columns: minmax(0, 15em) minmax(0, 1fr);
  gap: 6px 32px;
  padding: 14px 0;
  border-top: 1px solid #E5E5E2;
}
.fsv-deliverables dt { font-size: 17px; font-weight: 600; color: #232A31; }
.fsv-deliverables dd { margin: 0; font-size: 16px; line-height: 1.6; color: #586069; }

/* -------------------------------------------- inside your Feasibility Study */
/* Three selectable details over one large panel. The .bl-tabs primitive lives in
   assets/bl-visual.css; everything below is this page's layout of one panel:
   short copy beside one complete A4 page at its true proportions. */

.fsv-inside { margin-top: 32px; }
.fsv-inside__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  /* Top-aligned: an A4 page is tall, and centring strands the short explanation
     in the middle of a column of empty space. */
  align-items: start;
}
.fsv-inside__copy h3 {
  margin: 0;
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-size: 27px;
  line-height: 1.18;
  letter-spacing: -.012em;
  color: #232A31;
}
.fsv-inside__copy p {
  margin: 14px 0 0;
  font-size: 18px;
  line-height: 1.6;
  color: #586069;
  max-width: 32em;
}
/* The document detail: a complete portrait page, large enough to read, that
   opens at full size. No fixed height, so the page is never reshaped. */
.fsv-inside__doc {
  display: block;
  width: 100%;
  max-width: 460px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--fsv-line);
  border-radius: var(--fsv-radius-media);
  background: var(--fsv-ground);
  box-shadow: var(--fsv-shadow-media);
  overflow: hidden;
  cursor: zoom-in;
}
.fsv-inside__doc img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 210 / 297;
  object-fit: contain;
  background: #FAFAF8;
}
.fsv-inside__doc:focus-visible { outline: 3px solid #1B3A5B; outline-offset: 3px; }
/* Caption under the document frame, centred on the page rather than the panel
   column, so a four-item excerpt viewer states which preview is showing. */
.fsv-inside__fig { margin: 0; max-width: 460px; }
.fsv-inside__cap {
  margin: 12px 0 0;
  font: 500 13px "IBM Plex Mono", ui-monospace, monospace;
  letter-spacing: 0.06em;
  color: #586069;
  text-align: center;
}
.fsv-inside__action { margin: 30px 0 0; font-size: 17px; }
/* 26 Sep 2026 (Kristian): the copy column said too little beside a tall A4 page.
   Each panel now lists what that page tells the owner, and the copy stays in
   view while the page scrolls past. */
.fsv-inside__list { margin-top: 20px; }
@media (min-width: 1041px) { .fsv-inside__copy { position: sticky; top: 112px; } }

/* ------------------------------------------------------------- responsive */

@media (max-width: 1040px) {
  .fsv-deliverables div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .fsv-inside__panel { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  /* One selected detail at full content width, as File 2 asks for on narrow screens. */
  .fsv-inside__doc { max-width: none; }
  .fsv-inside__fig { max-width: none; }
}
@media (max-width: 760px) {
  .fsv-hero__doc { max-width: 340px; margin-left: 0; }
  .fsv-outcomes li { font-size: 17px; }
  .fsv-inside__copy h3 { font-size: 24px; }
  .fsv-inside__copy p { font-size: 17px; }
}

/* ------------------------------------------------------------ utility footer */
/* v4: the full-size tagline and Map CTA left the footer on this page, so the
   dark banner starts at the card. The site-wide -40px pull existed to overlap
   the old CTA block; without it the last section would be clipped. */
.footer-shell--compact { padding-top: 56px; }

/* ==================================================================
   Feasibility Study refresh (24 Sep 2026). Shared pieces (buttons,
   icon tiles, hero field, sheets, lifting cards, FAQ cards) come from
   the "Service page refresh" block in assets/bl-visual.css.
   ================================================================== */

/* Hero outcomes: a small check tile instead of a dash */
.st-page .fsv-outcomes li { grid-template-columns: 22px minmax(0, 1fr); border-top: 0; padding: 7px 0; }
.st-page .fsv-outcomes li::before { margin-top: .12em; width: 22px; height: 22px; border-radius: 7px; background: rgba(175, 196, 221, 0.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B3A5B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 15px no-repeat; }
.st-page .fs-section--hero .fs-cta { margin-top: 26px; }

/* A plan you can put to work: four icon cards instead of ruled rows */
.st-page .fsv-deliverables { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; max-width: none; }
.st-page .fsv-deliverables > div { display: block; padding: 24px 22px 26px; border-bottom: 0; }
.st-page .fsv-deliverables dt { display: block; font-size: 19px; line-height: 1.3; }
.st-page .fsv-deliverables dt .bl-icon { margin-bottom: 18px; }
.st-page .fsv-deliverables dd { margin-top: 8px; }

/* Useful with us or without us: a flat Charcoal panel, not a full-width band */
.st-own__panel { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px 48px; align-items: center; padding: clamp(32px, 4vw, 52px); border-radius: clamp(20px, 3vw, 32px); background: #232A31; color: #FAFAF8; }
.st-own__panel .fs-h2, .st-own__panel .fs-body { color: #FAFAF8; }
.st-own__panel .fs-body { margin-bottom: 0; color: #E5E5E2; }
.st-own__routes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.st-own__routes li { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 14px; background: rgba(250, 250, 248, 0.06); border: 1px solid rgba(175, 196, 221, 0.22); font-weight: 600; font-size: 17px; }
.st-own__routes .bl-icon { background: #AFC4DD; color: #232A31; }

/* Inside your Feasibility Study: sits on the tinted sheet */
.st-page .fsv-inside__action { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }

/* Take the decision to your board: a card with the download as a button */
.st-board { display: flex; align-items: center; gap: 24px; padding: clamp(24px, 3vw, 36px); border: 1px solid rgba(35, 42, 49, 0.1); border-radius: 18px; background: #FAFAF8; }
.st-board__copy { flex: 1; }
.st-board .fs-h2 { margin-top: 0; }
.st-board .fs-body { margin-bottom: 0; }

/* Closing: a tinted panel instead of a grey band */
.st-page .fs-section--request { background: transparent; padding: clamp(40px, 5vw, 64px) clamp(8px, 1.4vw, 20px); }
.st-page .fs-close-cta { background: var(--bl-tint); border-radius: clamp(20px, 3vw, 32px); padding: clamp(36px, 5vw, 60px) clamp(24px, 4vw, 56px); max-width: 56rem; text-align: center; }
.st-page .fs-close-cta .fs-body { margin-left: auto; margin-right: auto; }

@media (max-width: 1000px) {
  .st-page .fsv-deliverables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .st-own__panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .st-page .fsv-deliverables { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .st-page .fsv-deliverables dt { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; }
  .st-page .fsv-deliverables dt .bl-icon { margin: 0; width: 44px; height: 44px; }
  .st-board { flex-direction: column; align-items: flex-start; }
  .st-page .fs-section--hero .fs-cta, .st-page .fs-close-cta .fs-cta { width: 100%; }
}

/* Published study price (24 Sep 2026, Kristian): sits with the hero button */
.st-for { margin: 24px 0 0; font-size: 16px; font-weight: 600; color: #1B3A5B; }
.st-for + .st-price { margin-top: 4px; }
.st-price { margin: 24px 0 0; font-size: 17px; line-height: 1.5; color: #586069; }
.st-price strong { font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: 30px; letter-spacing: -.01em; color: #232A31; margin-right: 2px; }
.st-page .st-price + .fs-cta { margin-top: 16px; }
.st-board__more { margin: 10px 0 0; font-size: 15px; color: #586069; }
.st-board__more a { color: #1B3A5B; font-weight: 600; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 4px; }
@media (hover: hover) and (pointer: fine){.st-board__more a:hover{ text-decoration-color: #1B3A5B; }}

/* Hero page flipper (25 Sep 2026): sits under the caption */
.fsv-pager { margin-top: 10px; font-size: 15px; color: #232A31; }
.fsv-pager [data-bl-pager-count] { min-width: 20ch; }

/* 27 Sep 2026 audit: the page had three dark boxes stacked near the bottom.
   "Useful with Built Logic or without" becomes a light tinted panel, 20px radius. */
.st-own__panel.st-own__panel { border-radius: 20px; background: rgba(175, 196, 221, 0.22); color: #232A31; }
.st-own__panel .fs-h2.fs-h2 { color: #232A31; }
.st-own__panel .fs-body.fs-body { color: #586069; }
.st-own__routes li.st-own__route, .st-own__routes li { background: #FAFAF8; border-color: rgba(35, 42, 49, 0.1); color: #232A31; }
.st-own__routes .bl-icon { background: rgba(175, 196, 221, 0.4); color: #1B3A5B; }

/* ===== Feasibility Study page, rebuilt 29 Sep 2026 (fsx-) =====
   Offer, how it works, everything included, sample, objections, booking. */
.fsx-eyebrow { margin: 0 0 12px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsx-eyebrow--light { color: #AFC4DD; }
.fsx-h2 { margin: 0; max-width: 22em; text-wrap: balance; }
/* Hero */
.fsx-hero { padding: clamp(40px, 6vw, 88px) 0 clamp(40px, 5vw, 72px); }
.fsx-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.fsx-h1 { margin: 0; text-wrap: balance; }
.fsx-lead { margin: 20px 0 0; max-width: 34em; font-size: clamp(18px, 1.35vw, 20px); line-height: 1.6; color: #232A31; }
.fsx-price { margin: 28px 0 0; font-size: 20px; color: #232A31; }
.fsx-terms { margin: 6px 0 22px; font-size: 14.5px; color: #586069; }
.fsx-note { margin: 12px 0 0; font-size: 14.5px; color: #586069; }
.fsx-glance { padding: clamp(24px, 3vw, 36px); border-radius: 24px; background: #232A31; color: #FAFAF8; }
.fsx-glance__label { margin: 0 0 18px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #AFC4DD; }
.fsx-glance__list { margin: 0; display: grid; gap: 16px; }
.fsx-glance__list div { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: baseline; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid rgba(250, 250, 248, 0.12); }
.fsx-glance__list dt { white-space: nowrap; font-family: 'Fraunces', Georgia, serif; font-size: 34px; line-height: 1; color: #AFC4DD; }
.fsx-glance__list dd { margin: 0; font-size: 16px; line-height: 1.45; color: #FAFAF8; }
.fsx-glance__foot { margin: 18px 0 0; font-size: 14.5px; line-height: 1.55; color: #E5E5E2; }
.fsx-glance__turn { margin: 12px 0 0; padding: 6px 10px; border-radius: 6px; background: rgba(175, 196, 221, 0.28); color: #1B3A5B; font-size: 13px; font-weight: 600; }
/* How it works */
.fsx-steps-sec { padding: clamp(48px, 6vw, 88px) 0; margin: 0 clamp(8px, 1.4vw, 20px); border-radius: clamp(20px, 3vw, 36px); background: rgba(175, 196, 221, 0.18); }
.fsx-steps { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; position: relative; }
.fsx-steps::before { content: ""; position: absolute; top: 9px; left: 12px; right: 12px; height: 2px; background: #232A31; opacity: 0.2; }
.fsx-step { position: relative; padding: 34px 0 0; }
.fsx-step::before { content: ""; position: absolute; top: 2px; left: 0; width: 16px; height: 16px; border-radius: 50%; background: #FAFAF8; border: 2px solid #232A31; }
.fsx-step--visit::before { background: #232A31; }
.fsx-step__when { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: #586069; }
.fsx-step__t { margin: 6px 0 10px; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.2; color: #232A31; }
.fsx-step p:not(.fsx-step__when) { margin: 0 0 10px; font-size: 15.5px; line-height: 1.55; color: #586069; }
.fsx-step__photo { margin: 14px 0 0; }
.fsx-step__photo img { display: block; width: 100%; height: 200px; aspect-ratio: auto; object-fit: cover; object-position: 50% 58%; border-radius: 14px; }
.fsx-step__photo figcaption { margin-top: 8px; font-size: 13px; color: #586069; }
.fsx-need { margin-top: 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fsx-need p { margin: 0; padding: 16px 18px; border-radius: 14px; background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.08); font-size: 15.5px; line-height: 1.55; color: #586069; }
.fsx-need strong { color: #232A31; }
/* Everything included */
.fsx-inc-sec { margin: clamp(40px, 5vw, 72px) clamp(8px, 1.4vw, 20px) 0; padding: clamp(48px, 6vw, 88px) 0; border-radius: clamp(20px, 3vw, 36px); background: #232A31; color: #FAFAF8; }
.fsx-inc { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.fsx-inc .fsx-h2 { color: #FAFAF8; }
.fsx-inc__lead { margin: 16px 0 0; font-size: 17px; line-height: 1.6; color: #E5E5E2; }
.fsx-inc__price { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(250, 250, 248, 0.15); }
.fsx-inc__price p { margin: 0 0 18px; color: #E5E5E2; font-size: 15.5px; }
.fsx-inc__price .fsx-inc__fee { margin: 0 0 4px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(34px, 3.4vw, 46px); line-height: 1; color: #AFC4DD; }
.fsx-inc__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsx-inc__list li { display: flex; gap: 12px; padding: 16px; border-radius: 14px; background: rgba(250, 250, 248, 0.05); border: 1px solid rgba(250, 250, 248, 0.1); }
.fsx-tick { flex: none; margin-top: 2px; color: #AFC4DD; }
.fsx-inc__t { margin: 0; font-weight: 600; font-size: 16px; color: #FAFAF8; }
.fsx-inc__d { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: #E5E5E2; }
.fs-cta.fsx-cta--light { background: #FAFAF8; color: #232A31; }
/* Sample */
.fsx-sample__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.fsx-sample__points { margin: 18px 0 22px; padding: 0; list-style: none; display: grid; gap: 10px; }
.fsx-sample__points li { padding-left: 16px; border-left: 2px solid #AFC4DD; font-size: 16px; line-height: 1.5; color: #586069; }
.fsx-sample__points strong { color: #232A31; }
.fsx-sample__own { margin: 22px 0 0; padding: 14px 16px; border-radius: 14px; background: rgba(175, 196, 221, 0.18); font-size: 15px; line-height: 1.55; color: #586069; }
.fsx-sample__own strong { color: #232A31; }
.fsx-sample__tag { margin: 0 0 10px; font-size: 13px; font-weight: 600; color: #586069; text-align: center; }
/* Objections and close */
.fsx-suited { margin: 28px auto 0; max-width: 40em; text-align: center; font-size: 16px; line-height: 1.6; color: #232A31; }
.fsx-close { padding: clamp(24px, 4vw, 56px) 0 clamp(48px, 6vw, 88px); }
.fsx-close__card { text-align: center; padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); border-radius: 28px; background: #232A31; color: #E5E5E2; }
.fsx-close__card .fsx-h2 { margin: 0 auto; color: #FAFAF8; }
.fsx-close__card p { margin: 14px auto 0; max-width: 34em; font-size: 17px; line-height: 1.6; }
.fsx-close__fee { font-size: 20px !important; color: #AFC4DD; margin-bottom: 22px !important; }
.fsx-close__fee strong { color: #FAFAF8; font-weight: 600; }
@media (max-width: 1023px) {
  .fsx-hero__grid, .fsx-inc, .fsx-sample__grid { grid-template-columns: minmax(0, 1fr); }
  .fsx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .fsx-steps::before { display: none; }
}
@media (max-width: 639px) {
  .fsx-steps, .fsx-need, .fsx-inc__list { grid-template-columns: minmax(0, 1fr); }
}

/* ===== AI Feasibility Study page, rebuilt 29 Sep 2026 (fsy-) =====
   Evidence-led: the real deliverable in the hero (after Stripe Atlas), the work
   as a step-by-step (after GOV.UK), one plain price (after Basecamp). */
.fsy-h2 { margin: 0; max-width: 24em; text-wrap: balance; }
.fsy-sub { margin: 12px 0 0; max-width: 40em; font-size: 17px; line-height: 1.6; color: #586069; }
.fsy-label { margin: 10px 0 0; font-size: 13.5px; line-height: 1.45; color: #586069; }
.fsy-label--light { color: #AFC4DD; margin: 0 0 12px; }
/* Hero */
.fsy-hero { padding: clamp(36px, 5vw, 80px) 0 clamp(48px, 6vw, 88px); }
.fsy-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.fsy-h1 { margin: 0; text-wrap: balance; }
.fsy-lead { margin: 20px 0 0; max-width: 34em; font-size: clamp(17.5px, 1.3vw, 19.5px); line-height: 1.6; color: #232A31; }
.fsy-fee { margin: 26px 0 22px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.fsy-fee__num { margin: 0; font-family: 'Fraunces', Georgia, serif; font-size: 40px; line-height: 1; color: #232A31; }
.fsy-fee__num span { font-size: 22px; }
.fsy-fee__terms { margin: 0; max-width: 22em; font-size: 15.5px; line-height: 1.45; color: #586069; }
.fsy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.fsy-actions--center { justify-content: center; }
.fsy-alt { font-size: 15.5px; font-weight: 600; color: #232A31; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 5px; }
.fsy-alt--light { color: #FAFAF8; }
.fsy-note { margin: 16px 0 0; max-width: 32em; font-size: 15px; line-height: 1.5; color: #586069; }
/* The sample decision page, readable HTML with numbered notes */
.fsy-doc { margin: 0; }
.fsy-doc__page { position: relative; padding: clamp(22px, 2.6vw, 34px); border-radius: 18px; background: #FAFAF8; border: 1px solid #E5E5E2; box-shadow: 0 24px 60px rgba(35, 42, 49, 0.12); }
.fsy-doc__kicker { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsy-doc__title { margin: 10px 0 18px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; color: #232A31; }
.fsy-doc__figs { margin: 0 0 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fsy-doc__figs div { padding: 12px; border-radius: 12px; background: #E5E5E2; }
.fsy-doc__figs dt { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #586069; }
.fsy-doc__figs dd { margin: 6px 0 2px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(20px, 1.9vw, 26px); color: #232A31; }
.fsy-doc__figs p { margin: 0; font-size: 13px; line-height: 1.35; color: #586069; }
.fsy-doc__figs .fsy-doc__pay { background: #232A31; }
.fsy-doc__figs .fsy-doc__pay dt, .fsy-doc__figs .fsy-doc__pay p { color: #E5E5E2; }
.fsy-doc__figs .fsy-doc__pay dd { color: #FAFAF8; }
.fsy-doc__line { display: flex; gap: 10px; margin: 10px 0 0; font-size: 15px; line-height: 1.5; color: #232A31; }
.fsy-pin { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #1B3A5B; color: #FAFAF8; font-size: 12px; font-weight: 700; letter-spacing: 0; }
.fsy-notes { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.fsy-notes li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.4; color: #232A31; }
/* The work */
.fsy-work { padding: clamp(48px, 6vw, 88px) 0; margin: 0 clamp(8px, 1.4vw, 20px); border-radius: clamp(20px, 3vw, 36px); background: rgba(175, 196, 221, 0.18); }
.fsy-steps { list-style: none; margin: 32px 0 0; padding: 0; counter-reset: fsy; display: grid; gap: 0; max-width: 980px; }
.fsy-steps li { position: relative; counter-increment: fsy; padding: 0 0 28px 64px; }
.fsy-steps li::before { content: counter(fsy); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #232A31; color: #FAFAF8; font-family: 'Fraunces', Georgia, serif; font-size: 18px; }
.fsy-steps li::after { content: ""; position: absolute; left: 19px; top: 44px; bottom: 4px; width: 2px; background: rgba(35, 42, 49, 0.18); }
.fsy-steps li:last-child::after { display: none; }
.fsy-steps__when { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsy-steps h3 { margin: 4px 0 8px; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 23px; line-height: 1.2; color: #232A31; }
.fsy-steps p { margin: 0 0 8px; max-width: 46em; font-size: 16.5px; line-height: 1.6; color: #586069; }
.fsy-steps .fsy-why { color: #232A31; font-weight: 600; font-size: 15.5px; }
.fsy-effort { margin-top: 8px; max-width: 980px; padding: 20px 22px; border-radius: 16px; background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.08); }
.fsy-effort__h { margin: 0 0 8px; font-weight: 600; color: #232A31; }
.fsy-effort ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; font-size: 16px; line-height: 1.55; color: #586069; }
.fsy-effort strong { color: #232A31; }
/* Worked example */
.fsy-case { margin: clamp(40px, 5vw, 72px) clamp(8px, 1.4vw, 20px) 0; padding: clamp(48px, 6vw, 88px) 0; border-radius: clamp(20px, 3vw, 36px); background: #232A31; color: #E5E5E2; }
.fsy-case .fsy-h2 { color: #FAFAF8; }
.fsy-case__grid { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.fsy-lanes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsy-lane { padding: 20px; border-radius: 16px; background: rgba(250, 250, 248, 0.06); border: 1px solid rgba(250, 250, 248, 0.14); }
.fsy-lane--people { background: #FAFAF8; border-color: #FAFAF8; }
.fsy-lane__h { margin: 0 0 10px; font-weight: 600; font-size: 16px; color: #AFC4DD; }
.fsy-lane--people .fsy-lane__h { color: #1B3A5B; }
.fsy-lane ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 15.5px; line-height: 1.5; color: #FAFAF8; }
.fsy-lane--people ul { color: #232A31; }
.fsy-bars { display: grid; gap: 10px; }
.fsy-bar { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; }
.fsy-bar__k { font-size: 14px; color: #E5E5E2; }
.fsy-bar__v { display: block; width: var(--w); padding: 8px 12px; border-radius: 8px; background: #586069; color: #FAFAF8; font-weight: 600; font-size: 15px; }
.fsy-bar--after .fsy-bar__v { background: #AFC4DD; color: #232A31; }
.fsy-case__nums { margin: 10px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fsy-case__nums div { padding: 12px; border-radius: 12px; background: rgba(250, 250, 248, 0.06); }
.fsy-case__nums dt { font-size: 13px; color: #AFC4DD; }
.fsy-case__nums dd { margin: 4px 0 0; font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: #FAFAF8; }
.fsy-case__note { margin: 6px 0 0; font-size: 14.5px; line-height: 1.55; color: #E5E5E2; }
.fsy-more { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(250, 250, 248, 0.14); }
.fsy-more__h { margin: 0 0 12px; font-weight: 600; color: #FAFAF8; }
.fsy-more__list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fsy-more__list li { padding: 16px; border-radius: 14px; background: rgba(250, 250, 248, 0.06); font-size: 15px; line-height: 1.55; color: #E5E5E2; }
.fsy-more__list strong { color: #FAFAF8; }
/* What you receive */
.fsy-get { padding: clamp(56px, 7vw, 96px) 0; }
.fsy-get__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.fsy-groups { margin: 24px 0 24px; display: grid; gap: 12px; }
.fsy-groups div { padding: 16px 18px; border-left: 3px solid #1B3A5B; background: #FAFAF8; border-radius: 0 12px 12px 0; }
.fsy-groups dt { font-family: 'Fraunces', Georgia, serif; font-size: 20px; color: #232A31; }
.fsy-groups dd { margin: 4px 0 0; font-size: 16px; line-height: 1.55; color: #586069; }
.fsy-viewer .fsy-label { margin: 0 0 10px; text-align: center; }
/* Fee and terms */
.fsy-terms { padding: 0 0 clamp(40px, 5vw, 72px); }
.fsy-terms__card { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); padding-top: clamp(32px, 4vw, 48px); padding-bottom: clamp(32px, 4vw, 48px); border-radius: 24px; background: rgba(175, 196, 221, 0.18); }
.fsy-terms__num { margin: 14px 0 12px; font-size: 22px; color: #232A31; }
.fsy-terms__list { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 16px; line-height: 1.55; color: #586069; }
.fsy-terms__call { padding: 22px; border-radius: 16px; background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.08); }
.fsy-terms__h { margin: 0 0 10px; font-weight: 600; font-size: 17px; color: #232A31; }
.fsy-terms__call ol { margin: 0 0 18px; padding-left: 20px; display: grid; gap: 6px; font-size: 15.5px; line-height: 1.5; color: #586069; }
.fsy-alt-line { margin: 12px 0 0; font-size: 15px; color: #586069; }
.fsy-alt-line a, .om-obj__a a { color: #1B3A5B; text-decoration: underline; text-underline-offset: 3px; }
/* Close */
.fsy-close { padding: clamp(24px, 4vw, 48px) 0 clamp(24px, 4vw, 40px); }
.fsy-close__card { text-align: center; padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); border-radius: 28px; background: #232A31; color: #E5E5E2; }
.fsy-close__card .fsy-h2 { margin: 0 auto; color: #FAFAF8; }
.fsy-close__card p { margin: 14px auto 22px; font-size: 17px; }
.fsy-close__card strong { color: #FAFAF8; }
.fs-cta.fsy-cta--light, .fsy-close__card .fs-cta { background: #FAFAF8; color: #232A31; }
@media (max-width: 1023px) {
  .fsy-hero__grid, .fsy-case__grid, .fsy-get__grid, .fsy-terms__card { grid-template-columns: minmax(0, 1fr); }
  .fsy-more__list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
  .fsy-doc__figs, .fsy-lanes, .fsy-case__nums, .fsy-notes { grid-template-columns: minmax(0, 1fr); }
  .fsy-steps li { padding-left: 54px; }
}
.fsy-enlarge { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: inherit; }
.fsy-enlarge img { display: block; width: 100%; height: auto; }
.fsy-enlarge:focus-visible { outline: 3px solid #1B3A5B; outline-offset: 3px; }

/* ===== Second pass, 29 Sep 2026 (fsz-): offer, compact flow, one sample,
   questions, fee and booking. ===== */
.fsz-h2 { margin: 0; max-width: 24em; text-wrap: balance; }
.fsz-hero { padding: clamp(36px, 5vw, 80px) 0 clamp(40px, 5vw, 72px); }
.fsz-hero__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.fsz-h1 { margin: 0; text-wrap: balance; }
.fsz-lead { margin: 20px 0 28px; max-width: 30em; font-size: clamp(18px, 1.4vw, 20.5px); line-height: 1.6; color: #232A31; }
.fsz-note { margin: 14px 0 0; max-width: 30em; font-size: 15px; line-height: 1.5; color: #586069; }
.fsz-facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsz-facts div { padding: 20px; border-radius: 18px; background: #FAFAF8; border: 1px solid #E5E5E2; }
.fsz-facts dt { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsz-facts dd { margin: 8px 0 4px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(22px, 2vw, 28px); line-height: 1.15; color: #232A31; }
.fsz-facts dd span { font-size: 0.6em; }
.fsz-facts p { margin: 0; font-size: 14.5px; line-height: 1.45; color: #586069; }
.fsz-facts .fsz-facts__fee { background: #232A31; border-color: #232A31; }
.fsz-facts .fsz-facts__fee dt { color: #AFC4DD; }
.fsz-facts .fsz-facts__fee dd { color: #FAFAF8; font-size: clamp(30px, 2.8vw, 40px); }
.fsz-facts .fsz-facts__fee p { color: #E5E5E2; }
/* Compact flow */
.fsz-flow { padding: clamp(44px, 5vw, 72px) 0; margin: 0 clamp(8px, 1.4vw, 20px); border-radius: clamp(20px, 3vw, 36px); background: rgba(175, 196, 221, 0.18); }
.fsz-flow__steps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; position: relative; }
.fsz-flow__steps::before { content: ""; position: absolute; top: 19px; left: 20px; right: 20px; height: 2px; background: rgba(35, 42, 49, 0.18); }
.fsz-flow__steps li { position: relative; }
.fsz-flow__n { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #232A31; color: #FAFAF8; font-family: 'Fraunces', Georgia, serif; font-size: 18px; }
.fsz-flow__steps h3 { margin: 16px 0 6px; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 21px; line-height: 1.2; color: #232A31; }
.fsz-flow__steps p { margin: 0; font-size: 15.5px; line-height: 1.55; color: #586069; }
.fsz-flow__note { margin: 28px 0 0; padding: 14px 18px; border-radius: 14px; background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.08); font-size: 15.5px; line-height: 1.55; color: #586069; }
.fsz-flow__note strong { color: #232A31; }
/* One sample */
.fsz-sample { padding: clamp(56px, 7vw, 96px) 0; }
.fsz-tag { display: inline-block; margin: 0 0 14px; padding: 5px 12px; border-radius: 999px; background: rgba(175, 196, 221, 0.35); color: #232A31; font-size: 13.5px; font-weight: 600; }
.fsz-sample__grid { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.fsz-story { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.fsz-story li { padding: 20px 22px; border-radius: 18px; background: #FAFAF8; border: 1px solid #E5E5E2; }
.fsz-story li:last-child { background: #232A31; border-color: #232A31; }
.fsz-story__k { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsz-story__t { margin: 6px 0 8px !important; font-family: 'Fraunces', Georgia, serif; font-size: 21px !important; line-height: 1.3 !important; color: #232A31 !important; }
.fsz-story p { margin: 0; max-width: 34em; font-size: 15.5px; line-height: 1.55; color: #586069; }
.fsz-story li:last-child .fsz-story__k { color: #AFC4DD; }
.fsz-story li:last-child p { color: #E5E5E2; }
.fsz-nums { margin: 10px 0 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fsz-nums dt { font-size: 13px; color: #AFC4DD; }
.fsz-nums dd { margin: 4px 0 0; font-family: 'Fraunces', Georgia, serif; font-size: clamp(20px, 1.8vw, 26px); color: #FAFAF8; }
.fsz-sample__read { margin: 16px 0 0; text-align: center; }
/* Questions */
.fsz-q__cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.fsz-q__more { max-width: 820px; margin: 36px auto 0; }
.fsz-q__more .faq-item__answer p { margin: 0; font-size: 16px; }
.fsz-q__more .faq-item__answer a { color: #1B3A5B; text-decoration: underline; text-underline-offset: 3px; }
/* Fee and booking */
.fsz-book { padding: clamp(24px, 4vw, 48px) 0 clamp(56px, 7vw, 96px); }
.fsz-book__card { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); padding-top: clamp(36px, 4vw, 56px); padding-bottom: clamp(36px, 4vw, 56px); border-radius: 28px; background: #232A31; color: #E5E5E2; }
.fsz-book__card .fsz-h2 { color: #FAFAF8; }
.fsz-book__fee { margin: 16px 0 14px; font-size: 18px; line-height: 1.55; }
.fsz-book__fee strong { color: #FAFAF8; font-size: 22px; }
.fsz-book__terms { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 15.5px; line-height: 1.55; }
.fsz-book__next { padding: 22px; border-radius: 18px; background: #FAFAF8; color: #586069; }
.fsz-book__h { margin: 0 0 10px; font-weight: 600; font-size: 17px; color: #232A31; }
.fsz-book__next ol { margin: 0 0 18px; padding-left: 20px; display: grid; gap: 6px; font-size: 15.5px; line-height: 1.5; }
.fsz-book__alt { margin: 12px 0 0; font-size: 15px; }
.fsz-book__alt a { color: #1B3A5B; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) {
  .fsz-hero__grid, .fsz-sample__grid, .fsz-book__card { grid-template-columns: minmax(0, 1fr); }
  .fsz-flow__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .fsz-flow__steps::before { display: none; }
  .fsz-q__cards { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 639px) {
  .fsz-facts, .fsz-flow__steps, .fsz-nums { grid-template-columns: minmax(0, 1fr); }
}

/* ===== "One clear answer" hero visual (29 Sep 2026) =====
   Same card as the homepage pound (.hp-drain). A question mark fills with Light
   Blue as the study works, then a tick draws in with the sample study's answer.
   Default markup is the settled answer. Motion: assets/fs-answer.js. */
.fsz-hero { padding-bottom: clamp(24px, 3vw, 40px); }
.fs-answer { position: relative; margin: 0; width: 100%; max-width: 440px; justify-self: end; border-radius: 20px; background: #232A31; color: #FAFAF8; padding: 26px 22px 20px; overflow: hidden; }
.fs-answer__label { margin: 0; text-align: center; font: 400 22px/1.15 'Fraunces', Georgia, serif; color: #FAFAF8; }
.fs-answer__svg { display: block; width: 100%; height: auto; margin-top: 10px; overflow: visible; }
.fsa-glyph { font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: 250px; }
.fsa-glyph--empty { fill: none; stroke: rgba(175, 196, 221, 0.55); stroke-width: 1.6px; }
.fsa-fill { fill: #AFC4DD; }
.fsa-q { transform-origin: 170px 130px; transition: opacity 380ms cubic-bezier(.2,.8,.2,1), transform 380ms cubic-bezier(.2,.8,.2,1); }
.fs-answer:not([data-phase="play"]) .fsa-q { opacity: 0; transform: scale(0.88); }
.fsa-tick { fill: none; stroke: #AFC4DD; stroke-width: 26px; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 750ms cubic-bezier(.2,.8,.2,1) 250ms; }
.fs-answer[data-phase="play"] .fsa-tick { stroke-dashoffset: 1; transition: none; }
.fs-answer__cap { margin: 14px 0 0; min-height: 3.9em; text-align: center; font: 400 20px/1.28 'Fraunces', Georgia, serif; color: #FAFAF8; }
.fs-answer__step { display: inline-block; transition: opacity 220ms cubic-bezier(.2,.8,.2,1), transform 220ms cubic-bezier(.2,.8,.2,1); }
.fs-answer__step.is-out { opacity: 0; transform: translateY(6px); }
.fs-answer__kick { display: block; margin-bottom: 6px; font: italic 400 17px/1.2 'Fraunces', Georgia, serif; color: #AFC4DD; }
.fs-answer__kick:empty, .fs-answer__line2:empty { display: none; }
.fs-answer__line2 { display: block; }
.fs-answer__line2.is-in { animation: fsa-line-in 260ms cubic-bezier(.2,.8,.2,1) both; }
@keyframes fsa-line-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.fs-answer__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 10px; }
.fs-answer__note { font: 400 13px/1.3 'Source Sans 3', system-ui, sans-serif; color: #AFC4DD; }
.fs-answer__replay { font: 600 13px/1 'Source Sans 3', system-ui, sans-serif; color: #AFC4DD; background: none; border: 1px solid rgba(175, 196, 221, 0.4); border-radius: 99px; padding: 7px 14px; cursor: pointer; transition: opacity 160ms; }
.fs-answer:not([data-phase="done"]) .fs-answer__replay { visibility: hidden; }
.fs-answer__replay:focus-visible { outline: 2px solid #AFC4DD; outline-offset: 2px; }
@media (max-width: 1023px) { .fs-answer { justify-self: stretch; max-width: 520px; margin-inline: auto; } }
@media (max-width: 639px) { .fs-answer { padding: 20px 18px 16px; } .fs-answer__label { font-size: clamp(17px, 5.2vw, 22px); } .fs-answer__cap { font-size: 18px; } }
@media (prefers-reduced-motion: reduce) { .fsa-q, .fsa-tick, .fs-answer__step { transition: none; } .fs-answer__line2.is-in { animation: none; } }
/* The at-a-glance band under the hero */
.fsz-glance { padding: 0 0 clamp(40px, 5vw, 64px); }
.fsz-glance .fsz-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .fsz-glance .fsz-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .fsz-glance .fsz-facts { grid-template-columns: minmax(0, 1fr); } }
/* Everything included (29 Sep 2026, Kristian): the value stack, on the dark panel */
.fsz-inc-sec { margin: clamp(24px, 4vw, 56px) clamp(8px, 1.4vw, 20px) 0; padding: clamp(48px, 6vw, 88px) 0; border-radius: clamp(20px, 3vw, 36px); background: #232A31; color: #FAFAF8; }
.fsz-inc { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.fsz-inc .fsz-h2 { color: #FAFAF8; }
.fsz-inc__lead { margin: 16px 0 0; font-size: 17px; line-height: 1.6; color: #E5E5E2; }
.fsz-inc__fee { margin: 32px 0 4px; padding-top: 24px; border-top: 1px solid rgba(250, 250, 248, 0.15); font-family: 'Fraunces', Georgia, serif; font-size: clamp(34px, 3.4vw, 46px); line-height: 1; color: #AFC4DD; }
.fsz-inc__fee span { font-size: 0.55em; }
.fsz-inc__for { margin: 0; font-size: 15.5px; color: #E5E5E2; }
.fsz-inc__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fsz-inc__list li { display: flex; gap: 12px; padding: 16px; border-radius: 14px; background: rgba(250, 250, 248, 0.05); border: 1px solid rgba(250, 250, 248, 0.1); }
.fsz-tick { flex: none; margin-top: 2px; color: #AFC4DD; }
.fsz-inc__t { margin: 0; font-weight: 600; font-size: 16px; color: #FAFAF8; }
.fsz-inc__d { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: #E5E5E2; }
.fsz-q--more { padding-top: clamp(40px, 5vw, 72px); }
@media (max-width: 1023px) { .fsz-inc { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 639px) { .fsz-inc__list { grid-template-columns: minmax(0, 1fr); } }
/* How the study runs, as a timeline (29 Sep 2026): label column plus 28 day columns */
.fsz-flow__lead { margin: 10px 0 0; font-size: 17px; color: #586069; }
.fsz-tl { margin-top: 28px; padding: 20px 24px 8px; border-radius: 18px; background: #FAFAF8; border: 1px solid rgba(35, 42, 49, 0.08); }
.fsz-tl__head, .fsz-tl__row { display: grid; grid-template-columns: minmax(220px, 300px) repeat(28, minmax(0, 1fr)); align-items: center; }
.fsz-tl__head { padding-bottom: 10px; border-bottom: 1px solid rgba(35, 42, 49, 0.12); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
.fsz-tl__head span + span { padding-left: 8px; border-left: 1px solid rgba(35, 42, 49, 0.12); }
.fsz-tl__rows { list-style: none; margin: 0; padding: 0; }
.fsz-tl__row { position: relative; padding: 16px 0; border-bottom: 1px solid rgba(35, 42, 49, 0.08); }
.fsz-tl__row:last-child { border-bottom: 0; }
.fsz-tl__label { grid-column: 1; grid-row: 1; padding-right: 20px; }
.fsz-tl__label h3 { margin: 0 0 4px; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 19px; line-height: 1.2; color: #232A31; }
.fsz-tl__label p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #586069; }
.fsz-tl__mark { grid-row: 1; justify-self: stretch; height: 14px; border-radius: 99px; }
.fsz-tl__mark--dot { justify-self: center; width: 16px; height: 16px; background: #232A31; }
.fsz-tl__mark--day { height: 28px; border-radius: 8px; background: #232A31; }
.fsz-tl__mark--bar { background: #AFC4DD; }
.fsz-tl__when { display: none; }
@media (max-width: 899px) {
  .fsz-tl { padding: 8px 18px; }
  .fsz-tl__head, .fsz-tl__mark { display: none; }
  .fsz-tl__row { display: block; padding: 16px 0 16px 22px; border-bottom: 0; border-left: 2px solid #AFC4DD; }
  .fsz-tl__row::before { content: ""; position: absolute; left: -7px; top: 20px; width: 12px; height: 12px; border-radius: 50%; background: #232A31; }
  .fsz-tl__when { display: inline-block; margin-bottom: 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #586069; }
  .fsz-tl__label { padding-right: 0; }
}
/* One content column (29 Sep 2026, Kristian: sample and questions were off-centre) */
.fsz-flow > .fs-wrap, .fsz-sample > .fs-wrap { max-width: 1152px; }
.fsz-sample__doc { display: flex; flex-direction: column; align-items: center; }
.fsz-sample__grid { align-items: center; }
.fsz-q--more .om-ans__wrap { max-width: 884px; }
.fsz-q--more .fsz-q__more { margin-top: 24px; }
.fsz-tl__tag { grid-row: 1; justify-self: start; padding-left: 10px; font-size: 13.5px; font-weight: 600; color: #232A31; white-space: nowrap; }
.fsz-tl__tag--in { justify-self: center; padding-left: 0; z-index: 1; font-size: 12.5px; }
.fsz-tl__mark--bar { height: 26px; }
@media (max-width: 899px) {
  .fsz-tl__tag { display: none; }
  .fsz-tl__row { display: flex; flex-direction: column; }
  .fsz-tl__when { order: -1; align-self: flex-start; }
}
.fsz-tl__tag--left { justify-self: end; padding: 0 10px 0 0; }
/* The four selling points under the hero (30 Sep 2026, Kristian): equal cards, no
   label above the heading, none highlighted until hovered (Charcoal on hover, 30 Sep 2026). Ordered by buyer value, highest left. */
.fsz-usp { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.fsz-usp li { padding: 22px 22px 24px; border-radius: 18px; background: #FAFAF8; border: 1px solid #E5E5E2; transition: background-color 200ms ease, border-color 200ms ease; }
.fsz-usp h3 { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: clamp(21px, 1.8vw, 25px); line-height: 1.2; color: #232A31; transition: color 200ms ease; }
.fsz-usp p { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: #586069; transition: color 200ms ease; }
@media (hover: hover) and (pointer: fine) {
  .fsz-usp li:hover { background: #232A31; border-color: #232A31; }
  .fsz-usp li:hover h3 { color: #FAFAF8; }
  .fsz-usp li:hover p { color: #E5E5E2; }
}
@media (max-width: 1023px) { .fsz-usp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .fsz-usp { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .fsz-usp li, .fsz-usp h3, .fsz-usp p { transition: none; } }
/* Four objections in a row, like the other pages (30 Sep 2026) */
.fsz-q:not(.fsz-q--more) .om-ans__wrap { max-width: 1424px; }
.fsz-q__cards { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1023px) { .fsz-q__cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 639px) { .fsz-q__cards { grid-template-columns: minmax(0, 1fr) !important; } }
.fs-answer__foot { justify-content: flex-end; }
/* Everything included, grouped (30 Sep 2026): sticky price and button on the left,
   five short groups on the right, rows instead of boxes so it reads at a glance. */
@media (min-width: 1024px) { .fsz-inc { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } .fsz-inc__head { position: sticky; top: 112px; } }
.fsz-inc__for { max-width: 30em; line-height: 1.55; }
.bl-refresh .fsz-inc .fs-cta { margin-top: 24px; background: #FAFAF8; color: #232A31; }
.fsz-inc__note { margin: 12px 0 0; font-size: 14.5px; color: #AFC4DD; }
.fsz-inc__groups { display: grid; gap: 28px; }
.fsz-inc__gh { margin: 0 0 6px; padding-bottom: 10px; border-bottom: 1px solid rgba(250, 250, 248, 0.16); font-family: 'Fraunces', Georgia, serif; font-weight: 500; font-size: 22px; line-height: 1.2; color: #FAFAF8; }
.fsz-inc__gh span { margin-left: 6px; font-family: 'Source Sans 3', system-ui, sans-serif; font-size: 14px; font-weight: 600; color: #AFC4DD; }
.fsz-inc__groups .fsz-inc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.fsz-inc__groups .fsz-inc__list li { padding: 14px 0; border: 0; border-bottom: 1px solid rgba(250, 250, 248, 0.08); border-radius: 0; background: none; }
.fsz-inc__groups .fsz-inc__t { font-size: 16.5px; }
.fsz-inc__groups .fsz-inc__d { font-size: 15.5px; line-height: 1.55; color: #E5E5E2; }
 .bl-refresh .fsz-inc .fs-cta:focus-visible { background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }@media (hover: hover) and (pointer: fine){.bl-refresh .fsz-inc .fs-cta:hover{ background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }}
@media (max-width: 639px) { .fsz-inc__groups .fsz-inc__list { grid-template-columns: minmax(0, 1fr); } }
/* Included items open for detail (30 Sep 2026): titles scan fast, detail on tap */
.fsz-inc__groups { gap: 22px; }
.fsz-inc__groups .fsz-inc__list li { display: block; padding: 0; }
.fsz-inc__groups details summary { display: flex; align-items: center; gap: 10px; padding: 12px 0; list-style: none; cursor: pointer; }
.fsz-inc__groups details summary::-webkit-details-marker { display: none; }
.fsz-inc__groups details summary .fsz-tick { margin-top: 0; }
.fsz-inc__groups details .fsz-inc__t { flex: 1; margin: 0; }
.fsz-inc__chev { flex: none; display: block; margin-left: auto; color: #AFC4DD; transform-origin: 50% 50%; overflow: visible; transition: transform 200ms ease; }
.fsz-inc__groups details[open] .fsz-inc__chev { transform: rotate(180deg); }
.fsz-inc__groups details .fsz-inc__d { margin: -4px 0 0; padding: 0 0 14px 28px; }
.fsz-inc__groups details summary:focus-visible { outline: 2px solid #AFC4DD; outline-offset: 2px; border-radius: 4px; }
@media (hover: hover) and (pointer: fine) { .fsz-inc__groups details summary:hover .fsz-inc__t { color: #AFC4DD; } }
@media (prefers-reduced-motion: reduce) { .fsz-inc__chev { transition: none; } }
.fsz-inc__note a { color: #FAFAF8; text-decoration: underline; text-decoration-color: #AFC4DD; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine){.fsz-inc__note a:hover{ text-decoration-color: #FAFAF8; }}
.fsz-inc__fee { margin-top: 28px; }
/* How the study runs as a Gantt chart (30 Sep 2026, Kristian): week lines run through
   every row, every task is the same Charcoal bar, labels sit beside or inside. */
.fsz-tl__head, .fsz-tl__row { grid-template-columns: minmax(220px, 280px) repeat(28, minmax(0, 1fr)); }
.fsz-tl__head span + span { padding: 0 0 0 10px; border-left: 0; }
.fsz-tl__head::after, .fsz-tl__row::after { content: ""; grid-column: 2 / -1; grid-row: 1; align-self: stretch; pointer-events: none;
  background: linear-gradient(to right, rgba(35, 42, 49, 0.14) 1px, transparent 1px) 0 0 / 25% 100% repeat-x; border-right: 1px solid rgba(35, 42, 49, 0.14); }
.fsz-tl__head { position: relative; padding-bottom: 0; }
.fsz-tl__head > span { grid-row: 1; padding-bottom: 10px; }
.fsz-tl__bar { grid-row: 1; align-self: center; z-index: 1; display: flex; align-items: center; justify-content: center; height: 26px; margin: 0 2px; border-radius: 6px; background: #232A31; color: #FAFAF8; font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; }
.fsz-tl__tag { align-self: center; z-index: 1; }
.fsz-tl__mark { display: none; }
@media (min-width: 900px) { .fsz-tl__row { padding: 0; align-items: stretch; } .fsz-tl__label { padding: 16px 20px 16px 0; } }
@media (max-width: 899px) { .fsz-tl__bar, .fsz-tl__head::after, .fsz-tl__row::after { display: none; } }
/* How the study runs as a week-by-week table (30 Sep 2026, Kristian): steps down the side,
   weeks across the top, a tick where each step happens. One line per step. */
.fsz-wk { margin-top: 28px; overflow: hidden; border-radius: 18px; border: 1px solid rgba(35, 42, 49, 0.14); background: #FAFAF8; }
.fsz-wk table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.fsz-wk thead th { padding: 16px 12px; background: #232A31; color: #FAFAF8; font: 600 15px/1.2 'Source Sans 3', system-ui, sans-serif; text-align: center; }
.fsz-wk thead th:first-child { width: 40%; }
.fsz-wk tbody th { padding: 16px 20px; font: 600 16px/1.35 'Source Sans 3', system-ui, sans-serif; color: #232A31; text-align: left; }
.fsz-wk td { padding: 14px 8px; text-align: center; color: #232A31; }
.fsz-wk tbody tr + tr > * { border-top: 1px solid rgba(35, 42, 49, 0.1); }
.fsz-wk th + th, .fsz-wk td { border-left: 1px solid rgba(35, 42, 49, 0.1); }
.fsz-wk thead th + th { border-left-color: rgba(250, 250, 248, 0.16); }
.fsz-wk__tick { display: inline-block; vertical-align: middle; }
.fsz-wk__none { color: #586069; }
@media (max-width: 639px) {
  .fsz-wk thead th { padding: 12px 4px; font-size: 13px; }
  .fsz-wk thead th:first-child { width: 44%; }
  .fsz-wk tbody th { padding: 12px 12px; font-size: 14.5px; }
  .fsz-wk td { padding: 12px 2px; }
}
.fsz-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
/* Final call to action (30 Sep 2026): the four selling points again, the price and one button. */
.fsz-book__card { align-items: center; }
.fsz-book__pts { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.fsz-book__pts li { display: flex; align-items: center; gap: 12px; font-size: 18px; line-height: 1.4; color: #FAFAF8; }
.fsz-book__pts .fsz-tick { flex: none; color: #AFC4DD; }
.fsz-book__act { padding-left: clamp(0px, 3vw, 48px); border-left: 1px solid rgba(250, 250, 248, 0.16); }
.fsz-book__price { margin: 0; font-family: 'Fraunces', Georgia, serif; font-size: clamp(38px, 3.6vw, 52px); line-height: 1; color: #AFC4DD; }
.fsz-book__price span { font-size: 0.5em; }
.fsz-book__dep { margin: 10px 0 0; font-size: 15.5px; line-height: 1.55; color: #E5E5E2; }
.bl-refresh .fsz-book .fs-cta { margin-top: 22px; background: #FAFAF8; color: #232A31; }
 .bl-refresh .fsz-book .fs-cta:focus-visible { background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }@media (hover: hover) and (pointer: fine){.bl-refresh .fsz-book .fs-cta:hover{ background: #AFC4DD; border-color: #AFC4DD; color: #232A31; }}
.fsz-book__act .fsz-book__alt { margin-top: 14px; font-size: 14.5px; color: #AFC4DD; }
.fsz-book__act .fsz-book__alt a { color: #FAFAF8; text-decoration-color: #AFC4DD; }
@media (max-width: 1023px) { .fsz-book__act { padding-left: 0; border-left: 0; padding-top: 24px; border-top: 1px solid rgba(250, 250, 248, 0.16); } }
/* Right for you if (30 Sep 2026): same card as the Training page */
.fsz-fit { padding: 0 0 clamp(8px, 2vw, 24px); }
.fsz-fit > .fs-wrap { max-width: 1424px; }
.fsz-fit__card { padding: clamp(24px, 3vw, 36px); border-radius: 20px; background: rgba(175, 196, 221, 0.24); }
.fsz-fit__h { margin: 0 0 14px; font-size: clamp(24px, 2.2vw, 30px); }
.fsz-fit__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; }
.fsz-fit__list li { position: relative; padding-left: 28px; font-size: 16.5px; line-height: 1.5; color: #232A31; }
.fsz-fit__list li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 12px; height: 7px; border-left: 2.2px solid #232A31; border-bottom: 2.2px solid #232A31; transform: rotate(-45deg); }
@media (max-width: 639px) { .fsz-fit__list { grid-template-columns: minmax(0, 1fr); } }
.fsz-fitold { padding-top: 0; }
.fsz-fitold .om-ans__wrap { max-width: 1424px; }

/* Spacing and heading (Kristian, 30 Sep 2026): more room between the hero, the four
   selling points and the questions, and the questions heading on one line. */
.fsz-glance { padding-top: clamp(24px, 3vw, 48px); }
.fsz-q:not(.fsz-q--more) { padding-top: clamp(48px, 6vw, 96px); }
.fsz-q #om-ans-h { max-width: none; }

/* Full width (Kristian, 2 Oct 2026): the "What you'll need" note runs the width of the table above it. */
html body .fsz-flow .fsz-flow__note { max-width: none; }

/* Light blue containers (Kristian, 2 Oct 2026): white on the off-white page hid the card edges. Light Blue at 30% (fill) and 65% (edge) matches the earlier tints on the brand palette (10 Oct 2026). */
.fsz-story li:not(:last-child) { background: rgba(175, 196, 221, 0.3); border-color: rgba(175, 196, 221, 0.65); }
.fsz-story li:not(:last-child) .fsz-story__k, .fsz-story li:not(:last-child) p { color: #586069; }
.fsz-story li:not(:last-child) .fsz-story__t { color: #232A31 !important; }
