/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}

html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}
@font-face { font-family: "FTL Noto Sans"; src: url("fonts/ftl-noto-sans.woff") format("woff"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "FTL Montserrat"; src: url("fonts/ftl-montserrat.woff") format("woff"); font-weight: 100 900; font-style: normal; font-display: swap; }
.ftl-corporate {
  --ftl-navy: #16324a;
  --ftl-gold: #a6802c;
  --ftl-light-gold: #c9a85c;
  --ftl-ivory: #fbf6ee;
  --ftl-sky: #6fa8c9;
  --ftl-muted: #586670;
  --ftl-line: #d8d6ce;
  color: var(--ftl-navy);
  background: var(--ftl-ivory);
  font-family: "FTL Noto Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  overflow: clip;
}
.ftl-corporate h1, .ftl-corporate h2, .ftl-corporate h3, .ftl-corporate p { margin: 0; }
.ftl-corporate button { font: inherit; cursor: pointer; }
.ftl-corporate h1, .ftl-corporate h2, .ftl-corporate h3 { text-wrap: balance; }
.ftl-corporate p { overflow-wrap: anywhere; }
.ftl-corporate main { display: block; }
.ftl-mobile-only { display: none; }
.ftl-eyebrow, .ftl-label, .ftl-service-no, .ftl-audience-label, .ftl-scroll, .ftl-founder-en, .ftl-footer-bottom, .ftl-menu-toggle > span { font-family: "FTL Montserrat", "FTL Noto Sans", sans-serif; }
.ftl-corporate a, .ftl-corporate button { touch-action: manipulation; }
.ftl-corporate :focus-visible { outline: 2px solid var(--ftl-gold); outline-offset: 6px; }
.ftl-corporate svg { display: block; width: 24px; height: 24px; flex-shrink: 0; }
.ftl-corporate section[id], .ftl-corporate div[id] { scroll-margin-top: 112px; }
.ftl-wrap { width: min(1280px, calc(100% - 128px)); margin-inline: auto; }
.ftl-section { padding-block: 112px; }
.ftl-skip { position: fixed; top: -100px; left: 24px; z-index: 200; background: var(--ftl-navy); color: var(--ftl-ivory); padding: 16px 24px; }
.ftl-skip:focus { top: 16px; }
.ftl-header { height: 100px; display: flex; align-items: center; gap: 32px; padding-inline: 48px; position: sticky; top: 0; z-index: 100; background: var(--ftl-ivory); border-bottom: 1px solid var(--ftl-line); }
.ftl-logo { display: block; width: 186px; flex-shrink: 0; }
.ftl-logo img { width: 100%; height: auto; }
.ftl-desktop-nav { margin-left: auto; display: flex; gap: 32px; align-items: center; }
.ftl-desktop-nav a { font-size: 14px; font-weight: 600; position: relative; }
.ftl-desktop-nav a::after { content: ""; height: 1px; position: absolute; bottom: -8px; left: 0; right: 100%; background: var(--ftl-gold); transition: right .25s; }
.ftl-desktop-nav a:hover::after { right: 0; }
.ftl-header-contact { display: flex; align-items: center; gap: 22px; background: var(--ftl-navy); color: var(--ftl-ivory); font-size: 14px; font-weight: 600; padding: 14px 20px; border-radius: 4px; transition: background .2s; }
.ftl-header-contact:hover { background: #264b67; }
.ftl-header-contact span { font-size: 20px; font-weight: 400; }
.ftl-menu-toggle, .ftl-mobile-nav { display: none; }
.ftl-hero-top { padding-top: 76px; padding-bottom: 60px; display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: end; gap: 48px; }
.ftl-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; letter-spacing: .08em; line-height: 1.7; }
.ftl-eyebrow > span { width: 6px; height: 6px; border-radius: 50%; background: var(--ftl-gold); }
.ftl-hero h1 { font-size: clamp(36px, 4.5vw, 66px); font-weight: 600; letter-spacing: -.055em; line-height: 1.5; margin-top: 26px; }
.ftl-hero h1 span { color: var(--ftl-gold); }
.ftl-hero-intro { padding-bottom: 6px; }
.ftl-hero-intro > p { font-size: 16px; line-height: 2; }
.ftl-text-link { display: inline-flex; align-items: center; gap: 24px; font-size: 14px; font-weight: 600; min-height: 44px; }
.ftl-text-link svg { transition: transform .25s; }
.ftl-text-link:hover svg { transform: translateX(5px); }
.ftl-hero-intro .ftl-text-link { margin-top: 20px; }
.ftl-hero-intro .ftl-text-link > span { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--ftl-line); border-radius: 50%; }
.ftl-hero-landscape { position: relative; height: clamp(320px, 31vw, 450px); margin-inline: 24px; border-radius: 16px; overflow: hidden; background: var(--ftl-navy); color: var(--ftl-ivory); }
.ftl-hero-landscape > img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 60%; animation: ftl-settle 1.8s ease-out both; }
.ftl-hero-landscape::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,32,50,.42), transparent 60%); pointer-events: none; }
.ftl-landscape-caption { position: absolute; left: 48px; bottom: 40px; z-index: 1; }
.ftl-landscape-caption > span { font-family: "FTL Montserrat", sans-serif; font-size: clamp(24px, 2.5vw, 38px); line-height: 1.25; letter-spacing: .02em; font-weight: 400; }
.ftl-landscape-caption > p { margin-top: 20px; font-size: 14px; letter-spacing: .1em; }
.ftl-scroll { position: absolute; right: 40px; bottom: 36px; display: flex; gap: 18px; align-items: center; z-index: 1; font-size: 12px; letter-spacing: .08em; }
.ftl-scroll svg { transform: rotate(90deg); }
.ftl-audiences { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: 25px; border-bottom: 1px solid var(--ftl-line); }
.ftl-audiences > a { display: flex; align-items: center; gap: 30px; min-height: 44px; font-size: 16px; font-weight: 500; padding-right: 40px; }
.ftl-audiences > a + a { padding-left: 40px; border-left: 1px solid var(--ftl-line); }
.ftl-audience-label { color: var(--ftl-muted); font-size: 12px; letter-spacing: .08em; font-weight: 500; }
.ftl-audiences svg { margin-left: auto; transition: transform .25s; }
.ftl-audiences a:hover svg { transform: translate(3px,-3px); }
.ftl-label { display: flex; gap: 16px; align-items: center; font-size: 14px; font-weight: 600; letter-spacing: .08em; }
.ftl-label > span { font-size: 12px; color: var(--ftl-muted); letter-spacing: 0; }
.ftl-label::before { content: ""; width: 7px; height: 7px; background: var(--ftl-gold); }
.ftl-about { display: grid; grid-template-columns: 230px 1fr; gap: 32px; }
.ftl-about .ftl-label { align-self: start; margin-top: 12px; }
.ftl-about h2, .ftl-section-heading h2, .ftl-company h2 { font-size: clamp(28px, 3.1vw, 44px); line-height: 1.6; font-weight: 500; letter-spacing: -.03em; }
.ftl-about h2 > span { color: var(--ftl-gold); }
.ftl-about-copy { display: block; max-width: 650px; margin-top: 32px; font-size: 16px; line-height: 2; color: var(--ftl-muted); }
.ftl-about-copy > p + p { margin-top: 20px; }
.ftl-services { background: #f1eee6; }
.ftl-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-block: 36px 60px; }
.ftl-section-heading > p { color: var(--ftl-muted); line-height: 2; }
.ftl-service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #bfc5c6; }
.ftl-service-list article { padding: 32px 30px 38px; display: flex; flex-direction: column; border-right: 1px solid #bfc5c6; }
.ftl-service-list article:first-child { padding-left: 0; }
.ftl-service-list article:last-child { border-right: 0; padding-right: 0; }
.ftl-service-icon { display: grid; place-items: center; width: 72px; height: 72px; margin-top: 30px; border-radius: 18px; background: var(--ftl-navy); color: var(--ftl-ivory); }
.ftl-service-icon svg { width: 34px; height: 34px; }
.ftl-icon-plan { background: #e4d8bb; color: var(--ftl-navy); }
.ftl-icon-grow { background: #d8e5eb; color: var(--ftl-navy); }
.ftl-service-no { font-size: 12px; letter-spacing: .08em; font-weight: 600; color: var(--ftl-muted); }
.ftl-service-list h3 { font-size: clamp(19px, 1.6vw, 24px); font-weight: 600; margin-block: 30px 18px; }
.ftl-service-list p { color: var(--ftl-muted); font-size: 16px; line-height: 1.9; margin-bottom: 28px; }
.ftl-service-list .ftl-text-link { margin-top: auto; justify-content: space-between; gap: 12px; }
.ftl-corporate summary { cursor: pointer; list-style: none; }
.ftl-corporate summary::-webkit-details-marker { display: none; }
.ftl-corporate summary > span[aria-hidden="true"] { display: inline-block; flex: none; font-weight: 400; font-size: 20px; transition: transform .2s; }
.ftl-corporate details[open] > summary > span[aria-hidden="true"] { transform: rotate(45deg); }
.ftl-service-detail { margin-top: auto; border-top: 1px solid #cbd0cb; }
.ftl-service-detail summary { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 14px; font-weight: 600; }
.ftl-service-detail ul { margin: 6px 0 20px; padding-left: 20px; font-size: 16px; color: var(--ftl-muted); }
.ftl-service-detail li + li { margin-top: 10px; }
.ftl-business { display: grid; grid-template-columns: .85fr 1.15fr; margin-top: 56px; border-radius: 16px; overflow: hidden; background: #dbe6eb; }
.ftl-business-photo { min-height: 330px; }
.ftl-business-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ftl-business-copy { align-self: center; padding: 40px 48px; }
.ftl-business h3 { font-size: 32px; margin-block: 20px; font-weight: 500; line-height: 1.55; }
.ftl-business-copy > p { font-size: 16px; line-height: 2; max-width: 500px; }
.ftl-business .ftl-text-link { margin-top: 24px; }
.ftl-business .ftl-text-link > span { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #9aafb9; border-radius: 50%; }
.ftl-approach { background: var(--ftl-navy); color: var(--ftl-ivory); }
.ftl-approach .ftl-label > span { color: #a6b6c2; }
.ftl-approach .ftl-label::before { background: var(--ftl-light-gold); }
.ftl-approach-grid { display: grid; grid-template-columns: 1fr 1.04fr; gap: 100px; margin-top: 52px; }
.ftl-approach h2 { font-size: clamp(28px, 3.1vw, 44px); line-height: 1.65; font-weight: 500; letter-spacing: -.025em; }
.ftl-approach-title > p { margin-top: 30px; line-height: 2; color: #c3cfd8; }
.ftl-approach-title > a { margin-top: 44px; color: var(--ftl-light-gold); }
.ftl-principles { border-top: 1px solid #4e6678; }
.ftl-principles article { display: grid; grid-template-columns: 30px 1fr; gap: 20px; padding-block: 26px; border-bottom: 1px solid #4e6678; }
.ftl-principles article > span { font-family: "FTL Montserrat", sans-serif; color: var(--ftl-light-gold); font-size: 13px; padding-top: 4px; }
.ftl-principles h3 { font-size: 21px; font-weight: 500; }
.ftl-principles p { color: #c3cfd8; font-size: 16px; line-height: 1.9; margin-top: 12px; }
.ftl-journey-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin: 0; padding: 0; list-style: none; }
.ftl-journey-steps > li { position: relative; padding-top: 20px; border-top: 1px solid #b9c4c9; }
.ftl-journey-steps > li::before { content: ""; width: 7px; height: 7px; position: absolute; top: -4px; left: 0; border-radius: 50%; background: var(--ftl-gold); }
.ftl-journey-steps > li > span { font-family: "FTL Montserrat", sans-serif; font-size: 36px; font-weight: 400; line-height: 1.4; color: var(--ftl-gold); }
.ftl-journey-steps h3 { margin-top: 20px; font-size: 22px; font-weight: 500; }
.ftl-journey-steps p { margin-top: 14px; font-size: 16px; line-height: 1.9; color: var(--ftl-muted); }
.ftl-journey-note { padding: 28px 32px; margin-top: 48px; background: #eeece4; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-radius: 4px; }
.ftl-journey-note p { font-size: 16px; }
.ftl-journey-note a { flex-shrink: 0; }
.ftl-company { border-top: 1px solid var(--ftl-line); }
.ftl-message { margin-top: 48px; display: grid; grid-template-columns: .8fr 1fr; gap: 88px; align-items: center; }
.ftl-portrait { border-radius: 16px; overflow: hidden; align-self: stretch; background: #d8e5e3; }
.ftl-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.ftl-message-copy h2 { margin-block: 22px 30px; }
.ftl-message-copy > p:not(.ftl-eyebrow) { font-size: 16px; line-height: 2; color: var(--ftl-muted); }
.ftl-message-copy > p + p { margin-top: 20px; }
.ftl-founder { border-top: 1px solid var(--ftl-line); padding-top: 24px; margin-top: 30px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px 20px; }
.ftl-founder > span:first-child { font-size: 14px; }
.ftl-founder strong { font-size: 25px; font-weight: 500; letter-spacing: .04em; }
.ftl-founder-en { display: block; width: 100%; font-size: 12px; letter-spacing: .13em; color: var(--ftl-muted); }
.ftl-company-profile { display: grid; grid-template-columns: 230px 1fr; gap: 32px; margin-top: 88px; }
.ftl-company-profile h3 { font-size: 25px; font-weight: 500; margin-top: 10px; }
.ftl-company-profile dl { margin: 0; border-top: 1px solid var(--ftl-line); }
.ftl-company-profile dl > div { display: grid; grid-template-columns: 140px 1fr; gap: 30px; padding-block: 24px; border-bottom: 1px solid var(--ftl-line); font-size: 16px; }
.ftl-company-profile dt { color: var(--ftl-muted); font-size: 14px; }
.ftl-company-profile dd { margin: 0; }
.ftl-faq { padding-bottom: 112px; display: grid; grid-template-columns: 230px 1fr; gap: 32px; }
.ftl-faq h2 { font-size: 28px; font-weight: 500; margin-top: 10px; }
.ftl-faq-list { border-top: 1px solid var(--ftl-line); }
.ftl-faq-list details { border-bottom: 1px solid var(--ftl-line); }
.ftl-faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 80px; padding-block: 20px; font-size: 16px; }
.ftl-faq-list details > p { margin: 0; padding: 0 36px 24px 0; color: var(--ftl-muted); font-size: 16px; line-height: 2; }
.ftl-contact { background: var(--ftl-navy); color: var(--ftl-ivory); padding-block: 80px; }
.ftl-contact > .ftl-wrap { display: grid; grid-template-columns: 1fr 1fr; column-gap: 72px; }
.ftl-contact .ftl-eyebrow { color: var(--ftl-light-gold); grid-column: 1 / -1; margin-bottom: 28px; }
.ftl-contact h2 { font-size: clamp(44px, 5vw, 68px); line-height: 1.45; font-weight: 500; letter-spacing: -.03em; }
.ftl-contact-copy { align-self: center; }
.ftl-contact-copy > p { line-height: 2; color: #d4dce1; }
.ftl-phone { display: grid; grid-template-columns: 1fr 24px; padding-top: 26px; margin-top: 32px; border-top: 1px solid #536779; }
.ftl-phone > span { font-size: 14px; grid-column: 1; }
.ftl-phone > strong { grid-column: 1; font-family: "FTL Montserrat", sans-serif; font-size: 30px; letter-spacing: .015em; font-weight: 400; }
.ftl-phone svg { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--ftl-light-gold); }
.ftl-footer { padding-top: 56px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.ftl-footer > div > p { font-size: 14px; margin-top: 20px; }
.ftl-footer > nav { display: flex; flex-wrap: wrap; gap: 20px 28px; justify-content: end; font-size: 14px; }
.ftl-footer > nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.ftl-footer-bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding-block: 24px; border-top: 1px solid var(--ftl-line); }
.ftl-footer-bottom > small { font-size: 12px; color: var(--ftl-muted); }
.ftl-footer-bottom > a { display: flex; align-items: center; gap: 16px; font-size: 12px; }
.ftl-footer-bottom svg { transform: rotate(-90deg); width: 20px; height: 20px; }
@keyframes ftl-settle { from { transform: scale(1.035); } to { transform: scale(1); } }
@media (min-width: 1600px) { .ftl-header { padding-inline: max(48px, calc((100vw - 1440px) / 2)); } }
@media (max-width: 1100px) {
  .ftl-wrap { width: calc(100% - 80px); }
  .ftl-header { padding-inline: 32px; gap: 24px; }
  .ftl-desktop-nav { gap: 20px; }
  .ftl-header-contact { padding-inline: 16px; gap: 12px; }
  .ftl-hero-top { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; }
  .ftl-hero h1 { font-size: 4.5vw; }
  .ftl-about { grid-template-columns: 180px 1fr; }
  .ftl-audiences > a { gap: 20px; padding-right: 24px; }
  .ftl-audiences > a + a { padding-left: 24px; }
  .ftl-service-list article { padding-inline: 22px; }
  .ftl-business-copy { padding: 32px; }
  .ftl-approach-grid { gap: 56px; }
  .ftl-message { gap: 52px; }
}
@media (max-width: 900px) {
  .ftl-header { height: 84px; }
  .ftl-desktop-nav { display: none; }
  .ftl-header-contact { margin-left: auto; }
  .ftl-menu-toggle { display: flex; align-items: center; gap: 12px; padding: 10px 0 10px 12px; border: 0; background: transparent; color: var(--ftl-navy); }
  .ftl-menu-toggle > span { font-size: 12px; letter-spacing: .04em; }
  .ftl-menu-toggle > i { display: block; width: 22px; height: 10px; border-block: 1px solid currentColor; transition: transform .2s; }
  .ftl-menu-toggle > i.is-open { transform: rotate(-45deg); border-bottom: 0; height: 1px; }
  .ftl-menu-toggle > i.is-open::after { content: ""; display: block; width: 22px; border-top: 1px solid; transform: rotate(90deg); }
  .ftl-mobile-nav:not([hidden]) { display: grid; position: absolute; top: calc(100% - 1px); left: 0; width: 100%; background: var(--ftl-ivory); padding: 12px 32px 28px; border-bottom: 1px solid var(--ftl-line); box-shadow: 0 20px 30px #16324a0d; }
  .ftl-mobile-nav a { display: flex; justify-content: space-between; padding-block: 20px; border-bottom: 1px solid var(--ftl-line); font-size: 16px; }
  .ftl-hero-top { grid-template-columns: 1fr; gap: 32px; padding-top: 56px; }
  .ftl-hero h1 { font-size: clamp(40px, 7vw, 60px); }
  .ftl-hero-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
  .ftl-hero-intro > p { line-height: 1.9; }
  .ftl-hero-landscape { height: 360px; }
  .ftl-landscape-caption { left: 28px; bottom: 30px; }
  .ftl-scroll { right: 28px; bottom: 28px; }
  .ftl-audiences > a { flex-wrap: wrap; gap: 5px 12px; position: relative; }
  .ftl-audience-label { width: 100%; }
  .ftl-audiences svg { position: absolute; right: 20px; top: calc(50% - 12px); }
  .ftl-audiences a + a svg { right: 0; }
  .ftl-section { padding-block: 80px; }
  .ftl-about { grid-template-columns: 1fr; gap: 32px; }
  .ftl-section-heading { display: block; }
  .ftl-section-heading > p { margin-top: 24px; }
  .ftl-service-list { grid-template-columns: 1fr; }
  .ftl-service-list article, .ftl-service-list article:first-child, .ftl-service-list article:last-child { position: relative; border-right: 0; padding: 32px 0 32px 104px; border-bottom: 1px solid #bfc5c6; }
  .ftl-service-icon { position: absolute; left: 0; top: 32px; margin: 0; }
  .ftl-service-list h3 { margin-top: 18px; font-size: 24px; }
  .ftl-service-list .ftl-text-link { max-width: 320px; }
  .ftl-business { grid-template-columns: 1fr 1.1fr; }
  .ftl-business h3 { font-size: 26px; }
  .ftl-business-photo { min-height: 100%; }
  .ftl-business-copy { padding: 32px 28px; }
  .ftl-approach-grid { grid-template-columns: 1fr; gap: 36px; }
  .ftl-approach-title > a { margin-top: 24px; }
  .ftl-journey-steps { gap: 28px; }
  .ftl-journey-steps h3 { font-size: 20px; }
  .ftl-journey-note { display: block; padding: 24px; }
  .ftl-journey-note a { margin-top: 12px; }
  .ftl-message { gap: 36px; grid-template-columns: .75fr 1fr; }
  .ftl-message-copy h2 { font-size: 30px; }
  .ftl-portrait { align-self: start; }
  .ftl-portrait img { min-height: 380px; }
  .ftl-company-profile, .ftl-faq { grid-template-columns: 1fr; gap: 32px; }
  .ftl-company-profile { margin-top: 64px; }
  .ftl-faq { padding-bottom: 80px; }
  .ftl-contact > .ftl-wrap { gap: 28px; }
  .ftl-contact h2 { font-size: 46px; }
  .ftl-footer { gap: 36px; }
  .ftl-footer > nav { flex-direction: column; align-items: end; gap: 14px; }
}
@media (max-width: 600px) {
  .ftl-wrap { width: calc(100% - 48px); }
  .ftl-header { height: 80px; padding-inline: 24px; gap: 16px; }
  .ftl-logo { width: 164px; }
  .ftl-header-contact { display: none; }
  .ftl-menu-toggle { margin-left: auto; min-height: 44px; }
  .ftl-mobile-nav:not([hidden]) { padding-inline: 24px; }
  .ftl-hero-top { padding-top: 42px; padding-bottom: 36px; gap: 24px; }
  .ftl-eyebrow { font-size: 13px; letter-spacing: .04em; gap: 9px; }
  .ftl-hero h1 { font-size: clamp(30px, 8vw, 47px); margin-top: 24px; line-height: 1.6; letter-spacing: -.045em; }
  .ftl-hero-intro { display: block; }
  .ftl-hero-intro > p { font-size: 16px; line-height: 1.9; }
  .ftl-hero-intro .ftl-text-link { margin-top: 18px; gap: 32px; }
  .ftl-hero-landscape { margin-inline: 12px; height: 320px; border-radius: 12px; }
  .ftl-hero-landscape > img { object-position: 68% 60%; }
  .ftl-hero-landscape::after { background: linear-gradient(0deg, #10243877, transparent 80%); }
  .ftl-landscape-caption { left: 22px; bottom: 24px; }
  .ftl-landscape-caption > span { font-size: 26px; }
  .ftl-landscape-caption > p { margin-top: 16px; font-size: 13px; letter-spacing: .05em; }
  .ftl-scroll { display: none; }
  .ftl-audiences { padding-block: 22px; }
  .ftl-audiences > a { gap: 8px; font-size: 14px; padding-right: 18px; }
  .ftl-audiences > a + a { padding-left: 18px; }
  .ftl-audience-label { font-size: 12px; letter-spacing: .03em; }
  .ftl-audiences svg { width: 18px; height: 18px; position: static; margin: 0; }
  .ftl-section { padding-block: 64px; }
  .ftl-about { gap: 28px; }
  .ftl-about h2, .ftl-section-heading h2, .ftl-company h2 { font-size: clamp(25px, 6.7vw, 35px); line-height: 1.65; }
  .ftl-about-copy { display: block; margin-top: 28px; }
  .ftl-about-copy > p + p { margin-top: 24px; }
  .ftl-wide-only { display: none; }
  .ftl-section-heading { margin-block: 28px 40px; }
  .ftl-section-heading > p { font-size: 16px; }
  .ftl-service-list h3 { font-size: 22px; }
  .ftl-service-list article, .ftl-service-list article:first-child, .ftl-service-list article:last-child { padding: 28px 0; }
  .ftl-service-icon { position: static; margin: 24px 0; width: 64px; height: 64px; }
  .ftl-business { grid-template-columns: 1fr; margin-top: 32px; }
  .ftl-business-photo { min-height: auto; height: 230px; }
  .ftl-business-photo img { object-position: center 44%; }
  .ftl-business-copy { padding: 28px 24px 32px; }
  .ftl-business h3 { font-size: 23px; }
  .ftl-approach-grid { margin-top: 32px; }
  .ftl-approach h2 { font-size: clamp(26px, 7vw, 34px); }
  .ftl-principles article { grid-template-columns: 24px 1fr; gap: 12px; }
  .ftl-principles h3 { font-size: 20px; }
  .ftl-journey-steps { grid-template-columns: 1fr; gap: 0; }
  .ftl-journey-steps > li { display: grid; grid-template-columns: 38px 1fr; gap: 20px; padding: 0 0 32px 24px; border-top: 0; border-left: 1px solid #b9c4c9; }
  .ftl-journey-steps > li:last-child { padding-bottom: 0; }
  .ftl-journey-steps > li::before { top: 15px; left: -4px; }
  .ftl-journey-steps > li > span { font-size: 28px; }
  .ftl-journey-steps h3 { margin-top: 3px; font-size: 20px; }
  .ftl-journey-steps p { margin-top: 12px; }
  .ftl-journey-note { margin-top: 32px; }
  .ftl-message { grid-template-columns: 1fr; gap: 32px; margin-top: 32px; }
  .ftl-portrait { width: 100%; max-width: 450px; }
  .ftl-portrait img { min-height: auto; aspect-ratio: 1 / 1; }
  .ftl-message-copy h2 { font-size: 30px; }
  .ftl-company-profile dl > div { grid-template-columns: 80px 1fr; gap: 20px; padding-block: 20px; }
  .ftl-company-profile dd br { display: none; }
  .ftl-faq { padding-bottom: 64px; gap: 28px; }
  .ftl-faq-list summary { font-size: 16px; gap: 14px; }
  .ftl-faq-list details > p { padding-right: 0; }
  .ftl-mobile-only { display: inline; }
  .ftl-contact { padding-block: 56px; }
  .ftl-contact > .ftl-wrap { grid-template-columns: 1fr; gap: 28px; }
  .ftl-contact .ftl-eyebrow { margin: 0; }
  .ftl-contact h2 { font-size: 46px; }
  .ftl-contact-copy > p { font-size: 16px; }
  .ftl-phone strong { font-size: 28px; }
  .ftl-footer { padding-top: 40px; grid-template-columns: 1fr; gap: 32px; }
  .ftl-footer > nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
  .ftl-footer-bottom { padding-block: 20px; gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.ftl-corporate) { scroll-behavior: auto; }
  .ftl-corporate *, .ftl-corporate *::before, .ftl-corporate *::after { animation: none !important; transition: none !important; }
}

.ftl-website { --ftl-ink: #2a2a28; }
.ftl-solid-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; padding: 18px 24px; min-height: 60px; background: var(--ftl-navy); color: var(--ftl-ivory); border-radius: 4px; font-size: 15px; font-weight: 500; transition: background .2s; }
.ftl-solid-button:hover { background: #2c526e; }
.ftl-page-hero { padding-bottom: 68px; }
.ftl-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 28px 44px; color: var(--ftl-muted); font-size: 12px; }
.ftl-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ftl-page-hero h1 { font-size: clamp(34px, 4.2vw, 60px); font-weight: 500; letter-spacing: -.04em; line-height: 1.5; margin-top: 24px; }
.ftl-page-hero h1 > em { font-style: normal; color: var(--ftl-gold); }
.ftl-page-description { max-width: 700px; margin-top: 28px !important; font-size: 17px; line-height: 2; color: var(--ftl-muted); white-space: pre-line; }
.ftl-page-contact { color: var(--ftl-ivory); background: var(--ftl-navy); padding-block: 64px; }
.ftl-page-contact > div { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.ftl-page-contact .ftl-eyebrow { color: var(--ftl-light-gold); }
.ftl-page-contact h2 { font-size: 36px; font-weight: 500; margin-block: 16px; }
.ftl-page-contact p:not(.ftl-eyebrow) { color: #c3cfd8; font-size: 16px; }
.ftl-page-contact .ftl-solid-button { background: var(--ftl-ivory); color: var(--ftl-navy); min-width: 270px; }
.ftl-full-footer { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 44px; padding-top: 64px; }
.ftl-footer-brand > p { font-size: 14px; margin-top: 22px; }
.ftl-footer-brand > small { display: block; margin-top: 12px; color: var(--ftl-muted); font-size: 12px; }
.ftl-full-footer > nav { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 14px; }
.ftl-full-footer > nav > span { font-weight: 600; margin-bottom: 4px; }
.ftl-full-footer a:hover { text-underline-offset: 5px; }
.ftl-full-footer > nav > a:hover, .ftl-footer-policies > a:hover { text-decoration: underline; }
.ftl-footer-policies { display: flex; flex-wrap: wrap; gap: 14px 28px; grid-column: 1 / -1; font-size: 12px; color: var(--ftl-muted); padding-top: 24px; border-top: 1px solid var(--ftl-line); }
.ftl-full-footer .ftl-footer-bottom { padding-top: 0; border-top: 0; margin-top: -20px; }
.ftl-profile-table { margin: 0; border-top: 1px solid var(--ftl-line); }
.ftl-profile-table > div { display: grid; grid-template-columns: 150px 1fr; gap: 28px; padding-block: 26px; border-bottom: 1px solid var(--ftl-line); }
.ftl-profile-table dt { font-size: 14px; color: var(--ftl-muted); }
.ftl-profile-table dd { min-width: 0; margin: 0; font-size: 16px; line-height: 1.9; }
.ftl-profile-table small { display: block; color: var(--ftl-muted); font-size: 13px; margin-top: 6px; }
.ftl-profile-table a { text-decoration: none; color: var(--ftl-navy); }
.ftl-profile-table a:focus-visible { outline: 2px solid var(--ftl-navy); outline-offset: 4px; border-radius: 4px; }
.ftl-profile-email { display: block; max-width: 100%; padding-block: 5px; line-height: 1.6; overflow-wrap: anywhere; }
.ftl-profile-table a[href="/contact/"], .ftl-profile-table a[href$="contact/index.html"] { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 100%; min-height: 44px; margin-top: 10px; padding: 8px 16px; border: 1px solid rgba(166,128,44,.32); border-radius: 6px; background: rgba(166,128,44,.06); font-size: .875rem; font-weight: 500; line-height: 1.6; transition: background .2s, border-color .2s; }
.ftl-profile-table a[href="/contact/"]::after, .ftl-profile-table a[href$="contact/index.html"]::after { content: "→"; flex-shrink: 0; font-size: 1rem; }
.ftl-profile-table a[href="/contact/"]:hover, .ftl-profile-table a[href$="contact/index.html"]:hover { border-color: var(--ftl-gold); background: rgba(166,128,44,.13); }
.ftl-fee-note { margin-block: 48px 0; padding: 32px; border: 1px solid var(--ftl-line); border-radius: 12px; }
.ftl-fee-note strong { font-size: 20px; font-weight: 500; }
.ftl-fee-note p { margin-top: 12px; font-size: 16px; color: var(--ftl-muted); line-height: 1.9; }
.ftl-fee-note a { display: inline-flex; align-items: center; gap: 24px; font-size: 14px; min-height: 44px; margin-top: 16px; }
.ftl-content-block { padding-block: 88px; }
.ftl-block-heading { margin-bottom: 44px; }
.ftl-block-heading h2 { margin-top: 20px; font-size: clamp(28px, 3vw, 40px); line-height: 1.65; letter-spacing: -.03em; font-weight: 500; }
.ftl-tone-sand { background: #f1eee6; }
.ftl-tone-sky { background: #e2ebed; }
.ftl-tone-navy { background: var(--ftl-navy); color: var(--ftl-ivory); }
.ftl-tone-navy .ftl-eyebrow { color: var(--ftl-light-gold); }
.ftl-numbered-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; }
.ftl-numbered-grid article { padding-top: 24px; border-top: 1px solid #bfc5c6; }
.ftl-numbered-grid article > span { font-family: "FTL Montserrat", sans-serif; font-size: 18px; color: var(--ftl-muted); }
.ftl-numbered-grid h3 { margin-block: 24px 18px; font-size: 22px; font-weight: 500; }
.ftl-numbered-grid p, .ftl-program-grid p, .ftl-theme-grid p { font-size: 16px; color: var(--ftl-muted); line-height: 1.95; }
.ftl-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ftl-plan-card { padding: 32px 28px 24px; border: 1px solid var(--ftl-line); border-radius: 18px; display: flex; flex-direction: column; background: var(--ftl-ivory); transition: border-color .2s, transform .2s; }
.ftl-plan-card:hover { border-color: var(--ftl-gold); transform: translateY(-4px); }
.ftl-plan-card .ftl-eyebrow { font-size: 12px; }
.ftl-plan-card h3 { font-size: clamp(22px, 2.05vw, 28px); font-weight: 500; line-height: 1.65; }
.ftl-plan-card > strong { font-weight: 500; font-size: 15px; margin-top: 14px; }
.ftl-plan-card > p { color: var(--ftl-muted); line-height: 1.95; font-size: 16px; margin-top: 20px; margin-bottom: 30px; }
.ftl-plan-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--ftl-line); margin-top: auto; }
.ftl-plan-card-bottom small { font-size: 12px; color: var(--ftl-muted); }
.ftl-plan-symbol { display: flex; align-items: center; height: 130px; gap: 6px; }
.ftl-plan-symbol span { display: block; width: 38px; height: 38px; border-radius: 50%; background: var(--ftl-navy); }
.ftl-plan-symbol span:nth-child(2) { background: var(--ftl-sky); }
.ftl-plan-symbol span:nth-child(3) { background: #d9c8a0; }
.ftl-plan-planning .ftl-plan-symbol span { border-radius: 4px; width: 34px; height: 60px; transform: skewY(-20deg); }
.ftl-plan-planning .ftl-plan-symbol span:nth-child(2) { height: 80px; }
.ftl-plan-planning .ftl-plan-symbol span:nth-child(3) { height: 48px; }
.ftl-plan-training .ftl-plan-symbol span { width: 66px; height: 66px; border: 12px solid var(--ftl-navy); background: transparent; margin-right: -34px; }
.ftl-plan-training .ftl-plan-symbol span:nth-child(2) { border-color: var(--ftl-sky); }
.ftl-plan-training .ftl-plan-symbol span:nth-child(3) { border-color: #d9c8a0; }
.ftl-section-note { margin-top: 32px !important; font-size: 14px; color: var(--ftl-muted); line-height: 1.9; }
.ftl-detail-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding: 0; margin: 0; list-style: none; counter-reset: none; }
.ftl-detail-steps > li { border-top: 1px solid #bfc5c6; padding-top: 24px; }
.ftl-detail-steps > li > span { font-family: "FTL Montserrat", sans-serif; font-size: 36px; color: #647e8a; }
.ftl-detail-steps h3 { margin-block: 20px 14px; font-size: 21px; font-weight: 500; }
.ftl-detail-steps p { color: var(--ftl-muted); line-height: 1.95; }
.ftl-detail-faq { max-width: 880px; }
.ftl-theme-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.ftl-theme-grid article { border-top: 1px solid #acbec7; padding-top: 24px; }
.ftl-theme-grid h3 { font-size: 21px; font-weight: 500; margin-bottom: 16px; }
.ftl-link-panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.ftl-link-panels > a { position: relative; padding: 36px; padding-bottom: 80px; border: 1px solid #c5cbcc; border-radius: 14px; background: var(--ftl-ivory); }
.ftl-link-panels > a:hover { border-color: var(--ftl-gold); }
.ftl-link-panels > a > span { font-family: "FTL Montserrat", sans-serif; color: var(--ftl-muted); font-size: 12px; letter-spacing: .08em; }
.ftl-link-panels h3 { font-size: 26px; font-weight: 500; margin-top: 24px; }
.ftl-link-panels p { font-size: 16px; color: var(--ftl-muted); margin-top: 18px; line-height: 1.9; }
.ftl-link-panels svg { position: absolute; right: 32px; bottom: 28px; }
.ftl-service-intro { display: grid; grid-template-columns: 1.15fr 1fr; gap: 70px; padding-bottom: 88px; align-items: center; }
.ftl-service-intro h2 { font-size: clamp(23px, 2.5vw, 32px); font-weight: 500; margin-block: 24px; }
.ftl-status-pill { display: inline-block; padding: 5px 14px; font-size: 13px; border-radius: 30px; background: #e1e9ea; color: var(--ftl-navy); }
.ftl-check-list { margin-block: 30px; padding: 0; list-style: none; }
.ftl-check-list li { position: relative; padding-left: 26px; margin-top: 14px; font-size: 16px; }
.ftl-check-list li::before { content: ""; width: 7px; height: 7px; border: 1px solid var(--ftl-gold); border-radius: 50%; position: absolute; left: 0; top: 11px; }
.ftl-service-visual { padding: 34px 36px; border-radius: 18px; background: #e2ebed; border: 1px solid #c5d6db; }
.ftl-service-visual h3 { font-size: 28px; font-weight: 500; margin-block: 22px; }
.ftl-service-visual ul { margin: 0; padding: 0; list-style: none; }
.ftl-service-visual li { display: flex; align-items: center; gap: 20px; padding: 14px 0; border-top: 1px solid #beced3; }
.ftl-service-visual li > span { font-size: 12px; font-family: "FTL Montserrat",sans-serif; color: var(--ftl-muted); }
.ftl-service-visual li > i { margin-left: auto; display: block; width: 14px; height: 14px; border: 1px solid #7694a6; border-radius: 50%; }
.ftl-service-visual > small { display: block; font-size: 12px; margin-top: 24px; color: var(--ftl-muted); }
.ftl-visual-planning { background: #ebe3d2; border-color: #d6c8a9; }
.ftl-visual-training { background: var(--ftl-navy); color: var(--ftl-ivory); border: 0; }
.ftl-visual-training > small, .ftl-visual-training > .ftl-eyebrow { color: #c3cfd8; }
.ftl-lifecycle { display: grid; gap: 12px; margin-block: 32px; }
.ftl-lifecycle > span { padding: 20px; border: 1px solid #b5a585; font-size: 16px; border-radius: 6px; }
.ftl-visual-training .ftl-lifecycle > span { border-color: #4e687d; }
.ftl-prose { font-size: 16px; line-height: 2.05; max-width: 820px; color: var(--ftl-ink); overflow-wrap: anywhere; }
.ftl-prose p + p, .ftl-prose > p + div, .ftl-prose > div + p { margin-top: 24px; }
.ftl-prose h2 { font-size: 28px; line-height: 1.65; font-weight: 500; color: var(--ftl-navy); margin-block: 52px 22px; scroll-margin-top: 125px; }
.ftl-prose h3 { font-size: 21px; line-height: 1.75; margin-block: 34px 16px; color: var(--ftl-navy); font-weight: 500; }
.ftl-prose h4 { font-size: 17px; font-weight: 600; margin: 0 0 16px; }
.ftl-prose a:not(.ftl-solid-button):not(.ftl-text-link) { color: var(--ftl-navy); text-decoration: underline; text-underline-offset: 4px; }
.ftl-prose .ftl-solid-button { margin-top: 28px; }
.ftl-prose .ftl-text-link { display: flex; width: fit-content; color: var(--ftl-navy); margin-top: 24px; }
.ftl-prose strong { font-weight: 600; color: var(--ftl-navy); }
.ftl-prose ul, .ftl-prose ol { padding-left: 24px; margin-block: 24px; }
.ftl-prose li + li { margin-top: 12px; }
.ftl-corporate-feature { display: grid; grid-template-columns: 1fr 1.05fr; gap: 64px; align-items: center; padding-bottom: 88px; }
.ftl-corporate-feature img { width: 100%; height: auto; aspect-ratio: 1.2; object-fit: cover; border-radius: 16px; }
.ftl-corporate-feature h2 { font-size: 38px; font-weight: 500; margin-block: 24px; line-height: 1.6; }
.ftl-corporate-feature p:not(.ftl-eyebrow) { font-size: 16px; color: var(--ftl-muted); line-height: 2; margin-top: 22px; }
.ftl-program-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.ftl-program-grid article { background: var(--ftl-ivory); border: 1px solid var(--ftl-line); border-radius: 14px; padding: 36px; }
.ftl-program-grid .ftl-eyebrow { font-size: 12px; color: var(--ftl-muted); }
.ftl-program-grid h3 { font-size: 25px; font-weight: 500; margin-block: 24px 20px; }
.ftl-editorial-note { padding: 24px 28px; background: #f0ebe0; border-left: 3px solid var(--ftl-gold); margin-block: 32px; color: var(--ftl-navy); font-size: 14px; line-height: 1.9; }
.ftl-editorial-note strong { font-weight: 600; font-size: 16px; }
.ftl-editorial-note p { margin-top: 10px; }
.ftl-editorial-note a { display: inline-block; text-decoration: underline; text-underline-offset: 4px; margin-top: 10px; }
.ftl-story-layout { display: grid; grid-template-columns: 340px minmax(0,1fr); gap: 80px; padding-bottom: 100px; align-items: start; }
.ftl-story-portrait { position: sticky; top: 135px; }
.ftl-story-portrait img { width: 100%; height: auto; border-radius: 16px; margin-bottom: 24px; }
.ftl-story-portrait > p { font-size: 14px; color: var(--ftl-muted); }
.ftl-story-portrait h2 { font-size: 27px; font-weight: 500; margin-block: 12px; }
.ftl-story-portrait .ftl-eyebrow { font-size: 12px; }
.ftl-story-lead { font-size: 30px; line-height: 1.75; color: var(--ftl-navy); margin-bottom: 32px !important; }
.ftl-policy-statements { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; }
.ftl-policy-statements article { border-top: 1px solid var(--ftl-line); padding-top: 24px; }
.ftl-policy-statements h3 { font-size: clamp(24px, 2.7vw, 34px); margin-top: 28px; line-height: 1.8; font-weight: 500; }
.ftl-reading-width { width: min(820px, calc(100% - 128px)); margin-inline: auto; }
.ftl-legal-content { padding-bottom: 100px; }
.ftl-legal-content .ftl-editorial-note { margin-top: 0; }
.ftl-contact-layout { display: grid; grid-template-columns: .85fr 1.4fr; gap: 80px; padding-bottom: 100px; }
.ftl-contact-layout aside > h2 { font-size: 28px; font-weight: 500; }
.ftl-contact-layout aside > p { font-size: 16px; line-height: 2; color: var(--ftl-muted); margin-top: 20px; }
.ftl-contact-number { display: grid; grid-template-columns: 1fr 24px; padding-block: 26px; border-block: 1px solid var(--ftl-line); margin-top: 30px; }
.ftl-contact-number span { font-size: 14px; grid-column: 1 / -1; }
.ftl-contact-number strong { font-family: "FTL Montserrat",sans-serif; font-weight: 500; font-size: clamp(22px,2.3vw,30px); margin-top: 10px; }
.ftl-contact-number svg { align-self: center; }
.ftl-contact-layout aside .ftl-contact-aside-note { font-size: 13px; }
.ftl-contact-layout aside .ftl-text-link { margin-top: 20px; }
.ftl-form-notice { padding: 24px; border: 1px solid #b7cbd4; background: #e2ebed; margin-bottom: 32px; border-radius: 8px; }
.ftl-form-notice > strong { font-size: 17px; font-weight: 500; }
.ftl-form-notice > p { font-size: 14px; line-height: 1.9; margin-top: 12px; }
.ftl-inquiry fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ftl-inquiry legend { font-size: 24px; font-weight: 500; margin-bottom: 24px; }
.ftl-inquiry fieldset > label { display: flex; gap: 14px; align-items: center; margin-top: 24px; font-size: 15px; font-weight: 500; }
.ftl-inquiry label > span:not(:last-child), .ftl-inquiry fieldset > label > span { font-size: 12px; font-weight: 400; color: #665020; background: #e9dfc9; padding: 2px 8px; border-radius: 3px; }
.ftl-inquiry label > small { font-size: 12px; font-weight: 400; color: var(--ftl-muted); }
.ftl-inquiry input:not([type="checkbox"]), .ftl-inquiry select, .ftl-inquiry textarea { display: block; margin-top: 12px; width: 100%; max-width: 100%; min-height: 54px; border: 1px solid #b5c0c4; border-radius: 5px; background: #fffcf7; font: inherit; font-size: 16px; color: var(--ftl-navy); padding: 14px 16px; }
.ftl-inquiry textarea { resize: vertical; }
.ftl-inquiry .ftl-form-help { font-size: 13px; color: var(--ftl-muted); line-height: 1.8; margin-top: 12px; }
.ftl-consent { display: flex; gap: 14px; align-items: flex-start; font-size: 14px; margin-block: 28px; }
.ftl-consent input { width: 20px; height: 20px; accent-color: var(--ftl-navy); margin-top: 3px; flex-shrink: 0; }
.ftl-consent a { text-decoration: underline; text-underline-offset: 4px; }
.ftl-inquiry button.ftl-solid-button { border: 0; width: 100%; gap: 16px; text-align: left; }
.ftl-form-result { background: #e2ebed; padding: 28px; margin-top: 32px; border-radius: 8px; }
.ftl-form-result[hidden] { display: none; }
.ftl-form-result h2 { font-size: 24px; font-weight: 500; }
.ftl-form-result > p { margin-top: 12px; font-size: 14px; }
.ftl-form-result dl { margin-top: 24px; font-size: 15px; }
.ftl-form-result dl > div { padding-block: 16px; border-top: 1px solid #bdcdd3; }
.ftl-form-result dt { font-size: 12px; color: var(--ftl-muted); }
.ftl-form-result dd { margin: 8px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.ftl-form-result > button { padding: 12px 16px; color: var(--ftl-navy); background: var(--ftl-ivory); border: 1px solid #b5c0c4; border-radius: 4px; }
.ftl-library-nav { display: flex; flex-wrap: wrap; gap: 12px 28px; padding-block: 20px; border-block: 1px solid var(--ftl-line); }
.ftl-library-nav a { font-size: 14px; display: inline-flex; align-items: center; min-height: 44px; }
.ftl-library-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.ftl-library-date-note { margin-top: 24px !important; font-size: 13px; line-height: 1.9; color: var(--ftl-muted); }
.ftl-library-section { padding-block: 68px 16px; }
.ftl-library-section:last-child { padding-bottom: 88px; }
.ftl-library-heading { display: flex; align-items: baseline; gap: 24px; margin-bottom: 30px; }
.ftl-library-heading h2 { font-size: 28px; font-weight: 500; }
.ftl-library-heading > small { margin-left: auto; font-family: "FTL Montserrat",sans-serif; font-size: 12px; color: var(--ftl-muted); }
.ftl-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ftl-article-card { display: flex; flex-direction: column; border: 1px solid var(--ftl-line); padding: 28px; border-radius: 12px; transition: border-color .2s, background .2s; }
.ftl-article-card:hover { border-color: #9faeb3; background: #f4f0e7; }
.ftl-article-card-meta, .ftl-article-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.ftl-article-card-meta span { font-size: 12px; padding: 4px 10px; background: #e2ebed; border-radius: 3px; }
.ftl-article-card-meta small, .ftl-article-card-bottom small { font-size: 12px; color: var(--ftl-muted); }
.ftl-article-card-meta small { font-family: "FTL Montserrat",sans-serif; white-space: nowrap; }
.ftl-article-card h3 { margin-top: 24px; font-size: 20px; font-weight: 500; line-height: 1.85; text-wrap: pretty; }
.ftl-article-card > p { color: var(--ftl-muted); font-size: 14px; line-height: 1.9; margin-block: 18px 28px; }
.ftl-article-card-bottom { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--ftl-line); }
.ftl-article-header { padding-block: 20px 44px; }
.ftl-article-header h1 { font-size: clamp(28px, 3.3vw, 44px); font-weight: 500; line-height: 1.65; letter-spacing: -.02em; margin-block: 24px; }
.ftl-article-header > p:not(.ftl-eyebrow) { font-size: 17px; color: var(--ftl-muted); line-height: 2; }
.ftl-article-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: var(--ftl-muted); font-size: 12px; margin-top: 28px; }
.ftl-reading-layout { display: grid; grid-template-columns: 240px minmax(0,820px); gap: 60px; justify-content: center; align-items: start; padding-bottom: 56px; }
.ftl-toc { position: sticky; top: 132px; padding-top: 32px; }
.ftl-toc summary { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--ftl-line); font-size: 14px; }
.ftl-toc ol { list-style: none; padding: 0; margin: 0; max-height: calc(100dvh - 220px); overflow-y: auto; }
.ftl-toc li { border-bottom: 1px solid var(--ftl-line); }
.ftl-toc li a { display: block; padding-block: 14px; font-size: 13px; line-height: 1.85; }
.ftl-toc li a:hover { color: #765a1f; }
.ftl-article-body { min-width: 0; }
.ftl-rich-text > :first-child { margin-top: 0; }
.ftl-rich-text .point { background: #e2ebed; padding: 28px; border-radius: 12px; margin-block: 32px; }
.ftl-rich-text .point .pt { font-family: "FTL Montserrat",sans-serif; font-size: 12px; letter-spacing: .08em; color: var(--ftl-navy); margin-bottom: 14px; }
.ftl-rich-text .point .pt + p { margin-top: 0; }
.ftl-rich-text .steps { list-style: none; counter-reset: article-step; padding: 0; margin-block: 32px; }
.ftl-rich-text .steps li { position: relative; padding: 22px 24px 22px 64px; border-block-start: 1px solid var(--ftl-line); counter-increment: article-step; margin: 0; }
.ftl-rich-text .steps li::before { content: counter(article-step, decimal-leading-zero); position: absolute; left: 12px; top: 24px; font-family: "FTL Montserrat",sans-serif; color: #637f90; font-size: 16px; }
.ftl-rich-text .steps b { display: block; color: var(--ftl-navy); margin-bottom: 6px; font-weight: 600; }
.ftl-rich-text .vs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-block: 32px; }
.ftl-rich-text .vs .v { background: #e6eced; padding: 26px; border-radius: 12px; }
.ftl-rich-text .vs .v.gold { background: #eee5d2; }
.ftl-rich-text .vs ul { padding-left: 18px; margin-bottom: 0; font-size: 15px; }
.ftl-rich-text .statrow { display: flex; flex-wrap: wrap; gap: 24px; margin-block: 32px; }
.ftl-rich-text .stat { flex: 1; min-width: 160px; padding: 24px; background: #e2ebed; border-radius: 12px; }
.ftl-rich-text .sv { font-family: "FTL Montserrat",sans-serif; color: var(--ftl-navy); font-size: 36px; line-height: 1.4; }
.ftl-rich-text .sv span { font-size: 16px; }
.ftl-rich-text .sl { font-size: 13px; color: var(--ftl-muted); margin-top: 12px; line-height: 1.85; }
.ftl-rich-text .pull { border-left: 3px solid var(--ftl-gold); padding: 24px 28px; margin-block: 36px; color: var(--ftl-navy); font-size: 21px; font-weight: 500; background: #f0ebe0; }
.ftl-rich-text .note { font-size: 14px; line-height: 1.95; background: #f0ebe0; padding: 24px; margin-block: 28px; border-radius: 8px; }
.ftl-rich-text .tablewrap { overflow-x: auto; margin-block: 28px; overscroll-behavior-x: contain; }
.ftl-rich-text table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.85; }
.ftl-rich-text th, .ftl-rich-text td { text-align: left; border: 1px solid #c9c9c0; padding: 18px; min-width: 130px; }
.ftl-rich-text th { background: #e3e8e6; font-weight: 500; color: var(--ftl-navy); }
.ftl-rich-text td { background: #fffcf7; }
.ftl-rich-text .barlist { display: grid; gap: 18px; background: #e2ebed; padding: 26px; border-radius: 12px; margin-block: 32px; }
.ftl-rich-text .bar { display: grid; grid-template-columns: minmax(80px,1fr) 3fr auto; align-items: center; gap: 16px; font-size: 14px; }
.ftl-rich-text .bar i { display: block; background: #bed0d8; height: 16px; border-radius: 4px; }
.ftl-rich-text .bar i::before { content: ""; display: block; width: var(--w,50%); max-width: 100%; background: var(--ftl-navy); height: 100%; border-radius: 4px; }
.ftl-rich-text .bv { font-family: "FTL Montserrat",sans-serif; font-size: 16px; }
.ftl-rich-text .fig { margin-block: 32px; padding: 20px; border: 1px solid var(--ftl-line); border-radius: 12px; }
.ftl-rich-text .fig svg, .ftl-rich-text > svg { width: 100%; height: auto; max-width: 100%; }
.ftl-rich-text .fig > p { font-size: 13px; color: var(--ftl-muted); }
.ftl-article-sources { border-top: 1px solid var(--ftl-line); margin-top: 44px; padding-top: 28px; }
.ftl-article-sources h2 { font-size: 17px; font-weight: 500; }
.ftl-article-sources ul { font-size: 13px; line-height: 1.95; color: var(--ftl-muted); padding-left: 20px; overflow-wrap: anywhere; }
.ftl-article-sources li { margin-block: 10px; }
.ftl-article-sources a { text-decoration: underline; text-underline-offset: 3px; }
.ftl-article-disclaimer { font-size: 12px; color: var(--ftl-muted); line-height: 1.9; margin-top: 28px !important; }
.ftl-article-author { display: grid; grid-template-columns: 100px 1fr; gap: 24px; margin-top: 36px; padding: 28px; background: #eee9df; border-radius: 12px; }
.ftl-article-author > span { font-family: "FTL Montserrat",sans-serif; font-size: 12px; letter-spacing: .04em; align-self: center; }
.ftl-article-author strong { font-weight: 500; font-size: 16px; }
.ftl-article-author p { font-size: 13px; color: var(--ftl-muted); margin-top: 10px; }
.ftl-article-author a { display: flex; gap: 24px; align-items: center; margin-top: 16px; font-size: 13px; }
.ftl-related { padding-block: 24px 88px; }
.ftl-related > .ftl-text-link { margin-top: 28px; }
.ftl-glossary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; }
.ftl-glossary-grid > a { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding-block: 26px; border-bottom: 1px solid var(--ftl-line); min-width: 0; }
.ftl-glossary-grid a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.ftl-glossary-grid a > div { min-width: 0; }
.ftl-glossary-grid span { font-size: 12px; color: var(--ftl-muted); overflow-wrap: anywhere; }
.ftl-glossary-grid h3 { font-size: 19px; font-weight: 500; margin-top: 8px; overflow-wrap: anywhere; }
.ftl-glossary-body { padding-bottom: 88px; }
.ftl-glossary-body > .ftl-status-pill { margin-bottom: 32px; }
.ftl-glossary-related { margin-block: 40px; border-top: 1px solid var(--ftl-line); padding-top: 30px; }
.ftl-glossary-related h2 { font-size: 22px; font-weight: 500; }
.ftl-glossary-related > div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ftl-glossary-related a { display: flex; align-items: center; gap: 24px; padding: 12px 18px; border: 1px solid var(--ftl-line); border-radius: 6px; font-size: 14px; }
.ftl-not-found { display: flex; flex-wrap: wrap; gap: 32px; padding-bottom: 100px; }
.ftl-home-reading { padding-bottom: 88px; }
.ftl-home-contact-link { color: var(--ftl-navy); background: var(--ftl-ivory); border: 0; border-radius: 6px; padding: 18px 24px; margin-top: 24px; width: 100%; justify-content: space-between; font-size: 16px; }
.ftl-home-contact-link:hover { background: #eee4d3; }
.ftl-menu-toggle > span { font-size: 14px; letter-spacing: .04em; }
.ftl-menu-toggle > i { display: block; width: 22px; height: 10px; border-block: 1px solid currentColor; transition: transform .2s; }
.ftl-menu-toggle > i.is-open { transform: rotate(-45deg); border-bottom: 0; height: 1px; }
.ftl-menu-toggle > i.is-open::after { content: ""; display: block; width: 22px; border-top: 1px solid; transform: rotate(90deg); }
.ftl-mobile-nav a { display: flex; justify-content: space-between; }
.ftl-footer-policies { font-size: 14px; }

/* Contextual entry point, kept out of the primary navigation. */
.ftl-start-guide { display: flex; align-items: center; gap: 20px; padding: 26px 0; margin-top: 28px; border-bottom: 1px solid var(--ftl-line); color: var(--ftl-navy); text-decoration: none; }
.ftl-start-guide-icon { display: grid; place-items: center; flex: 0 0 52px; height: 52px; border-radius: 50%; background: #efe6d3; }
.ftl-start-guide-icon svg { width: 26px; height: 26px; }
.ftl-start-guide-copy { display: grid; gap: 5px; }
.ftl-start-guide-copy small { font-size: 14px; color: #586874; }
.ftl-start-guide-copy strong { font-size: 18px; font-weight: 500; line-height: 1.6; }
.ftl-start-guide > svg { flex: 0 0 24px; margin-left: auto; }
.ftl-start-guide:hover .ftl-start-guide-copy strong { text-decoration: underline; text-underline-offset: 5px; }
.ftl-start-guide:focus-visible { outline: 2px solid var(--ftl-gold); outline-offset: 6px; }

/* Photo and semantic diagram form two complementary company-story links. */
.ftl-people-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.ftl-people-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 18px; text-decoration: none; color: var(--ftl-navy); transition: box-shadow .25s ease, transform .25s ease; }
.ftl-people-founder { background: var(--ftl-ivory); border: 1px solid #d5d7d3; }
.ftl-people-photo { position: relative; height: 300px; overflow: hidden; background: #d8e7e3; }
.ftl-people-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 8%; transition: transform .45s ease; }
.ftl-people-photo-label { position: absolute; left: 32px; bottom: 22px; padding: 8px 12px; background: var(--ftl-ivory); color: var(--ftl-navy); font-size: 12px; letter-spacing: .12em; }
.ftl-people-copy { padding: 32px 36px 0; }
.ftl-people-copy > .ftl-eyebrow { margin: 0; font-size: 13px; letter-spacing: .12em; }
.ftl-people-copy h3 { margin: 20px 0 18px; font-size: clamp(27px,2.5vw,34px); font-weight: 500; line-height: 1.65; letter-spacing: .03em; }
.ftl-people-copy > p:not(.ftl-eyebrow) { margin: 0; color: #586874; font-size: 16px; line-height: 1.9; }
.ftl-people-founder .ftl-people-copy { display: flex; flex: 1; flex-direction: column; }
.ftl-people-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; margin-top: 28px; padding-block: 22px; border-top: 1px solid #cdd0cc; font-size: 16px; font-weight: 500; line-height: 1.6; }
.ftl-people-action svg { flex: 0 0 24px; width: 24px; height: 24px; transition: transform .25s ease; }
.ftl-people-purpose { padding: 0 36px; background: var(--ftl-navy); color: var(--ftl-ivory); border: 1px solid var(--ftl-navy); }
.ftl-people-purpose .ftl-people-copy { padding: 40px 0 0; }
.ftl-people-purpose .ftl-eyebrow { color: #d8b76b; }
.ftl-people-purpose .ftl-people-copy > p:not(.ftl-eyebrow) { color: #cbd6dc; }
.ftl-people-diagram { margin: auto 0; padding-top: 30px; }
.ftl-people-diagram ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ftl-people-diagram li { display: flex; align-items: center; gap: 20px; padding: 18px 22px; border: 1px solid #526574; border-radius: 10px; }
.ftl-people-diagram li > svg { flex: 0 0 30px; width: 30px; height: 30px; color: #dfbe76; }
.ftl-people-diagram li > span { display: grid; gap: 4px; }
.ftl-people-diagram small { font-size: 13px; color: #cbd6dc; }
.ftl-people-diagram strong { font-size: 20px; font-weight: 500; letter-spacing: .03em; }
.ftl-people-outcome { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0; padding-top: 25px; color: #dfbe76; font-size: 16px; line-height: 1.7; }
.ftl-people-outcome svg { flex: 0 0 22px; width: 22px; height: 22px; }
.ftl-people-purpose > .ftl-people-action { border-color: #526574; }
.ftl-people-card:focus-visible { outline: 3px solid var(--ftl-gold); outline-offset: 5px; }
@media (hover: hover) { .ftl-people-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px #16324a12; } .ftl-people-founder:hover img { transform: scale(1.025); } .ftl-people-card:hover .ftl-people-action svg { transform: translate(3px,-3px); } }
@media (max-width: 900px) { .ftl-people-grid { grid-template-columns: 1fr; gap: 24px; } .ftl-people-photo { height: clamp(260px,48vw,380px); } .ftl-people-diagram { padding-top: 28px; } }
@media (max-width: 600px) { .ftl-people-copy { padding: 26px 24px 0; } .ftl-people-copy h3 { font-size: 27px; } .ftl-people-purpose { padding-inline: 24px; } .ftl-people-purpose .ftl-people-copy { padding-top: 30px; } .ftl-people-photo { height: 265px; } .ftl-people-photo-label { left: 24px; bottom: 18px; } .ftl-people-diagram li { gap: 16px; padding: 16px; } .ftl-people-diagram strong { font-size: 19px; } .ftl-people-outcome { justify-content: flex-start; gap: 10px; font-size: 15px; } .ftl-people-action { font-size: 15px; margin-top: 26px; } .ftl-start-guide { gap: 14px; } .ftl-start-guide-copy strong { font-size: 16px; } .ftl-start-guide-icon { flex-basis: 42px; height: 42px; } }
@media (prefers-reduced-motion: reduce) { .ftl-people-card, .ftl-people-photo img, .ftl-people-action svg { transition: none; transform: none !important; } }
.ftl-toc li a { font-size: 14px; }
@media(max-width: 600px) { .ftl-website .ftl-header { padding-inline: 20px; gap: 16px; } .ftl-website .ftl-header .ftl-logo { width: min(164px,40vw); } .ftl-rich-text .fig { overflow-x: auto; } .ftl-rich-text .fig svg { min-width: 520px; } }
@media(max-width: 1200px) { .ftl-desktop-nav { gap: 18px; } .ftl-header { gap: 24px; padding-inline: 32px; } .ftl-header .ftl-logo { width: 160px; } .ftl-article-grid, .ftl-plan-grid { gap: 18px; } .ftl-article-card, .ftl-plan-card { padding-inline: 22px; } .ftl-reading-layout { grid-template-columns: 200px minmax(0,1fr); gap: 36px; } }
@media(max-width: 1100px) { .ftl-desktop-nav { display: none; } .ftl-header-contact { margin-left: auto; } .ftl-menu-toggle { display: flex; align-items: center; gap: 10px; border: 0; background: none; color: var(--ftl-navy); padding: 12px 0 12px 12px; } .ftl-mobile-nav:not([hidden]) { display: grid; gap: 0; position: absolute; top: 100%; left: 0; width: 100%; max-height: calc(100dvh - 100px); overflow-y: auto; background: var(--ftl-ivory); padding: 16px 32px 24px; border-bottom: 1px solid var(--ftl-line); } .ftl-mobile-nav > a { padding-block: 14px; border-bottom: 1px solid var(--ftl-line); font-size: 16px; } .ftl-theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .ftl-service-intro { gap: 36px; } .ftl-story-layout { grid-template-columns: 280px minmax(0,1fr); gap: 48px; } .ftl-contact-layout { gap: 44px; } }
@media(max-width: 900px) { .ftl-page-contact h2 { font-size: 30px; } .ftl-full-footer { grid-template-columns: 1fr 1fr; gap: 32px; } .ftl-footer-brand { grid-column: 1 / -1; } }
@media(max-width: 600px) { .ftl-page-hero { padding-bottom: 42px; } .ftl-breadcrumb { padding-block: 22px 30px; font-size: 12px; } .ftl-page-hero h1 { font-size: clamp(28px, 7.8vw, 42px); margin-top: 20px; } .ftl-page-description { font-size: 16px; margin-top: 22px !important; } .ftl-page-contact { padding-block: 48px; } .ftl-page-contact > div { display: block; } .ftl-page-contact h2 { font-size: 28px; } .ftl-page-contact .ftl-solid-button { margin-top: 28px; width: 100%; } .ftl-profile-table > div { grid-template-columns: 80px 1fr; gap: 20px; padding-block: 22px; } .ftl-full-footer { padding-top: 44px; gap: 28px 20px; } .ftl-full-footer > nav { font-size: 14px; } .ftl-footer-policies { gap: 16px 20px; } .ftl-fee-note { padding: 24px; } }
@media(max-width: 900px) { .ftl-content-block { padding-block: 64px; } .ftl-numbered-grid { gap: 24px; } .ftl-plan-grid { grid-template-columns: 1fr; } .ftl-plan-card { display: grid; grid-template-columns: 1fr 1.4fr; gap: 0 32px; padding: 28px; } .ftl-plan-card > .ftl-eyebrow, .ftl-plan-card > .ftl-plan-symbol, .ftl-plan-card > h3, .ftl-plan-card > strong { grid-column: 1; } .ftl-plan-card > p { grid-column: 2; grid-row: 2 / 5; align-self: center; } .ftl-plan-card-bottom { grid-column: 1 / -1; margin-top: 24px; } .ftl-plan-symbol { height: 110px; } .ftl-plan-card h3 { font-size: 28px; } .ftl-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .ftl-service-intro { grid-template-columns: 1fr; } .ftl-service-visual { max-width: 600px; width: 100%; } .ftl-corporate-feature { gap: 36px; } .ftl-corporate-feature h2 { font-size: 30px; } .ftl-detail-steps { gap: 24px; } .ftl-story-layout { grid-template-columns: 1fr; } .ftl-story-portrait { position: static; max-width: 360px; } .ftl-story-copy { max-width: 100%; } .ftl-policy-statements { gap: 36px; grid-template-columns: 1fr; } .ftl-reading-width { width: min(820px,calc(100% - 80px)); } .ftl-reading-layout { grid-template-columns: 1fr; gap: 0; } .ftl-toc { position: static; padding-top: 0; } .ftl-toc ol { max-height: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; } .ftl-toc li a { font-size: 14px; } .ftl-contact-layout { grid-template-columns: 1fr; gap: 48px; } .ftl-contact-number { max-width: 440px; } .ftl-glossary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 600px) { .ftl-content-block { padding-block: 52px; } .ftl-block-heading { margin-bottom: 30px; } .ftl-block-heading h2 { font-size: 27px; margin-top: 18px; } .ftl-numbered-grid, .ftl-detail-steps, .ftl-theme-grid, .ftl-link-panels, .ftl-program-grid, .ftl-corporate-feature, .ftl-article-grid { grid-template-columns: 1fr; } .ftl-numbered-grid { gap: 30px; } .ftl-numbered-grid h3 { margin-top: 16px; font-size: 22px; } .ftl-plan-card { display: flex; padding: 26px; } .ftl-plan-card > strong { font-size: 14px; } .ftl-plan-card h3 { font-size: 28px; } .ftl-plan-symbol { height: 115px; } .ftl-plan-card > p { margin-bottom: 24px; } .ftl-plan-card-bottom { margin-top: auto; } .ftl-link-panels > a, .ftl-program-grid article { padding: 28px; } .ftl-link-panels > a { padding-bottom: 78px; } .ftl-link-panels h3, .ftl-program-grid h3 { font-size: 23px; } .ftl-theme-grid { gap: 28px; } .ftl-service-intro { padding-bottom: 52px; gap: 40px; } .ftl-service-intro h2 { font-size: 25px; } .ftl-service-intro .ftl-solid-button { font-size: 14px; width: 100%; padding-inline: 18px; gap: 16px; } .ftl-service-visual { padding: 28px; } .ftl-service-visual h3 { font-size: 25px; } .ftl-detail-steps > li { display: grid; grid-template-columns: 44px 1fr; gap: 22px; padding-top: 22px; } .ftl-detail-steps h3 { margin-top: 2px; font-size: 21px; } .ftl-detail-steps > li > span { font-size: 29px; } .ftl-corporate-feature { padding-bottom: 52px; gap: 28px; } .ftl-corporate-feature img { aspect-ratio: 1.4; } .ftl-corporate-feature h2 { font-size: 30px; } .ftl-prose { line-height: 2; } .ftl-prose h2 { font-size: 25px; margin-top: 40px; } .ftl-prose h3 { font-size: 20px; } .ftl-reading-width { width: calc(100% - 40px); } .ftl-reading-layout { width: calc(100% - 40px); padding-bottom: 36px; } .ftl-story-layout { gap: 36px; padding-bottom: 56px; } .ftl-story-lead { font-size: 27px; } .ftl-policy-statements h3 { font-size: 25px; } .ftl-legal-content { padding-bottom: 52px; } .ftl-editorial-note { padding: 22px; } .ftl-contact-layout { padding-bottom: 56px; } .ftl-form-notice { padding: 22px; } .ftl-inquiry button.ftl-solid-button { padding-inline: 18px; font-size: 14px; } .ftl-form-result { padding: 22px; } .ftl-library-nav { gap: 4px 20px; padding-block: 14px; } .ftl-library-section { padding-top: 48px; } .ftl-library-section:last-child { padding-bottom: 56px; } .ftl-library-heading { flex-wrap: wrap; gap: 8px 16px; margin-bottom: 24px; } .ftl-library-heading h2 { font-size: 25px; } .ftl-article-card { padding: 26px; } .ftl-article-card h3 { font-size: 21px; } .ftl-article-card > p { font-size: 15px; } .ftl-article-header { padding-top: 10px; padding-bottom: 32px; } .ftl-article-header h1 { font-size: 28px; } .ftl-article-header > p:not(.ftl-eyebrow) { font-size: 16px; } .ftl-toc ol { grid-template-columns: 1fr; } .ftl-rich-text .vs { grid-template-columns: 1fr; } .ftl-rich-text .vs .v, .ftl-rich-text .point { padding: 24px; } .ftl-rich-text .pull { font-size: 19px; padding: 24px; } .ftl-rich-text .statrow { gap: 16px; } .ftl-rich-text .stat { min-width: 140px; padding: 20px; } .ftl-rich-text .sv { font-size: 30px; } .ftl-rich-text .bar { grid-template-columns: 82px 1fr auto; gap: 10px; font-size: 13px; } .ftl-rich-text .barlist { padding: 20px; } .ftl-rich-text .fig { padding: 10px; } .ftl-rich-text th, .ftl-rich-text td { padding: 14px; } .ftl-article-author { grid-template-columns: 1fr; gap: 16px; padding: 24px; } .ftl-related { padding-bottom: 52px; } .ftl-glossary-grid { grid-template-columns: 1fr; } .ftl-glossary-body { padding-bottom: 52px; } .ftl-glossary-related a { width: 100%; justify-content: space-between; } .ftl-home-reading { padding-bottom: 56px; } }

/* Editorial layer: the approved navy / ivory / gold palette, with purposeful motion. */
.ftl-corporate { --ftl-sticky-height: 100px; }
.ftl-corporate .ftl-visual-icon { flex: none; width: 24px; height: 24px; }
.ftl-corporate .ftl-eyebrow:has(> svg) { display: flex; align-items: center; gap: 12px; }
.ftl-corporate.ftl-website .ftl-desktop-nav { gap: 22px; }
.ftl-corporate.ftl-website .ftl-header { gap: 24px; }
.ftl-corporate.ftl-website .ftl-desktop-nav a { white-space: nowrap; }
.ftl-corporate .ftl-learning-teaser, .ftl-corporate .ftl-life-moments { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; padding-block: 80px; }
.ftl-corporate .ftl-learning-teaser { border-top: 1px solid var(--ftl-line); }
.ftl-corporate .ftl-learning-teaser h2, .ftl-corporate .ftl-life-moments h2, .ftl-corporate .ftl-education-why h2, .ftl-corporate .ftl-education-promise h2 { font-size: clamp(27px, 2.8vw, 39px); font-weight: 500; letter-spacing: -.035em; line-height: 1.65; margin-top: 20px; }
.ftl-corporate .ftl-learning-teaser p:not(.ftl-eyebrow), .ftl-corporate .ftl-life-moments-copy > p:not(.ftl-eyebrow) { margin-top: 24px; font-size: 16px; color: var(--ftl-muted); line-height: 2; }
.ftl-corporate .ftl-learning-teaser .ftl-text-link, .ftl-corporate .ftl-life-moments .ftl-text-link { margin-top: 28px; }
.ftl-corporate .ftl-learning-teaser figure, .ftl-corporate .ftl-life-moments figure { position: relative; margin: 0; overflow: hidden; border-radius: 12px; }
.ftl-corporate .ftl-learning-teaser figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.ftl-corporate .ftl-learning-teaser figcaption, .ftl-corporate .ftl-life-moments figcaption { position: absolute; inset: auto 0 0; padding: 32px 20px 14px; color: white; background: linear-gradient(transparent, #102c3ed9); font-size: 12px; text-align: right; }
.ftl-corporate .ftl-life-moments { padding-top: 0; padding-bottom: 40px; }
.ftl-corporate .ftl-life-moments figure img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.ftl-corporate .ftl-moment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 30px; }
.ftl-corporate .ftl-moment-grid > div { display: grid; grid-template-columns: 34px 1fr; gap: 4px 12px; }
.ftl-corporate .ftl-moment-grid svg { grid-row: 1 / 3; color: var(--ftl-gold); }
.ftl-corporate .ftl-moment-grid strong { font-weight: 500; font-size: 17px; }
.ftl-corporate .ftl-moment-grid small { color: var(--ftl-muted); font-size: 13px; }
.ftl-corporate .ftl-education-hero .ftl-page-hero { padding-bottom: 24px; }
.ftl-corporate .ftl-education-hero .ftl-page-description { color: var(--ftl-gold); font-weight: 500; }
.ftl-corporate .ftl-education-hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 32px; padding-bottom: 44px; }
.ftl-corporate .ftl-education-hero-bottom > p { font-size: 17px; line-height: 2; color: var(--ftl-muted); }
.ftl-corporate .ftl-education-photo { position: relative; margin: 0; overflow: hidden; }
.ftl-corporate .ftl-education-photo img { width: 100%; height: clamp(280px, 31vw, 480px); object-fit: cover; object-position: center 54%; }
.ftl-corporate .ftl-education-photo figcaption { position: absolute; inset: auto 0 0; padding: 64px max(32px, calc((100% - 1280px) / 2)) 26px; background: linear-gradient(transparent, #132d41cf); color: var(--ftl-ivory); display: flex; justify-content: space-between; align-items: end; gap: 16px; }
.ftl-corporate .ftl-education-photo figcaption > span { font-family: "FTL Montserrat", sans-serif; font-size: clamp(16px, 2vw, 27px); letter-spacing: .07em; }
.ftl-corporate .ftl-education-photo small { font-size: 12px; white-space: nowrap; }
.ftl-corporate .ftl-education-why { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; }
.ftl-corporate .ftl-education-why > div > p:not(.ftl-eyebrow) { font-size: 16px; line-height: 2; color: var(--ftl-muted); }
.ftl-corporate .ftl-education-why > div > p + p { margin-top: 20px; }
.ftl-corporate .ftl-life-decisions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--ftl-line); }
.ftl-corporate .ftl-life-decisions > div { display: flex; flex-direction: column; align-items: start; gap: 12px; }
.ftl-corporate .ftl-life-decisions svg { color: var(--ftl-gold); }
.ftl-corporate .ftl-life-decisions strong { font-size: 19px; font-weight: 500; }
.ftl-corporate .ftl-life-decisions span { font-size: 13px; color: var(--ftl-muted); }
.ftl-corporate .ftl-choice-shifts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ftl-corporate .ftl-choice-shifts article { border: 1px solid #526777; border-radius: 8px; padding: 32px; background: #ffffff05; }
.ftl-corporate .ftl-choice-icon { display: flex; width: 52px; height: 52px; align-items: center; justify-content: center; border: 1px solid #728088; border-radius: 50%; color: #ddc587; margin-bottom: 32px; }
.ftl-corporate .ftl-choice-shifts article p { color: #c9d2d8; font-size: 15px; }
.ftl-corporate .ftl-shift-arrow { display: block; color: #ddc587; font-size: 24px; margin-block: 12px; }
.ftl-corporate .ftl-choice-shifts h3 { font-size: 22px; font-weight: 500; line-height: 1.7; color: var(--ftl-ivory); }
.ftl-corporate .ftl-education-principle { margin-top: 40px; max-width: 800px; color: #d5dce1; font-size: 16px; line-height: 2; }
.ftl-corporate .ftl-learning-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 16px; }
.ftl-corporate .ftl-learning-tabs button { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 76px; padding: 16px 12px; color: var(--ftl-navy); font-family: inherit; font-size: 16px; background: #fffdf8; border: 1px solid var(--ftl-line); border-radius: 6px; cursor: pointer; transition: background .2s, color .2s; }
.ftl-corporate .ftl-learning-tabs button[aria-selected="true"] { background: var(--ftl-navy); color: var(--ftl-ivory); border-color: var(--ftl-navy); }
.ftl-corporate .ftl-learning-tabs button:hover { border-color: var(--ftl-gold); }
.ftl-corporate .ftl-learning-panel { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; background: #fffdf8; border: 1px solid var(--ftl-line); border-radius: 8px; padding: 48px; }
.ftl-corporate .ftl-learning-panel[hidden] { display: none; }
.ftl-corporate .ftl-learning-panel h3 { font-size: clamp(25px, 2.6vw, 35px); line-height: 1.6; font-weight: 500; margin-top: 24px; }
.ftl-corporate .ftl-learning-panel > div > p:not(.ftl-eyebrow) { margin-top: 20px; line-height: 2; color: var(--ftl-muted); font-size: 16px; }
.ftl-corporate .ftl-learning-panel .ftl-text-link { margin-top: 32px; }
.ftl-corporate .ftl-learning-panel-notes { border-left: 1px solid var(--ftl-line); padding-left: 40px; }
.ftl-corporate .ftl-learning-panel-icon { display: inline-flex; padding: 20px; background: #eef3f5; border-radius: 50%; margin-bottom: 24px; }
.ftl-corporate .ftl-learning-panel-icon .ftl-visual-icon { width: 42px; height: 42px; color: var(--ftl-navy); }
.ftl-corporate .ftl-learning-panel-notes ul { list-style: none; display: grid; gap: 12px; padding: 0; }
.ftl-corporate .ftl-learning-panel-notes li { display: flex; align-items: start; gap: 10px; font-size: 15px; line-height: 1.75; }
.ftl-corporate .ftl-learning-panel-notes li svg { width: 18px; height: 24px; color: var(--ftl-gold); }
.ftl-corporate .ftl-mini-action { border-left: 2px solid var(--ftl-gold); padding: 4px 0 4px 16px; margin-top: 28px; }
.ftl-corporate .ftl-mini-action > span { font-size: 12px; color: #826421; font-weight: 600; letter-spacing: .06em; }
.ftl-corporate .ftl-mini-action p { margin-top: 8px; font-size: 15px; line-height: 1.8; }
.ftl-corporate .ftl-learning-cycle { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; gap: 48px; }
.ftl-corporate .ftl-learning-cycle li { position: relative; }
.ftl-corporate .ftl-learning-cycle li:not(:last-child)::after { content: ""; position: absolute; top: 40px; left: 100px; width: calc(100% - 76px); height: 1px; background: #c6b895; }
.ftl-corporate .ftl-learning-cycle li > span { display: flex; width: 80px; height: 80px; justify-content: center; align-items: center; border: 1px solid #c6b895; border-radius: 50%; background: #f7f0e2; margin-bottom: 24px; }
.ftl-corporate .ftl-learning-cycle li > span svg { width: 32px; height: 32px; }
.ftl-corporate .ftl-learning-cycle small { font-size: 12px; letter-spacing: .06em; color: var(--ftl-gold); }
.ftl-corporate .ftl-learning-cycle h3 { font-size: 23px; font-weight: 500; margin-top: 14px; }
.ftl-corporate .ftl-learning-cycle p { max-width: 270px; margin-top: 14px; color: var(--ftl-muted); line-height: 1.9; font-size: 16px; }
.ftl-corporate .ftl-learning-ways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 32px; }
.ftl-corporate .ftl-learning-ways a { position: relative; display: flex; flex-direction: column; padding: 32px; background: var(--ftl-ivory); border: 1px solid #d1dce0; border-radius: 8px; transition: border-color .2s, transform .2s; }
.ftl-corporate .ftl-learning-ways a:hover { border-color: var(--ftl-gold); transform: translateY(-3px); }
.ftl-corporate .ftl-learning-ways a > svg:first-child { width: 34px; height: 34px; margin-bottom: 28px; }
.ftl-corporate .ftl-learning-ways a > span { font-size: 13px; color: var(--ftl-muted); }
.ftl-corporate .ftl-learning-ways h3 { font-size: 22px; font-weight: 500; margin-block: 10px 18px; }
.ftl-corporate .ftl-learning-ways p { color: var(--ftl-muted); font-size: 15px; line-height: 1.9; }
.ftl-corporate .ftl-learning-ways a > svg:last-child { align-self: end; margin-top: 24px; }
.ftl-corporate .ftl-education-promise { display: grid; grid-template-columns: 100px 1fr; gap: 40px; max-width: 1000px; }
.ftl-corporate .ftl-education-promise > svg { width: 72px; height: 72px; color: var(--ftl-gold); }
.ftl-corporate .ftl-education-promise p:not(.ftl-eyebrow) { margin-block: 24px; font-size: 16px; line-height: 2; color: var(--ftl-muted); }
.ftl-corporate .ftl-plan-symbol > .ftl-visual-icon { width: 72px; height: 72px; color: var(--ftl-navy); }
.ftl-corporate .ftl-theme-grid > article > svg, .ftl-corporate .ftl-numbered-grid > article > svg, .ftl-corporate .ftl-program-grid > article > svg { display: block; width: 34px; height: 34px; color: var(--ftl-gold); margin-bottom: 24px; }
.ftl-corporate .ftl-program-grid > article > svg { margin-top: 24px; }
.ftl-corporate .ftl-program-audience { display: inline-block; margin-top: 20px; padding: 6px 10px; border: 1px solid var(--ftl-line); border-radius: 3px; font-size: 12px; color: var(--ftl-muted); }
.ftl-corporate .ftl-visual-hint { font-size: 13px; line-height: 1.8; margin-block: 24px 12px; color: var(--ftl-muted); }
.ftl-corporate .ftl-five-forces details { border-bottom: 1px solid #c2ccd0; }
.ftl-corporate .ftl-five-forces summary { list-style: none; display: flex; align-items: center; gap: 14px; min-height: 61px; cursor: pointer; padding-block: 12px; }
.ftl-corporate .ftl-five-forces summary::-webkit-details-marker { display: none; }
.ftl-corporate .ftl-five-forces summary > span:first-child { font-size: 12px; color: var(--ftl-muted); }
.ftl-corporate .ftl-five-forces details[open] summary > span:first-child { transform: none; }
.ftl-corporate .ftl-five-forces summary > svg { color: #816524; }
.ftl-corporate .ftl-five-forces summary strong { font-size: 18px; font-weight: 500; }
.ftl-corporate .ftl-five-forces .ftl-plus { margin-left: auto; font-size: 22px; transition: transform .2s; }
.ftl-corporate .ftl-five-forces details[open] .ftl-plus { transform: rotate(45deg); }
.ftl-corporate .ftl-five-forces details > p { padding: 0 0 20px 38px; color: var(--ftl-muted); font-size: 14px; line-height: 1.9; }
.ftl-corporate .ftl-planning-diagram { list-style: none; margin: 36px 0 32px; padding: 0; display: grid; gap: 28px; }
.ftl-corporate .ftl-planning-diagram li { border: 0; padding: 0; display: flex; position: relative; gap: 20px; align-items: center; }
.ftl-corporate .ftl-diagram-node { color: var(--ftl-navy); width: 64px; height: 64px; background: var(--ftl-ivory); border: 1px solid #bdad88; border-radius: 50%; display: flex; flex: none; align-items: center; justify-content: center; z-index: 1; }
.ftl-corporate .ftl-diagram-node > svg { width: 28px; height: 28px; }
.ftl-corporate .ftl-planning-diagram li > div > small { font-size: 12px; display: inline; margin-right: 12px; }
.ftl-corporate .ftl-planning-diagram strong { font-size: 20px; font-weight: 500; }
.ftl-corporate .ftl-planning-diagram p { font-size: 14px; color: var(--ftl-muted); margin-top: 8px; }
.ftl-corporate .ftl-visual-training .ftl-planning-diagram p, .ftl-corporate .ftl-visual-training .ftl-planning-diagram small { color: #c3cfd8; }
.ftl-corporate .ftl-diagram-line { position: absolute; top: 56px; bottom: -40px; left: 32px; width: 1px; background: #bdad88; }
.ftl-corporate .ftl-article-card { padding: 0; overflow: hidden; }
.ftl-corporate .ftl-article-card > :not(.ftl-article-cover) { margin-inline: 24px; }
.ftl-corporate .ftl-article-card .ftl-article-card-meta { margin-top: 24px; }
.ftl-corporate .ftl-article-card .ftl-article-card-bottom { margin-bottom: 24px; }
.ftl-corporate .ftl-article-cover { flex-shrink: 0; position: relative; margin: 0; background: #dde3e5; overflow: hidden; aspect-ratio: 1.75; }
.ftl-corporate .ftl-article-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ftl-corporate .ftl-article-card:hover .ftl-article-cover img { transform: scale(1.025); }
.ftl-corporate .ftl-article-cover figcaption { display: grid; grid-template-columns: auto 1fr; align-content: end; align-items: center; gap: 10px 12px; position: absolute; inset: 0; padding: 24px; color: white; background: linear-gradient(transparent 30%, #132c3eeb); }
.ftl-corporate .ftl-cover-icon { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; background: #fbf6eeeb; border-radius: 50%; color: var(--ftl-navy); }
.ftl-corporate .ftl-cover-title { font-family: "FTL Montserrat", sans-serif; font-size: 13px; letter-spacing: .06em; font-weight: 500; }
.ftl-corporate .ftl-article-cover figcaption small { grid-column: 2; font-size: 11px; color: #e1e7e8; }
.ftl-corporate .ftl-reading-cover { margin-bottom: 56px; }
.ftl-corporate .ftl-article-cover.is-large { height: clamp(250px, 26vw, 360px); aspect-ratio: auto; border-radius: 10px; }
.ftl-corporate .ftl-article-cover.is-large figcaption { padding: 32px 40px; grid-template-columns: auto auto 1fr; gap: 20px; }
.ftl-corporate .ftl-article-cover.is-large .ftl-cover-title { font-size: clamp(18px, 2.5vw, 30px); letter-spacing: .08em; }
.ftl-corporate .ftl-article-cover.is-large figcaption small { grid-column: 3; text-align: right; }
.ftl-corporate .ftl-reading-highlights { margin-block: 32px 48px; padding: 32px; background: #edf2f3; border: 1px solid #d2dfe3; border-radius: 8px; }
.ftl-corporate .ftl-reading-highlights > div { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ftl-corporate .ftl-reading-highlights h2 { font-size: 24px; font-weight: 500; line-height: 1.6; }
.ftl-corporate .ftl-reading-highlights > p { margin-top: 16px; font-size: 16px; line-height: 2; }
.ftl-corporate .ftl-reading-highlights ul { list-style: none; padding: 20px 0 0; margin: 20px 0 0; border-top: 1px solid #c9d7dc; display: grid; gap: 12px; }
.ftl-corporate .ftl-reading-highlights li { display: flex; align-items: start; gap: 10px; font-size: 14px; line-height: 1.9; }
.ftl-corporate .ftl-reading-highlights li svg { width: 18px; height: 25px; color: #816524; }
.ftl-corporate .ftl-reading-highlights a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ftl-corporate .ftl-reading-progress { position: fixed; z-index: 99; top: var(--ftl-sticky-height); left: 0; width: 100%; pointer-events: none; }
.ftl-corporate .ftl-reading-progress[hidden] { display: none; }
.ftl-corporate .ftl-reading-progress progress { display: block; width: 100%; height: 3px; border: 0; appearance: none; background: #16324a12; color: var(--ftl-gold); }
.ftl-corporate .ftl-reading-progress progress::-webkit-progress-bar { background: #16324a12; }
.ftl-corporate .ftl-reading-progress progress::-webkit-progress-value { background: var(--ftl-gold); }
.ftl-corporate .ftl-reading-progress progress::-moz-progress-bar { background: var(--ftl-gold); }
.ftl-corporate .ftl-reading-progress > span { display: flex; align-items: center; gap: 8px; position: absolute; top: 9px; right: 20px; background: #fbf6eef5; border: 1px solid var(--ftl-line); border-radius: 4px; padding: 7px 10px; font-size: 12px; }
.ftl-corporate .ftl-reading-progress > span svg { width: 16px; height: 16px; }
.ftl-corporate .ftl-toc a[aria-current="location"] { color: var(--ftl-navy); font-weight: 600; border-left: 2px solid var(--ftl-gold); padding-left: 10px; }
.ftl-corporate .ftl-rich-text h2:has(.ftl-reading-step) { display: flex; align-items: start; gap: 16px; }
.ftl-corporate .ftl-reading-step { display: flex; width: 38px; height: 38px; flex: none; align-items: center; justify-content: center; border: 1px solid #c5b58f; border-radius: 50%; margin-top: 5px; font-size: 13px; color: #826421; letter-spacing: .04em; font-weight: 500; }
.ftl-corporate .ftl-glossary-grid > a > div { flex: 1; min-width: 0; }
.ftl-corporate .ftl-glossary-grid > a > .ftl-visual-icon { margin-right: 12px; color: var(--ftl-gold); }
.ftl-corporate .ftl-glossary-hero-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border: 1px solid var(--ftl-line); border-radius: 50%; margin-right: 16px; vertical-align: middle; }
.ftl-corporate .ftl-reveal-in { animation: ftl-content-reveal .65s ease both; }
@keyframes ftl-content-reveal { from { opacity: .35; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 901px) and (max-width: 1280px) {
  .ftl-corporate.ftl-website .ftl-desktop-nav { display: none; }
  .ftl-corporate.ftl-website .ftl-header-contact { margin-left: auto; }
  .ftl-corporate.ftl-website .ftl-menu-toggle { display: flex; align-items: center; justify-content: center; width: auto; height: 44px; gap: 12px; padding: 10px 0 10px 12px; border: 0; background: transparent; color: var(--ftl-navy); cursor: pointer; }
  .ftl-corporate.ftl-website .ftl-menu-toggle > span { font-size: 12px; letter-spacing: .04em; }
  .ftl-corporate.ftl-website .ftl-menu-toggle > i { display: block; width: 22px; height: 10px; border-block: 1px solid currentColor; }
  .ftl-corporate.ftl-website .ftl-menu-toggle > i.is-open { transform: rotate(-45deg); border-bottom: 0; height: 1px; }
  .ftl-corporate.ftl-website .ftl-menu-toggle > i.is-open::after { content: ""; display: block; width: 22px; border-top: 1px solid; transform: rotate(90deg); }
  .ftl-corporate.ftl-website .ftl-mobile-nav:not([hidden]) { display: grid; position: absolute; top: calc(100% - 1px); left: 0; width: 100%; max-height: calc(100dvh - var(--ftl-sticky-height)); overflow-y: auto; overscroll-behavior: contain; background: var(--ftl-ivory); padding: 12px 32px 28px; border-bottom: 1px solid var(--ftl-line); box-shadow: 0 20px 30px #16324a0d; }
  .ftl-corporate.ftl-website .ftl-mobile-nav a { display: flex; justify-content: space-between; padding-block: 20px; border-bottom: 1px solid var(--ftl-line); font-size: 16px; }
}
@media (max-width: 1000px) {
  .ftl-corporate .ftl-learning-panel { padding: 32px; gap: 32px; }
  .ftl-corporate .ftl-learning-panel-notes { padding-left: 28px; }
  .ftl-corporate .ftl-choice-shifts, .ftl-corporate .ftl-learning-ways { gap: 16px; }
  .ftl-corporate .ftl-choice-shifts article, .ftl-corporate .ftl-learning-ways a { padding: 24px; }
  .ftl-corporate .ftl-choice-shifts h3, .ftl-corporate .ftl-learning-ways h3 { font-size: 20px; }
  .ftl-corporate .ftl-learning-tabs button { gap: 8px; font-size: 14px; }
  .ftl-corporate .ftl-education-why { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 900px) {
  .ftl-corporate { --ftl-sticky-height: 84px; }
  .ftl-corporate .ftl-learning-teaser, .ftl-corporate .ftl-life-moments { grid-template-columns: 1fr; gap: 36px; padding-block: 64px; }
  .ftl-corporate .ftl-learning-teaser figure img, .ftl-corporate .ftl-life-moments figure img { aspect-ratio: 1.65; }
  .ftl-corporate .ftl-life-moments { padding-top: 0; }
  .ftl-corporate .ftl-life-moments-copy { order: -1; }
  .ftl-corporate .ftl-learning-ways { grid-template-columns: 1fr; }
  .ftl-corporate .ftl-learning-ways a { padding: 28px; }
  .ftl-corporate .ftl-learning-ways a > svg:first-child { margin-bottom: 20px; }
  .ftl-corporate .ftl-learning-ways a > svg:last-child { position: absolute; right: 28px; top: 8px; }
  .ftl-corporate .ftl-learning-panel { grid-template-columns: 1fr; }
  .ftl-corporate .ftl-learning-panel-notes { padding-left: 0; border-left: 0; border-top: 1px solid var(--ftl-line); padding-top: 28px; }
  .ftl-corporate .ftl-learning-panel-icon { float: right; margin-left: 16px; }
  .ftl-corporate .ftl-learning-panel-notes .ftl-mini-action { clear: both; }
  .ftl-corporate .ftl-learning-cycle { gap: 28px; }
  .ftl-corporate .ftl-learning-cycle h3 { font-size: 20px; }
  .ftl-corporate .ftl-article-cover.is-large figcaption { padding: 28px; }
}
@media (max-width: 600px) {
  .ftl-corporate { --ftl-sticky-height: 80px; }
  .ftl-corporate.ftl-website .ftl-header { gap: 16px; }
  .ftl-corporate .ftl-education-hero-bottom { flex-direction: column; align-items: start; gap: 24px; padding-bottom: 32px; }
  .ftl-corporate .ftl-education-hero-bottom > p { font-size: 15px; }
  .ftl-corporate .ftl-education-photo img { height: 280px; object-position: 60% center; }
  .ftl-corporate .ftl-education-photo figcaption { padding: 48px 24px 20px; flex-direction: column; align-items: start; gap: 10px; }
  .ftl-corporate .ftl-choice-shifts { grid-template-columns: 1fr; }
  .ftl-corporate .ftl-choice-shifts article { display: grid; grid-template-columns: 48px 1fr; gap: 4px 16px; padding: 24px; }
  .ftl-corporate .ftl-choice-icon { width: 44px; height: 44px; margin-bottom: 0; grid-row: 1 / 4; }
  .ftl-corporate .ftl-choice-shifts article p, .ftl-corporate .ftl-choice-shifts h3, .ftl-corporate .ftl-shift-arrow { grid-column: 2; }
  .ftl-corporate .ftl-shift-arrow { margin-block: 3px; }
  .ftl-corporate .ftl-education-principle { font-size: 15px; }
  .ftl-corporate .ftl-learning-tabs { grid-template-columns: 1fr 1fr; }
  .ftl-corporate .ftl-learning-tabs button { justify-content: start; font-size: 14px; min-height: 64px; gap: 10px; }
  .ftl-corporate .ftl-learning-tabs button svg { width: 20px; height: 20px; }
  .ftl-corporate .ftl-learning-panel { padding: 28px 24px; }
  .ftl-corporate .ftl-learning-panel h3 { margin-top: 18px; }
  .ftl-corporate .ftl-learning-panel-icon { float: none; padding: 14px; margin: 0 0 20px; }
  .ftl-corporate .ftl-learning-panel-icon .ftl-visual-icon { width: 28px; height: 28px; }
  .ftl-corporate .ftl-learning-cycle { grid-template-columns: 1fr; gap: 32px; }
  .ftl-corporate .ftl-learning-cycle li { padding-left: 94px; min-height: 132px; }
  .ftl-corporate .ftl-learning-cycle li > span { position: absolute; top: 0; left: 0; width: 64px; height: 64px; }
  .ftl-corporate .ftl-learning-cycle li:not(:last-child)::after { top: 80px; bottom: -16px; left: 32px; width: 1px; height: auto; }
  .ftl-corporate .ftl-learning-cycle h3 { margin-top: 10px; }
  .ftl-corporate .ftl-learning-cycle p { font-size: 15px; margin-top: 12px; }
  .ftl-corporate .ftl-education-promise { grid-template-columns: 1fr; gap: 24px; }
  .ftl-corporate .ftl-education-promise > svg { width: 48px; height: 48px; }
  .ftl-corporate .ftl-life-decisions { gap: 10px; }
  .ftl-corporate .ftl-life-decisions span { font-size: 12px; line-height: 1.7; }
  .ftl-corporate .ftl-moment-grid { gap: 24px 12px; }
  .ftl-corporate .ftl-moment-grid small { font-size: 12px; }
  .ftl-corporate .ftl-article-card > :not(.ftl-article-cover) { margin-inline: 22px; }
  .ftl-corporate .ftl-article-cover figcaption { padding: 22px; }
  .ftl-corporate .ftl-article-cover.is-large { height: 240px; }
  .ftl-corporate .ftl-article-cover.is-large figcaption { grid-template-columns: auto 1fr; gap: 12px; padding: 22px; }
  .ftl-corporate .ftl-article-cover.is-large figcaption small { grid-column: 2; text-align: left; }
  .ftl-corporate .ftl-reading-cover { margin-bottom: 36px; }
  .ftl-corporate .ftl-reading-highlights { padding: 24px; }
  .ftl-corporate .ftl-reading-highlights h2 { font-size: 22px; }
  .ftl-corporate .ftl-rich-text h2:has(.ftl-reading-step) { gap: 12px; }
  .ftl-corporate .ftl-reading-step { width: 30px; height: 30px; font-size: 11px; margin-top: 3px; }
  .ftl-corporate .ftl-reading-progress > span { right: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ftl-corporate .ftl-reveal-in { animation: none; }
  .ftl-corporate *, .ftl-corporate *::before, .ftl-corporate *::after { transition: none !important; scroll-behavior: auto !important; }
}

.ftl-corporate .ftl-home-email { margin-top: 20px; color: #c3cfd8; font-size: 14px; line-height: 1.8; }
.ftl-corporate .ftl-home-email > span { display: inline-block; overflow-wrap: anywhere; max-width: 100%; }
.ftl-corporate .ftl-mail-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: start; padding-bottom: 100px; }
.ftl-corporate .ftl-mail-card { padding: 44px; border-radius: 12px; background: #e2ebed; border: 1px solid #cad7db; }
.ftl-corporate .ftl-mail-symbol { display: inline-flex; width: 68px; height: 68px; align-items: center; justify-content: center; border: 1px solid #b5c6ce; border-radius: 50%; margin-bottom: 32px; }
.ftl-corporate .ftl-mail-symbol svg { width: 30px; height: 30px; }
.ftl-corporate .ftl-mail-card h2 { font-size: clamp(23px, 2.4vw, 32px); font-weight: 500; line-height: 1.65; margin-top: 22px; }
.ftl-corporate .ftl-mail-card > p:not(.ftl-eyebrow) { font-size: 16px; line-height: 2; color: var(--ftl-muted); margin-top: 24px; }
.ftl-corporate .ftl-mail-address { display: block; font-family: "FTL Montserrat", sans-serif; font-size: clamp(17px, 1.9vw, 25px); margin-block: 32px 24px; text-decoration: underline; text-underline-offset: 6px; overflow-wrap: anywhere; }
.ftl-corporate .ftl-mail-card > small { display: block; font-size: 13px; color: var(--ftl-muted); line-height: 1.9; margin-top: 24px; }
.ftl-corporate .ftl-mail-topics-title { font-size: 27px; font-weight: 500; margin-block: 22px 26px; }
.ftl-corporate .ftl-mail-topics > a { display: flex; align-items: center; gap: 20px; padding-block: 22px; border-top: 1px solid var(--ftl-line); }
.ftl-corporate .ftl-mail-topics > a > svg:first-child { color: var(--ftl-gold); }
.ftl-corporate .ftl-mail-topics > a > svg:last-child { margin-left: auto; }
.ftl-corporate .ftl-mail-topics h3 { font-size: 18px; font-weight: 500; }
.ftl-corporate .ftl-mail-topics p { font-size: 14px; color: var(--ftl-muted); margin-top: 6px; }
.ftl-corporate .ftl-mail-guide { margin-top: 24px; padding-top: 26px; border-top: 1px solid var(--ftl-line); }
.ftl-corporate .ftl-mail-guide h3 { font-size: 18px; font-weight: 500; }
.ftl-corporate .ftl-mail-guide ol { padding-left: 22px; margin-block: 20px; font-size: 15px; line-height: 2; }
.ftl-corporate .ftl-mail-guide p { font-size: 14px; line-height: 1.9; color: var(--ftl-muted); }
.ftl-corporate .ftl-mail-guide .ftl-text-link { margin-top: 18px; }
@media (max-width: 900px) { .ftl-corporate .ftl-mail-layout { grid-template-columns: 1fr; gap: 44px; } }
@media (max-width: 600px) { .ftl-corporate .ftl-mail-layout { padding-bottom: 60px; } .ftl-corporate .ftl-mail-card { padding: 28px 24px; } .ftl-corporate .ftl-mail-topics > a { gap: 14px; } }
/* Evidence-led editorial: the gold is an accent, navy carries the information. */
.ftl-corporate .ftl-evidence-lead { margin-top: 24px; color: var(--ftl-muted); line-height: 1.95; }
.ftl-corporate .ftl-learning-gap { display: grid; grid-template-columns: .8fr 1.2fr; border: 1px solid #dce3e5; border-radius: 14px; overflow: hidden; }
.ftl-corporate .ftl-gap-number { background: #f7f1e5; padding: 44px; display: flex; flex-direction: column; justify-content: center; }
.ftl-corporate .ftl-gap-number > span { font-size: 14px; font-weight: 700; }
.ftl-corporate .ftl-gap-number > strong { font-family: "FTL Montserrat", sans-serif; font-size: clamp(76px, 9vw, 124px); line-height: 1.25; color: #8a6820; font-weight: 500; letter-spacing: -.065em; }
.ftl-corporate .ftl-gap-number small { font-size: .3em; margin-left: 8px; letter-spacing: 0; }
.ftl-corporate .ftl-gap-number p { font-size: 14px; line-height: 1.9; color: var(--ftl-muted); }
.ftl-corporate .ftl-experience-chart { padding: 40px; margin: 0; background: white; }
.ftl-corporate .ftl-experience-chart figcaption, .ftl-corporate .ftl-country-chart figcaption { font-size: 16px; font-weight: 700; line-height: 1.7; }
.ftl-corporate .ftl-stacked-bar { display: flex; height: 40px; border-radius: 6px; overflow: hidden; margin: 24px 0; }
.ftl-corporate .ftl-stacked-bar span { min-width: 0; }
.ftl-corporate .ftl-experience-chart ul { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 12px; }
.ftl-corporate .ftl-experience-chart li { display: grid; grid-template-columns: 10px 1fr auto; gap: 12px; align-items: center; font-size: 14px; }
.ftl-corporate .ftl-experience-chart i { width: 10px; height: 10px; border-radius: 50%; }
.ftl-corporate .ftl-experience-chart li strong { font-family: "FTL Montserrat", sans-serif; font-size: 19px; }
.ftl-corporate .ftl-experience-chart li small { margin-left: 4px; font-size: 12px; }
.ftl-corporate .ftl-chart-note, .ftl-corporate .ftl-chart-source { font-size: 12px; line-height: 1.85; color: #566572; }
.ftl-corporate .ftl-chart-source { margin-top: 14px; }
.ftl-corporate .ftl-chart-source a { text-decoration: underline; text-underline-offset: 3px; }
.ftl-corporate .ftl-knowledge-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 44px; }
.ftl-corporate .ftl-knowledge-pair article { display: grid; grid-template-columns: 36px 1fr; gap: 20px; padding: 32px; background: #f2f6f7; border-radius: 12px; }
.ftl-corporate .ftl-knowledge-pair article > svg { color: #64889d; width: 32px; height: 32px; }
.ftl-corporate .ftl-knowledge-pair article span { font-size: 14px; }
.ftl-corporate .ftl-knowledge-pair article strong { display: block; font-family: "FTL Montserrat", sans-serif; font-size: 52px; line-height: 1.5; font-weight: 500; letter-spacing: -.04em; }
.ftl-corporate .ftl-knowledge-pair article small { font-size: 20px; margin-left: 4px; }
.ftl-corporate .ftl-knowledge-pair h3 { font-size: 18px; margin: 6px 0 12px; }
.ftl-corporate .ftl-knowledge-pair p { color: var(--ftl-muted); font-size: 14px; line-height: 1.95; }
.ftl-corporate .ftl-compound-example { margin-top: 32px; border-top: 1px solid #d7dfe2; border-bottom: 1px solid #d7dfe2; }
.ftl-corporate .ftl-compound-example summary { display: flex; justify-content: space-between; gap: 16px; padding: 24px 0; cursor: pointer; font-weight: 700; font-size: 16px; }
.ftl-corporate .ftl-compound-example summary::-webkit-details-marker { display: none; }
.ftl-corporate .ftl-compound-example summary > span:first-child { display: flex; align-items: center; gap: 16px; min-width: 0; font: inherit; }
.ftl-corporate .ftl-compound-example[open] summary > span:last-child { transform: rotate(45deg); }
.ftl-corporate .ftl-compound-example > div { padding: 4px 0 28px; }
.ftl-corporate .ftl-compound-example p { font-size: 14px; line-height: 1.95; max-width: 880px; }
.ftl-corporate .ftl-compound-example ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 0; margin: 24px 0; list-style: none; }
.ftl-corporate .ftl-compound-example li { display: grid; gap: 8px; padding: 24px; background: #f7f1e5; border-radius: 8px; position: relative; }
.ftl-corporate .ftl-compound-example li + li::before { content: "→"; position: absolute; left: -20px; top: 45%; color: #a6802c; }
.ftl-corporate .ftl-compound-example li small { font-family: "FTL Montserrat", sans-serif; font-size: 12px; }
.ftl-corporate .ftl-compound-example li strong { font-size: 24px; }
.ftl-corporate .ftl-compound-example li span { font-size: 14px; }
.ftl-corporate .ftl-compound-example .ftl-text-link { margin-top: 20px; }
.ftl-corporate .ftl-inflation-layout, .ftl-corporate .ftl-money-allocation, .ftl-corporate .ftl-education-timeline { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.ftl-corporate .ftl-inflation-layout h2, .ftl-corporate .ftl-money-allocation h2, .ftl-corporate .ftl-education-timeline h2 { font-size: clamp(27px, 3vw, 39px); line-height: 1.65; margin: 22px 0; letter-spacing: -.035em; }
.ftl-corporate .ftl-inflation-layout > div > p:not(.ftl-eyebrow):not(.ftl-chart-source), .ftl-corporate .ftl-money-allocation > div > p:not(.ftl-eyebrow), .ftl-corporate .ftl-education-timeline > div > p:not(.ftl-eyebrow) { color: var(--ftl-muted); font-size: 15px; line-height: 2; margin-top: 18px; }
.ftl-corporate .ftl-cpi-fact { display: flex; gap: 16px; padding-top: 28px; margin-top: 28px; border-top: 1px solid #cedae0; }
.ftl-corporate .ftl-cpi-fact > svg { flex-shrink: 0; color: #517991; }
.ftl-corporate .ftl-cpi-fact span { font-size: 12px; }
.ftl-corporate .ftl-cpi-fact strong { display: block; font-family: "FTL Montserrat", "FTL Noto Sans", sans-serif; font-size: 32px; margin: 8px 0; font-weight: 500; }
.ftl-corporate .ftl-cpi-fact small { font-size: 19px; }
.ftl-corporate .ftl-cpi-fact p { font-size: 12px; line-height: 1.85; color: var(--ftl-muted); }
.ftl-corporate .ftl-inflation-lab { background: white; border: 1px solid #dce5e8; border-radius: 14px; padding: 32px; min-width: 0; }
.ftl-corporate .ftl-inflation-lab > h3 { margin: 12px 0 24px; font-size: 20px; line-height: 1.6; }
.ftl-corporate .ftl-inflation-controls { display: grid; gap: 20px; }
.ftl-corporate .ftl-inflation-controls label { display: flex; justify-content: space-between; gap: 16px; font-size: 14px; align-items: center; }
.ftl-corporate .ftl-inflation-controls output { color: #8a6820; font-family: "FTL Montserrat", sans-serif; font-size: 22px; white-space: nowrap; }
.ftl-corporate .ftl-inflation-controls input { width: 100%; accent-color: #a6802c; height: 28px; cursor: pointer; margin: 4px 0 0; }
.ftl-corporate .ftl-inflation-controls input:focus-visible { outline: 2px solid #16324a; outline-offset: 4px; }
.ftl-corporate .ftl-power-result { display: grid; gap: 7px; margin: 24px 0; padding: 24px; background: #16324a; color: white; border-radius: 8px; }
.ftl-corporate .ftl-power-result > span { font-size: 14px; }
.ftl-corporate .ftl-power-result strong { font-family: "FTL Montserrat", "FTL Noto Sans", sans-serif; font-size: 42px; font-weight: 500; }
.ftl-corporate .ftl-power-result strong small { font-size: 16px; margin-left: 4px; }
.ftl-corporate .ftl-power-result p { font-size: 12px; color: #d0dfe6; line-height: 1.8; }
.ftl-corporate .ftl-power-bars { display: grid; gap: 14px; margin: 24px 0; }
.ftl-corporate .ftl-power-bars > div > span { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 7px; }
.ftl-corporate .ftl-power-bars > div > div { background: #e8eef0; height: 16px; border-radius: 3px; overflow: hidden; }
.ftl-corporate .ftl-power-bars i { display: block; height: 100%; background: #8d9da6; transition: width .2s ease; }
.ftl-corporate .ftl-power-bars [data-power-bar] { background: #a6802c; }
.ftl-corporate .ftl-money-purposes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ftl-corporate .ftl-money-purposes span { display: flex; gap: 10px; align-items: center; padding: 13px 16px; border-radius: 6px; background: #f4f0e7; font-size: 14px; }
.ftl-corporate .ftl-money-purposes svg { width: 20px; height: 20px; color: #8a6820; }
.ftl-corporate .ftl-country-chart { background: #f6f8f8; padding: 32px; border-radius: 12px; margin: 0; }
.ftl-corporate .ftl-country-chart > p:first-of-type { margin: 10px 0 24px; font-size: 12px; color: var(--ftl-muted); line-height: 1.8; }
.ftl-corporate .ftl-country-row { margin-bottom: 22px; }
.ftl-corporate .ftl-country-row > div:first-child { display: flex; justify-content: space-between; align-items: center; font-size: 14px; margin-bottom: 9px; }
.ftl-corporate .ftl-country-row strong { font-family: "FTL Montserrat", sans-serif; font-size: 20px; }
.ftl-corporate .ftl-country-row small { font-size: 12px; margin-left: 4px; }
.ftl-corporate .ftl-stat-bar { height: 18px; background: #e1e8eb; border-radius: 3px; overflow: hidden; }
.ftl-corporate .ftl-stat-bar-fill { display: block; height: 100%; background: #51758a; transform-origin: left center; }
.ftl-corporate .ftl-stat-bar-fill.is-gold { background: #a6802c; }
.ftl-corporate .ftl-chart-scale { display: flex; justify-content: space-between; font-size: 12px; color: #60707a; padding-bottom: 18px; border-bottom: 1px solid #d7e0e4; }
.ftl-corporate .ftl-country-chart > .ftl-chart-note { margin-top: 12px; }
.ftl-corporate .ftl-milestone-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; margin: 24px 0; }
.ftl-corporate .ftl-milestone-strip::before { content: ""; height: 1px; background: #d5c8ad; position: absolute; top: 32px; left: 10%; right: 10%; }
.ftl-corporate .ftl-milestone-strip article { text-align: center; position: relative; padding: 0 12px; }
.ftl-corporate .ftl-milestone-node { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%; border: 1px solid #d5c8ad; background: #fbf6ee; color: #8a6820; }
.ftl-corporate .ftl-milestone-strip small { font-family: "FTL Montserrat", sans-serif; font-size: 12px; color: #8a6820; }
.ftl-corporate .ftl-milestone-strip h3 { font-size: 22px; margin: 10px 0 14px; }
.ftl-corporate .ftl-milestone-strip p { white-space: pre-line; color: var(--ftl-muted); font-size: 14px; line-height: 1.9; }
.ftl-corporate .ftl-education-timeline ol { list-style: none; padding: 0; margin: 0; }
.ftl-corporate .ftl-education-timeline li { display: grid; grid-template-columns: 84px 1fr; gap: 24px; padding: 0 0 34px 24px; position: relative; border-left: 1px solid #d8c597; }
.ftl-corporate .ftl-education-timeline li:last-child { padding-bottom: 0; }
.ftl-corporate .ftl-education-timeline li::before { content: ""; position: absolute; width: 9px; height: 9px; background: #a6802c; border: 4px solid #f7f1e5; border-radius: 50%; left: -9px; top: 0; }
.ftl-corporate .ftl-education-timeline li > span { font-family: "FTL Montserrat", sans-serif; font-size: 14px; line-height: 1.8; color: #8a6820; }
.ftl-corporate .ftl-education-timeline h3 { font-size: 16px; line-height: 1.7; margin-bottom: 10px; }
.ftl-corporate .ftl-education-timeline li p { font-size: 14px; line-height: 1.9; color: var(--ftl-muted); }
.ftl-corporate .ftl-education-timeline li a { display: inline-block; font-size: 12px; margin-top: 12px; text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) { .ftl-corporate .ftl-reveal-in .ftl-stat-bar-fill { animation: ftl-chart-grow .7s ease-out both; } @keyframes ftl-chart-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } } }
@media (prefers-reduced-motion: reduce) { .ftl-corporate .ftl-power-bars i { transition: none; } }
@media (max-width: 1000px) { .ftl-corporate .ftl-learning-gap { grid-template-columns: .85fr 1.15fr; } .ftl-corporate .ftl-gap-number, .ftl-corporate .ftl-experience-chart { padding: 28px; } .ftl-corporate .ftl-inflation-layout, .ftl-corporate .ftl-money-allocation, .ftl-corporate .ftl-education-timeline { gap: 32px; } .ftl-corporate .ftl-knowledge-pair article { padding: 24px; gap: 12px; } }
@media (max-width: 760px) { .ftl-corporate .ftl-learning-gap, .ftl-corporate .ftl-inflation-layout, .ftl-corporate .ftl-money-allocation, .ftl-corporate .ftl-education-timeline { grid-template-columns: 1fr; } .ftl-corporate .ftl-gap-number { padding: 32px; } .ftl-corporate .ftl-knowledge-pair { gap: 14px; } .ftl-corporate .ftl-knowledge-pair article { display: block; padding: 22px; } .ftl-corporate .ftl-knowledge-pair article > svg { margin-bottom: 12px; } .ftl-corporate .ftl-knowledge-pair h3 { font-size: 16px; } .ftl-corporate .ftl-milestone-strip { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; } .ftl-corporate .ftl-milestone-strip::before { display: none; } .ftl-corporate .ftl-inflation-lab, .ftl-corporate .ftl-country-chart { padding: 26px; } }
@media (max-width: 480px) { .ftl-corporate .ftl-knowledge-pair { grid-template-columns: 1fr; } .ftl-corporate .ftl-knowledge-pair article { display: grid; } .ftl-corporate .ftl-compound-example ol { gap: 14px; grid-template-columns: 1fr; } .ftl-corporate .ftl-compound-example li { grid-template-columns: 1fr 1fr; padding: 18px; align-items: center; } .ftl-corporate .ftl-compound-example li span { grid-column: 1 / -1; } .ftl-corporate .ftl-compound-example li + li::before { content: "↓"; top: -17px; left: 50%; } .ftl-corporate .ftl-experience-chart { padding: 24px; } .ftl-corporate .ftl-experience-chart li { gap: 8px; font-size: 12px; } .ftl-corporate .ftl-education-timeline li { grid-template-columns: 1fr; gap: 6px; } }
/* Photographic journal, with quiet wayfinding inside each article. */
.ftl-corporate .ftl-article-cover figcaption { padding: 18px 20px; gap: 8px 10px; background: linear-gradient(transparent 48%, #132c3ecc); }
.ftl-corporate .ftl-article-cover .ftl-cover-icon { width: 32px; height: 32px; background: #fbf6eef2; color: #16324a; border: none; }
.ftl-corporate .ftl-article-cover .ftl-cover-icon svg { width: 18px; height: 18px; }
.ftl-corporate .ftl-article-cover .ftl-cover-title { font-family: "FTL Noto Sans", sans-serif; font-size: 14px; letter-spacing: .02em; font-weight: 500; }
.ftl-corporate .ftl-article-cover figcaption small { font-size: 12px; }
.ftl-corporate .ftl-article-cover:not(.is-large) figcaption small { display: none; }
.ftl-corporate .ftl-article-cover.is-large { height: clamp(280px, 36vw, 500px); }
.ftl-corporate .ftl-article-cover.is-large figcaption { padding: 24px 32px; gap: 12px; }
.ftl-corporate .ftl-article-cover.is-large .ftl-cover-title { font-size: 16px; letter-spacing: .04em; }
.ftl-corporate .ftl-reading-pause { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0; margin: 48px 0; border: 1px solid #dce3e5; border-radius: 10px; overflow: hidden; background: #f5f7f6; }
.ftl-corporate .ftl-reading-pause figure { position: relative; margin: 0; min-height: 250px; }
.ftl-corporate .ftl-reading-pause img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.ftl-corporate .ftl-reading-pause figcaption { position: absolute; inset: auto 0 0; color: white; background: linear-gradient(transparent, #16324ad9); padding: 30px 16px 14px; font-size: 12px; line-height: 1.8; }
.ftl-corporate .ftl-reading-pause > div { display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 28px; }
.ftl-corporate .ftl-reading-pause .ftl-eyebrow { font-size: 12px; letter-spacing: .04em; }
.ftl-corporate .ftl-reading-pause .ftl-eyebrow svg { width: 20px; height: 20px; }
.ftl-corporate .ftl-reading-pause a { display: flex; gap: 16px; align-items: start; font-size: 16px; font-weight: 600; line-height: 1.8; text-decoration: underline; text-underline-offset: 5px; }
.ftl-corporate .ftl-reading-pause a svg { width: 20px; height: 24px; margin-top: 3px; }
.ftl-corporate .ftl-rich-text .point { border-left: 3px solid #7296a9; background: #edf3f5; }
.ftl-corporate .ftl-rich-text .steps li { background: #f6f3ec; border: 1px solid #ded7c7; border-radius: 8px; margin-bottom: 14px; padding-left: 70px; }
.ftl-corporate .ftl-rich-text .steps li::before { left: 18px; color: #8a6820; border: 1px solid #cebd96; border-radius: 50%; width: 32px; height: 32px; display: grid; place-items: center; font-size: 12px; top: 22px; }
.ftl-corporate .ftl-rich-text .vs .v { border: 1px solid #d6e0e4; border-top: 3px solid #7392a3; background: #eff4f6; border-radius: 8px; }
.ftl-corporate .ftl-rich-text .vs .v.gold { background: #f8f2e5; border-color: #e1d5b9; border-top-color: #a6802c; }
.ftl-corporate .ftl-rich-text .barlist { border: 1px solid #d6e0e4; background: #f1f5f6; }
@media (max-width: 760px) { .ftl-corporate .ftl-reading-pause { grid-template-columns: 1fr; } .ftl-corporate .ftl-reading-pause figure { min-height: 0; } .ftl-corporate .ftl-reading-pause img { position: static; aspect-ratio: 1.7; height: auto; } }
@media (max-width: 600px) { .ftl-corporate .ftl-article-cover.is-large { height: 280px; } .ftl-corporate .ftl-article-cover.is-large figcaption { padding: 20px; } .ftl-corporate .ftl-reading-pause > div { padding: 24px; } }
/* Ninety-five glossary entries share a readable system, not a generic diagram. */
.ftl-corporate .ftl-glossary-grid > a { align-items: start; min-height: 150px; }
.ftl-corporate .ftl-glossary-grid > a > svg:first-child { color: #8a6820; margin-top: 6px; }
.ftl-corporate .ftl-glossary-grid p { font-size: 12px; line-height: 1.8; color: var(--ftl-muted); margin-top: 8px; }
.ftl-corporate .ftl-glossary-grid > a > svg:last-child { align-self: center; }
.ftl-corporate .ftl-glossary-diagram { margin: 30px 0 44px; padding: 32px; border: 1px solid #d6e1e5; background: #f2f6f7; border-radius: 14px; }
.ftl-corporate .ftl-glossary-diagram figcaption { display: flex; gap: 18px; align-items: center; margin-bottom: 28px; }
.ftl-corporate .ftl-diagram-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #16324a; color: #f2e4c3; flex-shrink: 0; }
.ftl-corporate .ftl-diagram-icon svg { width: 26px; height: 26px; }
.ftl-corporate .ftl-glossary-diagram h2 { font-size: clamp(20px, 2.5vw, 26px); font-weight: 500; line-height: 1.65; margin: 8px 0 0; }
.ftl-corporate .ftl-glossary-diagram .ftl-eyebrow { font-size: 12px; }
.ftl-corporate .ftl-concept-nodes { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 0; margin: 0; }
.ftl-corporate .ftl-concept-nodes li { position: relative; background: #fffdf8; border: 1px solid #dbe3e4; padding: 22px 18px; border-radius: 8px; }
.ftl-corporate .ftl-node-number { font-family: "FTL Montserrat", sans-serif; font-size: 12px; color: #8a6820; display: inline-block; margin-bottom: 16px; }
.ftl-corporate .ftl-concept-nodes h3 { font-size: 16px; line-height: 1.7; font-weight: 600; margin: 0 0 12px; }
.ftl-corporate .ftl-concept-nodes p { font-size: 14px; color: var(--ftl-muted); line-height: 1.9; }
.ftl-corporate .ftl-node-arrow { position: absolute; display: grid; place-items: center; width: 22px; height: 32px; top: calc(50% - 16px); right: -23px; color: #92752f; }
.ftl-corporate .ftl-node-arrow svg { width: 18px; height: 18px; }
.ftl-corporate .ftl-concept-nodes li:last-child .ftl-node-arrow { display: none; }
.ftl-corporate .ftl-glossary-diagram.is-compare .ftl-concept-nodes li { border-top: 3px solid #748f9f; }
.ftl-corporate .ftl-glossary-diagram.is-compare .ftl-concept-nodes li:nth-child(2) { border-top-color: #a6802c; }
.ftl-corporate .ftl-glossary-diagram.is-layers .ftl-concept-nodes { grid-template-columns: 1fr; gap: 12px; }
.ftl-corporate .ftl-glossary-diagram.is-layers .ftl-concept-nodes li { display: grid; grid-template-columns: 28px 170px 1fr; gap: 16px; align-items: start; border-left: 3px solid #7f9bac; }
.ftl-corporate .ftl-glossary-diagram.is-layers .ftl-concept-nodes li:nth-child(2) { border-left-color: #a6802c; }
.ftl-corporate .ftl-glossary-diagram.is-layers .ftl-node-number, .ftl-corporate .ftl-glossary-diagram.is-layers h3 { margin-bottom: 0; }
.ftl-corporate .ftl-cycle-return { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 14px 12px 0; padding: 12px; border: 1px solid #c8d5da; border-top: 0; border-radius: 0 0 16px 16px; font-size: 12px; color: #527387; }
.ftl-corporate .ftl-cycle-return svg { width: 18px; height: 18px; }
.ftl-corporate .ftl-diagram-takeaway { display: flex; gap: 12px; font-size: 14px; line-height: 1.95; border-top: 1px solid #cedbe0; padding-top: 24px; margin-top: 26px; }
.ftl-corporate .ftl-diagram-takeaway > svg { color: #8a6820; width: 20px; height: 24px; margin-top: 2px; }
.ftl-corporate .ftl-glossary-diagram > .ftl-chart-note { margin-top: 16px; }
.ftl-corporate .ftl-page-hero > .ftl-eyebrow > svg { color: #8a6820; width: 20px; height: 20px; }
@media (max-width: 760px) { .ftl-corporate .ftl-glossary-diagram { padding: 26px; } .ftl-corporate .ftl-concept-nodes { grid-template-columns: 1fr; gap: 22px; } .ftl-corporate .ftl-concept-nodes li { display: grid; grid-template-columns: 28px 1fr; gap: 4px 12px; padding: 22px; } .ftl-corporate .ftl-node-number { grid-row: 1 / 3; margin: 4px 0 0; } .ftl-corporate .ftl-concept-nodes h3 { margin: 0 0 6px; } .ftl-corporate .ftl-concept-nodes p { grid-column: 2; } .ftl-corporate .ftl-node-arrow { top: auto; bottom: -27px; left: calc(50% - 11px); right: auto; transform: rotate(90deg); } .ftl-corporate .ftl-glossary-diagram.is-layers .ftl-concept-nodes li { grid-template-columns: 28px 1fr; gap: 4px 12px; } }
@media (max-width: 480px) { .ftl-corporate .ftl-glossary-diagram { padding: 22px 18px; margin-inline: -2px; } .ftl-corporate .ftl-glossary-diagram figcaption { align-items: start; gap: 12px; } .ftl-corporate .ftl-diagram-icon { width: 42px; height: 42px; } .ftl-corporate .ftl-diagram-icon svg { width: 22px; height: 22px; } .ftl-corporate .ftl-glossary-diagram h2 { font-size: 20px; } .ftl-corporate .ftl-concept-nodes li { padding: 20px 16px; } }

.ftl-entry-heading { padding-bottom: 32px; }
.ftl-contact-return { padding-bottom: 72px; }
.ftl-contact-return h2 { font-size: clamp(24px,3vw,32px); line-height: 1.6; font-weight: 500; }
.ftl-corporate .ftl-contact-return > p { margin-top: 20px; }
.ftl-contact-return > .ftl-solid-button { margin-top: 28px; }
.ftl-contact-return-email { margin-top: 32px; padding: 24px; border: 1px solid var(--ftl-line); border-radius: 12px; }
.ftl-contact-return-email p:first-child { font-size: 14px; color: var(--ftl-muted); }
.ftl-corporate .ftl-contact-return-email p + p { margin-top: 8px; overflow-wrap: anywhere; }
.ftl-contact-return > .ftl-text-link { margin-top: 20px; }
.ftl-entry-heading .ftl-breadcrumb { padding-bottom: 18px; }
.ftl-entry-heading h1 { font-size: clamp(28px,3vw,40px); font-weight: 500; line-height: 1.5; letter-spacing: -.035em; }
.ftl-entry-heading > p { margin-top: 12px; color: var(--ftl-muted); font-size: 1rem; }
.ftl-entry-layout { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: clamp(32px,5vw,80px); align-items: start; padding-block: 8px 96px; }
.ftl-entry-guide { padding-top: 16px; }
.ftl-entry-guide h2 { margin-block: 20px 24px; font-size: clamp(24px,2.5vw,34px); line-height: 1.6; font-weight: 500; letter-spacing: -.035em; }
.ftl-entry-guide > p:not(.ftl-eyebrow) { color: var(--ftl-muted); font-size: 1rem; }
.ftl-entry-steps { list-style: none; margin: 36px 0; padding: 0; }
.ftl-entry-steps li { display: flex; align-items: start; gap: 20px; padding-block: 22px; border-top: 1px solid var(--ftl-line); }
.ftl-entry-steps li > span { font-family: "FTL Montserrat",sans-serif; color: var(--ftl-gold); font-size: .875rem; padding-top: 3px; }
.ftl-entry-steps h3 { font-size: 1rem; font-weight: 600; }
.ftl-entry-steps p { margin-top: 6px; color: var(--ftl-muted); font-size: .875rem; }
.ftl-entry-panel { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--ftl-line); border-top: 4px solid var(--ftl-gold); border-radius: 18px; }
.ftl-entry-frame { display: block; width: 100%; min-width: 0; height: 1700px; border: 0; background: white; }
.ftl-entry-utility { display: flex; justify-content: flex-start; margin-bottom: 16px; }
.ftl-entry-open { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--ftl-line); border-radius: 6px; font-size: .875rem; line-height: 1.6; }
.ftl-entry-open:hover { background: var(--ftl-ivory); border-color: var(--ftl-gold); }
.ftl-corporate .ftl-entry-open svg { width: 18px; height: 18px; }
.ftl-entry-fallback { padding: 20px 32px; border-top: 1px solid var(--ftl-line); }
.ftl-entry-fallback p { font-size: .875rem; color: var(--ftl-muted); }
.ftl-corporate .ftl-entry-email { margin-top: 8px; font-size: 1rem; color: var(--ftl-navy); overflow-wrap: anywhere; }
@media (max-width: 900px) { .ftl-entry-panel { order: 1; } .ftl-entry-guide { order: 2; } }
@media (max-width: 900px) { .ftl-entry-layout { grid-template-columns: minmax(0,1fr); gap: 28px; } .ftl-entry-guide h2 br { display: none; } .ftl-entry-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-block: 24px; } .ftl-entry-steps li { display: block; } .ftl-entry-steps h3 { margin-top: 10px; } }
@media (max-width: 560px) { .ftl-entry-layout { padding-bottom: 56px; } .ftl-entry-panel-header { padding: 24px 18px 18px; } .ftl-entry-fallback { padding: 20px 18px; } .ftl-entry-steps { grid-template-columns: minmax(0,1fr); gap: 0; } .ftl-entry-steps li { display: flex; padding-block: 14px; } .ftl-entry-steps h3 { margin-top: 0; } }
