/* Shared primitives for the refreshed inner pages (About, Coverage, Counsellors), from the
   Claude Design refresh. Headings use Lora 600-700 (owner prefers bolder than the design's 500). */
.rf { background: #FAF8F4; color: #18222F; font-family: 'Public Sans', system-ui, sans-serif; }
.rf-wrap { max-width: 1264px; margin: 0 auto; padding: 0 32px; }
.rf-narrow { max-width: 1160px; }
.rf-sand { background: #F1EBE2; }
.rf-navy { background: #152A47; color: #F4F1EA; }
.rf-sec { padding: 112px 0; }
.rf-sec--md { padding: 104px 0; }
.rf .rf-eyebrow { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #CC4A22; }
.rf-navy .rf-eyebrow, .rf-hero .rf-eyebrow { color: #F2A23A; }
.rf-h1 { margin: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: clamp(42px, 6vw, 80px); line-height: 1.04; letter-spacing: -.015em; color: #F4F1EA; text-wrap: balance; }
.rf-h1 em { font-weight: 600; color: #F2A23A; }
.rf-h2 { margin: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; color: #1F3B63; text-wrap: balance; letter-spacing: -.01em; }
.rf-h2--lg { font-size: clamp(38px, 5vw, 64px); line-height: 1.05; }
.rf-h2 em { font-weight: 600; color: #CC4A22; }
.rf-navy .rf-h2 { color: #F4F1EA; }
.rf-navy .rf-h2 em { color: #F2A23A; }
.rf-h3 { margin: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: 26px; line-height: 1.2; color: #1F3B63; }
.rf p { margin: 0; font-size: 16px; line-height: 1.65; color: #3E4858; text-wrap: pretty; }
.rf-navy p, .rf-hero p { color: #C9D2E0; }
.rf a { color: #CC4A22; }
.rf .rf-muted { color: #586273; }
.rf-head { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.rf-split { display: flex; flex-wrap: wrap; gap: 24px 64px; justify-content: space-between; align-items: flex-end; }
.rf .rf-aside { max-width: 44ch; color: #586273; }
.rf-btn { align-self: flex-start; display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 28px; border-radius: 999px; background: #CC4A22; color: #FFFFFF !important; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; border: 0; cursor: pointer; font-family: inherit; }
.rf-btn:hover { background: #B33E1B; }
.rf-btn--ghost { background: transparent; border: 1.5px solid #F4F1EA; color: #F4F1EA !important; }
.rf-btn--ghost:hover { background: #F4F1EA; color: #1F3B63 !important; }
.rf-btn--outline { background: transparent; border: 1.5px solid #1F3B63; color: #1F3B63 !important; }
.rf-btn--outline:hover { background: #1F3B63; color: #FFFFFF !important; }
.rf-link { font-size: 15px; font-weight: 600; text-decoration: none; }
.rf-link:hover { color: #B33E1B; }
.rf-tick { flex: none; width: 24px; height: 24px; border-radius: 50%; background: #CC4A22; color: #FFFFFF; display: grid; place-items: center; font-size: 12px; font-weight: 700; margin-top: 3px; }
.rf-hero { background: #152A47; color: #F4F1EA; overflow: hidden; }
.rf-end { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-end; justify-content: space-between; padding-top: 96px; padding-bottom: 96px; }
.rf-end .rf-h2 { max-width: 13ch; }
.rf-end__copy { flex: 0 1 380px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }

/* accordion (figma.js .faq__item toggling) */
.rf .rf-q { background: none; padding: 0; border: 0; border-top: 1px solid #E2DDD4; }
.rf .rf-q .faq__q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; background: none; border: 0; cursor: pointer; text-align: left; }
.rf .rf-q .faq__q span { font-family: Lora, Georgia, serif; font-weight: 600; font-size: 21px; line-height: 1.3; color: #1F3B63; }
.rf .rf-q .faq__q i { position: relative; flex: none; width: 16px; height: 16px; }
.rf .rf-q .faq__q i::before, .rf .rf-q .faq__q i::after { content: ''; position: absolute; left: 0; top: 7px; width: 16px; height: 2px; background: #CC4A22; transition: transform .25s ease; }
.rf .rf-q .faq__q i::after { transform: rotate(90deg); }
.rf .rf-q.is-open .faq__q i::after { transform: rotate(0); }
.rf .rf-q .faq__a p { max-width: 62ch; padding-bottom: 24px; }
.rf .rf-q.is-open .faq__a { margin-top: 0; max-height: 600px; }

@media (max-width: 699px) {
  .rf-wrap { padding: 0 20px; }
  .rf-sec, .rf-sec--md { padding: 64px 0; }
  .rf-end { padding-top: 64px; padding-bottom: 64px; }
  .rf-btn { white-space: normal; text-align: center; }
}

/* ===== About ===== */
.ab-hero__inner { max-width: 1000px; margin: 0 auto; padding: 96px 32px 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 22px; }
.ab-hero__inner p { font-size: 18px; line-height: 1.6; max-width: 50ch; }
.ab-sun { position: relative; width: min(440px, 72vw); aspect-ratio: 2 / 1; margin-top: 48px; }
.ab-sun i { position: absolute; width: 3px; border-radius: 2px; background: #F2A23A; }
.ab-sun i:nth-child(1) { left: 50%; top: -44px; height: 26px; margin-left: -1.5px; }
.ab-sun i:nth-child(2) { left: 8%; top: -4px; height: 24px; transform: rotate(-45deg); }
.ab-sun i:nth-child(3) { right: 8%; top: -4px; height: 24px; transform: rotate(45deg); }
.ab-sun b { position: absolute; inset: 0; border-radius: 999px 999px 0 0; background: #F2A23A; }
.ab-note { display: flex; flex-wrap: wrap; gap: 56px 88px; align-items: flex-start; }
.ab-letter { flex: 1 1 560px; max-width: 680px; display: flex; flex-direction: column; gap: 26px; }
.rf .ab-lede { font-family: Lora, Georgia, serif; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.45; color: #1F3B63; }
.rf .ab-letter p:not(.ab-lede):not(.rf-eyebrow) { font-family: Lora, Georgia, serif; font-size: 19px; line-height: 1.75; color: #18222F; }
.ab-sign { display: flex; align-items: center; gap: 14px; margin-top: 8px; padding-top: 24px; border-top: 1px solid #E2DDD4; font-family: Lora, Georgia, serif; font-style: italic; font-size: 20px; color: #1F3B63; }
.ab-glance { flex: 1 1 260px; max-width: 320px; position: sticky; top: 32px; display: flex; flex-direction: column; border-top: 2px solid #1F3B63; }
.ab-glance__title { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #586273; padding: 16px 0 4px; }
.ab-glance__row { display: flex; flex-direction: column; gap: 2px; padding: 16px 0; border-bottom: 1px solid #E2DDD4; }
.ab-glance__row span { font-size: 13px; color: #586273; }
.ab-glance__row strong { font-size: 16px; font-weight: 600; color: #1F3B63; }
.ab-glance__row strong.is-orange { color: #CC4A22; }
.ab-glance .rf-btn { margin-top: 24px; align-self: stretch; }
.ab-photos { padding-bottom: 112px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px; }
.ab-photos img { width: 100%; height: clamp(300px, 34vw, 460px); object-fit: cover; border-radius: 16px; display: block; }
.ab-three { margin-top: 56px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 48px; }
.ab-three > div { display: flex; flex-direction: column; gap: 14px; }
.ab-three b { font-family: Lora, Georgia, serif; font-weight: 600; font-size: 64px; line-height: 1; color: #CC4A22; }
.ab-rules { margin-top: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 0 56px; border-top: 1px solid #E2DDD4; }
.ab-rule { display: flex; gap: 16px; padding: 26px 0; border-bottom: 1px solid #E2DDD4; }
.ab-rule h3 { margin: 0 0 6px; font-family: Lora, Georgia, serif; font-weight: 600; font-size: 21px; color: #1F3B63; }
.ab-rule p { font-size: 15px; line-height: 1.6; }
@media (max-width: 899px) { .ab-glance { position: static; max-width: none; } }
@media (max-width: 699px) {
  .ab-hero__inner { padding: 64px 20px 0; }
  .ab-letter, .ab-glance { flex-basis: 100%; min-width: 0; }
  .ab-photos { padding-bottom: 64px; }
}

/* ===== Coverage (nihb.html) ===== */
.cv-hero { padding-top: 72px; padding-bottom: 96px; display: flex; flex-wrap: wrap; gap: 64px; align-items: center; }
.cv-hero__copy { flex: 1.25 1 440px; display: flex; flex-direction: column; gap: 24px; }
.rf .cv-h1 { color: #1F3B63; font-size: clamp(40px, 5.2vw, 66px); line-height: 1.05; }
.rf .cv-lead { font-size: 18px; line-height: 1.6; max-width: 54ch; }
.cv-check { flex: 1 1 360px; max-width: 460px; background: #FFFFFF; border: 1px solid #E2DDD4; border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 18px; box-shadow: 0 24px 48px -32px rgba(21, 42, 71, .35); }
.cv-check__title { font-family: Lora, Georgia, serif; font-weight: 700; font-size: 28px; color: #1F3B63; }
.cv-check__label { font-size: 13px; font-weight: 600; color: #586273; }
.cv-opts { display: flex; flex-direction: column; gap: 8px; }
.cv-opt { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px; border-radius: 10px; border: 1.5px solid #E2DDD4; background: #FFFFFF; text-align: left; font: 500 15px 'Public Sans', system-ui, sans-serif; color: #18222F; cursor: pointer; }
.cv-opt i { flex: none; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid #E2DDD4; display: grid; place-items: center; }
.cv-opt i::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: transparent; }
.cv-opt[aria-checked="true"] { border-color: #CC4A22; background: #FBF1EC; }
.cv-opt[aria-checked="true"] i { border-color: #CC4A22; }
.cv-opt[aria-checked="true"] i::after { background: #CC4A22; }
.cv-result { border-top: 1px solid #E2DDD4; padding-top: 18px; min-height: 112px; }
.cv-result > div { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.cv-result > div[hidden] { display: none; }
.cv-result__title { font-family: Lora, Georgia, serif; font-weight: 700; font-size: 24px; color: #1F3B63; }
.rf .cv-result p { font-size: 14px; line-height: 1.6; }
.cv-btn-sm { height: 46px; padding: 0 22px; font-size: 14px; }
.cv-cost { padding-top: 96px; padding-bottom: 96px; display: flex; flex-wrap: wrap; gap: 64px; align-items: center; }
.cv-cost__media { flex: 1.3 1 440px; height: clamp(300px, 36vw, 480px); }
.cv-cost__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; display: block; }
.cv-cost__copy { flex: 1 1 340px; max-width: 440px; display: flex; flex-direction: column; gap: 24px; }
.rf .cv-h2-sm { font-size: clamp(30px, 3vw, 40px); line-height: 1.15; }
.rf .cv-h2-md { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.1; }
.cv-receipt { background: #FFFFFF; padding: 28px 28px 24px; border-radius: 4px; box-shadow: 0 1px 0 #E2DDD4, 0 24px 40px -28px rgba(21, 42, 71, .35); font-variant-numeric: tabular-nums; }
.cv-receipt__head { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #586273; padding-bottom: 14px; border-bottom: 1px dashed #C9C1B4; }
.cv-receipt__row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px dashed #E2DDD4; font-size: 15px; color: #18222F; }
.cv-receipt__row b { font-weight: 600; text-align: right; }
.cv-receipt__row--last { border-bottom: 0; }
.cv-receipt__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; border-top: 2px solid #18222F; }
.cv-receipt__total span { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cv-receipt__total strong { font-family: Lora, Georgia, serif; font-weight: 700; font-size: 44px; color: #1F3B63; }
.rf .cv-small { font-size: 14px; line-height: 1.6; color: #586273; }
.cv-steps { list-style: none; margin: 64px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 40px; }
.cv-steps li { display: flex; flex-direction: column; gap: 14px; }
.cv-steps .rf-h3 { font-size: 25px; }
.rf .cv-steps p { font-size: 15px; }
.cv-steps__top { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.cv-num { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #CC4A22; color: #FFFFFF; display: grid; place-items: center; font-weight: 700; font-size: 16px; }
.cv-num--navy { background: #1F3B63; }
.cv-rule { flex: 1; height: 2px; background: #E2DDD4; }
.cv-metis { border-top: 1px solid #E2DDD4; }
.cv-metis__grid { padding-top: 104px; padding-bottom: 104px; display: flex; flex-wrap: wrap; gap: 72px; }
.cv-metis__copy { flex: 1 1 400px; display: flex; flex-direction: column; gap: 18px; }
.cv-metis__copy p { max-width: 56ch; }
.cv-metis__side { flex: 1 1 400px; display: flex; flex-direction: column; gap: 32px; }
.cv-list { display: flex; flex-direction: column; border-top: 2px solid #1F3B63; }
.cv-list > div { padding: 20px 0; border-bottom: 1px solid #E2DDD4; display: flex; flex-direction: column; gap: 6px; }
.cv-list strong { font-size: 16px; font-weight: 600; color: #1F3B63; }
.rf .cv-list p { font-size: 15px; line-height: 1.6; }
.cv-plain { background: #F1EBE2; border-radius: 12px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.rf .cv-plain p:not(.rf-eyebrow) { font-family: Lora, Georgia, serif; font-style: italic; font-size: 21px; line-height: 1.5; color: #1F3B63; }
.cv-crisis { padding-top: 64px; padding-bottom: 64px; display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.cv-crisis__copy { flex: 1 1 280px; display: flex; flex-direction: column; gap: 10px; }
.cv-crisis__copy h2 { margin: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: 32px; color: #F4F1EA; }
.rf .cv-crisis__copy p { font-size: 15px; line-height: 1.6; max-width: 36ch; }
.cv-lines { flex: 2 1 560px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.cv-lines a { display: flex; flex-direction: column; gap: 8px; padding: 22px; border: 1px solid rgba(244, 241, 234, .22); border-radius: 12px; text-decoration: none; color: #F4F1EA !important; transition: background .2s ease; }
.cv-lines a:hover { background: rgba(244, 241, 234, .06); }
.cv-lines span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #F2A23A; }
.cv-lines strong { font-family: Lora, Georgia, serif; font-weight: 600; font-size: 24px; }
.cv-faq { display: flex; flex-wrap: wrap; gap: 72px; align-items: flex-start; }
.cv-faq__head { flex: 1 1 300px; position: sticky; top: 32px; display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.cv-faq__list { flex: 1.6 1 480px; display: flex; flex-direction: column; border-bottom: 1px solid #E2DDD4; }
.rf .cv-em { color: inherit; }
@media (max-width: 899px) { .cv-faq__head { position: static; } }
@media (max-width: 699px) {
  .cv-hero { padding-top: 48px; padding-bottom: 64px; gap: 40px; }
  .cv-hero__copy, .cv-check, .cv-cost__media, .cv-cost__copy, .cv-metis__copy, .cv-metis__side, .cv-crisis__copy, .cv-lines, .cv-faq__list { flex-basis: 100%; min-width: 0; max-width: none; }
  .cv-cost, .cv-metis__grid { padding-top: 64px; padding-bottom: 64px; }
  .cv-faq { gap: 40px; }
}

/* ===== Counsellors ===== */
.cs-hero { padding-top: 72px; padding-bottom: 40px; display: flex; flex-wrap: wrap; gap: 64px; align-items: center; }
.cs-hero__copy { flex: 1.2 1 440px; display: flex; flex-direction: column; gap: 24px; }
.cs-actions { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
.cs-claim { flex: 1 1 360px; max-width: 460px; background: #1F3B63; color: #F4F1EA; border-radius: 14px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.cs-claim__label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #F2A23A; }
.cs-claim__big { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.cs-claim__big span { font-family: Lora, Georgia, serif; font-weight: 700; font-size: 68px; line-height: 1; }
.cs-claim__big em { font-style: normal; font-size: 15px; color: #C9D2E0; }
.rf .cs-claim p { font-size: 14px; line-height: 1.6; color: #C9D2E0; }
.rf .cs-claim .cs-claim__note { font-size: 12px; line-height: 1.5; }
.rf .cs-claim a { color: #F2A23A; font-weight: 600; }
.cs-find { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.cs-find label { font-size: 13px; font-weight: 600; color: #F4F1EA; }
.cs-find__row { display: flex; gap: 8px; flex-wrap: wrap; }
.cs-find input { flex: 1 1 200px; height: 50px; padding: 0 16px; border-radius: 10px; border: 0; background: #FFFFFF; color: #18222F; font: 400 15px "Public Sans", system-ui, sans-serif; }
.cs-find button { height: 50px; padding: 0 20px; border-radius: 10px; border: 0; background: #CC4A22; color: #FFFFFF; font: 600 15px "Public Sans", system-ui, sans-serif; cursor: pointer; }
.cs-find button:hover { background: #B33E1B; }
.cs-pills { padding-bottom: 56px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.cs-pills > div { display: flex; align-items: center; gap: 12px; padding: 20px 20px 20px 0; font-size: 15px; font-weight: 600; color: #1F3B63; border-top: 1px solid #E2DDD4; border-bottom: 1px solid #E2DDD4; }
.cs-pills span { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #CC4A22; }
.cs-photo img { width: 100%; height: clamp(260px, 32vw, 440px); object-fit: cover; border-radius: 6px; display: block; }
.cs-flow-wrap { margin-top: 56px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cs-flow { min-width: 900px; display: grid; grid-template-columns: 110px repeat(4, minmax(0, 1fr)); grid-template-rows: auto repeat(3, minmax(150px, auto)); column-gap: 16px; }
.cs-flow__step { grid-row: 1; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #586273; padding-bottom: 14px; }
.cs-flow__lane { grid-column: 1 / -1; border-top: 1px solid #E2DDD4; }
.cs-flow__lane--you { border-bottom: 1px solid #E2DDD4; background: #F1EBE2; border-radius: 0 0 8px 8px; }
.cs-flow__who { grid-column: 1; padding: 20px 0; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #586273; }
.cs-flow__who--you { padding-left: 14px; color: #CC4A22; }
.cs-card { margin: 14px 0; background: #FFFFFF; border: 1px solid #E2DDD4; border-radius: 10px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.cs-card--you { border: 1.5px solid #CC4A22; }
.cs-card h3 { margin: 0; font-family: Lora, Georgia, serif; font-weight: 600; font-size: 19px; line-height: 1.25; color: #1F3B63; }
.rf .cs-card p { font-size: 13px; line-height: 1.55; }
.cs-terms { margin-top: 56px; border-top: 2px solid #1F3B63; border-bottom: 1px solid #D9D1C4; }
.cs-term { display: flex; flex-wrap: wrap; gap: 16px 0; padding: 32px 0; }
.cs-term + .cs-term { border-top: 1px solid #D9D1C4; }
.cs-term > b { flex: none; width: 72px; font-family: Lora, Georgia, serif; font-weight: 600; font-size: 40px; line-height: 1; color: #CC4A22; }
.cs-term__pair { flex: 1 1 560px; display: flex; flex-wrap: wrap; gap: 24px 48px; }
.cs-term__pair > div { flex: 1 1 260px; display: flex; flex-direction: column; gap: 8px; }
.cs-term__pair span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #586273; }
.cs-term__pair span.is-you { color: #CC4A22; }
.cs-term__pair strong { font-family: Lora, Georgia, serif; font-weight: 600; font-size: 22px; line-height: 1.25; color: #1F3B63; }
.rf .cs-term__pair p { font-size: 15px; line-height: 1.6; max-width: 46ch; }
.cs-who { display: flex; flex-wrap: wrap; gap: 40px 72px; align-items: flex-start; }
.cs-who__head { flex: 1 1 360px; display: flex; flex-direction: column; gap: 16px; }
.cs-who__copy { flex: 1.2 1 440px; display: flex; flex-direction: column; gap: 18px; padding-top: 36px; }
.rf .cs-who__copy p { line-height: 1.7; }
.rf .cs-quote { font-family: Lora, Georgia, serif; font-style: italic; font-size: 21px; line-height: 1.5; color: #1F3B63; }
.cs-join { background: #1F3B63; color: #F4F1EA; }
.cs-join__grid { padding-top: 104px; padding-bottom: 104px; display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; }
.cs-join__copy { flex: 1 1 320px; display: flex; flex-direction: column; gap: 18px; }
.rf .cs-join .rf-eyebrow { color: #F2A23A; }
.cs-join .rf-h2 { color: #F4F1EA; }
.rf .cs-join__copy p { color: #C9D2E0; max-width: 42ch; }
.rf .cs-join__copy .cs-small { font-size: 14px; line-height: 1.6; }
.rf .cs-join__copy a { color: #F2A23A; font-weight: 600; }
.cs-form { flex: 1.3 1 460px; background: #FFFFFF; color: #18222F; border-radius: 14px; padding: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.cs-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: #18222F; }
.cs-field i { font-style: normal; font-weight: 400; color: #586273; }
.cs-field--full, .cs-enrol, .cs-form__foot, .cs-form .form__done { grid-column: 1 / -1; }
.cs-field input, .cs-field select, .cs-field textarea { height: 48px; padding: 0 14px; border: 1px solid #D9D1C4; border-radius: 8px; background: #FAF8F4; font: 400 15px "Public Sans", system-ui, sans-serif; color: #18222F; width: 100%; }
.cs-field textarea { height: auto; padding: 12px 14px; resize: vertical; }
.cs-field input:focus, .cs-field select:focus, .cs-field textarea:focus { outline: 2px solid #CC4A22; outline-offset: 1px; }
.cs-enrol { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cs-enrol legend { font-size: 13px; font-weight: 600; margin-bottom: 8px; padding: 0; }
.cs-enrol__opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 8px; }
.cs-enrol__opts label { position: relative; cursor: pointer; }
.cs-enrol__opts input { position: absolute; opacity: 0; pointer-events: none; }
.cs-enrol__opts span { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: 10px; border: 1.5px solid #D9D1C4; background: #FFFFFF; height: 100%; }
.cs-enrol__opts b { font-size: 14px; font-weight: 600; color: #18222F; }
.cs-enrol__opts small { font-size: 12px; line-height: 1.4; color: #586273; }
.cs-enrol__opts input:checked + span { border-color: #CC4A22; background: #FBF1EC; }
.cs-enrol__opts input:focus-visible + span { outline: 2px solid #CC4A22; outline-offset: 2px; }
.cs-form__foot { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.rf .cs-form__foot p { font-size: 12px; line-height: 1.5; color: #586273; max-width: 40ch; }
.cs-form.is-sent .cs-field, .cs-form.is-sent .cs-enrol, .cs-form.is-sent .cs-form__foot { display: none; }
.rf .cs-form .form__done { background: #F1EBE2; color: #1F3B63; }
@media (max-width: 699px) {
  .cs-hero { padding-top: 48px; gap: 40px; }
  .cs-hero__copy, .cs-claim, .cs-join__copy, .cs-form, .cs-who__head, .cs-who__copy { flex-basis: 100%; min-width: 0; max-width: none; }
  .cs-claim, .cs-form { padding: 24px; }
  .cs-claim__big span { font-size: 54px; }
  .cs-join__grid { padding-top: 64px; padding-bottom: 64px; }
  .cs-who__copy { padding-top: 0; }
  .cs-term > b { width: 48px; font-size: 32px; }
}

/* About: icon badges */
.ab-ic { position: relative; width: 84px; height: 84px; border-radius: 22px; background: #FFFFFF; color: #1F3B63; display: grid; place-items: center; box-shadow: 0 10px 24px -14px rgba(21, 42, 71, .45); margin-bottom: 6px; }
.ab-ic svg { width: 42px; height: 42px; }
.ab-ic span { position: absolute; top: -8px; right: -8px; width: 26px; height: 26px; border-radius: 50%; background: #CC4A22; color: #FFFFFF; font: 700 13px 'Public Sans', system-ui, sans-serif; display: grid; place-items: center; }
.ab-pic { flex: none; width: 50px; height: 50px; border-radius: 12px; background: #F1EBE2; color: #CC4A22; display: grid; place-items: center; }
.ab-pic svg { width: 27px; height: 27px; }

/* ---------- partners.html: resource kit ---------- */
.pk-hero__inner { padding-top: 88px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 20px; max-width: 980px; }
.pk-hero__inner p { font-size: 18px; max-width: 58ch; }
.pk-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.pk-jump a { color: #F4F1EA !important; text-decoration: none; font-size: 14px; font-weight: 600; padding: 8px 14px; border: 1.5px solid rgba(244,241,234,.35); border-radius: 999px; }
.pk-jump a:hover { border-color: #F2A23A; color: #F2A23A !important; }
.pk-sec .rf-head { margin-bottom: 32px; }
.pk-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 32px 72px; align-items: start; }
.pk-facts .rf-head { margin-bottom: 0; }
.pk-facts .rf-btn { grid-column: 2; }
.pk-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.pk-list li { position: relative; padding-left: 26px; font-size: 16px; line-height: 1.6; color: #3E4858; }
.pk-list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: #F2A23A; }
.pk-list strong { color: #18222F; }
.pk-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pk-card { background: #fff; border: 1px solid #E2DDD4; border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.pk-h { margin: 0; font-family: Lora, Georgia, serif; font-weight: 700; font-size: 19px; color: #1F3B63; }
.rf .pk-copytext { flex: 1; font-size: 15px; }
.pk-copy { align-self: flex-start; border: 1.5px solid #1F3B63; background: transparent; color: #1F3B63; border-radius: 999px; padding: 8px 16px; font: 600 14px/1 'Public Sans', system-ui, sans-serif; cursor: pointer; }
.pk-copy:hover { background: #1F3B63; color: #fff; }
.pk-copy.is-done { background: #2F6B4F; border-color: #2F6B4F; color: #fff; }
.pk-snip { background: #fff; border: 1px solid #E2DDD4; border-radius: 16px; padding: 22px; margin-bottom: 18px; display: flex; flex-direction: column; gap: 14px; }
.pk-snip__head { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; }
.pk-snip__head .rf-muted { font-size: 14px; }
.pk-preview { padding: 22px; border-radius: 12px; background: #F1EBE2; font-size: 15px; line-height: 1.6; color: #3E4858; }
.pk-code { margin: 0; padding: 14px 16px; border-radius: 10px; background: #152A47; color: #E7ECF4; font: 12.5px/1.55 Consolas, 'Courier New', monospace; white-space: pre-wrap; word-break: break-all; max-height: 220px; overflow: auto; }
.rf code { font-size: .9em; background: #F1EBE2; padding: 1px 5px; border-radius: 4px; }
.rf .pk-note { margin-top: 10px; font-size: 14px; }
.pk-logo { display: flex; flex-direction: column; gap: 10px; text-decoration: none; }
.pk-logo__img { display: flex; align-items: center; justify-content: center; height: 150px; border-radius: 14px; background: #fff; border: 1px solid #E2DDD4; padding: 16px; }
.pk-logo__img img { max-width: 100%; height: auto; }
.pk-logo--dark .pk-logo__img { background: #152A47; border-color: #152A47; }
.pk-logo__cap { font-size: 14px; color: #3E4858; }
.pk-logo__cap b { margin-left: 4px; font-size: 11px; letter-spacing: .08em; color: #CC4A22; }
.pk-dl { display: flex; flex-direction: column; gap: 4px; padding: 22px; border-radius: 16px; background: #fff; border: 1px solid #E2DDD4; text-decoration: none; transition: border-color .2s; }
.pk-dl:hover { border-color: #CC4A22; }
.pk-dl b { font-family: Lora, Georgia, serif; font-size: 20px; color: #1F3B63; }
.pk-dl span { font-size: 14px; color: #586273; }
.pk-dl::after { content: 'Download ↓'; margin-top: 8px; font-size: 14px; font-weight: 700; color: #CC4A22; }
@media (max-width: 900px) {
  .pk-facts { grid-template-columns: 1fr; }
  .pk-facts .rf-btn { grid-column: 1; }
  .pk-grid3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .pk-hero__inner { padding-top: 56px; padding-bottom: 48px; }
  .pk-snip, .pk-card { padding: 18px; }
  .pk-preview { padding: 16px; }
}
