@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* Civil Process Network — Release 26 UX readability refinement */
:root{
  --cpn-radius:14px;
  --cpn-shadow:0 18px 50px rgba(0,0,0,.22);
  --cpn-readable:68ch;
  --cpn-page-max:1120px;
  --cpn-bg:#08111d;
  --cpn-bg-2:#0f1c2c;
  --cpn-accent:rgba(201,168,76,.12);
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  background-color:var(--cpn-bg) !important;
  background-image:
    linear-gradient(112deg,rgba(6,13,23,.79),rgba(8,17,29,.67) 46%,rgba(8,17,29,.76)),
    url('/assets/photos/legal-process-courthouse.webp') !important;
  background-position:center top, center top !important;
  background-size:cover, cover !important;
  background-repeat:no-repeat, no-repeat !important;
  background-attachment:fixed, fixed !important;
}
a,button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,168,76,.55);outline-offset:3px}

h1,h2,h3,h4,h5,h6,
.section-title,
.logo-mark,
.net-logo-mark,
.font-syne,
.font-serif{
  font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  letter-spacing:-.025em;
}

p,li{
  text-wrap:pretty;
}

.page-wrap,.container,.pricing-wrap{
  width:min(var(--cpn-page-max),calc(100% - 48px)) !important;
  max-width:var(--cpn-page-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.hero-content,
.page-header > p,
.page-header .subtitle,
.section-sub,
.hero-sub,
.sub,
.page-wrap > p,
.page-wrap > .sub,
.container > p,
.container > .section-sub,
.waitlist-section > p,
.card p,
.price-card p,
.provider-card p,
.attorney-card p,
.vendor-card p,
.how-body,
.muted,
.prose,
.content-copy,
.copy,
.lead{
  max-width:var(--cpn-readable) !important;
}

.hero-content p,
.waitlist-section > p,
.page-header > p,
.page-wrap > p,
.container > p,
.container > .section-sub,
.lead,
.copy,
.content-copy,
.prose{
  color:rgba(245,240,232,.86);
}

.hero,
.page-header,
.waitlist-section,
.card,
.provider-card,
.attorney-card,
.vendor-card,
.price-card,
.how-card,
.county-card,
.state-btn,
.glass{
  backdrop-filter:blur(8px);
}

.price-card,.county-card,.how-card,.state-btn,.provider-card,.attorney-card,.vendor-card,.card{
  box-shadow:0 10px 30px rgba(0,0,0,.12)
}

nav,.net-nav{min-height:64px}
.btn,.cta-btn,.net-cta{min-height:42px;align-items:center;justify-content:center}
input,select,textarea{min-height:44px}
textarea{min-height:120px}

section .section-title,
section h2,
main h2{
  max-width:18ch;
}

.hero-content h1,
.page-header h1,
main h1{
  max-width:13ch;
}

footer p,
footer a,
.net-banner,
.breadcrumb,
.net-breadcrumb{max-width:none}

@media(max-width:820px){
  nav,.net-nav{position:relative!important;padding:14px 18px!important;gap:12px;flex-wrap:wrap}
  .nav-links,.net-nav-links{width:100%;overflow-x:auto;padding:6px 0 2px;gap:16px!important;justify-content:flex-start;-webkit-overflow-scrolling:touch}
  .nav-links li,.net-nav-links li{flex:0 0 auto}
  .hero{min-height:auto!important;padding-top:72px!important}
  .net-breadcrumb{padding:20px 18px!important}
  .page-header{padding-top:52px!important}
  .pricing-grid{grid-template-columns:1fr!important}
  .state-grid{grid-template-columns:1fr!important}
  footer{padding:28px 20px!important}
  .page-wrap,.container,.pricing-wrap{width:min(var(--cpn-page-max),calc(100% - 36px)) !important}
}
@media(max-width:520px){
  h1{font-size:clamp(34px,11vw,48px)!important}
  .section,.page-wrap{padding-left:18px!important;padding-right:18px!important}
  .btn,.cta-btn{width:100%}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important}
  .price-card{padding:24px 20px!important}
  .counties-grid{grid-template-columns:1fr!important}
  .page-wrap,.container,.pricing-wrap{width:calc(100% - 32px) !important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* R26 v5.2.2 — photographic public interface / state capitals.
   Images are supplied locally. No runtime image API or tracking request. */
body{
  background-position:center top, center center !important;
  background-size:cover, cover !important;
  background-repeat:no-repeat, no-repeat !important;
  background-attachment:fixed, fixed !important;
}
/* Keep real photographic detail visible without compromising long-form legibility. */
body.cpn-home > .mesh-bg {pointer-events:none;opacity:.54}
body.cpn-home > section:first-of-type,
body.cpn-home .hero{
  background-image:linear-gradient(90deg,rgba(5,12,23,.89) 0%,rgba(7,16,29,.67) 48%,rgba(7,16,29,.30) 100%),url('/assets/photos/legal-process-courthouse.webp') !important;
  background-position:center, center 48% !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat !important;
}
body.cpn-home > section:first-of-type {min-height:clamp(510px,76vh,850px)}
body.cpn-home > section:first-of-type .max-w-7xl {position:relative;z-index:1}
body.cpn-home p {max-width:68ch}
body.cpn-home > section:first-of-type p {max-width:62ch}
body.cpn-home .glass {background:rgba(10,20,35,.76);border-color:rgba(205,214,224,.16)}
body.cpn-home .glass:hover {background:rgba(12,26,44,.89)}

/* Capital landmark heroes — real local image assets, not the shared SVG pattern. */
body.cpn-state-landing .hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(550px,77vh,800px) !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat,no-repeat !important;
  background-position:center,center center !important;
  border-bottom:1px solid rgba(201,168,76,.22);
}
body.cpn-state-ma .hero {
  background-image:linear-gradient(90deg,rgba(4,12,23,.94) 0%,rgba(4,12,23,.79) 35%,rgba(4,12,23,.32) 64%,rgba(4,12,23,.06) 100%),url('/assets/photos/massachusetts-state-house.webp') !important;
  background-position:center,center 45% !important;
}
body.cpn-state-ny .hero {
  background-image:linear-gradient(90deg,rgba(4,12,23,.95) 0%,rgba(4,12,23,.80) 34%,rgba(4,12,23,.30) 65%,rgba(4,12,23,.06) 100%),url('/assets/photos/new-york-state-capitol.webp') !important;
  background-position:center,center 50% !important;
}
body.cpn-state-nj .hero {
  background-image:linear-gradient(90deg,rgba(4,12,23,.95) 0%,rgba(4,12,23,.80) 34%,rgba(4,12,23,.30) 66%,rgba(4,12,23,.06) 100%),url('/assets/photos/new-jersey-state-house.webp') !important;
  background-position:center,center 50% !important;
}
body.cpn-state-landing .hero::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,12,22,.26),transparent 28%,rgba(4,12,22,.37));
  z-index:-1;
  pointer-events:none;
}
body.cpn-state-landing .hero-content {
  position:relative;
  z-index:1;
  width:min(570px,100%);
  max-width:570px !important;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}
body.cpn-state-landing .hero-sub,
body.cpn-state-landing .hero .sub {
  color:#e5ebef !important;
  max-width:58ch !important;
  text-shadow:0 1px 3px rgba(2,9,17,.7);
}
body.cpn-state-landing .state-badge {
  backdrop-filter:blur(8px);
  background:rgba(7,18,30,.72);
  border:1px solid rgba(232,201,122,.47);
}
/* Directories, registration and inner pages keep the courthouse visible between legible cards. */
body:not(.cpn-state-landing) .card,
body:not(.cpn-state-landing) .provider-card,
body:not(.cpn-state-landing) .attorney-card,
body:not(.cpn-state-landing) .vendor-card,
body:not(.cpn-state-landing) .price-card,
body:not(.cpn-state-landing) .how-card,
body:not(.cpn-state-landing) .county-card{
  backdrop-filter:blur(12px);
}
/* Intentional narrower prose, never constrain data tables or form widths. */
main > p, article > p, .hero-content > p, .section-sub, .hero-sub {max-width:68ch}
@media(max-width:820px){
  body.cpn-state-landing .hero {min-height:510px !important;align-items:center;padding:92px 24px 54px !important}
  body.cpn-state-landing .hero-content {width:min(570px,100%)}
  body.cpn-state-landing .hero h1{max-width:12ch;font-size:clamp(36px,8.5vw,57px) !important}
  body.cpn-home > section:first-of-type{min-height:550px}
}
@media(max-width:560px){
  body{background-attachment:scroll,scroll !important;background-position:center,center top !important}
  body.cpn-state-landing .hero {min-height:530px !important;background-position:center,65% center !important;padding:82px 20px 54px !important}
  body.cpn-state-ma .hero,body.cpn-state-ny .hero,body.cpn-state-nj .hero {
    background-image:linear-gradient(90deg,rgba(4,12,23,.93),rgba(4,12,23,.76) 72%,rgba(4,12,23,.53)),var(--cpn-mobile-hero) !important;
  }
  body.cpn-state-ma {--cpn-mobile-hero:url('/assets/photos/massachusetts-state-house.webp')}
  body.cpn-state-ny {--cpn-mobile-hero:url('/assets/photos/new-york-state-capitol.webp')}
  body.cpn-state-nj {--cpn-mobile-hero:url('/assets/photos/new-jersey-state-house.webp')}
  body.cpn-home > section:first-of-type {background-position:center,65% center !important}
}

/* R26 v5.2.3 — stronger translucent cards for photographic backgrounds */
:root{
  --cpn-card-bg: rgba(7, 16, 28, 0.76);
  --cpn-card-bg-strong: rgba(7, 16, 28, 0.84);
  --cpn-card-border: rgba(232, 201, 122, 0.22);
  --cpn-card-shadow: 0 16px 42px rgba(0,0,0,0.32);
}

body .card,
body .provider-card,
body .attorney-card,
body .vendor-card,
body .price-card,
body .how-card,
body .county-card,
body .state-btn,
body .glass,
body .feature-card,
body .directory-card,
body .coverage-card{
  background: var(--cpn-card-bg) !important;
  border: 1px solid var(--cpn-card-border) !important;
  box-shadow: var(--cpn-card-shadow) !important;
  backdrop-filter: blur(12px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(130%) !important;
}

body .card:hover,
body .provider-card:hover,
body .attorney-card:hover,
body .vendor-card:hover,
body .price-card:hover,
body .how-card:hover,
body .county-card:hover,
body .state-btn:hover,
body .glass:hover,
body .feature-card:hover,
body .directory-card:hover,
body .coverage-card:hover{
  background: var(--cpn-card-bg-strong) !important;
  border-color: rgba(232, 201, 122, 0.36) !important;
  box-shadow: 0 22px 54px rgba(0,0,0,0.40) !important;
}

body .card h2,
body .card h3,
body .card h4,
body .provider-card h2,
body .provider-card h3,
body .attorney-card h2,
body .attorney-card h3,
body .vendor-card h2,
body .vendor-card h3,
body .price-card h2,
body .price-card h3,
body .how-card h2,
body .how-card h3,
body .county-card h2,
body .county-card h3,
body .county-card h4,
body .state-btn h3,
body .state-btn h4,
body .glass h2,
body .glass h3,
body .feature-card h2,
body .feature-card h3,
body .directory-card h2,
body .directory-card h3,
body .coverage-card h2,
body .coverage-card h3{
  color: #f7f2e8 !important;
}

body .card p,
body .card li,
body .provider-card p,
body .provider-card li,
body .attorney-card p,
body .attorney-card li,
body .vendor-card p,
body .vendor-card li,
body .price-card p,
body .price-card li,
body .how-card p,
body .how-card li,
body .county-card p,
body .county-card li,
body .state-btn p,
body .state-btn li,
body .glass p,
body .glass li,
body .feature-card p,
body .feature-card li,
body .directory-card p,
body .directory-card li,
body .coverage-card p,
body .coverage-card li{
  color: rgba(237, 242, 247, 0.92) !important;
}

body .county-card .coverage-status,
body .county-card .coverage-building,
body .county-card .status,
body .provider-card .status,
body .attorney-card .status,
body .vendor-card .status,
body .state-btn .status{
  color: #ffd45f !important;
}

body.cpn-state-landing .county-card,
body.cpn-state-landing .state-btn,
body.cpn-state-landing .card,
body.cpn-state-landing .glass {
  background: rgba(5, 14, 26, 0.80) !important;
}

body.cpn-state-landing .page-wrap > section > h2,
body.cpn-state-landing .page-wrap > section > h3,
body.cpn-state-landing .section-title {
  text-shadow: 0 2px 8px rgba(0,0,0,0.45);
}


/* R26 v5.2.4 — accessible Join Network contrast and legible state initials.
   White hover surface must keep a DARK foreground across all nav inheritance. */
body nav .nav-links a.btn.btn-primary,
body nav .net-nav-links a.net-cta,
body .net-nav .net-nav-links a.net-cta {
  background:#e7bc5b !important;
  border:1px solid #f5d589 !important;
  color:#101b2a !important;
  font-weight:800 !important;
  text-shadow:none !important;
  box-shadow:0 6px 18px rgba(0,0,0,.23) !important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease !important;
}
body nav .nav-links a.btn.btn-primary:hover,
body nav .nav-links a.btn.btn-primary:focus-visible,
body nav .net-nav-links a.net-cta:hover,
body nav .net-nav-links a.net-cta:focus-visible,
body .net-nav .net-nav-links a.net-cta:hover,
body .net-nav .net-nav-links a.net-cta:focus-visible {
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:#101b2a !important;
  box-shadow:0 12px 26px rgba(0,0,0,.31) !important;
}
/* The hero's secondary Join Network CTA also maintains contrast on hover. */
body .hero-actions a.btn.btn-ghost,
body .hero-actions a.cpn-join-hero {
  background:rgba(8,18,32,.76) !important;
  color:#f7f1e6 !important;
  border:1px solid rgba(236,204,125,.80) !important;
}
body .hero-actions a.btn.btn-ghost:hover,
body .hero-actions a.btn.btn-ghost:focus-visible,
body .hero-actions a.cpn-join-hero:hover,
body .hero-actions a.cpn-join-hero:focus-visible {
  background:#ffffff !important;
  color:#101b2a !important;
  border-color:#ffffff !important;
}
/* State card initials: previously text-white/10 and hover 20% were nearly invisible. */
body.cpn-home .cpn-state-abbr {
  display:inline-block;
  font-size:clamp(2.8rem,5vw,3.5rem);
  line-height:1.15;
  font-weight:800 !important;
  letter-spacing:.035em;
  opacity:1 !important;
  text-shadow:0 2px 16px rgba(0,0,0,.45);
  transition:color .2s ease,transform .2s ease !important;
}
body.cpn-home .cpn-state-abbr-green {color:#bbf6d5 !important}
body.cpn-home .cpn-state-abbr-blue {color:#c4e2ff !important}
body.cpn-home a:hover .cpn-state-abbr-green,
body.cpn-home a:focus-visible .cpn-state-abbr-green {color:#e4ffef !important}
body.cpn-home a:hover .cpn-state-abbr-blue,
body.cpn-home a:focus-visible .cpn-state-abbr-blue {color:#f0f8ff !important}
@media(prefers-reduced-motion:reduce){body.cpn-home .cpn-state-abbr{transition:none !important}}


/* R26 v5.2.10 — statewide readability polish for photographic backgrounds.
   Strengthens all landing, directory, registration, and inner content cards across MA/NY/NJ. */
:root{
  --cpn-surface-strong: rgba(5,14,26,0.84);
  --cpn-surface-soft: rgba(6,16,29,0.76);
  --cpn-surface-subtle: rgba(8,18,31,0.68);
  --cpn-surface-border: rgba(232,201,122,0.22);
  --cpn-text-strong: #f7f3ea;
  --cpn-text-body: rgba(236,242,247,0.92);
  --cpn-text-muted: rgba(198,208,220,0.82);
}

body .page-header,
body .section > .container > .cta-section,
body .waitlist-section,
body .intake-wrap,
body .form-card,
body .content-card,
body .sidebar-card,
body .review-card,
body .split-card,
body .welcome-box,
body .success-card,
body .fallback-box,
body .msg-box,
body .err-box,
body .error-box,
body .support-box,
body .empty-state,
body .filter-bar,
body .coming-banner,
body .stat,
body .type-tab,
body .cat-pill,
body .type-card,
body .area-card,
body .county-card,
body .provider-card,
body .att-card,
body .attorney-card,
body .vendor-card,
body .state-btn,
body .glass,
body .card,
body .profile-hero,
body .sidebar,
body .sidebar-card,
body .cta-section,
body .net-banner,
body .directory-card,
body .coverage-card{
  background: var(--cpn-surface-soft) !important;
  border: 1px solid var(--cpn-surface-border) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.34) !important;
  backdrop-filter: blur(14px) saturate(132%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(132%) !important;
}

body .page-header,
body .hero,
body .section,
body .profile-hero{
  position: relative;
}

body .page-header{
  background: linear-gradient(180deg,rgba(5,14,26,.78),rgba(5,14,26,.52)) !important;
  border-bottom: 1px solid rgba(232,201,122,.16) !important;
}

body .hero,
body .profile-hero{
  text-shadow: 0 2px 14px rgba(0,0,0,.28);
}

body .hero::after,
body .profile-hero::after,
body .page-header::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,14,26,.08),rgba(5,14,26,.16));
  pointer-events:none;
}
body .hero > *,
body .profile-hero > *,
body .page-header > *{position:relative;z-index:1}

body .page-header h1,
body .hero h1,
body .content-card h2,
body .form-card h2,
body .stat-n,
body .provider-name,
body .vendor-name,
body .attorney-name,
body .att-firm,
body .county-name,
body .area-name,
body .type-title,
body .section-title,
body .split-title,
body .how-title,
body .sidebar-label,
body .coming-text strong,
body .feature-card h3,
body .directory-card h3,
body .coverage-card h3{
  color: var(--cpn-text-strong) !important;
}

body .page-header p,
body .hero-sub,
body .hero .sub,
body .meta-item,
body .breadcrumb,
body .breadcrumb a,
body .provider-bio,
body .vendor-desc,
body .att-desc,
body .type-desc,
body .county-card p,
body .state-btn p,
body .stat-l,
body .tag,
body .type-tab-count,
body .type-tab-label,
body .fw label,
body .field-wrap label,
body .coming-text p,
body .waitlist-section p,
body .filter-bar,
body .empty-state,
body .page-wrap > p,
body .section-sub,
body .sub,
body .pricing-note,
body .bio-text,
body .content-card p,
body .content-card li,
body .form-card p,
body .msg-box,
body .err-box,
body .error-box,
body .success-card,
body .welcome-box,
body .fallback-box{
  color: var(--cpn-text-muted) !important;
}

body .page-header .section-label,
body .page-header .section-label,
body .hero .section-label,
body .area-badge,
body .cat-pill.active,
body .type-tab.active .type-tab-label,
body .type-tab.active .type-tab-count,
body .county-card .coverage-status,
body .county-card .coverage-building,
body .county-card .status,
body .status,
body .status-dot,
body .avail-badge,
body .feat-badge,
body .provider-type-badge,
body .tier-chip,
body .tier-badge,
body .tier-label,
body .price-card .price,
body .net-banner strong{
  color: #ffd76a !important;
}

body .type-tabs,
body .cat-pills{gap:10px !important}

body .type-tab,
body .cat-pill{
  min-height: 54px;
  background: rgba(7,18,32,.76) !important;
}
body .type-tab.active,
body .cat-pill.active{
  background: rgba(32,24,8,.76) !important;
  border-color: rgba(232,201,122,.42) !important;
}

body .stat,
body .filter-bar,
body .coming-banner,
body .waitlist-section,
body .cta-section,
body .intake-wrap,
body .form-card,
body .content-card,
body .empty-state,
body .page-header .stat-row .stat,
body .county-card,
body .provider-card,
body .att-card,
body .vendor-card,
body .review-card,
body .split-card,
body .state-btn,
body .glass,
body .directory-card,
body .coverage-card{
  background: var(--cpn-surface-strong) !important;
}

body .stat,
body .provider-card,
body .att-card,
body .attorney-card,
body .vendor-card,
body .county-card,
body .state-btn,
body .type-tab,
body .filter-bar,
body .coming-banner,
body .form-card,
body .content-card,
body .waitlist-section,
body .cta-section,
body .intake-wrap,
body .directory-card,
body .coverage-card{
  box-shadow: 0 20px 52px rgba(0,0,0,.36) !important;
}

body .filter-bar,
body .coming-banner,
body .waitlist-section,
body .cta-section,
body .intake-wrap,
body .form-card,
body .content-card,
body .empty-state{
  border-radius: 18px !important;
}

body .county-card,
body .provider-card,
body .att-card,
body .attorney-card,
body .vendor-card,
body .state-btn,
body .glass,
body .directory-card,
body .coverage-card,
body .type-tab,
body .stat{
  border-radius: 16px !important;
}

body .field-wrap input,
body .field-wrap select,
body .field-wrap textarea,
body .fw select,
body .waitlist-input,
body .wl-input,
body .waitlist-form input,
body .waitlist-form select,
body .waitlist-form textarea,
body input[type="text"],
body input[type="email"],
body input[type="tel"],
body input[type="password"],
body input[type="search"],
body input[type="number"],
body select,
body textarea{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: var(--cpn-text-strong) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
body .field-wrap input::placeholder,
body .field-wrap textarea::placeholder,
body input::placeholder,
body textarea::placeholder{
  color: rgba(210,219,230,.62) !important;
}
body .field-wrap input:focus,
body .field-wrap select:focus,
body .field-wrap textarea:focus,
body .fw select:focus,
body input:focus,
body select:focus,
body textarea:focus{
  border-color: rgba(232,201,122,.82) !important;
  box-shadow: 0 0 0 4px rgba(201,168,76,.15) !important;
  outline: none !important;
}

body .btn-primary,
body button.btn-primary,
body .btn-submit,
body button[type="submit"]{
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}

body .net-bar,
body .breadcrumb,
body .net-banner{
  background: rgba(7,16,28,.78) !important;
  border-color: rgba(232,201,122,.18) !important;
}
body .net-bar,
body .net-banner{backdrop-filter: blur(10px) saturate(130%) !important;-webkit-backdrop-filter: blur(10px) saturate(130%) !important;}

body .provider-card:hover,
body .att-card:hover,
body .attorney-card:hover,
body .vendor-card:hover,
body .county-card:hover,
body .state-btn:hover,
body .glass:hover,
body .type-tab:hover,
body .directory-card:hover,
body .coverage-card:hover{
  transform: translateY(-2px);
  border-color: rgba(232,201,122,.34) !important;
  background: rgba(9,21,37,.88) !important;
}

body.cpn-state-landing .county-card,
body.cpn-state-landing .state-btn,
body.cpn-state-landing .glass,
body.cpn-state-landing .card{
  background: rgba(5,14,26,.84) !important;
}

body.cpn-state-landing .county-card h3,
body.cpn-state-landing .county-card h4,
body.cpn-state-landing .state-btn h3,
body.cpn-state-landing .state-btn h4,
body.cpn-state-landing .county-name,
body.cpn-state-landing .area-name{
  text-shadow: 0 2px 10px rgba(0,0,0,.38);
}

body .review-card,
body .split-card,
body .content-card,
body .form-card,
body .sidebar-card,
body .waitlist-section,
body .cta-section,
body .intake-wrap,
body .providers-grid .provider-card,
body .vendors-grid .vendor-card,
body .att-grid .att-card,
body .area-grid .area-card,
body .county-grid .county-card{
  overflow: hidden;
}

@media (max-width: 820px){
  body .page-header,
  body .hero,
  body .section,
  body .container,
  body .net-bar,
  body footer{padding-left:20px !important;padding-right:20px !important}
  body .filter-bar{padding:14px !important}
}


/* R26 v5.2.11 — Service cards and service request contrast */
/* On county pages the large photos stay in the hero and surrounding background;
   actionable content gets a stable dark surface regardless of image position. */
body section.cpn-services-contrast {
  background:rgba(5,14,26,.72) !important;
  border-top:1px solid rgba(232,201,122,.19) !important;
  border-bottom:1px solid rgba(232,201,122,.19) !important;
}
body section.cpn-services-contrast .service-grid {gap:14px !important}
body section.cpn-services-contrast .service-grid .service-card {
  background:rgba(6,16,29,.94) !important;
  border:1px solid rgba(232,201,122,.34) !important;
  box-shadow:0 14px 34px rgba(0,0,0,.34) !important;
  border-radius:14px !important;
  padding:22px 21px !important;
  min-height:145px;
  backdrop-filter:blur(12px) saturate(110%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(110%) !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}
body section.cpn-services-contrast .service-grid .service-card:hover,
body section.cpn-services-contrast .service-grid .service-card:focus-within {
  background:rgba(10,25,43,.98) !important;
  border-color:rgba(244,206,114,.70) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.46) !important;
  transform:translateY(-2px);
}
body section.cpn-services-contrast .service-grid .service-icon,
body section.cpn-services-contrast .service-grid .svc-icon {
  display:block;
  font-size:24px !important;
  line-height:1.25 !important;
  margin-bottom:12px !important;
  opacity:1 !important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.45));
}
body section.cpn-services-contrast .service-grid .service-name,
body section.cpn-services-contrast .service-grid .svc-name {
  font-size:15px !important;
  font-weight:750 !important;
  line-height:1.4 !important;
  color:#fff9ed !important;
  letter-spacing:-.012em;
  margin-bottom:8px !important;
  text-shadow:none !important;
}
body section.cpn-services-contrast .service-grid .service-desc,
body section.cpn-services-contrast .service-grid .svc-desc {
  font-size:13.5px !important;
  line-height:1.55 !important;
  color:#dee8f3 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* MA/NJ county request panels and NY regional request panels. */
body section.cpn-request-contrast .intake-section,
body section.cpn-request-contrast .intake-wrap {
  background:rgba(5,14,26,.94) !important;
  border:1px solid rgba(232,201,122,.35) !important;
  border-radius:20px !important;
  box-shadow:0 24px 62px rgba(0,0,0,.48) !important;
  backdrop-filter:blur(14px) saturate(112%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(112%) !important;
}
body section.cpn-request-contrast .intake-section .coming-banner,
body section.cpn-request-contrast .intake-wrap .coming-banner {
  background:rgba(39,31,15,.88) !important;
  border:1px solid rgba(232,201,122,.48) !important;
  box-shadow:0 7px 24px rgba(0,0,0,.22) !important;
  border-radius:12px !important;
}
body section.cpn-request-contrast .coming-banner strong,
body section.cpn-request-contrast .coming-text strong,
body section.cpn-request-contrast .coming-banner-text strong {
  color:#ffe197 !important;
  font-size:14px !important;
}
body section.cpn-request-contrast .coming-banner p,
body section.cpn-request-contrast .coming-text p,
body section.cpn-request-contrast .coming-banner-text p,
body section.cpn-request-contrast .intake-section > p,
body section.cpn-request-contrast .intake-wrap > p {
  color:#e1e9f3 !important;
  font-size:13px !important;
  line-height:1.6 !important;
}
body section.cpn-request-contrast h2,
body section.cpn-request-contrast .section-title {
  color:#fff9ef !important;
}
body section.cpn-request-contrast .field-wrap label,
body section.cpn-request-contrast .fw label,
body section.cpn-request-contrast .intake-form > label,
body section.cpn-request-contrast .form-grid > label {
  color:#ebf0f6 !important;
  font-size:12px !important;
  font-weight:650 !important;
  letter-spacing:.035em !important;
}
body section.cpn-request-contrast .field-wrap input:not([type="checkbox"]),
body section.cpn-request-contrast .field-wrap select,
body section.cpn-request-contrast .field-wrap textarea,
body section.cpn-request-contrast .fw input:not([type="checkbox"]),
body section.cpn-request-contrast .fw select,
body section.cpn-request-contrast .fw textarea {
  background:#172638 !important;
  color:#fff9ef !important;
  border:1px solid #536579 !important;
  border-radius:8px !important;
  font-size:14px !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.17) !important;
}
body section.cpn-request-contrast input::placeholder,
body section.cpn-request-contrast textarea::placeholder {
  color:#b8c8d8 !important;
  opacity:1 !important;
}
body section.cpn-request-contrast input:focus-visible,
body section.cpn-request-contrast select:focus-visible,
body section.cpn-request-contrast textarea:focus-visible {
  border-color:#ffde8c !important;
  outline:3px solid rgba(244,206,114,.28) !important;
  outline-offset:1px !important;
}
body section.cpn-request-contrast select option {
  color:#fff9ef !important;
  background:#172638 !important;
}
body section.cpn-request-contrast .intake-form,
body section.cpn-request-contrast .form-grid {
  max-width:640px !important;
}
body section.cpn-request-contrast input[type="checkbox"] {
  accent-color:#e7bc5b;
  width:17px;
  min-height:17px;
  flex:0 0 auto;
}
body section.cpn-request-contrast .intake-form > label,
body section.cpn-request-contrast .form-grid > label {
  font-size:13px !important;
  line-height:1.55 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
body section.cpn-request-contrast button[type="submit"] {
  background:#e7bc5b !important;
  color:#0a1726 !important;
  border:1px solid #f5d589 !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-shadow:none !important;
  border-radius:8px !important;
}
body section.cpn-request-contrast button[type="submit"]:hover,
body section.cpn-request-contrast button[type="submit"]:focus-visible {
  background:#fff3d9 !important;
  color:#0a1726 !important;
  border-color:#fff3d9 !important;
}
@media(max-width:700px) {
  body section.cpn-services-contrast .service-grid {gap:12px !important}
  body section.cpn-services-contrast .service-grid .service-card {min-height:unset;padding:20px !important}
  body section.cpn-request-contrast .intake-section,
  body section.cpn-request-contrast .intake-wrap {padding:30px 22px !important}
}
@media(prefers-reduced-motion:reduce){
  body section.cpn-services-contrast .service-grid .service-card {transition:none !important}
}


/* R26 v5.2.12 — legal billing name disclosure, visible before paid activation. */
body .cpn-billing-disclosure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  max-width: 76ch;
  margin: 22px auto;
  padding: 16px 20px;
  border: 1px solid rgba(235,199,116,.42) !important;
  border-radius: 12px;
  background: rgba(7,18,32,.96) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.30);
  color: #ecf2f7 !important;
  text-align: left;
}
body .cpn-billing-disclosure strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  color: #f9d77a !important;
}
body .cpn-billing-disclosure span {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
  color: #edf3f8 !important;
}
body .cpn-billing-disclosure b {font-weight: 750; color: #fff !important;}


/* R26 v5.2.14 — small-screen public site baseline. Preserve member/admin app styles. */
html{overflow-wrap:anywhere}
@media(max-width:820px){
  body{max-width:100%;overflow-x:clip}
  body nav,body .net-nav{height:auto!important;min-height:unset!important;position:relative!important;padding:14px 18px!important;flex-wrap:wrap!important;gap:12px!important}
  body nav .nav-links,body nav .net-nav-links,body .net-nav .net-nav-links{display:flex!important;min-width:0;width:100%!important;max-width:100%!important;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:14px!important;align-items:center;scrollbar-width:thin}
  body nav .nav-links li,body nav .net-nav-links li,body .net-nav .net-nav-links li{flex:0 0 auto}
  body nav+.net-bar,body .net-bar{margin-top:0!important;padding:12px 18px!important}
  body .pricing-grid,body .tier-grid,body .stat-row{grid-template-columns:1fr!important}
  body .pricing-wrap,body .faq-wrap{width:min(100% - 36px,760px)!important;padding:0 0 40px!important}
  body .page-header{padding:34px 18px!important}
  body .price-card,body .tier-card{padding:25px 22px!important;min-width:0}
  body .price-card .cta-btn,body .tier-card .cta-btn{min-height:48px}
  body .form-row,body .form-grid,body .how-grid{grid-template-columns:1fr!important;min-width:0}
  body .intake-wrap,body .form-card,body .content-card{padding:26px 20px!important;min-width:0}
  body .container,body .page-wrap{max-width:100%;min-width:0}
  body .type-tabs{flex-wrap:wrap}
  body .filter-bar{max-width:100%;min-width:0}
  body input,body select,body textarea{max-width:100%;min-width:0}
}
@media(max-width:480px){
  body .price-card,body .tier-card{padding:24px 17px!important}
  body .pricing-grid{gap:22px!important}
  body .rec-badge{font-size:10px;max-width:calc(100% - 24px)}
  body .state-tabs{gap:8px}
  body .state-tab{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px}
  body .cta-section{padding:26px 18px!important;max-width:100%}
  body .intake-wrap,body .form-card,body .content-card{padding:22px 16px!important}
  body .field-wrap,body .fw{min-width:0}
  body .waitlist-form,body .wl-form{width:100%;max-width:100%}
  body .waitlist-form>* ,body .wl-form>*{min-width:0;max-width:100%}
}
