/* Lettertypes. Zelf gehost, zie assets/fonts/README.md. Archivo draagt tekst
   en interface; Libre Baskerville draagt koppen, citaten en het woordmerk. */
@font-face {
	font-family: Archivo;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/archivo-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: Archivo;
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/archivo-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Libre Baskerville";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/libre-baskerville-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Libre Baskerville";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/libre-baskerville-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Libre Baskerville";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/libre-baskerville-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Libre Baskerville";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/libre-baskerville-italic-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  /* Zwart is licht naar de goudtint gedraaid, oklch(17.8% .006 75). Klinisch grijs
     past niet bij een warm, doorleefd goud. */
  --black: #121110;
  --charcoal: #242321;
  --gold: #b9863d;
  --gold-light: #d5b477;
  /* Donker goud voor tekst op papier. Was #8f642b: 4,62:1 op --paper maar
     4,19:1 op de donkerdere papiertint #e9e6e1, te weinig voor labels. */
  --gold-deep: #86602a;
  /* Randkleur van het geborstelde goud. Lichter dan --gold-deep zodat zwarte
     tekst er 4,59:1 haalt in plaats van 3,62:1. */
  --gold-edge: #a37436;
  --laser: #6f675e;
  --paper: #f3f1ed;
  /* Naar het goud getint, nooit puur wit. */
  --white: #fbfaf7;
  --muted: #bdb7af;
  /* Tekst en lijnen op papier. Stonden als losse waarden door het bestand. */
  --ink: #3f3b36;
  --ink-soft: #58524b;
  --rule: #c5beb6;
  /* Tekst op zwart. Samen met --paper, --ink, --ink-soft en --laser zijn dat
     alle tekstkleuren. Daarvoor stonden er 69 losse hexwaarden in dit bestand,
     vaak twee of drie bijna gelijke grijzen naast elkaar. Voeg geen nieuwe toe:
     kies de rol die past. */
  --on-dark: #d2c8b8;
  --on-dark-soft: #a89d8e;

  /* Drie afrondingen, kleiner naar binnen toe. Daarvoor 31 losse waarden, van
     14 tot 55 pixels. Knoppen blijven 999px (pil), avatars 50%. */
  --r-sm: 14px;                      /* binnen een kaart: links, invoer, kleine vakken */
  --r-md: 24px;                      /* foto's, kaarten, panelen */
  --r-lg: clamp(30px, 3.2vw, 44px);  /* grote vlakken: hero, donkere secties */

  /* --- Typografische ladder ------------------------------------------------
     Eén schaal voor de hele site. Daarvoor stonden er 147 verschillende
     clamp-waarden en 53 vaste pixelwaarden in dit bestand, verdeeld over 675
     regels: acht maten voor de paginakop en veertien voor citaten. Elk
     onderdeel had zijn eigen maat gekregen op het moment dat het werd gebouwd.

     De koptrappen liggen minstens een factor 1,23 uit elkaar, want daaronder
     ziet het oog geen verschil meer en leest het als een fout.

     Voeg hier geen twaalfde trap toe. Past iets niet, kies dan de trap
     erboven of eronder en pas de regellengte aan. */
  --t-label: 11px;                          /* kleine kapitalen, labels (10px was te klein om te lezen) */
  --t-meta: 13px;                           /* bijschriften, namen, meta */
  --t-small: 15px;                          /* dichte tekst in kaarten */
  --t-body: 17px;                           /* lopende tekst */
  --t-body-lg: 19px;                        /* intro's en aanloopjes */
  --t-item: clamp(21px, 1.8vw, 26px);       /* kaartkoppen, lijstkoppen */
  --t-quote: clamp(24px, 2.2vw, 33px);      /* citaten */
  --t-section: clamp(34px, 3.4vw, 48px);    /* sectiekoppen */
  --t-statement: clamp(40px, 4.4vw, 62px);  /* uitspraken, gouden banden */
  --t-page: clamp(46px, 5vw, 78px);         /* paginakop */
  --t-display: clamp(58px, 6.6vw, 96px);    /* alleen de homepage */

  /* Maximale regellengte voor lopende tekst. Archivo is smal: gemeten past er
     ongeveer 1,3 teken per ch, dus 56ch is zo'n 72 tekens. 68ch was 88.
     Leesbaar ligt tussen 60 en 75. */
  --measure: 56ch;

  --sans: Archivo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Libre Baskerville", Baskerville, Georgia, serif;
  --content: min(1240px, calc(100vw - 48px));

  /* Gestapelde lagen. Alleen deze waarden gebruiken, nooit een los getal. */
  --z-raised: 2;
  --z-sticky-nav: 40;
  --z-header: 100;
  --z-submenu: 120;
  --z-skip-link: 200;

  /* Sticky header: 12px vanaf de bovenrand, 80px hoog, 66px ingeklapt. */
  --header-offset: 92px;
  --header-offset-compact: 78px;
  --anchor-offset: 108px;

  --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --ease-out-expo: cubic-bezier(.16, 1, .3, 1);

  /* Verticaal ritme in drie niveaus. Ruim voor de momenten die moeten landen,
     krap tussen dingen die bij elkaar horen, normaal voor de rest. Let op dat
     de ruimte tussen twee secties de som is van de onderkant van de ene en de
     bovenkant van de andere. */
  --space-tight: clamp(56px, 6vw, 84px);
  --space-normal: clamp(78px, 9vw, 120px);
  --space-wide: clamp(104px, 13vw, 172px);
}

/* Book page */
.book-page { overflow: clip; }
.book-hero { border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(55px, 8vw, 130px); grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr); margin: 14px clamp(12px, 3vw, 42px) 0; min-height: 720px; padding: clamp(54px, 7vw, 100px); }
.book-hero-copy { align-self: center; max-width: 720px; position: relative; z-index: 2; }
.book-hero .eyebrow { color: var(--gold); margin-bottom: 25px; }
.book-hero h1 { color: var(--gold-light); font-size: var(--t-page); font-weight: 600; letter-spacing: -.045em; line-height: .96; margin: 0; max-width: 7ch; }
.book-subtitle { color: var(--gold-light) !important; font-family: var(--serif); font-size: var(--t-quote) !important; font-style: italic; margin: 30px 0 0 !important; }
.book-hero-intro { color: var(--on-dark); font-size: var(--t-body-lg); line-height: 1.65; margin: 32px 0 0; max-width: 56ch; }
.book-status { align-items: center; color: var(--on-dark); display: flex; font-size: var(--t-meta); font-weight: 800; gap: 11px; letter-spacing: .05em; margin: 34px 0 25px; text-transform: uppercase; }
.book-status span { background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 6px rgba(185,134,61,.13); height: 8px; width: 8px; }
.book-cover-stage { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 560px; perspective: 1300px; position: relative; }
.book-cover-stage::before { background: radial-gradient(ellipse, rgba(185,134,61,.33), transparent 68%); content: ""; inset: 12% -18%; position: absolute; }
.book-cover-stage::after { background: rgba(0,0,0,.58); border-radius: 50%; bottom: 44px; content: ""; filter: blur(18px); height: 34px; position: absolute; transform: rotate(-4deg); width: 78%; }
.book-cover-placeholder { background: linear-gradient(145deg, #111 0 58%, #1e1b17), repeating-linear-gradient(90deg, rgba(213,180,119,.04) 0 1px, transparent 1px 12px); border: 1px solid rgba(213,180,119,.72); box-shadow: -18px 18px 0 #71502a, -35px 42px 60px rgba(0,0,0,.5); color: var(--gold-light); display: flex; flex-direction: column; height: 490px; justify-content: space-between; padding: 38px 34px 42px; position: relative; transform: rotateY(-9deg) rotateZ(2deg); width: 330px; z-index: 2; }
.book-cover-placeholder::before { background: linear-gradient(90deg, rgba(255,255,255,.08), transparent 12%); content: ""; inset: 0; position: absolute; }
.book-cover-author { font-size: var(--t-meta); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.book-cover-placeholder strong { font-family: var(--serif); font-size: var(--t-statement); font-weight: 500; letter-spacing: -.05em; line-height: .98; }
.book-cover-placeholder strong em { color: var(--paper); font-weight: 500; }
.book-cover-line { background: var(--gold); height: 2px; width: 62px; }
.book-cover-placeholder small { color: var(--on-dark); font-size: var(--t-small); line-height: 1.4; }
.book-cover-caption { color: var(--on-dark-soft); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; margin-top: 55px; position: relative; text-transform: uppercase; z-index: 3; }
.book-anchor-nav { align-items: center; background: rgba(17,17,17,.96); border: 1px solid rgba(185,134,61,.7); border-radius: 999px; display: flex; gap: 4px; justify-content: center; margin: 20px auto 0; padding: 7px; position: sticky; top: var(--header-offset); width: max-content; z-index: var(--z-sticky-nav); }
.book-anchor-nav a { border-radius: 999px; color: var(--on-dark); font-size: var(--t-label); font-weight: 750; padding: 10px 16px; text-decoration: none; }
.book-anchor-nav a:hover, .book-anchor-nav a:focus-visible { background: rgba(185,134,61,.18); color: var(--white); }
.book-content { margin: 0; max-width: none; padding: 0; }
.book-opening { display: grid; gap: clamp(60px, 10vw, 160px); grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); margin: 0 auto; padding: 150px 0; width: var(--content); }
.book-opening-quote { border-top: 1px solid #b6afa6; padding-top: 28px; }
.book-opening-quote blockquote { font-family: var(--serif); font-size: var(--t-statement); letter-spacing: -.035em; line-height: 1.05; margin: 48px 0 0; }
.book-opening-copy { max-width: 650px; padding-top: 90px; }
.book-opening-copy h2, .book-section-heading h2, .book-author-link h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0; }
.book-opening-copy p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.75; }
.book-opening-copy p:first-of-type { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.4; margin-top: 48px; }
.book-life { border-top: 1px solid #c5beb6; margin: 0 auto; padding: 130px 0 150px; width: var(--content); }
.book-section-heading { max-width: 900px; }
.book-section-heading .eyebrow { margin-bottom: 32px; }
.book-section-heading > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.65; margin: 30px 0 0; max-width: var(--measure); }
.book-life-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 80px; }
.book-life-grid article { border: 1px solid #c9c2b8; border-radius: var(--r-md); overflow: hidden; }
.book-history-photo { aspect-ratio: 4 / 3; margin: 0; overflow: hidden; }
.book-history-photo img { display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.book-life-copy { padding: 34px; }
.book-life-copy > span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 900; letter-spacing: .11em; }
.book-life-copy h3 { font-family: var(--serif); font-size: var(--t-item); font-weight: 500; margin: 18px 0 20px; }
.book-life-copy p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; }
.book-themes { border: 1px solid rgba(213,180,119,.48); border-radius: var(--r-lg); color: var(--gold-light); margin: 0 clamp(12px, 3vw, 42px); padding: clamp(58px, 7vw, 92px); }
.book-themes .book-section-heading .eyebrow { color: var(--gold); }
.book-themes .book-section-heading h2 { color: var(--gold-light); font-size: var(--t-section); letter-spacing: -.03em; line-height: 1.05; max-width: 20ch; }
.book-theme-grid { border-top: 1px solid rgba(213,180,119,.4); display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 48px; }
.book-theme-grid article { border-right: 1px solid rgba(213,180,119,.3); padding: 28px 26px 16px 0; }
.book-theme-grid article + article { padding-left: 26px; }
.book-theme-grid article:last-child { border-right: 0; }
.book-theme-grid span { color: var(--gold); font-size: var(--t-meta); font-weight: 800; }
.book-theme-grid h3 { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-item); font-weight: 500; line-height: 1.16; margin: 24px 0 16px; }
.book-theme-grid p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.65; margin: 0; }
.book-readers { margin: 0 auto; padding: 145px 0; width: var(--content); }
.book-reader-feature { align-items: center; display: grid; gap: clamp(50px, 9vw, 130px); grid-template-columns: 260px minmax(0,1fr); margin: 80px 0 60px; }
.book-reader-feature figure { margin: 0; }
.book-reader-photo { border-radius: 130px 130px 28px 28px; height: 325px; object-fit: cover; width: 260px; }
.book-reader-feature blockquote { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-section); line-height: 1.18; margin: 0; }
.book-reader-feature cite { color: var(--black); display: block; font-family: var(--sans); font-size: var(--t-meta); font-style: normal; font-weight: 800; margin-top: 28px; }
.book-reader-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.book-reader-grid article { border: 1px solid #cec8c0; border-radius: var(--r-md); display: flex; flex-direction: column; justify-content: space-between; min-height: 290px; padding: 34px; }
.book-reader-grid blockquote { font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin: 0; }
.book-reader-grid cite { color: var(--gold-deep); font-size: var(--t-label); font-style: normal; font-weight: 850; margin-top: 35px; }
.book-reader-long { border-bottom: 1px solid #c9c2b8; border-top: 1px solid #c9c2b8; margin-top: 55px; }
.book-reader-long summary { cursor: pointer; font-family: var(--serif); font-size: var(--t-item); list-style: none; padding: 30px 50px 30px 0; position: relative; }
.book-reader-long summary::after { content: "+"; font-family: var(--sans); position: absolute; right: 8px; }
.book-reader-long[open] summary::after { content: "−"; }
.book-reader-long div { color: var(--ink-soft); line-height: 1.8; max-width: var(--measure); padding-bottom: 35px; }
.book-availability { align-items: start; border-radius: var(--r-lg); display: grid; gap: clamp(50px, 8vw, 120px); grid-template-columns: minmax(0,.9fr) minmax(420px,1fr); margin: 0 clamp(12px, 3vw, 42px); padding: clamp(65px, 8vw, 115px); }
.book-availability .eyebrow { color: rgba(17,17,17,.7); }
.book-availability h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 30px 0; }
.book-availability-copy > p { font-size: var(--t-body-lg); line-height: 1.7; max-width: 50ch; }
.book-availability > p, .book-availability > br { display: none; }
.book-interest-panel { background: rgba(243,241,237,.92); border: 1px solid rgba(17,17,17,.2); border-radius: var(--r-md); grid-column: 2; grid-row: 1; padding: 35px; }
.book-interest-form > label:first-of-type { display: block; font-size: var(--t-label); font-weight: 850; letter-spacing: .08em; margin-bottom: 10px; text-transform: uppercase; }
.book-email-row { display: grid; gap: 10px; grid-template-columns: 1fr; }
.book-email-row input { background: var(--white); border: 1px solid #aaa198; border-radius: 999px; font: inherit; min-width: 0; padding: 0 22px; }
.book-email-row .button { background: var(--black); color: var(--gold-light); width: 100%; }
.book-consent { align-items: flex-start; display: flex; font-size: var(--t-meta); gap: 10px; line-height: 1.5; margin-top: 18px; }
.book-consent input { accent-color: var(--black); flex: 0 0 auto; margin-top: 3px; }
.book-form-note { font-size: var(--t-label); line-height: 1.5; margin: 14px 0 0; }
.book-form-message { border-radius: var(--r-sm); font-size: var(--t-meta); font-weight: 750; margin-bottom: 18px; padding: 14px 16px; }
.book-form-message.is-success { background: #dce7d4; color: #1e491c; }
.book-form-message.is-error { background: #f2d9d5; color: #742d26; }
.book-honeypot { height: 0; left: -9999px; margin: 0; overflow: hidden; position: absolute; width: 1px; }
.book-author-link { display: grid; gap: 80px; grid-template-columns: minmax(0,1fr) minmax(320px,.6fr); margin: 0 auto; padding: 140px 0; width: var(--content); }
.book-author-link h2 { max-width: 9ch; }
.book-author-link > div:last-child { align-self: end; }
.book-author-link p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.7; }
.book-text-link { border-bottom: 1px solid var(--gold-deep); color: var(--gold-deep); display: inline-block; font-weight: 800; padding-bottom: 5px; text-decoration: none; }
.jessica-book-link { border-bottom: 1px solid currentColor; display: inline-block; font-weight: 800; margin-top: 12px; padding-bottom: 5px; text-decoration: none; }

@media (max-width: 980px) {
	.book-hero { grid-template-columns: 1fr; }
	.book-cover-stage { min-height: 600px; }
	.book-opening { grid-template-columns: 1fr; }
	.book-opening-copy { padding-top: 0; }
	.book-life-grid { grid-template-columns: 1fr; }
	.book-life-grid article { display: grid; grid-template-columns: minmax(260px,.7fr) 1fr; }
	.book-theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.book-theme-grid article:nth-child(2) { border-right: 0; }
	.book-theme-grid article:nth-child(3), .book-theme-grid article:nth-child(4) { border-top: 1px solid rgba(213,180,119,.3); }
	.book-availability { grid-template-columns: 1fr; }
	.book-interest-panel { grid-column: auto; grid-row: auto; }
}

@media (max-width: 640px) {
	.book-hero { border-radius: var(--r-md); gap: 35px; margin: 12px; min-height: 0; padding: 48px 26px 35px; }
	.book-subtitle { line-height: 1.25; }
	.book-hero-intro { font-size: var(--t-body); }
	.book-cover-stage { min-height: 470px; }
	.book-cover-placeholder { height: 390px; padding: 28px; width: 260px; }
	.book-cover-placeholder strong { font-size: var(--t-section); }
	.book-cover-caption { margin-top: 38px; }
	.book-anchor-nav { justify-content: flex-start; margin-top: 12px; max-width: calc(100% - 24px); overflow-x: auto; padding: 6px; top: 8px; }
	.book-anchor-nav a { flex: 0 0 auto; }
	.book-opening { gap: 65px; padding: 90px 0; width: calc(100% - 44px); }
	.book-opening-quote blockquote { font-size: var(--t-section); }
	.book-opening-copy h2, .book-section-heading h2, .book-author-link h2 { font-size: var(--t-section); }
	.book-opening-copy p:first-of-type { font-size: var(--t-item); }
	.book-life { padding: 85px 0 95px; width: calc(100% - 44px); }
	.book-life-grid { margin-top: 55px; }
	.book-life-grid article { display: block; }
	.book-life-copy { padding: 28px; }
	.book-themes { border-radius: var(--r-md); margin: 0 12px; padding: 48px 26px; }
	.book-theme-grid { grid-template-columns: 1fr; margin-top: 55px; }
	.book-theme-grid article, .book-theme-grid article + article { border-bottom: 1px solid rgba(213,180,119,.3); border-right: 0; border-top: 0; padding: 25px 0; }
	.book-theme-grid article:last-child { border-bottom: 0; }
	.book-theme-grid h3 { margin: 18px 0 12px; }
	.book-readers { padding: 90px 0; width: calc(100% - 44px); }
	.book-reader-feature { align-items: start; gap: 28px; grid-template-columns: 1fr; margin: 55px 0; }
	.book-reader-photo { border-radius: 55px 55px 16px 16px; height: 138px; width: 110px; }
	.book-reader-feature blockquote { font-size: var(--t-item); }
	.book-reader-grid { grid-template-columns: 1fr; }
	.book-reader-grid article { min-height: 250px; padding: 28px; }
	.book-availability { border-radius: var(--r-md); margin: 0 12px; padding: 65px 26px; }
	.book-interest-panel { border-radius: var(--r-md); padding: 24px; }
	.book-email-row { grid-template-columns: 1fr; }
	.book-email-row input { min-height: 54px; }
	.book-author-link { gap: 45px; grid-template-columns: 1fr; padding: 90px 0; width: calc(100% - 44px); }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
/* Elk anker moet onder de sticky header uit komen, ook de ankers die vanuit de
   inhoud van WordPress komen en dus niet in een template staan. */
[id] { scroll-margin-top: var(--anchor-offset); }
/* Pagina's met een eigen ankermenu hebben die balk er nog bij. */
.book-page [id], .spain-page [id] { scroll-margin-top: calc(var(--anchor-offset) + 66px); }
body {
  background: var(--paper);
  color: var(--black);
  font-family: var(--sans);
  /* WordPress zet via theme.json een eigen body-grootte in een inline <style>.
     Daardoor kwam elke alinea zonder eigen regel uit op 18px in plaats van op
     de ladder. Zie /boek/, waar de themablokken dat lieten zien. */
  font-size: var(--t-body);
  margin: 0;
  max-width: 100%;
  overflow-x: clip;
}
body.admin-bar .site-header { margin-top: 48px; }
/* Eén herkenbare stem voor alle inhoudelijke koppen. Functionele microlabels
   die semantisch als kop zijn opgebouwd mogen lokaal in Archivo blijven. */
h1, h2, h3, h4 { font-family: var(--serif); overflow-wrap: break-word; }
/* Lange Nederlandse samenstellingen (persoonsgegevens) passen op een telefoon
   niet in een grote kop. Afbreken alleen daar, niet op desktop. */
@media (max-width: 640px) {
	/* Niet op de h1: daar brak het "af-stand" terwijl het woord gewoon op de
	   volgende regel paste. Alleen woorden van tien letters of meer. */
	h2, h3 { -webkit-hyphenate-limit-before: 5; -webkit-hyphenate-limit-after: 5; hyphenate-limit-chars: 14 5 5; hyphens: auto; }
}
a { color: inherit; }
img { display: block; height: auto; max-width: 100%; }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
.skip-link { background: var(--gold); left: 16px; padding: 12px 18px; position: fixed; top: -100px; z-index: var(--z-skip-link); }
.skip-link:focus { top: 16px; }
.site-header {
  align-items: center;
  background: var(--black);
  border: 1px solid rgba(185, 134, 61, .68);
  border-radius: 999px;
  color: var(--gold-light);
  display: grid;
  gap: 28px;
  grid-template-columns: 1fr auto 1fr;
  margin: 16px clamp(12px, 3vw, 42px) 0;
  min-height: 76px;
  padding: 11px 13px 11px 25px;
  position: relative;
  z-index: var(--z-header);
}
.site-brand { display: inline-flex; flex-direction: column; text-decoration: none; width: max-content; }
.site-brand strong { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-body-lg); font-weight: 500; letter-spacing: -.02em; }
.site-brand span { color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.primary-nav { margin: 0; }
.site-menu { align-items: center; display: flex; gap: 5px; list-style: none; margin: 0; padding: 0; }
.site-menu a { border-radius: 999px; color: var(--on-dark); font-size: var(--t-meta); font-weight: 700; padding: 11px 13px; text-decoration: none; }
.site-menu a:hover, .site-menu a:focus-visible { color: var(--white); }
.button {
  align-items: center;
  background: var(--gold);
  border: 0;
  border-radius: 999px;
  color: var(--black);
  display: inline-flex;
  font-size: var(--t-meta);
  font-weight: 700;
  justify-content: center;
  min-height: 54px;
  padding: 0 26px;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.button:hover, .button:focus-visible { background: var(--gold-light); transform: translateY(-2px); }
.button-small { min-height: 45px; padding-inline: 20px; }
.header-cta { font-size: var(--t-meta); font-weight: 800; justify-self: end; min-height: auto; padding: 16px 19px; }
.menu-toggle { display: none; }
.aged-black {
  background:
    radial-gradient(circle at 78% 18%, rgba(185, 134, 61, .14), transparent 28%),
    radial-gradient(circle at 10% 86%, rgba(213, 180, 119, .07), transparent 25%),
    linear-gradient(132deg, #0c0c0c, #181715 54%, #0e0d0c);
}
.brushed-gold {
  background:
    repeating-linear-gradient(91deg, rgba(255,255,255,.08) 0 1px, transparent 1px 18px),
    linear-gradient(110deg, var(--gold-edge), var(--gold) 27%, var(--gold-light) 50%, var(--gold) 72%, var(--gold-edge));
}
.aged-black, .brushed-gold { overflow: hidden; position: relative; }
.aged-black::before, .brushed-gold::before {
  background: repeating-linear-gradient(96deg, transparent 0, rgba(255,255,255,.07) 1px, transparent 2px, rgba(36,23,10,.07) 5px, transparent 8px);
  content: "";
  inset: 0;
  mix-blend-mode: soft-light;
  pointer-events: none;
  position: absolute;
}
.hero-object > *, .statement > *, .offer-card > *, .proof > * { position: relative; z-index: 2; }
.eyebrow, .section-label {
  font-size: var(--t-label);
  font-weight: 750;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero {
  color: var(--paper);
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(330px, .72fr);
  margin: 14px clamp(12px, 3vw, 42px) 0;
  min-height: min(780px, calc(100dvh - 90px));
  padding: clamp(34px, 5vw, 74px);
  border-radius: var(--r-lg);
}
.hero-copy { align-self: center; max-width: 790px; position: relative; z-index: var(--z-raised); }
/* Bewust op .hero-copy en niet op .hero: de gouden kaart heeft een eigen
   achtergrond en kreeg anders goud op goud, 1,32:1. */
.hero-copy .eyebrow { color: var(--gold); margin-bottom: 25px; }
.hero h1 { color: var(--gold-light); font-size: var(--t-page); font-weight: 600; letter-spacing: -.05em; line-height: .87; margin: 0 0 32px; }
.hero h1 em { color: inherit; font-family: inherit; font-style: normal; font-weight: inherit; }
.hero-copy > p { color: var(--gold-light); font-size: var(--t-body); line-height: 1.56; margin: 0; max-width: 610px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 35px; }
.hero-actions .button, .hero-actions .text-link { border: 1px solid currentColor; border-radius: 999px; font-size: var(--t-meta); font-weight: 800; min-height: auto; padding: 15px 18px; }
.text-link { color: var(--gold-light); text-decoration: none; }
.hero-object { align-self: stretch; border-radius: var(--r-md); color: var(--black); display: flex; flex-direction: column; justify-content: space-between; margin-left: clamp(20px, 5vw, 72px); min-height: auto; padding: clamp(32px, 4vw, 58px); position: relative; transform: rotate(1.4deg); z-index: var(--z-raised); }
.hero-object .eyebrow { color: var(--black); margin-bottom: 0; }
.hero-object blockquote { font-family: var(--serif); font-size: var(--t-section); font-weight: 600; letter-spacing: -.04em; line-height: 1.05; margin: 40px 0; }
.hero-object small { font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.authority { background: var(--paper); display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 clamp(24px, 6vw, 92px); padding: 32px 0 var(--space-tight); }
.authority article { border-left: 1px solid #c0bab2; border-right: 0; display: flex; flex-direction: column; min-height: auto; padding: 17px clamp(20px, 4vw, 55px); }
.authority article, .hero > *, .vision > *, .method > *, .about > *, .fit > *, .offer > * { min-width: 0; }
.authority article:first-child { border-left: 0; }
.authority strong { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; letter-spacing: -.01em; line-height: 1.15; overflow-wrap: anywhere; }
.authority p { color: var(--laser); font-size: var(--t-meta); line-height: 1.5; margin: auto 0 0; padding-top: 18px; }
.section { margin-inline: 0; max-width: none; width: auto; }
.section h2, .fit h2, .site-footer h2 { font-size: var(--t-statement); font-weight: 500; letter-spacing: -.025em; line-height: 1; margin: 0; }
/* Het accentwoord in een kop onderscheidde zich met de serif. Nu de hele kop
   serif is, doet de goudkleur dat werk. */
.section h2 em { color: var(--gold-deep); display: block; font-style: normal; }
.section-label { color: var(--laser); }
.section-label p { font-size: var(--t-label); font-weight: 800; letter-spacing: .11em; line-height: 1.4; margin: 0; text-transform: uppercase; }
.vision { border-top: 1px solid #c3bdb5; display: grid; gap: clamp(35px, 7vw, 105px); grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); margin: 0 clamp(24px, 6vw, 92px); padding: var(--space-normal) 0 var(--space-wide); }
.vision > .cost-body { grid-column: 1; }
.vision > .cost-closing { grid-column: 2; }
.vision h2 { font-size: var(--t-section); line-height: 1.1; margin-bottom: 30px; max-width: 840px; }
/* :not([class]) is er bewust. Zonder die uitsluiting overschreef deze regel de
   .cost-answer, die daardoor als gewone lopende tekst van 17px uitkwam in plaats
   van als de gouden antwoordzin van 43px. */
.vision > div:nth-child(2) > p:not([class]), .vision > blockquote, .method header > p, .about-story > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; }
.vision > blockquote { border-left: 1px solid #b8b1a8; font-family: var(--serif); font-size: var(--t-quote); line-height: 1.28; margin: 0; padding-left: clamp(28px, 4vw, 62px); }
.cost .cost-answer { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-section); line-height: 1.15; margin: 0 0 40px; }
.cost-list { list-style: none; margin: 0; padding: 0; }
.cost-list li { border-top: 1px solid #c3bdb5; color: var(--ink-soft); font-size: var(--t-body); line-height: 1.5; padding: 16px 0; }
.cost-list li:last-child { border-bottom: 1px solid #c3bdb5; }
.cost-closing { border-left: 1px solid #b8b1a8; color: var(--ink-soft); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.28; margin: 0; padding-left: clamp(28px, 4vw, 62px); }
.statement { align-items: center; color: var(--black); display: flex; justify-content: space-between; min-height: 230px; padding: 55px clamp(24px, 6vw, 92px); }
.statement span { font-size: var(--t-meta); letter-spacing: .12em; text-transform: uppercase; }
.statement h2 { font-family: var(--serif); font-size: var(--t-statement); font-weight: 400; margin: 0; max-width: 900px; text-align: right; }
.method { background: #e9e6e1; display: block; padding: var(--space-normal) clamp(24px, 6vw, 92px) var(--space-tight); }
.method header { max-width: 900px; }
.method header .eyebrow { color: var(--gold-deep); margin: 0 0 20px; }
.method header h2 { font-size: var(--t-section); line-height: 1.1; margin: 28px 0 26px; }
.method header > p { max-width: 590px; }
/* De drie stappen stonden als gelijke kaarten naast elkaar. Ze zijn inhoudelijk
   niet gelijkwaardig: de eerste is een confrontatie, de tweede is het werk zelf
   en de derde is de opbrengst. Ze staan nu onder elkaar over de volle breedte,
   met oplopende ruimte, zodat je al scrollend voelt dat het ergens heen gaat. */
.method-steps { border-bottom: 1px solid #cec8c0; display: grid; gap: 0; grid-template-columns: 1fr; list-style: none; margin: 72px 0 0; padding: 0; }
.method-steps li {
	align-items: baseline;
	border-top: 1px solid #cec8c0;
	display: grid;
	gap: clamp(24px, 5vw, 78px);
	grid-template-columns: minmax(72px, 6vw) minmax(0, 1.05fr) minmax(0, 1fr);
	padding-block: 42px;
}
.method-steps li:nth-child(2) { padding-block: 54px; }
.method-steps li:nth-child(3) { padding-block: 66px; }
.method-steps li > span { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.02em; line-height: 1; }
.method-steps h3 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.02em; line-height: 1.08; margin: 0; }
.method-steps p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; max-width: 46ch; }
/* De portretkolom is iets breder dan hij was en de tussenruimte iets krapper.
   Reden: het straatportret is 2:3 en de sleuf is een smalle staande strook. Bij
   de oude breedte sneed object-fit de uiterste punten van de hoedrand weg. Ga
   je hieraan sleutelen, controleer dan of de hoed heel blijft. */
.about { display: grid; gap: clamp(32px, 4vw, 64px); grid-template-columns: 1.15fr 1.5fr 1.05fr; padding: var(--space-wide) clamp(24px, 6vw, 92px) var(--space-tight); }
/* 28px, gelijk aan .fit en .method. De drie secties die een label houden staan
   nu op dezelfde afstand tussen label en kop. */
/* Deze lange kop vraagt in de smalle kolom om een kleiner formaat en ruimere
   regelhoogte. */
.about-heading h2 { font-size: var(--t-section); line-height: 1.05; margin-top: 28px; }
.traits { list-style: none; margin: 52px 0 0; padding: 0; }
.traits li { border-top: 1px solid #bbb4ac; color: var(--ink-soft); font-family: var(--serif); font-size: var(--t-body-lg); padding: 14px 0; }
.traits li:last-child { border-bottom: 1px solid #bbb4ac; }
.about-story blockquote { border-bottom: 1px solid #bbb4ac; border-top: 1px solid #bbb4ac; color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.2; margin: 42px 0 30px; padding: 32px 0; }
.signature { font-family: var(--serif); font-size: var(--t-statement); font-style: italic; font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.portrait { margin: 0; }
.portrait { border-radius: var(--r-md); min-height: 660px; overflow: hidden; position: relative; }
.portrait::after { background: linear-gradient(0deg, rgba(17,17,17,.72), transparent 48%); content: ""; inset: 0; position: absolute; }
.portrait img { height: 100%; object-fit: cover; object-position: 52% center; width: 100%; }
.portrait figcaption { bottom: 30px; color: var(--white); display: flex; flex-direction: column; left: 30px; position: absolute; right: 30px; z-index: 2; }
.portrait figcaption span { color: var(--gold-light); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; margin-bottom: 8px; text-transform: uppercase; }
.portrait figcaption strong { font-family: var(--serif); font-size: var(--t-item); font-weight: 400; }
.fit { color: var(--paper); display: grid; gap: clamp(55px, 10vw, 150px); grid-template-columns: .85fr 1.15fr; padding: var(--space-normal) clamp(24px, 6vw, 92px) var(--space-tight); }
.fit .section-label { color: var(--gold-light); }
.fit .eyebrow { color: var(--gold-light); margin-bottom: 30px; }
.fit h2 { color: var(--gold-light); font-size: var(--t-section); line-height: 1.1; margin-top: 28px; }
.fit .fit-intro { color: var(--on-dark); font-size: var(--t-body); line-height: 1.7; margin: 30px 0 0; max-width: 54ch; }
.fit ul { list-style: none; margin: 0; padding: 0; }
.fit li { border-top: 1px solid #3c3934; display: grid; gap: 22px; grid-template-columns: 35px 1fr; padding: 28px 0; }
.fit li span { color: var(--gold-light); font-size: var(--t-label); }
.fit li p { color: var(--on-dark); font-family: var(--serif); font-size: var(--t-body-lg); margin: 0; }
.scan-band { align-items: center; border-bottom: 1px solid #c3bdb5; display: flex; gap: 40px; justify-content: space-between; padding: 40px clamp(24px, 6vw, 92px); }
.scan-band p { color: var(--ink-soft); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.28; margin: 0; max-width: 890px; }
.scan-band .button { flex: 0 0 auto; }
.about-cta { margin-top: 34px; }
.offer { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); padding: var(--space-normal) clamp(24px, 6vw, 92px) var(--space-tight); }
.offer header { grid-column: 1 / -1; margin-bottom: 0; max-width: 910px; padding-bottom: 44px; }
.offer header h2 { font-size: var(--t-section); line-height: 1.1; margin-top: 0; max-width: 900px; }
.offer-intro { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 28px 0 0; max-width: 650px; }
.offer-card { border-radius: var(--r-md); display: flex; flex-direction: column; min-height: 545px; padding: clamp(37px, 5vw, 68px); }
.offer-card h3 { font-size: var(--t-section); font-weight: 500; line-height: 1.1; margin: auto 0 25px; }
.offer-card p { font-size: var(--t-body); line-height: 1.6; max-width: 540px; }
.offer-card a { align-self: flex-start; border: 1px solid currentColor; border-radius: 999px; display: inline-block; font-size: var(--t-meta); font-weight: 800; margin-top: 26px; padding: 14px 17px; text-underline-offset: 5px; }
.laser { background: var(--laser); color: var(--white); }
.proof { color: var(--gold-light); padding: var(--space-wide) clamp(24px, 6vw, 92px) var(--space-normal); }
.proof .section-label { color: var(--gold-light); }
.proof-heading { max-width: 920px; position: relative; z-index: 2; }
.proof h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0; }
.proof-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin: 72px 0 48px; position: relative; z-index: 2; }
.proof-grid figure { border-top: 1px solid #4a443c; display: flex; flex-direction: column; margin: 0; min-height: 390px; padding: 34px 0 0; }
.proof-grid blockquote { color: var(--paper); font-family: var(--serif); font-size: var(--t-quote); letter-spacing: -.02em; line-height: 1.25; margin: 0; }
.proof-grid figcaption { color: var(--muted); font-size: var(--t-label); margin-top: auto; padding-top: 30px; }
.proof > .button { background: var(--gold); color: var(--black); position: relative; z-index: 2; }
.site-footer { background: var(--paper); padding: clamp(76px, 7vw, 104px) 24px 85px; text-align: center; }
.site-footer--offer-hub { padding-top: 80px; }
.site-footer > .eyebrow { color: var(--laser); margin-bottom: 28px; }
.site-footer h2 { font-size: var(--t-statement); font-weight: 500; line-height: .98; margin: 0 auto 42px; max-width: 1050px; }
.footer-intro { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: -10px auto 34px; max-width: 690px; }
.site-footer .button { background: var(--black); border: 1px solid var(--gold); color: var(--gold-light); }
.footer-meta { border-top: 1px solid #c5beb6; display: flex; font-size: var(--t-label); justify-content: space-between; margin: 65px auto 0; max-width: 760px; padding-top: 20px; }
.footer-nav { margin: 55px auto 0; max-width: 980px; }
.footer-menu { align-items: center; display: flex; flex-wrap: wrap; gap: 11px 24px; justify-content: center; list-style: none; margin: 0; padding: 0; }
.footer-menu a { color: var(--ink-soft); font-size: var(--t-label); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.footer-menu a:hover, .footer-menu a:focus-visible { color: var(--black); }
.site-footer--compact { padding-top: 68px; }
.site-footer--compact .footer-nav { margin-top: 0; }
.site-footer--compact .footer-meta { margin-top: 42px; }
.site-footer--minimal { background: var(--black); border-top: 1px solid rgba(213, 180, 119, .5); color: var(--paper); padding: 23px 0 13px; text-align: left; }
.footer-minimal { margin: 0 auto; padding: 0; width: var(--content); }
.footer-minimal-main { align-items: start; display: grid; gap: clamp(24px, 4vw, 58px); grid-template-columns: minmax(150px, .68fr) minmax(165px, .72fr) minmax(0, 1.6fr); }
.footer-minimal-brand { display: flex; flex-direction: column; }
.footer-minimal-wordmark { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-item); font-weight: 500; letter-spacing: -.035em; line-height: 1; text-decoration: none; }
.footer-minimal-brand > span { color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .11em; margin-top: 5px; text-transform: uppercase; }
.footer-minimal-nav { align-content: start; display: grid; gap: 12px 24px; grid-template-columns: repeat(2, max-content); padding-top: 2px; }
.footer-minimal-nav a { color: var(--on-dark); font-size: var(--t-meta); line-height: 1.35; text-decoration: none; text-underline-offset: 4px; }
.footer-minimal-wordmark:hover, .footer-minimal-wordmark:focus-visible, .footer-minimal-nav a:hover, .footer-minimal-nav a:focus-visible { color: var(--gold-light); text-decoration: underline; text-decoration-thickness: 1px; }
.footer-contact-grid { display: grid; gap: 13px 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
.site-footer--minimal .footer-contact-heading { border-top: 1px solid rgba(213, 180, 119, .22); color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .11em; line-height: 1.4; margin: 0; max-width: none; padding-top: 10px; text-transform: uppercase; }
.footer-contact-item { display: flex; flex-direction: column; gap: 4px; min-width: 0; text-decoration: none; }
.footer-contact-item > span { color: var(--on-dark-soft); font-size: var(--t-label); font-weight: 800; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.footer-contact-item > strong, .footer-contact-item > address { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-small); font-style: normal; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; }
.footer-contact-item:hover > strong, .footer-contact-item:focus-visible > strong { color: var(--paper); text-decoration: underline; text-underline-offset: 4px; }
.footer-contact-location { grid-column: 1 / -1; }
.footer-minimal-meta { align-items: center; border-top: 1px solid rgba(213, 180, 119, .22); color: var(--on-dark-soft); display: flex; font-size: var(--t-label); justify-content: space-between; margin-top: 14px; padding: 10px 0 0; }
.footer-minimal-meta > div { align-items: center; display: flex; gap: 18px; }
.footer-minimal-meta a { color: var(--on-dark-soft); text-decoration: none; text-underline-offset: 3px; }
.footer-minimal-meta a:hover, .footer-minimal-meta a:focus-visible { color: var(--gold-light); text-decoration: underline; }

@media (max-width: 900px) {
	.footer-minimal-main { grid-template-columns: minmax(160px, .75fr) minmax(0, 1.25fr); }
	.footer-contact { grid-column: 1 / -1; }
}
.page-hero { align-items: center; border-radius: var(--r-lg); color: var(--gold-light); display: flex; margin: 14px clamp(12px, 3vw, 42px) 0; min-height: 430px; padding: clamp(48px, 7vw, 92px); }
.page-hero-inner { margin: 0 auto; max-width: 1240px; position: relative; width: 100%; z-index: 2; }
.page-hero .eyebrow { color: var(--gold); margin-bottom: 32px; }
.page-hero h1 { font-size: var(--t-page); font-weight: 600; letter-spacing: -.045em; line-height: .96; margin: 0; max-width: 1050px; }
.page-hero p { color: var(--gold-light); font-size: var(--t-body); line-height: 1.6; margin: 30px 0 0; max-width: var(--measure); }
.page-hero-count { color: var(--gold); font-size: var(--t-meta); font-weight: 750; letter-spacing: .08em; margin: 22px 0 0; text-transform: uppercase; }
.page-hero time { color: var(--gold-light); display: block; font-size: var(--t-label); font-weight: 750; letter-spacing: .1em; margin-top: 30px; text-transform: uppercase; }
.page-content { font-size: var(--t-body-lg); line-height: 1.75; margin: 0 24px 0 calc(clamp(12px, 3vw, 42px) + clamp(48px, 7vw, 92px)); max-width: var(--measure); min-height: 270px; padding: 90px 0 120px; width: auto; }
.page-content > :first-child { margin-top: 0; }
.page-content > :last-child { margin-bottom: 0; }
.page-content h2, .page-content h3, .page-content h4 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; line-height: 1.12; }
.page-content h2 { font-size: var(--t-section); margin: 2em 0 .55em; }
.page-content h3 { font-size: var(--t-item); margin: 1.7em 0 .5em; }
.page-content h4 { font-size: var(--t-item); margin: 1.6em 0 .45em; }
.page-content p, .page-content li { color: var(--ink-soft); }
.page-content ul, .page-content ol { padding-left: 1.4em; }
.page-content li + li { margin-top: .5em; }
.page-content blockquote { border-top: 1px solid rgba(143, 100, 43, .32); color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.25; margin: 2em 0; padding-top: 24px; }
.page-content blockquote p { color: inherit; }
.page-content a { color: var(--gold-deep); overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.entry-featured-image { margin: clamp(42px, 6vw, 82px) auto 0; max-width: min(var(--content), 1040px); width: var(--content); }
.entry-featured-image img { border-radius: var(--r-md); display: block; height: auto; max-height: 620px; object-fit: cover; width: 100%; }
.jessica-page-content { padding: 105px 0 0; }
/* De tekstkolom had twee alinea's naast een foto van 510 pixels hoog, dus
   ruim driehonderd pixels wit links. Er staat nu een derde alinea en de foto
   volgt zijn eigen verhouding in plaats van een opgelegde hoogte. */
.jessica-opening { align-items: start; display: grid; gap: clamp(40px, 6vw, 92px); grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr); margin: 0 auto; width: var(--content); }
.jessica-opening-copy { max-width: var(--measure); }
.jessica-opening-copy p, .jessica-story p, .jessica-book-copy p, .jessica-character-copy p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.75; }
.jessica-opening-copy p:first-child { margin-top: 0; }
.jessica-main-portrait { aspect-ratio: 800 / 594; background: var(--black); border-radius: var(--r-md); margin: 0; min-height: 0; overflow: hidden; position: relative; }
.jessica-main-portrait::after { background: linear-gradient(0deg, rgba(17,17,17,.82), transparent 58%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.jessica-main-portrait picture { display: block; height: 100%; }
.jessica-main-portrait-image { display: block; height: 100%; object-fit: cover; object-position: 50% 42%; width: 100%; }
.jessica-main-portrait figcaption { bottom: 32px; color: var(--gold-light); display: flex; flex-direction: column; font-size: var(--t-label); gap: 8px; left: 32px; letter-spacing: .1em; position: absolute; right: 32px; text-transform: uppercase; z-index: 2; }
.jessica-main-portrait figcaption strong { color: var(--paper); font-size: var(--t-meta); letter-spacing: .04em; }
.jessica-facts { border-block: 1px solid #bdb7af; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 95px auto 0; width: var(--content); }
/* Flexkolom met de toelichting op auto-marge: de feiten breken verschillend af
   en zonder dit staan de toelichtingen op vier verschillende hoogtes. */
.jessica-facts article { border-left: 1px solid #bdb7af; display: flex; flex-direction: column; min-height: 0; padding: 34px clamp(18px, 3vw, 42px); }
.jessica-facts article:first-child { border-left: 0; padding-left: 0; }
.jessica-approach-grid span, .jessica-more-grid span { color: var(--gold-deep); display: block; font-size: var(--t-label); font-weight: 800; letter-spacing: .08em; margin-bottom: 24px; }
/* Er stond een rangnummer 01 tot 04 boven elk feit. Deze vier zijn niet
   geordend, dus dat nummer suggereerde een volgorde die er niet is en het nam
   de plek in van iets dat wel iets zegt. Het feit is nu het hoofdelement en
   eronder staat wat het betekent. De strook houdt een lijn boven en onder,
   zodat de verticale scheidingen ergens aan vastzitten. */
.jessica-facts span { color: var(--laser); display: block; font-size: var(--t-meta); line-height: 1.5; margin-top: auto; padding-top: 18px; }
.jessica-facts strong { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; letter-spacing: -.01em; line-height: 1.15; }
.jessica-story { margin: 95px 24px 120px calc(clamp(12px, 3vw, 42px) + clamp(48px, 7vw, 92px)); max-width: var(--measure); }
.jessica-story h2 { border-top: 1px solid #bdb7af; font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.025em; line-height: 1.08; margin: 1.8em 0 .55em; padding-top: .75em; }
/* De eerste kop in het verhaal krijgt geen eigen lijn, want de onderrand van
   de feitenstrook staat er negentig pixels boven. Twee lijnen met niets ertussen
   leest als een fout. */
.jessica-story > :first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.jessica-approach { color: var(--paper); margin: 0 auto 120px; padding: clamp(55px, 8vw, 105px); width: var(--content); }
.jessica-approach > header { max-width: 880px; position: relative; z-index: 2; }
.jessica-approach .eyebrow { color: var(--gold); }
.jessica-approach h2 { color: var(--gold-light); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 25px 0 0; }
.jessica-approach-grid { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 75px; position: relative; z-index: 2; }
.jessica-approach-grid article { border-left: 1px solid #4b463f; padding: 8px clamp(28px, 4vw, 58px) 0; }
.jessica-approach-grid article:first-child { border-left: 0; padding-left: 0; }
.jessica-approach-grid span { color: var(--gold); }
.jessica-approach-grid h3 { color: var(--paper); font-family: var(--serif); font-size: var(--t-item); font-weight: 400; line-height: 1.08; margin: 0 0 24px; }
.jessica-approach-grid p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.7; margin: 0; }
.jessica-character { align-items: start; display: grid; gap: clamp(55px, 9vw, 135px); grid-template-columns: minmax(260px, .72fr) minmax(0, 1fr); margin: 0 auto 120px; width: var(--content); }
.jessica-character-quote { border-top: 1px solid #bdb7af; padding-top: 30px; }
.jessica-character-quote .eyebrow { color: var(--gold-deep); }
.jessica-character-quote blockquote { border: 0; color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-statement); line-height: 1.05; margin: 32px 0 0; padding: 0; }
.jessica-character-copy { max-width: var(--measure); }
.jessica-character-copy h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.03em; line-height: 1.02; margin: 0 0 34px; }
.jessica-book { align-items: stretch; display: grid; gap: clamp(45px, 8vw, 120px); grid-template-columns: minmax(220px, .48fr) minmax(0, 1fr); margin: 0 auto 120px; padding: clamp(42px, 7vw, 90px); width: var(--content); }
.jessica-book-cover { align-items: center; aspect-ratio: 2 / 3; border: 1px solid rgba(213,180,119,.58); border-radius: var(--r-md); color: var(--gold-light); display: flex; justify-content: center; min-height: 440px; position: relative; }
.jessica-book-cover span { font-size: var(--t-label); font-weight: 750; letter-spacing: .14em; position: relative; text-transform: uppercase; z-index: 2; }
.jessica-book-copy { align-self: center; max-width: 650px; position: relative; z-index: 2; }
.jessica-book-copy h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0 0 36px; }
.jessica-book-copy p { color: var(--black); }
.jessica-book-link { color: var(--black); display: inline-block; font-size: var(--t-meta); font-weight: 800; margin-top: 16px; text-decoration-thickness: 1px; text-transform: uppercase; text-underline-offset: 6px; }
.jessica-more { margin: 0 auto; padding: 0 0 120px; width: var(--content); }
.jessica-more > header { align-items: end; display: flex; justify-content: space-between; margin-bottom: 55px; }
.jessica-more .eyebrow { color: var(--gold-deep); }
.jessica-more h2 { font-size: var(--t-section); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; margin: 0; max-width: 650px; }
.jessica-more-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.jessica-more-grid a { background: #e7e1d9; border: 1px solid transparent; border-radius: var(--r-md); color: var(--black); display: flex; flex-direction: column; min-height: 280px; padding: 34px; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.jessica-more-grid a:hover, .jessica-more-grid a:focus-visible { background: var(--paper); border-color: var(--gold-deep); transform: translateY(-4px); }
.jessica-more-grid strong { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; line-height: 1.05; }
.jessica-more-grid small { color: var(--ink-soft); font-size: var(--t-meta); line-height: 1.5; margin-top: auto; }
.empty-state { min-height: 180px; }
.article-tools { margin: 0 auto; padding: 85px 0 35px; width: var(--content); }
.article-filters { display: flex; flex-wrap: wrap; gap: 9px; }
.article-filters a { border: 1px solid #bdb7af; border-radius: 999px; color: var(--ink-soft); font-size: var(--t-meta); font-weight: 700; padding: 12px 15px; text-decoration: none; }
.article-filters a:hover, .article-filters a:focus-visible, .article-filters .is-active { background: var(--black); border-color: var(--black); color: var(--gold-light); }
.tips-promo { align-items: center; border-bottom: 1px solid #bdb7af; border-top: 1px solid #bdb7af; display: flex; gap: 24px; justify-content: space-between; margin-top: 34px; padding: 28px 0; text-decoration: none; }
.tips-promo strong { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-item); font-weight: 400; }
.tips-promo span { color: var(--ink-soft); font-size: var(--t-small); }
/* Index van hersenspinsels. Eén regel per stuk: onderwerp links, titel en
   samenvatting rechts, met een dunne lijn ertussen. Dezelfde redactionele vorm
   als de methodestappen en de workshops. Bij 146 stukken zonder foto's moet de
   typografie het werk doen, en dat kan niet in identieke kaders. */
.article-index { border-bottom: 1px solid #c9c2b8; list-style: none; margin: 0 auto; padding: 0; width: var(--content); }
.article-entry {
	align-items: baseline;
	border-top: 1px solid #c9c2b8;
	display: grid;
	gap: clamp(20px, 4vw, 60px);
	grid-template-columns: minmax(150px, 15vw) minmax(0, 1fr);
	padding-block: 32px;
	position: relative;
}
.article-entry-topic { color: var(--gold-deep); font-size: var(--t-label); font-weight: 800; letter-spacing: .1em; line-height: 1.4; text-transform: uppercase; }
.article-entry h2 { font-family: var(--serif); font-size: var(--t-quote); font-weight: 400; letter-spacing: -.02em; line-height: 1.12; margin: 0; max-width: 24ch; }
.article-entry h2 a { text-decoration: none; transition: color .2s var(--ease-out-quart); }
/* De hele regel is aanklikbaar, met behoud van één link in de opmaak. */
.article-entry h2 a::after { content: ""; inset: 0; position: absolute; }
.article-entry h2 a::before { content: ""; }
.article-entry:hover h2 a, .article-entry h2 a:focus-visible { color: var(--gold-deep); }
.article-entry p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 12px 0 0; max-width: var(--measure); }
.pagination { margin: 0 auto; padding: 25px 24px 100px; text-align: center; width: var(--content); }
.pagination .page-numbers { border: 1px solid #bdb7af; border-radius: 999px; display: inline-flex; margin: 3px; padding: 10px 14px; text-decoration: none; }
.pagination .current { background: var(--black); border-color: var(--black); color: var(--gold-light); }
.tips-list {
	background: #f7f5f1;
	border: 1px solid #c9c1b7;
	border-radius: var(--r-lg);
	counter-reset: jessica-tip;
	margin: clamp(52px, 6vw, 82px) auto 42px;
	overflow: hidden;
	padding: 0;
	width: var(--content);
}
.tip-block {
	align-items: start;
	border-top: 1px solid #cbc3b9;
	color: var(--black);
	counter-increment: jessica-tip;
	display: grid;
	gap: 0 clamp(34px, 5vw, 72px);
	grid-template-columns: 46px minmax(260px, .72fr) minmax(0, 1.28fr);
	padding: clamp(46px, 5vw, 68px);
	transition: background-color 220ms ease;
}
.tip-block:first-child { border-top: 0; }
.tip-block::before {
	align-items: center;
	border: 1px solid rgba(143, 100, 43, .7);
	border-radius: 50%;
	color: var(--gold-deep);
	content: counter(jessica-tip, decimal-leading-zero);
	display: flex;
	font-size: var(--t-label);
	font-weight: 850;
	height: 44px;
	justify-content: center;
	letter-spacing: .08em;
	width: 44px;
}
.tip-block:hover { background: #f1eee8; }
.tip-block h2 {
	font-family: var(--serif);
	font-size: var(--t-section);
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1.04;
	margin: 0;
	overflow-wrap: anywhere;
}
.tip-block-body { max-width: var(--measure); }
.tip-block-body p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.72; margin: 0; }
.tip-block-body p + p { margin-top: 1.1em; }
.tip-block:nth-child(7) {
	background: radial-gradient(circle at 88% 12%, rgba(185,134,61,.2), transparent 35%), var(--black);
	border-color: rgba(213,180,119,.35);
	color: var(--gold-light);
	padding-block: clamp(58px, 6vw, 82px);
}
.tip-block:nth-child(7)::before { border-color: rgba(213,180,119,.65); color: var(--gold-light); }
.tip-block:nth-child(7) .tip-block-body p { color: var(--on-dark); }
.tips-back { margin: 0 auto; padding: 0 0 100px; width: var(--content); }

/* De losse regel met id-selectors die hier stond zette 110px en won door zijn
   specificiteit van de algemene ankerregel bovenin. Op deze pagina staat ook nog
   het ankermenu, dus 110px was te weinig en het doel landde er deels achter. */
.spain-hero { border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(42px, 6vw, 92px); grid-template-columns: minmax(0, 1.04fr) minmax(360px, .76fr); margin: 14px clamp(12px, 3vw, 42px) 0; min-height: 700px; padding: clamp(45px, 6vw, 88px); }
.spain-hero-copy { align-self: center; max-width: 760px; position: relative; z-index: 2; }
.spain-hero .eyebrow { color: var(--gold); margin-bottom: 28px; }
.spain-hero h1 { color: var(--gold-light); font-size: var(--t-page); font-weight: 600; letter-spacing: -.04em; line-height: .96; margin: 0; }
.spain-hero-copy > p { color: var(--on-dark); font-size: var(--t-body-lg); line-height: 1.65; margin: 35px 0 0; max-width: var(--measure); }
.spain-date-note { border-bottom: 1px solid rgba(213, 180, 119, .28); border-top: 1px solid rgba(213, 180, 119, .28); color: var(--gold-light); font-size: var(--t-meta); font-weight: 750; letter-spacing: .04em; margin-top: 38px; padding: 18px 0; }
.spain-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 34px; }
.spain-text-link { color: var(--gold-light); font-size: var(--t-meta); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.spain-hero-image { align-self: stretch; margin: 0; min-height: 540px; position: relative; z-index: 2; }
.spain-hero-image img { border-radius: 220px 220px 32px 32px; height: 100%; object-fit: cover; object-position: center top; width: 100%; }
.spain-anchor-nav { align-items: center; background: rgba(17, 17, 17, .96); border: 1px solid rgba(185, 134, 61, .7); border-radius: 999px; display: flex; gap: 4px; justify-content: center; margin: 20px auto 0; padding: 7px; position: sticky; top: var(--header-offset); width: max-content; z-index: var(--z-sticky-nav); }
.spain-anchor-nav a { border-radius: 999px; color: var(--on-dark); font-size: var(--t-label); font-weight: 750; padding: 10px 14px; text-decoration: none; }
.spain-anchor-nav a:hover, .spain-anchor-nav a:focus-visible { background: rgba(185, 134, 61, .18); color: var(--white); }
.spain-section-heading { max-width: 980px; }
.spain-section-heading .eyebrow { color: var(--gold-deep); margin-bottom: 23px; }
.spain-section-heading h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.04em; line-height: 1.1; margin: 0; }
.spain-section-heading > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; max-width: var(--measure); }
.spain-facts { margin: 0 auto; padding: 110px 0 75px; width: var(--content); }
.spain-facts-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 68px; }
.spain-facts-grid article { border-left: 1px solid #c5beb6; min-height: 250px; padding: 25px 25px 15px; }
.spain-facts-grid article:first-child { border-left: 0; padding-left: 0; }
.spain-facts-grid span, .spain-experience-grid span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; }
.spain-facts-grid strong { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; line-height: 1.08; margin-top: 66px; }
.spain-facts-grid p { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.65; }
.spain-purpose { align-items: center; display: grid; gap: clamp(55px, 9vw, 135px); grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr); margin: 0 auto; padding: 75px 0 125px; width: var(--content); }
.spain-purpose-copy { max-width: 660px; }
.spain-purpose-copy .eyebrow { color: var(--gold-deep); margin-bottom: 24px; }
.spain-purpose-copy h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; margin: 0 0 34px; }
.spain-purpose-copy p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.75; }
.spain-purpose-image { margin: 0; }
.spain-purpose-image img { aspect-ratio: 4 / 3; border-radius: var(--r-lg); object-fit: cover; width: 100%; }
.spain-freedom { align-items: center; border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(55px, 9vw, 135px); grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); margin: 0 auto; padding: clamp(52px, 7vw, 95px); width: var(--content); }
.spain-freedom-copy, .spain-freedom figure { position: relative; z-index: 2; }
.spain-freedom .eyebrow { color: var(--gold); margin-bottom: 24px; }
.spain-freedom h2 { color: var(--gold-light); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0 0 38px; }
.spain-freedom p { color: var(--on-dark); font-size: var(--t-body-lg); line-height: 1.75; max-width: var(--measure); }
.spain-freedom figure { margin: 0; }
.spain-freedom img { aspect-ratio: 4 / 5; border-radius: 180px 180px 28px 28px; object-fit: cover; width: 100%; }
.spain-experiences { margin: 0 auto; padding: 130px 0 115px; width: var(--content); }
.spain-experience-grid { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 72px; }
.spain-experience-grid article { background: #f8f7f4; border: 1px solid #cec8c0; border-radius: var(--r-md); overflow: hidden; }
.spain-experience-grid figure { margin: 0; }
.spain-experience-grid img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.spain-experience-grid article > div { min-height: 300px; padding: clamp(34px, 5vw, 58px); }
.spain-experience-grid h3 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.03em; line-height: 1.02; margin: 42px 0 20px; }
.spain-experience-grid p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; }
.spain-gallery { border-top: 1px solid #c5beb6; margin: 0 auto; padding: 110px 0 130px; width: var(--content); }
.spain-gallery-grid { display: grid; gap: 16px; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 68px; }
.spain-gallery-grid figure { grid-column: span 2; margin: 0; overflow: hidden; }
.spain-gallery-grid figure:first-child { grid-column: span 4; }
.spain-gallery-grid figure:last-child { grid-column: span 2; }
.spain-gallery-grid img { aspect-ratio: 5 / 4; border-radius: var(--r-md); height: 100%; object-fit: cover; width: 100%; }
.spain-gallery-grid figure:first-child img { aspect-ratio: 2 / 1; }
.spain-included { color: var(--paper); padding: 120px clamp(24px, 6vw, 92px); }
.spain-included > * { position: relative; z-index: 2; }
.spain-included .spain-section-heading .eyebrow { color: var(--gold); }
.spain-included .spain-section-heading h2 { color: var(--gold-light); }
.spain-included-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 75px 0 55px; }
.spain-included-grid article { border-left: 1px solid #4b463f; min-height: 430px; padding: 8px clamp(30px, 4vw, 58px); }
.spain-included-grid article:first-child { border-left: 0; padding-left: 0; }
.spain-included-grid span { color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .13em; }
.spain-included-grid h3 { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-item); font-weight: 400; margin: 45px 0 28px; }
.spain-included-grid li, .spain-included-grid p { color: var(--on-dark); font-size: var(--t-small); line-height: 1.7; }
.spain-included-grid ul { list-style: none; margin: 0; padding: 0; }
.spain-included-grid li { border-top: 1px solid #3e3a35; padding: 13px 0; }
.spain-included > .button { background: var(--gold); color: var(--black); }
.spain-reasons { margin: 0 auto; padding: 125px 0; width: var(--content); }
.spain-reasons-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 65px; }
.spain-reasons details, .spain-faq details { background: #f8f7f4; border: 1px solid #cec8c0; border-radius: var(--r-md); }
.spain-reasons summary, .spain-faq summary { cursor: pointer; font-family: var(--serif); list-style: none; position: relative; }
.spain-reasons summary::-webkit-details-marker, .spain-faq summary::-webkit-details-marker { display: none; }
.spain-reasons summary { align-items: center; display: flex; font-size: var(--t-item); gap: 18px; line-height: 1.15; min-height: 98px; padding: 24px 68px 24px 26px; }
.spain-reasons summary::after, .spain-faq summary::after { color: var(--gold-deep); content: "+"; font-family: var(--sans); font-size: var(--t-item); font-weight: 300; position: absolute; right: 27px; top: 50%; transform: translateY(-50%); }
.spain-reasons details[open] summary::after, .spain-faq details[open] summary::after { content: "−"; }
.spain-reasons summary span { color: var(--gold-deep); font-family: var(--sans); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; }
.spain-reasons details p { border-top: 1px solid #d3cec7; color: var(--ink-soft); font-size: var(--t-small); line-height: 1.75; margin: 0 26px; padding: 25px 0 30px; }
.spain-testimonials { border-top: 1px solid #c5beb6; margin: 0 auto; padding: 120px 0 135px; width: var(--content); }
.spain-testimonial-feature { align-items: center; display: grid; gap: clamp(45px, 8vw, 110px); grid-template-columns: 180px minmax(0, 1fr); margin: 80px 0 65px; }
.spain-testimonial-feature figure, .spain-testimonial-grid figure { margin: 0; }
.spain-testimonial-feature img { border-radius: 90px 90px 24px 24px; width: 180px; }
.spain-testimonial-feature blockquote { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-section); line-height: 1.2; margin: 0; }
.spain-testimonial-feature blockquote p { margin: 0; }
.spain-testimonial-feature cite { color: var(--ink-soft); display: flex; flex-direction: column; font-family: var(--sans); font-size: var(--t-meta); font-style: normal; gap: 4px; margin-top: 30px; }
.spain-testimonial-feature cite strong { color: var(--black); }
.spain-testimonial-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.spain-testimonial-grid article { border: 1px solid #cec8c0; border-radius: var(--r-md); padding: 34px; }
.spain-testimonial-grid img { border-radius: 60px 60px 18px 18px; height: 120px; object-fit: cover; width: 96px; }
.spain-testimonial-grid blockquote { font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin: 34px 0; }
.spain-testimonial-grid cite { color: var(--gold-deep); font-size: var(--t-label); font-style: normal; font-weight: 800; }
.spain-faq { margin: 0 auto; max-width: 920px; padding: 0 24px 130px; }
.spain-faq .spain-section-heading { margin-bottom: 62px; }
.spain-faq details { border-left: 0; border-radius: 0; border-right: 0; border-top: 1px solid #c5beb6; margin: 0; }
.spain-faq details:last-child { border-bottom: 1px solid #c5beb6; }
.spain-faq summary { font-size: var(--t-item); line-height: 1.2; padding: 28px 70px 28px 0; }
.spain-faq details p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.75; margin: 0; max-width: var(--measure); padding: 0 0 32px; }
.spain-closing { align-items: center; border-radius: var(--r-lg); color: var(--black); display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) auto; margin: 0 auto 120px; padding: clamp(55px, 7vw, 90px); width: var(--content); }
.spain-closing > * { position: relative; z-index: 2; }
.spain-closing .eyebrow { margin-bottom: 25px; }
.spain-closing h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0; max-width: 900px; }
.spain-closing p { font-size: var(--t-body); line-height: 1.7; max-width: var(--measure); }
.spain-closing-actions { align-items: flex-start; display: flex; flex-direction: column; gap: 22px; min-width: 230px; }
.spain-closing .button { background: var(--black); color: var(--gold-light); }
.spain-closing-actions > a:not(.button) { font-size: var(--t-meta); font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 5px; }

@media (max-width: 1080px) {
  .site-header { grid-template-columns: 1fr auto; }
  .primary-nav { display: none; }
  .hero { grid-template-columns: 1fr .48fr; }
  .hero-object { margin-left: 30px; }
	.spain-facts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.spain-facts-grid article:nth-child(4) { border-left: 0; padding-left: 0; }
  .about { grid-template-columns: .85fr 1.15fr; }
  .portrait { grid-column: 2; }
}

@media (max-width: 860px) {
  /* De regels voor .site-header, .menu-toggle, .primary-nav en .site-menu die
     hier stonden zijn verwijderd. Ze kwamen uit de vorige header en werden al
     vervangen door het blok "Editorial navigation" onderaan dit bestand. Ze
     deden onder 860px nog wel actief kwaad: de regel voor > span gaf het woord
     "Menu" een gouden streep dwars door de letters en plette het icoon, en de
     display-schakelaar op .primary-nav blokkeerde de animatie van het paneel. */
  .hero, .vision, .about, .fit, .offer { grid-template-columns: 1fr; }
  .hero { min-height: auto; }
  .hero-copy { padding: 55px 0 80px; }
  .hero-object { border-radius: var(--r-md); margin: 0; min-height: 470px; transform: none; }
	.authority { grid-template-columns: repeat(2, 1fr); }
	.proof-grid { grid-template-columns: 1fr; }
	/* Nummer links, kop en tekst onder elkaar rechts. */
	.method-steps li { grid-template-columns: minmax(52px, 11vw) minmax(0, 1fr); gap: 20px clamp(18px, 4vw, 34px); }
	.method-steps li > p { grid-column: 2; }
	.authority article { border-top: 1px solid #c0bab2; }
	.authority article:nth-child(-n+2) { border-top: 0; }
	.authority article:nth-child(odd) { border-left: 0; }
	.vision > blockquote, .vision > .cost-closing, .portrait, .offer header { grid-column: 1; }
  .portrait { max-width: none; min-height: 720px; }
  .statement { align-items: flex-start; flex-direction: column; gap: 30px; }
  .statement h2 { text-align: left; }
	.proof-grid figure { min-height: 0; padding-bottom: 34px; }
	.article-entry { gap: 10px; grid-template-columns: 1fr; padding-block: 26px; }
	.tips-list { border-radius: var(--r-md); }
	.tip-block {
		gap: 22px 26px;
		grid-template-columns: 44px minmax(0, 1fr);
	}
	.tip-block::before { grid-column: 1; grid-row: 1; }
	.tip-block h2 { grid-column: 2; }
	.tip-block-body { grid-column: 2; }
	.jessica-opening, .jessica-book, .jessica-character { grid-template-columns: 1fr; }
	.jessica-main-portrait { max-width: 560px; }
	.jessica-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.jessica-facts article { border-top: 1px solid #bdb7af; }
	.jessica-facts article:nth-child(-n+2) { border-top: 0; }
	.jessica-facts strong { font-size: var(--t-item); }
	.jessica-facts article:nth-child(odd) { border-left: 0; padding-left: 0; }
	.jessica-approach-grid, .jessica-more-grid { grid-template-columns: 1fr; }
	.jessica-approach-grid article { border-left: 0; border-top: 1px solid #4b463f; padding: 40px 0; }
	.jessica-approach-grid article:first-child { border-top: 0; }
	.jessica-more-grid a { min-height: 230px; }
	.jessica-book-cover { min-height: 0; max-width: 430px; width: 100%; }
	.spain-hero { grid-template-columns: 1fr; }
	.spain-hero-image { min-height: 0; }
	.spain-hero-image img { aspect-ratio: 4 / 3; border-radius: var(--r-md); }
	.spain-purpose, .spain-freedom, .spain-closing { grid-template-columns: 1fr; }
	.spain-freedom img { aspect-ratio: 16 / 10; border-radius: var(--r-md); }
	.spain-included-grid { grid-template-columns: 1fr; }
	.spain-included-grid article { border-left: 0; border-top: 1px solid #4b463f; min-height: 0; padding: 45px 0; }
	.spain-included-grid article:first-child { border-top: 0; }
	.spain-testimonial-grid { grid-template-columns: 1fr; }
	.spain-closing-actions { min-width: 0; }
}

@media (max-width: 640px) {
  body.admin-bar .site-header { margin-top: 58px; }
  .site-header { gap: 5px; grid-template-columns: 1fr auto auto; margin: 11px 12px 0; min-height: 70px; padding-left: 19px; }
  .site-brand strong { font-size: var(--t-body-lg); }
  .site-brand span { display: none; }
	.header-cta { font-size: var(--t-label); padding: 13px 14px; }
  .hero { border-radius: var(--r-md); margin: 12px; padding: 26px; }
  .hero-copy { padding: 45px 0 65px; }
  .hero-copy > p { font-size: var(--t-small); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-object { border-radius: var(--r-md); min-height: 430px; padding: 30px; }
  .authority { margin: 0 22px; }
  .authority article { padding-left: 0; padding-right: 0; }
  /* Alleen de zijkanten. De verticale ruimte komt van de ritmeschaal, die via
     clamp() vanzelf meeschaalt naar 56, 78 en 104 pixels op deze breedte. */
  .method, .about, .fit, .offer { padding-inline: 22px; }
  .vision { margin: 0 22px; }
  .vision h2, .about-heading h2, .fit h2, .offer header h2 { font-size: var(--t-section); }
  .vision > blockquote { border-left: 0; border-top: 1px solid #b8b1a8; padding: 28px 0 0; }
  .statement { padding: 50px 22px; }
  .statement h2 { font-size: var(--t-section); }
	.scan-band { align-items: flex-start; flex-direction: column; }
  .method header h2 { font-size: var(--t-section); }
  .method-steps { margin-top: 48px; }
  /* Op een telefoon is er geen ruimte voor een nummerkolom naast de tekst. */
  .method-steps li { gap: 12px; grid-template-columns: 1fr; padding-block: 34px; }
  .method-steps li:nth-child(2) { padding-block: 42px; }
  .method-steps li:nth-child(3) { padding-block: 50px; }
  .method-steps li > span, .method-steps li > h3, .method-steps li > p { grid-column: 1; }
  .method-steps li > span { font-size: var(--t-quote); }
  .portrait { border-radius: var(--r-md); min-height: 600px; }
  .offer-card { border-radius: var(--r-md); min-height: 500px; padding: 34px 27px; }
  .offer-card h3 { font-size: var(--t-section); margin-top: auto; }
  .proof { padding-inline: 22px; }
	.proof-grid { margin-top: 55px; }
	.proof-grid blockquote { font-size: var(--t-item); }
  .site-footer { padding-block-end: 65px; padding-inline: 22px; }
	.site-footer--offer-hub { padding-top: 56px; }
  .site-footer h2 { font-size: var(--t-section); }
	.footer-menu { align-items: flex-start; flex-direction: column; }
  .footer-meta { align-items: flex-start; flex-direction: column; gap: 15px; }
	.site-footer--minimal { padding: 22px 0 14px; }
	.footer-minimal { width: calc(100% - 44px); }
	/* minmax(0, 1fr), anders wordt de kolom zo breed als het langste woord en
	   schoof de footer op 375 pixels 32 pixels het beeld uit. */
	.footer-minimal-main { align-items: start; gap: 24px; grid-template-columns: minmax(0, 1fr); }
	.footer-minimal-main > * { min-width: 0; overflow-wrap: anywhere; }
	.footer-minimal-nav { display: grid; gap: 12px 30px; grid-template-columns: repeat(2, minmax(0, max-content)); }
	.footer-contact { grid-column: auto; }
	.footer-contact-grid { gap: 14px; grid-template-columns: 1fr; }
	.footer-contact-location { grid-column: auto; }
	.footer-minimal-meta { align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 18px; }
	.footer-minimal-meta > div { flex-wrap: wrap; gap: 9px 18px; }
	.page-hero { border-radius: var(--r-md); margin: 12px; min-height: 340px; padding: 55px 26px; }
	/* overflow-wrap: anywhere brak "Hersenspinsels" af als "Hersenspinse ls".
	   Met hyphens: auto zet de browser er een echt afbreekstreepje in op een
	   plek die klopt, en break-word blijft als vangnet voor woorden waar geen
	   afbreekpunt in zit. Het html-element heeft lang="nl-NL", dus de browser
	   gebruikt de Nederlandse woordenlijst. */
	.page-content { font-size: var(--t-body); margin-left: 38px; margin-right: 22px; padding: 70px 0 90px; }
	.entry-featured-image { margin-top: 38px; width: calc(100% - 44px); }
	.jessica-page-content { padding-top: 70px; }
	.jessica-opening { gap: 45px; width: calc(100% - 44px); }
	.jessica-opening-copy p, .jessica-story p, .jessica-book-copy p, .jessica-character-copy p { font-size: var(--t-body); }
	.jessica-main-portrait { border-radius: var(--r-md); max-width: none; }
	.jessica-facts { margin-top: 70px; width: calc(100% - 44px); }
	.jessica-facts article { min-height: 0; padding: 26px 14px 26px 20px; }
	.jessica-facts article:nth-child(odd) { padding-left: 0; }
	.jessica-facts strong { font-size: var(--t-body-lg); }
	.jessica-story { margin: 70px 22px 90px; }
	.jessica-story h2 { font-size: var(--t-quote); }
	.jessica-approach { border-radius: var(--r-md); margin-bottom: 90px; padding: 65px 26px; width: calc(100% - 24px); }
	.jessica-approach h2 { font-size: var(--t-section); }
	.jessica-approach-grid { margin-top: 48px; }
	.jessica-character { gap: 48px; margin-bottom: 90px; width: calc(100% - 44px); }
	.jessica-character-quote blockquote { font-size: var(--t-section); }
	.jessica-character-copy h2 { font-size: var(--t-section); }
	.jessica-book { border-radius: var(--r-md); gap: 38px; margin-bottom: 90px; padding: 30px; width: calc(100% - 24px); }
	.jessica-book-cover { border-radius: var(--r-md); }
	.jessica-book-copy h2 { font-size: var(--t-section); }
	.jessica-more { padding-bottom: 90px; width: calc(100% - 44px); }
	.jessica-more > header { align-items: flex-start; flex-direction: column; gap: 20px; }
	.jessica-more h2 { font-size: var(--t-section); }
	.jessica-more-grid a { border-radius: var(--r-md); min-height: 210px; padding: 28px; }

	.article-tools { padding: 60px 0 25px; width: calc(100% - 44px); }
	.article-filters { gap: 7px; }
	.article-filters a { font-size: var(--t-label); padding: 11px 13px; }
	.tips-promo { align-items: flex-start; flex-direction: column; gap: 8px; }
	.article-index { width: calc(100% - 44px); }
	.article-entry h2 { max-width: none; }
	.tips-list { border-radius: var(--r-md); margin: 36px 12px 32px; width: calc(100% - 24px); }
	.tip-block {
		gap: 18px 16px;
		grid-template-columns: 38px minmax(0, 1fr);
		padding: 34px 22px 38px;
	}
	.tip-block::before { height: 36px; width: 36px; }
	.tip-block h2 { font-size: var(--t-quote); }
	.tip-block-body p { font-size: var(--t-body); }
	.tip-block:nth-child(7) { padding-block: 44px; }
	.tips-back { padding-bottom: 90px; width: calc(100% - 44px); }
	.spain-hero { border-radius: var(--r-md); gap: 44px; margin: 12px; min-height: 0; padding: 48px 26px 26px; }
	.spain-hero-copy > p { font-size: var(--t-body); margin-top: 27px; }
	.spain-date-note { line-height: 1.5; margin-top: 28px; }
	.spain-hero-actions { align-items: flex-start; flex-direction: column; }
	.spain-anchor-nav { justify-content: flex-start; margin-top: 12px; max-width: calc(100% - 24px); overflow-x: auto; padding: 6px; top: 8px; }
	.spain-anchor-nav a { flex: 0 0 auto; }
	.spain-section-heading h2 { font-size: var(--t-section); }
	.spain-facts { padding: 80px 0 50px; width: calc(100% - 44px); }
	.spain-facts-grid { grid-template-columns: 1fr; margin-top: 48px; }
	.spain-facts-grid article, .spain-facts-grid article:first-child, .spain-facts-grid article:nth-child(4) { border-left: 0; border-top: 1px solid #c5beb6; min-height: 0; padding: 26px 0 30px; }
	.spain-facts-grid strong { margin-top: 28px; }
	.spain-purpose { gap: 45px; grid-template-columns: 1fr; padding: 55px 0 90px; width: calc(100% - 44px); }
	.spain-purpose-copy h2 { font-size: var(--t-section); }
	.spain-purpose-copy p { font-size: var(--t-body); }
	.spain-purpose-image img { border-radius: var(--r-md); }
	.spain-freedom { border-radius: var(--r-md); gap: 42px; margin: 0 12px; padding: 55px 26px 26px; width: auto; }
	.spain-freedom h2 { font-size: var(--t-section); }
	.spain-freedom p { font-size: var(--t-body); }
	.spain-experiences { padding: 90px 0 80px; width: calc(100% - 44px); }
	.spain-experience-grid { gap: 14px; grid-template-columns: 1fr; margin-top: 48px; }
	.spain-experience-grid article { border-radius: var(--r-md); }
	.spain-experience-grid article > div { min-height: 0; padding: 34px 27px 40px; }
	.spain-experience-grid h3 { font-size: var(--t-item); margin-top: 30px; }
	.spain-gallery { padding: 75px 0 90px; width: calc(100% - 44px); }
	.spain-gallery-grid { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 45px; }
	.spain-gallery-grid figure, .spain-gallery-grid figure:first-child, .spain-gallery-grid figure:last-child { grid-column: span 1; }
	.spain-gallery-grid figure:first-child { grid-column: span 2; }
	.spain-gallery-grid img { border-radius: var(--r-md); }
	.spain-included { border-radius: var(--r-md); margin: 0 12px; padding: 75px 26px; }
	.spain-included-grid { margin-top: 50px; }
	.spain-included-grid h3 { margin-top: 28px; }
	.spain-reasons { padding: 90px 0; width: calc(100% - 44px); }
	.spain-reasons-grid { grid-template-columns: 1fr; margin-top: 45px; }
	.spain-reasons summary { font-size: var(--t-item); min-height: 88px; padding-left: 21px; }
	.spain-testimonials { padding: 85px 0 95px; width: calc(100% - 44px); }
	.spain-testimonial-feature { align-items: flex-start; gap: 28px; grid-template-columns: 1fr; margin: 55px 0; }
	.spain-testimonial-feature img { border-radius: 55px 55px 16px 16px; height: 138px; object-fit: cover; width: 110px; }
	.spain-testimonial-feature blockquote { font-size: var(--t-item); }
	.spain-testimonial-grid article { border-radius: var(--r-md); padding: 28px; }
	.spain-testimonial-grid blockquote { font-size: var(--t-body-lg); }
	.spain-faq { padding: 0 22px 95px; }
	.spain-faq summary { font-size: var(--t-item); }
	.spain-closing { border-radius: var(--r-md); gap: 40px; margin: 0 12px 90px; padding: 55px 26px; width: auto; }
	.spain-closing h2 { font-size: var(--t-section); }
}

/* Contact page */
.contact-page { --contact-outer-gutter: clamp(12px, 3vw, 42px); --contact-inner-padding: clamp(42px, 5vw, 72px); --contact-content-width: min(1240px, calc(100vw - var(--contact-outer-gutter) - var(--contact-outer-gutter) - var(--contact-inner-padding) - var(--contact-inner-padding))); overflow: clip; }
.contact-hero { align-items: center; border-radius: var(--r-lg); color: var(--paper); display: flex; justify-content: center; margin: 14px var(--contact-outer-gutter) 0; min-height: 0; padding: clamp(42px, 5vw, 72px) 0; }
.contact-hero-inner { align-items: center; display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, 1.1fr) minmax(0, .78fr); width: var(--contact-content-width); }
.contact-hero-copy { align-self: center; max-width: 720px; }
.contact-hero .contact-hero-copy > .eyebrow { color: var(--gold); margin-bottom: 22px; }
.contact-hero h1 { color: var(--gold-light); font-size: var(--t-page); font-weight: 600; letter-spacing: -.045em; line-height: .94; margin: 0; max-width: 12ch; }
.contact-hero-copy > p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.62; margin: 22px 0 28px; max-width: 56ch; }
.contact-hero-shield { justify-self: end; margin-left: 0; max-width: 470px; min-height: clamp(360px, 33vw, 450px); padding: clamp(28px, 3vw, 42px); width: 100%; }
.contact-hero-shield .eyebrow { color: var(--black); margin: 0; }
.contact-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.08; margin: auto 0 0; max-width: 12ch; }
.contact-hero-shield .hero-object-who { margin-top: 22px; }
.contact-content { margin: 0; max-width: none; padding: 0; }
.contact-main { align-items: start; display: grid; gap: clamp(42px, 5vw, 72px); grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); margin: 0 auto; padding: 76px 0; scroll-margin-top: 90px; width: var(--contact-content-width); }
.contact-information { padding-top: clamp(38px, 4vw, 52px); }
.contact-information > .eyebrow { margin-bottom: 32px; }
.contact-information > h2, .contact-form-heading h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0; }
.contact-lead { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.7; margin: 30px 0 42px; max-width: 56ch; }
.contact-steps { border-top: 1px solid #c7c0b6; }
.contact-steps article { padding: 24px 0; }
.contact-steps article > p:empty { display: none; }
.contact-steps article + article { border-top: 1px solid #d6d0c8; }
.contact-steps h3 { font-family: var(--serif); font-size: var(--t-item); font-weight: 500; margin: 0 0 10px; }
.contact-steps p { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.65; margin: 0; }
.contact-page .contact-direct { display: none; }
.contact-form-column { align-self: start; background: radial-gradient(circle at 85% 10%, rgba(185,134,61,.15), transparent 30%), linear-gradient(138deg,#0d0d0d,#191816); border: 1px solid rgba(185,134,61,.62); border-radius: var(--r-lg); color: var(--paper); padding: clamp(38px, 4vw, 52px); }
.contact-form-column > p, .contact-form-column > br { display: none; }
.contact-form-heading > span { color: var(--gold); display: block; font-size: var(--t-label); font-weight: 900; letter-spacing: .12em; margin-bottom: 32px; text-transform: uppercase; }
.contact-form-heading h2 { color: var(--gold-light); font-size: var(--t-section); margin-top: 0; }
.contact-form-heading p { color: var(--on-dark-soft); font-size: var(--t-small); margin: 30px 0 40px; }
.contact-form-panel { margin-top: 38px; }
.contact-form { display: grid; gap: 24px; }
.contact-field label { color: var(--gold-light); display: block; font-size: var(--t-label); font-weight: 850; letter-spacing: .08em; margin-bottom: 9px; text-transform: uppercase; }
.contact-field input, .contact-field textarea { background: rgba(243,241,237,.98); border: 1px solid #756c61; border-radius: var(--r-sm); color: var(--black); font: inherit; font-size: var(--t-body); outline: none; padding: 17px 18px; width: 100%; }
.contact-field textarea { line-height: 1.6; min-height: 180px; resize: vertical; }
.contact-field input:focus, .contact-field textarea:focus { border-color: var(--gold-light); box-shadow: 0 0 0 3px rgba(213,180,119,.18); }
.contact-consent { align-items: flex-start; color: var(--on-dark); display: flex; font-size: var(--t-meta); gap: 11px; line-height: 1.55; }
.contact-consent input { accent-color: var(--gold); flex: 0 0 auto; margin-top: 3px; }
.contact-form .button { justify-self: start; min-width: 190px; }
.contact-form-note { color: var(--on-dark-soft); font-size: var(--t-label); line-height: 1.55; margin: -8px 0 0; }
.contact-form-note a { color: var(--gold-light); }
.contact-form-message { border-radius: var(--r-sm); font-size: var(--t-meta); font-weight: 750; line-height: 1.5; margin-bottom: 25px; padding: 15px 17px; }
.contact-form-message.is-success { background: #dce7d4; color: #1e491c; }
.contact-form-message.is-error { background: #f2d9d5; color: #742d26; }
.contact-honeypot { height: 0; left: -9999px; margin: 0; overflow: hidden; position: absolute; width: 1px; }

/* Offer hub, method and trajectory pages */
.offer-page { overflow: clip; }
.offer-page-hero h1 { max-width: 1100px; }
.offer-breadcrumb { align-items: center; color: var(--laser); display: flex; font-size: var(--t-label); font-weight: 800; gap: 10px; letter-spacing: .08em; margin-bottom: 28px; text-transform: uppercase; }
.offer-breadcrumb a { color: var(--gold-light); text-decoration: none; }
.offer-breadcrumb a:hover, .offer-breadcrumb a:focus-visible { color: var(--white); text-decoration: underline; text-underline-offset: 5px; }
.offer-page-content { margin: 0; max-width: none; padding: 0; }
.offer-page-content h2, .offer-page-content h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.offer-page-content p, .offer-page-content li { color: var(--ink-soft); }
.offer-page-content a { text-underline-offset: 5px; }
.offer-capacity { align-items: end; display: grid; gap: clamp(40px, 8vw, 140px); grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); margin: 0 clamp(12px, 3vw, 42px) var(--space-wide); padding: clamp(65px, 9vw, 125px); }
.offer-capacity > * { position: relative; z-index: 2; }
.offer-capacity .eyebrow { color: var(--gold); margin-bottom: 28px; }
.offer-capacity h2 { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.045em; line-height: 1.1; margin: 0; max-width: 13ch; }
.offer-capacity > p { color: var(--on-dark); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.28; margin: 0; max-width: 27ch; }
.offer-section-heading { max-width: 940px; }
.offer-section-heading .eyebrow { color: var(--gold-deep); margin-bottom: 28px; }
.offer-section-heading h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; }
.offer-hub-intro { align-items: start; display: grid; gap: clamp(55px, 9vw, 135px); grid-template-columns: minmax(0, 1fr) minmax(310px, .62fr); margin: 0 auto; padding: 120px 0 56px; width: var(--content); }
.offer-hub-intro > div { max-width: 720px; }
.offer-hub-intro h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 38px; }
.offer-hub-intro p { font-size: var(--t-body-lg); line-height: 1.75; }
.offer-hub-intro .text-link, .trajectory-spain .text-link, .trajectory-next .text-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 22px; text-transform: uppercase; }
.offer-human-note {
	align-self: stretch;
	background:
		linear-gradient(180deg, rgba(18, 17, 16, .02) 0 28%, rgba(18, 17, 16, .54) 52%, rgba(18, 17, 16, .97) 78%),
		url("../images/jessica-portrait.jpg") center 18% / cover no-repeat;
	border: 1px solid rgba(143, 100, 43, .42);
	border-radius: var(--r-md);
	color: var(--paper);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 540px;
	padding: 230px 48px 44px;
	position: relative;
}
.offer-human-note > * { position: relative; z-index: 2; }
.offer-human-note > span { color: var(--gold-light); display: block; font-size: var(--t-label); font-weight: 900; letter-spacing: .13em; margin-bottom: 18px; text-shadow: 0 1px 12px rgba(0, 0, 0, .75); }
.offer-human-note strong { color: var(--paper); display: block; font-family: var(--serif); font-size: var(--t-section); font-weight: 400; line-height: 1.07; text-shadow: 0 2px 18px rgba(0, 0, 0, .7); }
.offer-human-note p { color: var(--on-dark); font-size: var(--t-small); line-height: 1.65; margin: 22px 0 0; text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
.offer-paths { border-top: 1px solid #c5beb6; margin: 0 auto; padding: 56px 0 100px; width: var(--content); }
.offer-path-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 75px; }
.offer-path-card { background: #e8e3dc; border: 1px solid #d0c8bd; border-radius: var(--r-lg); display: flex; flex-direction: column; min-height: 720px; padding: clamp(38px, 5vw, 68px); }
.offer-path-card--year { border-color: rgba(143,100,43,.45); }
.offer-card-top { align-items: center; border-bottom: 1px solid rgba(17,17,17,.22); display: flex; font-size: var(--t-label); justify-content: space-between; letter-spacing: .09em; padding-bottom: 20px; text-transform: uppercase; }
.offer-card-top span { font-weight: 900; }
.offer-card-top strong { font-weight: 700; }
.offer-path-photo { aspect-ratio: 2.2 / 1; border: 1px solid rgba(143,100,43,.35); border-radius: var(--r-md); margin: 30px 0 0; overflow: hidden; }
.offer-path-photo img { display: block; height: 100%; object-fit: cover; object-position: center 34%; width: 100%; }
.offer-path-card--year .offer-path-photo img { object-position: center top; }
.offer-path-photo + h3 { margin: 34px 0 24px; }
.offer-path-card h3 { font-size: var(--t-section); font-weight: 500; line-height: 1.02; margin: 78px 0 28px; max-width: 14ch; }
.offer-path-card > p { font-size: var(--t-body); line-height: 1.7; max-width: 570px; }
.offer-path-card > p + p { margin-top: 0; }
.offer-path-card ul { list-style: none; margin: 26px 0 38px; padding: 0; }
.offer-path-card li { border-top: 1px solid rgba(17,17,17,.15); color: var(--black); font-size: var(--t-meta); font-weight: 750; padding: 13px 0; }
.offer-path-card .button { align-self: flex-start; margin-top: auto; }
.offer-path-card--reset .button { background: var(--black); color: var(--gold-light); }
.offer-path-card--year .button { background: var(--black); color: var(--gold-light); }
.offer-comparison { background: #e8e3dc; padding: 120px clamp(24px, 6vw, 92px) 140px; }
.offer-comparison > header { display: grid; gap: 40px; grid-template-columns: .4fr 1fr; margin: 0 auto 70px; max-width: 1240px; }
.offer-comparison > header h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; }
.offer-comparison-table {
	background: #f7f5f1;
	border: 1px solid #bdb5aa;
	border-radius: var(--r-md);
	box-shadow: 0 24px 70px rgba(17, 17, 17, .07);
	margin: 0 auto;
	max-width: 1240px;
	overflow: hidden;
}
.offer-comparison-row {
	display: grid;
	gap: 0;
	grid-template-columns: .55fr 1fr 1fr;
}
.offer-comparison-row + .offer-comparison-row { border-top: 1px solid #c9c1b7; }
.offer-comparison-row > * { margin: 0; padding: 27px 30px; }
.offer-comparison-row > * + * { border-left: 1px solid #d4cdc4; }
.offer-comparison-row > span {
	background: #eeeae4;
	color: var(--gold-deep);
	font-size: var(--t-label);
	font-weight: 850;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.offer-comparison-row p { color: var(--ink); font-size: var(--t-small); line-height: 1.55; }
.offer-comparison-head { background: var(--black); color: var(--gold-light); }
.offer-comparison-head > * { align-items: center; display: flex; min-height: 96px; }
.offer-comparison-head > span { background: transparent; color: var(--gold); }
.offer-comparison-head > * + * { border-left-color: rgba(213, 180, 119, .22); }
.offer-comparison-head strong { font-family: var(--serif); font-size: var(--t-item); font-weight: 400; }
/* Het blok uit de inhoud blijft verborgen op overzichtspagina's. De gedeelde
   uitnodiging (.closing-cta, zie jessica_larive_closing_cta) niet. */
.offer-page--hub .offer-page-content > .offer-conversation:not(.closing-cta) { display: none; }
.offer-proof {
	border-radius: var(--r-lg);
	color: var(--paper);
	display: grid;
	gap: 32px 50px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto 90px;
	padding: clamp(48px, 5vw, 64px);
	width: var(--content);
}
.offer-page--hub .offer-proof { margin-bottom: 0; }
.offer-proof > * { position: relative; z-index: 2; }
.offer-proof > div:first-child {
	align-items: end;
	border-bottom: 1px solid #4b463f;
	display: grid;
	gap: 30px;
	grid-column: 1 / -1;
	grid-template-columns: .55fr 1.45fr;
	padding-bottom: 30px;
}
.offer-proof .eyebrow { color: var(--gold); margin: 0; }
.offer-proof h2 { color: var(--gold-light); font-size: var(--t-section); line-height: 1.04; margin: 0; max-width: 24ch; }
.offer-proof blockquote { color: var(--paper); font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin: 0; padding: 8px 0 0; }
.offer-proof blockquote + blockquote { border-left: 1px solid #4b463f; padding-left: 50px; }
.offer-proof cite { align-items: center; color: var(--on-dark-soft); display: flex; font-family: var(--sans); font-size: var(--t-label); font-style: normal; gap: 14px; margin-top: 24px; }
.offer-proof .offer-proof-avatar { border: 1px solid rgba(213, 180, 119, .45); border-radius: 50%; display: block; height: 56px; object-fit: cover; width: 56px; }
.offer-proof cite span { display: flex; flex-direction: column; gap: 4px; }
.offer-proof cite strong { color: var(--paper); font-size: var(--t-meta); font-weight: 750; }
.offer-proof cite small { color: var(--on-dark-soft); font-size: var(--t-label); }
.offer-proof > .text-link { color: var(--gold-light); font-size: var(--t-meta); font-weight: 800; grid-column: 1 / -1; }
.offer-conversation { align-items: center; border-radius: var(--r-lg); display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) auto; margin: 120px auto; padding: clamp(55px, 7vw, 90px); width: var(--content); }
.offer-conversation > * { position: relative; z-index: 2; }
.offer-conversation .eyebrow { margin-bottom: 28px; }
.offer-conversation h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; max-width: 900px; }
.offer-conversation p { font-size: var(--t-body); line-height: 1.7; max-width: var(--measure); }
.offer-conversation.brushed-gold .button, .offer-conversation.aged-black .button { background: var(--black); color: var(--gold-light); white-space: nowrap; }
.offer-conversation.aged-black { color: var(--paper); }
.offer-conversation.aged-black .eyebrow { color: var(--gold); }
.offer-conversation.aged-black h2 { color: var(--gold-light); }
.offer-conversation.aged-black p { color: var(--on-dark); }
.offer-conversation-actions { align-items: flex-start; display: flex; flex-direction: column; gap: 22px; }
.offer-conversation-actions .text-link { color: var(--gold-light); font-size: var(--t-meta); font-weight: 800; }

.offer-page--method .offer-page-hero { min-height: 0; padding: clamp(42px, 5vw, 72px); }
.offer-page--method .page-hero-inner { align-items: center; column-gap: clamp(28px, 4vw, 64px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(420px, .88fr); }
.offer-page--method .offer-page-hero .page-hero-inner > .eyebrow { margin-bottom: 22px; }
.offer-page--method .offer-page-hero .page-hero-inner > .eyebrow, .offer-page--method .offer-page-hero h1, .offer-page--method .offer-page-hero .page-hero-inner > p { grid-column: 1; }
.offer-page--method .offer-page-hero h1 { font-size: var(--t-page); line-height: .94; max-width: 12ch; }
.offer-page--method .offer-page-hero .page-hero-inner > p { font-size: var(--t-body); margin-top: 22px; max-width: 58ch; }
.method-hero-shield { align-self: stretch; grid-column: 2; grid-row: 1 / span 3; justify-content: flex-start; margin-left: 0; min-height: clamp(440px, 44vw, 560px); padding: clamp(32px, 4vw, 58px); }
.method-hero-shield .eyebrow { color: var(--black); margin: 0; }
.method-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; letter-spacing: -.025em; line-height: 1.14; margin: auto 0 0; max-width: 13ch; }
.method-hero-shield .hero-object-who { margin-top: 22px; }
.method-opening { align-items: start; display: grid; gap: clamp(52px, 7vw, 95px); grid-template-columns: minmax(0, 1.12fr) minmax(290px, .68fr); margin: 0 auto; padding: 76px 0; width: var(--content); }
.method-opening > div { max-width: 720px; }
.method-opening h2 { font-size: var(--t-section); line-height: 1.02; margin: 0 0 28px; }
.method-opening p { font-size: var(--t-body); line-height: 1.7; margin: 0 0 18px; }
.method-opening p:last-child { margin-bottom: 0; }
.method-question-card { border-bottom: 1px solid #b8b0a6; border-top: 1px solid #b8b0a6; padding: 27px 0 30px; }
.method-question-card > span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 900; letter-spacing: .12em; }
.method-question-card p { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.25; margin: 25px 0 0; }
.method-question-card p + p { border-top: 1px solid #d1cbc3; padding-top: 22px; }
.method-human { align-items: start; color: var(--paper); display: grid; gap: clamp(38px, 5vw, 72px); grid-template-columns: minmax(210px, .55fr) minmax(0, .78fr) minmax(0, 1.17fr); padding: 76px clamp(24px, 6vw, 92px); }
.method-human > * { position: relative; z-index: 2; }
.method-human-portrait { margin: 0; max-width: 290px; }
.method-human-portrait img { aspect-ratio: 2 / 3; border: 1px solid rgba(213,180,119,.42); border-radius: var(--r-md); display: block; height: auto; object-fit: cover; width: 100%; }
.method-human h2 { color: var(--gold-light); font-size: var(--t-section); line-height: 1.1; margin: 0; }
.method-human p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.7; margin: 0 0 18px; }
.method-core-position { margin: 0 auto; padding: 82px 0 42px; width: var(--content); }
.method-core-intro { align-items: start; display: grid; gap: clamp(52px, 7vw, 95px); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.method-core-position .eyebrow { margin-bottom: 22px; }
.method-core-position h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; max-width: 10ch; }
.method-core-lead { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.2; margin: 25px 0 0; max-width: 18ch; }
.method-core-copy { border-top: 1px solid #c5beb6; padding-top: 25px; }
.method-core-copy p { font-size: var(--t-body); line-height: 1.7; margin: 0 0 19px; max-width: var(--measure); }
.method-core-copy p:last-child { margin-bottom: 0; }
.method-core-movements { border-bottom: 1px solid #c5beb6; border-top: 1px solid #c5beb6; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 54px; }
.method-core-movements article { padding: 30px 36px 32px 0; }
.method-core-movements article + article { border-left: 1px solid #c5beb6; padding-left: 36px; }
.method-core-movements h3 { color: var(--gold-deep); font-family: var(--sans); font-size: var(--t-label); font-weight: 900; letter-spacing: .07em; line-height: 1.35; margin: 0 0 20px; text-transform: uppercase; }
.method-core-movements p { font-family: var(--serif); font-size: var(--t-item); line-height: 1.3; margin: 0; }
.method-principles { margin: 0 auto; padding: 72px 0 62px; width: var(--content); }
.method-principles > header { align-items: end; display: grid; gap: 45px; grid-template-columns: minmax(170px, .55fr) minmax(0, 1.45fr); margin-bottom: 42px; }
.method-principles > header .eyebrow { align-self: start; padding-top: 10px; }
.method-principles > header h2 { font-size: var(--t-section); line-height: 1.02; margin: 0; max-width: 17ch; }
.method-principles-grid { border-top: 1px solid #c5beb6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.method-principles article { border-bottom: 1px solid #c5beb6; padding: 32px 42px 34px 0; }
.method-principles article:nth-child(even) { border-left: 1px solid #c5beb6; padding-left: 42px; }
.method-principles h3 { color: var(--black); font-size: var(--t-item); line-height: 1.08; margin: 0 0 17px; }
.method-principles p { font-size: var(--t-body); line-height: 1.68; margin: 0; }
.method-academy { align-items: start; border-radius: var(--r-lg); display: grid; gap: clamp(40px, 6vw, 75px); grid-template-columns: .82fr 1.18fr; margin: 0 auto 76px; padding: clamp(45px, 5vw, 62px); width: var(--content); }
.method-academy > * { position: relative; z-index: 2; }
.method-academy h2 { font-size: var(--t-section); line-height: 1; margin: 0; }
.method-academy > p { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.38; margin: 0; }

.trajectory-intro { align-items: start; display: grid; gap: clamp(60px, 9vw, 135px); grid-template-columns: minmax(0, 1fr) minmax(310px, .55fr); margin: 0 auto; padding: 120px 0; width: var(--content); }
.trajectory-intro > div { max-width: 750px; }
.trajectory-intro h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 38px; }
.trajectory-intro p { font-size: var(--t-body-lg); line-height: 1.75; }
.trajectory-stakes { border-radius: var(--r-md); padding: 50px 42px; }
.trajectory-stakes > * { position: relative; z-index: 2; }
.trajectory-stakes > span { font-size: var(--t-label); font-weight: 900; letter-spacing: .12em; }
.trajectory-stakes h3 { font-family: var(--serif); font-size: var(--t-section); line-height: 1.05; margin: 62px 0 30px; }
.trajectory-stakes ul { list-style: none; margin: 0; padding: 0; }
.trajectory-stakes li { border-top: 1px solid rgba(17,17,17,.2); color: var(--black); font-size: var(--t-meta); line-height: 1.55; padding: 14px 0; }
.trajectory-stakes .button { background: var(--black); color: var(--gold-light); margin-top: 28px; }
.offer-investment-line { border-top: 1px solid rgba(213,180,119,.24); color: var(--gold-light) !important; font-size: var(--t-meta) !important; font-weight: 750; letter-spacing: .02em; margin-top: 28px; padding-top: 20px; }
.trajectory-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto 130px; width: var(--content); }
.trajectory-facts article { border-left: 1px solid #c5beb6; min-height: 145px; padding: 18px clamp(20px, 3vw, 42px); }
.trajectory-facts article:first-child { border-left: 0; padding-left: 0; }
.trajectory-facts span { color: var(--gold-deep); display: block; font-size: var(--t-label); font-weight: 900; margin-bottom: 24px; }
.trajectory-facts strong { font-family: var(--serif); font-size: var(--t-item); font-weight: 400; }
.trajectory-facts p { font-size: var(--t-meta); line-height: 1.5; }
.trajectory-route { color: var(--paper); padding: 120px clamp(24px, 6vw, 92px); }
.trajectory-route > * { position: relative; z-index: 2; }
.trajectory-route header { max-width: 950px; }
.trajectory-route .eyebrow { color: var(--gold); }
.trajectory-route h2 { color: var(--gold-light); font-size: var(--t-section); line-height: 1.1; margin: 30px 0 0; }
.trajectory-route ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 80px 0 0; padding: 0; }
.trajectory-route li { border-left: 1px solid #4b463f; min-height: 250px; padding: 10px clamp(18px, 2.6vw, 38px); }
.trajectory-route li:first-child { border-left: 0; padding-left: 0; }
.trajectory-route li span { color: var(--gold); display: block; font-size: var(--t-label); font-weight: 900; margin-bottom: 75px; }
.trajectory-route li strong { color: var(--paper); display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; overflow-wrap: anywhere; }
.trajectory-route li p { color: var(--on-dark-soft); font-size: var(--t-meta); line-height: 1.55; }
.trajectory-details { margin: 0 auto; padding: 140px 0; width: min(980px, calc(100vw - 48px)); }
.trajectory-details .offer-section-heading { margin-bottom: 70px; }
.trajectory-details details { border-top: 1px solid #c5beb6; }
.trajectory-details details:last-child { border-bottom: 1px solid #c5beb6; }
.trajectory-details summary { align-items: center; cursor: pointer; display: grid; gap: 25px; grid-template-columns: 55px 1fr 35px; list-style: none; padding: 28px 0; position: relative; }
.trajectory-details summary::-webkit-details-marker { display: none; }
.trajectory-details summary::after { color: var(--gold-deep); content: "+"; font-size: var(--t-item); grid-column: 3; text-align: right; }
.trajectory-details details[open] summary::after { content: "−"; }
.trajectory-details summary span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 900; }
.trajectory-details summary strong { font-family: var(--serif); font-size: var(--t-item); font-weight: 400; }
.trajectory-details details > div { max-width: var(--measure); padding: 0 0 38px 80px; }
.trajectory-details details p { font-size: var(--t-body); line-height: 1.75; }
.trajectory-faq { margin: 0 auto; padding: 64px 0 88px; width: var(--content); }
.trajectory-faq > header { margin-bottom: 34px; max-width: 900px; }
.trajectory-faq h2 { font-size: var(--t-section); line-height: 1.1; margin: 26px 0 0; }
.trajectory-faq details { border-top: 1px solid #c5beb6; }
.trajectory-faq details:last-child { border-bottom: 1px solid #c5beb6; }
/* De standaard .text-link is lichtgoud voor donkere vlakken. Op papier haalde
   die 1,75:1. */
.trajectory-faq .text-link { color: var(--gold-deep); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.trajectory-faq summary { align-items: center; cursor: pointer; display: flex; font-family: var(--serif); font-size: var(--t-quote); gap: 24px; justify-content: space-between; list-style: none; padding: 22px 0; }
.trajectory-faq summary::-webkit-details-marker { display: none; }
.trajectory-faq summary::after { color: var(--gold-deep); content: "+"; flex: 0 0 auto; font-family: var(--sans); font-size: var(--t-item); }
.trajectory-faq details[open] summary::after { content: "−"; }
.trajectory-faq details > div { max-width: var(--measure); padding: 0 48px 24px 0; }
.trajectory-faq details p { font-size: var(--t-body); line-height: 1.7; }
.trajectory-faq details .text-link { display: inline-block; margin-top: 6px; }
.trajectory-included, .trajectory-fit, .trajectory-next { display: grid; gap: clamp(55px, 9vw, 135px); grid-template-columns: .8fr 1.2fr; margin: 0 auto; padding: 120px 0; width: var(--content); }
.trajectory-included h2, .trajectory-fit h2, .trajectory-next h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 0; }
.trajectory-included ul, .trajectory-fit ul { list-style: none; margin: 0; padding: 0; }
.trajectory-included li, .trajectory-fit li { border-top: 1px solid #c5beb6; font-size: var(--t-body); line-height: 1.65; padding: 20px 0 20px 35px; position: relative; }
.trajectory-included li::before, .trajectory-fit li::before { color: var(--gold-deep); content: "→"; left: 0; position: absolute; }
.trajectory-spain { margin: 0 auto 120px; padding: clamp(55px, 8vw, 105px); width: var(--content); }
.trajectory-spain > div { max-width: 820px; position: relative; z-index: 2; }
.trajectory-spain h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0; }
.trajectory-spain p { color: var(--black); font-size: var(--t-body); line-height: 1.7; }
.trajectory-outcomes { margin: 120px auto; padding: clamp(55px, 8vw, 105px); width: var(--content); }
.trajectory-outcomes > * { position: relative; z-index: 2; }
.trajectory-outcomes h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 60px; max-width: 850px; }
.trajectory-outcomes ul { columns: 2; column-gap: 75px; list-style: none; margin: 0; padding: 0; }
.trajectory-outcomes li { border-top: 1px solid rgba(17,17,17,.22); break-inside: avoid; color: var(--black); font-size: var(--t-small); line-height: 1.6; padding: 18px 0; }
.trajectory-outcomes blockquote { border-top: 1px solid rgba(17,17,17,.32); color: var(--black); font-family: var(--serif); font-size: var(--t-statement); line-height: 1.15; margin: 70px 0 0; padding-top: 45px; }
.trajectory-next { border-top: 1px solid #c5beb6; }
.trajectory-next p { font-size: var(--t-body); line-height: 1.75; }
.trajectory-next > .text-link { align-self: end; justify-self: start; }

/* De trajectpagina's delen één compact, afgerond kaartensysteem. De foto op de
   RoofbouwReset wordt bewust als beeld getoond; het tekstvlak in het
   bronbestand valt buiten het kader. */
.offer-page--reset .offer-page-hero, .offer-page--year .offer-page-hero { min-height: 0; padding: clamp(28px, 3vw, 42px); }
.offer-page--reset .page-hero-inner, .offer-page--year .page-hero-inner { align-items: center; column-gap: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr); }
.offer-page--reset .offer-breadcrumb, .offer-page--year .offer-breadcrumb { grid-column: 1 / -1; }
.offer-page--reset .offer-page-hero .page-hero-inner > .eyebrow, .offer-page--reset .offer-page-hero h1, .offer-page--reset .offer-page-hero .page-hero-inner > p, .offer-page--reset .reset-hero-cta, .offer-page--year .offer-page-hero .page-hero-inner > .eyebrow, .offer-page--year .offer-page-hero h1, .offer-page--year .offer-page-hero .page-hero-inner > p, .offer-page--year .year-hero-cta { grid-column: 1; }
.offer-page--reset .offer-page-hero h1, .offer-page--year .offer-page-hero h1 { font-size: var(--t-page); line-height: .94; max-width: 12ch; }
.offer-page--reset .offer-page-hero h1, .offer-page--year .offer-page-hero h1 { hyphens: none; max-width: none; overflow-wrap: normal; word-break: normal; }
.offer-page--reset .offer-page-hero h1 span, .offer-page--year .offer-page-hero h1 span { display: block; white-space: nowrap; }
.offer-page--reset .offer-page-hero p, .offer-page--year .offer-page-hero p { font-size: var(--t-small); margin-top: 18px; max-width: 54ch; }
.offer-page--reset .reset-hero-cta, .offer-page--year .year-hero-cta { justify-self: start; margin-top: 22px; }
.reset-hero-shield { grid-row: 2 / span 4; }
.reset-hero-shield, .year-hero-shield { justify-self: end; max-width: 470px; min-height: clamp(360px, 33vw, 450px); padding: clamp(28px, 3vw, 42px); width: 100%; }
.year-hero-shield { grid-row: 2 / span 4; }
.reset-hero-shield blockquote, .year-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.08; }
.offer-page--reset .trajectory-intro, .offer-page--year .trajectory-intro { gap: clamp(48px, 6vw, 78px); grid-template-columns: minmax(0, 1.1fr) minmax(330px, .68fr); padding: 82px 0 64px; }
.offer-page--reset .trajectory-intro h2, .offer-page--year .trajectory-intro h2 { font-size: var(--t-section); margin: 24px 0 28px; }
.offer-page--reset .trajectory-intro p, .offer-page--year .trajectory-intro p { font-size: var(--t-body); line-height: 1.68; margin: 0 0 18px; }
.offer-page--reset .trajectory-stakes { padding: clamp(34px, 3vw, 44px); }
.offer-page--reset .trajectory-stakes h3 { font-size: var(--t-item); line-height: 1.1; margin: 38px 0 24px; }
.offer-page--reset .trajectory-stakes li { padding: 11px 0; }
.offer-page--reset .trajectory-stakes .button { margin-top: 22px; }
.offer-page--year .trajectory-stakes { padding: clamp(34px, 3vw, 44px); }
.offer-page--year .trajectory-stakes h3 { font-size: var(--t-item); line-height: 1.1; margin: 38px 0 24px; }
.offer-page--year .trajectory-stakes li { padding: 11px 0; }
.offer-page--year .trajectory-stakes .button { margin-top: 22px; }
@media (min-width: 901px) {
	.offer-page--year .trajectory-stakes { align-self: stretch; margin-bottom: clamp(42px, 4vw, 64px); }
}
.reset-process { margin: 0 auto; padding: 72px 0; width: var(--content); }
.reset-process > header { align-items: end; display: grid; gap: 44px; grid-template-columns: minmax(180px, .5fr) minmax(0, 1.5fr); margin-bottom: 42px; }
.reset-process > header .eyebrow { align-self: start; padding-top: 9px; }
.reset-process > header h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; max-width: 18ch; }
.reset-process-list { border-top: 1px solid #c5beb6; }
.reset-process article { align-items: start; border-bottom: 1px solid #c5beb6; display: grid; gap: clamp(28px, 4vw, 54px); grid-template-columns: minmax(145px, .42fr) minmax(0, 1.1fr) minmax(250px, .78fr); padding: 30px 0; }
.reset-process h3 { font-size: var(--t-item); line-height: 1.05; margin: 0; }
.reset-process article > p { font-size: var(--t-small); line-height: 1.65; margin: 0; }
.reset-process-outcome { border-left: 1px solid #c5beb6; color: var(--gold-deep) !important; padding-left: clamp(24px, 3vw, 40px); }
.year-process article { grid-template-columns: minmax(230px, .52fr) minmax(0, 1.1fr) minmax(250px, .78fr); }
.year-process h3 { font-size: var(--t-item); }
.offer-page--reset .trajectory-outcomes { border-radius: var(--r-lg); margin: 72px auto; padding: 64px; }
.offer-page--reset .trajectory-outcomes h2 { font-size: var(--t-section); line-height: 1.1; margin: 24px 0 40px; max-width: 900px; }
.offer-page--reset .trajectory-outcomes li { font-size: var(--t-small); padding: 15px 0; }
.offer-page--reset .trajectory-outcomes blockquote { font-size: var(--t-section); margin-top: 44px; padding-top: 34px; }
.offer-page--reset .trajectory-next { align-items: center; gap: clamp(48px, 6vw, 78px); grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr); padding: 72px 0; }
.offer-page--reset .trajectory-next h2 { font-size: var(--t-section); max-width: 16ch; }
.offer-page--reset .trajectory-next p { font-size: var(--t-body); line-height: 1.68; max-width: var(--measure); }
.offer-page--reset .trajectory-next .text-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 18px; text-transform: uppercase; }
.reset-next-photo { aspect-ratio: 1.42; border: 1px solid rgba(143,100,43,.42); border-radius: var(--r-md); margin: 0; overflow: hidden; }
.reset-next-photo img { display: block; height: auto; width: 100%; }
.offer-page--reset .offer-conversation, .offer-page--year .offer-conversation { gap: 60px; margin: 0 auto 72px; padding: 64px; }
.offer-page--reset .offer-conversation h2, .offer-page--year .offer-conversation h2 { font-size: var(--t-section); line-height: 1.1; }
.offer-page--year .trajectory-included, .offer-page--year .trajectory-fit { gap: clamp(48px, 6vw, 78px); padding: 72px 0; }
.offer-page--year .trajectory-fit { border-top: 1px solid #c5beb6; }
.offer-page--year .trajectory-included h2, .offer-page--year .trajectory-fit h2 { font-size: var(--t-section); }
.offer-page--year .trajectory-included li, .offer-page--year .trajectory-fit li { font-size: var(--t-small); padding-block: 16px; }
.offer-page--year .trajectory-outcomes { border-radius: var(--r-lg); margin: 72px auto; padding: 64px; }
.offer-page--year .trajectory-outcomes h2 { font-size: var(--t-section); line-height: 1.1; margin: 24px 0 40px; max-width: 900px; }
.offer-page--year .trajectory-outcomes li { font-size: var(--t-small); padding: 15px 0; }
.offer-page--year .trajectory-outcomes blockquote { font-size: var(--t-section); margin-top: 44px; padding-top: 34px; }
.offer-page--year .trajectory-spain { border-radius: var(--r-lg); margin: 72px auto; padding: 64px; }
.offer-page--year .trajectory-spain { align-items: center; display: grid; gap: clamp(40px, 6vw, 76px); grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); }
.offer-page--year .trajectory-spain-photo { aspect-ratio: 4 / 3; border: 1px solid rgba(17,17,17,.22); border-radius: var(--r-md); margin: 0; overflow: hidden; }
.offer-page--year .trajectory-spain-photo img { display: block; height: 100%; object-fit: cover; object-position: center 30%; width: 100%; }
.offer-page--year .trajectory-spain h2 { font-size: var(--t-section); line-height: 1.1; margin: 24px 0 30px; }
.offer-page--year .trajectory-spain p { font-size: var(--t-body); line-height: 1.68; }

@media (max-width: 900px) {
	.offer-page--reset .page-hero-inner, .offer-page--reset .trajectory-intro, .offer-page--reset .trajectory-next, .offer-page--year .page-hero-inner, .offer-page--year .trajectory-intro { grid-template-columns: 1fr; }
	.offer-page--year .trajectory-spain { grid-template-columns: 1fr; }
	.reset-hero-shield, .year-hero-shield { margin-top: 26px; min-height: 360px; }
	.reset-process > header { gap: 22px; grid-template-columns: 1fr; }
	.reset-process article { grid-template-columns: minmax(130px, .38fr) minmax(0, 1fr); }
	.year-process article { grid-template-columns: minmax(150px, .45fr) minmax(0, 1fr); }
	.reset-process-outcome { border-left: 0; grid-column: 2; padding-left: 0; }
}

.offer-card .offer-home-meta { border-bottom: 1px solid rgba(17,17,17,.25); display: flex; font-size: var(--t-label); font-weight: 850; justify-content: space-between; letter-spacing: .09em; padding-bottom: 18px; text-transform: uppercase; }
.offer-card .offer-home-price { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; margin-top: 20px; }
.offer-card .offer-home-note { font-size: var(--t-label); margin-top: 8px; }
.offer > .offer-home-choice { align-items: center; border: 1px solid rgba(185,134,61,.52); border-radius: var(--r-md); display: grid; gap: 50px; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; margin-top: 28px; overflow: hidden; padding: 42px 48px; }
.offer-home-choice > * { position: relative; z-index: 2; }
.offer-home-choice-copy { max-width: 760px; }
.offer-home-choice-copy > span { color: var(--gold); display: block; font-size: var(--t-label); font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.offer-home-choice h3 { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-section); font-weight: 400; line-height: 1.05; margin: 14px 0 10px; }
.offer-home-choice p { color: var(--on-dark); font-size: var(--t-small); line-height: 1.6; margin: 0; }
.offer-home-choice .button { background: var(--gold); color: var(--black); min-width: 230px; text-align: center; white-space: nowrap; }
.selection-intro { align-items: start; display: grid; gap: clamp(60px, 9vw, 135px); grid-template-columns: minmax(0, 1fr) minmax(310px, .58fr); margin: 0 auto; padding: 120px 0; width: var(--content); }
.selection-intro > div { max-width: 760px; }
.selection-intro h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 38px; }
.selection-intro p { font-size: var(--t-body-lg); line-height: 1.75; max-width: var(--measure); }
.selection-expectations { border-radius: var(--r-md); color: var(--paper); padding: 52px 42px; }
.selection-expectations > * { position: relative; z-index: 2; }
.selection-expectations > span { color: var(--gold); font-size: var(--t-label); font-weight: 900; letter-spacing: .12em; }
.selection-expectations ol { list-style: none; margin: 55px 0 0; padding: 0; }
.selection-expectations li { border-top: 1px solid #4b463f; display: grid; gap: 18px; grid-template-columns: 32px 1fr; padding: 23px 0; }
.selection-expectations li strong { color: var(--gold); font-size: var(--t-label); }
.selection-expectations li p { color: var(--on-dark); font-family: var(--serif); font-size: var(--t-body-lg); line-height: 1.3; margin: 0; }
.selection-fit { border-radius: var(--r-md); display: grid; gap: clamp(60px, 9vw, 135px); grid-template-columns: .9fr 1.1fr; margin: 0 auto 120px; padding: clamp(55px, 8vw, 100px); width: var(--content); }
.selection-fit > * { position: relative; z-index: 2; }
.selection-fit h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0 0; }
.selection-fit p { color: var(--black); font-size: var(--t-body-lg); line-height: 1.75; }
.selection-form-section { align-items: start; display: grid; gap: clamp(60px, 9vw, 135px); grid-template-columns: .72fr 1.28fr; margin: 0 auto 120px; width: var(--content); }
.selection-form-copy { padding-top: 45px; }
.selection-form-copy h2 { font-size: var(--t-section); line-height: 1.1; margin: 30px 0; }
.selection-form-copy p { font-size: var(--t-body); line-height: 1.75; }
.selection-form-column { border: 1px solid rgba(185,134,61,.62); border-radius: var(--r-lg); color: var(--paper); padding: clamp(38px, 5vw, 65px); }
.selection-form-column > * { position: relative; z-index: 2; }
.selection-form-column .contact-form-panel { margin-top: 0; }

/* De kennismakingspagina is een beslispagina, geen lange verkooppagina. */
.offer-page--selection .offer-page-hero { min-height: 365px; padding-bottom: clamp(52px, 5vw, 70px); padding-top: clamp(52px, 5vw, 70px); }
.offer-page--selection .offer-page-hero h1 { font-size: var(--t-page); max-width: 12ch; }
.offer-page--selection .offer-page-hero p { margin-top: 24px; max-width: 58ch; }
.selection-hero-button { background: var(--gold); color: var(--black); margin-top: 28px; }
.offer-page--selection .selection-intro { gap: clamp(48px, 6vw, 80px); grid-template-columns: minmax(0, 1.12fr) minmax(300px, .58fr); padding: 76px 0; }
.offer-page--selection .selection-intro > div { max-width: 680px; }
.offer-page--selection .selection-intro h2 { font-size: var(--t-section); margin: 24px 0 28px; }
.offer-page--selection .selection-intro p { font-size: var(--t-body); line-height: 1.7; margin: 0 0 18px; }
.offer-page--selection .selection-expectations { padding: 38px 34px 30px; }
.offer-page--selection .selection-expectations ol { margin-top: 34px; }
.offer-page--selection .selection-expectations li { gap: 14px; padding: 18px 0; }
.offer-page--selection .selection-expectations li p { font-size: var(--t-body-lg); }
.offer-page--selection .selection-fit { align-items: center; gap: clamp(42px, 5vw, 70px); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin-bottom: 76px; padding: 58px clamp(42px, 6vw, 76px); }
.offer-page--selection .selection-fit h2 { font-size: var(--t-section); margin-top: 24px; }
.offer-page--selection .selection-fit p { font-size: var(--t-body); line-height: 1.7; margin: 0 0 16px; }
.offer-page--selection .selection-fit p:last-child { margin-bottom: 0; }
.offer-page--selection .selection-form-section { gap: clamp(48px, 6vw, 82px); grid-template-columns: minmax(300px, .78fr) minmax(480px, 1.22fr); margin-bottom: 76px; }
.offer-page--selection .selection-form-copy { padding-top: 24px; }
.offer-page--selection .selection-form-copy h2 { font-size: var(--t-section); margin: 24px 0; }
.offer-page--selection .selection-form-copy p { font-size: var(--t-body); line-height: 1.7; margin-bottom: 16px; }
.offer-page--selection .selection-form-column { border-radius: var(--r-md); padding: clamp(34px, 4vw, 48px); }
.offer-page--selection .contact-form { gap: 20px; }
.offer-page--selection .contact-field textarea { min-height: 145px; }

@media (max-width: 900px) {
	.offer-hub-intro, .method-opening, .trajectory-intro, .method-human, .trajectory-included, .trajectory-fit, .trajectory-next, .selection-intro, .selection-fit, .selection-form-section, .offer-capacity { grid-template-columns: 1fr; }
	.offer-human-note { min-height: 540px; }
	.offer-path-grid { grid-template-columns: 1fr; }
	.offer-path-card { min-height: 650px; }
	.offer-comparison > header { grid-template-columns: 1fr; }
	.offer-proof { grid-template-columns: 1fr; }
	.offer-proof > div:first-child { grid-template-columns: 1fr; }
	.offer-proof blockquote + blockquote { border-left: 0; border-top: 1px solid #4b463f; padding-left: 0; padding-top: 32px; }
	.offer-proof > .text-link { grid-column: 1; }
	.offer-conversation { align-items: start; grid-template-columns: 1fr; }
	.method-core-intro { gap: 34px; grid-template-columns: 1fr; }
	.offer-page--method .page-hero-inner { grid-template-columns: 1fr; }
	.method-hero-shield { grid-column: 1; grid-row: auto; margin: 38px 0 0; min-height: 470px; }
	.method-human { grid-template-columns: 170px minmax(0, 1fr); }
	.method-human > div:last-child { grid-column: 1 / -1; }
	.method-human-portrait { max-width: 170px; }
	.method-core-position h2 { max-width: 12ch; }
	.method-core-copy { max-width: 720px; }
	.method-core-movements { grid-template-columns: 1fr; }
	.method-core-movements article { padding: 27px 0; }
	.method-core-movements article + article { border-left: 0; border-top: 1px solid #c5beb6; padding-left: 0; }
	.method-principles > header { gap: 18px; grid-template-columns: 1fr; }
	.method-principles-grid { grid-template-columns: 1fr; }
	.method-principles article, .method-principles article:nth-child(even) { border-left: 0; padding-inline: 0; }
	.method-academy { grid-template-columns: 1fr; }
	.trajectory-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.trajectory-facts article { border-top: 1px solid #c5beb6; }
	.trajectory-facts article:nth-child(-n+2) { border-top: 0; }
	.trajectory-facts article:nth-child(odd) { border-left: 0; padding-left: 0; }
	.trajectory-route ol { grid-template-columns: 1fr; }
	.trajectory-route li { border-left: 0; border-top: 1px solid #4b463f; min-height: 0; padding: 32px 0; }
	.trajectory-route li:first-child { border-top: 0; }
	.trajectory-route li span { margin-bottom: 25px; }
	.contact-hero-inner { grid-template-columns: 1fr; }
	.contact-hero-shield { justify-self: stretch; margin-top: 26px; max-width: none; min-height: 360px; }
	.contact-main { grid-template-columns: 1fr; }
	.contact-form-column { max-width: 720px; }
	.offer-page--selection .selection-intro, .offer-page--selection .selection-fit, .offer-page--selection .selection-form-section { grid-template-columns: 1fr; }
	.offer-page--selection .selection-form-column { max-width: none; width: 100%; }
}

@media (max-width: 640px) {
	.offer-page--reset .offer-page-hero h1 { font-size: clamp(38px, 10.8vw, 42px); }
	.offer-page--year .offer-page-hero h1 { font-size: clamp(38px, 10.8vw, 42px); }
	.offer-page--method .offer-page-hero { padding: 42px 26px 45px; }
	.offer-page--method .offer-page-hero .page-hero-inner > .eyebrow { margin-bottom: 18px; }
	.offer-page--method .offer-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.55; margin-top: 19px; }
	.method-hero-shield { margin-top: 30px; min-height: 443px; padding: clamp(28px, 6vw, 38px); transform: none; }
	.method-hero-shield blockquote { font-size: var(--t-section); line-height: 1; margin: clamp(26px, 6vw, 38px) 0; }
	.offer-capacity { border-radius: var(--r-md); gap: 38px; margin: 0 12px 90px; padding: 60px 26px; }
	.offer-capacity h2 { font-size: var(--t-section); }
	.offer-capacity > p { font-size: var(--t-item); }
	.offer-hub-intro, .method-opening, .trajectory-intro { gap: 48px; padding: 85px 0; width: calc(100% - 44px); }
	.offer-hub-intro h2, .method-opening h2, .trajectory-intro h2 { font-size: var(--t-section); }
	.offer-hub-intro p, .method-opening p, .trajectory-intro p { font-size: var(--t-body); }
	.method-opening { gap: 34px; padding: 52px 0; }
	.method-opening h2 { font-size: var(--t-quote); margin-bottom: 23px; }
	.method-opening p { font-size: var(--t-body); line-height: 1.65; }
	.offer-human-note { background-position: center 15%; border-radius: var(--r-md); min-height: 520px; padding: 230px 30px 34px; }
	.offer-hub-intro { padding-bottom: 42px; }
	.offer-paths { padding: 46px 0 64px; width: calc(100% - 44px); }
	.offer-section-heading h2 { font-size: var(--t-section); }
	.offer-path-grid { margin-top: 50px; }
	.offer-path-card { border-radius: var(--r-md); min-height: 620px; padding: 34px 27px; }
	.offer-path-photo { aspect-ratio: 2 / 1; border-radius: var(--r-sm); margin-top: 24px; }
	.offer-card-top { align-items: flex-start; flex-direction: column; gap: 8px; }
	.offer-path-card h3 { font-size: var(--t-section); margin-top: 55px; }
	.offer-path-photo + h3 { margin-top: 28px; }
	.offer-comparison { padding: 90px 22px; }
	.offer-comparison > header { margin-bottom: 48px; }
	.offer-comparison > header h2 { font-size: var(--t-section); }
	.offer-comparison-table { border-radius: var(--r-md); }
	.offer-comparison-row { grid-template-columns: 1fr 1fr; }
	.offer-comparison-row > * { padding: 18px 16px; }
	.offer-comparison-row > span { border-bottom: 1px solid #d4cdc4; grid-column: 1 / -1; padding-block: 14px; }
	.offer-comparison-row > span + p { border-left: 0; }
	.offer-comparison-head > span { display: none; }
	.offer-comparison-head strong { font-size: var(--t-body-lg); min-height: 80px; }
	.offer-comparison-head strong:first-of-type { border-left: 0; }
	.offer-comparison-row p { font-size: var(--t-meta); line-height: 1.55; }
	.offer-proof { border-radius: var(--r-md); gap: 24px; margin: 0 12px 70px; padding: 40px 24px; width: auto; }
	.offer-proof > div:first-child { gap: 16px; padding-bottom: 24px; }
	.offer-proof h2 { font-size: var(--t-quote); }
	.offer-proof blockquote { border-left: 0; border-top: 1px solid #4b463f; font-size: var(--t-body-lg); padding: 22px 0 0; }
	.offer-proof blockquote + blockquote { padding-top: 22px; }
	.offer-conversation { border-radius: var(--r-md); gap: 38px; margin: 90px auto; padding: 55px 28px; width: calc(100% - 24px); }
	.offer-conversation h2 { font-size: var(--t-section); }
	.offer-conversation .button { text-align: center; white-space: normal; width: 100%; }
	.method-question-card { padding: 25px 0 28px; }
	.method-question-card p { font-size: var(--t-body-lg); margin-top: 21px; }
	.method-question-card p + p { padding-top: 19px; }
	.trajectory-stakes { border-radius: var(--r-md); padding: 38px 28px; }
	.method-human { gap: 24px 20px; grid-template-columns: 110px minmax(0, 1fr); padding: 54px 22px; }
	.method-human-portrait { max-width: 110px; }
	.method-human-portrait img { border-radius: var(--r-md); }
	.method-human h2 { font-size: var(--t-quote); }
	.method-human p { font-size: var(--t-body); line-height: 1.65; }
	.method-core-position { padding: 55px 0 28px; width: calc(100% - 44px); }
	.method-core-intro { gap: 29px; }
	.method-core-position h2 { font-size: var(--t-section); }
	.method-core-position .eyebrow { margin-bottom: 18px; }
	.method-core-lead { font-size: var(--t-item); margin-top: 20px; }
	.method-core-copy { padding-top: 22px; }
	.method-core-copy p { font-size: var(--t-body); line-height: 1.65; }
	.method-core-movements { margin-top: 37px; }
	.method-core-movements article { padding: 23px 0; }
	.method-core-movements h3 { margin-bottom: 16px; }
	.method-core-movements p { font-size: var(--t-body-lg); }
	.method-principles { padding: 54px 0 45px; width: calc(100% - 44px); }
	.method-principles > header { margin-bottom: 29px; }
	.method-principles > header h2 { font-size: var(--t-quote); }
	.method-principles article, .method-principles article:nth-child(even) { padding: 27px 0 29px; }
	.method-principles h3 { font-size: var(--t-item); margin-bottom: 14px; }
	.method-principles p { font-size: var(--t-small); line-height: 1.65; }
	.method-academy { border-radius: var(--r-md); gap: 20px; margin-bottom: 60px; padding: 40px 26px; width: calc(100% - 24px); }
	.method-academy h2 { font-size: var(--t-quote); }
	.method-academy > p { font-size: var(--t-body-lg); line-height: 1.4; }
	.trajectory-stakes h3 { margin-top: 48px; }
	.trajectory-facts { margin-bottom: 90px; width: calc(100% - 44px); }
	.trajectory-facts article { min-height: 140px; padding: 18px 14px 18px 20px; }
	.trajectory-facts article:nth-child(odd) { padding-left: 0; }
	.trajectory-facts strong { font-size: var(--t-body-lg); }
	.trajectory-route { padding: 90px 22px; }
	.trajectory-route h2 { font-size: var(--t-section); overflow-wrap: anywhere; }
	.trajectory-details { padding: 90px 0; width: calc(100% - 44px); }
	.trajectory-details summary { gap: 12px; grid-template-columns: 32px 1fr 25px; }
	.trajectory-details summary strong { font-size: var(--t-item); }
	.trajectory-details details > div { padding-left: 44px; }
	.trajectory-included, .trajectory-fit, .trajectory-next { gap: 45px; padding: 90px 0; width: calc(100% - 44px); }
	.trajectory-included h2, .trajectory-fit h2, .trajectory-next h2 { font-size: var(--t-section); }
	.trajectory-spain, .trajectory-outcomes { border-radius: var(--r-md); margin: 90px auto; padding: 60px 28px; width: calc(100% - 24px); }
	.trajectory-spain h2, .trajectory-outcomes h2 { font-size: var(--t-section); }
	.trajectory-outcomes ul { columns: 1; }
	.offer-page--reset .offer-page-hero, .offer-page--year .offer-page-hero { min-height: 0; padding: 32px 20px 34px; }
	.offer-page--reset .offer-page-hero .eyebrow, .offer-page--year .offer-page-hero .eyebrow { margin-bottom: 16px; }
	.offer-page--reset .offer-page-hero p, .offer-page--year .offer-page-hero p { font-size: var(--t-small); line-height: 1.5; margin-top: 16px; }
	.offer-page--reset .reset-hero-shield, .offer-page--year .year-hero-shield { margin-top: 22px; min-height: 320px; padding: 26px; }
	.offer-page--reset .reset-hero-shield blockquote, .offer-page--year .year-hero-shield blockquote { font-size: var(--t-quote); line-height: 1.02; margin: 22px 0; }
	.offer-page--reset .trajectory-intro, .offer-page--year .trajectory-intro { gap: 28px; padding: 58px 0 46px; }
	.offer-page--reset .trajectory-intro h2, .offer-page--year .trajectory-intro h2 { font-size: var(--t-section); margin: 20px 0 24px; }
	.offer-page--reset .trajectory-intro p, .offer-page--year .trajectory-intro p { font-size: var(--t-body); line-height: 1.65; }
	.reset-process { padding: 58px 0; width: calc(100% - 44px); }
	.reset-process > header { margin-bottom: 28px; }
	.reset-process > header h2 { font-size: var(--t-section); }
	.reset-process article { gap: 13px; grid-template-columns: 1fr; padding: 25px 0; }
	.reset-process h3 { font-size: var(--t-item); }
	.year-process h3 { font-size: var(--t-item); }
	.reset-process article > p { font-size: var(--t-small); }
	.reset-process-outcome { grid-column: 1; }
	.reset-next-photo { border-radius: var(--r-md); }
	.offer-page--reset .trajectory-outcomes { margin: 52px auto; padding: 42px 24px; }
	.offer-page--reset .trajectory-outcomes h2 { font-size: var(--t-section); margin-bottom: 30px; }
	.offer-page--reset .trajectory-outcomes blockquote { font-size: var(--t-item); margin-top: 34px; padding-top: 28px; }
	.offer-page--year .trajectory-outcomes { margin: 52px auto; padding: 42px 24px; }
	.offer-page--year .trajectory-outcomes h2 { font-size: var(--t-section); margin-bottom: 30px; }
	.offer-page--year .trajectory-outcomes blockquote { font-size: var(--t-item); margin-top: 34px; padding-top: 28px; }
	.offer-page--reset .trajectory-next { gap: 28px; padding: 56px 0; }
	.offer-page--reset .trajectory-next h2 { font-size: var(--t-section); }
	.offer-page--reset .offer-conversation, .offer-page--year .offer-conversation { gap: 28px; margin: 0 12px 52px; padding: 42px 26px; width: calc(100% - 24px); }
	.offer-page--reset .offer-conversation h2, .offer-page--year .offer-conversation h2 { font-size: var(--t-section); }
	.offer-page--year .trajectory-included, .offer-page--year .trajectory-fit { gap: 28px; padding: 56px 0; }
	.offer-page--year .trajectory-included h2, .offer-page--year .trajectory-fit h2 { font-size: var(--t-section); }
	.offer-page--year .trajectory-spain { margin: 52px auto; padding: 42px 24px; }
	.offer-page--year .trajectory-spain-photo { aspect-ratio: 4 / 3; border-radius: var(--r-sm); }
	.offer-page--year .trajectory-spain h2 { font-size: var(--t-section); }
	.offer > .offer-home-choice { border-radius: var(--r-md); gap: 30px; grid-template-columns: 1fr; padding: 38px 28px; }
	.offer-home-choice h3 { font-size: var(--t-item); }
	.offer-home-choice .button { min-width: 0; width: 100%; }
	.selection-intro { gap: 48px; padding: 85px 0; width: calc(100% - 44px); }
	.selection-intro h2 { font-size: var(--t-section); }
	.selection-intro p { font-size: var(--t-body); }
	.selection-expectations { border-radius: var(--r-md); padding: 42px 28px; }
	.selection-fit { border-radius: var(--r-md); gap: 42px; margin-bottom: 90px; padding: 60px 28px; width: calc(100% - 24px); }
	.selection-fit h2 { font-size: var(--t-section); }
	.selection-form-section { gap: 45px; margin-bottom: 90px; width: calc(100% - 44px); }
	.selection-form-copy { padding-top: 0; }
	.selection-form-copy h2 { font-size: var(--t-section); }
	.selection-form-column { border-radius: var(--r-md); padding: 42px 24px; }
	.contact-page { --contact-outer-gutter: 12px; --contact-inner-padding: 20px; }
	.contact-hero { border-radius: var(--r-md); margin: 12px; min-height: 0; padding: 32px 20px 34px; }
	.contact-hero-inner { gap: 30px; }
	.contact-hero-copy > p { font-size: var(--t-small); line-height: 1.5; margin: 16px 0 22px; }
	.contact-hero-shield { margin-top: 0; min-height: 320px; padding: 26px; transform: none; }
	.contact-hero-shield blockquote { font-size: var(--t-quote); line-height: 1.02; margin: 22px 0; }
	.contact-main { gap: 42px; padding: 58px 0; }
	.contact-information { padding-top: 0; }
	.contact-information > h2, .contact-form-heading h2 { font-size: var(--t-section); }
	.contact-lead { font-size: var(--t-body); }
	.contact-form-column { border-radius: var(--r-md); padding: 42px 24px; }
	.contact-form-heading p { margin-bottom: 32px; }
	.contact-form { gap: 21px; }
	.contact-field input, .contact-field textarea { border-radius: var(--r-sm); min-height: 54px; }
	.contact-form .button { justify-self: stretch; width: 100%; }
	.site-footer--compact { padding: 52px 22px 42px; }
	.site-footer--compact .footer-meta { margin-top: 34px; }
	.offer-page--selection .offer-page-hero { min-height: 0; padding: 44px 26px 48px; }
	.offer-page--selection .offer-page-hero .eyebrow { margin-bottom: 24px; }
	.offer-page--selection .offer-page-hero p { font-size: var(--t-body); margin-top: 22px; }
	.offer-page--selection .selection-hero-button { margin-top: 25px; text-align: center; width: 100%; }
	.offer-page--selection .selection-intro { gap: 36px; padding: 54px 0; width: calc(100% - 44px); }
	.offer-page--selection .selection-intro h2 { font-size: var(--t-quote); margin: 20px 0 24px; }
	.offer-page--selection .selection-intro p { font-size: var(--t-body); line-height: 1.65; }
	.offer-page--selection .selection-expectations { border-radius: var(--r-md); padding: 32px 24px 22px; }
	.offer-page--selection .selection-expectations ol { margin-top: 28px; }
	.offer-page--selection .selection-expectations li { padding: 16px 0; }
	.offer-page--selection .selection-expectations li p { font-size: var(--t-body-lg); }
	.offer-page--selection .selection-fit { gap: 28px; margin-bottom: 58px; padding: 45px 26px; width: calc(100% - 24px); }
	.offer-page--selection .selection-fit h2 { font-size: var(--t-quote); margin-top: 20px; }
	.offer-page--selection .selection-fit p { font-size: var(--t-body); line-height: 1.65; }
	.offer-page--selection .selection-form-section { gap: 32px; margin-bottom: 58px; width: calc(100% - 44px); }
	.offer-page--selection .selection-form-copy h2 { font-size: var(--t-section); margin: 20px 0 24px; }
	.offer-page--selection .selection-form-copy p { font-size: var(--t-body); line-height: 1.65; }
	.offer-page--selection .selection-form-column { border-radius: var(--r-md); padding: 30px 20px; }
	.offer-page--selection .contact-field textarea { min-height: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-delay: 0ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Editorial navigation */
.site-header {
	background: rgba(13, 13, 12, .96);
	box-shadow: 0 16px 40px rgba(17, 17, 17, .09);
	gap: 24px;
	grid-template-columns: minmax(210px, 1fr) auto;
	min-height: 80px;
	position: sticky;
	top: 12px;
	transition: min-height .28s ease, padding .28s ease, box-shadow .28s ease, background .28s ease;
	z-index: 100;
}
body.admin-bar .site-header { margin-top: 16px; top: 44px; }
.site-header.is-compact { background: rgba(10, 10, 9, .985); box-shadow: 0 18px 48px rgba(17, 17, 17, .18); min-height: 66px; padding-block: 7px; }
.site-brand { padding-left: 3px; }
.site-brand strong { font-size: var(--t-item); transition: font-size .28s ease; }
.site-brand span { font-size: var(--t-label); transition: opacity .2s ease; }
.site-header.is-compact .site-brand strong { font-size: var(--t-body-lg); }
.site-header.is-compact .site-brand span { opacity: .72; }
.primary-nav { align-items: center; display: flex; gap: 18px; overflow: visible; }
.site-menu { gap: 3px; }
.site-menu > .nav-item { position: relative; }
/* Beide uitklapmenu's hangen aan de header, niet aan hun eigen menu-item. De
   header is de enige doos die altijd binnen het venster valt, dus alleen daar
   kun je een paneel betrouwbaar binnen de randen houden. Hoe het paneel onder
   zijn knop komt te staan regelt --menu-anchor, zie .sub-menu--mega. */
.site-menu > .nav-item--dropdown { position: static; }
.site-menu > .nav-item > a,
.nav-dropdown-toggle {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--on-dark);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--sans);
	font-size: var(--t-small);
	font-weight: 720;
	gap: 8px;
	line-height: 1;
	min-height: 44px;
	padding: 0 14px;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.site-menu > .nav-item > a:hover,
.site-menu > .nav-item > a:focus-visible,
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus-visible,
.site-menu > .nav-item.is-active > a,
.site-menu > .nav-item.is-active > .nav-dropdown-toggle {
	background: rgba(185, 134, 61, .15);
	color: var(--gold-light);
}
.site-menu > .nav-item > a:focus-visible,
.nav-dropdown-toggle:focus-visible,
.menu-toggle:focus-visible,
.sub-menu a:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.nav-dropdown-toggle > i {
	border-bottom: 1px solid currentColor;
	border-right: 1px solid currentColor;
	display: block;
	height: 6px;
	margin-left: 1px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .2s ease;
	width: 6px;
}
.nav-item--dropdown.is-submenu-open > .nav-dropdown-toggle > i { transform: rotate(225deg) translate(-1px, -1px); }
.sub-menu {
	background: linear-gradient(160deg, #121110, #1a1815);
	border: 1px solid rgba(185, 134, 61, .5);
	border-radius: var(--r-md);
	/* Schaduw vooral naar beneden. Opzij reikt hij hooguit 24 pixels, minder
	   dan de marge van de header, dus hij valt nooit buiten het venster. */
	box-shadow: 0 22px 44px -20px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .22);
	list-style: none;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateY(-6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
	visibility: hidden;
	z-index: var(--z-submenu);
}
/* De brug over de ruimte tussen knop en paneel. Zonder deze strook verliest de
   muis de hover zodra hij die ruimte in beweegt, en omdat het paneel dan meteen
   pointer-events: none krijgt kun je het nooit bereiken. JavaScript meet de
   precieze hoogte in --menu-bridge, 30 pixels is de reserve zonder script. */
.sub-menu::before { content: ""; inset: calc(-1 * var(--menu-bridge, 30px)) 0 100%; position: absolute; }
.nav-item--dropdown.is-submenu-open > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}
/* Hover opent alleen met een echte muis en alleen in de balk. Op een tablet
   in liggende stand geeft een tik anders eerst een nagebootste hover en direct
   daarna een klik, en dan sluit het menu weer terwijl het net openging. Wie op
   de knop klikt terwijl het menu al openstaat, krijgt .is-dismissed: dan blijft
   het dicht tot de muis het menu-item verlaat. */
@media (width > 1120px) and (hover: hover) {
	.nav-item--dropdown:not(.is-dismissed):hover > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}
	.nav-item--dropdown:not(.is-dismissed):hover > .nav-dropdown-toggle > i { transform: rotate(225deg) translate(-1px, -1px); }
}
.sub-menu a { border-radius: var(--r-sm); display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; text-decoration: none; transition: background .18s ease; }
.sub-menu a:hover, .sub-menu a:focus-visible { background: rgba(185, 134, 61, .12); }
/* De navigatie is interface, geen inhoud, dus overal Archivo. De serif blijft
   voor het woordmerk, de ene titel in het uitgelichte vak en voor koppen,
   citaten en feiten in de pagina zelf. */
.sub-menu strong { color: var(--gold-light); font-family: var(--sans); font-size: var(--t-small); font-weight: 650; letter-spacing: -.005em; line-height: 1.25; overflow-wrap: break-word; }
.sub-menu span { color: var(--on-dark-soft); font-size: var(--t-meta); line-height: 1.4; overflow-wrap: break-word; }

/* Het megamenu. Breedte en plek worden binnen de header uitgerekend:
   - --menu-w is de gewenste breedte, maar nooit breder dan de header min een
     binnenmarge aan beide kanten;
   - --menu-anchor is het midden van de knop, gemeten vanaf de linkerrand van
     de header (JavaScript, met een schatting per menu als reserve);
   - clamp() zet het midden van het paneel onder dat punt, maar schuift het
     terug zodra een rand buiten de header zou vallen.
   Alle percentages hier rekenen tegen de breedte van de header, want dat is
   het bevattende blok. */
.sub-menu--mega {
	--menu-inset: 12px;
	--menu-w: min(var(--menu-max), calc(100% - 2 * var(--menu-inset)));
	box-sizing: border-box;
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--menu-feature, 210px));
	left: clamp(var(--menu-inset), calc(var(--menu-anchor) - var(--menu-w) / 2), calc(100% - var(--menu-w) - var(--menu-inset)));
	padding: 10px;
	top: calc(100% + 10px);
	width: var(--menu-w);
}
.sub-menu--work { --menu-anchor: 45%; --menu-max: 640px; }
.sub-menu--insights { --menu-anchor: 78%; --menu-feature: 200px; --menu-max: 540px; }
.sub-menu--mega > .mega-menu-primary { min-width: 0; padding: 8px 2px 2px; }
.mega-menu-heading { color: var(--on-dark-soft); font-family: var(--sans); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; line-height: 1.4; margin: 0 0 4px; padding: 0 12px; text-transform: uppercase; }
.mega-menu-links { display: grid; gap: 2px; list-style: none; margin: 0; padding: 0; }
.sub-menu .mega-menu-links > li { min-width: 0; }
.sub-menu > .mega-menu-feature { display: flex; min-width: 0; }
.sub-menu .mega-menu-feature-link { background: rgba(185, 134, 61, .075); border: 1px solid rgba(185, 134, 61, .24); border-radius: var(--r-sm); flex: 1; gap: 6px; min-width: 0; padding: 16px; }
.sub-menu .mega-menu-feature-link:hover, .sub-menu .mega-menu-feature-link:focus-visible { background: rgba(185, 134, 61, .13); }
.sub-menu .mega-menu-feature-label { color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sub-menu .mega-menu-feature-link > strong { font-family: var(--serif); font-size: var(--t-body-lg); font-weight: 500; letter-spacing: -.015em; line-height: 1.2; }
.sub-menu .mega-menu-feature-link .mega-menu-feature-action { align-items: center; color: var(--gold-light); display: flex; font-weight: 750; gap: 7px; margin-top: auto; padding-top: 10px; }
.mega-menu-feature-action i { font-style: normal; transition: transform .2s ease; }
.mega-menu-feature-link:hover .mega-menu-feature-action i, .mega-menu-feature-link:focus-visible .mega-menu-feature-action i { transform: translateX(3px); }
.nav-cta { flex: 0 0 auto; font-size: var(--t-meta); gap: 9px; min-width: 160px; padding-inline: 20px; }
.nav-cta i { font-style: normal; transition: transform .2s ease; }
.nav-cta:hover i, .nav-cta:focus-visible i { transform: translateX(3px); }
.menu-toggle { color: var(--gold-light); }

@media (max-width: 1120px) {
	body.nav-open { overflow: hidden; }
	.site-header { grid-template-columns: 1fr auto; }
	.menu-toggle {
		align-items: center;
		background: rgba(185, 134, 61, .1);
		border: 1px solid rgba(213, 180, 119, .45);
		border-radius: 999px;
		color: var(--gold-light);
		display: inline-flex;
		font-family: var(--sans);
		font-size: var(--t-meta);
		font-weight: 800;
		gap: 11px;
		min-height: 46px;
		padding: 0 16px;
	}
	.menu-toggle-icon { display: grid; gap: 5px; }
	.menu-toggle-icon i { background: currentColor; display: block; height: 1px; transition: transform .2s ease; width: 18px; }
	.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:first-child { transform: translateY(3px) rotate(45deg); }
	.menu-toggle[aria-expanded="true"] .menu-toggle-icon i:last-child { transform: translateY(-3px) rotate(-45deg); }
	.primary-nav {
		background: radial-gradient(circle at 85% 10%, rgba(185, 134, 61, .16), transparent 30%), linear-gradient(145deg, #0d0d0c, #171512);
		border: 1px solid rgba(185, 134, 61, .62);
		border-radius: var(--r-md);
		box-shadow: 0 28px 70px rgba(0, 0, 0, .34);
		display: block;
		left: 0;
		margin: 0;
		max-height: calc(100dvh - 118px);
		opacity: 0;
		overflow-y: auto;
		padding: 18px 28px 28px;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: calc(100% + 9px);
		transform: translateY(-10px) scale(.985);
		transform-origin: top;
		transition: opacity .2s ease, transform .24s ease, visibility .2s ease;
		visibility: hidden;
	}
	.primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); visibility: visible; }
	.site-menu { align-items: stretch; display: flex; flex-direction: column; gap: 0; }
	.site-menu > .nav-item { border-bottom: 1px solid rgba(213, 180, 119, .17); width: 100%; }
	.site-menu > .nav-item > a,
	.nav-dropdown-toggle {
		border-radius: 0;
		display: grid;
		font-family: var(--sans);
		font-size: var(--t-quote);
		font-weight: 600;
		letter-spacing: -.02em;
		grid-template-columns: 1fr auto;
		min-height: 78px;
		padding: 13px 2px;
		text-align: left;
		width: 100%;
	}
	.site-menu > .nav-item > a:hover,
	.site-menu > .nav-item > a:focus-visible,
	.nav-dropdown-toggle:hover,
	.nav-dropdown-toggle:focus-visible,
	.site-menu > .nav-item.is-active > a,
	.site-menu > .nav-item.is-active > .nav-dropdown-toggle { background: transparent; color: var(--gold-light); }
	.site-menu > .nav-item.is-active > a > span:last-child,
	.site-menu > .nav-item.is-active > .nav-dropdown-toggle > span:first-child { text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: 8px; }
	.nav-dropdown-toggle > i { height: 9px; margin-right: 7px; width: 9px; }
	.sub-menu {
		background: rgba(255, 255, 255, .025);
		border: 0;
		border-radius: var(--r-sm);
		box-shadow: none;
		left: auto;
		max-height: 0;
		min-width: 0;
		opacity: 0;
		overflow: hidden;
		padding: 0 14px;
		pointer-events: none;
		position: static;
		right: auto;
		transform: none;
		transition: max-height .28s ease, opacity .2s ease, padding .28s ease, visibility .28s ease;
		/* Dicht is ook echt weg, anders tabt het toetsenbord door onzichtbare links. */
		visibility: hidden;
	}
	.sub-menu::before { content: none; }
	.sub-menu--mega { display: block; left: auto; transform: none; width: auto; }
	.sub-menu--mega > .mega-menu-primary { padding: 10px 0 0; }
	.sub-menu--mega > .mega-menu-feature { margin-top: 10px; }
	.sub-menu .mega-menu-feature-link { padding: 16px 15px; }
	.mega-menu-links { gap: 2px 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nav-item--dropdown.is-submenu-open > .sub-menu { max-height: 1000px; opacity: 1; padding-block: 5px 12px; pointer-events: auto; visibility: visible; }
	.sub-menu a { padding: 12px 13px; }
	.sub-menu strong { font-size: var(--t-body); }
	.nav-cta { align-items: center; background: var(--gold); color: var(--black); display: flex; font-size: var(--t-meta); font-weight: 850; gap: 10px; justify-content: center; margin-top: 10px; min-height: 56px; text-decoration: none; }
}

@media (max-width: 860px) {
	.site-header { grid-template-columns: 1fr auto; }
}

@media (max-width: 640px) {
	body.admin-bar .site-header { top: 54px; }
	.site-header { border-radius: var(--r-md); gap: 8px; margin: 10px 12px 0; min-height: 68px; padding: 9px 10px 9px 18px; top: 8px; }
	.site-header.is-compact { min-height: 60px; }
	.site-brand strong, .site-header.is-compact .site-brand strong { font-size: var(--t-body-lg); }
	.site-brand span { display: block; font-size: var(--t-label); margin-top: 2px; }
	.menu-toggle { min-height: 43px; padding-inline: 14px; }
	.primary-nav { border-radius: var(--r-md); max-height: calc(100dvh - 96px); padding: 12px 22px 24px; }
	.site-menu > .nav-item > a, .nav-dropdown-toggle { font-size: var(--t-item); min-height: 72px; }
	.sub-menu { padding-inline: 8px; }
	.mega-menu-links { grid-template-columns: 1fr; }
	.nav-cta { border-radius: 999px; }
}

/* ==========================================================================
   De Online Academy

   De twaalf workshops krijgen dezelfde redactionele tabelvorm als de
   methodestappen op de homepage: groot nummer links, kop in het midden,
   toelichting rechts. Consistent, en het houdt twaalf items leesbaar zonder
   twaalf kaarten.
   ========================================================================== */

.academy-content { margin: 0; max-width: none; padding: 0; width: auto; }

.academy-opening {
	align-items: start;
	border-bottom: 1px solid #c5beb6;
	display: grid;
	gap: clamp(38px, 6vw, 96px);
	grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
	margin: 0 auto;
	padding: var(--space-normal) 0 var(--space-tight);
	width: var(--content);
}
.academy-opening h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 400; letter-spacing: -.03em; line-height: 1.05; margin: 22px 0 0; }
.academy-opening .eyebrow { color: var(--gold-deep); }
.academy-opening-copy p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.75; margin: 0 0 1.2em; max-width: var(--measure); }
.academy-opening-copy p:last-child { margin-bottom: 0; }

/* De foto vult de ruimte onder de kop, die anders leeg bleef. Het bijschrift
   stond ingebakken als witte balk onder de originele foto. Die balk is eraf
   gesneden en de zin staat nu als echte tekst, in de typografie van de site. */
.academy-portrait { margin: clamp(38px, 4vw, 56px) 0 0; max-width: 440px; }
.academy-portrait img { border-radius: var(--r-md); display: block; width: 100%; }
.academy-portrait figcaption {
	border-top: 1px solid #c5beb6;
	color: var(--gold-deep);
	font-family: var(--serif);
	font-size: var(--t-item);
	line-height: 1.35;
	margin-top: 26px;
	max-width: 30ch;
	padding-top: 24px;
}

.academy-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 auto; padding: var(--space-tight) 0; width: var(--content); }
.academy-facts article { border-left: 1px solid #bdb7af; min-height: 118px; padding: 6px clamp(18px, 3vw, 42px); }
.academy-facts article:first-child { border-left: 0; padding-left: 0; }
.academy-facts strong { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; line-height: 1.18; }
.academy-facts span { color: var(--laser); display: block; font-size: var(--t-meta); line-height: 1.5; margin-top: 10px; }

.academy-workshops { background: #e9e6e1; padding: var(--space-normal) clamp(24px, 6vw, 92px) var(--space-tight); }
.academy-workshops > header { max-width: 900px; }
.academy-workshops > header .eyebrow { color: var(--gold-deep); }
.academy-workshops > header h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 28px 0 24px; }
.academy-workshops > header p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; max-width: 60ch; }

.academy-list { border-bottom: 1px solid #cec8c0; display: grid; gap: 0; grid-template-columns: 1fr; list-style: none; margin: 64px 0 0; padding: 0; }
.academy-list li {
	align-items: baseline;
	border-top: 1px solid #cec8c0;
	display: grid;
	gap: clamp(20px, 4vw, 64px);
	grid-template-columns: minmax(62px, 5vw) minmax(0, .95fr) minmax(0, 1.15fr);
	padding-block: 34px;
}
/* De kolommen staan expliciet. Deze inhoud komt uit WordPress en wpautop zet
   een <br> tussen het nummer en de kop, die anders een rastercel opeet en de
   hele rij een kolom opschuift. */
.academy-list li > br { display: none; }
.academy-list li > span { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); font-weight: 400; grid-column: 1; letter-spacing: -.02em; line-height: 1; }
.academy-list h3 { font-family: var(--serif); font-size: var(--t-item); font-weight: 400; grid-column: 2; letter-spacing: -.02em; line-height: 1.12; margin: 0; }
.academy-list p { color: var(--ink-soft); font-size: var(--t-body); grid-column: 3; line-height: 1.7; margin: 0; max-width: 52ch; }

.academy-closing { border-radius: var(--r-lg); color: var(--paper); margin: var(--space-tight) clamp(12px, 3vw, 42px) 0; padding: clamp(58px, 8vw, 104px); }
.academy-closing > * { position: relative; z-index: var(--z-raised); }
.academy-closing .eyebrow { color: var(--gold); }
.academy-closing h2 { color: var(--gold-light); font-size: var(--t-section); font-weight: 500; letter-spacing: -.04em; line-height: 1.1; margin: 26px 0 0; max-width: 18ch; }
.academy-closing p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.75; margin: 28px 0 0; max-width: 58ch; }
.academy-closing .button { margin-top: 38px; }

@media (max-width: 980px) {
	.academy-opening { grid-template-columns: 1fr; }
	.academy-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
	.academy-facts article:nth-child(odd) { border-left: 0; padding-left: 0; }
}

@media (max-width: 860px) {
	.academy-list li { gap: 16px clamp(16px, 4vw, 34px); grid-template-columns: minmax(48px, 10vw) minmax(0, 1fr); }
	.academy-list h3, .academy-list p { grid-column: 2; }
}

@media (max-width: 640px) {
	.academy-opening, .academy-facts { width: calc(100% - 44px); }
	.academy-workshops { padding-inline: 22px; }
	.academy-list { margin-top: 44px; }
	.academy-list li { gap: 10px; grid-template-columns: 1fr; padding-block: 28px; }
	.academy-list li > span, .academy-list h3, .academy-list p { grid-column: 1; }
	.academy-closing { border-radius: var(--r-md); margin: 0 12px; padding: 58px 26px; }
}

/* ==========================================================================
   Beweging

   Uitgangspunt: één goed gerepeteerde entree bij het laden van de hero, en
   daaronder een rustige laag die bevestigt dat je scrollt. Verder niets.

   Alles hangt aan .has-motion op het html-element. Die klasse wordt in de head
   gezet en alleen wanneer de bezoeker geen reduced motion heeft staan. Zonder
   JavaScript, en bij reduced motion, staat de pagina er gewoon meteen.
   ========================================================================== */

@keyframes jl-rise {
	from { opacity: 0; transform: translate3d(0, 22px, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes jl-card-in {
	from { opacity: 0; transform: rotate(4.6deg) scale(.955) translate3d(0, 26px, 0); }
	to { opacity: 1; transform: rotate(1.4deg) scale(1); }
}

/* --- De entree ---------------------------------------------------------- */

.has-motion .hero-copy > *,
.has-motion .page-hero-inner > * {
	animation: jl-rise 700ms var(--ease-out-expo) both;
}
.has-motion .hero-copy > :nth-child(1),
.has-motion .page-hero-inner > :nth-child(1) { animation-delay: 60ms; }
.has-motion .hero-copy > :nth-child(2),
.has-motion .page-hero-inner > :nth-child(2) { animation-delay: 150ms; }
.has-motion .hero-copy > :nth-child(3),
.has-motion .page-hero-inner > :nth-child(3) { animation-delay: 240ms; }
.has-motion .hero-copy > :nth-child(4),
.has-motion .page-hero-inner > :nth-child(4) { animation-delay: 330ms; }

/* De gouden kaart komt als laatste binnen en draait naar zijn ruststand. */
.has-motion .hero-object {
	animation: jl-card-in 900ms var(--ease-out-expo) 260ms both;
}

/* --- Scroll-reveals ----------------------------------------------------- */

/* De verborgen staat krijgt bewust geen transitie. Anders faden elementen eerst
   zichtbaar naar onzichtbaar op het moment dat theme.js de klasse zet. De
   transitie hangt aan .is-visible en grijpt aan op het frame waarin die klasse
   erbij komt, dus de reveal zelf loopt gewoon. */
.has-motion .is-reveal {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: none;
	will-change: opacity, transform;
}
.has-motion .is-reveal.is-visible {
	opacity: 1;
	transform: none;
	transition: opacity 620ms var(--ease-out-quart), transform 620ms var(--ease-out-quart);
	transition-delay: var(--reveal-delay, 0ms);
	will-change: auto;
}

/* Bij printen staat alles er gewoon. Een element op opacity 0 komt anders
   blanco uit de printer. */
@media print {
	.has-motion .is-reveal { opacity: 1 !important; transform: none !important; }
}

/* --- Parallax op de gouden kaart ---------------------------------------- */

/* --jl-parallax wordt door theme.js bijgewerkt. De rotatie blijft erin staan,
   anders springt de kaart recht zodra de parallax aangrijpt. */
.has-motion .hero-object.has-parallax {
	animation: none;
	transform: rotate(1.4deg) translate3d(0, var(--jl-parallax, 0px), 0);
}

/* --- Micro-interacties -------------------------------------------------- */

.button:active,
.hero-actions .text-link:active,
.offer-card a:active,
.book-text-link:active { transform: translateY(1px); }

.button { transition: background 220ms var(--ease-out-quart), color 220ms var(--ease-out-quart), transform 140ms var(--ease-out-quart); }

/* De navigatie krijgt een streep die vanuit het midden opent. */
.site-menu > .nav-item > a,
.nav-dropdown-toggle { position: relative; }
.site-menu > .nav-item > a::after,
.nav-dropdown-toggle::after {
	background: currentColor;
	border-radius: 1px;
	bottom: 8px;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) scaleX(0);
	transition: transform 260ms var(--ease-out-quart);
	width: calc(100% - 28px);
}
.site-menu > .nav-item > a:hover::after,
.site-menu > .nav-item.is-active > a::after,
.nav-dropdown-toggle:hover::after { transform: translateX(-50%) scaleX(1); }

/* In het uitklapmenu op smalle schermen niet. Daar onderstreept het bestaande
   ontwerp de tekst van het actieve item al, en dan krijg je twee strepen. */
@media (max-width: 1120px) {
	.site-menu > .nav-item > a::after,
	.nav-dropdown-toggle::after { content: none; }
}

/* Uitklappen via grid-template-rows, niet via height. */
.book-reader-long div {
	display: grid;
	grid-template-rows: 1fr;
}
.book-reader-long summary::after { transition: transform 240ms var(--ease-out-quart); }
.book-reader-long[open] summary::after { content: "+"; transform: rotate(45deg); }

/* Het portret komt iets trager binnen dan de tekst ernaast. Dat leest als diepte. */
.has-motion .portrait.is-reveal.is-visible { transition-duration: 900ms; }

/* -------------------------------------------------------------------------
   Inzichten en weggevers
   ------------------------------------------------------------------------- */
.insights-page,
.lead-magnet-page,
.lead-thank-you-page { overflow: clip; }
.insights-hero,
.lead-magnet-hero,
.lead-thank-you {
	border-radius: var(--r-lg);
	margin: 14px clamp(12px, 3vw, 42px) 0;
}
.insights-hero {
	align-items: end;
	color: var(--paper);
	display: grid;
	gap: clamp(36px, 4.5vw, 72px);
	grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr);
	min-height: 520px;
	overflow: hidden;
	padding: clamp(42px, 4.4vw, 62px);
	position: relative;
}
.insights-hero::before {
	background: radial-gradient(circle at 84% 22%, rgba(185,134,61,.35), transparent 25%), radial-gradient(circle at 72% 85%, rgba(213,180,119,.11), transparent 30%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}
.insights-hero-copy,
.insights-hero-quote { position: relative; z-index: 1; }
.insights-hero-copy { max-width: 780px; }
.insights-hero .eyebrow,
.lead-magnet-hero .eyebrow { color: var(--gold); margin-bottom: 24px; }
.insights-hero h1,
.lead-magnet-hero h1,
.lead-thank-you h1 {
	color: var(--gold-light);
	font-family: var(--serif);
	font-size: var(--t-page);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .96;
	margin: 0;
}
.insights-hero h1 { line-height: .96; }
.insights-hero p {
	color: var(--on-dark);
	font-size: var(--t-body);
	line-height: 1.65;
	margin: 24px 0;
	max-width: 60ch;
}
.insights-hero-quote {
	align-self: center;
	border-left: 1px solid rgba(213,180,119,.48);
	color: var(--paper);
	font-family: var(--serif);
	font-size: var(--t-section);
	font-style: italic;
	line-height: 1.12;
	margin: 0;
	padding: 22px 0 22px clamp(26px, 3vw, 46px);
}
.insights-hero-quote cite { color: var(--on-dark-soft); display: block; font-family: var(--sans); font-size: var(--t-label); font-style: normal; font-weight: 800; letter-spacing: .11em; margin-top: 25px; text-transform: uppercase; }
.insight-library {
	animation: insight-frame-shift 14s ease-in-out infinite;
	background: linear-gradient(115deg, #6f4b24, #d5b477, #8f642b, #e0c792, #6f675e);
	background-size: 320% 320%;
	border-radius: var(--r-lg);
	box-shadow: 0 22px 70px rgba(35, 27, 19, .09);
	margin: clamp(26px, 3vw, 44px) clamp(12px, 3vw, 42px) clamp(58px, 7vw, 88px);
	padding: 1px;
}
.insight-library-inner {
	background: var(--paper);
	border-radius: var(--r-lg);
	padding: clamp(42px, 4.8vw, 68px);
}
@keyframes insight-frame-shift {
	0%, 100% { background-position: 0 50%; }
	50% { background-position: 100% 50%; }
}
.insight-intro {
	align-items: end;
	display: grid;
	gap: clamp(38px, 8vw, 130px);
	grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
	margin: 0;
	padding: 0 0 clamp(34px, 4vw, 52px);
}
.insight-intro .eyebrow { margin-bottom: 18px; }
.insight-intro h2,
.lead-magnet-problem h2,
.lead-magnet-outcomes h2,
.lead-magnet-request h2,
.insight-reading h2,
.insight-tips h2 {
	font-family: var(--serif);
	font-size: var(--t-section);
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.1;
	margin: 0;
}
.insight-intro > p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.7; margin: 0 0 8px; max-width: 52ch; }
.insight-resource-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}
.insight-card {
	border: 1px solid #d0c8be;
	border-radius: var(--r-md);
	display: flex;
	flex-direction: column;
	grid-column: auto;
	min-height: 620px;
	overflow: hidden;
	position: relative;
	transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms var(--ease-out-quart);
}
.insight-card:hover,
.insight-card:focus-within { border-color: rgba(143, 100, 43, .7); box-shadow: 0 18px 42px rgba(35, 27, 19, .1); transform: translateY(-5px); }
.insight-card-cover { align-items: flex-end; background: #e2ddd5; display: flex; justify-content: center; margin: 0; min-height: 215px; overflow: hidden; padding: 22px 22px 0; }
.insight-card-cover::after { background: rgba(40,30,20,.24); border-radius: 50%; bottom: 18px; content: ""; filter: blur(9px); height: 18px; position: absolute; transform: rotate(-4deg); width: 52%; }
.insight-card-cover img { box-shadow: -13px 16px 0 rgba(109,78,37,.48), -25px 31px 34px rgba(35,25,12,.25); height: auto; max-height: 430px; object-fit: contain; position: relative; transform: rotate(-3deg) translateY(10px); width: min(225px, 65%); z-index: 1; }
.insight-card-copy { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.insight-card-copy > span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.insight-card-copy h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; hyphens: auto; letter-spacing: -.035em; line-height: 1; margin: 18px 0; overflow-wrap: break-word; }
.insight-card-copy p { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.65; margin: 0; }
.insight-card-copy a { align-items: center; color: var(--black); display: inline-flex; font-size: var(--t-meta); font-weight: 800; gap: 9px; margin-top: auto; padding-top: 28px; text-decoration: none; }
.insight-card-copy a i { color: var(--gold-deep); font-size: var(--t-body-lg); font-style: normal; transition: transform 180ms var(--ease-out-quart); }
.insight-card-copy a:hover i, .insight-card-copy a:focus-visible i { transform: translateX(4px); }
.insight-reading { border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(55px, 10vw, 160px); grid-template-columns: minmax(280px, .7fr) minmax(0, 1fr); margin: 0 clamp(12px, 3vw, 42px); padding: clamp(70px, 9vw, 135px); }
.insight-reading header { align-self: start; position: sticky; top: calc(var(--header-offset) + 22px); }
.insight-reading .eyebrow { color: var(--gold); margin-bottom: 25px; }
.insight-reading h2 { color: var(--gold-light); }
.insight-reading header > p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.65; margin: 28px 0; max-width: 38ch; }
.insight-reading .text-link { color: var(--gold-light); }
.insight-article-list { border-top: 1px solid rgba(213,180,119,.35); }
.insight-article-list a { border-bottom: 1px solid rgba(213,180,119,.25); color: inherit; display: block; padding: 30px 0; text-decoration: none; }
.insight-article-list a span { color: var(--gold); font-size: var(--t-label); font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.insight-article-list h3 { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin: 14px 0; transition: color 160ms ease; }
.insight-article-list a:hover h3, .insight-article-list a:focus-visible h3 { color: var(--white); }
.insight-article-list p { color: var(--on-dark); font-size: var(--t-small); line-height: 1.6; margin: 0; max-width: 60ch; }
.insight-tips { background: var(--laser); border-radius: var(--r-lg); color: var(--paper); margin: var(--space-wide) clamp(12px, 3vw, 42px); padding: clamp(65px, 9vw, 125px); }
.insight-tips .eyebrow { color: var(--on-dark); }
.insight-tips h2 { margin: 25px 0; max-width: 10ch; }
.insight-tips p { color: var(--paper); font-size: var(--t-body); line-height: 1.65; max-width: 55ch; }
.button-dark { background: var(--black); color: var(--gold-light); margin-top: 18px; }
.insights-home { align-items: end; border-bottom: 1px solid #c8c0b7; border-top: 1px solid #c8c0b7; display: grid; gap: clamp(40px, 9vw, 150px); grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); margin: 0 auto; padding: 70px 0; width: var(--content); }
.insights-home .eyebrow { margin-bottom: 20px; }
.insights-home h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 0; max-width: 10ch; }
.insights-home p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0 0 24px; max-width: 48ch; }
.insights-home .text-link { color: var(--gold-deep); }

.lead-magnet-hero { align-items: center; color: var(--paper); display: grid; gap: clamp(46px, 6vw, 96px); grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); min-height: 580px; overflow: hidden; padding: clamp(48px, 5vw, 72px); position: relative; }
.lead-magnet-hero::before { background: radial-gradient(circle at 85% 22%, rgba(185,134,61,.28), transparent 26%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.lead-magnet-copy,
.lead-magnet-cover-stage { position: relative; z-index: 1; }
.lead-magnet-copy { max-width: 790px; }
.lead-magnet-hero h1 { line-height: .96; max-width: 12ch; }
.lead-magnet-copy > p { color: var(--on-dark); font-size: var(--t-body-lg); line-height: 1.62; margin: 24px 0; max-width: 54ch; }
.lead-magnet-copy .text-link { color: var(--gold-light); }
.lead-magnet-cover-stage { align-items: center; display: flex; justify-content: center; margin: 0; min-height: 440px; perspective: 1300px; }
.lead-magnet-cover-stage::before { background: radial-gradient(ellipse, rgba(185,134,61,.34), transparent 67%); content: ""; inset: 8% -25%; position: absolute; }
.lead-magnet-cover-stage::after { background: rgba(0,0,0,.56); border-radius: 50%; bottom: 52px; content: ""; filter: blur(18px); height: 35px; position: absolute; transform: rotate(-4deg); width: 72%; }
.lead-magnet-cover-stage img { box-shadow: -17px 18px 0 #71502a, -38px 43px 60px rgba(0,0,0,.5); height: auto; max-height: 440px; object-fit: contain; position: relative; transform: rotateY(-8deg) rotateZ(2deg); width: min(310px, 78%); z-index: 1; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-cover-stage::before,
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-cover-stage::after,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-cover-stage::before,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-cover-stage::after,
.lead-magnet-entry--emoties .lead-magnet-cover-stage::before,
.lead-magnet-entry--emoties .lead-magnet-cover-stage::after,
.lead-magnet-entry--perfectionisme .lead-magnet-cover-stage::before,
.lead-magnet-entry--perfectionisme .lead-magnet-cover-stage::after,
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-cover-stage::before,
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-cover-stage::after { display: none; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-cover-stage img,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-cover-stage img,
.lead-magnet-entry--emoties .lead-magnet-cover-stage img,
.lead-magnet-entry--perfectionisme .lead-magnet-cover-stage img,
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-cover-stage img { box-shadow: none; max-height: 540px; max-width: none; transform: translateX(-16%); width: min(430px, 132%); }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-copy { min-width: 0; }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-cover-stage img { transform: none; }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-hero h1 { font-size: clamp(44px, 3.75vw, 58px); hyphens: manual; max-width: 100%; overflow-wrap: normal; word-break: normal; }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-copy .text-link,
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-copy .text-link,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-copy .text-link,
.lead-magnet-entry--emoties .lead-magnet-copy .text-link,
.lead-magnet-entry--perfectionisme .lead-magnet-copy .text-link { align-items: center; background: var(--gold-light); border: 1px solid var(--gold-light); border-radius: 999px; color: var(--black); display: inline-flex; font-size: var(--t-small); font-weight: 800; gap: 10px; margin-top: 2px; padding: 14px 22px; }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-copy .text-link:hover,
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-copy .text-link:hover,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-copy .text-link:hover,
.lead-magnet-entry--emoties .lead-magnet-copy .text-link:hover,
.lead-magnet-entry--perfectionisme .lead-magnet-copy .text-link:hover { background: transparent; color: var(--gold-light); }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-copy > .lead-magnet-hero-microcopy,
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-copy > .lead-magnet-hero-microcopy,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-copy > .lead-magnet-hero-microcopy,
.lead-magnet-entry--emoties .lead-magnet-copy > .lead-magnet-hero-microcopy,
.lead-magnet-entry--perfectionisme .lead-magnet-copy > .lead-magnet-hero-microcopy { color: var(--on-dark-soft); font-size: var(--t-meta); line-height: 1.45; margin: 14px 0 0; max-width: none; }
.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-copy > .lead-magnet-hero-byline,
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-copy > .lead-magnet-hero-byline,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-copy > .lead-magnet-hero-byline,
.lead-magnet-entry--emoties .lead-magnet-copy > .lead-magnet-hero-byline,
.lead-magnet-entry--perfectionisme .lead-magnet-copy > .lead-magnet-hero-byline { color: var(--on-dark); font-size: var(--t-meta); line-height: 1.45; margin: 7px 0 0; max-width: var(--measure); }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-copy,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-copy,
.lead-magnet-entry--emoties .lead-magnet-copy,
.lead-magnet-entry--perfectionisme .lead-magnet-copy { min-width: 0; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-hero h1,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-hero h1,
.lead-magnet-entry--emoties .lead-magnet-hero h1,
.lead-magnet-entry--perfectionisme .lead-magnet-hero h1 { font-size: clamp(44px, 3.9vw, 60px); max-width: 100%; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-problem,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-problem,
.lead-magnet-entry--emoties .lead-magnet-problem,
.lead-magnet-entry--perfectionisme .lead-magnet-problem { align-items: center; gap: clamp(36px, 4vw, 68px); padding: clamp(46px, 4.5vw, 66px) 0; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-problem .eyebrow,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-problem .eyebrow,
.lead-magnet-entry--emoties .lead-magnet-problem .eyebrow,
.lead-magnet-entry--perfectionisme .lead-magnet-problem .eyebrow { margin-bottom: 16px; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-problem h2,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-problem h2,
.lead-magnet-entry--emoties .lead-magnet-problem h2,
.lead-magnet-entry--perfectionisme .lead-magnet-problem h2 { font-size: var(--t-section); line-height: 1.06; max-width: 19ch; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-problem > p,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-problem > p,
.lead-magnet-entry--emoties .lead-magnet-problem > p,
.lead-magnet-entry--perfectionisme .lead-magnet-problem > p { font-size: var(--t-body-lg); line-height: 1.42; max-width: 36ch; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes,
.lead-magnet-entry--emoties .lead-magnet-outcomes,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes { gap: clamp(38px, 4vw, 68px); grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr); padding: clamp(42px, 4.5vw, 64px); }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes .eyebrow,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes .eyebrow,
.lead-magnet-entry--emoties .lead-magnet-outcomes .eyebrow,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes .eyebrow { margin-bottom: 16px; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes h2,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes h2,
.lead-magnet-entry--emoties .lead-magnet-outcomes h2,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes h2 { font-size: var(--t-section); line-height: 1.06; max-width: 11ch; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes > div > p,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes > div > p,
.lead-magnet-entry--emoties .lead-magnet-outcomes > div > p,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes > div > p { font-size: var(--t-small); line-height: 1.55; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes li,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes li,
.lead-magnet-entry--emoties .lead-magnet-outcomes li,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes li { gap: 0; grid-template-columns: 1fr; padding: 16px 0; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes li p,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes li p,
.lead-magnet-entry--emoties .lead-magnet-outcomes li p,
.lead-magnet-entry--perfectionisme .lead-magnet-outcomes li p { font-size: var(--t-body-lg); line-height: 1.28; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-request,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-request,
.lead-magnet-entry--emoties .lead-magnet-request,
.lead-magnet-entry--perfectionisme .lead-magnet-request { gap: clamp(38px, 4.5vw, 72px); margin-top: clamp(46px, 5vw, 68px); padding: clamp(44px, 4.5vw, 64px); }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-request .eyebrow,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-request .eyebrow,
.lead-magnet-entry--emoties .lead-magnet-request .eyebrow,
.lead-magnet-entry--perfectionisme .lead-magnet-request .eyebrow { margin-bottom: 16px; }
.lead-magnet-entry--authentiek-leiderschap .lead-magnet-request h2,
.lead-magnet-entry--burn-out-voorkomen .lead-magnet-request h2,
.lead-magnet-entry--emoties .lead-magnet-request h2,
.lead-magnet-entry--perfectionisme .lead-magnet-request h2 { font-size: var(--t-section); line-height: 1.06; }
.lead-magnet-problem { align-items: end; display: grid; gap: clamp(44px, 7vw, 112px); grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); margin: 0 auto; padding: clamp(70px, 7vw, 96px) 0; width: var(--content); }
.lead-magnet-problem .eyebrow { margin-bottom: 24px; }
.lead-magnet-problem h2,
.lead-magnet-outcomes h2,
.lead-magnet-request h2 { font-size: var(--t-section); }
.lead-magnet-problem > p { color: var(--ink-soft); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.34; margin: 0 0 6px; }
.lead-magnet-outcomes { align-items: start; border-radius: var(--r-lg); display: grid; gap: clamp(44px, 7vw, 105px); grid-template-columns: minmax(0, .75fr) minmax(350px, 1fr); margin: 0 clamp(12px, 3vw, 42px); padding: clamp(58px, 6.5vw, 92px); }
.lead-magnet-outcomes .eyebrow { color: rgba(17,17,17,.65); margin-bottom: 24px; }
.lead-magnet-outcomes h2 { max-width: 14ch; }
.lead-magnet-outcomes > div > p { font-size: var(--t-body); line-height: 1.65; max-width: 40ch; }
.lead-magnet-outcomes ul { border-top: 1px solid rgba(17,17,17,.35); list-style: none; margin: 0; padding: 0; }
.lead-magnet-outcomes li { align-items: start; border-bottom: 1px solid rgba(17,17,17,.28); display: grid; gap: 24px; grid-template-columns: 35px 1fr; padding: 22px 0; }
.lead-magnet-outcomes li span { color: rgba(17,17,17,.64); font-size: var(--t-label); font-weight: 900; letter-spacing: .09em; padding-top: 5px; }
.lead-magnet-outcomes li p { font-family: var(--serif); font-size: var(--t-quote); line-height: 1.18; margin: 0; }
.lead-magnet-request { align-items: start; border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(44px, 6.5vw, 100px); grid-template-columns: minmax(0,.72fr) minmax(370px,1fr); margin: clamp(58px, 7vw, 92px) clamp(12px, 3vw, 42px) 0; padding: clamp(58px, 6.5vw, 92px); }
.lead-magnet-request .eyebrow { color: var(--gold); margin-bottom: 24px; }
.lead-magnet-request h2 { color: var(--gold-light); }
.lead-magnet-request-copy > p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.68; margin: 28px 0 0; max-width: 48ch; }
.lead-magnet-request-copy .lead-magnet-privacy { color: var(--on-dark-soft); font-size: var(--t-meta); }
.lead-magnet-privacy a { color: var(--gold-light); }
.lead-magnet-request-form { background: var(--paper); border-radius: var(--r-md); color: var(--black); min-height: 250px; padding: clamp(24px, 3vw, 42px); }
.lead-magnet-form-intro { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.5; margin: 0 0 24px; max-width: 42ch; }
.lead-magnet-form--native { max-width: 100%; }
.lead-magnet-native-form { display: grid; gap: 18px; }
.lead-magnet-native-field { display: grid; gap: 8px; }
.lead-magnet-native-field > label { align-items: baseline; color: var(--ink-soft); display: flex; font-size: var(--t-label); font-weight: 850; justify-content: space-between; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.lead-magnet-native-field > label span { color: var(--laser); font-size: var(--t-label); font-weight: 800; letter-spacing: .06em; }
.lead-magnet-native-field input { background: var(--white); border: 1px solid #aaa198; border-radius: var(--r-sm); color: var(--black); font: inherit; font-size: var(--t-body); height: 56px; min-height: 56px; padding: 12px 18px; width: 100%; }
.lead-magnet-native-field input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(185, 134, 61, .2); outline: 0; }
.lead-magnet-native-captcha { padding-top: 5px; }
.lead-magnet-native-captcha .g-recaptcha { margin-top: 2px; }
.lead-magnet-native-submit { background: var(--gold); border: 0; border-radius: 999px; color: var(--black); cursor: pointer; font: inherit; font-size: var(--t-small); font-weight: 850; letter-spacing: .01em; min-height: 56px; padding: 13px 22px; transition: background-color .18s ease, transform .18s ease; width: 100%; }
.lead-magnet-native-submit:hover { background: var(--gold-light); transform: translateY(-1px); }
.lead-magnet-native-submit:focus-visible { box-shadow: 0 0 0 3px rgba(17,17,17,.2); outline: 0; }
.lead-magnet-form-error { background: #f4dfd9; border-radius: var(--r-sm); color: #742d26; font-size: var(--t-meta); line-height: 1.5; margin: 0 0 18px; padding: 14px 16px; }
.lead-magnet-next { align-items: center; display: flex; gap: 30px; justify-content: space-between; margin: 0 auto; padding: clamp(52px, 5vw, 72px) 0 clamp(68px, 7vw, 92px); width: var(--content); }
.lead-magnet-next p { font-family: var(--serif); font-size: var(--t-section); line-height: 1.15; margin: 0; max-width: 22ch; }
.lead-thank-you { color: var(--paper); min-height: 600px; padding: clamp(60px, 10vw, 145px); }
.lead-thank-you > p { color: var(--on-dark); font-size: var(--t-body-lg); line-height: 1.7; max-width: var(--measure); }
.lead-thank-you-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 25px; margin-top: 38px; }
.lead-thank-you-actions .text-link { color: var(--gold-light); }

@media (max-width: 980px) {
	.insights-hero,
	.lead-magnet-hero,
	.insight-intro,
	.insights-home,
	.lead-magnet-problem,
	.lead-magnet-outcomes,
	.lead-magnet-request,
	.insight-reading { grid-template-columns: 1fr; }
	.insights-hero { min-height: 0; }
	.insights-hero-quote { border-left: 0; border-top: 1px solid rgba(213,180,119,.48); padding: 28px 0 0; }
	.insight-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.insight-card,
	.insight-card:nth-child(-n+2) { grid-column: auto; }
	.insight-reading header { position: static; }
	.lead-magnet-cover-stage { min-height: 380px; }
	.lead-magnet-request-form { max-width: 620px; }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes,
	.lead-magnet-entry--emoties .lead-magnet-outcomes,
	.lead-magnet-entry--perfectionisme .lead-magnet-outcomes { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
	.insights-hero,
	.lead-magnet-hero,
	.lead-thank-you { border-radius: var(--r-md); margin: 12px; padding: 48px 26px; }
	.lead-magnet-hero { gap: 28px; padding: 40px 26px 34px; }
	.insights-hero { padding: 40px 26px; }
	.insights-hero p,
	.lead-magnet-copy > p { font-size: var(--t-body); }
	.insights-hero-quote { display: none; }
	.insights-home,
	.lead-magnet-problem { gap: 26px; padding: 58px 0 50px; width: calc(100% - 44px); }
	.insight-library { border-radius: var(--r-md); margin: 22px 12px 58px; }
	.insight-library-inner { border-radius: var(--r-md); padding: 38px 16px 18px; }
	.insight-intro { gap: 18px; grid-template-columns: 1fr; padding: 0 10px 34px; }
	.insight-intro h2,
	.lead-magnet-problem h2,
	.lead-magnet-outcomes h2,
	.lead-magnet-request h2,
	.insight-reading h2,
	.insight-tips h2 { font-size: var(--t-section); }
	.insight-intro > p { font-size: var(--t-body); }
	.insight-resource-grid { grid-template-columns: 1fr; }
	.insight-card,
	.insight-reading,
	.insight-tips,
	.lead-magnet-outcomes,
	.lead-magnet-request { border-radius: var(--r-md); }
	.insight-card { min-height: 0; }
	.insight-card-cover { min-height: 230px; }
	.insight-card-copy { padding: 27px; }
	.insight-card-copy h2 { font-size: var(--t-quote); }
	.insight-reading { gap: 60px; padding: 70px 26px; }
	.insight-reading header > p { font-size: var(--t-small); }
	.insight-tips { margin: 90px 12px; padding: 70px 26px; }
	.lead-magnet-cover-stage { min-height: 270px; }
	.lead-magnet-cover-stage img { max-height: 270px; width: min(185px, 62%); }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-cover-stage img,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-cover-stage img,
	.lead-magnet-entry--emoties .lead-magnet-cover-stage img,
	.lead-magnet-entry--perfectionisme .lead-magnet-cover-stage img,
	.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-cover-stage img { max-height: 390px; transform: none; width: min(280px, 100%); }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-hero h1,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-hero h1,
	.lead-magnet-entry--emoties .lead-magnet-hero h1,
	.lead-magnet-entry--perfectionisme .lead-magnet-hero h1 { font-size: 44px; }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-hero h1,
	.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-hero h1 { font-size: 39px; }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-outcomes,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-outcomes,
	.lead-magnet-entry--emoties .lead-magnet-outcomes,
	.lead-magnet-entry--perfectionisme .lead-magnet-outcomes { gap: 28px; padding: 38px 22px; }
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-request,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-request,
	.lead-magnet-entry--emoties .lead-magnet-request,
	.lead-magnet-entry--perfectionisme .lead-magnet-request { gap: 28px; margin-top: 46px; padding: 42px 18px; }
	.lead-magnet-problem > p { font-size: var(--t-item); }
	.lead-magnet-outcomes { gap: 34px; margin: 0 12px; padding: 52px 26px; }
	.lead-magnet-outcomes li p { font-size: var(--t-item); }
	.lead-magnet-request { gap: 34px; margin: 52px 12px 0; padding: 52px 18px; }
	.lead-magnet-request-form { border-radius: var(--r-md); margin-inline: 0; padding: 22px 0; }
	.lead-magnet-form-intro { font-size: var(--t-meta); }
	.lead-magnet-next { align-items: flex-start; flex-direction: column; padding: 50px 0 68px; width: calc(100% - 44px); }
	.lead-magnet-next p { font-size: var(--t-quote); }
	.lead-thank-you { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.insight-library { animation: none; background-position: 50% 50%; }
	.insight-card { transition: none; }
	.insight-card:hover,
	.insight-card:focus-within { transform: none; }
	.tip-block { transition: none; }
}

/* Homepage 2026: de coach staat direct naast het probleem en de route loopt
   vervolgens van herkenning naar plan, bewijs en aanbod. */
.home-story { overflow: clip; }
.home-story .home-hero { gap: clamp(28px, 4vw, 64px); grid-template-columns: minmax(0, 1.1fr) minmax(420px, .88fr); min-height: min(700px, calc(100dvh - 110px)); padding: clamp(32px, 4vw, 56px); }
.home-story .home-hero .hero-copy { max-width: 735px; }
/* De kop is sinds 25-9 twee volle zinnen in plaats van vier woorden. Op
   --t-display werden dat zes regels en raakten de staarten van g en j de
   regel eronder. Een trap lager, met regelafstand voor een serif met staarten. */
.home-story .home-hero h1 { font-size: var(--t-page); letter-spacing: -.03em; line-height: 1.02; max-width: 15ch; }

/* Het schild is Jessica's visitekaart: missie boven, bewijs onder. Het is
   bewust het zwaarste element van de hero. High-end coachsites openen met
   één monumentaal autoriteitselement, klein goud leest daar als onzeker. */
.home-story .home-hero .hero-object { justify-content: flex-start; margin-left: 0; min-height: clamp(440px, 44vw, 560px); }
.home-story .home-hero .hero-object blockquote { font-size: var(--t-section); letter-spacing: -.025em; line-height: 1.14; margin: auto 0 0; max-width: 13ch; }
/* Vol zwart, geen alfakanaal: op de donkerste goudband haalt 70% zwart maar
   3,15:1 en de contrastregel van dit bestand is 4,5:1. */
.hero-object-who { color: var(--black); font-size: var(--t-meta); font-weight: 650; margin-top: 22px; }
.hero-object-creds { border-top: 1px solid rgba(18, 17, 16, .3); display: grid; gap: 14px 24px; grid-template-columns: 1fr 1fr; margin-top: auto; padding-top: 24px; }
.hero-object-creds div { color: var(--black); font-size: var(--t-meta); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }

.home-guide { align-items: start; display: grid; gap: 24px clamp(55px, 7vw, 100px); grid-template-columns: minmax(0, 1.2fr) minmax(330px, .72fr); padding: 70px clamp(24px, 6vw, 92px) 54px; }
.home-guide-copy { grid-column: 1; max-width: 740px; }
.home-guide header { max-width: 650px; }
.home-guide h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.1; margin: 24px 0 0; }
.home-guide-story { grid-column: 1; max-width: 650px; padding-top: 30px; }
.home-guide-story > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0 0 19px; }
.home-guide-story blockquote { border-bottom: 1px solid #bbb4ac; border-top: 1px solid #bbb4ac; color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.2; margin: 24px 0 20px; padding: 22px 0; }
.home-guide-story .text-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 6px; text-transform: uppercase; }
.home-guide-portrait { grid-column: 2; grid-row: 1 / span 2; min-height: 690px; }
.home-guide-authority { border-bottom: 1px solid #c0bab2; border-top: 1px solid #c0bab2; display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 12px; }
.home-guide-authority article { border-left: 1px solid #c0bab2; min-height: 105px; padding: 20px clamp(18px, 3vw, 38px); }
.home-guide-authority article:first-child { border-left: 0; padding-left: 0; }
.home-guide-authority strong { display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 400; line-height: 1.15; }
.home-guide-authority p { color: var(--laser); font-size: var(--t-meta); line-height: 1.45; margin: 16px 0 0; }
.home-guide-divider { align-items: center; display: grid; gap: 16px; grid-column: 1 / -1; grid-template-columns: 1fr auto 1fr; margin-top: 22px; }
.home-guide-divider::before, .home-guide-divider::after { border-top: 1px solid #bdb5ab; content: ""; }
.home-guide-divider span { border: 1px solid var(--gold-deep); border-radius: 50%; height: 8px; width: 8px; }

.home-recognition { background: #e9e6e1; padding: 70px clamp(24px, 6vw, 92px); }
.home-recognition > header { display: grid; gap: 30px clamp(50px, 8vw, 120px); grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
.home-recognition > header .eyebrow { grid-column: 1 / -1; }
.home-recognition h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.1; margin: 0; max-width: 900px; }
.home-recognition > header > p { align-self: end; color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; max-width: 53ch; }
.home-recognition-grid { align-items: start; column-gap: clamp(40px, 6vw, 86px); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: 58px; row-gap: clamp(46px, 5vw, 68px); }
.home-recognition-grid article { background: linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.2)); border: 1px solid rgba(143, 100, 43, .14); border-radius: var(--r-md); box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.75); max-width: none; padding: 34px 38px 42px; position: relative; }
.home-recognition-grid article::after { background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0)); bottom: 23px; content: ""; height: 1px; left: 38px; position: absolute; width: min(260px, 48%); }
.home-recognition-grid article:last-child::after { display: none; }
.recognition-item--work { grid-column: 1 / 7; }
.recognition-item--home { grid-column: 7 / 13; margin-top: clamp(48px, 5vw, 72px); }
.recognition-item--self { grid-column: 3 / 11; }
.recognition-kicker { color: var(--gold-deep); display: block; font-size: var(--t-label); font-weight: 850; letter-spacing: .11em; margin-bottom: 18px; text-transform: uppercase; }
.home-recognition-grid h3 { font-size: var(--t-section); font-weight: 400; line-height: 1.03; margin: 0; max-width: 19ch; }
.home-recognition-grid h3 em { color: var(--gold-deep); font-style: normal; }
.home-recognition-grid article:last-child h3 { font-size: var(--t-section); max-width: 18ch; }
.home-recognition-grid p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 22px 0 0; max-width: 54ch; }
.home-story .home-statement { align-items: end; border-radius: var(--r-md); display: grid; gap: 26px clamp(42px, 6vw, 90px); grid-template-columns: minmax(190px, .48fr) minmax(0, 1.52fr); margin: 0 clamp(24px, 6vw, 92px); min-height: 0; padding: clamp(34px, 4vw, 48px); }
.home-story .home-statement span { align-self: start; font-size: var(--t-label); font-weight: 800; line-height: 1.45; max-width: 22ch; }
.home-story .home-statement h2 { font-size: var(--t-section); line-height: 1.02; max-width: 18ch; text-align: left; }

.home-story .home-method { padding-bottom: 62px; padding-top: 70px; }
.home-story .home-method header h2 { font-size: var(--t-section); }
.home-story .home-method .method-steps { border-bottom: 1px solid #c7c0b7; border-top: 1px solid #c7c0b7; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 45px; }
.home-story .home-method .method-steps li, .home-story .home-method .method-steps li:nth-child(2), .home-story .home-method .method-steps li:nth-child(3) { align-content: start; border-left: 1px solid #c7c0b7; border-top: 0; display: block; min-height: 280px; padding: 30px clamp(24px, 3vw, 42px); }
.home-story .home-method .method-steps li:first-child { border-left: 0; padding-left: 0; }
.home-story .home-method .method-steps h3 { font-size: var(--t-item); margin: 40px 0 20px; }
.home-story .home-method .method-steps p { font-size: var(--t-small); }
.home-method-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 34px; text-transform: uppercase; }

.home-story .home-proof { padding-bottom: 60px; padding-top: 68px; }
.home-story .home-proof .eyebrow { color: var(--gold); margin-bottom: 24px; }
.home-story .home-proof .proof-grid { margin: 40px 0 32px; }
.home-story .home-proof .proof-grid figure { min-height: 240px; padding-top: 28px; }
.home-story .home-proof .proof-grid blockquote { font-size: var(--t-item); }
.home-story .home-proof .proof-grid figcaption { align-items: center; display: flex; gap: 14px; }
.home-story .home-proof .proof-grid figcaption img { border: 1px solid rgba(213, 180, 119, .55); border-radius: 50%; flex: 0 0 58px; height: 58px; object-fit: cover; width: 58px; }
.home-story .home-proof .proof-grid figcaption span { display: grid; gap: 5px; }
.home-story .home-proof .proof-grid figcaption strong { color: var(--paper); font-size: var(--t-meta); }
.home-story .home-proof .proof-grid figcaption small { color: var(--on-dark-soft); font-size: var(--t-meta); font-weight: 400; letter-spacing: 0; text-transform: none; }

.home-story .home-offer { padding-bottom: 78px; padding-top: 84px; }
.home-story .home-offer header { max-width: 1000px; }
.home-story .home-offer header h2 { font-size: var(--t-section); }
.home-story .home-offer .offer-card { min-height: 440px; padding: clamp(34px, 4vw, 52px); }
.home-story .home-offer .offer-card h3 { font-size: var(--t-section); }

.home-self-guided { border-top: 1px solid #c3bdb5; display: grid; gap: 48px clamp(50px, 8vw, 120px); grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr); padding: 78px clamp(24px, 6vw, 92px) 88px; }
.home-self-guided header h2 { font-size: var(--t-section); font-weight: 500; line-height: 1.1; margin: 25px 0 0; }
.home-self-guided-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-self-guided-grid > a { border-left: 1px solid #c3bdb5; color: var(--black); display: flex; flex-direction: column; min-height: 360px; padding: 20px 34px 4px; text-decoration: none; }
.home-self-guided-grid > a:first-child { padding-left: 0; }
.home-self-guided-grid span { color: var(--gold-deep); font-size: var(--t-label); font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.home-self-guided-grid h3 { font-size: var(--t-item); font-weight: 400; line-height: 1.08; margin: 45px 0 22px; }
.home-self-guided-grid p { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.65; margin: 0; }
.home-self-guided-grid strong { color: var(--gold-deep); font-size: var(--t-meta); margin-top: auto; padding-top: 30px; text-decoration: underline; text-underline-offset: 5px; }
.home-self-guided-grid > a:hover strong, .home-self-guided-grid > a:focus-visible strong { color: var(--black); }

@media (max-width: 980px) {
	.home-story .home-hero { grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); }
	.home-guide, .home-recognition > header, .home-self-guided { grid-template-columns: 1fr; }
	.home-guide-portrait { grid-column: 1; grid-row: auto; min-height: 680px; }
	.home-guide-authority { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-guide-authority article:nth-child(3) { border-left: 0; }
	.home-guide-authority article:nth-child(n+3) { border-top: 1px solid #c0bab2; }
	.home-recognition-grid { grid-template-columns: 1fr; }
	.recognition-item--work, .recognition-item--home, .recognition-item--self { grid-column: 1; }
	.recognition-item--home { justify-self: end; margin-top: 0; width: min(790px, 88%); }
	.recognition-item--self { margin-left: clamp(20px, 5vw, 55px); }
	.home-story .home-method .method-steps { grid-template-columns: 1fr; }
	.home-story .home-method .method-steps li, .home-story .home-method .method-steps li:nth-child(2), .home-story .home-method .method-steps li:nth-child(3), .home-story .home-method .method-steps li:first-child { border-left: 0; border-top: 1px solid #c7c0b7; min-height: 0; padding: 32px 0; }
	.home-story .home-method .method-steps li:first-child { border-top: 0; }
	.home-story .home-method .method-steps h3 { margin-top: 28px; }
}

@media (max-width: 640px) {
	.home-story .home-hero { gap: 22px; grid-template-columns: 1fr; min-height: 0; padding: 22px; }
	.home-story .home-hero .hero-copy { padding: 38px 0 30px; }
	.home-story .home-hero .hero-object { min-height: clamp(310px, 68vw, 390px); padding: clamp(28px, 6vw, 38px); }
	.home-story .home-hero .hero-object blockquote { font-size: var(--t-section); line-height: 1; margin: clamp(26px, 6vw, 38px) 0; }
	.home-story .home-hero .hero-object small { font-size: var(--t-label); line-height: 1.45; }
	.home-guide { gap: 20px; padding: 52px 22px 44px; }
	.home-guide h2 { font-size: var(--t-section); }
	.home-guide-story { padding-top: 8px; }
	.home-guide-story > p { font-size: var(--t-body); }
	.home-guide-portrait { min-height: 470px; }
	.home-guide-authority { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
	.home-guide-authority article { min-height: 112px; padding: 18px 14px; }
	.home-guide-authority article:nth-child(odd) { padding-left: 0; }
	.home-guide-authority strong { font-size: var(--t-body-lg); }
	.home-guide-authority p { font-size: var(--t-label); margin-top: 12px; }
	.home-guide-divider { gap: 12px; margin-top: 12px; }
	.home-recognition { padding: 50px 22px; }
	.home-recognition h2 { font-size: var(--t-section); }
	.home-recognition > header { gap: 20px; }
	.home-recognition > header > p { font-size: var(--t-body); }
	.home-recognition-grid { gap: 38px; margin-top: 38px; }
	.home-recognition-grid article, .recognition-item--home, .recognition-item--self { border-radius: var(--r-md); box-shadow: 0 13px 32px rgba(39, 29, 18, .065), inset 0 1px 0 rgba(255,255,255,.72); grid-column: 1; justify-self: stretch; margin-left: 0; max-width: none; padding: 27px 24px 34px; width: auto; }
	.home-recognition-grid article::after { bottom: 17px; left: 24px; width: min(190px, 48%); }
	.recognition-kicker { margin-bottom: 14px; }
	.home-recognition-grid h3 { font-size: var(--t-item); }
	.home-recognition-grid article:last-child h3 { font-size: var(--t-item); }
	.home-recognition-grid p { font-size: var(--t-small); line-height: 1.65; margin-top: 17px; }
	.home-story .home-statement { border-radius: var(--r-md); gap: 18px; grid-template-columns: 1fr; margin: 0 22px; padding: 30px 26px 34px; }
	.home-story .home-statement h2 { font-size: var(--t-quote); }
	.home-story .home-method { padding-bottom: 58px; padding-top: 62px; }
	.home-story .home-method header h2 { font-size: var(--t-section); }
	.home-story .home-method .method-steps { margin-top: 42px; }
	.home-story .home-proof { padding-bottom: 56px; padding-top: 62px; }
	.home-story .home-proof .proof-grid { margin-top: 40px; }
	.home-story .home-proof .proof-grid figure { min-height: 0; }
	.home-story .home-offer { padding-bottom: 50px; padding-top: 52px; }
	.home-story .home-offer header h2 { font-size: var(--t-section); }
	.home-story .home-offer .offer-card { min-height: 360px; }
	.home-story + .site-footer:not(.site-footer--minimal) { padding-top: 64px; }
	.home-story + .site-footer > .eyebrow { margin-bottom: 20px; }
	.home-story + .site-footer h2 { font-size: var(--t-section); margin-bottom: 28px; }
	.home-story + .site-footer .footer-intro { font-size: var(--t-body); line-height: 1.6; margin: 0 auto 26px; }
	.home-self-guided { gap: 38px; padding: 62px 22px 70px; }
	.home-self-guided header h2 { font-size: var(--t-section); }
	.home-self-guided-grid { grid-template-columns: 1fr; }
	.home-self-guided-grid > a, .home-self-guided-grid > a:first-child { border-left: 0; border-top: 1px solid #c3bdb5; min-height: 300px; padding: 30px 0; }
	.home-self-guided-grid > a:last-child { border-bottom: 1px solid #c3bdb5; }
}

/* Spanje sluit visueel en inhoudelijk aan op de trajectpagina's. */
.spain-page .spain-hero { gap: clamp(28px, 4vw, 56px); grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr); min-height: 0; padding: clamp(28px, 3vw, 42px); }
.spain-page .spain-hero-copy { max-width: 680px; }
.spain-page .spain-hero .eyebrow { margin-bottom: 20px; }
.spain-page .spain-hero h1 { font-size: var(--t-page); line-height: .94; max-width: 15ch; }
.spain-page .spain-hero-copy > p { font-size: var(--t-small); line-height: 1.6; margin-top: 20px; max-width: 54ch; }
.spain-page .spain-date-note { margin-top: 24px; padding: 14px 0; }
.spain-page .spain-hero-actions { margin-top: 24px; }
.spain-page .spain-hero-image { align-self: center; aspect-ratio: 47 / 45; border-radius: var(--r-md); justify-self: end; max-width: 470px; min-height: 0; overflow: hidden; width: 100%; }
.spain-page .spain-hero-image img { border-radius: 0; }

.spain-page .spain-anchor-nav { background: transparent; border: 0; border-bottom: 1px solid #c5beb6; border-radius: 0; border-top: 1px solid #c5beb6; gap: clamp(18px, 3vw, 40px); justify-content: flex-start; margin: 28px auto 0; padding: 16px 0; position: static; width: var(--content); }
.spain-page .spain-anchor-nav a { border-radius: 0; color: var(--ink-soft); padding: 5px 0; }
.spain-page .spain-anchor-nav a:hover, .spain-page .spain-anchor-nav a:focus-visible { background: transparent; color: var(--gold-deep); }

.spain-page .spain-section-heading { max-width: 900px; }
.spain-page .spain-section-heading .eyebrow { margin-bottom: 20px; }
.spain-page .spain-section-heading h2 { font-size: var(--t-section); line-height: 1.1; }
.spain-page .spain-section-heading > p { font-size: var(--t-body); line-height: 1.68; }

.spain-page .spain-facts { padding: 72px 0 56px; }
.spain-page .spain-facts-grid { border-top: 1px solid #c5beb6; grid-template-columns: 1fr; margin-top: 42px; }
.spain-page .spain-facts-grid article, .spain-page .spain-facts-grid article:first-child, .spain-page .spain-facts-grid article:nth-child(4) { align-items: start; border-bottom: 1px solid #c5beb6; border-left: 0; display: grid; gap: clamp(26px, 4vw, 52px); grid-template-columns: minmax(110px, .3fr) minmax(220px, .7fr) minmax(0, 1fr); min-height: 0; padding: 24px 0; }
.spain-page .spain-facts-grid span { padding-top: 7px; }
.spain-page .spain-facts-grid strong { font-size: var(--t-item); margin: 0; }
.spain-page .spain-facts-grid p { font-size: var(--t-small); line-height: 1.65; margin: 2px 0 0; }
.spain-page .spain-facts-grid article > p:empty { display: none; }

.spain-page .spain-purpose { gap: clamp(48px, 6vw, 78px); grid-template-columns: minmax(0, 1.1fr) minmax(330px, .68fr); padding: 72px 0; }
.spain-page .spain-purpose-copy h2 { font-size: var(--t-section); margin-bottom: 28px; }
.spain-page .spain-purpose-copy p { font-size: var(--t-body); line-height: 1.68; }
.spain-page .spain-purpose-image img { border-radius: var(--r-md); }

.spain-page .spain-freedom { border-radius: var(--r-lg); gap: clamp(48px, 6vw, 78px); grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr); padding: 64px; }
.spain-page .spain-freedom h2 { font-size: var(--t-section); line-height: 1.1; margin-bottom: 28px; }
.spain-page .spain-freedom p { font-size: var(--t-body); line-height: 1.68; }
.spain-page .spain-freedom img { aspect-ratio: 1.42; border-radius: var(--r-md); }

.spain-page .spain-experiences { padding: 72px 0; }
.spain-page .spain-experience-grid { column-gap: 40px; margin-top: 42px; row-gap: 0; }
.spain-page .spain-experience-grid article { align-items: start; background: transparent; border: 0; border-radius: 0; border-top: 1px solid #c5beb6; display: grid; grid-template-columns: minmax(150px, .55fr) minmax(0, 1fr); padding: 28px 0; }
.spain-page .spain-experience-grid img { aspect-ratio: 4 / 3; border-radius: var(--r-md); }
.spain-page .spain-experience-grid article > div { min-height: 0; padding: 6px 0 6px 28px; }
.spain-page .spain-experience-grid h3 { font-size: var(--t-item); margin: 0 0 16px; }
.spain-page .spain-experience-grid p { font-size: var(--t-small); line-height: 1.65; }
.spain-page .spain-experience-grid article > div > p:empty { display: none; }

.spain-page .spain-gallery { padding: 72px 0; }
.spain-page .spain-gallery-grid { margin-top: 42px; }
.spain-page .spain-gallery-grid img { border-radius: var(--r-md); }

.spain-page .spain-outcomes { align-items: start; border-radius: var(--r-lg); display: grid; gap: clamp(48px, 6vw, 78px); grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin: 72px auto; padding: 64px; width: var(--content); }
.spain-page .spain-outcomes > * { position: relative; z-index: 2; }
.spain-page .spain-outcomes .eyebrow { margin-bottom: 24px; }
.spain-page .spain-outcomes h2 { font-size: var(--t-section); line-height: 1.1; margin: 0 0 26px; }
.spain-page .spain-outcomes p { color: var(--black); font-size: var(--t-body); line-height: 1.68; margin: 0; max-width: 58ch; }
.spain-page .spain-outcomes ul { list-style: none; margin: 0; padding: 0; }
.spain-page .spain-outcomes li { border-top: 1px solid rgba(17,17,17,.22); color: var(--black); font-size: var(--t-small); line-height: 1.62; padding: 17px 0 17px 32px; position: relative; }
.spain-page .spain-outcomes li::before { content: "→"; left: 0; position: absolute; }

.spain-page .spain-included { border-radius: var(--r-lg); margin: 72px auto; padding: 64px; width: var(--content); }
.spain-page .spain-included-grid { margin: 42px 0 38px; }
.spain-page .spain-included-grid article { min-height: 0; padding: 6px clamp(26px, 3vw, 42px); }
.spain-page .spain-included-grid h3 { font-size: var(--t-item); margin: 28px 0 22px; }
.spain-page .spain-included-grid li, .spain-page .spain-included-grid p { font-size: var(--t-small); line-height: 1.65; }

.spain-page .spain-reasons { padding: 72px 0; }
.spain-page .spain-reasons-grid { border-top: 1px solid #c5beb6; gap: 0; grid-template-columns: 1fr; margin-top: 42px; }
.spain-page .spain-reasons details { background: transparent; border: 0; border-bottom: 1px solid #c5beb6; border-radius: 0; }
.spain-page .spain-reasons summary { font-size: var(--t-item); min-height: 0; padding: 22px 68px 22px 0; }
.spain-page .spain-reasons details p { margin: 0; }

.spain-page .spain-testimonials { padding: 72px 0; }
.spain-page .spain-testimonial-feature { margin: 48px 0; }
.spain-page .spain-testimonial-feature blockquote { font-size: var(--t-section); }
.spain-page .spain-testimonial-grid article { border-radius: var(--r-md); padding: 30px; }
.spain-page .spain-testimonial-grid blockquote { font-size: var(--t-body-lg); }

.spain-page .spain-faq { padding-bottom: 72px; }
.spain-page .spain-faq .spain-section-heading { margin-bottom: 42px; }
.spain-page .spain-faq summary { font-size: var(--t-item); padding-block: 23px; }

.spain-page .spain-closing { border-radius: var(--r-lg); gap: 60px; margin-bottom: 72px; padding: 64px; }
.spain-page .spain-closing h2 { font-size: var(--t-section); line-height: 1.1; }
.spain-page .spain-closing p { font-size: var(--t-body); line-height: 1.68; }

@media (max-width: 900px) {
	.spain-page .spain-hero, .spain-page .spain-purpose, .spain-page .spain-freedom, .spain-page .spain-outcomes, .spain-page .spain-closing { grid-template-columns: 1fr; }
	.spain-page .spain-hero-image { aspect-ratio: 1.42; justify-self: stretch; max-width: none; min-height: 0; }
	.spain-page .spain-hero-image img { aspect-ratio: 1.42; }
	.spain-page .spain-purpose-image { max-width: 720px; }
	.spain-page .spain-freedom img { aspect-ratio: 1.42; }
}

@media (max-width: 640px) {
	.spain-page .spain-hero { gap: 26px; margin: 12px; padding: 32px 20px 22px; }
	.spain-page .spain-hero .eyebrow { margin-bottom: 16px; }
	.spain-page .spain-hero-copy > p { font-size: var(--t-small); line-height: 1.5; margin-top: 16px; }
	.spain-page .spain-date-note { margin-top: 20px; padding: 12px 0; }
	.spain-page .spain-hero-actions { gap: 18px; margin-top: 20px; }
	.spain-page .spain-hero-image img { border-radius: var(--r-md); }
	.spain-page .spain-anchor-nav { margin-top: 18px; max-width: none; padding: 13px 0; width: calc(100% - 44px); }
	.spain-page .spain-section-heading h2 { font-size: var(--t-section); }
	.spain-page .spain-section-heading > p { font-size: var(--t-small); }
	.spain-page .spain-facts { padding: 56px 0 42px; }
	.spain-page .spain-facts-grid { margin-top: 30px; }
	.spain-page .spain-facts-grid article, .spain-page .spain-facts-grid article:first-child, .spain-page .spain-facts-grid article:nth-child(4) { gap: 10px; grid-template-columns: 1fr; padding: 24px 0; }
	.spain-page .spain-facts-grid span { padding-top: 0; }
	.spain-page .spain-facts-grid strong { font-size: var(--t-item); margin-top: 4px; }
	.spain-page .spain-facts-grid p { font-size: var(--t-small); }
	.spain-page .spain-purpose { gap: 28px; padding: 56px 0; }
	.spain-page .spain-purpose-copy h2 { font-size: var(--t-section); margin-bottom: 24px; }
	.spain-page .spain-purpose-copy p { font-size: var(--t-body); }
	.spain-page .spain-freedom { border-radius: var(--r-md); gap: 28px; margin: 0 12px; padding: 42px 26px 26px; width: auto; }
	.spain-page .spain-freedom h2 { font-size: var(--t-section); margin-bottom: 24px; }
	.spain-page .spain-freedom p { font-size: var(--t-body); }
	.spain-page .spain-freedom img { border-radius: var(--r-md); }
	.spain-page .spain-experiences { padding: 56px 0; }
	.spain-page .spain-experience-grid { margin-top: 30px; }
	.spain-page .spain-experience-grid article { gap: 20px; grid-template-columns: 104px minmax(0, 1fr); padding: 24px 0; }
	.spain-page .spain-experience-grid article > div { padding: 0; }
	.spain-page .spain-experience-grid h3 { font-size: var(--t-item); margin: 0 0 12px; }
	.spain-page .spain-experience-grid p { font-size: var(--t-small); }
	.spain-page .spain-gallery { padding: 56px 0; }
	.spain-page .spain-gallery-grid { margin-top: 30px; }
	.spain-page .spain-outcomes { border-radius: var(--r-md); gap: 28px; margin: 52px 12px; padding: 42px 26px; width: auto; }
	.spain-page .spain-outcomes h2 { font-size: var(--t-section); margin-bottom: 22px; }
	.spain-page .spain-outcomes p { font-size: var(--t-body); }
	.spain-page .spain-outcomes li { font-size: var(--t-small); padding-block: 15px; }
	.spain-page .spain-included { border-radius: var(--r-md); margin: 52px 12px; padding: 42px 26px; width: auto; }
	.spain-page .spain-included-grid { margin: 30px 0; }
	.spain-page .spain-included-grid article { padding: 30px 0; }
	.spain-page .spain-reasons { padding: 56px 0; }
	.spain-page .spain-reasons-grid { margin-top: 30px; }
	.spain-page .spain-reasons summary { font-size: var(--t-body-lg); padding-block: 20px; }
	.spain-page .spain-testimonials { padding: 56px 0; }
	.spain-page .spain-testimonial-feature { margin: 36px 0; }
	.spain-page .spain-testimonial-grid article { padding: 26px; }
	.spain-page .spain-faq { padding-bottom: 56px; }
	.spain-page .spain-faq .spain-section-heading { margin-bottom: 30px; }
	.spain-page .spain-faq summary { font-size: var(--t-body-lg); }
	.spain-page .spain-closing { border-radius: var(--r-md); gap: 32px; margin: 0 12px 52px; padding: 42px 26px; width: auto; }
	.spain-page .spain-closing h2 { font-size: var(--t-section); }
}

/* Ervaringen volgt hetzelfde rustige hero- en redactiesysteem als de
   trajectpagina's. De verhalen blijven inhoudelijk volledig intact. */
.results-page .results-page-hero { min-height: 0; padding: clamp(28px, 3vw, 42px); }
.results-page .results-page-hero .page-hero-inner { align-items: center; column-gap: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr); }
.results-page .results-page-hero .page-hero-inner > .eyebrow, .results-page .results-page-hero h1, .results-page .results-page-hero .page-hero-inner > p { grid-column: 1; }
.results-page .results-page-hero h1 { font-size: var(--t-page); line-height: .94; max-width: 13ch; }
.results-page .results-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.6; margin-top: 18px; max-width: 54ch; }
.results-page .results-hero-shield { grid-column: 2; grid-row: 1 / span 3; justify-self: end; margin: 0; max-width: 470px; min-height: clamp(360px, 38vw, 460px); padding: clamp(32px, 4vw, 58px); width: 100%; }
.results-page .results-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.08; max-width: 14ch; }



/* Over Jessica: hetzelfde compacte hero- en redactieprincipe als de
   trajectpagina's, met beelden die het persoonlijke verhaal laten ademen. */
.jessica-page .jessica-page-hero { min-height: 0; padding: clamp(28px, 3vw, 42px); }
.jessica-page .jessica-page-hero .page-hero-inner { align-items: center; column-gap: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr); }
.jessica-page .jessica-page-hero .page-hero-inner > .eyebrow, .jessica-page .jessica-page-hero h1, .jessica-page .jessica-page-hero .page-hero-inner > p { grid-column: 1; }
.jessica-page .jessica-page-hero h1 { font-size: clamp(54px, 4.8vw, 76px); hyphens: none; line-height: .94; max-width: none; overflow-wrap: normal; word-break: normal; }
.jessica-page .jessica-page-hero h1 span { display: block; white-space: nowrap; }
.jessica-page .jessica-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.6; margin-top: 18px; max-width: 54ch; }
.jessica-page .jessica-hero-shield { align-items: center; grid-column: 2; grid-row: 1 / span 3; justify-content: center; justify-self: end; margin: 0; max-width: 470px; min-height: clamp(440px, 44vw, 560px); padding: clamp(32px, 4vw, 58px); text-align: center; width: 100%; }
.jessica-page .jessica-hero-shield .eyebrow { margin: 0 0 34px; }
.jessica-page .jessica-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.08; margin: 0; max-width: 13ch; }
.jessica-page .jessica-hero-shield .hero-object-who { margin-top: 26px; }
.jessica-page .jessica-page-content { padding-top: 72px; }
.jessica-page .jessica-opening { align-items: center; gap: clamp(46px, 7vw, 98px); }
.jessica-page .jessica-opening-copy { max-width: 58ch; }
.jessica-page .jessica-main-portrait { aspect-ratio: 4 / 3; border-radius: var(--r-md); max-width: 560px; justify-self: end; width: 100%; }
.jessica-page .jessica-main-portrait-image { object-position: 48% center; }
.jessica-page .jessica-facts { align-items: center; border: 0; display: grid; gap: clamp(38px, 6vw, 94px); grid-template-columns: minmax(280px, .94fr) minmax(230px, .72fr); margin-top: 72px; overflow: visible; }
.jessica-page .jessica-facts .jessica-facts-feature { align-items: flex-start; border-radius: var(--r-md); display: flex; flex-direction: column; justify-content: space-between; min-height: 334px; padding: clamp(34px, 4vw, 54px); position: relative; transform: rotate(-1.2deg); z-index: var(--z-raised); }
.jessica-page .jessica-facts-feature > * { position: relative; z-index: 2; }
.jessica-page .jessica-facts-feature .eyebrow { color: rgba(18,17,16,.72); margin: 0 0 28px; }
.jessica-page .jessica-facts-feature-copy { display: flex; flex-direction: column; margin-top: auto; width: 100%; }
/* "15 jaar" erfde een grijs dat op de donkerste goudband 1,40:1 haalt. Op goud
   dempen doe je met maat en gewicht, nooit met een lichtere kleur. */
.jessica-page .jessica-facts-feature-copy > span { color: var(--black); font-family: var(--serif); font-size: var(--t-page); letter-spacing: -.04em; line-height: .96; opacity: .72; }
.jessica-page .jessica-facts-feature-copy strong { font-size: var(--t-section); line-height: 1.02; margin-top: 16px; max-width: 8ch; }
.jessica-page .jessica-facts-feature-copy small { border-top: 1px solid rgba(18,17,16,.3); font-size: var(--t-meta); line-height: 1.45; margin-top: 24px; padding-top: 17px; width: 100%; }
.jessica-page .jessica-facts-list { display: grid; }
.jessica-page .jessica-facts-list article { border: 0; border-top: 1px solid #c5beb6; display: block; min-height: 0; padding: 25px 0 27px; }
.jessica-page .jessica-facts-list article:last-child { border-bottom: 1px solid #c5beb6; }
.jessica-page .jessica-facts-list strong { font-size: var(--t-item); }
.jessica-page .jessica-facts-list span { color: var(--laser); font-size: var(--t-meta); line-height: 1.45; margin-top: 9px; padding: 0; }
.jessica-page .jessica-story { margin: 78px auto 90px; max-width: none; width: var(--content); }
.jessica-page .jessica-story h2 { font-size: var(--t-section); line-height: 1.04; margin-top: 1.45em; }
.jessica-page .jessica-story-chapter { border-top: 1px solid #bdb7af; column-gap: clamp(48px, 8vw, 132px); display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.14fr); max-width: none; padding-top: 34px; }
.jessica-page .jessica-story-chapter + .jessica-story-chapter { margin-top: 74px; }
.jessica-page .jessica-story-chapter > h2 { border: 0; grid-column: 1; margin: 0; padding: 0; }
.jessica-page .jessica-story-chapter > p { grid-column: 2; }
.jessica-page .jessica-story-chapter > p:first-of-type { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.42; margin-top: 0; max-width: 32ch; }
.jessica-page .jessica-story-chapter > p:nth-of-type(2) { margin-left: clamp(22px, 3vw, 48px); max-width: 54ch; }
/* Stond op border-left 2px goud én mikte op p:nth-of-type(3), dus de streep
   verhuisde zodra er een alinea bij kwam. Nu alleen inspringing. */
.jessica-page .jessica-story-chapter > p:nth-of-type(3) { color: var(--ink-soft); font-size: var(--t-body); margin-left: clamp(44px, 6vw, 92px); max-width: 44ch; }
.jessica-page .jessica-story-photo { border-radius: var(--r-md); margin: 52px 0 12px; max-width: 360px; overflow: hidden; }
.jessica-page .jessica-story-photo img { aspect-ratio: 4 / 5; display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.jessica-page .jessica-story-turn { align-items: start; display: grid; gap: clamp(34px, 5vw, 62px); grid-template-columns: minmax(205px, .56fr) minmax(0, 1fr); margin: 64px 0; }
.jessica-page .jessica-story-turn .jessica-story-photo { margin: 0; max-width: none; }
.jessica-page .jessica-story-turn h2 { margin-top: 0; }
.jessica-page .jessica-approach { border-radius: var(--r-lg); margin-bottom: 88px; padding: clamp(52px, 7vw, 92px); }
.jessica-page .jessica-approach h2 { font-size: var(--t-section); max-width: 13ch; }
.jessica-page .jessica-approach-grid { margin-top: 52px; }
.jessica-page .jessica-approach-grid article { padding-top: 0; }
.jessica-page .jessica-approach-grid h3 { margin-top: 0; }
.jessica-page .jessica-character { gap: clamp(50px, 9vw, 135px); grid-template-columns: minmax(0, 1.08fr) minmax(290px, .72fr); margin-bottom: 92px; }
.jessica-page .jessica-character-copy { max-width: var(--measure); }
.jessica-page .jessica-character-copy .eyebrow { color: var(--gold-deep); margin-bottom: 22px; }
.jessica-page .jessica-character-copy h2 { font-size: var(--t-section); margin-bottom: 28px; max-width: 11ch; }
.jessica-page .jessica-character-aside { border-top: 1px solid #bdb7af; padding-top: 24px; }
.jessica-page .jessica-character-photo { aspect-ratio: 4 / 3; border-radius: var(--r-md); margin: 0; overflow: hidden; }
.jessica-page .jessica-character-photo img { display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.jessica-page .jessica-character-aside blockquote { border: 0; color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-quote); line-height: 1.13; margin: 26px 0 0; padding: 0; }
.jessica-page .jessica-book { border-radius: var(--r-lg); margin-bottom: 88px; }
.jessica-page .jessica-more { padding-bottom: 92px; }
.jessica-page .jessica-more-grid a { background: transparent; border: 0; border-radius: 0; border-top: 1px solid #c5beb6; min-height: 0; padding: 28px 0; }
.jessica-page .jessica-more-grid a:hover, .jessica-page .jessica-more-grid a:focus-visible { background: transparent; border-color: var(--gold-deep); transform: none; }
.jessica-page .jessica-more-grid small { margin-top: 16px; }

@media (max-width: 900px) {
	.jessica-page .jessica-page-hero .page-hero-inner { grid-template-columns: 1fr; }
	.jessica-page .jessica-hero-shield { grid-column: 1; grid-row: auto; justify-self: stretch; margin-top: 26px; max-width: none; min-height: 390px; }
	.jessica-page .jessica-facts { grid-template-columns: minmax(250px, .94fr) minmax(220px, .72fr); }
	.jessica-page .jessica-facts-feature { grid-column: 1; }
	.jessica-page .jessica-facts-list { grid-column: 2; }
	.jessica-page .jessica-character { grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); }
	.results-page .results-page-hero .page-hero-inner { grid-template-columns: 1fr; }
	.results-page .results-hero-shield { grid-column: 1; grid-row: auto; justify-self: stretch; margin-top: 26px; max-width: none; min-height: 390px; }
}

@media (max-width: 640px) {
	.jessica-page .jessica-page-hero { padding: 32px 20px 34px; }
	.jessica-page .jessica-page-hero .eyebrow { margin-bottom: 16px; }
	.jessica-page .jessica-page-hero h1 { font-size: clamp(38px, 10.6vw, 42px); }
	.jessica-page .jessica-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.5; margin-top: 16px; }
	.jessica-page .jessica-hero-shield { min-height: 320px; padding: 26px; }
	.jessica-page .jessica-hero-shield .eyebrow { margin-bottom: 24px; }
	.jessica-page .jessica-hero-shield blockquote { font-size: var(--t-item); line-height: 1.02; margin: 0; }
	.jessica-page .jessica-page-content { padding-top: 52px; }
	.jessica-page .jessica-opening { gap: 34px; }
	.jessica-page .jessica-main-portrait { border-radius: var(--r-md); }
	.jessica-page .jessica-facts { display: grid; gap: 24px; grid-template-columns: 1fr; margin-top: 58px; }
	.jessica-page .jessica-facts-feature { border-radius: var(--r-md); grid-column: auto; min-height: 274px; padding: 30px; transform: rotate(-.8deg); }
	.jessica-page .jessica-facts-feature-copy > span { font-size: var(--t-statement); }
	.jessica-page .jessica-facts-feature-copy strong { font-size: var(--t-item); max-width: 9ch; }
	.jessica-page .jessica-facts-list { grid-column: auto; }
	.jessica-page .jessica-facts-list article { padding: 20px 0; }
	.jessica-page .jessica-story { margin: 62px auto 70px; width: calc(100% - 44px); }
	.jessica-page .jessica-story-chapter { display: block; padding-top: 28px; }
	.jessica-page .jessica-story-chapter + .jessica-story-chapter { margin-top: 58px; }
	.jessica-page .jessica-story-chapter > p:first-of-type { font-size: var(--t-body-lg); margin-top: 24px; }
	.jessica-page .jessica-story-chapter > p:nth-of-type(2), .jessica-page .jessica-story-chapter > p:nth-of-type(3) { margin-left: 0; }
	.jessica-page .jessica-story-chapter > p:nth-of-type(3) { font-size: var(--t-body); }
	.jessica-page .jessica-story-photo { border-radius: var(--r-md); margin-top: 42px; max-width: 100%; width: 100%; }
	.jessica-page .jessica-story-turn { gap: 28px; grid-template-columns: 1fr; margin: 48px 0; }
	.jessica-page .jessica-story-turn .jessica-story-photo { margin: 0; max-width: 100%; }
	.jessica-page .jessica-approach { border-radius: var(--r-md); margin-bottom: 70px; padding: 56px 26px; }
	.jessica-page .jessica-approach h2 { font-size: var(--t-section); }
	.jessica-page .jessica-approach-grid { margin-top: 40px; }
	.jessica-page .jessica-character { display: grid; gap: 30px; grid-template-columns: 1fr; margin-bottom: 70px; }
	.jessica-page .jessica-character-copy { order: 0; }
	.jessica-page .jessica-character-aside { order: 1; padding-top: 20px; }
	.jessica-page .jessica-character-photo { aspect-ratio: 4 / 3; }
	.jessica-page .jessica-character-aside blockquote { font-size: var(--t-quote); margin-top: 22px; }
	.jessica-page .jessica-book { margin-bottom: 70px; }
	.jessica-page .jessica-more { padding-bottom: 72px; }
	.results-page .results-page-hero { padding: 32px 20px 34px; }
	.results-page .results-page-hero .eyebrow { margin-bottom: 16px; }
	.results-page .results-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.5; margin-top: 16px; }
	.results-page .results-hero-shield { min-height: 320px; padding: 26px; }
}

/* Tips: geen genummerde kaarten, maar korte redactionele stukken die als één
   rustige reeks lezen. Het schild herhaalt de vertrouwde hero-vorm. */
.tips-page .tips-page-hero { min-height: 0; padding: clamp(28px, 3vw, 42px); }
.tips-page .tips-page-hero .page-hero-inner { align-items: center; column-gap: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(380px, .78fr); }
.tips-page .tips-page-hero .page-hero-inner > .eyebrow, .tips-page .tips-page-hero h1, .tips-page .tips-page-hero .page-hero-inner > p { grid-column: 1; }
.tips-page .tips-page-hero h1 { font-size: var(--t-page); line-height: .94; max-width: 13ch; }
.tips-page .tips-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.6; margin-top: 18px; max-width: 54ch; }
.tips-page .tips-hero-shield { grid-column: 2; grid-row: 1 / span 3; justify-self: end; margin: 0; max-width: 470px; min-height: clamp(440px, 44vw, 560px); padding: clamp(32px, 4vw, 58px); width: 100%; }
.tips-page .tips-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.08; max-width: 13ch; }
.tips-page .tips-list { background: transparent; border: 0; border-radius: 0; margin: 72px auto 46px; max-width: none; padding: 0; width: var(--content); }
.tips-page .tip-block { align-items: start; background: transparent; border-top: 1px solid #c5beb6; display: grid; gap: clamp(34px, 7vw, 120px); grid-template-columns: minmax(250px, .68fr) minmax(0, 1.12fr); padding: 38px 0 42px; }
.tips-page .tip-block:first-child { border-top: 1px solid #c5beb6; }
.tips-page .tip-block::before { content: none; display: none; }
.tips-page .tip-block:hover { background: transparent; }
.tips-page .tip-block h2 { font-size: var(--t-section); line-height: 1.05; margin: 0; }
.tips-page .tip-block-body { max-width: var(--measure); }
.tips-page .tip-block-body p { font-size: var(--t-body); line-height: 1.7; }
.tips-page .tip-block:nth-child(7) { background: transparent; border-color: #c5beb6; color: var(--black); padding-block: 38px 42px; }
.tips-page .tip-block:nth-child(7) .tip-block-body p { color: var(--ink-soft); }
.tips-page .tips-back { padding-bottom: 92px; }

@media (max-width: 900px) {
	.tips-page .tips-page-hero .page-hero-inner { grid-template-columns: 1fr; }
	.tips-page .tips-hero-shield { grid-column: 1; grid-row: auto; justify-self: stretch; margin-top: 26px; max-width: none; min-height: 390px; }
	.tips-page .tip-block { gap: 36px; grid-template-columns: minmax(200px, .58fr) minmax(0, 1fr); }
}

@media (max-width: 640px) {
	.tips-page .tips-page-hero { padding: 32px 20px 34px; }
	.tips-page .tips-page-hero .eyebrow { margin-bottom: 16px; }
	.tips-page .tips-page-hero .page-hero-inner > p { font-size: var(--t-small); line-height: 1.5; margin-top: 16px; }
	.tips-page .tips-hero-shield { min-height: 320px; padding: 26px; }
	.tips-page .tips-hero-shield blockquote { font-size: var(--t-item); line-height: 1.02; margin: 22px 0; }
	.tips-page .tips-list { margin: 52px auto 34px; width: calc(100% - 44px); }
	.tips-page .tip-block { gap: 19px; grid-template-columns: 1fr; padding: 30px 0 34px; }
	.tips-page .tip-block h2 { font-size: var(--t-quote); }
	.tips-page .tip-block-body p { font-size: var(--t-body); }
	.tips-page .tip-block:nth-child(7) { padding-block: 30px 34px; }
	.tips-page .tips-back { padding-bottom: 72px; width: calc(100% - 44px); }
}

/* De tips krijgen drie inhoudelijke hoofdstukken. Zo wordt een verzameling
   korte observaties een leesroute, zonder de oorspronkelijke teksten te wijzigen. */
.tips-page .tips-list { margin-top: 76px; }
.tips-page .tips-collection { display: grid; gap: clamp(80px, 11vw, 150px); }
.tips-page .tips-chapter { border-top: 1px solid #bdb7af; display: grid; gap: clamp(44px, 8vw, 128px); grid-template-columns: minmax(250px, .62fr) minmax(0, 1.2fr); padding-top: 30px; }
.tips-page .tips-chapter > header { align-self: start; }
.tips-page .tips-chapter > header .eyebrow { color: var(--gold-deep); margin-bottom: 20px; }
.tips-page .tips-chapter > header h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; max-width: 10ch; }
.tips-page .tips-chapter-list { border-top: 1px solid #c5beb6; }
.tips-page .tips-chapter .tip-block { display: block; gap: 0; padding: 28px 0 32px; }
.tips-page .tips-chapter .tip-block h2 { font-size: var(--t-quote); max-width: 22ch; }
.tips-page .tips-chapter .tip-block-body { margin-top: 18px; max-width: 60ch; }
.tips-page .tips-chapter .tip-block-body p { font-size: var(--t-body); line-height: 1.68; }
.tips-page .tips-chapter .tip-block:nth-child(7) { background: transparent; color: var(--black); padding-block: 28px 32px; }
.tips-page .tips-chapter .tip-block:nth-child(7) .tip-block-body p { color: var(--ink-soft); }
.tips-page .tips-chapter--leiderschap { background: var(--black); border: 0; border-radius: var(--r-lg); color: var(--paper); padding: clamp(42px, 6vw, 78px); }
.tips-page .tips-chapter--leiderschap > header .eyebrow { color: var(--gold); }
.tips-page .tips-chapter--leiderschap > header h2 { color: var(--gold-light); }
.tips-page .tips-chapter--leiderschap .tips-chapter-list { border-color: rgba(213,180,119,.32); }
.tips-page .tips-chapter--leiderschap .tip-block { border-color: rgba(213,180,119,.26); }
.tips-page .tips-chapter--leiderschap .tip-block h2 { color: var(--paper); }
.tips-page .tips-chapter--leiderschap .tip-block-body p { color: var(--on-dark); }

@media (max-width: 900px) {
	.tips-page .tips-chapter { gap: 48px; grid-template-columns: minmax(180px, .55fr) minmax(0, 1fr); }
}

@media (max-width: 640px) {
	.tips-page .tips-list { margin-top: 54px; }
	.tips-page .tips-collection { gap: 72px; }
	.tips-page .tips-chapter { display: block; padding-top: 24px; }
	.tips-page .tips-chapter > header { margin-bottom: 38px; }
	.tips-page .tips-chapter > header h2 { font-size: var(--t-section); }
	.tips-page .tips-chapter .tip-block { padding: 26px 0 30px; }
	.tips-page .tips-chapter .tip-block h2 { font-size: var(--t-quote); }
	.tips-page .tips-chapter--leiderschap { border-radius: var(--r-md); margin: 0 -10px; padding: 48px 26px; }
}

/* Golden Insights gebruikt op het overzicht Jessica's bestaande beelden. De
   downloads houden op hun eigen pagina's hun herkenbare e-bookomslag. */
.insights-page .insight-card-cover--photo { align-items: stretch; aspect-ratio: 4 / 3; min-height: 0; padding: 0; position: relative; }
.insights-page .insight-card-cover--photo::after { display: none; }
.insights-page .insight-card-cover--photo img { box-shadow: none; height: 100%; max-height: none; object-fit: cover; position: static; transform: none; width: 100%; }
.insights-page .insight-card--authentiek-leiderschap .insight-card-cover--photo img { object-position: 50% 38%; }
.insights-page .insight-card--burn-out-voorkomen .insight-card-cover--photo img { object-position: 50% center; }
.insights-page .insight-card--emoties .insight-card-cover--photo img { object-position: 58% center; }
.insights-page .insight-card--perfectionisme .insight-card-cover--photo img { object-position: 50% 35%; }
.insights-page .insight-card--leiderschapsvaardigheden .insight-card-cover--photo img { object-position: 50% 38%; }

/* Jessica's perspectief is een redactioneel magazine: een compacte opening,
   drie duidelijke startpunten en pas daarna de volledige inhoudsopgave. */
.perspective-page { overflow: clip; }
.perspective-hero { align-items: center; border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(34px, 5vw, 72px); grid-template-columns: minmax(0, 1.1fr) minmax(360px, .72fr); margin: 14px clamp(12px, 3vw, 42px) 0; padding: clamp(32px, 4vw, 52px); }
.perspective-hero-copy { max-width: 690px; position: relative; z-index: 2; }
.perspective-hero-copy .eyebrow { color: var(--gold); margin-bottom: 20px; }
.perspective-hero h1 { color: var(--gold-light); font-size: var(--t-page); font-weight: 600; letter-spacing: -.04em; line-height: .94; margin: 0; max-width: 10ch; }
.perspective-hero-copy > p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.65; margin: 24px 0 0; max-width: 51ch; }
.perspective-hero-shield { justify-self: end; margin: 0; max-width: 440px; min-height: clamp(390px, 36vw, 480px); transform: none; width: 100%; }
.perspective-hero-shield .eyebrow { color: var(--black); margin: 0; }
.perspective-hero-shield blockquote { font-size: var(--t-section); font-weight: 600; line-height: 1.06; margin: auto 0 0; max-width: 13ch; }

.perspective-featured { margin: 0 auto; padding: clamp(70px, 8vw, 108px) 0 clamp(74px, 8vw, 108px); width: var(--content); }
.perspective-section-heading { align-items: end; border-bottom: 1px solid #bbb4ac; display: grid; gap: 24px clamp(40px, 7vw, 100px); grid-template-columns: minmax(170px, .45fr) minmax(0, 1.55fr); margin-bottom: 42px; padding-bottom: 30px; }
.perspective-section-heading .eyebrow { color: var(--gold-deep); }
.perspective-section-heading h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; max-width: 14ch; }
.perspective-featured-grid { align-items: start; display: grid; gap: clamp(42px, 6vw, 84px); grid-template-columns: minmax(0, 1.18fr) minmax(300px, .72fr); }
.perspective-lead-story { min-width: 0; }
.perspective-lead-image { aspect-ratio: 16 / 9; border-radius: var(--r-md); display: block; overflow: hidden; }
.perspective-lead-image:empty { background: linear-gradient(145deg, #d6cec2, #eeeae4); }
.perspective-lead-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.perspective-lead-copy { padding-top: 28px; }
.perspective-lead-copy > span, .perspective-side-story > div > span { color: var(--gold-deep); display: block; font-size: var(--t-label); font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.perspective-lead-copy h3 { font-size: var(--t-section); line-height: 1.1; margin: 17px 0 20px; max-width: 15ch; }
.perspective-lead-copy h3 a, .perspective-side-story h3 a { color: inherit; text-decoration: none; }
.perspective-lead-copy p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.68; margin: 0; max-width: var(--measure); }
.perspective-lead-copy .text-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 25px; text-transform: uppercase; }
.perspective-side-stories { border-top: 1px solid #bbb4ac; }
.perspective-side-story { border-bottom: 1px solid #bbb4ac; display: grid; gap: 25px; grid-template-columns: minmax(0, 1fr); padding: 28px 0 34px; }
.perspective-side-story:first-child { padding-top: 0; }
.perspective-side-image { aspect-ratio: 16 / 8.5; border-radius: var(--r-md); display: block; margin-bottom: 3px; overflow: hidden; }
.perspective-side-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.perspective-side-story h3 { font-size: var(--t-item); line-height: 1.04; margin: 14px 0 15px; max-width: 18ch; }
.perspective-side-story p { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.62; margin: 0; }

.perspective-archive { background: #e9e6e1; padding: clamp(70px, 8vw, 105px) 0 0; }
.perspective-archive-heading { align-items: end; display: grid; gap: 28px clamp(48px, 8vw, 120px); grid-template-columns: minmax(0, 1.1fr) minmax(260px, .7fr); margin: 0 auto; width: var(--content); }
.perspective-archive-heading .eyebrow { color: var(--gold-deep); margin-bottom: 20px; }
.perspective-archive-heading h2 { font-size: var(--t-section); line-height: 1.1; margin: 0; }
.perspective-archive-heading > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.68; margin: 0; max-width: 45ch; }
.perspective-archive .article-tools { border-bottom: 1px solid #bcb5ac; border-top: 1px solid #bcb5ac; margin-top: 42px; padding: 15px 0; }
.perspective-archive .article-filters { gap: 13px 26px; }
.perspective-archive .article-filters a { border: 0; border-radius: 0; color: var(--ink-soft); padding: 5px 0; }
.perspective-archive .article-filters a:hover, .perspective-archive .article-filters a:focus-visible, .perspective-archive .article-filters .is-active { background: transparent; color: var(--black); text-decoration: underline; text-decoration-color: var(--gold-deep); text-underline-offset: 5px; }
.perspective-archive .article-index { padding-top: 20px; }
.perspective-archive .article-entry { gap: clamp(32px, 6vw, 90px); grid-template-columns: minmax(150px, .42fr) minmax(0, 1.58fr); padding-block: 27px; }
.perspective-archive .article-entry h2 { font-size: var(--t-quote); max-width: 25ch; }
.perspective-archive .article-entry p { font-size: var(--t-small); line-height: 1.62; max-width: var(--measure); }

@media (max-width: 900px) {
	.perspective-hero { grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); }
	.perspective-featured-grid { gap: 52px; grid-template-columns: minmax(0, 1.08fr) minmax(270px, .72fr); }
}

@media (max-width: 700px) {
	.perspective-hero { border-radius: var(--r-md); gap: 28px; grid-template-columns: 1fr; margin: 12px; padding: 30px 20px 34px; }
	.perspective-hero-copy { padding: 17px 6px 2px; }
	.perspective-hero-copy .eyebrow { margin-bottom: 16px; }
	.perspective-hero-copy > p { font-size: var(--t-small); margin-top: 18px; }
	.perspective-hero-shield { justify-self: stretch; max-width: none; min-height: 320px; padding: 26px; }
	.perspective-hero-shield blockquote { font-size: var(--t-item); margin: 24px 0; }
	.perspective-featured { padding: 58px 0 70px; width: calc(100% - 44px); }
	.perspective-section-heading { display: block; margin-bottom: 34px; padding-bottom: 24px; }
	.perspective-section-heading .eyebrow { margin-bottom: 18px; }
	.perspective-section-heading h2 { font-size: var(--t-section); }
	.perspective-featured-grid { display: block; }
	.perspective-lead-image { border-radius: var(--r-md); }
	.perspective-lead-copy { padding-top: 24px; }
	.perspective-lead-copy h3 { font-size: var(--t-item); }
	.perspective-side-stories { margin-top: 54px; }
	.perspective-side-story { padding: 28px 0 32px; }
	.perspective-side-story:first-child { padding-top: 28px; }
	.perspective-side-story h3 { font-size: var(--t-item); }
	.perspective-archive { padding-top: 60px; }
	.perspective-archive-heading { display: block; width: calc(100% - 44px); }
	.perspective-archive-heading h2 { font-size: var(--t-section); }
	.perspective-archive-heading > p { font-size: var(--t-small); margin-top: 22px; }
	.perspective-archive .article-tools { margin-top: 34px; padding: 14px 0; width: calc(100% - 44px); }
	.perspective-archive .article-filters { gap: 9px 20px; }
	.perspective-archive .article-index { width: calc(100% - 44px); }
	.perspective-archive .article-entry { display: block; padding-block: 27px; }
	.perspective-archive .article-entry-topic { display: block; margin-bottom: 13px; }
	.perspective-archive .article-entry h2 { font-size: var(--t-quote); }
	.perspective-archive .article-entry p { font-size: var(--t-small); margin-top: 13px; }
}

/* Losse perspectieven lezen als redactionele essays: het onderwerp en de stem
   openen samen, daarna krijgt de tekst een vaste leesbreedte en eigen ritme. */
.perspective-article-page {
	overflow: clip;
	--article-type-1: var(--t-label);
	--article-type-2: var(--t-meta);
	--article-type-3: var(--t-meta);
	--article-type-4: var(--t-body-lg);
	--article-type-5: var(--t-item);
	--article-type-6: var(--t-quote);
	--article-type-7: var(--t-section);
	--article-type-8: var(--t-statement);
	--article-type-9: var(--t-page);
}
.article-essay-hero { align-items: center; border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(42px, 6vw, 88px); grid-template-columns: minmax(0, 1.12fr) minmax(350px, .72fr); margin: 14px clamp(12px, 3vw, 42px) 0; min-height: 0; padding: clamp(38px, 5vw, 66px); }
.article-essay-hero-copy { max-width: 760px; position: relative; z-index: 2; }
.article-essay-hero .eyebrow { color: var(--gold); font-size: var(--article-type-1); letter-spacing: .12em; line-height: 1.5; margin-bottom: 22px; }
.article-essay-hero h1 { color: var(--gold-light); font-family: var(--serif); font-size: var(--article-type-9); font-weight: 600; letter-spacing: -.045em; line-height: .96; margin: 0; max-width: 13ch; }
.article-standfirst { color: var(--on-dark); font-size: var(--article-type-4); letter-spacing: -.005em; line-height: 1.62; margin: 28px 0 0; max-width: 57ch; }
.article-byline { border-top: 1px solid rgba(213,180,119,.3); color: var(--gold); font-size: var(--article-type-1); font-weight: 800; letter-spacing: .12em; line-height: 1.5; margin-top: 30px; padding-top: 18px; text-transform: uppercase; width: min(280px, 100%); }
.article-essay-hero-image { align-self: stretch; aspect-ratio: 4 / 5; border-radius: var(--r-md); margin: 0; max-height: 510px; overflow: hidden; position: relative; z-index: 2; }
.article-essay-hero-image::after { background: linear-gradient(0deg, rgba(17,17,17,.28), transparent 42%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.article-essay-hero-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.perspective-article--persoonlijke-ontwikkeling .article-essay-hero-image img { object-position: 55% center; }
.perspective-article--leidinggeven .article-essay-hero-image img { object-position: 58% center; }
.perspective-article--vrouwen-aan-de-top .article-essay-hero-image img, .perspective-article--uit-mijn-eigen-leven .article-essay-hero-image img { object-position: 50% 35%; }
.perspective-article--thuis-en-relaties .article-essay-hero-image img { object-position: 50% 33%; }

.article-reading-layout { align-items: start; display: grid; gap: clamp(48px, 7vw, 96px); grid-template-columns: minmax(175px, 230px) minmax(0, 720px); justify-content: center; margin: 0 auto; padding: clamp(70px, 8vw, 112px) 0 clamp(88px, 9vw, 125px); width: var(--content); }
.article-reading-sidebar { align-self: start; position: sticky; top: calc(var(--header-offset) + 28px); }
.article-back-link { color: var(--gold-deep); display: inline-block; font-size: var(--article-type-2); font-weight: 800; letter-spacing: .02em; line-height: 1.5; text-decoration: none; text-transform: uppercase; }
.article-toc { border-top: 1px solid #bbb4ac; margin-top: 28px; padding-top: 24px; }
.article-toc > strong { color: var(--black); display: block; font-size: var(--article-type-1); font-weight: 850; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.article-toc ol { list-style: none; margin: 18px 0 0; padding: 0; }
.article-toc li + li { margin-top: 11px; }
.article-toc a { color: var(--laser); display: block; font-size: var(--article-type-2); letter-spacing: 0; line-height: 1.5; text-decoration: none; }
.article-toc a:hover, .article-toc a:focus-visible { color: var(--gold-deep); }

.article-essay-body { font-size: var(--article-type-4); letter-spacing: -.005em; line-height: 1.72; min-width: 0; }
.article-essay-body > :first-child { margin-top: 0; }
.article-essay-body > :last-child { margin-bottom: 0; }
.article-essay-body p { color: var(--ink-soft); margin: 0 0 1.35em; }
.article-essay-body h2, .article-essay-body h3, .article-essay-body h4 { font-family: var(--serif); font-weight: 400; scroll-margin-top: calc(var(--header-offset) + 28px); }
.article-essay-body h2 { border-top: 1px solid #c4bdb4; font-size: var(--article-type-7); letter-spacing: -.035em; line-height: 1.04; margin: 1.75em 0 .62em; padding-top: 28px; }
.article-essay-body h3 { font-size: var(--article-type-6); letter-spacing: -.03em; line-height: 1.1; margin: 1.55em 0 .55em; }
.article-essay-body h4 { font-size: var(--article-type-5); letter-spacing: -.02em; line-height: 1.16; margin: 1.5em 0 .5em; }
.article-essay-body ul, .article-essay-body ol { margin: 1.4em 0 2em; padding-left: 0; }
.article-essay-body ul { list-style: none; }
.article-essay-body ul li { border-top: 1px solid #d0c9c0; color: var(--ink-soft); padding: 13px 0 13px 24px; position: relative; }
.article-essay-body ul li::before { background: var(--gold-deep); border-radius: 50%; content: ""; height: 6px; left: 2px; position: absolute; top: 25px; width: 6px; }
.article-essay-body ol { padding-left: 1.4em; }
.article-essay-body li { color: var(--ink-soft); }
.article-essay-body li + li { margin-top: 0; }
.article-essay-body blockquote { border-bottom: 1px solid #bcb5ac; border-top: 1px solid #bcb5ac; color: var(--gold-deep); font-family: var(--serif); font-size: var(--article-type-6); letter-spacing: -.025em; line-height: 1.2; margin: 2em 0; padding: 30px 0; }
.article-essay-body blockquote p { color: inherit; margin: 0; }
.article-essay-body a { color: var(--gold-deep); overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.article-essay-body img { border-radius: var(--r-md); display: block; height: auto; margin: 0; max-width: 100%; width: auto; }
.article-essay-body .alignleft, .article-essay-body .alignright, .article-essay-body .aligncenter { float: none; margin: 0 auto; }
.article-inline-figure { margin: 52px 0; }
.article-inline-figure img { margin: 0 auto; max-height: 820px; }
.article-essay-body #bronnen { font-size: var(--article-type-6); margin-top: 2.3em; }
.article-essay-body #bronnen ~ p { font-size: var(--article-type-3); letter-spacing: 0; line-height: 1.65; }

.article-related { border-radius: var(--r-lg); color: var(--paper); display: grid; gap: clamp(45px, 7vw, 96px); grid-template-columns: minmax(230px, .62fr) minmax(0, 1.38fr); margin: 0 clamp(12px, 3vw, 42px); padding: clamp(52px, 7vw, 88px); }
.article-related > * { position: relative; z-index: 2; }
.article-related .eyebrow { color: var(--gold); font-size: var(--article-type-1); letter-spacing: .12em; line-height: 1.5; margin-bottom: 22px; }
.article-related h2 { color: var(--gold-light); font-size: var(--article-type-8); letter-spacing: -.04em; line-height: .98; margin: 0; max-width: 9ch; }
.article-related-grid { border-top: 1px solid rgba(213,180,119,.34); }
.article-related-grid article { border-bottom: 1px solid rgba(213,180,119,.28); padding: 28px 0 32px; }
.article-related-grid h3 { color: var(--paper); font-size: var(--article-type-6); letter-spacing: -.03em; line-height: 1.1; margin: 0; max-width: 22ch; }
.article-related-grid h3 a { color: inherit; text-decoration: none; }
.article-related-grid p { color: var(--on-dark); font-size: var(--article-type-3); letter-spacing: 0; line-height: 1.65; margin: 17px 0 0; max-width: var(--measure); }
.article-related-grid .text-link { color: var(--gold-light); display: inline-block; font-size: var(--article-type-2); font-weight: 800; letter-spacing: .02em; line-height: 1.5; margin-top: 20px; text-transform: uppercase; }

@media (max-width: 900px) {
	.article-essay-hero { gap: 38px; grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr); }
	.article-reading-layout { grid-template-columns: minmax(160px, 200px) minmax(0, 680px); }
}

@media (max-width: 700px) {
	.perspective-article-page { --article-type-4: var(--t-body-lg); --article-type-6: var(--t-quote); --article-type-7: var(--t-section); --article-type-8: var(--t-statement); --article-type-9: var(--t-page); }
	.article-essay-hero { border-radius: var(--r-md); display: block; margin: 12px; padding: 44px 26px 28px; }
	.article-standfirst { margin-top: 22px; }
	.article-byline { margin-top: 24px; }
	.article-essay-hero-image { aspect-ratio: 16 / 10; border-radius: var(--r-md); margin-top: 32px; max-height: none; }
	.article-reading-layout { display: block; padding: 58px 0 78px; width: calc(100% - 44px); }
	.article-reading-sidebar { position: static; }
	.article-toc { display: none; }
	.article-essay-body { margin-top: 40px; }
	.article-essay-body h2 { margin-top: 1.6em; padding-top: 23px; }
	.article-essay-body blockquote { padding: 25px 0; }
	.article-inline-figure { margin: 40px 0; }
	.article-related { border-radius: var(--r-md); display: block; margin: 0 12px; padding: 52px 26px; }
	.article-related-grid { margin-top: 42px; }
}

/* New portrait moments: keep the photo personal, but subordinate to Jessica's
   black-and-gold palette and the existing editorial rhythm. */
.home-story .home-hero .home-hero-portrait {
	align-self: center;
	background: #171615;
	border: 1px solid rgba(213, 180, 119, .58);
	border-radius: var(--r-md);
	box-shadow: 0 22px 54px rgba(0, 0, 0, .24);
	justify-self: center;
	margin: 0;
	max-width: 500px;
	overflow: hidden;
	padding: 10px;
	transform: rotate(1.15deg);
	width: 100%;
}
.home-hero-portrait picture { aspect-ratio: 4 / 5; border-radius: var(--r-md); display: block; overflow: hidden; }
.home-hero-portrait picture img { display: block; height: 100%; object-fit: cover; object-position: 50% 18%; width: 100%; }
.jessica-page .jessica-story-photo--portrait img { filter: saturate(.76); object-position: 50% 35%; }
.spain-page .spain-hero-image--coastal img { filter: saturate(.84); object-position: center 12%; }

@media (max-width: 980px) {
	.spain-page .spain-hero-image--coastal { aspect-ratio: 4 / 5; justify-self: center; max-width: min(100%, 560px); }
	.spain-page .spain-hero-image--coastal img { aspect-ratio: 4 / 5; }
}

@media (max-width: 640px) {
	.home-story .home-hero .home-hero-portrait { border-radius: var(--r-md); padding: 8px; transform: none; }
	.home-hero-portrait picture { aspect-ratio: 4 / 5; border-radius: var(--r-sm); }
	.spain-page .spain-hero-image--coastal img { border-radius: var(--r-md); }
}

/* ==========================================================================
   Ervaringen

   Eén raster voor de hele pagina: alles staat op de linkerrand van
   --content. Elk verhaal heeft dezelfde opbouw, persoon links in een vaste
   kolom van 160 pixels en rechts een kernzin, één alinea en de rest achter
   een uitklapknop. Niet om en om gespiegeld: dat liet grote gaten vallen en
   maakte de pagina onrustig. De korte reacties staan in een gelijk raster
   van twee kolommen, citaat eerst en de naam eronder.

   Hier stonden eerder twee lagen van samen 146 regels, waarvan de tweede de
   eerste gedeeltelijk overschreef. Pas deze pagina alleen hier aan.
   ========================================================================== */

.results-page .results-page-content { padding-top: 0; }
.results-page .results-page-content > * { margin-inline: auto; width: var(--content); }
.results-page .results-intro { border-bottom: 1px solid var(--rule); margin-top: var(--space-tight); padding: 26px 0 28px; }
.results-page .results-intro p { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.65; margin: 0; max-width: var(--measure); }

.results-page .results-stories { padding-top: var(--space-tight); }
.results-page .results-section-heading h2,
.results-page .short-results > header h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; margin: 0 0 30px; }

.results-page .result-story {
	border-top: 1px solid var(--rule);
	column-gap: clamp(32px, 5vw, 72px);
	display: grid;
	grid-template-columns: 184px minmax(0, var(--measure));
	padding: 44px 0 48px;
}
.results-page .result-story:last-child { border-bottom: 1px solid var(--rule); }
.results-page .result-story-person { min-width: 0; }
/* wpautop zet het portret uit [result_image] in een alinea. */
.results-page .result-story-person > p { margin: 0; }
.results-page .result-story-portrait,
.results-page .results-video-trigger { border-radius: var(--r-md); display: block; margin: 0 0 16px; width: 160px; }
.results-page .result-story-portrait { aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: top; }
.results-page .result-story h3 { font-size: var(--t-body); font-weight: 400; letter-spacing: -.01em; line-height: 1.25; margin: 0; }
.results-page .result-story-meta { color: var(--laser); font-size: var(--t-meta); line-height: 1.4; margin: 4px 0 0; }
.results-page .result-story-meta span { font-variant-numeric: tabular-nums; }

.results-page .result-story-body { min-width: 0; }
.results-page .result-story-lead { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-item); letter-spacing: -.01em; line-height: 1.32; margin: 0; }
.results-page .result-story-lead p { margin: 0; }
.results-page .result-story-body > p,
.results-page .result-story-more-content p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 18px 0 0; }

/* De uitklapknop. Geen standaarddriehoekje van de browser, maar dezelfde
   pijl als in de navigatie, zodat het één taal blijft. */
.results-page .result-story-toggle {
	align-items: center;
	appearance: none;
	background: none;
	border: 0;
	color: var(--gold-deep);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--sans);
	font-size: var(--t-meta);
	font-weight: 750;
	gap: 10px;
	list-style: none;
	margin-top: 14px;
	min-height: 44px;
	padding: 0;
}
.results-page .result-story-toggle::-webkit-details-marker { display: none; }
.results-page summary.result-story-toggle::after {
	border-bottom: 1px solid currentColor;
	border-right: 1px solid currentColor;
	content: "";
	height: 6px;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 220ms var(--ease-out-quart);
	width: 6px;
}
.results-page .result-story-more[open] > summary.result-story-toggle::after { transform: rotate(225deg) translate(-1px, -1px); }
.results-page .result-story-toggle:hover { text-decoration: underline; text-underline-offset: 4px; }
.results-page .result-story-toggle:focus-visible,
.results-page .results-video-trigger:focus-visible,
.results-page .results-video-close:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }
.results-page .result-story-more-content > p:first-child { margin-top: 4px; }

/* Video: de poster neemt de plek van het portret in. */
.results-page .results-video-trigger { background: var(--black); border: 0; cursor: pointer; overflow: hidden; padding: 0; position: relative; }
.results-page .results-video-trigger img { aspect-ratio: 9 / 16; display: block; height: auto; object-fit: cover; object-position: center 28%; transition: transform 320ms var(--ease-out-quart); width: 100%; }
.results-page .results-video-trigger:hover img { transform: scale(1.03); }
.results-page .results-video-play { align-items: center; background: var(--gold-light); border-radius: 50%; color: var(--black); display: flex; font-size: var(--t-meta); height: 48px; justify-content: center; left: 50%; padding-left: 3px; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 48px; }
.results-page .results-video-dialog { background: transparent; border: 0; inset: 0; margin: auto; max-height: none; max-width: none; overflow: visible; padding: 0; }
.results-page .results-video-dialog::backdrop { background: rgba(18, 17, 16, .88); }
.results-page .results-video-dialog-inner { position: relative; }
.results-page .results-video-dialog video { aspect-ratio: 9 / 16; background: var(--black); border: 1px solid rgba(213, 180, 119, .42); border-radius: var(--r-md); display: block; height: min(86vh, 820px); width: auto; }
.results-page .results-video-close { align-items: center; background: var(--paper); border: 1px solid rgba(213, 180, 119, .55); border-radius: 50%; color: var(--black); cursor: pointer; display: flex; font-size: var(--t-body-lg); height: 44px; justify-content: center; position: absolute; right: -18px; top: -18px; width: 44px; z-index: var(--z-raised); }
.results-page .results-video-dialog[open] { animation: results-dialog-in 220ms var(--ease-out-quart) both; }
@keyframes results-dialog-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Korte reacties: gelijk raster, citaat eerst. */
.results-page .short-results { padding: var(--space-tight) 0 0; }
.results-page .short-results-grid { column-gap: clamp(32px, 5vw, 72px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.results-page .short-results-grid figure { border-top: 1px solid var(--rule); display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 28px 0 32px; }
.results-page .short-results-grid blockquote { color: var(--ink); font-family: var(--serif); font-size: var(--t-body-lg); line-height: 1.6; margin: 0; max-width: 54ch; }
.results-page .short-results-grid figcaption { align-items: center; column-gap: 12px; display: grid; grid-template-columns: 40px minmax(0, 1fr); margin-top: auto; }
.results-page .short-results-grid figcaption:not(:has(img)) { grid-template-columns: minmax(0, 1fr); }
.results-page .short-results-grid .result-avatar { aspect-ratio: 1; border-radius: 50%; grid-row: span 2; height: 40px; object-fit: cover; object-position: top; width: 40px; }
.results-page .short-results-grid figcaption strong { color: var(--black); font-size: var(--t-meta); font-weight: 700; line-height: 1.35; }
.results-page .short-results-grid figcaption:not(:has(span)) .result-avatar { grid-row: auto; }
.results-page .short-results-grid figcaption span { color: var(--laser); font-size: var(--t-meta); line-height: 1.35; }

/* De afsluitende uitnodiging, op elke pagina die er een krijgt. */
.closing-cta { margin: var(--space-normal) auto var(--space-tight); }
.closing-cta h2 { font-size: var(--t-section); line-height: 1.08; max-width: 22ch; }
.closing-cta p { margin-bottom: 0; }
.offer-conversation.closing-cta .button { background: var(--gold); color: var(--black); gap: 10px; }
.offer-conversation.closing-cta .button:hover { background: var(--gold-light); }
.closing-cta .text-link { align-items: center; display: inline-flex; gap: 8px; }
.closing-cta .text-link i { font-style: normal; }

@media (prefers-reduced-motion: reduce) {
	.results-page .results-video-dialog[open] { animation: none; }
	.results-page .results-video-trigger img, .results-page summary.result-story-toggle::after { transition: none; }
}

@media (max-width: 900px) {
	.results-page .result-story { grid-template-columns: 172px minmax(0, 1fr); }
	.results-page .result-story-portrait, .results-page .results-video-trigger { width: 132px; }
}

@media (max-width: 640px) {
	.results-page .results-page-content > * { width: calc(100% - 44px); }
	.results-page .results-intro p { font-size: var(--t-body); }
	/* Persoon als één regel boven het verhaal: portret links, naam ernaast. */
	.results-page .result-story { grid-template-columns: minmax(0, 1fr); padding: 32px 0 34px; row-gap: 22px; }
	.results-page .result-story-person { align-items: end; column-gap: 16px; display: grid; grid-template-columns: 96px minmax(0, 1fr); }
	.results-page .result-story-person > :first-child { grid-row: span 2; margin: 0; }
	.results-page .result-story-portrait, .results-page .results-video-trigger { margin: 0; width: 96px; }
	.results-page .result-story-person h3 { align-self: end; }
	.results-page .result-story-person .result-story-meta { align-self: start; }
	.results-page .result-story-person h3:last-child { grid-row: span 2; align-self: center; }
	.results-page .result-story-lead { font-size: var(--t-body-lg); }
	.results-page .short-results-grid { grid-template-columns: minmax(0, 1fr); }
	.results-page .short-results-grid blockquote { font-size: var(--t-body); }
	.results-page .results-video-dialog video { height: auto; max-height: 82vh; width: min(88vw, 420px); }
	.results-page .results-video-close { right: -8px; top: -14px; }
	.closing-cta h2 { font-size: var(--t-item); }
}

/* ==========================================================================
   Leesbaarheid, voor de hele site

   1. Lopende tekst nooit breder dan --measure. Met :where() weegt deze regel
      nul, dus elke eigen regel van een onderdeel wint. Alleen lijsten zonder
      klasse: een lijst met een klasse is opmaak (raster, index), geen tekst.
   2. Op de telefoon is 15px te klein voor lopende tekst. De stap --t-small
      wordt daar 17px. Bijna alles wat hem gebruikt is lopende tekst.
   3. De kleine lettertjes bij formulieren gaan over toestemming en privacy.
      Die horen gewoon leesbaar te zijn.
   ========================================================================== */

:where(main) :where(p, ul:not([class]) > li, ol:not([class]) > li) { max-width: var(--measure); }
.book-form-note, .contact-form-note { font-size: var(--t-small); line-height: 1.55; }

@media (max-width: 640px) {
	:root { --t-small: var(--t-body); }
}

/* ==========================================================================
   Spanje, ingekort (25-9-2026)

   Drie fotokaarten in plaats van vier: op desktop naast elkaar, foto boven de
   tekst, anders bleef er in twee kolommen één kaart alleen staan. De galerij
   heeft drie foto's (zwembad en terras stonden al eerder op de pagina) en
   krijgt drie gelijke vakken. Op de telefoon staan de drie kleinere reacties
   met een ronde foto naast het citaat in plaats van erboven.
   ========================================================================== */

@media (min-width: 901px) {
	.spain-page .spain-experience-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.spain-page .spain-experience-grid article { grid-template-columns: minmax(0, 1fr); padding-top: 28px; }
	.spain-page .spain-experience-grid article > div { padding: 22px 0 0; }
	.spain-page .spain-experience-grid img { aspect-ratio: 3 / 2; }
	.spain-page .spain-experience-grid h3 { font-size: var(--t-item); margin-bottom: 12px; }
}
.spain-page .spain-gallery-grid figure,
.spain-page .spain-gallery-grid figure:first-child,
.spain-page .spain-gallery-grid figure:last-child { grid-column: span 2; }
.spain-page .spain-gallery-grid figure:first-child img { aspect-ratio: 5 / 4; }

@media (max-width: 640px) {
	.spain-page .spain-gallery-grid figure:first-child { grid-column: 1 / -1; }
	.spain-page .spain-gallery-grid figure:first-child img { aspect-ratio: 2 / 1; }
	.spain-page .spain-testimonial-grid article { align-items: center; column-gap: 16px; display: grid; grid-template-columns: 56px minmax(0, 1fr); padding: 22px; }
	.spain-page .spain-testimonial-grid figure { grid-row: 2; }
	.spain-page .spain-testimonial-grid img { border-radius: 50%; height: 56px; width: 56px; }
	.spain-page .spain-testimonial-grid blockquote { font-size: var(--t-body-lg); grid-column: 1 / -1; margin: 0 0 18px; }
	.spain-page .spain-included-grid article { padding: 22px 0; }
	.spain-page .spain-included-grid h3 { font-size: var(--t-item); margin: 14px 0 12px; }
	.spain-page .spain-included-grid li { line-height: 1.5; padding: 9px 0; }
	.spain-page .spain-testimonial-grid cite { grid-column: 2; grid-row: 2; }
}

/* Inhoudsopgave op Spanje en Boek als tabkaartjes. Was 11px grijs tussen twee lijnen en
   viel weg naast koppen van 48px. Nu kaartjes op 15px met een zachte schaduw
   die bij hover of focus iets optillen. Op de telefoon twee kolommen, zodat
   alle zes zichtbaar zijn zonder zijwaarts te scrollen. */
:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) {
	border: 0;
	display: grid;
	gap: 12px;
	align-items: stretch;
	grid-auto-rows: 1fr;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin: 32px auto 0;
	padding: 0 0 6px;
}
:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a {
	align-items: center;
	background: var(--white);
	border: 1px solid color-mix(in oklab, var(--rule) 70%, transparent);
	border-radius: var(--r-sm);
	box-shadow: 0 1px 2px rgba(18, 17, 16, .06), 0 10px 22px -12px rgba(18, 17, 16, .32);
	color: var(--ink);
	display: flex;
	font-size: var(--t-small);
	font-weight: 650;
	letter-spacing: -.005em;
	line-height: 1.25;
	min-height: 56px;
	padding: 14px 16px;
	transition: transform 220ms var(--ease-out-quart), box-shadow 220ms var(--ease-out-quart), color 160ms ease;
}
:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a:hover,
:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a:focus-visible {
	background: var(--white);
	box-shadow: 0 2px 4px rgba(18, 17, 16, .08), 0 16px 30px -14px rgba(18, 17, 16, .4);
	color: var(--gold-deep);
	transform: translateY(-3px);
}
:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }

@media (max-width: 1080px) {
	:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 22px; overflow: visible; padding: 0 0 4px; }
	:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a { min-height: 52px; padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
	:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a { transition: none; }
	:is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a:hover, :is(.spain-page .spain-anchor-nav, .book-page .book-anchor-nav) a:focus-visible { transform: none; }
}

/* Boek: vier kaartjes. Daarvoor een donkere pil die bij het scrollen bleef
   plakken; als blok kaartjes zou hij te veel van het scherm afnemen, dus hij
   staat nu gewoon op zijn plek, net als op Spanje. */
.book-page .book-anchor-nav { background: transparent; border-radius: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); position: static; width: var(--content); }
@media (max-width: 640px) {
	.book-page .book-anchor-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; width: calc(100% - 44px); }
}

/* De ervaringen op de homepage zweven als los vlak, net als de hero. Eerst liep
   het zwarte blok zonder tussenruimte over in de zwarte footer en las het als
   één groot vlak. De labels onder de namen waren gouden kapitalen van 11px:
   een vierde typografische laag naast kop, citaat en naam. Nu gewone kleine
   tekst in een zachte tint, zoals op de pagina Ervaringen. */
.home-story .home-proof {
	border-radius: var(--r-lg);
	margin: var(--space-tight) clamp(12px, 3vw, 42px);
	padding: clamp(40px, 5vw, 72px) clamp(34px, 5vw, 74px);
}
@media (max-width: 640px) {
	.home-story .home-proof { border-radius: var(--r-md); margin: 48px 12px; padding: 40px 26px; }
}

/* Werkwijze, blok met portret. Stond in drie kolommen; de kop (62px) kreeg
   de smalste, 349 pixels, en "Waarschijnlijk" alleen is al 420 pixels. Nu
   twee kolommen: portret links over de volle hoogte, rechts de kop met de
   tekst eronder. Kop een trap kleiner, regelafstand met ruimte voor staarten. */
@media (min-width: 901px) {
	.method-human { column-gap: clamp(40px, 5vw, 80px); grid-template-columns: minmax(210px, 290px) minmax(0, 1fr); row-gap: 28px; }
	.method-human-portrait { grid-row: 1 / span 2; }
	.method-human > div { grid-column: 2; }
	.method-human > div:last-child { column-gap: clamp(28px, 4vw, 56px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.method-human h2 { font-size: var(--t-section); max-width: 22ch; }
}
.method-human h2 { letter-spacing: -.02em; line-height: 1.12; }
.method-human p { max-width: var(--measure); }

/* Koppen die groter waren dan hun kolom (25-9-2026). Zonder deze regels brak
   de vangnetregel overflow-wrap het woord midden door, zonder streepje.
   Automatisch afbreken alleen op de telefoon en alleen bij woorden van tien
   letters of meer; op desktop brak het ook "probleem" en "gedachten" af. */
@media (max-width: 1100px) {
	.book-theme-grid h3 { font-size: var(--t-item); }
	.book-availability h2 { font-size: var(--t-section); }
}
@media (max-width: 640px) {
	.page-hero h1, .tip-block h2 { -webkit-hyphenate-limit-before: 5; -webkit-hyphenate-limit-after: 5; hyphenate-limit-chars: 14 5 5; hyphens: auto; }
}

/* ==========================================================================
   Rustregels op /werkwijze/ (25-9-2026, eerst als proef, daarna uitgerold)

   Zes rustregels, eerst op deze ene pagina. Staat het goed, dan gaan ze naar
   de hele site en verdwijnt dit blok. Alleen CSS: de tekst in de database is
   niet aangepast (zie de open vraag over seed-offer-pages.php).

   1. Drie tekstrollen per sectie: kop in de serif, lopende tekst in Archivo,
      hooguit één accent. De serif niet meer voor gewone zinnen.
   2. Eén label per pagina, alleen in de kop.
   3. Ruimte in plaats van lijnen.
   4. Vlakken met een reden: zwart voor kop, portretblok en uitnodiging; goud
      alleen in de kop. Het Academy-vlak gaat naar papier.
   5. Hooguit zes lettergroottes: sectiekoppen van 62 naar 48, tussenkoppen
      van 32 naar 26.
   6. Kolommen zonder scheidingslijnen.
   ========================================================================== */

/* Regel 2: geen labels onder de kop van de pagina. */
.offer-page--method .offer-page-content .eyebrow,
.offer-page--method .method-question-card > span { display: none; }

/* Regel 5: één maat voor sectiekoppen, één voor tussenkoppen. */
.offer-page--method .method-opening h2,
.offer-page--method .method-core-position h2,
.offer-page--method .method-principles > header h2 { font-size: var(--t-section); letter-spacing: -.02em; line-height: 1.1; max-width: 20ch; }
.offer-page--method .method-principles h3 { font-size: var(--t-item); line-height: 1.2; }

/* Openingsvragen: het ene accent van deze sectie. Zonder lijnen, met ruimte. */
.offer-page--method .method-question-card { border: 0; padding: 0; }
.offer-page--method .method-question-card p { margin: 0; }
.offer-page--method .method-question-card p + p { border: 0; margin-top: 28px; padding: 0; }

/* De kernpositie. De grijze serif-ondertitel wordt de inleidende zin in
   Archivo, de lijn boven de tekst verdwijnt, en de drie punten krijgen een
   gewone tussenkop met tekst eronder in plaats van gouden kapitalen boven een
   serifzin, zonder verticale lijnen ertussen. */
.offer-page--method .method-core-lead { color: var(--ink); font-family: var(--sans); font-size: var(--t-body-lg); line-height: 1.55; max-width: 34ch; }
.offer-page--method .method-core-copy { border: 0; padding-top: 0; }
.offer-page--method .method-core-movements { border: 0; column-gap: clamp(32px, 5vw, 72px); margin-top: var(--space-tight); }
.offer-page--method .method-core-movements article,
.offer-page--method .method-core-movements article + article { border: 0; padding: 0; }
.offer-page--method .method-core-movements h3 { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-weight: 400; letter-spacing: -.01em; line-height: 1.2; margin: 0 0 12px; text-transform: none; }
.offer-page--method .method-core-movements p { color: var(--ink-soft); font-family: var(--sans); font-size: var(--t-body); line-height: 1.7; }

/* Zo werken we: vier punten, alleen ruimte ertussen. */
.offer-page--method .method-principles > header { display: block; margin-bottom: 36px; }
.offer-page--method .method-principles-grid { border: 0; column-gap: clamp(40px, 6vw, 96px); row-gap: 40px; }
.offer-page--method .method-principles article,
.offer-page--method .method-principles article:nth-child(even) { border: 0; padding: 0; }
.offer-page--method .method-principles p { color: var(--ink-soft); }

/* Academy van goud naar papier: goud staat al in de kop. */
.offer-page--method .method-academy { background: transparent; border-radius: 0; box-shadow: none; padding-inline: 0; }
.offer-page--method .method-academy::before, .offer-page--method .method-academy::after { content: none; }
.offer-page--method .method-academy h2 { color: var(--black); }
.offer-page--method .method-academy > p { color: var(--ink-soft); font-family: var(--sans); font-size: var(--t-body-lg); line-height: 1.6; }

@media (max-width: 900px) {
	.offer-page--method .method-core-movements { row-gap: 32px; }
	.offer-page--method .method-principles-grid { row-gap: 32px; }
}
@media (max-width: 640px) {
	.offer-page--method .method-opening h2,
	.offer-page--method .method-core-position h2,
	.offer-page--method .method-principles > header h2,
	.offer-page--method .method-academy h2 { font-size: var(--t-section); }
	.offer-page--method .method-academy { padding: 0; width: calc(100% - 44px); }
}

/* ==========================================================================
   Rustregels, sitebreed (25-9-2026)

   Uitgerold na de proef op /werkwijze/. Zie DESIGN.md, "Rustregels".
   Alleen CSS; de tekst in de database is niet aangepast.
   ========================================================================== */

/* Regel 2. Eén label per pagina, alleen in de kop. Sectielabels verdwijnen,
   ook die boven de afsluitende uitnodigingen. */
main .eyebrow:not(:is(.page-hero, .hero, .offer-page-hero, .spain-hero, .book-hero, .contact-hero, .perspective-hero, .results-page-hero, .tips-page-hero, .jessica-page-hero, .insights-hero, .lead-magnet-hero, .hero-object) .eyebrow) { display: none; }
/* Een container met alleen een label en een kop stond soms als raster met
   het label in een eigen kolom. Zonder label viel de kop dan in een smalle
   kolom (zes regels van 300 pixels). Zo'n container wordt een gewoon blok. */
main :is(header, div):has(> .eyebrow:first-child + :is(h2, h3):last-child):not(:is(.page-hero, .hero, .offer-page-hero, .spain-hero, .book-hero, .contact-hero, .perspective-hero, .results-page-hero, .tips-page-hero, .jessica-page-hero, .insights-hero, .lead-magnet-hero, .hero-object) *) { display: block; }
main :is(header, div):has(> .eyebrow:first-child + :is(h2, h3):last-child):not(:is(.page-hero, .hero, .offer-page-hero, .spain-hero, .book-hero, .contact-hero, .perspective-hero, .results-page-hero, .tips-page-hero, .jessica-page-hero, .insights-hero, .lead-magnet-hero, .hero-object) *) > :is(h2, h3) { max-width: 22ch; }
/* Labels die in de tekst zelf in hoofdletters staan en alleen een kop
   aankondigen. */
.offer-human-note > span,
.selection-expectations > span,
.trajectory-stakes > span,
.book-life-copy > span { display: none; }

/* Labels met informatie blijven, maar zonder kapitalen: formuliervelden,
   onderwerpen van artikelen, "Gratis whitepaper", "90 dagen". */
main label,
main label > span,
.article-entry-topic,
.insight-card-copy > span,
.perspective-lead-copy > span,
.perspective-side-story span,
.offer-home-meta > span,
.recognition-kicker,
.contact-form-heading > span,
.jessica-book-link,
.jessica-book-cover > span,
.offer-breadcrumb a,
.insights-hero-quote > cite,
main figcaption > span,
main figcaption > strong,
main .text-link { letter-spacing: 0; text-transform: none; }
.article-entry-topic,
.insight-card-copy > span,
.perspective-lead-copy > span,
.offer-home-meta > span,
.recognition-kicker { font-size: var(--t-meta); font-weight: 600; }
/* Deze staan in de bron in hoofdletters ("KLEINE GROEP", "INBEGREPEN",
   "90 DAGEN"). Kleine letters met een hoofdletter vooraan. */
.spain-facts-grid article > span,
.spain-included-grid article > span,
.offer-card-top > span { display: block; font-size: var(--t-meta); font-weight: 650; letter-spacing: 0; text-transform: lowercase; }
.spain-facts-grid article > span::first-letter,
.spain-included-grid article > span::first-letter,
.offer-card-top > span::first-letter { text-transform: uppercase; }

/* Regel 3. Ruimte in plaats van lijnen. Lijnen blijven alleen tussen items
   van een lijst (opsommingen, artikelindex, vragen, processtappen, verhalen).
   Weg: verticale scheidingslijnen tussen kolommen, lijnen boven koppen en
   tekstblokken, en lijnen aan één kant van citaten en uitkomsten. */
.reset-process-outcome,
.jessica-approach-grid > article,
.spain-included-grid > article,
.offer-proof > blockquote,
.offer-proof > div,
.insights-hero-quote,
.offer-card-top,
.offer-home-meta,
.offer-investment-line,
.trajectory-fit,
.trajectory-next,
.trajectory-outcomes > blockquote,
.book-life,
.book-theme-grid,
.book-theme-grid > article,
.book-opening-quote,
.book-reader-long,
.jessica-story h2,
.jessica-story-chapter,
.academy-opening,
.academy-facts > article,
.academy-portrait > figcaption,
.lead-magnet-outcomes > ul,
.offer-paths,
.spain-experience-grid > article,
.perspective-side-story,
.tips-chapter,
.tips-chapter-list,
.contact-steps,
.home-story .proof-grid figure,
.home-guide-story blockquote,
.home-story .home-method .method-steps,
.home-story .home-method .method-steps li,
.spain-page .spain-experience-grid article,
.spain-page .spain-facts-grid,
.spain-page .spain-facts-grid article,
.spain-page .spain-gallery,
.spain-page .spain-testimonials,
.spain-page .spain-hero-copy .spain-date-note,
.offer-page--year .trajectory-fit,
.offer-page--reset .trajectory-fit,
.reset-process-list,
.perspective-featured .perspective-section-heading,
.perspective-featured-grid .perspective-side-stories,
.perspective-archive .article-tools,
.perspective-archive .article-index { border: 0 !important; }
/* !important is hier bewust: dit is een reset die moet winnen van tientallen
   oudere regels per pagina met een hogere specificiteit. */

/* Gewone opsommingen: ruimte tussen de punten in plaats van een lijn. */
main ul:not([class]) > li { border-bottom: 0 !important; border-top: 0 !important; padding-block: 7px; }

/* Decoratieve scheidingslijn met stip tussen twee homepage-secties. */
.home-guide-divider { display: none; }
/* Label boven de gouden band op de homepage. */
.home-statement > span { display: none; }
/* Zonder het label viel de uitspraak in de smalle eerste rasterkolom. */
.home-story .home-statement { grid-template-columns: minmax(0, 1fr); }
.home-story .home-statement h2 { max-width: 24ch; }

/* Regel 4. Goud hooguit één keer per pagina. Waar de kop al goud heeft, gaan
   de grote gouden secties naar papier. Op /spanje/ gaat ook het tweede zwarte
   blok ("Praktisch") naar papier. */
.trajectory-outcomes.brushed-gold,
.trajectory-spain.brushed-gold,
.jessica-book.brushed-gold,
.selection-fit.brushed-gold,
.spain-outcomes.brushed-gold,
.spain-page .spain-included.aged-black { background: transparent; border-radius: 0; box-shadow: none; color: var(--ink); padding-inline: 0; }
:is(.trajectory-outcomes, .trajectory-spain, .jessica-book, .selection-fit, .spain-outcomes).brushed-gold::before,
:is(.trajectory-outcomes, .trajectory-spain, .jessica-book, .selection-fit, .spain-outcomes).brushed-gold::after,
.spain-page .spain-included.aged-black::before,
.spain-page .spain-included.aged-black::after { content: none; }
:is(.trajectory-outcomes, .trajectory-spain, .jessica-book, .selection-fit, .spain-outcomes).brushed-gold :is(h2, h3),
.spain-page .spain-included h2, .spain-page .spain-included h3 { color: var(--black); }
.spain-page .spain-included li, .spain-page .spain-included p { color: var(--ink-soft); }
.spain-page .spain-included span { color: var(--gold-deep); }
.spain-page .spain-included-grid li { border-color: var(--rule); }
.spain-page .spain-included-grid { column-gap: clamp(32px, 5vw, 72px); }
.spain-page .spain-included-grid article,
.spain-page .spain-included-grid article:first-child { padding: 0; }
/* De vragen op dezelfde linkerrand als de rest van de pagina, niet
   gecentreerd in een smallere kolom. */
.spain-page .spain-faq { margin-inline: auto; max-width: none; padding-inline: 0; width: var(--content); }
.spain-page .spain-faq > * { max-width: 900px; }
/* Op de telefoon hadden deze vlakken een smalle marge van 12 pixels plus
   binnenruimte. Zonder vlak moet de tekst dezelfde zijmarge als de rest. */
@media (max-width: 640px) {
	.trajectory-outcomes.brushed-gold,
	.trajectory-spain.brushed-gold,
	.jessica-book.brushed-gold,
	.selection-fit.brushed-gold,
	.spain-outcomes.brushed-gold,
	.spain-page .spain-included.aged-black { margin-inline: auto; width: calc(100% - 44px); }
}

/* Regel 1. De serif alleen voor koppen en echte citaten. */
.lead-magnet-problem > p,
.lead-magnet-outcomes li > p { color: var(--ink-soft); font-family: var(--sans); font-size: var(--t-body-lg); line-height: 1.6; }
.lead-magnet-next > p { font-size: var(--t-item); line-height: 1.3; }
.trajectory-faq summary { font-size: var(--t-item); }

/* Kapitalen die door specifiekere regels werden gezet: dezelfde selectors
   hier, zodat deze regel wint. */
.offer-hub-intro .text-link, .trajectory-spain .text-link, .trajectory-next .text-link,
.offer-page--reset .trajectory-next .text-link,
.home-guide-story .text-link,
.home-method-link,
.perspective-lead-copy .text-link,
.article-related-grid .text-link,
.offer-card-top,
.portrait figcaption span,
.recognition-kicker { letter-spacing: 0; text-transform: none; }
.contact-field label,
.lead-magnet-native-field > label,
.book-interest-form > label:first-of-type,
.article-entry-topic,
.insight-card-copy > span,
.insight-article-list a span,
.perspective-lead-copy > span,
.perspective-side-story > div > span,
.home-self-guided-grid span,
.offer-home-choice-copy > span,
.contact-form-heading > span,
.jessica-book-cover span,
.jessica-book-link,
.offer-card .offer-home-meta { font-size: var(--t-meta); letter-spacing: 0; text-transform: none; }

/* Het portretblok op /werkwijze/ liep als enige zwarte vlak over de volle
   breedte. Nu zwevend op de contentbreedte met de grote afronding, zoals de
   andere zwarte blokken midden op een pagina (ervaringen, "De week ademt mee"). */
.offer-page--method .method-human { border-radius: var(--r-lg); margin: var(--space-tight) auto; padding: clamp(40px, 5vw, 64px); width: var(--content); }
@media (max-width: 640px) {
	.offer-page--method .method-human { border-radius: var(--r-md); margin: 48px 12px; padding: 40px 22px; width: auto; }
}


/* ==========================================================================
   Zwevende kaarten op /werkwijze/ (25-9-2026)
   Dezelfde papieren kaart als de drie herkenningskaarten op de homepage:
   licht verloop, dunne gouden rand, zachte schaduw en de gouden lijn onderin.
   Zo scheiden de vragen, de drie stappen, de vier werkafspraken en de
   begeleiding zich van elkaar zonder lijnen of extra kleurvlakken.
   ========================================================================== */
.offer-page--method :is(.method-question-card, .method-core-movements article, .method-principles-grid article, .method-academy) {
	background: linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.2));
	border: 1px solid rgba(143, 100, 43, .14) !important;
	border-radius: var(--r-md);
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.75);
	position: relative;
}
.offer-page--method :is(.method-core-movements article, .method-principles-grid article)::after {
	background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0));
	bottom: 23px; content: ""; height: 1px; left: 38px; position: absolute; width: min(220px, 48%);
}
.offer-page--method .method-question-card { align-self: start; padding: 34px 38px 38px; }
.offer-page--method .method-core-movements { align-items: start; row-gap: 32px; }
.offer-page--method .method-core-movements article,
.offer-page--method .method-core-movements article + article { padding: 32px 36px 46px; }
.offer-page--method .method-core-movements { padding-bottom: clamp(40px, 5vw, 72px); }
.offer-page--method .method-core-movements article:nth-child(2) { transform: translateY(clamp(20px, 2.5vw, 36px)); }
.offer-page--method .method-core-movements article:nth-child(3) { transform: translateY(clamp(40px, 5vw, 72px)); }
.offer-page--method .method-principles-grid { align-items: stretch; padding-bottom: clamp(40px, 5vw, 64px); row-gap: clamp(32px, 4vw, 52px); }
.offer-page--method .method-principles article,
.offer-page--method .method-principles article:nth-child(even) { padding: 34px 38px 50px; }
.offer-page--method .method-principles article:nth-child(even) { transform: translateY(clamp(40px, 5vw, 64px)); }
.offer-page--method .method-academy { margin-bottom: var(--space-tight); padding: clamp(36px, 4vw, 52px) clamp(32px, 4vw, 52px); }

@media (max-width: 900px) {
	.offer-page--method .method-core-movements article:nth-child(n),
	.offer-page--method .method-principles article:nth-child(n) { transform: none; }
	.offer-page--method :is(.method-core-movements, .method-principles-grid) { padding-bottom: 0; }
}
@media (max-width: 640px) {
	.offer-page--method :is(.method-question-card, .method-core-movements article, .method-principles-grid article, .method-academy) { box-shadow: 0 13px 32px rgba(39, 29, 18, .065), inset 0 1px 0 rgba(255,255,255,.72); }
	.offer-page--method .method-question-card,
	.offer-page--method .method-academy { padding: 27px 24px 30px; }
	.offer-page--method .method-academy { width: auto; margin-inline: 12px; }
	.offer-page--method .method-core-movements article,
	.offer-page--method .method-core-movements article + article,
	.offer-page--method .method-principles article,
	.offer-page--method .method-principles article:nth-child(even) { padding: 27px 24px 38px; }
	.offer-page--method :is(.method-core-movements article, .method-principles-grid article)::after { bottom: 17px; left: 24px; width: min(160px, 48%); }
}

/* ==========================================================================
   Zwevende papieren kaarten, sitebreed (25-9-2026)
   Hetzelfde recept als de homepage en /werkwijze/. Alleen voor groepjes tekst
   op papier; blokken op zwart of goud en fotokaarten blijven zoals ze zijn.
   ========================================================================== */
:is(.reset-process-list > article, .jessica-facts-list > article, .short-results-grid > figure, .contact-steps > article, .spain-facts-grid > article, .spain-testimonial-grid > article, .book-reader-grid > article, .insight-resource-grid > article, .academy-facts > article) {
	background: linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.2)) !important;
	border: 1px solid rgba(143, 100, 43, .14) !important;
	border-radius: var(--r-md) !important;
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
:is(.reset-process-list > article, .contact-steps > article, .spain-facts-grid > article, .short-results-grid > figure) { position: relative; }
:is(.reset-process-list > article, .contact-steps > article, .spain-facts-grid > article)::after {
	background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0));
	bottom: 20px; content: ""; height: 1px; left: 36px; position: absolute; width: min(220px, 40%);
}

/* Stappen van de trajecten: een zigzag van kaarten in plaats van regels met lijnen. */
.reset-process-list { display: grid; gap: clamp(22px, 2.6vw, 34px); }
.reset-process-list > article { padding: 32px 36px 46px !important; width: min(100%, 86%); }
.reset-process-list > article:nth-child(even) { justify-self: end; }

/* Korte feiten en stappen: losse kaartjes met ruimte ertussen. */
.jessica-facts-list { gap: 16px; }
.jessica-facts-list > article { padding: 22px 28px !important; }
.contact-steps { display: grid; gap: 18px; }
.contact-steps > article { padding: 24px 30px 40px !important; }
.contact-steps > article::after, .spain-facts-grid > article::after { left: 30px; }
.academy-facts { gap: 18px; }
.academy-facts > article { padding: 24px 26px !important; }

/* Spanje: de twee feiten als kaarten die licht verspringen. */
.spain-facts-grid { gap: clamp(22px, 2.6vw, 34px); }
.spain-facts-grid > article { padding: 30px 30px 44px !important; width: min(100%, 78%); }
.spain-facts-grid > article:nth-child(even) { justify-self: end; }

/* Korte reacties: twee kolommen, de rechter begint lager. */
.short-results-grid { align-items: start; padding-bottom: clamp(32px, 4vw, 56px); row-gap: clamp(24px, 3vw, 36px); }
.short-results-grid > figure { margin: 0; padding: 30px 34px 32px !important; }
.short-results-grid > figure:nth-child(even) { transform: translateY(clamp(32px, 4vw, 56px)); }

/* Citaten op /spanje/ en /boek/ en de gidsen op /inzichten/: van omlijnd vak naar kaart. */
/* Op /inzichten/ zaten de gidsen in een groot omlijnd vlak. Met kaarten erin werd dat
   een kaart in een kaart, dus het vlak eromheen verdwijnt. */
.insight-library { background: none !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; }
.insight-library::before, .insight-library::after { content: none !important; }
.insight-library-inner { background: none !important; border-radius: 0 !important; padding: clamp(24px, 3vw, 40px) 0 !important; }
.spain-testimonial-grid, .book-reader-grid, .insight-resource-grid { gap: clamp(18px, 2vw, 28px); }

@media (max-width: 900px) {
	.reset-process-list > article, .spain-facts-grid > article { width: 100%; }
	.short-results-grid { padding-bottom: 0; }
	.short-results-grid > figure:nth-child(even) { transform: none; }
}
@media (max-width: 640px) {
	:is(.reset-process-list > article, .jessica-facts-list > article, .short-results-grid > figure, .contact-steps > article, .spain-facts-grid > article, .spain-testimonial-grid > article, .book-reader-grid > article, .insight-resource-grid > article, .academy-facts > article) { box-shadow: 0 13px 32px rgba(39, 29, 18, .065), inset 0 1px 0 rgba(255,255,255,.72) !important; }
	.reset-process-list > article, .contact-steps > article, .spain-facts-grid > article { padding: 26px 22px 38px !important; }
	.short-results-grid > figure { padding: 26px 22px 28px !important; }
	:is(.reset-process-list > article, .contact-steps > article, .spain-facts-grid > article)::after { bottom: 17px; left: 22px; }
}

/* ==========================================================================
   Hersenspinsels als zwevende kaarten (25-9-2026)
   De drie uitgelichte stukken en het archief. Het archief wordt een raster
   van twee kolommen waarvan de rechter lager begint; het onderwerp staat
   boven de titel in plaats van ernaast. Geldt ook voor de categoriepagina's.
   ========================================================================== */
:is(.perspective-lead-story, .perspective-side-story, .article-index > .article-entry) {
	background: linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.2)) !important;
	border: 1px solid rgba(143, 100, 43, .14) !important;
	border-radius: var(--r-md) !important;
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.75) !important;
	position: relative;
}
.perspective-lead-story { padding: 18px 18px 34px; }
.perspective-lead-story .perspective-lead-image { border-radius: calc(var(--r-md) - 8px); }
.perspective-lead-copy { padding: 26px 20px 0; }
.perspective-side-stories { border: 0 !important; display: grid; gap: clamp(22px, 2.6vw, 32px); }
.perspective-side-story,
.perspective-side-story:first-child { padding: 18px 18px 30px !important; }
.perspective-side-story img { border-radius: calc(var(--r-md) - 8px); }
.perspective-side-story > div { padding: 0 12px; }

.article-index { border: 0 !important; display: grid; gap: clamp(24px, 3vw, 36px) clamp(24px, 3vw, 40px); grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: clamp(40px, 5vw, 64px) !important; }
.article-index > .article-entry,
.perspective-archive .article-index > .article-entry { align-content: start; display: block; padding: 30px 34px 46px !important; }
.article-index > .article-entry:nth-child(even) { transform: translateY(clamp(40px, 5vw, 64px)); }
.article-index > .article-entry::after {
	background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0));
	bottom: 22px; content: ""; height: 1px; left: 34px; position: absolute; width: min(200px, 42%);
}
.article-index .article-entry-topic { display: block; margin-bottom: 14px; }
.article-index .article-entry h2 { max-width: 22ch; }

@media (max-width: 900px) {
	.article-index { grid-template-columns: 1fr; padding-bottom: 0 !important; }
	.article-index > .article-entry:nth-child(even) { transform: none; }
}
@media (max-width: 640px) {
	:is(.perspective-lead-story, .perspective-side-story, .article-index > .article-entry) { box-shadow: 0 13px 32px rgba(39, 29, 18, .065), inset 0 1px 0 rgba(255,255,255,.72) !important; }
	.perspective-lead-story, .perspective-side-story, .perspective-side-story:first-child { padding: 12px 12px 26px !important; }
	.perspective-lead-copy { padding: 22px 12px 0; }
	.article-index > .article-entry, .perspective-archive .article-index > .article-entry { padding: 26px 22px 40px !important; }
	.article-index > .article-entry::after { bottom: 18px; left: 22px; }
}

/* ==========================================================================
   Verkooppagina Wie rijdt er eigenlijk? (25-9-2026, herzien)
   Eén doel: kopen. Zwart voor de hero en de slotuitnodiging, goud alleen op
   het naamlabel bij de foto. De kop toont alleen het logo.
   ========================================================================== */
.is-sales-page .site-header .menu-toggle,
.is-sales-page .site-header .primary-nav { display: none !important; }
.is-sales-page .site-header { justify-content: center; }

.workshop-page { --workshop-gap: clamp(72px, 9vw, 120px); }
.workshop-page .workshop-hero { min-height: 0; overflow: visible; padding: clamp(40px, 5vw, 76px); }
.workshop-hero .page-hero-inner { align-items: center; display: grid; gap: clamp(36px, 5vw, 80px); grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); }
.workshop-hero h1 { font-size: var(--t-display); max-width: 11ch; }
.workshop-hero-copy > p:not(.workshop-hero-facts) { font-size: var(--t-body-lg); max-width: 40ch; }
.workshop-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 34px; }
.workshop-hero-facts { color: var(--on-dark-soft) !important; font-size: var(--t-meta) !important; letter-spacing: .02em; margin-top: 18px !important; }
.workshop-hero-portrait { border-radius: var(--r-md); margin: 0; overflow: hidden; position: relative; }
.workshop-hero-portrait img { aspect-ratio: 4 / 5; display: block; height: auto; object-fit: cover; object-position: 50% 12%; width: 100%; }
.workshop-hero-portrait figcaption { border-radius: var(--r-sm); bottom: 18px; color: var(--black); display: grid; gap: 2px; left: 18px; padding: 12px 18px; position: absolute; }
.workshop-hero-portrait figcaption strong { font-family: var(--serif); font-size: var(--t-body-lg); font-weight: 400; }
.workshop-hero-portrait figcaption span { font-size: var(--t-meta); font-weight: 700; }

.workshop-page > section:not(.closing-cta) { margin: var(--workshop-gap) auto 0; width: var(--content); }
.workshop-page h2 { font-size: var(--t-section); letter-spacing: -.02em; line-height: 1.08; margin: 0; }
.workshop-page h3 { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-weight: 400; letter-spacing: -.01em; line-height: 1.15; margin: 0 0 14px; }
.workshop-page p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; }
.workshop-page .aged-black p { color: var(--on-dark); }

:is(.workshop-recognition-grid article, .workshop-drivers-grid article, .workshop-proof-grid figure, .workshop-lesson-list, .workshop-price-card) {
	background: linear-gradient(145deg, rgba(255,255,255,.55), rgba(255,255,255,.2));
	border: 1px solid rgba(143, 100, 43, .14);
	border-radius: var(--r-md);
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.75);
	position: relative;
}
:is(.workshop-recognition-grid article, .workshop-drivers-grid article)::after {
	background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0));
	bottom: 22px; content: ""; height: 1px; left: 36px; position: absolute; width: min(200px, 42%);
}

.workshop-recognition-intro, .workshop-drivers-intro { display: grid; gap: clamp(24px, 5vw, 80px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.workshop-recognition-intro p, .workshop-drivers-intro p { margin: 0; max-width: var(--measure); }
.workshop-recognition-grid { align-items: start; display: grid; gap: clamp(24px, 3vw, 36px) clamp(28px, 4vw, 56px); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 44px; padding-bottom: clamp(40px, 5vw, 64px); }
.workshop-recognition-grid article { padding: 32px 36px 48px; }
.workshop-recognition-grid article p, .workshop-drivers-grid article p { margin: 0; }
.workshop-recognition-grid article:nth-child(even) { transform: translateY(clamp(40px, 5vw, 64px)); }
.workshop-recognition-close, .workshop-drivers-close { margin: clamp(32px, 4vw, 48px) 0 0; max-width: var(--measure); }

.workshop-drivers-grid { display: grid; gap: clamp(24px, 3vw, 40px); grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 40px; }
.workshop-drivers-grid article { padding: 34px 38px 50px; }
.workshop-drivers-grid article:nth-child(2) { transform: translateY(clamp(24px, 3vw, 44px)); }

.workshop-discover { align-items: start; display: grid; gap: clamp(36px, 5vw, 80px); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.workshop-discover h2 { margin-bottom: 28px; }
.workshop-discover ul { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.workshop-discover li { color: var(--ink); font-size: var(--t-body); line-height: 1.55; padding-left: 26px; position: relative; }
.workshop-discover ul li::before { background: var(--gold-deep); border-radius: 50%; content: ""; height: 7px; left: 4px; position: absolute; top: .7em; width: 7px; }
.workshop-discover > div > p { margin: 24px 0 0; }
.workshop-lesson-list { padding: 30px 34px 32px; }
.workshop-lesson-list h3 { margin-bottom: 18px; }
.workshop-lesson-list ol { columns: 2; column-gap: 28px; counter-reset: les; list-style: none; margin: 0; padding: 0; }
.workshop-lesson-list li { break-inside: avoid; color: var(--ink); counter-increment: les; font-size: var(--t-small); line-height: 1.4; padding: 0 0 12px 34px; position: relative; }
.workshop-lesson-list li::before { color: var(--gold-deep); content: counter(les, decimal-leading-zero); font-size: var(--t-meta); font-weight: 800; left: 0; position: absolute; top: .15em; }

.workshop-proof-grid { display: grid; gap: clamp(20px, 2.4vw, 32px); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 40px; }
.workshop-proof-grid figure { display: flex; flex-direction: column; gap: 22px; justify-content: space-between; margin: 0; padding: 30px 32px; }
.workshop-proof-grid blockquote { color: var(--black); font-family: var(--serif); font-size: var(--t-body-lg); line-height: 1.4; margin: 0; }
.workshop-proof-grid figcaption { align-items: center; display: flex; gap: 12px; }
.workshop-proof-grid figcaption img { border-radius: 50%; height: 44px; object-fit: cover; width: 44px; }
.workshop-proof-grid figcaption strong { color: var(--ink); font-size: var(--t-meta); font-weight: 750; }

.workshop-about { align-items: center; display: grid; gap: clamp(40px, 6vw, 96px); grid-template-columns: minmax(240px, .6fr) minmax(0, 1.4fr); }
.workshop-about-portrait { border-radius: var(--r-md); margin: 0; overflow: hidden; }
.workshop-about-portrait img { aspect-ratio: 1; display: block; height: auto; object-fit: cover; width: 100%; }
.workshop-about h2 { margin-bottom: 24px; }
.workshop-about p { margin: 0 0 16px; max-width: var(--measure); }
.workshop-about .text-link { color: var(--gold-deep); font-weight: 700; }

.workshop-price-card { display: grid; gap: clamp(32px, 5vw, 72px); grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); padding: clamp(32px, 4.5vw, 60px); }
.workshop-price-copy h2 { margin-bottom: 26px; }
.workshop-stack { display: grid; gap: 20px; list-style: none; margin: 0; padding: 0; }
.workshop-stack li { display: grid; gap: 4px; padding-left: 34px; position: relative; }
.workshop-stack li::before { color: var(--gold-deep); content: "✓"; font-size: var(--t-body-lg); font-weight: 800; left: 0; position: absolute; top: -.05em; }
.workshop-stack strong { color: var(--black); font-family: var(--serif); font-size: var(--t-body-lg); font-weight: 400; }
.workshop-stack span { color: var(--ink-soft); font-size: var(--t-small); line-height: 1.55; }
.workshop-anchor { border-top: 1px solid rgba(143, 100, 43, .18); margin: 28px 0 0; padding-top: 22px; }
.workshop-price-box { align-self: center; display: grid; gap: 14px; justify-items: start; }
.workshop-price-amount { color: var(--black) !important; font-family: var(--serif); font-size: var(--t-display) !important; letter-spacing: -.03em; line-height: 1 !important; margin: 0; }
.workshop-price-sub { font-size: var(--t-small) !important; margin: -4px 0 8px; }
.workshop-price-box .button { justify-content: center; text-align: center; width: 100%; }
.button.is-pending { cursor: not-allowed; opacity: .6; }
.workshop-price-note, .workshop-price-pending { font-size: var(--t-meta) !important; margin: 0; }
.workshop-price-pending { color: var(--laser) !important; }
.workshop-next { margin: 26px auto 0; max-width: var(--measure); text-align: center; }
.workshop-page .workshop-next a, .workshop-page .workshop-price-copy a { color: var(--gold-deep); text-underline-offset: 3px; }

.workshop-faq { padding-top: 0; }
.workshop-faq > header { margin-bottom: 24px; }
.workshop-faq h2 { margin: 0; }
.workshop-page :is(.workshop-hero-actions, .workshop-about, .offer-conversation-actions) > .text-link { display: inline-block; padding-block: 10px; }

@media (max-width: 900px) {
	.workshop-hero .page-hero-inner, .workshop-recognition-intro, .workshop-drivers-intro, .workshop-discover, .workshop-about, .workshop-price-card { grid-template-columns: 1fr; }
	.workshop-hero-portrait { max-width: 420px; }
	.workshop-recognition-grid, .workshop-drivers-grid, .workshop-proof-grid { grid-template-columns: 1fr; padding-bottom: 0; }
	.workshop-recognition-grid article:nth-child(even), .workshop-drivers-grid article:nth-child(2) { transform: none; }
	.workshop-about-portrait { max-width: 320px; }
	.workshop-price-box { order: -1; }
}
@media (max-width: 640px) {
	.workshop-page { --workshop-gap: 60px; }
	.workshop-page .workshop-hero { padding: 36px 22px 28px; }
	.workshop-page .workshop-hero h1 { font-size: var(--t-page); }
	.workshop-hero-actions .button { width: 100%; }
	.workshop-hero-portrait img { aspect-ratio: 1; }
	.workshop-page > section:not(.closing-cta) { width: calc(100% - 44px); }
	.workshop-recognition-grid article, .workshop-drivers-grid article { padding: 26px 22px 40px; }
	:is(.workshop-recognition-grid article, .workshop-drivers-grid article)::after { bottom: 18px; left: 22px; }
	.workshop-lesson-list { padding: 24px 22px; }
	.workshop-lesson-list ol { columns: 1; }
	.workshop-proof-grid figure { padding: 26px 22px; }
	.workshop-price-card { padding: 26px 22px; }
	.workshop-next { text-align: left; }
}

/* Homepage-copy 2026-09: editorial support for Jessica's supplied copy. */
.home-story .home-hero .home-hero-close { color: var(--gold); font-family: var(--serif); font-size: var(--t-item); line-height: 1.18; margin: 8px 0 0; }
.home-story .home-hero .home-hero-close strong { font-weight: 500; }

.home-reframe { background: #e9e6e1; padding: 70px clamp(24px, 6vw, 92px); }
.home-reframe > header { display: grid; gap: 30px clamp(50px, 8vw, 120px); grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); }
.home-reframe > header .eyebrow { grid-column: 1 / -1; }
.home-reframe h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.1; margin: 0; max-width: 900px; }
.home-reframe > header > p { align-self: end; color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; max-width: 53ch; }
.home-reframe-copy { display: grid; gap: 24px 48px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 34px 0 0 25%; max-width: 950px; }
.home-reframe-copy > p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.7; margin: 0; }
.home-reframe-copy .home-reframe-question { border-top: 1px solid #c0bab2; color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-item); line-height: 1.28; grid-column: 1 / -1; max-width: 700px; padding-top: 22px; }
.home-reframe-question strong { display: block; color: var(--ink); font-family: var(--sans); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; }

.home-capital { border-bottom: 1px solid #c3bdb5; border-top: 1px solid #c3bdb5; margin: 0 clamp(24px, 6vw, 92px); padding: 62px clamp(18px, 4vw, 56px) 66px; }
.home-capital > * { margin-left: auto; margin-right: auto; max-width: 850px; }
.home-capital .eyebrow { color: var(--gold-deep); margin-bottom: 20px; }
.home-capital h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin-bottom: 22px; }
.home-capital p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.65; margin-bottom: 16px; }
.home-capital .home-capital-emphasis { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-item); line-height: 1.2; margin-top: 22px; }

.home-story .home-offer .offer-card h3 { max-width: 19ch; }
.home-story .home-offer .offer-card p + p { margin-top: 14px; }
.home-story .home-offer .offer-card > a { margin-top: 26px; }

.home-closing { border-top: 1px solid #c3bdb5; margin: 0 clamp(24px, 6vw, 92px); padding: 68px clamp(18px, 5vw, 72px) 76px; text-align: center; }
.home-closing > * { margin-left: auto; margin-right: auto; max-width: 900px; }
.home-closing .eyebrow { color: var(--gold-deep); margin-bottom: 22px; }
.home-closing h2 { font-size: var(--t-section); font-weight: 500; letter-spacing: -.035em; line-height: 1.08; margin-bottom: 22px; }
.home-closing p { color: var(--ink-soft); font-size: var(--t-body); line-height: 1.65; margin-bottom: 16px; }
.home-closing .button { margin-top: 18px; }

@media (max-width: 980px) {
	.home-reframe > header { grid-template-columns: 1fr; }
	.home-reframe-copy { margin-left: 0; }
}

@media (max-width: 640px) {
	.home-story .home-hero .home-hero-close { font-size: var(--t-body-lg); }
	.home-reframe { padding: 50px 22px; }
	.home-reframe > header { gap: 20px; }
	.home-reframe-copy { gap: 18px; grid-template-columns: 1fr; margin-top: 26px; }
	.home-reframe-copy .home-reframe-question { font-size: var(--t-body-lg); grid-column: 1; }
	.home-capital { margin-inline: 22px; padding: 46px 0 48px; }
	.home-capital h2, .home-closing h2 { font-size: var(--t-section); }
	.home-closing { margin-inline: 22px; padding: 48px 0 54px; text-align: left; }
	.home-closing .button { text-align: center; width: 100%; }
}

/* /werkwijze/ met de teksten van Jessica (28-9-2026): de titel is een hele zin. */
.offer-page--method .offer-page-hero h1 { font-size: clamp(38px, 4.4vw, 62px); line-height: 1.06; max-width: 17ch; }
.offer-page--method .method-questions .method-principles-grid article h3 { margin-bottom: 8px; }
.offer-page--method .method-questions .method-principles-grid article p { color: var(--gold-deep); font-family: var(--serif); font-size: var(--t-item); line-height: 1.2; }
.offer-page--method .method-questions-close { margin-top: clamp(28px, 3vw, 44px); max-width: var(--measure); }
.offer-page--method .method-questions-close p { margin: 0 0 12px; }
.offer-page--method .method-promises article p + p { margin-top: 12px; }
.offer-page--method .method-academy-sub { color: var(--ink-soft); font-size: var(--t-body-lg); line-height: 1.5; margin: 16px 0 0; }
.offer-page--method .method-academy > div + div p + p { margin-top: 12px; }
.offer-page--method .method-fit-question { color: var(--black); font-family: var(--serif); font-size: var(--t-item); margin-top: 20px; }
.offer-page--method .method-core-copy p + p { margin-top: 12px; }
@media (max-width: 640px) {
	.offer-page--method .offer-page-hero h1 { font-size: clamp(32px, 8.4vw, 40px); }
}

/* Footer zweeft, net als de kop en de zwarte vlakken (28-9-2026). */
.site-footer.site-footer--minimal {
	border: 1px solid rgba(213, 180, 119, .28);
	border-radius: var(--r-lg);
	box-shadow: 0 20px 48px rgba(17, 17, 17, .12);
	margin: clamp(56px, 7vw, 96px) clamp(12px, 3vw, 42px) clamp(12px, 3vw, 42px);
	overflow: hidden;
	padding: clamp(28px, 3vw, 44px) clamp(8px, 2vw, 24px) 18px;
}
@media (max-width: 640px) {
	.site-footer.site-footer--minimal { border-radius: var(--r-md); margin: 48px 12px 12px; padding: 24px 0 14px; }
}

/* "Niet ooit. Nu." in de hero: het uitgestelde zacht, het nu groot (28-9-2026). */
.home-story .home-hero .home-hero-close { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 30px 0 0; }
.home-story .home-hero .home-hero-close span { color: var(--on-dark-soft); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1; text-decoration: line-through; text-decoration-color: rgba(213, 180, 119, .55); text-decoration-thickness: 1px; }
.home-story .home-hero .home-hero-close strong { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-section); font-weight: 500; letter-spacing: -.02em; line-height: 1; }
@media (max-width: 640px) {
	.home-story .home-hero .home-hero-close { margin-top: 22px; }
	.home-story .home-hero .home-hero-close span { font-size: var(--t-body-lg); }
	.home-story .home-hero .home-hero-close strong { font-size: var(--t-quote); }
}

/* ==========================================================================
   /werkwijze/ als één leeslijn (28-9-2026)
   Alle tekst in één kolom op dezelfde linkerrand, kop boven tekst, grotere
   leesletter. Geen kaarten meer; het zwarte blok met de foto blijft het ene
   rustmoment. De vier vragen worden een rustige lijst.
   ========================================================================== */
.offer-page--method { --read: min(720px, calc(100vw - 44px)); }
.offer-page--method .offer-page-content > section:not(.method-human):not(.closing-cta):not(.offer-conversation) {
	display: block !important;
	margin: clamp(72px, 9vw, 120px) auto 0 !important;
	padding: 0 !important;
	width: var(--read) !important;
	max-width: none !important;
}
/* Kaarten eraf. */
.offer-page--method :is(.method-question-card, .method-principles-grid article, .method-academy) {
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	transform: none !important;
}
.offer-page--method :is(.method-principles-grid article)::after,
.offer-page--method .method-academy::before, .offer-page--method .method-academy::after { content: none !important; }

/* Koppen en tekst: één maat voor sectiekoppen, grotere leesletter. */
.offer-page--method .offer-page-content h2 { font-size: var(--t-section) !important; letter-spacing: -.02em; line-height: 1.1 !important; margin: 0 0 28px !important; max-width: 20ch !important; }
.offer-page--method .offer-page-content section:not(.method-human):not(.closing-cta) p { color: var(--ink); font-size: var(--t-body-lg); line-height: 1.7; margin: 0 0 18px; max-width: none; }
.offer-page--method .offer-page-content section:not(.method-human):not(.closing-cta) p:last-child { margin-bottom: 0; }

/* Opening: de kaart wordt een uitgelichte zin onder de tekst. */
.offer-page--method .method-opening > div { max-width: none !important; }
.offer-page--method .method-question-card { margin-top: 36px !important; }
.offer-page--method .method-question-card p { color: var(--black) !important; font-family: var(--serif); font-size: var(--t-quote) !important; line-height: 1.25 !important; margin: 0 !important; }
.offer-page--method .method-question-card p + p { color: var(--gold-deep) !important; }

/* De vier vragen: een lijst met vraag en wedervraag naast elkaar. */
.offer-page--method .method-questions > header { margin: 0 !important; }
.offer-page--method .method-questions .method-principles-grid { border-top: 1px solid var(--rule) !important; display: block !important; margin: 8px 0 0 !important; padding: 0 !important; }
.offer-page--method .method-questions .method-principles-grid article { align-items: baseline; border-bottom: 1px solid var(--rule) !important; display: grid !important; gap: 8px 32px; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); padding: 18px 0 !important; }
.offer-page--method .method-questions .method-principles-grid article h3 { color: var(--ink) !important; font-family: var(--sans) !important; font-size: var(--t-body-lg) !important; font-weight: 400 !important; line-height: 1.4 !important; margin: 0 !important; }
.offer-page--method .method-questions .method-principles-grid article p { color: var(--gold-deep) !important; font-family: var(--serif) !important; font-size: var(--t-item) !important; line-height: 1.25 !important; margin: 0 !important; }
.offer-page--method .method-questions-close { margin: 36px 0 0 !important; max-width: none !important; }

/* Aan jouw kant en Wanneer werken we goed samen: kop, openingszin, tekst. */
.offer-page--method .method-core-intro { display: block !important; }
.offer-page--method .method-core-intro > header { margin: 0 0 18px !important; position: static !important; }
.offer-page--method .method-core-lead { color: var(--black) !important; font-family: var(--serif) !important; font-size: var(--t-quote) !important; line-height: 1.3 !important; margin: 0 !important; max-width: none !important; }
.offer-page--method .method-core-copy { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.offer-page--method .method-core-copy p + p { margin-top: 0 !important; }
/* "Ik luister. Ik vraag door. Ik confronteer..." als één strakke reeks. */
.offer-page--method #aan-jouw-kant .method-core-copy p:nth-child(2),
.offer-page--method #aan-jouw-kant .method-core-copy p:nth-child(3) { margin-bottom: 2px !important; }
.offer-page--method #aan-jouw-kant .method-core-copy p:nth-child(n+2):nth-child(-n+4) { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.3; }
.offer-page--method #aan-jouw-kant .method-core-copy p:nth-child(4) { margin-bottom: 18px !important; }

/* Alles mag op tafel / Je gaat kiezen: twee gewone tekstblokken onder elkaar. */
.offer-page--method .method-promises .method-principles-grid { display: grid !important; gap: clamp(56px, 7vw, 88px) !important; grid-template-columns: 1fr !important; padding: 0 !important; }
.offer-page--method .method-promises article h3 { color: var(--black); font-size: var(--t-section) !important; letter-spacing: -.02em; line-height: 1.1 !important; margin: 0 0 24px !important; }
.offer-page--method .method-promises article p + p { margin-top: 0 !important; }

/* Begeleiding: kop, ondertitel, tekst. */
.offer-page--method .method-academy > div { display: block; }
.offer-page--method .method-academy > div + div { margin-top: 24px; }
.offer-page--method .method-academy-sub { color: var(--gold-deep) !important; font-family: var(--serif); font-size: var(--t-quote) !important; line-height: 1.3 !important; margin: 0 !important; }

.offer-page--method .method-fit-question { color: var(--black) !important; font-family: var(--serif); font-size: var(--t-quote) !important; margin-top: 28px !important; }

@media (max-width: 640px) {
	.offer-page--method .offer-page-content section:not(.method-human):not(.closing-cta) p { font-size: var(--t-body); }
	.offer-page--method .method-questions .method-principles-grid article { grid-template-columns: 1fr; gap: 4px; }
}

/* Portretblok op /werkwijze/: de tekst loopt niet verder dan de foto (28-9-2026).
   De tekst verdeelt zich gelijk over twee kolommen en de foto rekt mee tot
   de onderkant van de tekst. */
@media (min-width: 901px) {
	.offer-page--method .method-human { align-items: stretch; }
	.offer-page--method .method-human-portrait { align-self: stretch; display: flex; min-height: 420px; }
	.offer-page--method .method-human-portrait img { aspect-ratio: auto; height: 100%; object-position: 50% 30%; }
	.offer-page--method .method-human > div:last-child { column-count: 2; column-gap: clamp(28px, 4vw, 56px); display: block; }
	.offer-page--method .method-human > div:last-child p { break-inside: avoid; }
	.offer-page--method .method-human > div:last-child p:last-child { margin-bottom: 0; }
}

/* ==========================================================================
   /werkwijze/: witte blokken als adempauze tussen de leestekst (28-9-2026)
   Ritme: tekst, wit blok, zwart blok, tekst, twee witte kaarten, tekst,
   wit blok, zwarte slotuitnodiging. In de blokken blijft de leeskolom smal.
   ========================================================================== */
.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit, .method-promises):not(.method-human):not(.closing-cta):not(.offer-conversation) {
	width: min(1040px, calc(100vw - 44px)) !important;
}
.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit):not(.method-human):not(.closing-cta):not(.offer-conversation),
.offer-page--method .method-promises .method-principles-grid article {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26)) !important;
	border: 1px solid rgba(143, 100, 43, .16) !important;
	border-radius: var(--r-lg) !important;
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8) !important;
}
.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit):not(.method-human):not(.closing-cta):not(.offer-conversation) { padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px) !important; }
.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit):not(.method-human):not(.closing-cta):not(.offer-conversation) > * { margin-left: auto !important; margin-right: auto !important; max-width: 720px !important; }
.offer-page--method .method-fit .method-core-intro { max-width: 720px; margin: 0 auto; }

/* De twee beloftes als witte kaarten naast elkaar, gelijk van hoogte. */
.offer-page--method .method-promises .method-principles-grid { align-items: stretch; gap: clamp(20px, 3vw, 36px) !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.offer-page--method .method-promises .method-principles-grid article { border-radius: var(--r-md) !important; padding: clamp(30px, 3.4vw, 46px) !important; position: relative; }
.offer-page--method .method-promises .method-principles-grid article::after {
	background: linear-gradient(90deg, var(--gold-deep), rgba(143, 100, 43, 0)) !important;
	bottom: 24px; content: "" !important; height: 1px; left: clamp(30px, 3.4vw, 46px); position: absolute; width: min(200px, 42%);
}
.offer-page--method .method-promises article h3 { font-size: var(--t-item) !important; margin-bottom: 18px !important; }
.offer-page--method .method-promises article p:last-child { margin-bottom: 18px !important; }

@media (max-width: 900px) {
	.offer-page--method .method-promises .method-principles-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px) {
	.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit, .method-promises):not(.method-human):not(.closing-cta):not(.offer-conversation) { width: calc(100vw - 24px) !important; }
	.offer-page--method .offer-page-content > section:is(.method-questions, .method-fit):not(.method-human):not(.closing-cta):not(.offer-conversation) { border-radius: var(--r-md) !important; padding: 32px 22px !important; }
	.offer-page--method .method-promises .method-principles-grid article { padding: 28px 22px 44px !important; }
	.offer-page--method .method-promises .method-principles-grid article::after { left: 22px; bottom: 20px; }
}

/* ==========================================================================
   Alles in de hero recht (28-9-2026, wens van Jessica)
   Gouden kaarten, portretten en omslagen staan niet meer schuin. Ook de
   inkomende beweging en de parallax draaien niet meer.
   ========================================================================== */
@keyframes jl-card-in {
	from { opacity: 0; transform: scale(.97) translate3d(0, 26px, 0); }
	to { opacity: 1; transform: none; }
}
.hero-object,
.jessica-page .jessica-facts .jessica-facts-feature,
.home-hero-portrait { transform: none !important; }
.has-motion .hero-object.has-parallax { transform: translate3d(0, var(--jl-parallax, 0px), 0) !important; }
.book-cover-placeholder,
.lead-magnet-cover-stage img { transform: none !important; }
.book-cover-stage::after,
.lead-magnet-cover-stage::after { transform: none !important; }
@media (max-width: 640px) {
	.jessica-page .jessica-facts-feature { transform: none !important; }
}

/* Foto in de hero van /kennismaken/ (28-9-2026): Jessica aan tafel in gesprek. */
.offer-page--selection .offer-page-hero .page-hero-inner { align-items: center; column-gap: clamp(40px, 6vw, 96px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr); }
.offer-page--selection .offer-page-hero .page-hero-inner > *:not(.selection-hero-portrait) { grid-column: 1; }
.offer-page--selection .selection-hero-portrait { border: 1px solid rgba(213, 180, 119, .42); border-radius: var(--r-md); grid-column: 2; grid-row: 1 / span 6; margin: 0; overflow: hidden; }
.offer-page--selection .selection-hero-portrait img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: cover; object-position: 55% 30%; width: 100%; }
@media (max-width: 900px) {
	.offer-page--selection .offer-page-hero .page-hero-inner { grid-template-columns: 1fr; }
	.offer-page--selection .selection-hero-portrait { grid-column: 1; grid-row: auto; margin-top: 32px; max-width: 520px; }
}
.offer-page--selection .offer-page-hero .selection-hero-button { justify-self: start; }

/* De geborstelde textuur ligt achter de inhoud, niet over foto's en kaarten
   heen (28-9-2026). Het vlak wordt een eigen stapel, de textuur zakt naar
   achteren, zodat hij alleen op de achtergrond van het vlak te zien is. */
.aged-black, .brushed-gold { isolation: isolate; }
.aged-black::before, .brushed-gold::before { z-index: -1; }

/* /aanbod/ met de teksten van Jessica: de slotzin van de intro draagt het blok */
.offer-hub-intro p.offer-hub-intro-close { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin-top: 28px; }

/* /aanbod/: grotere knoppen onder de twee trajecten */
.offer-path-grid .offer-path-card .button { align-self: stretch; font-size: 1.05rem; letter-spacing: .01em; min-height: 64px; padding: 0 32px; width: 100%; }

/* RoofbouwReset met de teksten van Jessica (29-9) */
.offer-page--reset .offer-page-hero h1 { font-size: clamp(40px, 5vw, 68px); line-height: 1.02; max-width: 15ch; }
.offer-page--reset .offer-page-hero .reset-hero-cost { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-item); font-style: italic; grid-column: 1; line-height: 1.35; margin-top: 22px; }
.offer-page--reset .reset-hero-portrait { align-self: stretch; border: 1px solid rgba(214,176,112,.35); border-radius: var(--r-md); grid-column: 2; grid-row: 2 / span 4; margin: 0; overflow: hidden; }
.offer-page--reset .reset-hero-portrait img { display: block; height: 100%; min-height: 340px; object-fit: cover; object-position: 55% 0%; width: 100%; }
.offer-page--reset .reset-bill { grid-template-columns: minmax(0, 720px); justify-content: center; }
.offer-page--reset .reset-bill .reset-bill-line { color: var(--black); font-family: var(--serif); font-size: var(--t-section); letter-spacing: -.02em; line-height: 1.1; margin: 34px 0 30px; }
.offer-page--reset .reset-start-copy p:first-child { font-family: var(--serif); font-size: var(--t-item); }
.offer-page--reset .reset-process-list article h3 { margin-bottom: 12px; }
.offer-page--reset .reset-doing { display: block; }
.offer-page--reset .reset-doing > div { max-width: 760px; }
.offer-page--reset .reset-doing blockquote { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-quote); font-style: italic; line-height: 1.25; margin: 34px 0 0; }
.offer-page--reset .reset-outcome-copy { font-size: var(--t-body-lg); line-height: 1.6; margin: 0; }
.offer-page--reset .trajectory-included .reset-price { font-family: var(--serif); font-size: var(--t-item); margin: 28px 0 4px; }
.offer-page--reset .trajectory-included .reset-price-terms { margin: 0; }
@media (max-width: 900px) {
	.offer-page--reset .reset-hero-portrait { grid-column: 1; grid-row: auto; margin-top: 26px; }
	.offer-page--reset .reset-hero-portrait img { aspect-ratio: 4 / 3; height: auto; min-height: 0; }
}
/* "Je hoeft bij de start niet te weten..." als wit blok, zoals op /werkwijze/ */
.offer-page--reset .offer-page-content > section.reset-start {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	display: block;
	padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px);
	width: min(1040px, calc(100vw - 44px));
}
.offer-page--reset .reset-start > * { margin-left: auto; margin-right: auto; max-width: 720px; }
.offer-page--reset .reset-start h2 { margin: 0 auto 28px; }
.offer-page--reset .reset-start p { font-size: var(--t-body-lg); line-height: 1.7; }
@media (max-width: 640px) { .offer-page--reset .offer-page-content > section.reset-start { width: calc(100vw - 24px); } }
.offer-page--reset .reset-process > header { display: block; }
.offer-page--reset .reset-process > header h2 { max-width: 22ch; }
.offer-page--reset .reset-process article { grid-template-columns: minmax(180px, .5fr) minmax(0, 1.2fr); }
@media (max-width: 640px) { .offer-page--reset .reset-process article { grid-template-columns: 1fr; } }
.offer-page--reset .offer-page-content > section.trajectory-outcomes {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px);
	width: min(1040px, calc(100vw - 44px));
}
.offer-page--reset .trajectory-outcomes > * { margin-left: auto; margin-right: auto; max-width: 720px; }
.offer-page--reset .trajectory-outcomes h2 { margin-top: 0; margin-bottom: 24px; }
@media (max-width: 640px) { .offer-page--reset .offer-page-content > section.trajectory-outcomes { width: calc(100vw - 24px); } }

/* Jaartraject met de teksten van Jessica (29-9): zelfde opbouw als de RoofbouwReset */
.offer-page--year .offer-page-hero h1 { font-size: clamp(40px, 5vw, 68px); line-height: 1.02; max-width: 15ch; }
.offer-page--year .reset-hero-portrait { align-self: stretch; border: 1px solid rgba(214,176,112,.35); border-radius: var(--r-md); grid-column: 2; grid-row: 2 / span 3; margin: 0; overflow: hidden; }
.offer-page--year .reset-hero-portrait img { display: block; height: 100%; min-height: 380px; object-fit: cover; object-position: 50% 18%; width: 100%; }
.offer-page--year .year-capital { grid-template-columns: minmax(0, 720px); justify-content: center; }
.offer-page--year .year-capital p { font-size: var(--t-body-lg); line-height: 1.7; }
.offer-page--year .year-capital .year-capital-turn { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin: 26px 0; }
.offer-page--year .year-capital .year-capital-question { color: var(--black); font-family: var(--serif); font-size: var(--t-section); letter-spacing: -.02em; line-height: 1.1; margin: 30px 0; }
.offer-page--year .offer-page-content > section:is(.year-harvest, .trajectory-outcomes) {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	display: block;
	margin: 72px auto;
	padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px);
	width: min(1040px, calc(100vw - 44px));
}
.offer-page--year :is(.year-harvest, .trajectory-outcomes) > * { margin-left: auto; margin-right: auto; max-width: 720px; }
.offer-page--year .year-harvest h2, .offer-page--year .trajectory-outcomes h2 { margin: 0 auto 26px; }
.offer-page--year .year-harvest p, .offer-page--year .year-outcome-copy { font-size: var(--t-body-lg); line-height: 1.7; }
.offer-page--year .year-harvest .year-harvest-line { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin-top: 26px; }
.offer-page--year .year-outcome-lead { color: var(--black); font-family: var(--serif); font-size: var(--t-section); line-height: 1.1; margin-bottom: 24px; }
.offer-page--year .reset-process > header { display: block; }
.offer-page--year .reset-process > header h2 { max-width: 22ch; }
.offer-page--year .reset-process article { grid-template-columns: minmax(180px, .5fr) minmax(0, 1.2fr); }
.offer-page--year .reset-process article h3 { margin-bottom: 12px; }
.offer-page--year .year-process-close { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin: 44px auto 0; max-width: 720px; text-align: center; }
.offer-page--year .year-spain-line { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; }
.offer-page--year .trajectory-included .reset-price { font-family: var(--serif); font-size: var(--t-item); margin: 28px 0 4px; }
.offer-page--year .trajectory-included .reset-price-terms { margin: 0; }
.offer-page--year .year-half { border-top: 1px solid #c5beb6; margin-top: 40px; padding-top: 32px; }
.offer-page--year .year-half h3 { font-size: var(--t-item); margin: 0 0 14px; }
.offer-page--year .year-half p { margin: 0 0 10px; }
.offer-page--year .year-from-reset { display: block; }
.offer-page--year .year-from-reset > div { max-width: 720px; }
@media (max-width: 900px) {
	.offer-page--year .reset-hero-portrait { grid-column: 1; grid-row: auto; margin-top: 26px; }
	.offer-page--year .reset-hero-portrait img { aspect-ratio: 4 / 5; height: auto; min-height: 0; }
}
@media (max-width: 640px) {
	.offer-page--year .offer-page-content > section:is(.year-harvest, .trajectory-outcomes) { width: calc(100vw - 24px); }
	.offer-page--year .reset-process article { grid-template-columns: 1fr; }
}
/* Heroes van beide trajecten: de foto volgt de hoogte van de tekst en duwt de regels niet uit elkaar */
@media (min-width: 901px) {
	:is(.offer-page--reset, .offer-page--year) .reset-hero-portrait { min-height: 380px; position: relative; }
	:is(.offer-page--reset, .offer-page--year) .reset-hero-portrait img { height: 100%; inset: 0; min-height: 0; position: absolute; }
}

/* Praktisch op beide trajectpagina's: wat je krijgt links, prijs rechts (29-9) */
.practical { margin: 96px auto; width: min(1100px, calc(100vw - 44px)); }
.practical > h2 { font-size: var(--t-section); line-height: 1.1; margin: 0 0 34px; }
.practical-grid { align-items: stretch; display: grid; gap: clamp(20px, 3vw, 32px); grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr); }
.practical-list {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-md);
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.8);
	counter-reset: practical;
	list-style: none;
	margin: 0;
	padding: clamp(14px, 2vw, 22px) clamp(24px, 3.4vw, 42px);
}
.practical-list li { align-items: baseline; border-top: 1px solid rgba(143, 100, 43, .16); counter-increment: practical; display: grid; font-size: var(--t-body); gap: 18px; grid-template-columns: 28px minmax(0, 1fr); line-height: 1.5; padding: 18px 0; }
.practical-list li:first-child { border-top: 0; }
.practical-list li::before { color: var(--gold-deep); content: counter(practical, decimal-leading-zero); font-family: var(--serif); font-size: .95em; }
.practical-list li::first-letter { text-transform: uppercase; }
.practical-price { border-radius: var(--r-md); color: var(--gold-light); display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 3.6vw, 48px); }
.practical-price-label { color: var(--gold); font-size: var(--t-meta); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.practical-price-amount { color: var(--gold-light); font-family: var(--serif); font-size: clamp(44px, 5vw, 64px); font-weight: 500; letter-spacing: -.02em; line-height: 1; margin: 16px 0 14px; white-space: nowrap; }
.practical-price p { color: rgba(245, 230, 200, .82); font-size: var(--t-small); margin: 0 0 28px; }
.practical-price .button { align-self: flex-start; }
.practical-half {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-md);
	box-shadow: 0 20px 48px rgba(39, 29, 18, .075), inset 0 1px 0 rgba(255,255,255,.8);
	display: grid;
	gap: clamp(18px, 4vw, 56px);
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr);
	margin-top: clamp(20px, 3vw, 32px);
	padding: clamp(28px, 3.4vw, 44px) clamp(24px, 3.4vw, 42px);
}
.practical-half h3 { font-size: var(--t-item); line-height: 1.15; margin: 0; }
.practical-half p { font-size: var(--t-body); line-height: 1.6; margin: 0 0 8px; }
.practical-half strong { color: var(--black); font-family: var(--serif); font-size: 1.15em; font-weight: 600; white-space: nowrap; }
.practical-half .practical-half-note { color: var(--ink-soft); font-size: var(--t-small); margin-top: 14px; }
@media (max-width: 900px) {
	.practical-grid, .practical-half { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.practical { margin: 64px auto; width: calc(100vw - 24px); }
	.practical-price .button { align-self: stretch; }
}
/* Hero jaartraject exact als de RoofbouwReset: tekst bovenaan, vierkante foto rechts */
@media (min-width: 901px) {
	.offer-page--year .page-hero-inner { grid-template-rows: auto auto auto auto 1fr; }
	.offer-page--year .reset-hero-portrait { aspect-ratio: 1 / 1; grid-row: 2 / 6; min-height: 0; }
	.offer-page--year .reset-hero-portrait img { object-position: 50% 20%; }
}
@media (max-width: 900px) {
	.offer-page--year .reset-hero-portrait img { aspect-ratio: 4 / 3; object-position: 50% 15%; }
}
.offer-page--year .year-hero-cta { grid-column: 1; justify-self: start; margin-top: 28px; }
@media (min-width: 901px) { .offer-page--year .year-hero-cta { grid-row: 5; align-self: start; } }
.offer-page--year .offer-page-hero .year-hero-cta { font-size: 1.1rem; letter-spacing: .01em; min-height: 66px; padding: 0 38px; }
@media (max-width: 640px) { .offer-page--year .offer-page-hero .year-hero-cta { justify-self: stretch; font-size: 1.05rem; } }
/* Alle kennismakingsknoppen op /jaartraject/ en onderaan /spanje/ even groot als de knop in de hero */
.offer-page--year .offer-page-content .button,
.spain-closing-actions .button { font-size: 1.1rem; letter-spacing: .01em; min-height: 66px; padding: 0 38px; }
@media (max-width: 640px) {
	.offer-page--year .offer-page-content .button,
	.spain-closing-actions .button { align-self: stretch; font-size: 1.05rem; justify-self: stretch; }
}
/* Knop in de prijskaart altijd op één regel */
.practical-grid { grid-template-columns: minmax(0, 1.3fr) minmax(380px, 1fr); }
.offer-page-content .practical-price .button { align-self: stretch; font-size: clamp(1rem, 1.25vw, 1.1rem); padding: 0 24px; white-space: nowrap; }
.practical-price { padding-inline: clamp(26px, 3vw, 44px); }
@media (max-width: 900px) { .practical-grid { grid-template-columns: 1fr; } }
/* Ook op /roofbouw-reset/ alle knoppen in de grote maat */
.offer-page--reset .offer-page-content .button { font-size: 1.1rem; letter-spacing: .01em; min-height: 66px; padding: 0 38px; }
.offer-page--reset .offer-page-content .practical-price .button { font-size: clamp(1rem, 1.25vw, 1.1rem); padding: 0 24px; }
@media (max-width: 640px) { .offer-page--reset .offer-page-content .button { align-self: stretch; font-size: 1.05rem; justify-self: stretch; } }

/* /aanbod/ met de volledige tekst van Jessica (29-9) */
.offer-hub-intro.offer-hub-intro--jessica { grid-template-columns: minmax(0, 720px); justify-content: center; }
.offer-path-card { min-height: 0; }
.offer-path-card h3 { margin: 48px 0 18px; }
.offer-path-card > p.offer-path-lead { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.3; margin: 0 0 20px; }
.offer-path-card > p + p.offer-path-lead { margin-top: 6px; }
.offer-path-thought { border-top: 1px solid rgba(17,17,17,.18); margin: 18px 0 34px; padding-top: 22px; }
.offer-path-thought span { color: var(--gold-deep); display: block; font-size: var(--t-meta); font-weight: 750; margin-bottom: 8px; }
.offer-path-card--year .offer-path-thought span { color: var(--black); }
.offer-path-thought p { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin: 0; }
.offer-difference {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	margin: 96px auto;
	padding: clamp(40px, 6vw, 80px) clamp(24px, 6vw, 80px);
	width: min(1040px, calc(100vw - 44px));
}
.offer-difference h2 { font-size: var(--t-section); line-height: 1.1; margin: 0 0 32px; }
.offer-difference-grid { display: grid; gap: clamp(18px, 3vw, 32px); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.offer-difference-grid p { border-top: 1px solid rgba(143, 100, 43, .3); font-size: var(--t-body-lg); line-height: 1.55; margin: 0; padding-top: 20px; }
.offer-difference-grid strong { color: var(--black); display: block; font-family: var(--serif); font-size: var(--t-item); font-weight: 500; margin-bottom: 6px; }
.offer-difference-close { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin: 36px 0 0; }
.offer-difference .text-link { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); font-weight: 850; margin-top: 24px; text-decoration: none; }
@media (max-width: 700px) { .offer-difference-grid { grid-template-columns: 1fr; } .offer-difference { width: calc(100vw - 24px); } }

/* /jessica/ met de teksten van Jessica (29-9) */
.jessica-page-hero .jessica-hero-copy { grid-column: 1; margin-top: 22px; max-width: 56ch; }
.jessica-page-hero .jessica-hero-copy p { margin: 0 0 10px !important; }
.jessica-page-hero .jessica-hero-copy p:last-child { color: var(--gold-light); font-family: var(--serif); font-size: var(--t-item) !important; font-style: italic; line-height: 1.35; margin-top: 18px !important; }
.jessica-page .jessica-opening-copy h2 { font-size: var(--t-section); line-height: 1.1; margin: 0 0 28px; }
.jessica-page .jessica-opening-copy p { margin: 0 0 12px; }
.jessica-page .jessica-opening-copy .jessica-opening-close { color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.35; margin-top: 22px; }
.jessica-page .jessica-story p { margin-bottom: 12px; }
.jessica-page .jessica-story-quote { border-top: 1px solid rgba(143, 100, 43, .3); color: var(--black); font-family: var(--serif); font-size: var(--t-item); font-style: italic; line-height: 1.3; margin: 22px 0 0; padding-top: 20px; }
.jessica-page .jessica-story-shout { color: var(--black); font-family: var(--serif); font-size: var(--t-section) !important; line-height: 1.1; margin-top: 30px !important; }
.jessica-page .jessica-story-shout span { color: var(--gold-deep); display: block; }
.jessica-page .jessica-character-side { color: var(--black); font-family: var(--serif); font-size: var(--t-item); }
.jessica-page .jessica-character-questions { list-style: none; margin: 18px 0 24px; padding: 0; }
.jessica-page .jessica-character-questions li { border-top: 1px solid rgba(143, 100, 43, .2); color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.3; padding: 12px 0; }
.jessica-page .jessica-book-copy p { margin: 0 0 10px; }
.jessica-page .jessica-book-close { font-family: var(--serif); font-size: var(--t-item); font-style: italic; margin-top: 16px !important; }
/* Hoofdstukken met veel korte alinea's: kop links over de volle hoogte, tekst rechts in één kolom */
.jessica-page .jessica-story-chapter { align-content: start; grid-auto-rows: min-content; }
.jessica-page .jessica-story-chapter > h2 { align-self: start; grid-row: 1 / span 40; position: sticky; top: 110px; }
.jessica-page .jessica-story-chapter > p,
.jessica-page .jessica-story-chapter > p:nth-of-type(2),
.jessica-page .jessica-story-chapter > p:nth-of-type(3) { color: var(--ink); font-size: var(--t-body); margin: 0 0 12px; max-width: 58ch; }
.jessica-page .jessica-story-chapter > p:first-of-type { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin-bottom: 18px; max-width: 40ch; }
@media (max-width: 900px) { .jessica-page .jessica-story-chapter > h2 { grid-row: auto; margin-bottom: 20px; position: static; } }
.jessica-page .jessica-book-cover { align-self: start; max-width: 100%; width: 100%; }
.jessica-page .jessica-approach-grid article p { margin: 0 0 12px; }
.jessica-page .jessica-approach-grid article p:last-child { margin-bottom: 0; }
/* "En toen werd ik gelukkiger": zinnen in korte groepen, foto loopt mee */
.jessica-page .jessica-story-turn { align-items: start; }
.jessica-page .jessica-story-turn .jessica-story-photo { position: sticky; top: 110px; }
.jessica-page .jessica-story-turn .jessica-story-photo img { aspect-ratio: 4 / 5; }
.jessica-page .jessica-story-turn > div { max-width: 60ch; }
.jessica-page .jessica-story-turn h2 { margin-bottom: 30px; }
.jessica-page .jessica-turn-beat { border-top: 1px solid rgba(143, 100, 43, .2); padding: 18px 0 20px; }
.jessica-page .jessica-turn-beat p { font-size: var(--t-body); line-height: 1.6; margin: 0 0 4px !important; }
.jessica-page .jessica-turn-beat--choice p { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.35; margin-bottom: 6px !important; }
.jessica-page .jessica-story-turn .jessica-story-quote { border-top: 1px solid rgba(143, 100, 43, .35); font-size: var(--t-section); line-height: 1.15; margin-top: 0; padding-top: 22px; }
@media (max-width: 900px) { .jessica-page .jessica-story-turn .jessica-story-photo { position: static; } }
/* Boekknop op /jessica/ als gouden knop in de grote maat */
.jessica-page .jessica-book-copy .jessica-book-button { background: var(--gold); border: 0; color: var(--black); font-size: 1.1rem; letter-spacing: .01em; margin-top: 26px; min-height: 66px; padding: 0 38px; text-decoration: none; }
.jessica-page .jessica-book-copy .jessica-book-button:hover { background: var(--gold-light); }
@media (max-width: 640px) { .jessica-page .jessica-book-copy .jessica-book-button { display: flex; font-size: 1.05rem; width: 100%; } }

/* ==========================================================================
   /jessica/ als één leeslijn (29-9-2026)
   Richtlijn W3C WCAG 1.4.8: regels korter dan 80 tekens (hier ca. 66),
   regelafstand minimaal 1,5, alinea-afstand groter dan de regelafstand,
   links uitgelijnd. Koppen staan boven hun tekst, niet ernaast.
   Ritme: tekst, feiten, wit, tekst, wit, tekst, wit, zwart, tekst, wit.
   ========================================================================== */
.jessica-page .jessica-page-content { --jl-read: min(620px, calc(100vw - 44px)); --jl-block: min(1040px, calc(100vw - 44px)); }
.jessica-page .jessica-page-content > :is(.jessica-opening, .jessica-story, .jessica-character, .jessica-book) { margin-left: auto !important; margin-right: auto !important; }
.jessica-page .jessica-page-content p { line-height: 1.65 !important; }

/* Opening: tekst en daarna de foto, in de leeskolom */
.jessica-page .jessica-opening { display: block !important; padding: 96px 0 40px !important; width: var(--jl-read) !important; }
.jessica-page .jessica-opening-copy { max-width: none !important; }
.jessica-page .jessica-opening .jessica-main-portrait { margin: 40px 0 0 !important; max-width: none !important; width: 100% !important; }

/* Verhaal: alle hoofdstukken in één kolom, kop boven de tekst */
.jessica-page .jessica-story { display: block !important; max-width: none !important; padding: 0 !important; width: 100% !important; }
.jessica-page .jessica-story > .jessica-story-chapter,
.jessica-page .jessica-story > .jessica-story-turn { border-top: 0 !important; display: block !important; margin: 88px auto !important; padding: 0 !important; width: var(--jl-read) !important; }
.jessica-page .jessica-story-chapter > h2,
.jessica-page .jessica-story-turn h2 { font-size: var(--t-section) !important; line-height: 1.12 !important; margin: 0 0 26px !important; max-width: 22ch; position: static !important; }
.jessica-page .jessica-story-chapter > p,
.jessica-page .jessica-story-chapter > p:nth-of-type(n) { color: var(--ink) !important; font-family: inherit !important; font-size: var(--t-body) !important; margin: 0 0 14px !important; max-width: none !important; }
.jessica-page .jessica-story-chapter > p:first-of-type { color: var(--black) !important; font-family: var(--serif) !important; font-size: var(--t-item) !important; line-height: 1.4 !important; margin-bottom: 20px !important; }
.jessica-page .jessica-story-turn .jessica-story-photo { margin: 0 0 34px !important; max-width: none !important; position: static !important; width: 100% !important; }
.jessica-page .jessica-story-turn .jessica-story-photo img { aspect-ratio: 3 / 2 !important; object-position: 50% 22% !important; }
.jessica-page .jessica-story-turn > div { max-width: none !important; }

/* Witte vlakken, zelfde recept als /werkwijze/ en de trajectpagina's */
.jessica-page .jessica-page-content .jessica-block-white {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26)) !important;
	border: 1px solid rgba(143, 100, 43, .16) !important;
	border-radius: var(--r-lg) !important;
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8) !important;
	padding: clamp(40px, 6vw, 80px) max(24px, calc((var(--jl-block) - var(--jl-read)) / 2)) !important;
	width: var(--jl-block) !important;
}
.jessica-page .jessica-story > .jessica-block-white { margin: 72px auto !important; }

/* Zo werk ik: tekst, daarna foto en citaat naast elkaar */
.jessica-page .jessica-character { display: block !important; margin: 88px auto !important; padding: 0 !important; width: var(--jl-read) !important; }
.jessica-page .jessica-character-copy { max-width: none !important; }
.jessica-page .jessica-character-copy h2 { font-size: var(--t-section) !important; margin: 0 0 26px !important; }
.jessica-page .jessica-character-copy p { margin: 0 0 14px !important; }
.jessica-page .jessica-character-aside { align-items: center; display: grid !important; gap: 28px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 40px 0 0 !important; max-width: none !important; position: static !important; }
.jessica-page .jessica-character-aside blockquote { margin: 0 !important; }

/* Boek: wit vlak, omslag klein links */
.jessica-page .jessica-book { align-items: start; color: var(--ink) !important; display: grid !important; gap: clamp(28px, 4vw, 48px) !important; grid-template-columns: 180px minmax(0, 1fr) !important; margin: 88px auto !important; }
.jessica-page .jessica-book::before, .jessica-page .jessica-book::after { content: none !important; }
.jessica-page .jessica-book h2 { color: var(--black) !important; margin: 0 0 22px !important; }
.jessica-page .jessica-book-cover { aspect-ratio: 2 / 3; min-height: 0 !important; width: 180px !important; }

@media (max-width: 700px) {
	.jessica-page .jessica-character-aside, .jessica-page .jessica-book { grid-template-columns: 1fr !important; }
	.jessica-page .jessica-book-cover { width: 140px !important; }
	.jessica-page .jessica-page-content .jessica-block-white { padding: 36px 22px !important; width: calc(100vw - 24px) !important; }
	.jessica-page .jessica-opening { padding-top: 64px !important; }
}
.jessica-page .jessica-turn-beat p { margin: 0 0 12px !important; }
.jessica-page .jessica-turn-beat p:last-child { margin-bottom: 0 !important; }
.jessica-page .jessica-story-chapter > p.jessica-story-shout { color: var(--black) !important; font-family: var(--serif) !important; font-size: var(--t-section) !important; line-height: 1.12 !important; margin-top: 34px !important; }
.jessica-page .jessica-story-chapter > p.jessica-story-shout span { color: var(--gold-deep); display: block; }
.jessica-page .jessica-character-copy h2 { max-width: 22ch !important; width: auto !important; }
.jessica-page .jessica-book-copy p { margin: 0 0 12px !important; }
/* Zwart blok "Ik ken de buitenwereld én de binnenkant": fotokader rechtsboven, licht schuin */
.jessica-page .jessica-approach > header { align-items: start; display: grid; gap: clamp(28px, 5vw, 64px); grid-template-columns: minmax(0, 1fr) clamp(200px, 24vw, 290px); max-width: none; }
.jessica-page .jessica-approach > header h2 { align-self: center; margin-top: 0; }
.jessica-page .jessica-approach-photo { border: 1px solid rgba(214, 176, 112, .45); border-radius: var(--r-md); box-shadow: 0 28px 60px rgba(0, 0, 0, .45); margin: clamp(-40px, -3vw, -20px) 0 0; overflow: hidden; transform: rotate(3deg); }
.jessica-page .jessica-approach-photo img { aspect-ratio: 4 / 5; display: block; height: auto; object-fit: cover; object-position: 40% 20%; width: 100%; }
.jessica-page .jessica-approach-grid { margin-top: clamp(36px, 5vw, 56px); }
@media (max-width: 700px) {
	.jessica-page .jessica-approach > header { grid-template-columns: 1fr; }
	.jessica-page .jessica-approach-photo { justify-self: end; margin: 0; transform: rotate(2deg); width: 72%; }
}
@media (prefers-reduced-motion: no-preference) { .jessica-page .jessica-approach-photo { transition: transform .5s var(--ease-out-quart, ease-out); } .jessica-page .jessica-approach-photo:hover { transform: rotate(1deg); } }
/* Het fotokader als pasfoto met wit kader, vastgezet met een paperclip */
.jessica-page .jessica-approach-photo { background: #f7f3ec; border: 0; border-radius: 3px; box-shadow: 0 2px 3px rgba(0,0,0,.25), 0 26px 50px rgba(0,0,0,.5); overflow: visible; padding: 12px 12px 14px; position: relative; }
.jessica-page .jessica-approach-photo img { border-radius: 1px; }
.jessica-page .jessica-paperclip { filter: drop-shadow(1px 3px 2px rgba(0,0,0,.45)); height: 96px; left: 34px; position: absolute; top: -30px; transform: rotate(-6deg); width: 32px; z-index: 2; }
@media (max-width: 700px) { .jessica-page .jessica-paperclip { height: 78px; left: 26px; top: -24px; width: 26px; } }

/* ==========================================================================
   E-book bestellen op /boek/ en de bedankpagina (29-9-2026)
   Wit vlak met links de uitleg en prijs, rechts het formulier.
   ========================================================================== */
.book-order {
	align-items: start;
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	display: grid;
	gap: clamp(32px, 6vw, 80px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 96px auto;
	padding: clamp(36px, 6vw, 72px);
	scroll-margin-top: 110px;
	width: min(1100px, calc(100vw - 44px));
}
.book-order h2 { font-family: var(--serif); font-size: var(--t-section); font-weight: 500; line-height: 1.1; margin: 0 0 22px; }
.book-order-copy p { font-size: var(--t-body); line-height: 1.65; margin: 0 0 14px; max-width: 46ch; }
.book-order-price { align-items: baseline; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px !important; }
.book-order-price strong { color: var(--black); font-family: var(--serif); font-size: clamp(40px, 5vw, 56px); font-weight: 500; line-height: 1; white-space: nowrap; }
.book-order-price span { color: var(--ink-soft); font-size: var(--t-small); }
.book-order-form { display: grid; gap: 8px; }
.book-order-form label { color: var(--black); font-size: var(--t-small); font-weight: 700; margin-top: 8px; }
.book-order-form input[type="text"], .book-order-form input[type="email"] { background: #fff; border: 1px solid rgba(17,17,17,.2); border-radius: 12px; font: inherit; font-size: var(--t-body); min-height: 54px; padding: 0 16px; width: 100%; }
.book-order-form input[type="text"]:focus-visible, .book-order-form input[type="email"]:focus-visible { border-color: var(--gold-deep); outline: 2px solid rgba(185, 134, 61, .35); outline-offset: 2px; }
.book-order-form .book-order-consent { align-items: start; display: grid; font-weight: 400; gap: 12px; grid-template-columns: 22px minmax(0, 1fr); line-height: 1.5; margin-top: 14px; }
.book-order-consent input { accent-color: var(--gold-deep); height: 20px; margin: 2px 0 0; width: 20px; }
.book-order-form .button { font-size: 1.1rem; margin-top: 14px; min-height: 66px; padding: 0 38px; width: 100%; }
.book-order-note { color: var(--ink-soft); font-size: var(--t-small); margin: 8px 0 0; }
.book-order-note a { color: inherit; }
.book-order-hp { height: 1px; left: -9999px; overflow: hidden; position: absolute; width: 1px; }
.book-order-error { background: rgba(160, 50, 40, .08); border: 1px solid rgba(160, 50, 40, .3); border-radius: 12px; color: #7a2a20; margin: 0 0 6px; padding: 12px 16px; }
.book-order-demo { background: rgba(185, 134, 61, .12); border-radius: 12px; font-size: var(--t-small); margin: 0 0 6px; padding: 10px 14px; }
.book-order-soon { align-self: center; color: var(--black); font-family: var(--serif); font-size: var(--t-item); }
@media (max-width: 800px) {
	.book-order { grid-template-columns: 1fr; width: calc(100vw - 24px); }
}

.ebook-thanks-hero .page-hero-inner { max-width: 760px; }
.ebook-thanks-panel { margin: 64px auto 110px; width: min(620px, calc(100vw - 44px)); }
.ebook-thanks-panel p { font-size: var(--t-body); line-height: 1.65; margin: 18px 0 0; }
.ebook-thanks-panel .button { font-size: 1.1rem; min-height: 66px; padding: 0 38px; }
.ebook-thanks-meta { color: var(--ink-soft); font-size: var(--t-small) !important; }
.ebook-thanks-meta a { color: var(--gold-deep); }
.ebook-thanks-close { color: var(--black); font-family: var(--serif); font-size: var(--t-item) !important; font-style: italic; margin-top: 30px !important; }
/* Factuurgegevens in het bestelformulier */
.book-order-intro { color: var(--ink-soft); font-size: var(--t-small); margin: 0 0 4px; }
.book-order-fields { display: grid; gap: 4px 14px; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.book-order-field { display: grid; gap: 6px; grid-column: 1 / -1; margin: 6px 0 0; }
.book-order-field--initials, .book-order-field--postcode { grid-column: 1; }
.book-order-field--firstname, .book-order-field--city { grid-column: 2; }
.book-order-field label { color: var(--black); font-size: var(--t-small); font-weight: 700; margin: 0; }
.book-order-field label span { color: var(--ink-soft); font-weight: 400; }
.book-order-field input { background: #fff; border: 1px solid rgba(17,17,17,.2); border-radius: 12px; font: inherit; font-size: var(--t-body); min-height: 54px; padding: 0 16px; width: 100%; }
.book-order-field input:focus-visible { border-color: var(--gold-deep); outline: 2px solid rgba(185, 134, 61, .35); outline-offset: 2px; }
.book-order-company { border-top: 1px solid rgba(143, 100, 43, .2); margin-top: 16px; padding-top: 14px; }
.book-order-company summary { color: var(--gold-deep); cursor: pointer; font-size: var(--t-small); font-weight: 700; min-height: 44px; display: flex; align-items: center; }
@media (max-width: 420px) {
	.book-order-fields { grid-template-columns: minmax(0, 1fr); }
	.book-order-field--initials, .book-order-field--postcode, .book-order-field--firstname, .book-order-field--city { grid-column: 1; }
}
.book-order-reverse { color: var(--ink-soft); font-size: var(--t-small); grid-column: 1 / -1; line-height: 1.5; margin: 8px 0 0; }

/* Het echte boek (29-9): hero van /boek/, bestelblok en /jessica/ */
.book-cover-stage { margin: 0; }
.book-cover-image { display: block; filter: drop-shadow(0 30px 40px rgba(0,0,0,.45)); height: auto; max-width: 100%; position: relative; width: min(380px, 62vw); z-index: 1; }
.book-order-cover { display: block; filter: drop-shadow(0 16px 22px rgba(39,29,18,.22)); height: auto; margin: 0 0 26px; width: 150px; }
.jessica-page .jessica-book-cover-image { align-self: start; margin: 0; width: 180px; }
.jessica-page .jessica-book-cover-image img { display: block; filter: drop-shadow(0 18px 24px rgba(39,29,18,.25)); height: auto; width: 100%; }
@media (max-width: 700px) { .jessica-page .jessica-book-cover-image { width: 140px; } .book-order-cover { width: 120px; } }

/* /boek/ "Persoonlijk én groter dan één leven": twee rijen van twee, groot cijfer links (29-9) */
.book-page .book-themes .book-theme-grid { border-top: 0 !important; column-gap: clamp(40px, 6vw, 88px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: clamp(40px, 5vw, 60px); row-gap: 0; }
.book-page .book-themes .book-theme-grid > article { align-items: start; border: 0 !important; border-top: 1px solid rgba(213, 180, 119, .3) !important; column-gap: clamp(20px, 2.4vw, 32px); display: grid; grid-template-columns: auto minmax(0, 1fr); padding: clamp(28px, 3vw, 38px) 0 !important; }
.book-page .book-themes .book-theme-grid > article span { color: var(--gold); font-family: var(--serif); font-size: clamp(44px, 4.6vw, 64px); font-weight: 400; grid-row: 1 / span 2; letter-spacing: -.02em; line-height: .9; min-width: 1.6em; opacity: .9; }
.book-page .book-themes .book-theme-grid > article h3 { font-size: var(--t-item) !important; line-height: 1.2; margin: 4px 0 12px !important; }
.book-page .book-themes .book-theme-grid > article p { color: var(--on-dark); font-size: var(--t-body); line-height: 1.65; margin: 0; max-width: 42ch; }
@media (max-width: 800px) {
	.book-page .book-themes .book-theme-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
	.book-page .book-themes .book-theme-grid > article span { font-size: 40px; min-width: 1.4em; }
}
.book-page .book-themes .book-theme-grid > article > span { grid-column: 1; grid-row: 1 / span 2; }
.book-page .book-themes .book-theme-grid > article > h3,
.book-page .book-themes .book-theme-grid > article > p { grid-column: 2; }
.book-page .book-themes .book-theme-grid > article > br { display: none; }
.book-page .book-themes .book-theme-grid > article > p:empty { display: none; }
.book-page .book-themes .book-section-heading h2 { max-width: 26ch; text-wrap: balance; }

/* ==========================================================================
   Losse tekstlinks worden knoppen, sitebreed (29-9-2026)
   Staat de link alleen: gouden knop. Staat hij naast een hoofdknop: omlijnde knop,
   zodat de hoofdactie herkenbaar blijft.
   ========================================================================== */
main :is(.text-link, .book-text-link, .spain-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button)) {
	align-items: center !important;
	background: var(--gold) !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--black) !important;
	display: inline-flex !important;
	font-family: inherit !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	gap: .4em;
	justify-content: center;
	letter-spacing: .01em !important;
	line-height: 1.2 !important;
	min-height: 66px;
	padding: 0 38px !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: none !important;
	transition: background .2s ease, transform .2s ease, color .2s ease;
	width: auto;
}
main :is(.text-link, .book-text-link, .spain-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button))::before,
main :is(.text-link, .book-text-link, .spain-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button))::after { content: none !important; }
main :is(.text-link, .book-text-link, .spain-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button)):is(:hover, :focus-visible) { background: var(--gold-light) !important; transform: translateY(-2px); }

/* Naast een hoofdknop: omlijnd. Op donker goud, op licht zwart. */
main:not(#jl-knop) :is(.offer-conversation-actions .text-link, .workshop-hero-actions .text-link, .spain-hero-actions .spain-text-link, .lead-thank-you-actions .text-link) {
	background: transparent !important;
	border: 1.5px solid var(--gold) !important;
	color: var(--gold-light) !important;
}
main:not(#jl-knop) :is(.offer-conversation-actions .text-link, .workshop-hero-actions .text-link, .spain-hero-actions .spain-text-link, .lead-thank-you-actions .text-link):is(:hover, :focus-visible) { background: rgba(185, 134, 61, .16) !important; }
main .spain-closing-actions a:not(.button) {
	align-items: center; background: transparent; border: 1.5px solid var(--black) !important; border-radius: 999px; color: var(--black) !important;
	display: inline-flex; font-size: 1.1rem !important; font-weight: 700; justify-content: center; min-height: 66px; padding: 0 38px; text-decoration: none !important;
}
main .spain-closing-actions a:not(.button)::after { content: none !important; }
main .spain-closing-actions a:not(.button):is(:hover, :focus-visible) { background: rgba(17, 17, 17, .08); }

/* Op gouden kaarten een zwarte knop, zodat hij niet wegvalt */
main:not(#jl-knop) .offer-card.brushed-gold > a:not(.button) { background: var(--black) !important; color: var(--gold-light) !important; }
main:not(#jl-knop) .offer-card.brushed-gold > a:not(.button):is(:hover, :focus-visible) { background: #2a241c !important; }

/* Ruimte boven de knop als hij onder tekst staat */
main :is(.text-link, .book-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button)) { margin-top: 22px; }
main .offer-card > a:not(.button), main .insight-card-copy > a:not(.button) { align-self: flex-start; }
/* Naast een andere knop geen extra ruimte erboven, anders staan ze niet op één lijn. */
main:not(#jl-knop) :is(.button + .text-link, .text-link + .button, .button + .book-text-link, .button + .spain-text-link) { margin-top: 0; }

@media (max-width: 640px) {
	main :is(.text-link, .book-text-link, .spain-text-link, .offer-card > a:not(.button), .insight-card-copy > a:not(.button)), main .spain-closing-actions a:not(.button) { font-size: 1.05rem !important; padding: 0 26px !important; }
}
/* Alle knoppen in de inhoud dezelfde grote maat (de knop in de menubalk blijft klein) */
main .button:not(.button-small) { font-size: 1.1rem; letter-spacing: .01em; min-height: 66px; padding-left: 38px; padding-right: 38px; }
@media (max-width: 640px) { main .button:not(.button-small) { font-size: 1.05rem; padding-left: 26px; padding-right: 26px; } }
.offer-path-grid .offer-path-card .button { min-height: 66px; }
@media (max-width: 640px) {
	main .offer-conversation .button { max-width: 100%; white-space: normal; }
	main .offer-conversation-actions, main .offer-conversation > .button { justify-self: stretch; }
}
@media (max-width: 640px) {
	main .offer-conversation:is(.brushed-gold, .aged-black) .button { max-width: 100%; white-space: normal; }
}
@media (max-width: 400px) { main .button:not(.button-small) { max-width: 100%; text-align: center; white-space: normal; } }

/* ==========================================================================
   Cookiemelding (29-9-2026): zwevende papieren kaart linksonder, geen pop-up.
   Weigeren is even groot als toestaan.
   ========================================================================== */
.consent-card {
	background: linear-gradient(145deg, #fffdfa, #f5f1ea);
	border: 1px solid rgba(143, 100, 43, .2);
	border-radius: var(--r-md);
	bottom: 22px;
	box-shadow: 0 24px 60px rgba(39, 29, 18, .18), inset 0 1px 0 rgba(255,255,255,.9);
	color: var(--ink);
	left: 22px;
	max-width: 420px;
	opacity: 0;
	padding: 26px 26px 20px;
	position: fixed;
	transform: translateY(12px);
	transition: opacity .25s var(--ease-out-quart), transform .25s var(--ease-out-quart);
	z-index: 1000;
}
.consent-card.is-open { opacity: 1; transform: none; }
.consent-card p { font-size: var(--t-small); line-height: 1.55; margin: 0 0 16px; }
.consent-card .consent-card-title { color: var(--black); font-family: var(--serif); font-size: var(--t-item); line-height: 1.25; margin-bottom: 10px; }
.consent-card-actions { display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.consent-card .button { cursor: pointer; font-size: var(--t-small); min-height: 48px; padding: 0 16px; width: 100%; }
.consent-card .consent-no { background: transparent; border: 1.5px solid var(--black); color: var(--black); }
.consent-card .consent-no:is(:hover, :focus-visible) { background: rgba(17, 17, 17, .06); }
.consent-card-more { color: var(--gold-deep); display: inline-block; font-size: var(--t-meta); margin-top: 14px; }
@media (max-width: 640px) {
	.consent-card { bottom: 12px; left: 12px; max-width: none; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.consent-card { transform: none; transition: none; }
}

/* /roofbouw-reset/: verwijzing naar het artikel over roofbouw op jezelf (29-9) */
.offer-page--reset .reset-read {
	background: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	border: 1px solid rgba(143, 100, 43, .16);
	border-radius: var(--r-lg);
	box-shadow: 0 24px 56px rgba(39, 29, 18, .08), inset 0 1px 0 rgba(255,255,255,.8);
	margin: 72px auto;
	padding: clamp(36px, 5vw, 64px) clamp(24px, 6vw, 80px);
	width: min(1040px, calc(100vw - 44px));
}
.offer-page--reset .reset-read-inner { margin: 0 auto; max-width: 720px; }
.offer-page--reset .reset-read-kicker { color: var(--gold-deep); font-size: var(--t-small); font-weight: 700; margin-bottom: 12px; }
.offer-page--reset .reset-read h2 { font-size: var(--t-section); line-height: 1.12; margin-bottom: 26px; text-wrap: balance; }

@media (max-width: 640px) { .offer-page--reset .reset-read { width: calc(100vw - 24px); } }

/* Knoppen in de tekst van een artikel: leesbaar en even breed (29-9) */
main .article-essay-body a.button,
main .article-essay-body a.button:visited { background: var(--gold); border: 0; box-shadow: none; color: var(--black) !important; text-decoration: none !important; }
main .article-essay-body a.button:is(:hover, :focus-visible) { background: var(--gold-light); color: var(--black) !important; }
main .article-essay-body a.button { display: flex; justify-content: center; max-width: 100%; width: 380px; }
main .article-essay-body p:has(> a.button:only-child) { margin: 28px 0; }

/* Spamval (inc/spam.php): onzichtbaar voor mensen en schermlezers. */
.jl-hp { height: 0; left: -9999px; margin: 0; overflow: hidden; position: absolute; width: 1px; }

/* Aanmeldformulier weggevers op de telefoon (30-9-2026): de witte kaart kreeg geen
   binnenruimte, waardoor labels en velden tegen de rand stonden. Donker kader iets
   smaller, kaart met ruimte, uitleg op leesbare maat en reCAPTCHA passend op 320px. */
@media (max-width: 980px) {
	.lead-magnet-request,
	.lead-magnet-entry--authentiek-leiderschap .lead-magnet-request,
	.lead-magnet-entry--burn-out-voorkomen .lead-magnet-request,
	.lead-magnet-entry--emoties .lead-magnet-request,
	.lead-magnet-entry--leiderschapsvaardigheden .lead-magnet-request,
	.lead-magnet-entry--perfectionisme .lead-magnet-request { padding: 36px 14px 14px; }
	.lead-magnet-request-copy { padding-inline: 8px; }
	.lead-magnet-request { grid-template-columns: minmax(0, 1fr); }
	.lead-magnet-request-form { padding: 26px 20px 24px; }
	.lead-magnet-form-intro { font-size: var(--t-small); margin-bottom: 20px; }
}
@media (max-width: 380px) {
	.lead-magnet-request-form { padding-inline: 14px; }
	.lead-magnet-native-captcha .g-recaptcha { height: 68px; transform: scale(.86); transform-origin: 0 0; width: 262px; }
}

/* Kop op 320px (iPhone SE): naam en menuknop pasten niet naast elkaar. Onder 360px alleen
   het icoon; het woord Menu blijft voor schermlezers. */
@media (max-width: 360px) {
	.site-header { grid-template-columns: minmax(0, 1fr) auto; }
	.menu-toggle { padding: 0 12px; }
	.menu-toggle-label { clip: rect(0 0 0 0); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
}

/* Pijl in een knop: een flexknop slikt de spatie ervoor in. Overal dezelfde tussenruimte. */
main:not(#jl-knop) :is(.button, .text-link):has(> i[aria-hidden="true"]) { column-gap: .45em; }
main :is(.button, .text-link) > i[aria-hidden="true"] { font-style: normal; margin-left: 0; }
