/* ═══════════════════════════════════════════════════════════════════════════
   SELF-HOSTED INTER — added at production integration, 2026-08-29, ruled by Sky.

   THE APPROVED PROTOTYPE LOADS NO FONT FILE. Its stack is `Inter, ui-sans-serif,
   …`, which renders as Inter only on a machine that already has Inter installed —
   which is how `approved-desktop-1440.png` was captured. Shipped unchanged, most
   visitors (Windows, Android) would have got a different typeface than the one
   approved, so NOT loading this file is what would have changed the design.

   ⚠ IT IS NOT AN EXTERNAL FONT SERVICE. The file already exists in production at
   /fonts/Inter.woff2, self-hosted since 2026-08-25 for the reason in
   public/fonts/README.md: a Google Fonts request sends a visitor's IP to Google
   before she has agreed to anything, and BEFORE_FIRST_USER.md §C2 forbids it.
   THIS PAGE STILL MAKES ZERO THIRD-PARTY REQUESTS.

   Descriptors match public/welcome.html's existing block exactly, so the two
   surfaces cannot request the same file under different rules.

   NO ITALIC FACE IS DECLARED. The only italic on this page is the hero's <em>,
   which is SERIF (Georgia) per the approved stack — not Inter. Declaring an
   unused face costs nothing over the wire, but declaring one this page's design
   never reaches would misdescribe it.

   Georgia is left exactly as the handoff specifies and is NOT self-hosted: it
   ships with macOS, iOS and Windows. On Android it falls back to a Times-like
   serif. Recorded as a known difference rather than fixed, because substituting
   a serif would be a design decision, not an implementation one.
   ═══════════════════════════════════════════════════════════════════════════ */
@font-face{
  font-family:'Inter';
  src:url('/fonts/Inter.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}

:root {
  --ef-paper: #f7f4ee;
  --ef-paper-light: #fbf9f5;
  --ef-panel: #f1ede5;
  --ef-ink: #18312b;
  --ef-body: #4b4a45;
  --ef-rule: #d9d3c9;
  --ef-brass: #9b7951;
  --ef-white: #ffffff;
  --ef-shell: 1280px;
  --ef-serif: Georgia, "Times New Roman", serif;
  --ef-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ef-landing-page { margin: 0; background: var(--ef-paper); color: var(--ef-body); font-family: var(--ef-sans); font-size: 16px; line-height: 1.58; }
.ef-landing-page *, .ef-landing-page *::before, .ef-landing-page *::after { box-sizing: border-box; }
.ef-landing-page img { display: block; max-width: 100%; }
.ef-landing-page a { color: inherit; }
.ef-landing-page h1, .ef-landing-page h2, .ef-landing-page h3, .ef-landing-page p { margin-top: 0; }
.ef-landing-page h1, .ef-landing-page h2, .ef-landing-page h3 { color: var(--ef-ink); font-family: var(--ef-serif); font-weight: 400; }
.ef-landing-shell { width: min(calc(100% - 96px), var(--ef-shell)); margin-inline: auto; }
.ef-landing-skip-link { position: fixed; top: 12px; left: 12px; z-index: 50; transform: translateY(-150%); background: var(--ef-ink); color: white; padding: 10px 14px; }
.ef-landing-skip-link:focus { transform: translateY(0); }
.ef-landing-header { height: 80px; border-bottom: 1px solid var(--ef-rule); background: var(--ef-paper); }
.ef-landing-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.ef-landing-wordmark { color: var(--ef-ink); font-family: var(--ef-serif); font-size: 18px; font-weight: 700; letter-spacing: .16em; text-decoration: none; }
.ef-landing-nav { display: flex; align-items: center; gap: 28px; }
.ef-landing-nav__link { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; font-size: 14px; }
.ef-landing-button { min-height: 50px; min-width: 132px; padding: 12px 28px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ef-ink); border-radius: 3px; font-size: 14px; font-weight: 600; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
.ef-landing-page .ef-landing-button--primary { background: #17332d; color: var(--ef-paper); }
.ef-landing-button--primary:hover { background: #0e2722; }
.ef-landing-button--secondary { background: transparent; color: var(--ef-ink); }
.ef-landing-button--secondary:hover { background: var(--ef-panel); }
.ef-landing-button--compact { min-height: 44px; min-width: 112px; padding: 10px 20px; }
.ef-landing-page a:focus-visible { outline: 3px solid var(--ef-brass); outline-offset: 4px; }

.ef-landing-hero { border-bottom: 1px solid var(--ef-rule); }
.ef-landing-hero__grid { min-height: 700px; display: grid; grid-template-columns: 45fr 55fr; }
.ef-landing-hero__copy { grid-column: 1; grid-row: 1; align-self: center; max-width: 540px; padding: 76px 54px 76px 0; }
.ef-landing-hero__media { grid-column: 2; grid-row: 1; margin-right: calc((1280px - 100vw) / 2); overflow: hidden; }
.ef-landing-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.ef-landing-eyebrow { margin-bottom: 20px; color: var(--ef-brass); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.ef-landing-hero h1 { margin-bottom: 34px; font-size: clamp(58px, 5vw, 72px); line-height: .99; letter-spacing: -.035em; }
.ef-landing-hero h1 em { font-weight: 400; }
.ef-landing-hero__copy > p:not(.ef-landing-eyebrow) { max-width: 500px; font-size: 17px; }
.ef-landing-hero__lead { margin-bottom: 22px; }
.ef-landing-actions { margin-top: 34px; display: flex; gap: 16px; }

.ef-landing-differentiators { border-bottom: 1px solid var(--ef-rule); }
.ef-landing-four-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ef-landing-differentiators article { min-height: 190px; padding: 34px 28px 30px; border-left: 1px solid var(--ef-rule); }
.ef-landing-differentiators article:first-child { border-left: 0; padding-left: 0; }
.ef-landing-differentiators article:last-child { padding-right: 0; }
.ef-landing-line-icon { float: left; margin: -2px 16px 50px 0; color: var(--ef-brass); font-family: var(--ef-serif); font-size: 32px; line-height: 1; }
.ef-landing-differentiators h2 { margin-bottom: 8px; font-family: var(--ef-sans); font-size: 14px; font-weight: 700; }
.ef-landing-differentiators p { margin-bottom: 0; font-size: 12px; line-height: 1.55; }

.ef-landing-section { padding: 112px 0; border-bottom: 1px solid var(--ef-rule); }
.ef-landing-section-title { margin-bottom: 58px; font-size: 38px; line-height: 1.1; }
.ef-landing-section-title::after { content: ""; display: block; width: 44px; margin-top: 18px; border-bottom: 1px solid var(--ef-brass); }
.ef-landing-three-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.ef-landing-steps article { position: relative; padding-right: 66px; }
.ef-landing-steps article:not(:last-child)::after { content: "→"; position: absolute; top: 52px; right: 22px; color: var(--ef-ink); font-size: 24px; }
.ef-landing-step-number { margin-bottom: 8px; color: var(--ef-brass); font-family: var(--ef-serif); font-size: 30px; line-height: 1; }
.ef-landing-steps h3, .ef-landing-difference h3, .ef-landing-decisions h3 { margin-bottom: 14px; font-size: 24px; line-height: 1.18; }
.ef-landing-steps p:last-child { max-width: 300px; margin-bottom: 0; }

.ef-landing-style-key { background: var(--ef-paper-light); }
.ef-landing-style-key__grid { display: grid; grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); align-items: center; gap: 70px; }
.ef-landing-style-key__copy h2 { margin-bottom: 28px; font-size: 43px; line-height: 1.08; letter-spacing: -.02em; }
.ef-landing-style-key__copy .ef-landing-button { margin-top: 18px; }
.ef-landing-style-card { min-height: 430px; display: grid; grid-template-columns: 58% 42%; overflow: hidden; border: 1px solid var(--ef-rule); border-radius: 3px; background: #f8f5ef; box-shadow: 0 8px 24px rgba(24, 49, 43, .08); }
.ef-landing-style-card__content { padding: 46px 42px; }
.ef-landing-style-card h3 { margin-bottom: 4px; font-size: 36px; line-height: 1.1; }
.ef-landing-style-card__tagline { font-family: var(--ef-serif); font-size: 17px; }
.ef-landing-style-card__label { margin: 24px 0 10px; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.ef-landing-swatches { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.ef-landing-swatches span { height: 34px; border: 1px solid rgba(24, 49, 43, .12); }
.swatch-1 { background:#ede8dd }.swatch-2 { background:#b7a695 }.swatch-3 { background:#62624e }.swatch-4 { background:#172b30 }.swatch-5 { background:#542534 }.swatch-6 { background:#81391f }
.ef-landing-style-card ul { margin: 0; padding: 0; list-style: none; font-size: 13px; }
.ef-landing-style-card li { position: relative; margin-top: 8px; padding-left: 20px; }
.ef-landing-style-card li::before { content: "✓"; position: absolute; left: 0; color: var(--ef-brass); }
.ef-landing-style-card img { width: 100%; height: 100%; object-fit: cover; }

.ef-landing-difference__grid article { padding: 0 28px; border-left: 1px solid var(--ef-rule); }
.ef-landing-difference__grid article:first-child { padding-left: 0; border-left: 0; }
.ef-landing-difference__grid article:last-child { padding-right: 0; }
.ef-landing-difference__grid p:not(.ef-landing-step-number) { font-size: 14px; }

.ef-landing-decisions { background: var(--ef-panel); }
.ef-landing-decisions .ef-landing-shell { display: grid; grid-template-columns: minmax(0, 36fr) minmax(0, 64fr); gap: 70px; }
.ef-landing-decisions__intro h2 { margin-bottom: 22px; font-size: 43px; line-height: 1.08; }
.ef-landing-decisions__rows article { display: grid; grid-template-columns: 92px 1fr 1.5fr; gap: 26px; align-items: baseline; padding: 28px 0; border-top: 1px solid var(--ef-rule); }
.ef-landing-decisions__rows article:last-child { border-bottom: 1px solid var(--ef-rule); }
.ef-landing-decision-label { color: var(--ef-brass); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.ef-landing-decisions h3, .ef-landing-decisions p { margin-bottom: 0; }

.ef-landing-honesty__panel { display: grid; grid-template-columns: 38% 62%; min-height: 440px; overflow: hidden; border: 1px solid var(--ef-rule); border-radius: 3px; background: var(--ef-paper-light); }
.ef-landing-honesty__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.ef-landing-honesty__content { padding: 50px 48px; }
.ef-landing-honesty__content .ef-landing-section-title { margin-bottom: 42px; }
.ef-landing-honesty__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ef-landing-honesty__grid article { padding: 0 20px; border-left: 1px solid var(--ef-rule); }
.ef-landing-honesty__grid article:first-child { padding-left: 0; border-left: 0; }
.ef-landing-honesty__grid article:last-child { padding-right: 0; }
.ef-landing-honesty__grid span { display: block; margin-bottom: 18px; color: var(--ef-brass); font-family: var(--ef-serif); font-size: 24px; }
.ef-landing-honesty__grid p { margin-bottom: 0; font-size: 13px; }

/* Approved section update: How it works — desktop Option 1 */
.ef-landing-how-section { padding: 88px 0 94px; }
.ef-landing-how-title { margin-bottom: 48px; }
.ef-landing-how-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 46px; }
.ef-landing-how-step { position: relative; min-width: 0; }
.ef-landing-how-number { margin-bottom: 10px; color: var(--ef-brass); font-family: var(--ef-serif); font-size: 24px; line-height: 1; }
.ef-landing-how-icon { width: 46px; height: 46px; margin-bottom: 14px; }
.ef-landing-how-arrow { position: absolute; top: 47px; right: -32px; width: 34px; height: 34px; }
.ef-landing-how-heading { min-height: 56px; margin-bottom: 16px; font-size: 22px; line-height: 1.22; }
.ef-landing-how-copy { margin-bottom: 0; font-size: 13px; line-height: 1.62; }

/* Approved section update: Honest by design — desktop Option 2 */
.ef-landing-honest-section { padding: 88px 0 96px; }
.ef-landing-honest-title { margin-bottom: 44px; text-align: center; }
.ef-landing-honest-title::after { margin-inline: auto; }
.ef-landing-honest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--ef-rule); background: var(--ef-paper-light); }
.ef-landing-honest-item { min-width: 0; border-left: 1px solid var(--ef-rule); }
.ef-landing-honest-item:first-child { border-left: 0; }
.ef-landing-honest-image { aspect-ratio: 200 / 225; overflow: hidden; background: var(--ef-panel); }
.ef-landing-honest-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ef-landing-honest-statement { min-height: 176px; padding: 28px 30px 30px; border-top: 1px solid var(--ef-rule); }
.ef-landing-honest-number { margin-bottom: 14px; color: var(--ef-brass); font-family: var(--ef-serif); font-size: 24px; line-height: 1; }
.ef-landing-honest-copy { max-width: 230px; margin-bottom: 0; font-size: 15px; line-height: 1.58; }

.ef-landing-final { padding: 100px 0; border-bottom: 1px solid var(--ef-rule); text-align: center; }
.ef-landing-final__inner { max-width: 760px; }
.ef-landing-final h2 { margin-bottom: 14px; font-size: 44px; line-height: 1.1; }
.ef-landing-final .ef-landing-actions { justify-content: center; }
.ef-landing-footer { padding: 42px 0; }
.ef-landing-footer__inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.ef-landing-footer p { max-width: 450px; margin: 12px 0 0; font-size: 12px; }
.ef-landing-footer nav { display: flex; gap: 34px; }
.ef-landing-footer nav a { font-size: 12px; text-decoration: none; }
.ef-landing-footer nav a:hover { text-decoration: underline; }

@media (max-width: 1279px) {
  .ef-landing-shell { width: min(calc(100% - 64px), var(--ef-shell)); }
  .ef-landing-hero__grid { min-height: 650px; }
  .ef-landing-hero__media { margin-right: -32px; }
  .ef-landing-hero__copy { padding-right: 36px; }
  .ef-landing-style-key__grid, .ef-landing-decisions .ef-landing-shell { gap: 44px; }
  .ef-landing-honesty__content { padding: 40px 32px; }
}

@media (max-width: 1023px) {
  .ef-landing-section { padding: 88px 0; }
  .ef-landing-four-grid { grid-template-columns: repeat(2, 1fr); }
  .ef-landing-differentiators article:nth-child(3) { border-left: 0; }
  .ef-landing-differentiators article:nth-child(n+3) { border-top: 1px solid var(--ef-rule); }
  .ef-landing-style-key__grid, .ef-landing-decisions .ef-landing-shell { grid-template-columns: 1fr; }
  .ef-landing-style-key__copy { max-width: 650px; }
  .ef-landing-difference__grid article:nth-child(3) { border-left: 0; }
  .ef-landing-difference__grid article { padding-block: 34px; }
  .ef-landing-honesty__panel { grid-template-columns: 42% 58%; }
  .ef-landing-honesty__grid { grid-template-columns: repeat(2, 1fr); gap: 28px 0; }
  .ef-landing-honesty__grid article:nth-child(3) { border-left: 0; padding-left: 0; }
  .ef-landing-how-section { padding: 88px 0; }
  .ef-landing-how-grid { grid-template-columns: 1fr; gap: 38px; max-width: 650px; }
  .ef-landing-how-step { display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; }
  .ef-landing-how-number { grid-column: 1; margin: 0 0 10px; }
  .ef-landing-how-icon { grid-column: 1; grid-row: 2 / span 2; margin: 0; }
  .ef-landing-how-heading { grid-column: 2; grid-row: 1 / span 2; align-self: end; min-height: 0; margin-bottom: 12px; }
  .ef-landing-how-copy { grid-column: 2; grid-row: 3; }
  .ef-landing-how-step .ef-landing-how-arrow { display: none; }
  .ef-landing-honest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ef-landing-honest-item:nth-child(3) { border-left: 0; }
  .ef-landing-honest-item:nth-child(n + 3) { border-top: 1px solid var(--ef-rule); }
}

@media (max-width: 767px) {
  .ef-landing-shell { width: calc(100% - 40px); }
  .ef-landing-header { height: 68px; }
  .ef-landing-wordmark { font-size: 15px; }
  .ef-landing-nav { gap: 12px; }
  .ef-landing-nav__link { font-size: 13px; }
  .ef-landing-button--compact { min-width: auto; min-height: 42px; padding: 9px 14px; font-size: 12px; }
  .ef-landing-hero__grid { min-height: 0; display: flex; flex-direction: column; }
  .ef-landing-hero__media { order: 1; width: calc(100% + 40px); height: 68vw; margin-left: -20px; margin-right: 0; }
  .ef-landing-hero__media img { object-position: 54% 50%; }
  .ef-landing-hero__copy { order: 2; max-width: none; padding: 58px 0 68px; }
  .ef-landing-hero h1 { margin-bottom: 28px; font-size: clamp(43px, 12vw, 52px); line-height: 1.02; }
  .ef-landing-hero__copy > p:not(.ef-landing-eyebrow) { font-size: 16px; }
  .ef-landing-actions { flex-direction: column; }
  .ef-landing-actions .ef-landing-button { width: 100%; }
  .ef-landing-differentiators .ef-landing-four-grid { grid-template-columns: 1fr; }
  .ef-landing-differentiators article { min-height: 0; padding: 30px 0; border-top: 1px solid var(--ef-rule); border-left: 0; }
  .ef-landing-differentiators article:first-child { border-top: 0; }
  .ef-landing-line-icon { margin-bottom: 30px; }
  .ef-landing-section { padding: 76px 0; }
  .ef-landing-section-title { margin-bottom: 42px; font-size: 34px; }
  .ef-landing-three-grid { grid-template-columns: 1fr; }
  .ef-landing-steps article { padding: 0 0 36px 52px; border-left: 1px solid var(--ef-rule); }
  .ef-landing-steps article:not(:last-child)::after { content: none; }
  .ef-landing-step-number { position: absolute; left: -13px; top: 0; padding: 0 7px; background: var(--ef-paper); font-size: 24px; }
  .ef-landing-style-key__copy h2, .ef-landing-decisions__intro h2 { font-size: 37px; }
  .ef-landing-style-card { grid-template-columns: 1fr; }
  .ef-landing-style-card__content { padding: 36px 24px; }
  .ef-landing-style-card img { height: 190px; }
  .ef-landing-difference__grid { grid-template-columns: 1fr; }
  .ef-landing-difference__grid article, .ef-landing-difference__grid article:first-child { position: relative; padding: 30px 0; border-top: 1px solid var(--ef-rule); border-left: 0; }
  .ef-landing-difference__grid .ef-landing-step-number { position: static; padding: 0; background: none; }
  .ef-landing-decisions__rows article { grid-template-columns: 1fr; gap: 6px; padding: 26px 0; }
  .ef-landing-honesty__panel { grid-template-columns: 1fr; }
  .ef-landing-honesty__media { height: 78vw; max-height: 420px; }
  .ef-landing-honesty__content { padding: 40px 24px; }
  .ef-landing-honesty__grid { grid-template-columns: 1fr; }
  .ef-landing-honesty__grid article, .ef-landing-honesty__grid article:nth-child(3) { padding: 24px 0 0; border-top: 1px solid var(--ef-rule); border-left: 0; }
  .ef-landing-how-section { padding: 76px 0; }
  .ef-landing-how-title { margin-bottom: 42px; }
  .ef-landing-how-grid { gap: 34px; }
  .ef-landing-how-step { grid-template-columns: 48px 1fr; column-gap: 16px; }
  .ef-landing-how-heading { font-size: 21px; }
  .ef-landing-how-copy { font-size: 14px; line-height: 1.58; }
  .ef-landing-honest-section { padding: 76px 0; }
  .ef-landing-honest-title { margin-bottom: 38px; }
  .ef-landing-honest-grid { grid-template-columns: 1fr; }
  .ef-landing-honest-item,
  .ef-landing-honest-item:nth-child(3) { border-left: 0; }
  .ef-landing-honest-item:not(:first-child) { border-top: 1px solid var(--ef-rule); }
  .ef-landing-honest-statement { min-height: 0; padding: 24px 24px 28px; }
  .ef-landing-honest-copy { max-width: none; }
  .ef-landing-final { padding: 76px 0; }
  .ef-landing-final h2 { font-size: 38px; }
  .ef-landing-footer__inner { align-items: flex-start; flex-direction: column; }
  .ef-landing-footer nav { flex-direction: column; gap: 14px; }
}

@media (max-width: 389px) {
  .ef-landing-shell { width: calc(100% - 32px); }
  .ef-landing-nav { gap: 8px; }
  .ef-landing-nav__link { font-size: 12px; }
  .ef-landing-button--compact { padding-inline: 11px; }
  .ef-landing-hero__media { width: calc(100% + 32px); margin-left: -16px; }
  .ef-landing-style-card h3 { font-size: 31px; }
  .ef-landing-swatches { gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .ef-landing-page *, .ef-landing-page *::before, .ef-landing-page *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
