/*
 * Custom Weatherization – Crew Chief landing page
 * Everything is scoped under .cwcc so the theme/Elementor can't restyle it
 * (and it can't restyle the theme).
 */
.cwcc { display: flex; flex-direction: column; width: 100%; background: #fff; font-family: 'Inter', system-ui, sans-serif; font-size: 16px; font-weight: 400; line-height: normal; letter-spacing: normal; text-align: left; text-transform: none; -webkit-font-smoothing: antialiased; }
.cwcc, .cwcc *, .cwcc *::before, .cwcc *::after { box-sizing: border-box; }
/* neutralise common theme styles on the elements this page uses */
.cwcc h1, .cwcc h2, .cwcc h3, .cwcc p, .cwcc ul, .cwcc li, .cwcc figure, .cwcc form { margin: 0; padding: 0; }
.cwcc h1, .cwcc h2, .cwcc h3 { font-family: inherit; font-style: normal; text-transform: none; color: inherit; border: 0; background: none; }
.cwcc img { max-width: none; margin: 0; box-shadow: none; }
.cwcc a, .cwcc a:hover, .cwcc a:focus { text-decoration: none; }
.cwcc button { font-family: inherit; line-height: 1.2; text-transform: none; letter-spacing: normal; -webkit-appearance: none; appearance: none; }
.cwcc [id] { scroll-margin-top: 90px; }
.cwcc [hidden] { display: none !important; }
/* full-bleed breakout (turn off with [cw_crew_chief_landing fullwidth="no"]) */
.cwcc--full { width: 100vw; max-width: 100vw; position: relative; left: 50%; margin-left: -50vw; }
body:has(.cwcc--full) { overflow-x: clip; }

  .cwcc {
    --blue: #0F4C9A;
    --blue-deep: #0B2F5E;
    --blue-light: #2F80D6;
    --grad: linear-gradient(135deg, #0B2F5E 0%, #0F4C9A 55%, #2F80D6 100%);
    --grad-dark: linear-gradient(135deg, #08182F 0%, #0B2F5E 100%);
    --blue-soft: #E7F0FB;
    --ink: #0B1B2E;
    --muted: #5F6B7A;
    --surface: #F3F6FA;
    --line: #E3E9F0;
    --paper: #F7F2E8;}
  .cwcc a { text-decoration: none; color: inherit;}
  .cwcc .cwcc-disp { font-family: 'Inter Tight', 'Inter', system-ui, sans-serif; font-weight: 700; letter-spacing: -0.035em; line-height: 0.98;}
  .cwcc .cwcc-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;}
  .cwcc .cwcc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; width: 100%;}
  .cwcc .cwcc-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; font-weight: 600; font-size: 16px; padding: 16px 28px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; cursor: pointer; border: none;}
  .cwcc .cwcc-btn-blue { background: var(--grad); color: #fff; box-shadow: 0 10px 24px rgba(15,76,154,0.30);}
  .cwcc .cwcc-btn-blue:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(15,76,154,0.40);}
  .cwcc .cwcc-btn-white { background: #fff; color: var(--blue-deep); box-shadow: 0 10px 24px rgba(0,0,0,0.22);}
  .cwcc .cwcc-btn-white:hover { transform: translateY(-2px);}
  .cwcc .cwcc-btn-outline-light { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.45);}
  .cwcc .cwcc-btn-outline-light:hover { background: rgba(255,255,255,0.1);}
  .cwcc .cwcc-btn-ghost { background: transparent; color: var(--ink); border: 1.5px solid #CFD8E3;}
  .cwcc .cwcc-btn-ghost:hover { background: var(--surface);}
  .cwcc .btn-ink { background: var(--blue-deep); color: #fff;}
  .cwcc .cwcc-glass { background: rgba(255,255,255,0.84); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.7);}
  .cwcc .cwcc-chip { position: absolute; display: inline-flex; align-items: center; gap: 10px; border-radius: 999px; padding: 11px 18px; font-size: 14px; font-weight: 600; box-shadow: 0 10px 30px rgba(11,27,46,0.16);}
  .cwcc .cwcc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--blue-light); box-shadow: 0 0 0 4px rgba(47,128,214,0.22);}
  .cwcc .cwcc-grid-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 56px; align-items: center;}
  .cwcc .cwcc-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;}
  .cwcc .cwcc-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;}
  .cwcc .cwcc-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center;}
  .cwcc .cwcc-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px;}
  .cwcc .path { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 20px; align-items: stretch;}
  .cwcc .cwcc-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;}
  .cwcc .cwcc-perks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;}
  .cwcc .cwcc-callouts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 20px;}
  .cwcc .cwcc-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch;}
  .cwcc .owner { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); gap: 72px; align-items: center;}
  .cwcc .cwcc-perk { display: flex; align-items: flex-start; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 20px 22px;}
  .cwcc .cwcc-perk .cwcc-tick { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px;}
  .cwcc .cwcc-call { display: flex; align-items: center; gap: 14px; background: var(--surface); border-radius: 20px; padding: 20px 22px; font-weight: 600; line-height: 1.35;}
  .cwcc .cwcc-call .cwcc-tick { flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; background: var(--grad); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px;}
  .cwcc .cwcc-partner { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font-size: 13px; font-weight: 600; color: var(--ink); background: #fff;}
  .cwcc .pill { display: inline-flex; border-radius: 999px; padding: 9px 16px; font-size: 13px; font-weight: 600; background: #fff; border: 1px solid var(--line); color: var(--blue-deep);}
  .cwcc .cwcc-fit { display: flex; gap: 16px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--line);}
  .cwcc .cwcc-fit .cwcc-n { flex: 0 0 auto; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600; color: var(--blue); padding-top: 4px;}
  .cwcc .cwcc-support { display: flex; gap: 16px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--line);}
  .cwcc .cwcc-support .cwcc-n { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 12px; background: var(--blue-soft); color: var(--blue); display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 13px;}
  .cwcc .cwcc-prog { border-left: 4px solid var(--blue); background: var(--blue-soft); border-radius: 0 18px 18px 0; padding: 16px 20px;}
  .cwcc .cwcc-tile { position: relative; overflow: hidden; border-radius: 28px; min-height: 340px;}
  .cwcc .cwcc-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease;}
  .cwcc .cwcc-tile:hover img { transform: scale(1.04);}
  .cwcc .cwcc-tile .cwcc-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,24,47,0.0) 35%, rgba(8,24,47,0.82) 100%);}
  .cwcc .cwcc-tile .cwcc-copy { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px; color: #fff;}
  .cwcc .cwcc-tile .cwcc-tag { position: absolute; top: 22px; left: 22px; color: var(--ink); border-radius: 999px; padding: 7px 12px;}
  .cwcc .cwcc-serif { font-family: 'Fraunces', Georgia, serif;}
  .cwcc .cwcc-sign { font-family: 'Caveat', cursive; font-weight: 600;}
  .cwcc .cwcc-mobile-bar { display: none;}
  .cwcc .cwcc-sticky-col { position: sticky; top: var(--cwcc-sticky-top, 110px);}
  .cwcc { overflow-x: clip;}
  @keyframes cwcc-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
  .cwcc .cwcc-rise { animation: cwcc-rise .8s cubic-bezier(.2,.7,.2,1) both;}
  .cwcc .cwcc-d1 { animation-delay: .05s;}
  .cwcc .cwcc-d2 { animation-delay: .15s;}
  .cwcc .cwcc-d3 { animation-delay: .25s;}
  .cwcc .cwcc-d4 { animation-delay: .35s;}
  .cwcc input.cwcc-field { width: 100%; box-sizing: border-box; background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.22); border-radius: 14px; padding: 15px 16px; color: #fff; font-size: 15px; font-family: 'Inter', sans-serif;}
  .cwcc input.cwcc-field::placeholder { color: rgba(255,255,255,0.55);}
  @media (max-width: 900px) {
    .cwcc .cwcc-wrap { padding: 0 22px;}
    .cwcc .cwcc-grid-hero, .cwcc .cwcc-grid-3, .cwcc .cwcc-grid-2, .cwcc .cwcc-bento, .cwcc .path, .cwcc .cwcc-perks, .cwcc .cwcc-callouts, .cwcc .owner, .cwcc .cwcc-team { grid-template-columns: 1fr; gap: 20px;}
    .cwcc .owner { gap: 36px;}
    .cwcc .cwcc-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr));}
    .cwcc .cwcc-rail { grid-template-columns: repeat(2, minmax(0, 1fr));}
    .cwcc .cwcc-bento .cwcc-tile { grid-column: auto !important;}
    .cwcc .path .arrow { display: none;}
    .cwcc .cwcc-hero-photo { height: 460px !important;}
    .cwcc .cwcc-sec-title { font-size: 38px !important;}
    .cwcc .nav-phone { display: none !important;}
    .cwcc .nav-cta { display: none !important;}
    .cwcc .cwcc-grid-apply { grid-template-columns: 1fr !important; padding: 40px 26px !important; border-radius: 32px !important;}
    .cwcc .cwcc-path-panel { padding: 36px 22px !important;}
    .cwcc .cwcc-pay-panel { padding: 40px 26px !important; grid-template-columns: 1fr !important; border-radius: 32px !important;}
    .cwcc .strip { flex-direction: column; align-items: flex-start !important;}
    .cwcc .cwcc-sticky-col { position: static !important;}
    .cwcc .cwcc-chip { left: 12px !important; right: auto !important;}
    .cwcc .owner-photo { height: 420px !important;}
    .cwcc .cwcc-mobile-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(255,255,255,0.94); backdrop-filter: blur(12px); border-top: 1px solid var(--line);}
    .cwcc .cwcc-mobile-bar a { flex: 1; justify-content: center; padding: 14px 10px; font-size: 15px;}
    .cwcc { padding-bottom: 76px;}
  }

/* keep button text colours even when the theme styles link/hover colours */
.cwcc a.cwcc-btn { text-decoration: none !important; }
.cwcc .cwcc-btn-blue, .cwcc .cwcc-btn-blue:hover, .cwcc .cwcc-btn-blue:focus { color: #fff; }
.cwcc .btn-ink, .cwcc .btn-ink:hover, .cwcc .btn-ink:focus { color: #fff; }
.cwcc .cwcc-btn-white, .cwcc .cwcc-btn-white:hover, .cwcc .cwcc-btn-white:focus { color: var(--blue-deep); }
.cwcc .cwcc-btn-outline-light, .cwcc .cwcc-btn-outline-light:focus { color: #fff; }
.cwcc .cwcc-btn-ghost, .cwcc .cwcc-btn-ghost:hover, .cwcc .cwcc-btn-ghost:focus { color: var(--ink); }
.cwcc .cwcc-btn[disabled] { opacity: .65; cursor: progress; transform: none; }

/* form feedback */
.cwcc .cwcc-error { background: rgba(255,90,90,0.14); border: 1px solid rgba(255,150,150,0.5); color: #FFD9D9; border-radius: 12px; padding: 12px 14px; font-size: 14px; line-height: 1.5; }
.cwcc .cwcc-thanks { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.22); border-radius: 24px; padding: 34px 30px; }
.cwcc .cwcc-check { width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--blue-deep); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 22px; }
