/* Shared multi-page content and readiness states for UK Charging Network. */
:root { --page: 1240px; --page-gutter: 48px; --gate: #fff7e8; --gate-rule: #e7c987; --gate-ink: #624b22; }
.page-wrap { width: min(var(--page), calc(100% - 2 * var(--page-gutter))); margin-inline: auto; }
.site-header .header-inner { width: min(var(--page), calc(100% - 2 * var(--page-gutter))); min-height: 92px; }
.site-header .brand-logo { width: 270px; }
.site-header .primary-nav { gap: clamp(12px, 1.55vw, 22px); font-size: 12px; }
.site-header .primary-nav a[aria-current="page"]:not(.nav-cta) { color: #5b7f3d; }
.site-header .nav-cta { border-radius: 999px; }
.site-header .menu-toggle { display: none; }
.home-hero { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(370px,.97fr); align-items: center; gap: clamp(42px,6vw,82px); padding-block: 76px 72px; }
.home-hero-copy { max-width: 650px; }
.home-kicker { margin: 23px 0 10px; color: #638346; font-size: 12px; font-weight: 800; letter-spacing: .09em; }
.home-hero h1 { max-width: 700px; margin: 0 0 20px; font-size: clamp(45px,5.7vw,72px); font-weight: 650; letter-spacing: -.065em; line-height: 1.02; }
.home-lede { max-width: 590px; margin-bottom: 28px; color: #59675d; font-size: 17px; line-height: 1.75; }
.hero-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.path-card { min-height: 163px; display: flex; flex-direction: column; gap: 13px; justify-content: space-between; padding: 18px 20px; border-radius: 19px; background: white; box-shadow: 0 10px 30px rgba(30,55,36,.07); transition: transform .18s ease, box-shadow .18s ease; }
.path-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(30,55,36,.12); }
.path-card-green { background: #eaf1e5; }
.path-audience { color: #638346; font-size: 11px; font-weight: 800; letter-spacing: .045em; }
.path-card strong { font-size: 17px; line-height: 1.35; letter-spacing: -.025em; }
.path-action { display: flex; justify-content: space-between; align-items: center; color: #58665d; font-size: 13px; font-weight: 700; }
.path-action b { color: #638346; font-size: 20px; }
.home-hero-image { position: relative; min-width: 0; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border: 1px solid #e4e9e0; border-radius: 24px; background: #eef3eb; box-shadow: 0 12px 34px rgba(30,55,36,.08); }
.home-hero-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; filter: saturate(.82) contrast(.96); }
.proof-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 60px; border-block: 1px solid var(--rule); }
.proof-strip > div { min-height: 89px; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 12px 25px; border-right: 1px solid var(--rule); }
.proof-strip > div:first-child { padding-left: 0; }
.proof-strip > div:last-child { border-right: 0; }
.proof-strip strong { font-size: 14px; }
.proof-strip span { color: #617066; font-size: 13px; }
.home-section { padding-block: 72px 78px; }
.section-intro { max-width: 700px; margin-bottom: 32px; }
.section-intro h2, .home-section h2, .page-section h2 { margin: 12px 0 14px; font-size: clamp(30px,4vw,48px); line-height: 1.1; font-weight: 650; letter-spacing: -.052em; }
.section-intro > p, .home-section > div > p { color: #5d6a61; font-size: 16px; line-height: 1.75; }
.value-grid, .readiness-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.value-card { min-height: 205px; padding: 23px; border-radius: 20px; background: white; box-shadow: 0 8px 26px rgba(30,55,36,.055); }
.value-index { display: block; margin-bottom: 25px; color: #658647; font-size: 12px; font-weight: 800; }
.value-card h3 { margin-bottom: 10px; font-size: 18px; letter-spacing: -.025em; }
.value-card p { margin: 0; color: #5c6a60; font-size: 14px; line-height: 1.7; }
.launch-gate { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px; border: 1px solid var(--gate-rule); border-left: 4px solid #c2943f; border-radius: 15px; background: var(--gate); color: var(--gate-ink); }
.launch-gate strong { font-size: 16px; line-height: 1.4; }
.launch-gate p { margin: 0; color: #6c5b3c; font-size: 13px; line-height: 1.65; }
.gate-label { color: #83621f; font-size: 10px; font-weight: 800; letter-spacing: .07em; }
.launch-gate-inline { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); align-items: center; gap: 18px 30px; margin-top: 20px; }
.launch-gate-inline > div { display: flex; flex-direction: column; gap: 8px; }
.launch-gate-inline p { font-size: 12px; }
.audience-band { padding-block: 67px; background: #153a30; color: #fff; }
.audience-band-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }
.audience-band article + article { padding-left: 48px; border-left: 1px solid rgba(255,255,255,.18); }
.audience-band .eyebrow { color: #c4e59c; }
.audience-band h2 { max-width: 520px; margin: 14px 0; font-size: clamp(28px,3.5vw,42px); line-height: 1.1; letter-spacing: -.05em; }
.audience-band p { max-width: 520px; color: rgba(255,255,255,.81); font-size: 15px; line-height: 1.75; }
.audience-band .text-link { color: #d5eda9; font-size: 14px; }
.audience-band .text-link span { color: #d5eda9; }
.home-process { padding-top: 75px; }
.process-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 23px; }
.process-cards article { min-height: 185px; padding: 23px; border-radius: 19px; background: #edf2eb; }
.process-cards article > span { color: #648548; font-size: 12px; font-weight: 800; }
.process-cards h3 { margin: 23px 0 8px; font-size: 18px; }
.process-cards p { margin: 0; color: #5d6a61; font-size: 14px; line-height: 1.65; }
.opportunity-preview { background: #eef3eb; }
.opportunity-preview-inner { display: flex; align-items: center; justify-content: space-between; gap: 38px; }
.opportunity-preview-inner > div { max-width: 710px; }
.opportunity-preview-inner h2 { margin-top: 12px; }
.opportunity-preview-inner p { margin: 0; color: #5d6a61; font-size: 15px; line-height: 1.7; }
.button-primary, .button-secondary { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 0 22px; border-radius: 999px; background: #bdea6c; color: #17231d; font-size: 14px; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.button-primary:hover, .button-secondary:hover { transform: translateY(-2px); background: #a9db58; }
.button-primary span, .button-secondary span { font-size: 18px; }
.button-secondary { background: #e7efe1; }
.region-preview { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 45px; }
.region-preview h2 { margin: 12px 0; }
.region-preview > div > p { margin: 0; color: #5d6a61; font-size: 15px; line-height: 1.7; }
.site-footer .footer-back { font-family: var(--sans); font-size: 13px; font-weight: 700; }
.site-footer .footer-back span { color: #bdea6c; }
.site-footer .footer-bottom { flex-wrap: wrap; font-family: var(--sans); font-size: 11px; }
.site-footer .footer-bottom a { color: rgba(255,255,255,.72); }
.page-hero { padding-block: 80px 56px; }
.page-hero h1 { max-width: 930px; margin: 21px 0 20px; font-size: clamp(44px,6.4vw,74px); font-weight: 650; line-height: 1.02; letter-spacing: -.065em; }
.page-lede { max-width: 790px; margin: 0; color: #5a695f; font-size: 18px; line-height: 1.75; }
.hero-inline-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 22px; margin-top: 28px; }
.hero-inline-actions > span { color: #657268; font-size: 13px; }
.page-section { padding-block: 64px 72px; }
.two-column { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: start; gap: clamp(35px,7vw,90px); }
.two-column > div:first-child > p { color: #5d6a61; font-size: 15px; line-height: 1.75; }
.criteria-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.criteria-grid article { min-height: 143px; padding: 18px; border-radius: 17px; background: #edf2eb; }
.criteria-grid article > span, .service-list article > span, .coverage-regions article > span { color: #668847; font-size: 11px; font-weight: 800; }
.criteria-grid h3 { margin: 16px 0 6px; font-size: 16px; }
.criteria-grid p { margin: 0; color: #5d6a61; font-size: 13px; line-height: 1.55; }
.owner-potential, .provider-highlight, .responsibility-band { background: #153a30; color: #fff; }
.potential-layout, .provider-highlight-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.75fr); align-items: center; gap: clamp(40px,8vw,105px); }
.potential-layout h2, .provider-highlight h2 { max-width: 690px; }
.potential-layout p, .provider-highlight p { max-width: 690px; margin-bottom: 24px; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.75; }
.potential-layout .eyebrow, .provider-highlight .eyebrow { color: #d6ecae; }
.potential-layout .launch-gate, .provider-highlight .launch-gate { color: var(--gate-ink); }
.response-gate { margin-top: 27px; }
.service-list { display: grid; gap: 10px; }
.service-list article { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 18px; border-radius: 15px; background: #edf2eb; }
.service-list h3 { margin: 0 0 5px; font-size: 16px; }
.service-list p { margin: 0; color: #5d6a61; font-size: 13px; line-height: 1.6; }
.provider-highlight-inner { padding-block: 10px; }
.provider-highlight h2 { margin-top: 13px; }
.provider-brief-list { padding: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 20px; background: rgba(255,255,255,.06); }
.provider-brief-list .gate-label { color: #d2e8a8; }
.provider-brief-list ul { display: grid; gap: 11px; padding-left: 19px; color: #f5f7f1; font-size: 14px; }
.provider-brief-list small { color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.55; }
.final-cta { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.final-cta > div:first-child { max-width: 760px; }
.final-cta h2 { margin-top: 12px; }
.final-cta p { color: #5d6a61; font-size: 15px; line-height: 1.7; }
.process-detail-list { display: grid; gap: 17px; }
.process-detail { display: grid; grid-template-columns: 70px minmax(0,1fr) minmax(190px,.45fr); align-items: start; gap: 22px; padding: 26px; border-radius: 21px; background: white; box-shadow: 0 8px 28px rgba(30,55,36,.055); }
.process-number { color: #648548; font-size: 18px; font-weight: 800; }
.process-detail h2 { margin: 9px 0 10px; font-size: clamp(24px,3vw,34px); }
.process-detail p { max-width: 700px; margin-bottom: 14px; color: #59675d; font-size: 14px; line-height: 1.75; }
.process-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.process-tags span { padding: 6px 10px; border-radius: 999px; background: #edf2eb; color: #4e6843; font-size: 11px; font-weight: 700; }
.process-outcome { padding: 15px; border-radius: 14px; background: #edf2eb; }
.process-outcome strong { color: #54753a; font-size: 12px; }
.process-outcome p { margin: 7px 0 0; font-size: 12px; }
.responsibility-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 50px; align-items: center; }
.responsibility-grid .eyebrow { color: #d3eaa6; }
.responsibility-grid h2 { margin-bottom: 0; font-size: clamp(30px,4vw,45px); }
.responsibility-grid p { margin: 0; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.8; }
.about-readiness { background: #eef3eb; }
.about-readiness .section-intro { max-width: 780px; }
.about-readiness .section-intro p { color: #5d6a61; font-size: 15px; }
.readiness-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.readiness-grid .launch-gate { min-height: 190px; }
.independence-note { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; }
.opportunity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.opportunity-card { position: relative; min-height: 285px; padding: 25px; border-radius: 21px; background: white; box-shadow: 0 8px 28px rgba(30,55,36,.055); }
.opportunity-number { position: absolute; top: 25px; right: 26px; color: #72914e; font-size: 12px; font-weight: 800; }
.opportunity-symbol { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 19px; border-radius: 14px; background: #eaf1e5; color: #567a39; font-size: 17px; font-weight: 800; }
.opportunity-card h2 { max-width: 400px; margin: 0 0 10px; font-size: 24px; }
.opportunity-card p { margin-bottom: 17px; color: #59675d; font-size: 14px; line-height: 1.7; }
.opportunity-card .text-link { color: #456532; font-size: 13px; }
.type-readiness { background: #eef3eb; }
.coverage-preview { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 30px; }
.coverage-map-card { min-height: 370px; display: flex; flex-direction: column; justify-content: space-between; padding: 23px; border-radius: 22px; background: linear-gradient(145deg,#153a30,#225745); color: #fff; }
.coverage-map-label { color: #d7ebaf; font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.coverage-map-mark { min-height: 190px; display: grid; place-items: center; position: relative; }
.coverage-map-mark::before { content: ''; width: 106px; height: 160px; border: 2px solid rgba(216,236,180,.72); border-radius: 46% 42% 40% 52% / 24% 28% 58% 60%; transform: rotate(8deg); }
.coverage-map-mark span { position: absolute; width: 13px; height: 13px; border: 3px solid #1b4838; border-radius: 50%; background: #c4ea77; box-shadow: 0 0 0 6px rgba(196,234,119,.15); }
.coverage-map-mark span:nth-child(1) { top: 28px; left: 53%; }.coverage-map-mark span:nth-child(2) { top: 82px; left: 43%; }.coverage-map-mark span:nth-child(3) { bottom: 42px; left: 51%; }.coverage-map-mark span:nth-child(4) { bottom: 20px; left: 45%; }
.coverage-map-card p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.55; }
.coverage-regions { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.coverage-regions article { display: flex; gap: 12px; align-items: flex-start; padding: 19px; border-radius: 16px; background: #edf2eb; }
.coverage-regions h2 { margin: 0 0 6px; font-size: 17px; }
.coverage-regions p { margin: 0; color: #5d6a61; font-size: 12px; line-height: 1.6; }
.locations-gate { background: #eef3eb; }
.locations-gate .launch-gate { max-width: 960px; margin-inline: auto; padding: 26px; }
.contact-hero { padding-bottom: 36px; }
.contact-forms { display: block; max-width: 820px; padding-top: 10px; }
.form-preview { padding: 23px; border: 1px solid #e4e8e0; border-radius: 22px; background: white; box-shadow: 0 10px 34px rgba(30,55,36,.06); scroll-margin-top: 105px; }
.form-heading { margin-bottom: 18px; }
.form-heading h2 { margin: 10px 0 8px; font-size: 27px; }
.form-heading p { margin: 0; color: #5d6a61; font-size: 14px; line-height: 1.6; }
.form-gate { margin-bottom: 19px; padding: 16px; }
.form-gate strong { font-size: 14px; }
.form-gate p { font-size: 11px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 12px; }
.field { min-width: 0; }
.field-wide { grid-column: 1 / -1; }
.form-role-selector { max-width: 520px; margin-bottom: 16px; }
.field label { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: #2e3f34; font-size: 12px; font-weight: 800; }
.field label span { color: #677968; font-size: 10px; font-weight: 700; }
.field input, .field textarea, .field select { width: 100%; min-height: 47px; padding: 12px; border: 1px solid #dce4d9; border-radius: 11px; background: #fbfcfa; color: #506057; font: inherit; font-size: 13px; }
.field textarea { min-height: 88px; resize: vertical; }
.field select:focus-visible { outline: 3px solid #70924b; outline-offset: 2px; }
.field input:disabled, .field textarea:disabled, .field select:disabled { opacity: 1; color: #737e74; background: #f1f3f0; border-color: #e0e5de; -webkit-text-fill-color: #737e74; cursor: not-allowed; }
.field input::placeholder, .field textarea::placeholder { color: #8a968c; }
.form-button { width: 100%; margin-top: 17px; }
.contact-followup { background: #eef3eb; }
.contact-followup .two-column { align-items: center; }
.contact-last-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-last-grid .launch-gate { min-height: 190px; }
.contact-low-friction { margin: 21px 0 0; color: #5d6a61; font-size: 14px; line-height: 1.65; }

@media (max-width: 1120px) {
  .site-header .header-inner { min-height: 82px; }
  .site-header .menu-toggle { width: 44px; height: 44px; display: grid; place-items: center; background: transparent; border: 1px solid #cfd8cc; border-radius: 12px; cursor: pointer; }
  .site-header .primary-nav { position: absolute; top: 82px; left: 0; right: 0; display: none; padding: 12px var(--page-gutter) 20px; align-items: stretch; flex-direction: column; gap: 0; background: var(--paper); border-bottom: 1px solid var(--rule); box-shadow: 0 12px 24px rgba(23,35,29,.08); }
  .site-header .primary-nav.is-open { display: flex; }
  .site-header .primary-nav > a:not(.nav-cta) { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  .site-header .nav-cta { margin-top: 13px; justify-content: space-between; }
  .home-hero { grid-template-columns: minmax(0,1fr) minmax(340px,.9fr); gap: 32px; }
}
@media (max-width: 820px) {
  :root { --page-gutter: 24px; }
  .home-hero { grid-template-columns: 1fr; padding-block: 57px 47px; }
  .home-hero-copy { max-width: none; }
  .home-hero-image { width: 100%; max-width: 620px; }
  .proof-strip { grid-template-columns: 1fr; margin-bottom: 25px; }
  .proof-strip > div, .proof-strip > div:first-child { min-height: 70px; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--rule); }
  .proof-strip > div:last-child { border-bottom: 0; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card { min-height: 0; }
  .value-index { margin-bottom: 12px; }
  .launch-gate-inline { grid-template-columns: 1fr; }
  .audience-band-inner { grid-template-columns: 1fr; gap: 32px; }
  .audience-band article + article { padding: 31px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .process-cards { grid-template-columns: 1fr; }
  .process-cards article { min-height: 0; }
  .process-cards h3 { margin-top: 13px; }
  .opportunity-preview-inner, .final-cta { align-items: flex-start; flex-direction: column; }
  .region-preview, .two-column, .potential-layout, .provider-highlight-inner, .responsibility-grid, .coverage-preview { grid-template-columns: 1fr; }
  .process-detail { grid-template-columns: 48px 1fr; }
  .process-outcome { grid-column: 2; }
  .contact-last-grid { grid-template-columns: 1fr; }
  .independence-note { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  :root { --page-gutter: 20px; }
  .site-header .brand-logo { width: min(225px, calc(100vw - 86px)); }
  .home-hero h1, .page-hero h1 { font-size: clamp(42px,11.5vw,60px); }
  .home-lede, .page-lede { font-size: 16px; }
  .hero-paths { grid-template-columns: 1fr; }
  .path-card { min-height: 133px; }
  .proof-strip { margin-top: 15px; }
  .home-section, .page-section { padding-block: 46px 50px; }
  .section-intro h2, .home-section h2, .page-section h2 { font-size: clamp(29px,8vw,39px); }
  .audience-band { padding-block: 48px; }
  .audience-band h2 { font-size: 30px; }
  .launch-gate { padding: 17px; }
  .criteria-grid, .readiness-grid, .opportunity-grid, .coverage-regions { grid-template-columns: 1fr; }
  .criteria-grid article { min-height: 0; }
  .page-hero { padding-block: 56px 33px; }
  .hero-inline-actions { align-items: flex-start; flex-direction: column; }
  .process-detail { grid-template-columns: 34px 1fr; gap: 14px; padding: 18px; }
  .process-outcome { grid-column: 2; }
  .process-detail h2 { font-size: 25px; }
  .provider-brief-list { padding: 18px; }
  .coverage-map-card { min-height: 290px; }
  .form-preview { padding: 18px; border-radius: 18px; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .contact-last-grid .launch-gate { min-height: 0; }
  .site-footer .footer-main { gap: 15px; }
}
@media (prefers-reduced-motion: reduce) { .path-card { transition: none; } }


/* November refinements: site-context photography, direct contact and concise FAQs. */
.location-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.location-photo-card { overflow: hidden; border: 1px solid #e3e9e0; border-radius: 22px; background: #fff; box-shadow: 0 10px 28px rgba(30,55,36,.06); }
.location-photo-card img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eaf1e5; }
.location-photo-copy { padding: 20px 22px 22px; }
.location-photo-copy > span { color: #668847; font-size: 10px; font-weight: 800; letter-spacing: .07em; }
.location-photo-copy h2 { margin: 8px 0; font-size: clamp(21px, 2.5vw, 28px); }
.location-photo-copy p { margin: 0; color: #5d6a61; font-size: 14px; line-height: 1.65; }
.site-footer .footer-main { display: grid; grid-template-columns: minmax(175px,.85fr) minmax(160px,1fr) minmax(240px,1.2fr) auto; align-items: center; gap: 23px; padding-block: 28px; }
.site-footer .footer-main > p { margin: 0; color: rgba(255,255,255,.77); font-size: 13px; line-height: 1.6; }
.footer-contact { display: grid; gap: 4px; }
.footer-label { color: rgba(255,255,255,.63); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.footer-contact > a { color: #fff; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.footer-contact small { color: rgba(255,255,255,.63); font-size: 10px; line-height: 1.45; }
.footer-links { display: flex; flex-wrap: wrap; gap: 20px; padding-block: 13px; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.78); font-size: 12px; }
.footer-links a:hover, .footer-contact > a:hover { color: #c8ea8d; }
.contact-email-card { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; gap: 9px; padding: 24px; border: 1px solid #e3e9e0; border-radius: 20px; background: white; box-shadow: 0 10px 28px rgba(30,55,36,.055); }
.contact-email-card .gate-label { color: #638346; }
.contact-email-card h2 { margin: 0; font-size: 22px; }
.contact-email-card p { margin: 0; color: #5d6a61; font-size: 13px; line-height: 1.6; }
.contact-email { color: #33582e; font-size: 16px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.contact-email-card small { color: #69766b; font-size: 11px; line-height: 1.5; }
.faq-section .faq-list { border-top: 1px solid var(--rule); }
.faq-section .faq-list details { border-bottom: 1px solid var(--rule); }
.faq-section .faq-list summary { cursor: pointer; font-weight: 750; }
.faq-section .faq-list details p { max-width: 820px; margin: 11px 0 4px; }
@media (max-width: 1000px) {
  .site-footer .footer-main { grid-template-columns: minmax(160px,1fr) minmax(160px,1fr); }
  .site-footer .footer-main > p { order: 3; }
  .site-footer .footer-back { justify-self: end; }
  .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .location-photo-grid { grid-template-columns: 1fr; gap: 14px; }
  .location-photo-card img { aspect-ratio: 1.38 / 1; }
  .location-photo-copy { padding: 17px 18px 19px; }
  .site-footer .footer-main { grid-template-columns: 1fr; gap: 13px; }
  .site-footer .footer-main > p { order: initial; }
  .footer-contact { grid-column: auto; }
  .site-footer .footer-back { justify-self: stretch; }
  .footer-links { gap: 14px; }
}


/* Home landing-page site-type feature: visible on-page, no category-page click required. */
.home-location-gallery .section-intro { max-width: 960px; margin-bottom: 26px; }
.home-location-gallery .section-intro h2 { max-width: 780px; font-size: clamp(30px, 4vw, 48px); }
.home-location-gallery .home-site-note { margin-top: 12px; color: #6d796f; font-size: 12px; line-height: 1.55; }
.home-location-gallery .home-location-photo-grid { margin-top: 20px; gap: 14px; }
.home-location-gallery .location-photo-copy h3 { margin: 8px 0; font-size: clamp(18px, 2vw, 23px); line-height: 1.2; }
.home-location-gallery .location-photo-copy p { font-size: 13px; }
.home-site-value-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.home-site-value-pair > div { display: grid; gap: 7px; padding: 17px 20px; border: 1px solid #e1e9dc; border-radius: 16px; background: #f0f5ec; }
.home-site-value-pair span { color: #668847; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.home-site-value-pair strong { color: #26372c; font-size: 15px; line-height: 1.45; }
@media (max-width: 600px) {
  .home-location-gallery .home-location-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .home-location-gallery .location-photo-card img { aspect-ratio: 1.15 / 1; }
  .home-location-gallery .location-photo-copy { padding: 12px 13px 14px; }
  .home-location-gallery .location-photo-copy > span { font-size: 8px; }
  .home-location-gallery .location-photo-copy h3 { margin: 6px 0; font-size: 15px; }
  .home-location-gallery .location-photo-copy p { font-size: 11px; line-height: 1.45; }
  .home-site-value-pair { grid-template-columns: 1fr; gap: 9px; }
  .home-site-value-pair > div { padding: 13px 15px; }
  .home-site-value-pair strong { font-size: 14px; }
}


/* Home audience chooser: two equally prominent paths with one shared, full-width detail panel. */
.audience-entry { margin: 0 auto 34px; }
.audience-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.audience-entry-option { min-height: 176px; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 14px; padding: 23px 26px; border: 2px solid #e0e8dc; border-radius: 24px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 10px 28px rgba(30,55,36,.065); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease; }
.audience-entry-option-provider { background: #edf3e9; }
.audience-entry-option:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(30,55,36,.12); border-color: #9bb780; }
.audience-entry-option:focus-visible { outline: 3px solid #70924b; outline-offset: 3px; }
.audience-entry-option[aria-expanded="true"] { border-color: #153a30; background: #153a30; color: #fff; box-shadow: 0 16px 36px rgba(21,58,48,.19); }
.audience-entry-label { color: #638346; font-size: 11px; font-weight: 800; letter-spacing: .075em; }
.audience-entry-option[aria-expanded="true"] .audience-entry-label { color: #d2e9aa; }
.audience-entry-option > strong { max-width: 520px; font-size: clamp(20px, 2.5vw, 30px); font-weight: 700; line-height: 1.18; letter-spacing: -.04em; }
.audience-entry-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #536359; font-size: 14px; font-weight: 700; }
.audience-entry-option[aria-expanded="true"] .audience-entry-action { color: rgba(255,255,255,.86); }
.audience-entry-action b { color: #638346; font-size: 22px; line-height: 1; }
.audience-entry-option[aria-expanded="true"] .audience-entry-action b { color: #d2e9aa; }
.audience-entry-panel { margin-top: 15px; }
.audience-entry-panel[hidden], .audience-role-panel[hidden] { display: none; }
.audience-role-panel:not([hidden]) { padding: 31px; border: 1px solid #e1e8dd; border-radius: 25px; background: #fff; box-shadow: 0 12px 34px rgba(30,55,36,.07); }
.audience-role-intro { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-bottom: 22px; border-bottom: 1px solid #e4e9e1; }
.audience-role-intro > div { max-width: 800px; }
.audience-role-intro .eyebrow { color: #638346; font-weight: 800; }
.audience-role-intro h2 { margin: 9px 0 11px; font-size: clamp(26px, 3.4vw, 40px); line-height: 1.12; letter-spacing: -.05em; }
.audience-role-intro p { max-width: 790px; margin: 0; color: #5d6a61; font-size: 15px; line-height: 1.7; }
.audience-role-intro .button { flex: 0 0 auto; }
.audience-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.audience-process-grid > article { min-height: 150px; padding: 18px; border-radius: 17px; background: #eef3eb; }
.audience-process-grid > article > span { color: #668847; font-size: 11px; font-weight: 800; }
.audience-process-grid h3 { margin: 16px 0 7px; font-size: 15px; line-height: 1.3; }
.audience-process-grid p { margin: 0; color: #5d6a61; font-size: 13px; line-height: 1.6; }
@media (max-width: 760px) {
  .audience-role-intro { align-items: flex-start; flex-direction: column; }
  .audience-role-intro .button { width: 100%; }
  .audience-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .audience-entry { margin-bottom: 25px; }
  .audience-entry-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .audience-entry-option { min-height: 165px; padding: 16px 13px; border-radius: 17px; gap: 10px; }
  .audience-entry-label { font-size: 9px; letter-spacing: .045em; }
  .audience-entry-option > strong { font-size: 17px; line-height: 1.2; }
  .audience-entry-action { align-items: flex-end; font-size: 11px; line-height: 1.35; }
  .audience-entry-action b { flex: 0 0 auto; font-size: 19px; }
  .audience-role-panel:not([hidden]) { padding: 19px; border-radius: 20px; }
  .audience-role-intro h2 { font-size: 27px; }
  .audience-role-intro p { font-size: 14px; }
  .audience-process-grid { grid-template-columns: 1fr; gap: 9px; }
  .audience-process-grid > article { min-height: 0; padding: 15px; }
  .audience-process-grid h3 { margin: 8px 0 5px; }
}
@media (prefers-reduced-motion: reduce) { .audience-entry-option { transition: none; } }


/* Copy-refresh components: concise paragraph groups, opportunity imagery and form-preview states. */
.home-lede p, .page-lede p { margin: 0 0 12px; }
.home-lede p:last-child, .page-lede p:last-child { margin-bottom: 0; }
.audience-detail-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; }
.gallery-link { display: inline-flex; margin-top: 19px; }
.owner-audience-grid article { min-height: 108px; }
.owner-audience-grid h3 { margin-top: 12px; }
.owner-benefit-list { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.owner-benefit-list li { padding: 14px 16px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.55; }
.owner-process-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.owner-terms-note { margin: 20px 0; padding: 15px 18px; border-left: 3px solid #78964f; border-radius: 0 12px 12px 0; background: #eef3eb; color: #526257; font-size: 13px; line-height: 1.65; }
.provider-brief-list small { display: block; }
.responsibility-roles { display: grid; gap: 14px; }
.responsibility-role { display: grid; grid-template-columns: minmax(130px,.42fr) minmax(0,1fr); align-items: start; gap: 15px; padding-bottom: 13px; border-bottom: 1px solid rgba(255,255,255,.16); }
.responsibility-role:last-child { padding-bottom: 0; border-bottom: 0; }
.responsibility-role strong { color: #d8edb3; font-size: 13px; }
.responsibility-role p { margin: 0; color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.65; }
.due-diligence-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 22px; margin: 0; padding: 20px 22px 20px 42px; border-radius: 18px; background: #eef3eb; color: #415347; font-size: 14px; line-height: 1.6; }
.due-diligence-list li { padding-left: 3px; }
.about-purpose > div:last-child p { margin: 0; color: #5d6a61; font-size: 15px; line-height: 1.8; }
.about-approach .section-intro { max-width: 820px; }
.form-data-note { margin-bottom: 18px; padding: 12px 14px; border-left: 3px solid #78964f; border-radius: 0 10px 10px 0; background: #f0f5ec; color: #4e5e52; font-size: 12px; line-height: 1.6; }
.form-data-note p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.form-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.contact-next-step-card { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; gap: 9px; padding: 24px; border: 1px solid #e3e9e0; border-radius: 20px; background: white; box-shadow: 0 10px 28px rgba(30,55,36,.055); }
.contact-next-step-card .gate-label { color: #638346; }
.contact-next-step-card h2 { margin: 0; font-size: 22px; }
.contact-next-step-card p { margin: 0; color: #5d6a61; font-size: 13px; line-height: 1.7; }
.opportunity-card { min-height: 0; }
.opportunity-card .opportunity-number { z-index: 1; top: 34px; right: 34px; padding: 6px 9px; border: 1px solid rgba(30,55,36,.08); border-radius: 999px; background: rgba(255,255,255,.94); color: #4e6e36; }
.opportunity-image { display: block; width: 100%; aspect-ratio: 16 / 9; margin: 0 0 18px; border-radius: 15px; object-fit: cover; background: #eaf1e5; }
.opportunity-card h2 { padding-right: 15px; }
.cta-pair { display: flex; flex-wrap: wrap; gap: 12px; }

@media (max-width: 820px) {
  .owner-process-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .responsibility-role { grid-template-columns: 1fr; gap: 5px; }
  .due-diligence-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .owner-process-cards, .due-diligence-list { grid-template-columns: 1fr; }
  .owner-audience-grid article { min-height: 0; }
  .owner-benefit-list li { padding: 12px 14px; }
  .contact-next-step-card { min-height: 0; padding: 19px; }
  .opportunity-image { aspect-ratio: 1.38 / 1; margin-bottom: 14px; }
  .opportunity-card { padding: 17px; }
  .opportunity-card .opportunity-number { top: 25px; right: 25px; }
  .cta-pair { width: 100%; flex-direction: column; }
  .cta-pair .button { width: 100%; }
}
