/* Wunschklarheit — Editorial production candidate. Self-contained, no tracking or external font calls. */
:root {
  color-scheme: light;
  --paper: #f7f4ee;
  --paper-2: #eeeae2;
  --white: #fffefa;
  --ink: #27332f;
  --forest: #25443e;
  --forest-dark: #203730;
  --forest-light: #31544c;
  --muted: #66736a;
  --line: #dcded4;
  --sage: #afbdaf;
  --sage-wash: #dee6db;
  --clay: #ac8d7a;
  --clay-wash: #e1cbc0;
  --warm-wash: #e8ddd4;
  --serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", "Bitstream Charter", Georgia, serif;
  --sans: "Manrope", "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --easing: cubic-bezier(.22, .72, .18, 1);
  --shadow: 0 20px 70px rgb(40 56 46 / .08);
  --max: 1144px;
  --wide: 1400px;
  --header-height: 88px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
button, a, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
::selection { background: #d0d9c9; color: var(--forest-dark); }
:focus-visible { outline: 3px solid #aa7559; outline-offset: 4px; }
.container { width: min(calc(100% - 96px), var(--max)); margin-inline: auto; }
.container-wide { width: min(calc(100% - 96px), var(--wide)); margin-inline: auto; }
.section-pad { padding-block: clamp(96px, 10vw, 154px); }
section[id] { scroll-margin-top: calc(var(--header-height) + 18px); }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 12px; transform: translateY(-180%); padding: 13px 20px; background: var(--forest); color: white; border-radius: 4px; transition: transform .25s var(--easing); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 110; min-height: var(--header-height); background: rgb(247 244 238 / .95); isolation: isolate; transition: background .38s ease, box-shadow .38s ease; }
@supports (backdrop-filter: blur(10px)) { .site-header { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); } }
.site-header.is-scrolled { box-shadow: 0 8px 28px rgb(37 68 62 / .065); background: rgb(250 248 244 / .97); }
.site-header__inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.wordmark { display: inline-flex; align-items: center; flex-shrink: 0; gap: 12px; line-height: 1; color: var(--forest-dark); }
.wordmark__symbol { display: inline-flex; align-items: center; justify-content: center; position: relative; width: 36px; height: 36px; border: 1.4px solid currentColor; border-radius: 50% 50% 49% 18%; transform: rotate(-14deg); }
.wordmark__symbol span { width: 10px; height: 10px; background: var(--clay); border-radius: 50%; }
.wordmark__name { font: 600 25px/.9 var(--serif); letter-spacing: -.07em; }
.wordmark__name > span:first-child { font-weight: 400; }
.wordmark__period { font-family: var(--sans); font-size: 24px; color: #ad8b75; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(17px, 2vw, 34px); margin-left: auto; }
.main-nav > a { color: #3e4d45; font-size: 12px; font-weight: 600; position: relative; white-space: nowrap; padding: 14px 0; transition: color .22s ease; }
.main-nav > a::after { content: ""; position: absolute; left: 0; bottom: 8px; width: 100%; height: 1px; background: var(--forest); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--easing); }
.main-nav > a:hover, .main-nav > a.is-active { color: var(--forest); }
.main-nav > a:hover::after, .main-nav > a.is-active::after { transform: scaleX(1); transform-origin: left; }
.site-header__actions { display: flex; align-items: center; gap: 17px; }
.scroll-progress { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; pointer-events: none; }
.scroll-progress > div { height: 100%; width: 100%; background: #ad8b75; transform: scaleX(0); transform-origin: left; will-change: transform; }
.menu-toggle { display: none; padding: 12px; width: 45px; height: 44px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; border: 1px solid #c3cdc4; border-radius: 50%; background: transparent; color: var(--forest); }
.menu-toggle span { height: 1.5px; width: 18px; background: currentColor; display: block; transition: transform .3s var(--easing); }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }

/* Buttons and shared typographic details */
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 59px; padding: 0 26px; white-space: normal; font: 680 12px/1.45 var(--sans); letter-spacing: .01em; border: 1px solid transparent; border-radius: 2px; transition: transform .32s var(--easing), background .28s ease, color .28s ease, box-shadow .32s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 22px rgb(0 0 0 / .09); }
.button:active { transform: translateY(-1px); }
.button--dark { color: var(--white); background: var(--forest); }
.button--dark:hover { background: #17342c; }
.button--light { color: var(--forest); background: #f6f2e9; }
.button--light:hover { background: #ffffff; }
.button--small { min-height: 42px; padding-inline: 16px; gap: 9px; font-size: 11px; }
.button__arrow { font-size: 16px; transition: transform .3s var(--easing); }
.button:hover .button__arrow { transform: translate(2px, -2px); }
.text-link { display: inline-flex; align-items: center; gap: 14px; font-size: 12px; font-weight: 650; line-height: 1.65; border-bottom: 1px solid currentColor; padding-bottom: 4px; transition: color .2s ease, gap .3s var(--easing); }
.text-link:hover { gap: 20px; color: var(--forest); }
.text-link--dark { color: var(--forest); }
.eyebrow { display: inline-flex; align-items: center; gap: 14px; font: 710 10px/1.5 var(--sans); letter-spacing: .17em; color: var(--forest); text-transform: uppercase; }
.eyebrow--muted { color: #546859; }
.eyebrow--light { color: #ced9ce; }
.eyebrow__line { width: 27px; height: 1px; background: var(--clay); }
.eyebrow__dot { font-weight: 700; color: var(--clay); }
.eyebrow__number { font-weight: 780; color: #846344; }
h1,h2,h3,p,blockquote { margin-top: 0; }
h1,h2,h3 { font-family: var(--serif); font-weight: 400; }
h1 em, h2 em, blockquote em { font-weight: 400; }
h2 { font-size: clamp(47px, 5vw, 75px); line-height: 1.08; letter-spacing: -.047em; }
p { line-height: 1.75; }

/* Hero */
.hero { min-height: min(820px, calc(100svh - 65px)); display: grid; position: relative; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(22px, 5vw, 85px); padding-top: 38px; padding-bottom: 100px; }
.hero__copy { position: relative; z-index: 2; padding-block: 52px 24px; }
.hero__title { margin: 35px 0 32px; font-size: clamp(58px, 5.9vw, 96px); line-height: .995; letter-spacing: -.068em; max-width: 760px; }
.hero__title em { color: var(--forest); }
.serif-underline { text-decoration: underline; text-decoration-color: #b99e89; text-decoration-thickness: 2px; text-underline-offset: .145em; }
.hero__lead { color: #53645a; max-width: 545px; font-size: clamp(16px, 1.28vw, 19px); line-height: 1.76; letter-spacing: -.012em; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px 25px; padding-top: 15px; }
.hero__foot { margin-top: 64px; display: flex; align-items: center; gap: 15px; color: #546657; font-size: 11px; letter-spacing: .035em; }
.hero__foot-line { width: 35px; height: 1px; background: var(--clay); }
.hero__visual { position: relative; width: 100%; min-width: 0; max-width: 533px; justify-self: end; align-self: stretch; display: flex; align-items: center; padding-block: 25px; }
.portrait-frame { position: relative; z-index: 2; width: 100%; height: min(590px, 72vh); min-height: 425px; overflow: hidden; border-radius: 48% 48% 5px 5px / 31% 31% 5px 5px; background: linear-gradient(145deg, #dbddcf, #c6ccba 52%, #a3b09f); box-shadow: 20px 23px 50px rgb(43 59 43 / .12); transform: translateY(3px); }
.portrait-frame::after { position: absolute; content: ""; pointer-events: none; inset: 0; border: 1px solid rgb(255 255 255 / .3); border-radius: inherit; z-index: 4; }
.portrait-frame__image:not([hidden]) { position: absolute; z-index: 2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: saturate(.82) contrast(.99); transition: transform 1.2s var(--easing), filter .6s ease; }
.hero__visual:hover .portrait-frame__image:not([hidden]) { transform: scale(1.035); filter: saturate(.91); }
.portrait-fallback { position: absolute; display: flex; inset: 0; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(ellipse at 72% 20%, #ede7dc 2%, transparent 55%), linear-gradient(155deg, #bcc9b9, #e1d6c9 69%, #c8c2ae); overflow: hidden; }
.portrait-fallback__circle { position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgb(37 68 62 / .32); top: 14%; left: 9%; }
.portrait-fallback__initials { z-index: 1; font: italic 220px/1 var(--serif); letter-spacing: -.14em; transform: translateX(-.07em); color: rgb(37 68 62 / .42); }
.portrait-fallback__caption { z-index: 1; position: absolute; bottom: 18%; color: #315349; font: italic 27px/1.2 var(--serif); }
.hero__decor { position: absolute; pointer-events: none; }
.hero__decor--one { height: 230px; width: 230px; border: 1px solid #bbbda9; border-radius: 50%; left: -65px; top: 9%; }
/* Keep the decorative circle within the desktop/tablet page gutter. */
.hero__decor--two { height: 250px; width: 250px; background: #ece6db; border-radius: 50%; right: -24px; bottom: 0; }
.hero__seal { position: absolute; z-index: 3; right: -29px; bottom: 108px; width: 119px; height: 119px; background: #d8c3b6; color: #344b40; border: 1px solid rgb(52 75 64 / .13); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; font: italic 15px/1.1 var(--serif); transform: rotate(10deg); box-shadow: 0 12px 27px rgb(42 50 45 / .07); }
.hero__seal strong { font-weight: 600; }
.hero__seal span { margin-top: 5px; font: 18px/1 var(--sans); }
.hero__caption { position: absolute; right: 0; bottom: -8px; left: 8px; font: italic 15px/1.35 var(--serif); color: #596c60; display: flex; justify-content: space-between; }
.hero__caption span { font: 600 10px/1.2 var(--sans); letter-spacing: .14em; color: #53685d; }
.hero__scroll-cue { position: absolute; bottom: 23px; left: 0; display: flex; align-items: center; gap: 14px; color: #53685b; font: 700 9px/1.3 var(--sans); letter-spacing: .18em; }
.scroll-arrow { width: 29px; height: 29px; display: flex; justify-content: center; align-items: center; border: 1px solid #bcc8ba; border-radius: 50%; font-size: 16px; font-weight: 400; }

/* Recognition / audience moments */
.recognition { background: var(--white); }
.section-heading__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; margin-top: 42px; }
.section-heading h2 { margin: 0; }
.section-heading h2 em { color: var(--forest); }
.section-heading__aside { max-width: 365px; padding: 0 0 13px; color: #59695e; font-size: 16px; line-height: 1.7; }
.section-heading__aside p { margin-bottom: 18px; }
.section-heading__aside p:last-child { margin-bottom: 0; }
.recognition__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 68px; }
.thought-card { background: #f5f3ec; min-height: 248px; padding: 29px 34px 27px; display: flex; flex-direction: column; transition: background .35s ease, transform .42s var(--easing), box-shadow .35s ease; }
.thought-card:hover { background: #eeeee5; transform: translateY(-5px); box-shadow: var(--shadow); }
.thought-card__index { font: 710 10px/1.1 var(--sans); color: #53685b; }
.thought-card p { margin: 38px 0 30px; font: 400 clamp(22px, 2vw, 27px)/1.3 var(--serif); letter-spacing: -.028em; }
.thought-card p em { color: var(--forest); }
.thought-card__rule { margin-top: auto; width: 30px; height: 1px; background: #a8b6a8; }

/* Forest visual interlude */
.manifesto { position: relative; overflow: hidden; background: var(--forest-dark); color: #f5f1e7; isolation: isolate; }
.manifesto__inner { padding-block: clamp(110px, 13vw, 188px) 130px; position: relative; z-index: 2; }
.manifesto h2 { font-size: clamp(52px, 7vw, 103px); line-height: 1.05; margin: 32px 0 30px; color: #f6f3e9; max-width: 900px; letter-spacing: -.049em; }
.manifesto h2 em { color: #c5d3be; }
.manifesto p:not(.eyebrow) { max-width: 480px; color: #d4dbd2; font-size: 16px; line-height: 1.75; }
.manifesto__linework { position: absolute; right: -5%; bottom: -10%; height: 100%; width: 55%; opacity: .2; color: #d1ddcc; pointer-events: none; }
.manifesto__linework svg { width: 100%; height: 100%; }
.manifesto__asterisk { position: absolute; right: 18px; bottom: 85px; color: #8fa99a; font-size: 53px; }

/* Method cards */
.approach { background: var(--paper); }
.approach__heading { display: grid; grid-template-columns: 1.03fr .75fr; gap: 110px; align-items: end; margin-top: 35px; }
.approach__heading h2 { margin: 0; }
.approach__heading h2 em { color: var(--forest); }
.approach__heading p { margin-bottom: 8px; max-width: 395px; font-size: 16px; color: #607166; }
.approach__grid { margin-top: 74px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.approach-card { background: #eeebe4; padding: 30px 32px 40px; min-height: 448px; position: relative; overflow: hidden; transition: transform .5s var(--easing), box-shadow .4s ease; }
.approach-card:nth-child(2) { background: #e5eae1; }
.approach-card:nth-child(3) { background: #e9ded5; }
.approach-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.approach-card__top { display: flex; align-items: center; justify-content: space-between; font: 700 10px var(--sans); color: #526858; }
.mini-star { font-size: 16px; }
.approach-card__art { height: 165px; display: flex; align-items: center; justify-content: center; position: relative; }
.approach-card__art--one span { width: 93px; height: 93px; border: 1.2px solid #91a495; border-radius: 50%; }
.approach-card__art--one i { position: absolute; width: 40px; height: 40px; border-radius: 50%; background: #c5b5a5; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.approach-card__art--two span, .approach-card__art--two i { width: 80px; height: 94px; border: 1.2px solid #759185; border-radius: 60% 30% 65% 35%; transform: rotate(36deg); }
.approach-card__art--two i { position: absolute; transform: rotate(-36deg); }
.approach-card__art--three span, .approach-card__art--three i { position: absolute; width: 100px; height: 1px; background: #9b8d84; transform: rotate(-37deg); }
.approach-card__art--three i { width: 65px; transform: translate(15px, 20px) rotate(-37deg); }
.approach-card h3 { margin: 3px 0 16px; font: 400 35px/1.1 var(--serif); letter-spacing: -.04em; }
.approach-card p { margin-bottom: 0; color: #55645b; font-size: 14px; line-height: 1.8; max-width: 320px; }
.approach__disclaimer { margin: 30px 0 0; max-width: 720px; color: #54695d; font-size: 12px; line-height: 1.65; }

/* Quoted testimony = original Linda text, not client review */
.interlude { background: #e4e7dd; }
.interlude__inner { max-width: 875px; text-align: center; }
.interlude__flower { display: block; margin-bottom: 25px; color: var(--clay); font-size: 26px; }
.interlude blockquote { font: italic 400 clamp(30px, 4.2vw, 55px)/1.3 var(--serif); letter-spacing: -.037em; margin: 0 auto 30px; }
.interlude p { margin-bottom: 0; color: #53685b; font: 650 10px var(--sans); letter-spacing: .08em; }

/* About */
.about { background: #faf8f3; }
.about__grid { display: grid; grid-template-columns: 1fr .96fr; gap: clamp(75px, 10vw, 135px); align-items: center; }
.about__art { padding: 22px 45px 0 3px; }
.about__art-panel { height: 585px; max-width: 490px; background: linear-gradient(140deg, #e8d9cb, #e1d1c6 58%, #c9b4a2); position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; }
.about__art-ring { position: absolute; border: 1.1px solid rgb(99 111 96 / .42); width: 73%; aspect-ratio: 1; border-radius: 50%; left: 14%; top: 19%; }
.about__art-panel::before, .about__art-panel::after { content: ""; position: absolute; border: 1px solid rgb(112 99 87 / .19); border-radius: 50%; width: 400px; height: 400px; left: -230px; bottom: -215px; }
.about__art-panel::after { width: 330px; height: 330px; left: auto; right: -170px; top: -220px; }
.about__art-small { position: absolute; left: 33px; top: 35px; font: 700 10px/1 var(--sans); letter-spacing: .19em; color: #76695d; }
.about__art-type { z-index: 2; font: italic 380px/.9 var(--serif); letter-spacing: -.13em; color: rgb(65 82 67 / .45); transform: translateX(-26px); }
.about__art-script { position: absolute; z-index: 4; right: 22px; bottom: 44px; font: italic 26px/1.2 var(--serif); color: #5c695b; text-align: right; }
.about__art-note { display: block; margin: 16px 0 0; font: italic 14px var(--serif); color: #546859; }
.about__copy { padding-block: 20px; }
.about__copy h2 { margin: 42px 0 29px; }
.about__copy h2 em { color: var(--forest); }
.about__copy p:not(.eyebrow) { color: #59695f; font-size: 15px; line-height: 1.82; margin-bottom: 17px; }
.about__copy .about__intro { color: var(--ink) !important; font-family: var(--serif); font-size: 25px !important; line-height: 1.47 !important; }
.about__copy .text-link { margin-top: 20px; }
.about__signature { margin-top: 44px; display: flex; align-items: baseline; gap: 8px; font: italic 43px/1 var(--serif); color: #6b8570; }
.about__signature span { font: normal 15px/1 var(--sans); color: var(--clay); }

/* Process timeline */
.journey { background: var(--paper-2); }
.journey__intro { text-align: center; }
.journey__intro h2 { margin: 33px auto 0; }
.journey__intro h2 em { color: var(--forest); }
.journey__steps { margin-top: 92px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.journey-step { position: relative; padding: 45px 45px 0 0; border-top: 1px solid #bdc7ba; }
.journey-step:not(:first-child) { padding-left: 25px; }
.journey-step::before { content: ""; position: absolute; left: 0; top: -5px; width: 9px; height: 9px; border-radius: 50%; background: var(--forest); }
.journey-step:not(:first-child)::before { left: 25px; }
.journey-step__index { font: 710 10px/1 var(--sans); color: #846344; }
.journey-step h3 { margin: 19px 0 13px; font: 400 31px/1.15 var(--serif); letter-spacing: -.03em; }
.journey-step p { max-width: 294px; color: #53685b; margin-bottom: 0; font-size: 14px; line-height: 1.8; }

/* FAQ accessible native disclosures */
.faq { background: var(--white); }
.faq__grid { display: grid; grid-template-columns: .72fr 1.1fr; gap: clamp(50px, 8vw, 125px); }
.faq__aside h2 { margin: 38px 0 25px; }
.faq__aside h2 em { color: var(--forest); }
.faq__aside p:not(.eyebrow) { color: #65766a; max-width: 300px; font-size: 15px; }
.faq__questions { border-top: 1px solid #ccd3ca; margin-top: 12px; }
.faq-item { border-bottom: 1px solid #ccd3ca; }
.faq-item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 26px; min-height: 87px; padding: 19px 3px 19px 0; font-size: 15px; font-weight: 650; line-height: 1.5; transition: color .25s ease; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover, .faq-item[open] summary { color: var(--forest); }
.faq-item summary span { display: block; width: 25px; height: 25px; border-radius: 50%; border: 1px solid #aabdaf; position: relative; flex-shrink: 0; transition: transform .35s var(--easing), background .25s ease; }
.faq-item summary span::before,.faq-item summary span::after { content: ""; height: 1px; width: 10px; position: absolute; top: 11px; left: 7px; background: var(--forest); }
.faq-item summary span::after { transform: rotate(90deg); transition: transform .3s ease; }
.faq-item[open] summary span { transform: rotate(180deg); background: #e7eee5; }
.faq-item[open] summary span::after { transform: rotate(0); }
.faq-item__body { padding: 0 49px 25px 0; }
.faq-item__body p { color: #657368; max-width: 570px; font-size: 14px; margin: 0; }
.faq-item[open] .faq-item__body { animation: faq-open .38s var(--easing) both; }
@keyframes faq-open { from { opacity: 0; transform: translateY(-6px) } to { opacity:1; transform: translateY(0) } }

/* Final invitation */
.contact { position: relative; overflow: hidden; isolation: isolate; background: var(--forest-dark); color: #f5f3e8; text-align: center; padding-block: clamp(104px, 11vw, 165px); }
.contact__inner { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; }
.contact h2 { font-size: clamp(53px, 7.2vw, 106px); line-height: 1.06; margin: 35px 0 29px; }
.contact h2 em { color: #c9d7c6; }
.contact p:not(.eyebrow) { max-width: 610px; color: #d0dbcf; font-size: 16px; margin-bottom: 30px; }
.contact .button { margin-top: 2px; }
.contact__email { color: #d4ddd1; margin-top: 31px; font-size: 12px; }
.contact__email a { border-bottom: 1px solid #a8bcac; padding-bottom: 3px; transition: color .2s ease; }
.contact__email a:hover { color: white; }
.contact__privacy { color: #cad8ca; max-width: 440px; margin-top: 25px; font-size: 11px; line-height: 1.5; }
.contact__orbit { position: absolute; width: 690px; height: 690px; border: 1px solid rgb(219 233 218 / .1); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%); pointer-events: none; z-index: 1; }
.contact__orbit::before,.contact__orbit::after { position: absolute; content: ""; inset: 55px; border: 1px solid rgb(219 233 218 / .06); border-radius: 50%; }
.contact__orbit::after { inset: -65px; }
.contact__grain { pointer-events: none; position: absolute; inset: 0; z-index: 0; opacity: .18; background-image: radial-gradient(circle at 22% 33%, #8ba18f 0, transparent 35%), radial-gradient(circle at 90% 80%, #887b68 0, transparent 40%); }

/* Footer */
.footer { background: #edece4; }
.footer__top { min-height: 215px; padding-top: 63px; padding-bottom: 54px; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid #d0d5ca; }
.footer__top p { font-size: 14px; color: #53685b; margin: 0; line-height: 1.6; }
.footer__bottom { min-height: 86px; padding-block: 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #53685b; font-size: 11px; line-height: 1.5; }
.footer__bottom > span:nth-child(2) { max-width: 415px; text-align: center; }
.footer__bottom > a { border-bottom: 1px solid #9ea99d; }
.footer__bottom > a:hover { color: var(--forest); }

[hidden] { display: none !important; }

/* Progressive entrance/reveal motion: content remains visible if JS is blocked */
.site-ready .entrance { animation: slide-into-view .84s var(--easing) both; }
.site-ready .hero__copy .entrance:nth-child(2) { animation-delay: .06s; }
.site-ready .hero__copy .entrance:nth-child(3) { animation-delay: .12s; }
.site-ready .hero__copy .entrance:nth-child(4) { animation-delay: .18s; }
.site-ready .hero__copy .entrance:nth-child(5) { animation-delay: .23s; }
.site-ready .hero__visual.entrance { animation-delay: .17s; animation-duration: 1.05s; }
@keyframes slide-into-view { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.motion-ready [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--easing), transform .85s var(--easing); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.motion-ready .recognition__cards [data-reveal]:nth-child(2), .motion-ready .approach__grid [data-reveal]:nth-child(2), .motion-ready .journey__steps [data-reveal]:nth-child(2) { transition-delay: .07s; }
.motion-ready .recognition__cards [data-reveal]:nth-child(3), .motion-ready .approach__grid [data-reveal]:nth-child(3), .motion-ready .journey__steps [data-reveal]:nth-child(3) { transition-delay: .13s; }

/* Tablet */
@media (max-width: 1200px) {
  .site-header__inner { gap: 18px; }
  .main-nav { gap: 18px; }
  .header-cta { display: none; }
  .hero__title { font-size: clamp(56px, 6.4vw, 82px); }
  .hero { gap: 35px; }
  .portrait-frame { height: min(555px, 67vh); }
  .hero__seal { right: -10px; }
}
@media (max-width: 940px) {
  .container, .container-wide { width: min(calc(100% - 64px), var(--max)); }
  :root { --header-height: 78px; }
  .main-nav { position: absolute; top: var(--header-height); left: 0; right: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; height: calc(100dvh - var(--header-height)); min-height: 380px; padding: 32px max(32px, calc((100vw - 720px)/2)); background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 24px 45px rgb(0 0 0 / .07); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: opacity .26s ease, transform .32s var(--easing), visibility .26s ease; }
  .main-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
  .main-nav > a { font: 400 32px/1.3 var(--serif); letter-spacing: -.035em; border-bottom: 1px solid var(--line); padding-block: 18px; }
  .main-nav > a::after { display: none; }
  .menu-toggle { display: flex; }
  .hero { min-height: 0; grid-template-columns: 1fr .83fr; gap: 18px; padding-block: 56px 95px; }
  .hero__title { font-size: clamp(51px, 6.8vw, 72px); }
  .hero__lead { font-size: 15px; }
  .hero__visual { padding-block: 30px; }
  .portrait-frame { height: min(480px, 58vw); min-height: 350px; }
  .hero__seal { width: 97px; height: 97px; font-size: 13px; bottom: 80px; }
  .hero__foot { margin-top: 45px; }
  .section-heading__grid, .approach__heading { gap: 40px; }
  .approach-card { padding-inline: 21px; }
  .about__grid { gap: 55px; }
  .about__art { padding: 5px 4px; }
  .about__art-panel { height: 475px; }
  .about__art-type { font-size: 300px; }
  .journey-step { padding-right: 17px; }
}
/* Phone */
@media (max-width: 690px) {
  :root { --header-height: 70px; }
  .container, .container-wide { width: calc(100% - 42px); }
  .section-pad { padding-block: 84px; }
  .site-header__inner { gap: 7px; }
  .wordmark { gap: 8px; }
  .wordmark__symbol { width: 28px; height: 28px; }
  .wordmark__symbol span { width: 7px; height: 7px; }
  .wordmark__name { font-size: 21px; }
  .site-header__actions { gap: 7px; }
  .menu-toggle { width: 40px; height: 40px; padding: 8px; }
  .hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; gap: 38px; padding-top: 37px; padding-bottom: 75px; }
  .hero__copy { padding: 20px 0 0; }
  .hero .eyebrow { font-size: 9px; gap: 9px; flex-wrap: wrap; }
  .eyebrow__line { width: 17px; }
  .hero__title { font-size: clamp(49px, 10.1vw, 71px); line-height: 1.015; margin-top: 28px; margin-bottom: 25px; letter-spacing: -.059em; }
  .hero__title br:first-of-type { display: none; }
  .hero__lead { font-size: 16px; line-height: 1.7; }
  .hero__actions { display: flex; align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero__actions .button { width: auto; max-width: 100%; }
  .hero__foot { margin-top: 38px; font-size: 10px; }
  .hero__visual { min-height: 0; padding: 0 13px 20px 0; max-width: 100%; width: 100%; }
  .portrait-frame { height: min(515px, 125vw); min-height: 340px; }
  .hero__decor--one { width: 180px; height: 180px; left: -24px; top: -22px; }
  .hero__decor--two { width: 180px; height: 180px; right: -12px; bottom: 0; }
  .hero__seal { bottom: 81px; right: -6px; }
  .hero__caption { left: 0; bottom: -18px; font-size: 13px; }
  .hero__scroll-cue { display: none; }
  h2 { font-size: clamp(44px, 10vw, 59px); line-height: 1.09; }
  .section-heading__grid, .approach__heading, .about__grid, .faq__grid { grid-template-columns: 1fr; gap: 30px; }
  .section-heading__grid { margin-top: 25px; }
  .section-heading__aside { max-width: 100%; padding: 0; }
  .recognition__cards { grid-template-columns: 1fr; gap: 10px; margin-top: 35px; }
  .thought-card { min-height: 178px; padding: 21px 25px; }
  .thought-card p { margin: 20px 0 15px; font-size: 25px; max-width: 400px; }
  .manifesto__inner { padding-block: 110px 100px; }
  .manifesto h2 { font-size: clamp(49px, 10.6vw, 76px); }
  .manifesto__linework { width: 100%; right: -30%; opacity: .10; }
  .manifesto__asterisk { right: 0; bottom: 26px; }
  .approach__heading { margin-top: 25px; }
  .approach__grid { grid-template-columns: 1fr; gap: 13px; margin-top: 38px; }
  .approach-card { min-height: 0; padding: 21px 28px 34px; }
  .approach-card__art { height: 110px; }
  .approach-card h3 { font-size: 32px; }
  .approach-card p { font-size: 15px; }
  .interlude blockquote { font-size: clamp(30px, 8vw, 48px); }
  .about__art { order: 2; padding: 0; margin-top: 15px; }
  .about__copy { order: 1; }
  .about__copy h2 { margin: 25px 0; }
  .about__art-panel { height: 400px; max-width: none; }
  .about__art-type { font-size: 300px; }
  .journey__steps { grid-template-columns: 1fr; gap: 0; margin-top: 50px; }
  .journey-step, .journey-step:not(:first-child) { padding: 24px 0 25px 46px; border-top: 0; border-left: 1px solid #bac8bc; }
  .journey-step:last-child { border-left-color: transparent; }
  .journey-step::before, .journey-step:not(:first-child)::before { left: -5px; top: 29px; }
  .journey-step h3 { margin-top: 12px; }
  .journey-step p { max-width: 450px; }
  .faq__grid { gap: 32px; }
  .faq__aside h2 { margin: 22px 0; }
  .faq__questions { margin-top: 0; }
  .faq-item summary { font-size: 14px; min-height: 77px; padding-right: 0; }
  .contact { padding-block: 100px; }
  .contact h2 { font-size: clamp(50px, 10.5vw, 78px); }
  .contact__orbit { width: 510px; height: 510px; }
  .contact .button { width: 100%; max-width: 342px; }
  .footer__top, .footer__bottom { flex-direction: column; align-items: flex-start; }
  .footer__top { padding-block: 57px 43px; min-height: 0; gap: 24px; }
  .footer__bottom { gap: 13px; padding-block: 28px; }
  .footer__bottom > span:nth-child(2) { text-align: left; }
}
@media (max-width: 360px) {
  .container, .container-wide { width: calc(100% - 32px); }
  .wordmark__name { font-size: 19px; }
  .wordmark__symbol { width: 25px; height: 25px; }
  :root { --header-height: 93px; }
  .site-header__inner { position: relative; padding-top: 10px; align-items: flex-start; }
  .site-header__actions { margin-left: auto; }
  .hero__title { font-size: 43px; hyphens: auto; overflow-wrap: anywhere; }
  .hero__actions .button { padding-inline: 18px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .motion-ready [data-reveal] { opacity: 1 !important; transform: none !important; }
  .site-ready .entrance { opacity: 1 !important; transform: none !important; }
}

/* Production website shared editorial components. No preview switcher is shipped. */
:root{--header-height:88px}
.site-header__actions{gap:13px}
@media(max-width:360px){
 :root{--header-height:70px}
 .site-header__inner{align-items:center;padding-top:0}
 .site-header__actions{margin-left:auto}
}
.editorial-route{display:inline-flex;align-items:center;gap:11px;margin-top:26px;color:var(--forest-dark);font-weight:650;font-size:14px;border-bottom:1px solid var(--forest-dark);padding:8px 0;transition:gap .3s var(--easing),color .3s ease}
.editorial-route:hover{gap:17px;color:var(--forest-light)}
.editorial-route:focus-visible{outline-offset:5px}
.recognition__closing{padding-top:30px}
.about__qualifications{border-top:1px solid var(--line);padding-top:17px;margin:20px 0}
.about__qualifications strong{font-weight:700}
.hero__caption{max-width:420px}
.editorial-page{min-height:64vh}
.page-hero{padding:clamp(70px,8vw,128px) 0 clamp(58px,7vw,112px);position:relative;overflow:hidden;background:var(--paper)}
.page-hero::after{content:"";position:absolute;width:min(42vw,560px);height:min(42vw,560px);right:-14vw;top:-24vw;border:1px solid #d6d9d0;border-radius:50%;pointer-events:none}
.page-hero .eyebrow{color:var(--forest)}
.page-title{font-family:var(--serif);font-size:clamp(44px,6.7vw,91px);font-weight:400;letter-spacing:-.05em;line-height:1.02;margin:23px 0 30px;max-width:1050px;overflow-wrap:break-word}
.page-title em{font-weight:400;color:var(--forest-light)}
.page-lead{max-width:730px;font-size:clamp(18px,2vw,23px);line-height:1.57;color:#435349}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;font-weight:550;color:#51645a;padding-top:24px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.content-section{padding:clamp(65px,8vw,110px) 0;border-top:1px solid var(--line)}
.content-section--linen{background:var(--paper-2)}
.content-section--forest{background:var(--forest-dark);color:#f7f4ee}
.content-section--forest p{color:#eef0e9}
.content-section__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,6vw,125px);align-items:start}
.content-section h2{font-family:var(--serif);font-size:clamp(35px,4vw,56px);line-height:1.12;letter-spacing:-.04em;font-weight:400;margin:8px 0 22px}
.content-section h3{font-family:var(--serif);font-size:clamp(23px,2.4vw,34px);font-weight:500;line-height:1.22;margin:0 0 14px}
.content-section p,.content-section li{font-size:16px;line-height:1.85;color:#405048}
.content-section--forest li{color:#f3f4f0}
.content-section p+p{margin-top:18px}
.readable{max-width:780px}
.readable h2{margin-top:1.7em}
.readable h3{margin-top:1.5em}
.readable a:not(.button):not(.editorial-route){text-decoration:underline;text-underline-offset:4px}
.readable ul,.readable ol{padding-left:24px}
.content-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px}
.content-step{padding:27px;border-top:1px solid #a9b9ab}
.content-step+.content-step{border-left:1px solid var(--line)}
.content-step__num{font-family:var(--serif);font-size:31px;color:#6f8372;display:block;margin-bottom:16px}
.content-steps h3{font-size:27px}
.content-steps p{font-size:15px;margin-top:0}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.content-card{padding:35px;border:1px solid #d5d9d0;background:#fcfaf6;box-shadow:0 15px 30px rgb(37 68 62 / .025)}
.content-card p{font-size:15px;line-height:1.7}
.inline-quote{font-family:var(--serif);font-size:clamp(28px,3.8vw,48px);line-height:1.28;font-weight:400;color:var(--forest-dark);margin:0}
.inline-quote cite{font:550 13px var(--sans);display:block;margin-top:22px;color:var(--muted)}
.cta-panel{background:var(--forest-dark);color:#fff;padding:clamp(50px,7vw,100px);border-radius:0;position:relative;overflow:hidden}
.cta-panel h2{color:#fff}
.cta-panel p{color:#dfe7df;max-width:680px}
.cta-panel .button{margin-top:25px}
.editorial-faq{max-width:800px;margin-top:30px}
.editorial-faq .faq-item{border-bottom:1px solid #c7d0c7}
.editorial-faq .faq-item summary{padding:25px 20px 25px 0;color:var(--ink)}
.footer__bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.page-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--forest)}
.mini-list{display:grid;gap:12px}
.mini-list li{border-left:2px solid #9aae9f;padding-left:16px;list-style:none}
.legal-copy{max-width:780px}
.legal-copy address{font-style:normal;line-height:1.85}
.legal-copy section{padding:24px 0;border-top:1px solid var(--line)}
.legal-copy section:first-child{border-top:0}
.legal-copy p{overflow-wrap:anywhere}
.contact-link{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.article-sources{font-size:14px;line-height:1.7;border-top:1px solid var(--line);margin-top:50px;padding-top:20px}
.article-sources a{word-break:break-word;text-decoration:underline}
@media(max-width:940px){.content-section__grid{grid-template-columns:1fr;gap:16px}.page-hero::after{opacity:.4}.main-nav>a{font-size:16px}}
@media(max-width:690px){.page-hero{padding-block:62px}.page-title{font-size:clamp(41px,10vw,62px)}.page-lead{font-size:18px}.content-steps,.card-grid{grid-template-columns:1fr}.content-step+.content-step{border-left:0}.content-step{padding-left:0;padding-right:0}.content-card{padding:25px}.cta-panel{padding:45px 27px}.breadcrumbs{padding-top:12px}}

/* Research-backed content modules: readable, restrained, and component-consistent. */
.mini-list{list-style:none;padding:0;margin:22px 0 28px}
.mini-list li{line-height:1.72;margin:0;padding:14px 0 14px 20px;border-left:2px solid #9aae9f}
.mini-list li+li{margin-top:3px}
.detail-note{color:var(--muted);font-size:14px!important;line-height:1.8;max-width:830px;margin-top:26px}
.training-timeline{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.training-timeline li{display:grid;grid-template-columns:minmax(82px,114px) minmax(0,1fr);gap:clamp(14px,3vw,36px);padding:23px 0;border-bottom:1px solid var(--line);align-items:start}
.training-timeline__date{color:var(--forest);font-size:12px;font-weight:750;letter-spacing:.035em;padding-top:7px;line-height:1.4}
.training-timeline h3{font-family:var(--serif);font-size:clamp(21px,2vw,29px);font-weight:500;letter-spacing:-.025em;line-height:1.26;margin:0 0 8px}
.training-timeline p{font-size:15px;line-height:1.64;margin:0;color:#4b5c52}
.personal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;border-top:1px solid var(--line)}
.personal-facts>div{padding:24px 0;border-bottom:1px solid var(--line)}
.personal-facts h3{font-family:var(--serif);font-size:clamp(23px,2vw,29px);letter-spacing:-.025em;margin:0 0 8px;font-weight:500}
.personal-facts p{font-size:15px;line-height:1.72;margin:0;color:#45564c}
.content-section .editorial-route{max-width:100%;white-space:normal}
.editorial-faq .faq-item:target{scroll-margin-top:calc(var(--header-height) + 28px)}
@media (max-width:690px){
  .training-timeline li{grid-template-columns:minmax(0,1fr);gap:6px;padding:20px 0}
  .training-timeline__date{padding-top:0}
  .personal-facts{grid-template-columns:1fr}
  .personal-facts>div{padding:18px 0}
  .mini-list li{font-size:15px}
  .detail-note{font-size:14px!important}
}


/* Optional analytics: calm, accessible, symmetrical opt-in/opt-out. */
.consent-panel[hidden]{display:none!important}
.consent-panel{position:fixed;z-index:10000;bottom:16px;left:16px;right:16px;max-width:680px;margin:0 auto;background:#fffefa;color:var(--ink);border:1px solid #becdc2;box-shadow:0 12px 55px rgb(25 44 35 / .19);padding:clamp(20px,3vw,28px);border-radius:3px}
.consent-panel h2{font:500 clamp(23px,3vw,30px)/1.2 var(--serif);margin:0 0 9px;letter-spacing:-.025em}
.consent-panel p{margin:0;font:400 14px/1.65 var(--sans);max-width:64ch;color:#405048}
.consent-panel a{text-decoration:underline;text-underline-offset:4px}
.consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.consent-actions button{min-height:46px;flex:1 1 190px;padding:10px 18px;font:650 14px/1.2 var(--sans);cursor:pointer;border:2px solid var(--forest);border-radius:2px}
.consent-actions button:first-child{background:transparent;color:var(--forest)}
.consent-actions button:last-child{background:transparent;color:var(--forest)}
.consent-actions button:hover{box-shadow:0 0 0 2px rgb(37 68 62 / .13)}
.cookie-settings-button{appearance:none;background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;font:inherit;cursor:pointer;padding:0 0 2px;text-align:left}
.cookie-settings-button:hover{color:var(--forest-light)}
.cookie-settings-button:focus-visible,.consent-actions button:focus-visible{outline:3px solid #aa7559;outline-offset:4px}
@media(max-width:470px){.consent-panel{left:8px;right:8px;bottom:8px;padding:19px}.consent-actions{gap:10px}.consent-actions button{flex-basis:100%}.consent-panel p{font-size:13px}}
