:root {
  --ink: #17352f;
  --ink-2: #34534b;
  --forest: #173f38;
  --forest-deep: #0e2c28;
  --sage: #b8c9b5;
  --sage-light: #e3eadf;
  --cream: #f6f3ea;
  --paper: #fffdf8;
  --gold: #bd8c46;
  --rust: #a9553d;
  --line: rgba(23, 53, 47, .17);
  --shadow: 0 18px 50px rgba(17, 45, 40, .09);
  --radius: 20px;
  --shell: min(1180px, calc(100% - 40px));
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.65; text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .16em; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; }
h1 { font-size: clamp(3.1rem, 7.6vw, 6.8rem); }
h2 { font-size: clamp(2.1rem, 4.5vw, 4.1rem); }
h3 { line-height: 1.2; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute; white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; transform: translateY(-200%); padding: .75rem 1rem; color: white; background: var(--forest-deep); border-radius: 6px; }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid #e9ac55; outline-offset: 3px; }
.site-header { position: relative; z-index: 20; background: rgba(255,253,248,.96); border-bottom: 1px solid var(--line); }
.nav-wrap { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand span:last-child { display: flex; flex-direction: column; line-height: 1.05; }
.brand strong { font-family: var(--serif); font-weight: 400; font-size: 1.2rem; }
.brand small { color: var(--gold); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; margin-top: 5px; }
.brand-symbol { position: relative; width: 34px; height: 34px; display: block; }
.brand-symbol i { position: absolute; width: 18px; height: 25px; border: 1.5px solid var(--gold); border-radius: 50% 50% 45% 45%; bottom: 1px; left: 8px; transform-origin: bottom center; }
.brand-symbol i:first-child { transform: rotate(-38deg); }
.brand-symbol i:last-child { transform: rotate(38deg); }
.primary-nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 1.9rem); }
.primary-nav > a { color: var(--ink-2); font-size: .89rem; font-weight: 600; text-decoration: none; padding: .45rem 0; border-bottom: 1px solid transparent; }
.primary-nav > a:hover, .primary-nav > a[aria-current] { color: var(--ink); border-color: var(--gold); }
.primary-nav .nav-cta { border: 1px solid var(--ink); border-radius: 999px; padding: .63rem 1rem; }
.menu-button { display: none; width: 44px; height: 44px; border: 0; background: transparent; padding: 10px; }
.menu-button span { display: block; height: 1px; background: var(--ink); margin: 6px 0; }
.home-hero { overflow: hidden; min-height: 730px; color: white; background: var(--forest); }
.hero-grid { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 730px; }
.hero-copy { padding: clamp(5.8rem, 10vw, 9rem) 0 4.5rem; position: relative; z-index: 2; }
.hero-copy h1 { max-width: 820px; margin-bottom: 1.5rem; }
.hero-lead, .lead { font-size: clamp(1.15rem, 2vw, 1.42rem); max-width: 750px; color: var(--ink-2); }
.hero-copy .hero-lead { color: rgba(255,255,255,.78); max-width: 670px; }
.kicker { color: var(--gold); font-size: .73rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 1rem; }
.kicker.light { color: #e2bf85; }
.search-panel { width: min(820px, calc(100vw - 40px)); margin-top: 2.8rem; padding: 10px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 0; color: var(--ink); background: white; border-radius: 14px; box-shadow: 0 18px 60px rgba(0,0,0,.2); }
.search-panel > div { padding: .4rem 1.2rem; border-right: 1px solid var(--line); }
.search-panel label { display: block; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.search-panel select { width: 100%; border: 0; color: var(--ink); background: transparent; padding: .35rem 1.5rem .2rem 0; }
.search-panel button { border: 0; color: white; background: var(--rust); padding: .9rem 1.25rem; border-radius: 9px; font-weight: 750; }
.trust-line { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin-top: 1.5rem; color: rgba(255,255,255,.66); font-size: .78rem; }
.trust-line a { color: white; }
.hero-art { position: relative; min-width: 450px; border-left: 1px solid rgba(255,255,255,.12); background: radial-gradient(circle at 65% 35%, rgba(209,170,104,.24), transparent 25%), linear-gradient(145deg, rgba(255,255,255,.035), transparent 55%); }
.orbit { position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.orbit-a { width: 510px; height: 510px; left: -20px; top: 85px; }
.orbit-b { width: 350px; height: 350px; left: 60px; top: 165px; border-color: rgba(211,170,99,.55); }
.hero-word { position: absolute; right: -18px; top: 44%; transform: rotate(90deg); font: 400 clamp(4rem, 7vw, 7.5rem)/1 var(--serif); letter-spacing: .16em; color: rgba(255,255,255,.065); }
.hero-note { position: absolute; right: 20px; bottom: 48px; width: 260px; padding: 1.25rem; border: 1px solid rgba(255,255,255,.2); background: rgba(10,37,32,.7); backdrop-filter: blur(10px); }
.hero-note b, .hero-note span { display: block; }
.hero-note b { color: #e2bf85; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.hero-note span { color: rgba(255,255,255,.72); font-size: .8rem; margin-top: .5rem; }
.section { padding: clamp(4.8rem, 9vw, 8rem) 0; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.section-head h2 { max-width: 810px; margin-bottom: 0; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .76rem 1.1rem; border: 1px solid var(--forest); border-radius: 999px; color: white; background: var(--forest); font-weight: 750; text-decoration: none; transition: transform .2s, background .2s; }
.button:hover { background: var(--forest-deep); transform: translateY(-1px); }
.button.ghost { color: var(--ink); background: transparent; }
.button.ghost:hover { color: white; background: var(--forest); }
.light-button { color: var(--ink); border-color: white; background: white; }
.line-light { color: white; border-color: rgba(255,255,255,.55); background: transparent; }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.text-link { font-weight: 800; text-decoration: none; border-bottom: 1px solid var(--gold); }
.empty-state { display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; padding: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.empty-state.large { padding: clamp(2.5rem, 6vw, 5rem); }
.empty-state h2, .empty-state h3 { font-family: var(--serif); font-weight: 400; font-size: 1.55rem; margin-bottom: .35rem; }
.empty-state p { color: var(--ink-2); margin: 0; }
.empty-mark { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-size: 1.5rem; }
.soft-section { background: var(--cream); }
.dark-section { color: white; background: var(--forest-deep); }
.needs-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.need-card { position: relative; min-height: 245px; padding: 2rem; color: inherit; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.soft-section .need-card { background: transparent; }
.need-card > span { color: var(--gold); font-family: var(--serif); }
.need-card h2, .need-card h3 { max-width: 270px; margin: 2.1rem 0 .7rem; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.need-card p { color: var(--ink-2); }
.need-card > b { position: absolute; right: 1.5rem; bottom: 1.4rem; font-size: 1.35rem; }
.need-card:not(.static):hover { background: var(--sage-light); }
.needs-grid.large .need-card { min-height: 340px; }
.provider-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }
.event-grid { display: grid; gap: 1rem; }
.event-card { min-width: 0; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 2rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.event-card[hidden] { display: none; }
.event-date { min-height: 170px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; color: white; background: var(--forest); border-radius: 12px; }
.event-date span { max-width: 130px; font: 400 1.8rem/1.08 var(--serif); text-transform: capitalize; }
.event-date small { color: rgba(255,255,255,.72); font-weight: 750; }
.event-card h3 { margin: .3rem 0 .7rem; font: 400 clamp(1.7rem, 3vw, 2.5rem)/1.08 var(--serif); }
.event-card p:not(.kicker) { color: var(--ink-2); }
.event-facts { display: flex; flex-wrap: wrap; gap: .7rem 2rem; margin: 1rem 0; }
.event-facts > div { display: grid; }
.event-facts dt { color: var(--ink-2); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.event-facts dd { margin: 0; }
.event-card .card-actions span { color: var(--ink-2); font-size: .76rem; }
.provider-card { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: white; box-shadow: 0 1px 0 rgba(0,0,0,.02); }
.provider-card[hidden] { display: none; }
.provider-visual { min-height: 210px; display: flex; flex-direction: column; justify-content: space-between; padding: 1.25rem; color: white; text-decoration: none; overflow: hidden; position: relative; }
.provider-visual::before, .provider-visual::after, .provider-poster::before, .provider-poster::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.provider-visual::before, .provider-poster::before { width: 210px; height: 210px; right: -55px; bottom: -75px; }
.provider-visual::after, .provider-poster::after { width: 130px; height: 130px; right: -15px; bottom: -35px; }
.tone-1 { background: #315c53; }.tone-2 { background: #8c5c46; }.tone-3 { background: #52675b; }.tone-4 { background: #826f4f; }.tone-5 { background: #465b6b; }.tone-6 { background: #6e5565; }
.provider-visual span { font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.provider-visual b { width: 75%; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3.1rem); font-weight: 400; line-height: 1; position: relative; z-index: 1; }
.provider-copy { padding: 1.45rem; }
.eyebrow-row { display: flex; justify-content: space-between; gap: .8rem; color: var(--gold); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.provider-copy h3 { margin: .65rem 0; font-family: var(--serif); font-weight: 400; font-size: 1.5rem; }
.provider-copy h3 a { text-decoration: none; }
.provider-copy p { color: var(--ink-2); font-size: .91rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0; margin: 1.1rem 0; list-style: none; }
.tag-list li { padding: .25rem .55rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-2); background: rgba(255,255,255,.65); font-size: .72rem; }
.tag-list.large li { color: white; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.07); }
.card-actions { display: flex; justify-content: space-between; gap: .8rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.card-actions a { font-size: .78rem; font-weight: 800; }
.fine-print { color: var(--ink-2); font-size: .77rem; margin: 1.4rem 0 0; }
.split-callout { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(3rem, 10vw, 9rem); align-items: center; }
.split-callout h2 { max-width: 700px; }
.split-callout p { color: rgba(255,255,255,.72); max-width: 660px; }
.split-callout.light p { color: var(--ink-2); }
.metric-stack { border-top: 1px solid rgba(255,255,255,.2); }
.metric-stack > div { display: grid; grid-template-columns: 100px 1fr; gap: 1rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.metric-stack strong { font: 400 3rem/1 var(--serif); color: #e2bf85; }
.metric-stack span { color: rgba(255,255,255,.74); }
.guide-list { border-top: 1px solid var(--line); }
.guide-card { display: grid; grid-template-columns: 150px 1fr; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.guide-number { width: 110px; aspect-ratio: 1; display: grid; place-items: center; color: var(--gold); border: 1px solid var(--gold); border-radius: 50%; font: 400 2rem/1 var(--serif); text-decoration: none; }
.guide-card h3 { margin: .15rem 0 .55rem; font: 400 clamp(1.45rem, 3vw, 2.3rem)/1.1 var(--serif); }
.guide-card h3 a { text-decoration: none; }
.guide-card p:not(.kicker) { color: var(--ink-2); max-width: 740px; }
.guide-list.compact .guide-card { grid-template-columns: 80px 1fr; padding: 1.4rem 0; }
.guide-list.compact .guide-number { width: 60px; }
.status-section { background: var(--sage-light); }
.status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.status-grid > div > p { max-width: 620px; }
.status-steps { list-style: none; padding: 0; margin: 0; }
.status-steps li { display: grid; grid-template-columns: 60px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.status-steps li > span { color: var(--gold); font-family: var(--serif); }
.status-steps p { color: var(--ink-2); margin: .2rem 0 0; }
.action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.action-grid > a { min-height: 315px; padding: 2rem; position: relative; background: var(--paper); text-decoration: none; }
.action-grid > a:hover { background: var(--cream); }
.action-grid span { color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.action-grid h2 { font-size: 2rem; margin: 3rem 0 1rem; }
.action-grid p { color: var(--ink-2); }
.action-grid b { position: absolute; left: 2rem; bottom: 2rem; font-size: .85rem; }
.action-grid i { font-style: normal; margin-left: .5rem; }
.newsletter-section { padding: clamp(4rem, 8vw, 7rem) 0; color: white; background: var(--forest); }
.newsletter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.newsletter-grid h2 { margin-bottom: .7rem; }
.newsletter-grid p { color: rgba(255,255,255,.75); max-width: 620px; }
.inline-form > label:first-of-type { display: block; font-size: .78rem; font-weight: 800; margin-bottom: .45rem; }
.inline-form > div:not(.hp-field) { display: flex; }
.inline-form input[type=email] { min-width: 0; flex: 1; padding: 1rem; border: 1px solid rgba(255,255,255,.5); border-radius: 9px 0 0 9px; background: white; }
.inline-form button { border: 1px solid #e2bf85; border-radius: 0 9px 9px 0; color: var(--ink); background: #e2bf85; padding: .8rem 1.2rem; font-weight: 800; }
.check { display: flex !important; align-items: flex-start; gap: .7rem; margin-top: 1rem; color: inherit; font-size: .76rem; }
.check input { margin-top: .25rem; flex: 0 0 auto; }
.check a { color: inherit; }
.breadcrumbs { width: var(--shell); margin: 1.4rem auto 0; display: flex; flex-wrap: wrap; gap: .45rem; color: var(--ink-2); font-size: .76rem; }
.breadcrumbs a { color: inherit; }
.page-hero { padding-top: clamp(5.5rem, 10vw, 9rem); padding-bottom: clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 1000px; font-size: clamp(3.2rem, 7vw, 6.4rem); }
.compact-hero { padding-bottom: 4rem; }
.filter-bar { position: sticky; z-index: 10; top: 0; padding: 1rem 0; background: rgba(246,243,234,.96); border-block: 1px solid var(--line); backdrop-filter: blur(10px); }
.filter-bar .shell { display: grid; grid-template-columns: 1.35fr 1fr 1fr auto; gap: 1rem; align-items: end; }
.filter-bar label, .main-form label > span { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .35rem; }
.filter-bar input, .filter-bar select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; padding: .65rem .8rem; }
.text-button { min-height: 44px; border: 0; color: var(--ink); background: transparent; font-weight: 750; text-decoration: underline; }
.results-line { display: flex; justify-content: space-between; color: var(--ink-2); margin-bottom: 1.2rem; }
.results-line p { margin: 0; }
.profile-hero { color: white; background: var(--forest); padding: clamp(4rem, 8vw, 7rem) 0; }
.profile-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 5rem; align-items: center; }
.profile-hero h1 { font-size: clamp(3.1rem, 6vw, 5.8rem); }
.profile-hero .lead { color: rgba(255,255,255,.75); }
.provider-poster { min-height: 480px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 2rem; border-radius: 50% 50% 18px 18px; }
.provider-poster span, .provider-poster small { color: rgba(255,255,255,.75); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.provider-poster b { position: relative; z-index: 1; max-width: 80%; font: 400 clamp(2.5rem, 5vw, 4.5rem)/.95 var(--serif); }
.profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.profile-main > section { padding: 0 0 4rem; margin-bottom: 4rem; border-bottom: 1px solid var(--line); }
.profile-main h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
.profile-main p { color: var(--ink-2); font-size: 1.05rem; }
.fact-list { border-top: 1px solid var(--line); margin-top: 2rem; }
.fact-list > div { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.fact-list dt { font-weight: 800; }
.fact-list dd { margin: 0; color: var(--ink-2); }
.profile-side { position: sticky; top: 2rem; display: grid; gap: 1rem; }
.status-card, .source-card, .aside-actions { padding: 1.4rem; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); }
.status-card h2, .source-card h2 { font: 400 1.45rem/1.2 var(--serif); }
.status-card p, .status-card dl { font-size: .82rem; color: var(--ink-2); }
.status-dot { width: 11px; height: 11px; display: inline-block; border-radius: 50%; background: #3a8d69; box-shadow: 0 0 0 5px rgba(58,141,105,.14); margin-bottom: 1rem; }
.status-card dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; padding: .55rem 0; border-top: 1px solid var(--line); }
.status-card dd { margin: 0; text-align: right; }
.source-card ul { list-style: none; padding: 0; margin: 0; }
.source-card li { padding: .5rem 0; border-top: 1px solid var(--line); }
.aside-actions { display: grid; gap: .55rem; background: white; }
.aside-actions a { font-size: .84rem; font-weight: 750; }
.caution-box { padding: 2rem !important; border: 1px solid rgba(169,85,61,.45) !important; border-left: 5px solid var(--rust) !important; border-radius: 8px; background: #fbf2ed; }
.caution-box .kicker { color: var(--rust); }
.guide-hero { padding: clamp(5rem, 9vw, 8rem) 0; color: white; background: var(--forest); }
.narrow { max-width: 920px; }
.guide-hero h1 { font-size: clamp(3.1rem, 7vw, 6.4rem); }
.guide-hero .lead { color: rgba(255,255,255,.74); }
.guide-meta { display: flex; gap: 1.2rem; color: rgba(255,255,255,.6); font-size: .78rem; }
.article-grid { display: grid; grid-template-columns: 210px minmax(0,760px); gap: clamp(3rem, 8vw, 7rem); align-items: start; padding-block: clamp(4rem, 8vw, 7rem); }
.toc { position: sticky; top: 2rem; display: grid; gap: .55rem; padding-left: 1rem; border-left: 1px solid var(--line); font-size: .83rem; }
.toc strong { margin-bottom: .6rem; }
.toc a { color: var(--ink-2); }
.prose > section { scroll-margin-top: 2rem; padding-bottom: 4rem; margin-bottom: 4rem; border-bottom: 1px solid var(--line); }
.prose h2 { font-size: clamp(2rem, 4vw, 3.3rem); }
.prose p, .prose li { color: var(--ink-2); font-size: 1.05rem; }
.intro-paragraph { color: var(--ink) !important; font: 400 clamp(1.5rem, 3vw, 2.2rem)/1.45 var(--serif); }
.number-list { list-style: none; padding: 0; margin: 0; }
.number-list li { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.number-list span { color: var(--gold); font-family: var(--serif); }
.check-list { list-style: none; padding: 0; }
.check-list li { position: relative; padding: .75rem 0 .75rem 2rem; border-bottom: 1px solid var(--line); }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--gold); }
.question-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.question-stack p { min-height: 135px; padding: 1.3rem; margin: 0; background: var(--cream); }
.mini-provider-list { border-top: 1px solid var(--line); }
.mini-provider-list a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.mini-provider-list small { display: block; color: var(--ink-2); }
.mini-provider-list i { font-style: normal; }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { padding: 1rem 0; font-weight: 800; cursor: pointer; }
.source-list { padding-left: 1.2rem; }
.region-hero { padding: clamp(5rem, 10vw, 9rem) 0; color: white; background: var(--forest); overflow: hidden; }
.region-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: center; }
.region-grid .lead { color: rgba(255,255,255,.74); }
.region-map { min-height: 440px; position: relative; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: radial-gradient(circle, rgba(226,191,133,.25), transparent 53%); }
.region-map b { font: 400 3rem/1 var(--serif); }
.region-map span { position: absolute; color: rgba(255,255,255,.7); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.region-map span:first-child { top: 70px; right: 90px; }.region-map span:nth-child(3) { bottom: 70px; left: 90px; }
.region-map i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #e2bf85; }
.region-map i:nth-of-type(1) { top: 135px; right: 145px; }.region-map i:nth-of-type(2) { left: 46%; top: 48%; }.region-map i:nth-of-type(3) { bottom: 135px; left: 145px; }
.editorial, .editorial-grid { max-width: 1000px; }
.editorial.two-col, .editorial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; margin-top: 4rem; }
.editorial.two-col { grid-template-columns: 1fr 1fr; max-width: none; }
.editorial h2, .editorial-grid h2 { font-size: 2.3rem; }
.editorial h3, .editorial-grid h3 { font: 400 1.6rem/1.2 var(--serif); }
.editorial p, .editorial-grid p { color: var(--ink-2); }
.city-index { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.city-index a { min-height: 180px; display: grid; grid-template-columns: 1fr auto; align-content: space-between; padding: 1.4rem; background: white; text-decoration: none; }
.city-index strong { font: 400 2.4rem/1 var(--serif); color: var(--gold); }
.city-index small { grid-column: 2; color: var(--ink-2); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.process-grid article { min-height: 250px; padding: 1.5rem; background: white; }
.process-grid span { color: var(--gold); }
.process-grid h2 { font-size: 1.8rem; margin: 2.6rem 0 .8rem; }
.process-grid p { color: var(--ink-2); }
.status-table { display: grid; grid-template-columns: .7fr 1.3fr; gap: 5rem; }
.status-table > div p { color: rgba(255,255,255,.7); }
.status-table dl { margin: 0; }
.status-table dl > div { padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.2); }
.status-table dt { color: #e2bf85; font-weight: 800; }
.status-table dd { margin: .3rem 0 0; color: rgba(255,255,255,.7); }
.form-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 5rem; align-items: start; }
.main-form { padding: clamp(1.3rem, 4vw, 2.5rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.form-grid .full { grid-column: 1 / -1; }
.main-form input:not([type=checkbox]), .main-form select, .main-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: white; padding: .8rem; }
.main-form textarea { resize: vertical; }
.main-form small { display: block; color: var(--ink-2); margin-top: .35rem; }
.submit-button { margin-top: 1.5rem; }
.submit-button:disabled { opacity: .6; cursor: wait; }
.form-status { min-height: 1.5rem; margin: 1rem 0 0; font-weight: 700; }
.form-status[data-state=error] { color: #8e2d25; }.form-status[data-state=success] { color: #216548; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.form-aside { position: sticky; top: 2rem; }
.form-aside h2 { font-size: 2rem; }
.form-aside ol { list-style: none; padding: 0; }
.form-aside li { display: grid; grid-template-columns: 34px 1fr; gap: .7rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.form-aside li span { color: var(--gold); font-family: var(--serif); }
.notice { padding: 1rem; border-left: 3px solid var(--gold); color: var(--ink-2); background: var(--cream); font-size: .82rem; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.contact-grid a { min-height: 250px; padding: 2rem; background: white; text-decoration: none; }
.contact-grid a:hover { background: var(--cream); }
.contact-grid span { color: var(--gold); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.contact-grid h2 { font-size: 2rem; margin: 2.5rem 0 .7rem; }
.contact-grid p { color: var(--ink-2); }
.legal { max-width: 820px; padding-top: 6rem; padding-bottom: 8rem; }
.legal h1 { font-size: clamp(3rem, 7vw, 6rem); }
.legal h2 { font-size: 2rem; margin-top: 3rem; }
.legal p { color: var(--ink-2); font-size: 1.06rem; }
.big-list { list-style: none; counter-reset: item; padding: 0; margin: 0; }
.big-list li { counter-increment: item; padding: 1rem 0; border-bottom: 1px solid var(--line); font: 400 1.7rem/1.2 var(--serif); }
.big-list li::before { content: '0' counter(item); color: var(--gold); font-family: var(--sans); font-size: .75rem; margin-right: 1rem; }
.site-footer { padding-top: 5rem; color: rgba(255,255,255,.76); background: #0c2925; }
.footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3, 1fr); gap: 3rem; }
.footer-grid h2 { color: white; font: 700 .72rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.footer-grid > div:not(.footer-intro) { display: flex; flex-direction: column; gap: .65rem; }
.footer-grid a { font-size: .85rem; }
.footer-intro p { max-width: 410px; font-size: .9rem; }
.footer-brand { color: white; margin-bottom: 1.5rem; }
.footer-base { display: flex; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; margin-top: 4rem; border-top: 1px solid rgba(255,255,255,.15); font-size: .72rem; }
.small { font-size: .82rem !important; }.small-title { font-size: 2rem; }
@media (max-width: 980px) {
  :root { --shell: min(100% - 32px, 760px); }
  .menu-button { display: block; }
  .primary-nav { display: none; position: absolute; top: 88px; left: 0; right: 0; padding: 1rem 16px 1.5rem; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .primary-nav[data-open] { display: grid; }
  .primary-nav > a { padding: .75rem 0; border-bottom: 1px solid var(--line); }
  .hero-grid, .split-callout, .status-grid, .newsletter-grid, .profile-hero-grid, .profile-layout, .article-grid, .region-grid, .status-table, .form-layout { grid-template-columns: 1fr; }
  .home-hero, .hero-grid { min-height: auto; }
  .hero-copy { padding-bottom: 5rem; }
  .hero-art { min-width: 0; min-height: 380px; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .search-panel { grid-template-columns: 1fr 1fr; }
  .search-panel button { grid-column: 1 / -1; margin-top: 8px; }
  .provider-grid { grid-template-columns: 1fr 1fr; }
  .needs-grid { grid-template-columns: 1fr 1fr; }
  .action-grid { grid-template-columns: 1fr; }
  .action-grid > a { min-height: 250px; }
  .filter-bar { position: static; }
  .filter-bar .shell { grid-template-columns: 1fr 1fr; }
  .profile-side, .toc, .form-aside { position: static; }
  .toc { grid-template-columns: 1fr 1fr; }
  .article-grid { max-width: 760px; }
  .editorial-grid { grid-template-columns: 1fr; }
  .city-index { grid-template-columns: 1fr 1fr; }
  .process-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2; }
}
@media (max-width: 650px) {
  :root { --shell: calc(100% - 28px); }
  body { font-size: 15px; }
  .nav-wrap { min-height: 76px; }
  .primary-nav { top: 76px; }
  .brand strong { font-size: 1.05rem; }
  .home-hero h1, h1 { font-size: clamp(2.75rem, 14vw, 4.4rem); }
  .hero-copy { padding-top: 4.5rem; }
  .search-panel { width: 100%; grid-template-columns: 1fr; padding: 8px; }
  .search-panel > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .search-panel button { grid-column: auto; min-height: 52px; }
  .trust-line { display: grid; }
  .hero-art { min-height: 300px; }
  .orbit-a { width: 320px; height: 320px; }.orbit-b { width: 220px; height: 220px; }
  .hero-note { right: 14px; bottom: 20px; width: min(250px, calc(100% - 28px)); }
  .section-head { display: block; }
  .section-head > a { display: inline-flex; margin-top: 1.2rem; }
  .empty-state { grid-template-columns: 1fr; }
  .needs-grid, .provider-grid, .city-index, .process-grid, .contact-grid { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: 1fr; gap: 1rem; padding: 1rem; }
  .event-date { min-height: 135px; }
  .need-card { min-height: 230px; }
  .guide-card { grid-template-columns: 60px 1fr; gap: 1rem; }
  .guide-number { width: 54px; }
  .guide-card .kicker { display: none; }
  .metric-stack > div { grid-template-columns: 75px 1fr; }
  .newsletter-grid { gap: 2rem; }
  .inline-form > div:not(.hp-field) { display: grid; }
  .inline-form input[type=email], .inline-form button { border-radius: 8px; }
  .inline-form button { min-height: 48px; margin-top: 8px; }
  .filter-bar .shell, .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .results-line { display: block; }
  .results-line p + p { font-size: .78rem; }
  .provider-poster { min-height: 330px; }
  .fact-list > div { grid-template-columns: 1fr; gap: .15rem; }
  .question-stack { grid-template-columns: 1fr; }
  .article-grid { gap: 2.5rem; }
  .toc { grid-template-columns: 1fr; }
  .region-map { min-height: 320px; }
  .region-map b { font-size: 2.3rem; }
  .editorial.two-col { grid-template-columns: 1fr; }
  .status-table { gap: 2rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-base { display: grid; }
}

/* 2.3 — origineel merkbeeld en rustige progressive disclosure */
.hero-brand-art { display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 48%, rgba(226,191,133,.24), transparent 48%), linear-gradient(145deg,rgba(255,255,255,.035),transparent 60%); }
.hero-logo-frame { position: relative; width: min(500px,82%); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: #efe3c3; box-shadow: 0 32px 90px rgba(3,20,17,.36), 0 0 0 1px rgba(226,191,133,.5), 0 0 0 22px rgba(255,255,255,.025); }
.hero-logo-frame::before,.hero-logo-frame::after { content: ''; position: absolute; border: 1px solid rgba(226,191,133,.3); border-radius: 50%; pointer-events: none; }
.hero-logo-frame::before { inset: -42px; }.hero-logo-frame::after { inset: -82px; opacity: .55; }
.hero-logo-frame img { position: relative; z-index: 1; width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 50%; }
.load-more-wrap { display: flex; justify-content: center; padding-top: 2.2rem; }
.load-more-button { min-width: 250px; justify-content: center; }
.load-more-button[hidden] { display: none; }
.recurring-section { background: var(--cream); }
.recurring-section .section-copy { max-width: 700px; margin: .8rem 0 0; color: var(--ink-2); }
.recurring-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.recurring-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 16px 45px rgba(20,34,30,.07); }
.recurring-card[hidden] { display: none; }
.recurring-visual { position: relative; min-height: 190px; display: block; overflow: hidden; background: linear-gradient(145deg,var(--forest),#6d8077); }
.recurring-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(14,28,24,.04),rgba(14,28,24,.64)); }
.recurring-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.recurring-card:hover .recurring-visual img { transform: scale(1.035); }
.recurring-visual span { position: absolute; z-index: 2; left: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: .48rem .7rem; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--ink); font-size: .73rem; font-weight: 700; letter-spacing: .035em; }
.recurring-copy { padding: 1.35rem; }
.recurring-copy h3 { margin: .3rem 0 .65rem; font: 400 1.7rem/1.08 var(--serif); }
.recurring-copy > p:not(.kicker) { margin: 0; color: var(--ink-2); }
.recurring-copy dl { margin: 1.1rem 0; border-top: 1px solid var(--line); }
.recurring-copy dl div { display: grid; grid-template-columns: 70px 1fr; gap: .7rem; padding: .68rem 0; border-bottom: 1px solid var(--line); }
.recurring-copy dt { color: var(--ink-2); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.recurring-copy dd { margin: 0; font-size: .88rem; }
.recurring-copy dd a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (max-width: 980px) {
  .hero-logo-frame { width: min(440px,72%); }
  .recurring-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .hero-brand-art { min-height: 360px; }
  .hero-logo-frame { width: min(300px,78%); box-shadow: 0 24px 70px rgba(3,20,17,.38), 0 0 0 1px rgba(226,191,133,.5), 0 0 0 14px rgba(255,255,255,.025); }
  .hero-logo-frame::before { inset: -24px; }.hero-logo-frame::after { inset: -48px; }
  .load-more-button { width: 100%; }
  .recurring-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2.1 — landelijke visuele laag, echte media en rijkere profielen */
.brand-mandala { position: relative; width: 42px; height: 42px; display: block; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.82); box-shadow: var(--shadow); }
.brand-mandala i { position: absolute; left: 50%; top: 50%; width: 8px; height: 15px; margin: -15px 0 0 -4px; border: 1px solid var(--gold); border-radius: 70% 70% 50% 50%; transform-origin: 50% 100%; background: linear-gradient(180deg,rgba(210,180,116,.28),rgba(255,255,255,.08)); }
.brand-mandala i:nth-child(1) { transform: rotate(0deg); }.brand-mandala i:nth-child(2) { transform: rotate(45deg); }.brand-mandala i:nth-child(3) { transform: rotate(90deg); }.brand-mandala i:nth-child(4) { transform: rotate(135deg); }
.brand-mandala i:nth-child(5) { transform: rotate(180deg); }.brand-mandala i:nth-child(6) { transform: rotate(225deg); }.brand-mandala i:nth-child(7) { transform: rotate(270deg); }.brand-mandala i:nth-child(8) { transform: rotate(315deg); }
.brand-mandala b { position: absolute; inset: 15px; border: 1px solid var(--ink); border-radius: 50%; background: var(--cream); }
.hero-mandala { width: 420px; height: 420px; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; background: radial-gradient(circle,rgba(255,255,255,.13) 0 18%,rgba(226,191,133,.08) 19% 52%,rgba(255,255,255,.02) 53% 100%); border: 1px solid rgba(226,191,133,.35); }
.hero-mandala::before,.hero-mandala::after { content: ''; position: absolute; border: 1px solid rgba(226,191,133,.48); border-radius: 50%; }.hero-mandala::before { inset: 52px; }.hero-mandala::after { inset: 108px; }
.hero-mandala i { position: absolute; left: 50%; top: 50%; width: 46px; height: 104px; margin: -104px 0 0 -23px; border: 1px solid rgba(226,191,133,.7); border-radius: 80% 80% 48% 48%; transform-origin: 50% 100%; background: linear-gradient(180deg,rgba(255,255,255,.1),rgba(210,180,116,.03)); }
.hero-mandala i:nth-child(1) { transform: rotate(0deg); }.hero-mandala i:nth-child(2) { transform: rotate(30deg); }.hero-mandala i:nth-child(3) { transform: rotate(60deg); }.hero-mandala i:nth-child(4) { transform: rotate(90deg); }
.hero-mandala i:nth-child(5) { transform: rotate(120deg); }.hero-mandala i:nth-child(6) { transform: rotate(150deg); }.hero-mandala i:nth-child(7) { transform: rotate(180deg); }.hero-mandala i:nth-child(8) { transform: rotate(210deg); }
.hero-mandala i:nth-child(9) { transform: rotate(240deg); }.hero-mandala i:nth-child(10) { transform: rotate(270deg); }.hero-mandala i:nth-child(11) { transform: rotate(300deg); }.hero-mandala i:nth-child(12) { transform: rotate(330deg); }
.hero-mandala-core { position: relative; z-index: 2; width: 160px; height: 160px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(14,44,40,.94); color: white; display: grid; place-items: center; text-align: center; font-family: var(--serif); font-size: 34px; line-height: .92; box-shadow: 0 18px 55px rgba(0,0,0,.2); }
.hero-mandala-core small { display: block; font-family: var(--sans); font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: #e2bf85; margin-top: 14px; }
.provider-visual.has-photo::before { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(180deg,rgba(14,28,24,.06) 15%,rgba(14,28,24,.76) 100%); z-index: 1; }
.provider-visual.has-photo::after { display: none; }
.provider-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.provider-visual span,.provider-visual b { z-index: 2; }
.provider-card-logo,.provider-card-initials { position: absolute; z-index: 3; right: 1.1rem; top: 1.1rem; width: 58px; height: 58px; display: grid; place-items: center; margin: 0; padding: 8px; overflow: hidden; border-radius: 16px; color: var(--ink); background: rgba(255,255,255,.9); box-shadow: 0 8px 24px rgba(20,34,30,.18); font: 700 .75rem/1 var(--sans); font-style: normal; letter-spacing: .08em; }
.provider-card-logo img { width: 100%; height: 100%; object-fit: contain; }
.event-card { grid-template-columns: 280px minmax(0,1fr); gap: 0; padding: 0; overflow: hidden; box-shadow: var(--shadow); }
.event-visual { position: relative; min-height: 270px; display: block; overflow: hidden; background: linear-gradient(145deg,var(--forest),#516c62); }
.event-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 30%,rgba(14,28,24,.68)); }
.event-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.event-date { position: absolute; z-index: 2; left: 20px; bottom: 20px; min-height: 0; display: flex; flex-direction: row; align-items: baseline; justify-content: flex-start; gap: 8px; padding: 12px 16px; color: var(--ink); background: rgba(255,255,255,.93); border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.event-date b { font: 400 2.1rem/1 var(--serif); }.event-date small { color: var(--forest); font-size: .63rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.event-copy { padding: 2rem; }
.rich-profile-hero { min-height: 680px; padding: 0; position: relative; display: grid; align-items: stretch; overflow: hidden; background: var(--forest-deep); }
.profile-hero-image,.profile-hero-pattern,.profile-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.profile-hero-image { object-fit: cover; }.profile-hero-shade { z-index: 1; background: linear-gradient(90deg,rgba(9,31,27,.94) 0%,rgba(9,31,27,.78) 48%,rgba(9,31,27,.3) 100%),linear-gradient(0deg,rgba(9,31,27,.5),transparent 55%); }
.profile-hero-pattern { display: grid; place-items: center; }.profile-mandala { width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; position: relative; }
.profile-mandala i { position: absolute; left: 50%; top: 50%; width: 54px; height: 128px; margin: -128px 0 0 -27px; border: 1px solid rgba(255,255,255,.35); border-radius: 75% 75% 45% 45%; transform-origin: 50% 100%; }
.profile-mandala i:nth-child(1) { transform: rotate(0deg); }.profile-mandala i:nth-child(2) { transform: rotate(30deg); }.profile-mandala i:nth-child(3) { transform: rotate(60deg); }.profile-mandala i:nth-child(4) { transform: rotate(90deg); }
.profile-mandala i:nth-child(5) { transform: rotate(120deg); }.profile-mandala i:nth-child(6) { transform: rotate(150deg); }.profile-mandala i:nth-child(7) { transform: rotate(180deg); }.profile-mandala i:nth-child(8) { transform: rotate(210deg); }
.profile-mandala i:nth-child(9) { transform: rotate(240deg); }.profile-mandala i:nth-child(10) { transform: rotate(270deg); }.profile-mandala i:nth-child(11) { transform: rotate(300deg); }.profile-mandala i:nth-child(12) { transform: rotate(330deg); }
.profile-mandala b { position: absolute; inset: 190px; border: 1px solid #e2bf85; border-radius: 50%; }
.rich-profile-hero .profile-hero-grid { position: relative; z-index: 2; width: var(--shell); min-height: 680px; padding-block: clamp(5.5rem,9vw,8rem); }
.profile-hero-copy { align-self: center; max-width: 760px; }.profile-hero-copy .button-row { margin-top: 2rem; }
.profile-brand-card { align-self: end; padding: 2rem; color: var(--ink); background: rgba(255,253,248,.95); border-radius: 28px 28px 0 0; box-shadow: 0 -14px 60px rgba(0,0,0,.16); }
.profile-brand-card h2 { margin: 1.2rem 0 .7rem; font-size: clamp(1.8rem,3vw,2.7rem); }.profile-brand-card p { color: var(--ink-2); font-size: .9rem; }
.profile-logo-wrap { width: 114px; height: 114px; display: grid; place-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 28px; background: white; }.profile-logo-wrap img { width: 100%; height: 100%; object-fit: contain; }
.profile-initials { font: 400 2.1rem/1 var(--serif); color: var(--gold); }.profile-mini-tags { display: flex; flex-wrap: wrap; gap: .4rem; }.profile-mini-tags span { padding: .27rem .55rem; border: 1px solid var(--line); border-radius: 999px; font-size: .68rem; }
.provider-gallery-section { padding-bottom: 0; }.provider-gallery-section .section-copy { max-width: 330px; color: var(--ink-2); margin: 0; }
.provider-photo-board { height: 520px; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(230px,.85fr); grid-template-rows: repeat(6,1fr); gap: 12px; overflow: hidden; border-radius: 28px; background: var(--cream); }
.provider-photo-board button { position: relative; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; color: white; background: var(--forest); text-align: left; }
.provider-photo-board button::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 50%,rgba(8,24,21,.65)); }.provider-photo-board button:hover img { transform: scale(1.025); }.provider-photo-board img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.provider-photo-main { grid-row: 1 / -1; }.provider-photo-board:has(>button:nth-child(2):last-child) >button:nth-child(2) { grid-row: 1 / -1; }.provider-photo-board:has(>button:nth-child(3):last-child) >button:nth-child(2) { grid-row: 1 / 4; }.provider-photo-board:has(>button:nth-child(3):last-child) >button:nth-child(3) { grid-row: 4 / 7; }
.provider-photo-board:has(>button:nth-child(4):last-child) >button:nth-child(2) { grid-row: 1 / 3; }.provider-photo-board:has(>button:nth-child(4):last-child) >button:nth-child(3) { grid-row: 3 / 5; }.provider-photo-board:has(>button:nth-child(4):last-child) >button:nth-child(4) { grid-row: 5 / 7; }.provider-photo-board button:only-child { grid-column: 1 / -1; }
.provider-photo-board span,.provider-photo-board b { position: absolute; z-index: 2; left: 1.2rem; bottom: 1.1rem; max-width: calc(100% - 2.4rem); font: 400 clamp(1.2rem,2.6vw,2.1rem)/1.1 var(--serif); }.provider-photo-board b { left: auto; right: .8rem; bottom: .8rem; padding: .45rem .7rem; border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.9); font: 800 .65rem/1 var(--sans); }
.profile-lightbox { width: min(1080px,calc(100% - 32px)); height: min(820px,calc(100% - 32px)); margin: auto; padding: 0; border: 0; border-radius: 20px; color: white; background: #091f1b; overflow: hidden; }.profile-lightbox[open] { display: grid; grid-template-rows: auto minmax(0,1fr); }.profile-lightbox::backdrop { background: rgba(4,14,12,.9); backdrop-filter: blur(8px); }
.lightbox-head { min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.3rem; border-bottom: 1px solid rgba(255,255,255,.14); }.lightbox-head div { display: grid; }.lightbox-head span { color: rgba(255,255,255,.6); font-size: .75rem; }.lightbox-head button { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: transparent; font-size: 1.6rem; }
.profile-lightbox figure { min-height: 0; margin: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; }.profile-lightbox figure img { width: 100%; height: 100%; object-fit: contain; }.profile-lightbox figcaption { min-height: 48px; padding: .75rem 1.2rem; color: rgba(255,255,255,.72); text-align: center; }
.lightbox-nav { position: absolute; z-index: 2; top: 50%; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; background: rgba(9,31,27,.74); }.lightbox-nav.prev { left: 1rem; }.lightbox-nav.next { right: 1rem; }
.profile-intro { color: var(--ink)!important; font: 400 clamp(1.45rem,2.8vw,2.15rem)/1.45 var(--serif); }.profile-notice,.visitor-note { padding: 1.5rem!important; border: 0!important; border-left: 4px solid var(--gold)!important; border-radius: 0 14px 14px 0; background: var(--cream); }.profile-notice { margin-top: 2rem; }.profile-notice p { margin: .4rem 0 0; font-size: .92rem; }
.profile-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }.profile-feature-grid article { min-height: 200px; padding: 1.4rem; background: var(--cream); }.profile-feature-grid span { color: var(--gold); font-family: var(--serif); }.profile-feature-grid p { margin: 2.2rem 0 0; font-size: .9rem; }
.booking-card,.profile-quickfacts { padding: 1.5rem; border: 1px solid var(--line); border-radius: 18px; background: white; }.booking-card { color: white; background: var(--forest); border-color: var(--forest); }.booking-card h2 { font-size: 2rem; }.booking-card p:not(.kicker) { color: rgba(255,255,255,.72); }.booking-card .button { width: 100%; color: var(--ink); border-color: white; background: white; }
.profile-quickfacts h2 { font: 400 1.6rem/1.2 var(--serif); }.profile-quickfacts dl { margin: 0 0 1rem; }.profile-quickfacts dl div { padding: .8rem 0; border-top: 1px solid var(--line); }.profile-quickfacts dt { color: var(--ink-2); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.profile-quickfacts dd { margin: .15rem 0 0; }.profile-quickfacts > a { display: block; padding: .55rem 0; border-top: 1px solid var(--line); font-size: .82rem; font-weight: 800; }
.compact-events .event-card { grid-template-columns: 210px minmax(0,1fr); }.compact-events .event-copy { padding: 1.5rem; }.compact-events .event-visual { min-height: 230px; }
@media (max-width: 980px) {
  .hero-mandala { width: 340px; height: 340px; }.hero-mandala i { width: 38px; height: 84px; margin: -84px 0 0 -19px; }.hero-mandala-core { width: 132px; height: 132px; font-size: 29px; }
  .rich-profile-hero .profile-hero-grid { padding-bottom: 0; gap: 3rem; }.profile-brand-card { width: min(430px,100%); }.profile-feature-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  .event-card,.compact-events .event-card { grid-template-columns: 1fr; gap: 0; padding: 0; }.event-visual,.compact-events .event-visual { min-height: 240px; }.event-date { min-height: 0; }
  .rich-profile-hero,.rich-profile-hero .profile-hero-grid { min-height: 620px; }.profile-hero-shade { background: linear-gradient(180deg,rgba(9,31,27,.76),rgba(9,31,27,.94)); }.profile-brand-card { padding: 1.3rem; border-radius: 22px 22px 0 0; }.profile-logo-wrap { width: 86px; height: 86px; border-radius: 21px; }
  .provider-gallery-section .section-head { margin-bottom: 1.5rem; }.provider-gallery-section .section-copy { margin-top: 1rem; }.provider-photo-board { height: 410px; display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; border-radius: 20px; background: transparent; }.provider-photo-board button,.provider-photo-board button:only-child { flex: 0 0 86%; width: 86%; scroll-snap-align: start; border-radius: 18px; }.provider-photo-board button:only-child { flex-basis: 100%; width: 100%; }
  .profile-feature-grid { grid-template-columns: 1fr; }.profile-feature-grid article { min-height: 160px; }.profile-lightbox { width: calc(100% - 16px); height: calc(100% - 16px); }.lightbox-nav { top: auto; bottom: 58px; }.lightbox-nav.prev { left: calc(50% - 58px); }.lightbox-nav.next { right: calc(50% - 58px); }
}

/* 2.4 — agendaweergaven en herstelde rustige homepagehero */
.hero-mandala { box-shadow: 0 28px 90px rgba(3,20,17,.28), inset 0 0 60px rgba(226,191,133,.05); }
.hero-mandala-core { border-color: rgba(226,191,133,.55); background: radial-gradient(circle at 40% 30%,#194a41,#0b2b27 72%); box-shadow: 0 22px 65px rgba(0,0,0,.28), inset 0 0 0 9px rgba(255,255,255,.025); }
.hero-mandala-core span { display: block; }
.agenda-switcher { padding: 0 0 2.1rem; }
.agenda-switcher > p { max-width: 720px; margin: .9rem 0 0; color: var(--ink-2); }
.agenda-tabs { width: fit-content; display: inline-flex; gap: 6px; padding: 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--cream); box-shadow: 0 10px 35px rgba(17,45,40,.06); }
.agenda-tabs button { min-height: 46px; padding: .7rem 1.15rem; border: 0; border-radius: 999px; color: var(--ink-2); background: transparent; font-weight: 800; }
.agenda-tabs button[aria-selected="true"] { color: white; background: var(--forest); box-shadow: 0 7px 20px rgba(17,45,40,.2); }
.agenda-tabs button:not([aria-selected="true"]):hover { color: var(--ink); background: rgba(255,255,255,.75); }
.agenda-panel[hidden], [data-event-date-field][hidden] { display: none; }
.filter-bar[data-recurring-view] .shell { grid-template-columns: 1fr 1fr auto; }
.recurring-section { background: var(--paper); }
.recurring-section .section-head { align-items: end; }
.recurring-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.35rem; }
.recurring-grid .recurring-event-card { min-width: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: auto 1fr; gap: 0; padding: 0; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.recurring-grid .recurring-event-card[hidden] { display: none; }
.recurring-event-card .event-visual { min-height: 230px; }
.recurring-event-card .event-date { right: 18px; left: 18px; bottom: 18px; width: fit-content; max-width: calc(100% - 36px); flex-wrap: wrap; }
.recurring-event-card .event-date b { font: 400 1.15rem/1.1 var(--serif); }
.recurring-event-card .event-copy { min-width: 0; display: flex; flex-direction: column; padding: 1.45rem; }
.recurring-event-card h3 { font-size: clamp(1.55rem,2.4vw,2rem); }
.recurring-event-card .event-facts { display: grid; gap: .65rem; margin-top: auto; padding-top: .45rem; }
.recurring-event-card .event-facts > div { padding-top: .65rem; border-top: 1px solid var(--line); }
.recurring-event-card .event-facts a { text-underline-offset: 3px; }
.recurring-event-card .card-actions { gap: .7rem; align-items: end; }
@media (max-width: 980px) {
  .recurring-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .agenda-tabs { width: 100%; border-radius: 18px; }
  .agenda-tabs button { flex: 1; min-width: 0; padding-inline: .7rem; border-radius: 13px; font-size: .82rem; }
  .filter-bar[data-recurring-view] .shell { grid-template-columns: 1fr; }
  .recurring-grid { grid-template-columns: 1fr; }
  .recurring-event-card .event-visual { min-height: 250px; }
}

/* v2.6 — horizontal Holistic Tribe wordmark + cleaner full-width home hero */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: #fffdf8;
  border-bottom: 1px solid rgba(23, 53, 47, .10);
  box-shadow: 0 8px 28px rgba(17, 45, 40, .045);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.nav-wrap {
  min-height: 104px;
  gap: clamp(1.5rem, 3vw, 3.2rem);
}
.brand-header { flex: 0 0 auto; }
.brand-wordmark {
  display: inline-flex;
  align-items: center;
}
.brand-wordmark img {
  display: block;
  width: 320px;
  height: auto;
  max-width: min(32vw, 320px);
  object-fit: contain;
  object-position: left center;
}
.primary-nav { gap: clamp(.75rem, 1.45vw, 1.55rem); }
.primary-nav > a {
  position: relative;
  padding: .65rem 0;
  border: 0;
  color: #29473f;
  font-size: .83rem;
  font-weight: 650;
  letter-spacing: -.01em;
}
.primary-nav > a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: .34rem;
  height: 1px;
  background: var(--gold);
  transition: left .2s ease, right .2s ease;
}
.primary-nav > a:not(.nav-cta):hover::after,
.primary-nav > a:not(.nav-cta)[aria-current]::after { left: 0; right: 0; }
.primary-nav .nav-cta {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 44px;
  padding: .7rem 1.05rem;
  border: 1px solid var(--forest);
  border-radius: 999px;
  color: #fff;
  background: var(--forest);
  box-shadow: 0 8px 22px rgba(23, 63, 56, .12);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.primary-nav .nav-cta:hover {
  color: #fff;
  background: var(--forest-deep);
  transform: translateY(-1px);
  box-shadow: 0 11px 26px rgba(23, 63, 56, .17);
}
.primary-nav .nav-cta::after { display: none; }
.home-hero {
  overflow: hidden;
  min-height: 0;
  color: white;
  background:
    radial-gradient(circle at 72% 10%, rgba(209,170,104,.16), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 28%),
    var(--forest);
}
.hero-grid {
  display: block;
  min-height: 0;
}
.hero-copy {
  max-width: 980px;
  padding: clamp(5.8rem, 10vw, 8rem) 0 clamp(4.4rem, 7vw, 5.6rem);
  position: relative;
  z-index: 2;
}
.hero-copy h1 { max-width: 980px; }
.hero-copy .hero-lead { max-width: 760px; }
.search-panel { width: min(900px, 100%); }
.footer-brand .brand-wordmark {
  display: inline-flex;
  justify-content: flex-start;
}
.footer-brand .brand-wordmark img { width: 250px; max-width: 100%; height: auto; }
.footer-logo-image { width: 230px; max-width: 100%; height: auto; display: block; }
.footer-brand .brand-country { display: none; }

@media (max-width: 1120px) {
  .nav-wrap { min-height: 94px; }
  .brand-wordmark img { width: 280px; max-width: min(34vw, 280px); }
  .primary-nav { gap: .8rem; }
  .primary-nav > a { font-size: .78rem; }
  .primary-nav .nav-cta { padding-inline: .9rem; }
}
@media (max-width: 980px) {
  .nav-wrap { min-height: 86px; }
  .brand-wordmark img { width: 250px; max-width: calc(100vw - 130px); }
  .menu-button { display: block; border: 1px solid rgba(23, 53, 47, .14); border-radius: 50%; background: rgba(255,255,255,.58); }
  .primary-nav {
    top: 86px;
    padding: 1rem max(20px, calc((100vw - min(1180px, calc(100vw - 40px))) / 2)) 1.5rem;
    background: rgba(255,253,248,.985);
    box-shadow: 0 18px 36px rgba(17,45,40,.10);
  }
  .primary-nav > a { font-size: .92rem; }
  .primary-nav .nav-cta { justify-content: center; margin-top: .45rem; }
}
@media (max-width: 560px) {
  .nav-wrap { min-height: 78px; }
  .brand-wordmark img { width: 210px; max-width: calc(100vw - 118px); }
  .primary-nav { top: 78px; }
  .hero-copy { padding-top: 4.7rem; }
}


/* v3.0 — homepage launch structure */
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }
.hero-actions .button { min-width: 190px; }
.provider-spotlight-section { padding: clamp(4.8rem, 8vw, 7.5rem) 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.provider-spotlight { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.provider-spotlight h2 { max-width: 640px; margin-bottom: 0; }
.provider-spotlight-copy { max-width: 720px; }
.provider-spotlight-copy > p { color: var(--ink-2); font-size: 1.04rem; }
.provider-spotlight-copy > p + p { margin-top: 1rem; }
.provider-spotlight-copy .button-row { align-items: center; }
.provider-info-link { display: inline-flex; align-items: center; margin-left: .3rem; }
.mission-simple { max-width: 900px; margin-inline: auto; text-align: center; }
.mission-simple h2 { margin-inline: auto; }
.mission-simple > p:not(.kicker) { max-width: 760px; margin: 0 auto 1.8rem; color: rgba(255,255,255,.76); font-size: 1.08rem; }
@media (max-width: 820px) {
  .provider-spotlight { grid-template-columns: 1fr; gap: 2rem; }
  .hero-actions .button { min-width: 0; }
}
@media (max-width: 560px) {
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .provider-spotlight-copy .button-row { align-items: flex-start; flex-direction: column; }
  .provider-info-link { margin-left: 0; }
}
