@layer components{.page-hero{position:relative;isolation:isolate;padding-block:var(--space-16) var(--space-12);background-color:var(--color-bg);text-align:center}.page-hero__deco{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.page-hero__inner{position:relative;z-index:1;inline-size:min(100% - var(--space-8), var(--page-measure));margin-inline:auto}.page-hero__title{margin-block:var(--space-4) 0;font-size:var(--text-page-title);text-wrap:balance}.page-hero__lead{margin-block-start:var(--space-5);color:var(--color-text-muted);font-size:var(--text-lead);line-height:var(--lh-body)}.brush--page-sparkle{inset-block-start:var(--space-2);inset-inline-start:3.5%;inline-size:240px}.brush--page-wave{inset-block-start:var(--space-12);inset-inline-start:-40px;inline-size:360px}.brush--page-arrow{inset-block-start:-18px;inset-inline-end:-30px;inline-size:260px;opacity:.45}.breadcrumb__list{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:center;margin:0;padding:0;list-style:none}.breadcrumb__item{color:var(--color-secondary);font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);line-height:var(--lh-snug);text-transform:uppercase}.breadcrumb__item+.breadcrumb__item::before{content:"»";margin-inline-end:var(--space-2);color:var(--color-text-subtle)}.breadcrumb__item a{color:inherit;text-decoration:none}.breadcrumb__item a:hover{text-decoration:underline;text-underline-offset:.25em}.breadcrumb__item [aria-current="page"]{color:var(--color-text-muted)}.page-main{--page-measure:60rem;--page-prose:54rem;--page-wide:var(--page-measure)}.page-body{padding-block:var(--space-8) var(--space-32)}.page-body__inner{inline-size:min(100% - var(--space-8), var(--page-measure));margin-inline:auto}.page-body__inner>*{max-inline-size:var(--page-prose)}.page-body__inner>:is(.wp-block-group,.wp-block-table,.wp-block-image,figure,table){inline-size:min(100vw - var(--space-8), var(--page-wide));max-inline-size:none;margin-inline:calc((100% - min(100vw - var(--space-8), var(--page-wide))) / 2)}.page-body__inner :is(h2,h3){--flow-space:var(--space-10)}.page-body__inner :is(h4,h5,h6){--flow-space:var(--space-8)}.page-body__inner :is(h2,h3,h4):has(+.wp-block-details){--flow-space:var(--space-16);position:relative;margin-block-end:var(--space-6);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:var(--color-bg-alt);color:var(--color-text);font-size:var(--text-h4);line-height:var(--lh-snug);text-wrap:pretty}.page-body__inner :is(h2,h3,h4):has(+.wp-block-details)::before{content:"";position:absolute;inset-block:var(--space-5);inset-inline-start:var(--space-3);inline-size:4px;border-radius:var(--radius-full);background-color:var(--color-accent)}@media (min-width:1024px){.page-body__inner :is(h2,h3,h4):has(+.wp-block-details){margin-inline:calc((var(--space-6) + 1px) * -1)}}.page-body__inner :is(h2,h3,h4):has(+.wp-block-details)+.wp-block-details{border-block-start:none}.page-body__inner h1{--flow-space:var(--space-10);color:var(--color-primary);font-size:var(--text-h3)}.page-body__inner>.wp-block-image img{max-block-size:min(70vh, 560px);inline-size:auto;border-radius:var(--radius-2xl)}.page-body__inner>.research-figure img{max-block-size:none;inline-size:100%}.wp-block-details{--details-space:var(--space-5);border-block-end:1px solid var(--color-border);padding-block:var(--details-space)}.wp-block-details:not(.wp-block-details+.wp-block-details){border-block-start:1px solid var(--color-border)}.wp-block-details>summary{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;cursor:pointer;list-style:none;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-h5);font-weight:var(--fw-semibold);line-height:var(--lh-snug);transition:color var(--duration-base) var(--ease)}.wp-block-details>summary::-webkit-details-marker{display:none}.wp-block-details>summary::after{content:"";flex:none;inline-size:32px;block-size:32px;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background-color:#fff0;background-image:linear-gradient(var(--color-text),var(--color-text));background-position:center;background-repeat:no-repeat;background-size:12px 2px;transition:background-color var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),transform var(--duration-base) var(--ease)}.wp-block-details:not([open])>summary::after{background-image:linear-gradient(var(--color-text),var(--color-text)),linear-gradient(var(--color-text),var(--color-text));background-size:12px 2px,2px 12px}.wp-block-details[open]>summary{color:var(--color-primary)}.wp-block-details[open]{padding-block-end:var(--space-8)}.wp-block-details[open]>summary::after{border-color:var(--color-accent);background-color:var(--color-accent)}.wp-block-details>summary:hover::after{border-color:var(--color-primary)}.wp-block-details>summary:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.wp-block-details>:not(summary){margin-block-start:var(--space-6);max-inline-size:68ch;color:var(--color-text-muted)}.wp-block-details>:not(summary)+:not(summary){margin-block-start:var(--space-3)}.cta-cards{--flow-space:var(--space-12);display:grid;gap:var(--space-5)}@media (min-width:640px){.cta-cards{grid-template-columns:repeat(auto-fit,minmax(min(260px, 100%),1fr))}}.cta-card{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:var(--color-bg-alt);transition:border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease),transform var(--duration-base) var(--ease)}.cta-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cta-card__title{--flow-space:0;margin:0;color:var(--color-primary);font-size:var(--text-h4);line-height:var(--lh-snug);overflow-wrap:break-word;text-wrap:balance}.cta-card__cta{--flow-space:0;margin:0;margin-block-start:auto;padding-block-start:var(--space-2)}.cta-card__cta a{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-nav);font-weight:var(--fw-semibold);text-decoration:none}.cta-card__cta a::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.cta-card__cta a::after{content:"→";transition:transform var(--duration-base) var(--ease)}.cta-card:hover .cta-card__cta a{color:var(--color-primary)}.cta-card:hover .cta-card__cta a::after{transform:translateX(4px)}.cta-card__cta a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.badge-cards{--flow-space:var(--space-12);display:grid;gap:var(--space-6)}@media (min-width:640px){.badge-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.badge-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.badge-card__media{margin:0;inline-size:min(180px, 60%)}.badge-card__media img{inline-size:100%;block-size:auto;border-radius:0}.badge-card__title{--flow-space:0;margin:0;font-size:var(--text-h5);line-height:var(--lh-snug);text-wrap:balance}.badge-card__title a{color:var(--color-primary);text-decoration:none}.badge-card__title a:hover{text-decoration:underline;text-underline-offset:.2em}.badge-card__text{--flow-space:0;margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-body)}.logo-cards{--flow-space:var(--space-10);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(220px, 100%),1fr))}.logo-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-2xl);background-color:var(--color-bg-alt);text-align:center;transition:border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease),transform var(--duration-base) var(--ease)}.logo-card:has(a):hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.logo-card__media{--flow-space:0;display:flex;align-items:center;justify-content:center;margin:0;inline-size:100%;block-size:96px}.logo-card__media img{inline-size:auto;max-inline-size:100%;block-size:auto;max-block-size:100%;object-fit:contain}.logo-card__title{--flow-space:0;margin:0;font-size:var(--text-h6);line-height:var(--lh-snug);overflow-wrap:break-word;text-wrap:balance}.logo-card__title a{color:var(--color-primary);text-decoration:none}.logo-card:not(:has(a)) .logo-card__title{color:var(--color-text)}.logo-card__title a::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.logo-card:hover .logo-card__title a{text-decoration:underline;text-underline-offset:.2em}.logo-card__title a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.logo-card__text{--flow-space:0;margin:0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--lh-normal)}.page-body__inner .board-card__email a{color:inherit;text-decoration:none}.page-body__inner .board-card__email a:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:.2em}.program-row{--flow-space:var(--space-12);display:grid;gap:var(--space-6);align-items:start}.page-body__inner>.program-row{max-inline-size:var(--page-prose)}@media (min-width:640px){.program-row{grid-template-columns:140px minmax(0,1fr)}}.program-row__media{display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width:640px){.program-row__media{position:sticky;top:calc(var(--scroll-offset, 6rem) + var(--space-4))}}.program-row__photo{overflow:hidden;margin:0;inline-size:100%;max-inline-size:140px;aspect-ratio:1;border-radius:var(--radius-xl);background-color:var(--color-bg);& img{display:block;inline-size:100%;block-size:100%;object-fit:cover}}.program-row__body>*+*{margin-block-start:var(--space-4)}.page-body__inner .program-row__title{--flow-space:0;margin:0;color:var(--color-primary);font-size:var(--text-h4);line-height:var(--lh-snug);text-wrap:balance}.page-body__inner .program-row__lead{--flow-space:var(--space-1);margin:0;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide)}.page-body__inner .program-row__lead+.program-row__title{margin-block-start:var(--space-1)}.page-body__inner .indent{padding-inline-start:var(--space-10)}.page-body__inner .toc{--flow-space:var(--space-6);margin-block-end:var(--space-8);padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-card);background-color:var(--color-bg-alt);box-shadow:var(--shadow-card)}.page-body__inner .toc li+li{margin-block-start:var(--space-2)}.page-body__inner .toc li{color:var(--color-text)}.page-body__inner .toc li::marker{color:var(--color-primary)}@media (max-width:767px){.page-body__inner .toc{padding:var(--space-6)}}.page-body__inner .doc-cards{--doc-min:320px;--flow-space:var(--space-8);display:grid;gap:var(--space-4)}.page-body__inner .doc-cards--compact{--doc-min:210px}@media (min-width:640px){.page-body__inner .doc-cards{grid-template-columns:repeat(auto-fit,minmax(min(var(--doc-min), 100%),1fr))}}.page-body__inner .doc-card{--flow-space:0;position:relative;isolation:isolate;margin:0;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg-alt);transition:border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease),transform var(--duration-base) var(--ease)}.page-body__inner .doc-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.page-body__inner .doc-card a{display:flex;gap:var(--space-3);align-items:center;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-nav);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-decoration:none;overflow-wrap:break-word}.page-body__inner .doc-card a::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}.page-body__inner .doc-card:hover a{color:var(--color-primary)}.page-body__inner .doc-card a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:4px}.page-body__inner .doc-card a::after{content:"";flex:none;margin-inline-start:auto;inline-size:18px;block-size:18px;background-color:var(--color-primary);mask-image:url(/wp-content/themes/icf-2026/assets/icons/arrow-right.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center;transition:transform var(--duration-base) var(--ease)}.page-body__inner .doc-card:hover a::after{transform:translateX(3px)}.page-body__inner .doc-card--file{padding-inline-start:var(--space-12)}.page-body__inner .doc-card--file::before{content:"";position:absolute;inset-block-start:var(--space-4);inset-inline-start:var(--space-5);inline-size:20px;block-size:20px;background-color:var(--color-primary);mask-image:url(/wp-content/themes/icf-2026/assets/icons/file-text.svg);mask-size:contain;mask-repeat:no-repeat;mask-position:center}.page-body__inner .doc-card--file a::after{mask-image:url(/wp-content/themes/icf-2026/assets/icons/download.svg);block-size:17px;inline-size:17px}.page-body__inner .doc-card--file:hover a::after{transform:translateY(2px)}@media (max-width:767px){.page-body__inner .doc-card{padding:var(--space-4)}.page-body__inner .doc-card--file{padding-inline-start:var(--space-10)}.page-body__inner .doc-card--file::before{inset-inline-start:var(--space-4)}}.page-body__inner .note-box{--flow-space:var(--space-6);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-card);background-color:var(--color-bg-alt);box-shadow:var(--shadow-sm);color:var(--color-text-muted);font-size:var(--text-base)}.page-body__inner .note-box+.note-box{--flow-space:var(--space-3)}@media (max-width:767px){.page-body__inner .note-box{padding:var(--space-5)}}@media (max-width:1023px){.page-hero{padding-block:var(--space-12) var(--space-16)}.page-hero__title{font-size:var(--text-section-title)}.page-body{padding-block:var(--space-6) var(--space-20)}}@media (max-width:767px){.page-hero__title{font-size:2.125rem}.breadcrumb__list{gap:var(--space-1)}}}