/* CALR proposal v2: a practical association system layered over the editorial v1 identity. */
:root {
  --paper:#f7f8f8;--muted:#5c6670;--soft-line:#dfe3e6;--cream:#ede6dc;
}
html {scrollbar-color:#aab3bb #f3f4f5;scrollbar-width:thin;}
::-webkit-scrollbar {width:10px;height:10px;}
::-webkit-scrollbar-track {background:#f3f4f5;}
::-webkit-scrollbar-thumb {background:#aab3bb;border:2px solid #f3f4f5;}
::-webkit-scrollbar-thumb:hover {background:#738596;}
select,textarea {font:inherit;}
select:focus-visible,textarea:focus-visible {outline:3px solid #bd7956;outline-offset:2px;}
a[aria-current="page"]:not(.nav-cta) {color:var(--copper);text-decoration:underline;text-underline-offset:9px;}
.primary-navigation > a {font-size:14px;}
.concept-dot {width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--copper);margin-right:7px;}
.banner-divider {padding:0 8px;color:#baaf9d;}
.eyebrow {font:700 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--copper);margin:0 0 14px;}
.eyebrow-light {color:#d6ae8b;}
.hero .eyebrow {margin-bottom:15px;}
.hero h1 {font-size:clamp(45px,4.85vw,76px);}
.hero-media {background-image:url('assets/recovery-truck.webp');}
.hero-media {position:relative;}
.image-caption {position:absolute;bottom:22px;right:24px;background:#071627aa;color:#fff;padding:7px 11px;font:11px Arial,sans-serif;letter-spacing:.04em;}
.heritage > span:nth-child(2) {font-size:clamp(19px,2.7vw,32px);}
.section-intro {margin:0 0 30px;max-width:860px;}
.section-intro h2 {font-size:clamp(35px,4.25vw,59px);line-height:1.02;letter-spacing:-.047em;margin:0 0 12px;}
.section-intro > p:not(.eyebrow) {font-size:18px;line-height:1.5;color:var(--muted);}
.home-actions,.sector-section {padding-top:75px;padding-bottom:80px;}
.action-grid,.sector-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.action-card {display:flex;flex-direction:column;align-items:flex-start;min-height:300px;padding:34px;background:var(--paper);border:1px solid var(--soft-line);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.action-card:hover {transform:translateY(-4px);border-color:#b9a391;box-shadow:0 12px 30px #0b1e310d;}
.card-icon {font:700 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--copper);}
.action-card h3 {font-size:clamp(27px,2.3vw,35px);letter-spacing:-.04em;line-height:1.1;margin:32px 0 12px;}
.action-card p {font-size:16px;line-height:1.45;color:#485260;margin:0 0 30px;}
.action-card > span:last-child {font:700 14px Arial,sans-serif;color:var(--copper);margin-top:auto;}
.feature-band {background:linear-gradient(100deg,#0b1e31ed,#0b1e31bd),url('assets/california-ridgeline.webp') center 48%/cover;color:#fff;}
.feature-layout {display:grid;grid-template-columns:1fr 1.05fr;gap:70px;padding-top:75px;padding-bottom:75px;align-items:center;}
.feature-layout h2 {font-size:clamp(38px,3.9vw,58px);line-height:1.02;letter-spacing:-.05em;margin:0 0 15px;}
.feature-layout p {font-size:18px;line-height:1.5;color:#e1e7ed;max-width:580px;}
.feature-layout label {font:700 13px Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;display:block;margin-bottom:13px;}
.search-inline {display:flex;gap:10px;}
.search-inline input {min-width:0;flex:1;padding:15px 14px;border:1px solid #b7bfc7;background:#fff;color:#182b3c;font:16px Arial,sans-serif;}
.search-inline .button {font-family:Georgia,serif;}
.feature-layout small {display:block;margin-top:12px;font:12px/1.4 Arial,sans-serif;color:#bdc9d3;}
.sector-grid article {padding:25px 33px 25px 0;border-right:1px solid #d4d9de;}
.sector-grid article:last-child {border:0;}
.sector-grid h3 {font-size:30px;letter-spacing:-.035em;line-height:1.1;margin:0 0 13px;}
.sector-grid p {font-size:17px;color:#49535d;line-height:1.48;}
.closing-cta {background:var(--navy);color:#fff;}
.closing-inner {padding-top:80px;padding-bottom:80px;text-align:center;}
.closing-inner h2 {max-width:800px;font-size:clamp(37px,4.4vw,63px);line-height:1.06;letter-spacing:-.04em;margin:0 auto 30px;}
.button-light {background:#fff;color:var(--navy);}
.button-light:hover {background:#eadacc;}
.page-hero {background:linear-gradient(110deg,#0b1e31 52%,#18354c 100%);color:#fff;position:relative;overflow:hidden;}
.page-hero::after {content:'';position:absolute;right:-9%;top:-95%;height:270%;width:42%;border:1px solid #ffffff1c;border-radius:50%;transform:rotate(26deg);pointer-events:none;}
.page-hero-grid {padding-top:75px;padding-bottom:78px;display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:75px;align-items:end;position:relative;z-index:1;}
.page-hero h1 {font-size:clamp(55px,5.7vw,87px);line-height:.98;letter-spacing:-.06em;margin:0 0 20px;max-width:900px;}
.page-hero .lead {font-size:clamp(18px,1.7vw,23px);line-height:1.44;color:#dae4ea;max-width:770px;margin:0;}
.page-hero-aside {border-left:2px solid #c88b65;padding:5px 0 7px 24px;font-family:Arial,sans-serif;display:flex;flex-direction:column;gap:7px;}
.page-hero-aside strong {font:italic 46px/1 Georgia,serif;letter-spacing:-.05em;overflow-wrap:anywhere;}
.page-hero-aside .aside-email {font-size:23px;font-style:normal;letter-spacing:-.025em;}
.aside-kicker {font:700 11px Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#d4aa89;}
.page-hero-aside > span:last-child {color:#cdd8e1;font:13px/1.4 Arial,sans-serif;}
.content-section {padding-top:68px;padding-bottom:100px;}
.notice {padding:18px 22px;line-height:1.5;font:15px/1.5 Arial,sans-serif;margin:0 0 28px;border-left:3px solid var(--copper);}
.notice-info {background:#f4f0eb;color:#344152;}
.notice a {color:#7f401f;font-weight:700;}
.directory-layout {display:grid;grid-template-columns:290px minmax(0,1fr);gap:45px;align-items:start;}
.filters-panel {background:var(--paper);border:1px solid var(--soft-line);padding:24px;}
.filters-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;}
.filters-heading h2 {font-size:26px;letter-spacing:-.04em;margin:0;}
.button-text {color:var(--copper);background:none;border:0;font:700 13px Arial,sans-serif;text-decoration:underline;padding:8px;}
.filters-panel label,.question-panel label,.contact-composer label {display:block;font:700 13px Arial,sans-serif;color:#26394b;margin:19px 0 8px;}
.filters-panel input,.filters-panel select,.question-panel select,.contact-composer input,.contact-composer select,.contact-composer textarea {display:block;width:100%;background:#fff;color:#243544;border:1px solid #bfc7cc;border-radius:0;padding:12px;font:15px Arial,sans-serif;min-height:48px;}
.search-field {position:relative;}
.search-field input {padding-right:42px;}
.search-field button {position:absolute;right:6px;top:5px;background:none;border:none;color:#49535d;width:36px;height:38px;font-size:24px;}
.source-card {margin-top:28px;border-top:1px solid var(--soft-line);padding-top:25px;}
.source-card h3 {font-size:25px;letter-spacing:-.035em;margin:0 0 10px;}
.source-card p {font-size:15px;line-height:1.45;color:#4d5963;}
.source-card a,.resource-card a,.lead-story a,.news-side a,.contact-method a,.question-panel a,.source-grid a {font:700 14px/1.4 Arial,sans-serif;color:var(--copper);text-decoration:none;}
.source-card a:hover,.resource-card a:hover,.lead-story a:hover,.news-side a:hover,.contact-method a:hover,.question-panel a:hover,.source-grid a:hover {text-decoration:underline;}
.results-toolbar {display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid var(--navy);padding-bottom:18px;margin-bottom:3px;gap:18px;}
.results-toolbar h2 {font-size:32px;letter-spacing:-.04em;margin:0;}
.view-label {font:12px Arial,sans-serif;color:#6b7580;}
.listing-card {padding:25px 10px 25px 0;border-bottom:1px solid var(--soft-line);display:flex;justify-content:space-between;gap:22px;}
.listing-card h3 {margin:0 0 7px;font-size:24px;line-height:1.15;letter-spacing:-.027em;}
.listing-card p {margin:0;color:#53606a;font:15px/1.4 Arial,sans-serif;}
.listing-meta {display:flex;flex-direction:column;gap:12px;align-items:flex-end;white-space:nowrap;}
.listing-meta span {font:700 12px Arial,sans-serif;letter-spacing:.07em;color:#607080;}
.listing-meta a {font:700 13px Arial,sans-serif;color:var(--copper);text-decoration:none;}
.listing-meta a:hover {text-decoration:underline;}
.empty-state {padding:50px 15px;background:var(--paper);text-align:center;}
.empty-state h3 {font-size:26px;margin:0 0 10px;}
.empty-state p {font:15px Arial,sans-serif;}
.pagination {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:26px;font:13px Arial,sans-serif;color:#5b6976;}
.pagination > div {display:flex;gap:12px;align-items:center;}
.page-button {border:1px solid #b1bbc3;background:#fff;padding:10px 13px;color:var(--navy);font:700 13px Arial,sans-serif;}
.page-button:disabled {opacity:.35;cursor:not-allowed;}
.page-indicator {white-space:nowrap;}
.tier-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:36px 0 28px;}
.tier-card {border:1px solid var(--soft-line);padding:29px;background:#fff;display:flex;flex-direction:column;min-height:360px;}
.tier-card.featured {border-top:5px solid var(--copper);background:#fbf8f4;}
.tier-number {color:var(--copper);font:700 12px Arial,sans-serif;}
.tier-card h3 {font-size:34px;letter-spacing:-.04em;margin:18px 0 9px;}
.tier-price {font-size:54px;letter-spacing:-.05em;margin:0 0 17px;}
.tier-price span {font:16px Arial,sans-serif;letter-spacing:0;color:#69727b;}
.tier-card > p:not(.tier-price) {font:16px/1.47 Arial,sans-serif;color:#4c5964;max-width:340px;}
.tier-card .button {margin-top:auto;width:100%;}
.split-section {display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;padding:75px 0;}
.split-section h2 {font-size:clamp(38px,4vw,58px);letter-spacing:-.048em;line-height:1.04;margin:0 0 18px;}
.split-section p:not(.eyebrow) {font:17px/1.55 Arial,sans-serif;color:#4c5965;}
.question-panel {border:1px solid var(--soft-line);padding:28px;background:var(--paper);}
.question-panel label {margin-top:0;}
.question-panel h3 {font-size:27px;margin:0 0 21px;}
.guidance-box {padding:18px;border-left:3px solid var(--copper);background:#fff;font:15px/1.55 Arial,sans-serif;margin:16px 0 25px;min-height:70px;}
.ethics-block {background:var(--navy);color:#fff;padding:57px;display:flex;justify-content:space-between;gap:45px;align-items:center;margin-top:28px;}
.ethics-block h2 {max-width:700px;font-size:clamp(35px,4.2vw,61px);letter-spacing:-.05em;line-height:1.02;margin:0 0 15px;}
.ethics-block p:not(.eyebrow) {font:17px/1.5 Arial,sans-serif;color:#dae4ea;max-width:710px;margin-bottom:24px;}
.ethics-mark {font:italic 65px/.96 Georgia,serif;color:#b58d73;text-align:center;border:1px solid #6e8494;min-width:155px;padding:24px 10px;}
.resource-tabs {display:flex;border-bottom:2px solid #b5bec4;gap:0;overflow-x:auto;margin-top:30px;}
.resource-tabs button {padding:19px 24px;background:none;border:0;border-bottom:4px solid transparent;margin-bottom:-2px;color:#5a6570;font:700 15px Arial,sans-serif;white-space:nowrap;}
.resource-tabs button[aria-selected="true"] {border-color:var(--copper);color:var(--navy);}
.resource-panel {padding:35px 0 20px;}
.resource-panel[hidden] {display:none;}
.panel-intro h3 {font-size:33px;letter-spacing:-.04em;margin:0 0 9px;}
.panel-intro p {font:16px Arial,sans-serif;color:#5d6872;margin:0 0 26px;}
.resource-grid,.source-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:17px;}
.resource-card,.source-grid article {border:1px solid var(--soft-line);padding:28px;background:var(--paper);min-height:230px;display:flex;flex-direction:column;align-items:flex-start;}
.resource-card > span {color:var(--copper);font:700 12px Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;}
.resource-card h4,.source-grid h3 {font-size:28px;letter-spacing:-.035em;margin:16px 0 9px;line-height:1.15;}
.resource-card p,.source-grid p {font:15px/1.55 Arial,sans-serif;color:#55616d;margin:0 0 25px;}
.resource-card a,.source-grid a {margin-top:auto;}
.legal-note {border-top:1px solid var(--soft-line);margin-top:50px;}
.source-list {padding-left:19px;line-height:2.35;}
.news-grid {display:grid;grid-template-columns:1.45fr 1fr;gap:25px;}
.lead-story {border:1px solid var(--soft-line);}
.lead-story img {width:100%;height:300px;object-fit:cover;}
.lead-story > div {padding:27px 31px 34px;}
.lead-story h3 {font-size:36px;line-height:1.1;letter-spacing:-.04em;margin:10px 0 13px;}
.lead-story p,.news-side p {font:16px/1.48 Arial,sans-serif;color:#55616d;}
.news-side {display:grid;grid-template-rows:1fr 1fr;gap:25px;}
.news-side article {padding:29px;background:var(--paper);border:1px solid var(--soft-line);}
.news-side h3 {font-size:27px;line-height:1.12;letter-spacing:-.035em;margin:12px 0;}
.status-list {list-style:none;margin:0;padding:0;}
.status-list li {padding:15px 0;border-bottom:1px solid #d8dee3;display:flex;align-items:center;gap:12px;font:15px/1.4 Arial,sans-serif;}
.status-list b {font:700 12px Arial,sans-serif;margin-left:auto;color:#6a747c;text-align:right;}
.status-dot {width:9px;height:9px;border-radius:50%;flex:none;}
.status-dot.done {background:#358c7b;}.status-dot.planned {background:#c38f4d;}
.about-intro {padding-top:10px;}
.body-lead {font-size:20px!important;line-height:1.5!important;}
.board-intro {margin-top:30px;}
.board-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.board-card {display:flex;align-items:center;gap:17px;background:var(--paper);border:1px solid var(--soft-line);padding:17px;min-height:156px;min-width:0;transition:border-color .2s ease,box-shadow .2s ease;}
.board-card:hover {border-color:#b8a38d;box-shadow:0 6px 23px rgba(11,30,49,.07);}
.board-card > div {min-width:0;}
.board-portrait {display:block;width:88px;height:108px;flex:none;object-fit:cover;object-position:center 28%;border:1px solid rgba(11,30,49,.12);background:#dce5e9;filter:brightness(1.025) contrast(1.025) saturate(.96);}
.board-avatar {display:flex;align-items:center;justify-content:center;width:88px;height:108px;flex:none;background:#dce5e9;color:var(--navy);font:italic 24px Georgia,serif;}
.board-card h3 {font-size:22px;margin:0 0 7px;letter-spacing:-.03em;line-height:1.15;}
.board-card p {margin:0;color:#5d6872;font:13px/1.4 Arial,sans-serif;}
.board-card .eyebrow {font-size:10px;margin:0 0 7px;}
.board-card .board-photo-note {font-size:11px;color:#7b6e62;margin-top:7px;font-style:italic;}
.board-image-credit {font:12px/1.55 Arial,sans-serif;color:#68747d;margin:14px 0 50px;max-width:760px;}
.contact-grid {display:grid;grid-template-columns:.85fr 1fr;gap:9%;}
.contact-details h2,.contact-composer h2 {font-size:clamp(34px,3.6vw,51px);letter-spacing:-.045em;line-height:1.04;margin:0 0 28px;}
.contact-method {border-top:1px solid var(--soft-line);padding:21px 0;}
.contact-method span {display:block;font:700 11px Arial,sans-serif;letter-spacing:.13em;color:#8b4f2a;margin-bottom:9px;}
.contact-method a {font-size:17px;}
.contact-method p {font:17px/1.5 Arial,sans-serif;margin:0;}
.contact-composer {padding:35px;background:var(--paper);border:1px solid var(--soft-line);}
.contact-composer > p:not(.eyebrow),.form-notice {font:15px/1.5 Arial,sans-serif;color:#5a6570;}
.contact-composer label {margin-top:16px;}
.contact-composer textarea {min-height:145px;resize:none;line-height:1.5;}
.contact-composer .button {margin-top:20px;}
.field-error {min-height:0;font:12px/1.3 Arial,sans-serif;color:#ae3333;margin:4px 0 0;}
[aria-invalid="true"] {border-color:#ba3a3a!important;}
.form-notice {margin:17px 0 0;}
.source-grid {margin-bottom:28px;}
.footer-main {align-items:flex-start;min-height:0;padding-top:55px;padding-bottom:45px;}
.footer-links {display:grid;grid-template-columns:1fr 1fr;gap:13px 23px;}
.footer-mission {font:13px Arial,sans-serif;color:#c0cad3;margin-top:16px;}
.footer-official {font:14px/2 Arial,sans-serif;color:#d4dce4;}
.footer-official strong {color:#fff;}
.footer-official a {color:#e3b28f;text-decoration:none;}
.footer-bottom {padding-top:19px;padding-bottom:23px;border-top:1px solid #ffffff28;display:flex;justify-content:space-between;gap:30px;font:11px/1.5 Arial,sans-serif;color:#b8c5ce;}
.footer-bottom p {margin:0;max-width:950px;}
.footer-bottom span {white-space:nowrap;}
@media (max-width:1100px) {
  .menu-toggle {display:flex;flex-direction:column;gap:5px;justify-content:center;padding:10px;border:0;background:transparent;}
  .menu-toggle span {width:25px;height:2px;background:var(--navy);}
  .primary-navigation {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;box-shadow:0 10px 20px #0002;padding:10px 25px 20px;}
  .primary-navigation.is-open {display:flex;}
  .primary-navigation > a {font-size:16px;padding:14px 0;border-bottom:1px solid #eee;}
  .primary-navigation .nav-cta {justify-content:center;margin:15px 0 0;padding:16px;}
  .directory-layout {grid-template-columns:255px 1fr;gap:25px;}
  .board-grid {grid-template-columns:repeat(2,1fr);}
  .footer-main {flex-wrap:wrap;}
}
@media (max-width:800px) {
  .page-hero-grid,.feature-layout,.split-section,.contact-grid,.news-grid {grid-template-columns:1fr;gap:25px;}
  .page-hero-grid {padding-top:50px;padding-bottom:52px;}
  .page-hero-aside {max-width:350px;}
  .home-actions,.sector-section {padding-top:55px;padding-bottom:55px;}
  .action-grid,.sector-grid,.tier-grid {grid-template-columns:1fr;}
  .action-card {min-height:220px;}
  .sector-grid article {border-right:0;border-bottom:1px solid var(--soft-line);padding:20px 0;}
  .feature-layout {padding-top:55px;padding-bottom:55px;}
  .directory-layout {grid-template-columns:1fr;}
  .resource-grid,.source-grid {grid-template-columns:1fr 1fr;}
  .news-side {grid-template-rows:auto;}
  .ethics-block {padding:35px;}.ethics-mark {display:none;}
  .content-section {padding-top:48px;padding-bottom:70px;}
  .split-section {padding:48px 0;}
}
@media (max-width:570px) {
  .brand-name {font-size:9px;}
  .page-hero h1 {font-size:clamp(45px,11vw,66px);}
  .page-hero .lead {font-size:18px;}
  .search-inline {flex-direction:column;}
  .search-inline .button {width:100%;}
  .action-card {padding:27px;}
  .directory-results .results-toolbar {align-items:flex-start;}
  .view-label {display:none;}
  .listing-card {flex-direction:column;gap:13px;}
  .listing-meta {flex-direction:row;align-items:center;justify-content:space-between;white-space:normal;}
  .pagination {flex-direction:column;align-items:flex-start;}
  .pagination > div {flex-wrap:wrap;}
  .resource-grid,.source-grid,.board-grid {grid-template-columns:1fr;}
  .resource-tabs button {padding:16px;font-size:13px;}
  .question-panel,.contact-composer {padding:23px;}
  .footer-main {flex-direction:column;gap:27px;}
  .footer-links {grid-template-columns:1fr 1fr;}
  .footer-bottom {flex-direction:column;gap:10px;}
  .image-caption {display:none;}
}
@media (prefers-reduced-motion:reduce) {.action-card {transition:none;}}
@media (forced-colors:active) {html {scrollbar-color:auto;} .status-dot {border:1px solid currentColor;}}
