/* ─── MDN Electric Global Styles ─── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,700&family=Source+Sans+3:wght@400;500;600&display=swap');

    /* ─── Reset ─── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    /* ─── Tokens — exact values from site CSS ─── */
    :root {
      --green:           #377A00;  /* ast-global-color-0 — primary */
      --green-dark:      #2f6a00;  /* ast-global-color-1 — hover */
      --green-deep:      #012104;  /* ast-global-color-3 — dark sections */
      --green-deeper:    #011502;  /* ast-global-color-7 — darkest sections */
      --green-light-bg:  #EAF7EB;  /* ast-global-color-4 — light section bg */
      --green-mid-bg:    #D0EBCF;  /* ast-global-color-6 — mid bg */
      --text-dark:       #151716;  /* ast-global-color-2 */
      --white:           #ffffff;
      --border:          #c8e0c7;
      --text:            #151716;
      --text-muted:      #4a6b4a;
      --section-dark-bg: #012104;  /* matches homepage dark sections */
      --max-w:           900px;
    }

    html { font-size: 100%; }

    body {
      font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
      font-size: 1rem;
      line-height: 1.7;
      color: var(--text);
      background: var(--white);
    }

    a { color: var(--green); }
    a:hover { color: var(--green-dark); }

    h1, h2, h3, h4, h5, h6 {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
      line-height: 1.25;
      color: var(--green-deep);
    }

    /* ─── Site Header (matches homepage exactly) ─── */
    .site-header {
      background: var(--white);
      border-bottom: 1px solid var(--green-mid-bg);
      position: sticky;
      top: 0;
      z-index: 200;
    }

    .header-inner {
      max-width: calc(var(--max-w) + 80px);
      margin: 0 auto;
      padding: 0 40px;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .site-logo {
      display: flex;
      align-items: center;
      gap: 0;
      text-decoration: none;
      flex-shrink: 0;
    }

    .site-logo img {
      width: 56px;
      height: auto;
    }

    .site-nav {
      display: flex;
      align-items: center;
      gap: 32px;
    }

    .site-nav a {
      font-family: 'Source Sans 3', sans-serif;
      font-size: 0.9375rem;
      font-weight: 500;
      color: var(--text);
      text-decoration: none;
      transition: color 0.2s;
    }

    .site-nav a:hover { color: var(--green); }

    .btn-primary {
      display: inline-block;
      background: var(--green);
      color: var(--white) !important;
      font-family: 'Source Sans 3', sans-serif;
      font-size: 0.9375rem;
      font-weight: 600;
      padding: 10px 22px;
      border-radius: 3px;
      text-decoration: none !important;
      transition: background 0.2s;
      cursor: pointer;
      border: none;
    }

    .btn-primary:hover { background: var(--green-dark); }

    .btn-outline {
      display: inline-block;
      background: transparent;
      color: var(--green-deep) !important;
      font-family: 'Source Sans 3', sans-serif;
      font-size: 0.9375rem;
      font-weight: 600;
      padding: 9px 20px;
      border: 2px solid var(--green);
      border-radius: 3px;
      text-decoration: none !important;
      transition: background 0.2s, color 0.2s;
    }

    .btn-outline:hover {
      background: var(--green);
      color: var(--white) !important;
    }

    /* Mobile nav toggle */
    .nav-toggle {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
      padding: 4px;
    }

    .nav-toggle span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--text);
      margin: 5px 0;
      transition: 0.2s;
    }

    /* ─── Hero section — deep green like homepage dark sections ─── */
    .hero {
      background-color: var(--green-deeper);
      padding: 70px 40px 80px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    /* diagonal bottom shape like uagb shape divider */
    .hero::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      width: 100%;
      height: 48px;
      background: var(--green-light-bg);
      clip-path: polygon(0 100%, 100% 0, 100% 100%);
    }

    .hero-inner {
      max-width: var(--max-w);
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    .hero-label {
      font-family: 'Source Sans 3', sans-serif;
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--green-mid-bg);
      margin-bottom: 12px;
    }

    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 700;
      font-style: italic;
      color: var(--white);
      margin-bottom: 18px;
    }

    .hero p {
      font-size: 1.1rem;
      color: rgba(255,255,255,0.75);
      max-width: 580px;
      margin: 0 auto 32px;
      line-height: 1.65;
    }

    /* ─── Main content area ─── */
    .page-content {
      max-width: calc(var(--max-w) + 80px);
      margin: 0 auto;
      padding: 56px 40px 72px;
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 52px;
      align-items: start;
    }

    /* ─── Form section ─── */
    .form-section {}

    .section-label {
      font-family: 'Source Sans 3', sans-serif;
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--green);
      margin-bottom: 6px;
    }

    .form-section h2 {
      font-size: 1.6rem;
      margin-bottom: 10px;
    }

    .form-section > p {
      color: var(--text-muted);
      font-size: 0.95rem;
      margin-bottom: 28px;
      line-height: 1.6;
    }

    .form-wrap {
      background: var(--white);
      border: 1px solid var(--border);
      border-radius: 4px;
      overflow: visible;
      box-shadow: 0 2px 20px rgba(1,33,4,0.10);
    }

    .form-wrap iframe {
      display: block;
      width: 100%;
      height: 3450px;
      border: none;
    }

    /* ─── Sidebar ─── */
    .sidebar {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    /* Info boxes styled like the homepage uagb info boxes */
    .info-box {
      padding: 28px 0;
      border-bottom: 1px solid var(--green-mid-bg);
    }

    .info-box:first-child { padding-top: 0; }
    .info-box:last-child { border-bottom: none; padding-bottom: 0; }

    .info-box h3 {
      font-size: 1.05rem;
      margin-bottom: 12px;
      color: var(--green-deep);
    }

    .info-box p,
    .info-box li {
      font-size: 0.9rem;
      color: var(--text);
      line-height: 1.6;
    }

    .info-box ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 7px;
    }

    /* checkmark list — matches uagb icon list on homepage */
    .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

    .check-list li::before {
      content: '';
      display: block;
      width: 16px;
      height: 16px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%232d6a2d' d='M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;
      flex-shrink: 0;
      margin-top: 3px;
    }

    .contact-row {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 12px;
      font-size: 0.9rem;
    }

    .contact-row:last-child { margin-bottom: 0; }

    .contact-row svg {
      flex-shrink: 0;
      color: var(--green);
      margin-top: 2px;
    }

    .contact-row a {
      color: var(--green-dark);
      font-weight: 600;
      text-decoration: none;
    }

    .contact-row a:hover { text-decoration: underline; }

    /* TSBC badge — matches homepage blue badge style */
    .tsbc-badge {
      background: #1a4f8a;
      color: #fff;
      border-radius: 3px;
      padding: 12px 16px;
      margin-top: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.03em;
    }

    .tsbc-badge svg { flex-shrink: 0; opacity: 0.9; }
    .tsbc-badge .tsbc-label { font-size: 0.72rem; font-weight: 400; opacity: 0.8; display: block; }
    .tsbc-badge .tsbc-num { font-size: 0.95rem; }

    /* Hours grid */
    .hours-grid {
      display: grid;
      grid-template-columns: auto 1fr;
      column-gap: 20px;
      row-gap: 5px;
      font-size: 0.88rem;
    }

    .hours-grid .day { color: var(--green-dark); }
    .hours-grid .time { font-weight: 500; }

    /* ─── "What to expect" strip — deep green like homepage dark sections ─── */
    .steps-strip {
      background: var(--green-deep);
      padding: 56px 40px;
    }

    .steps-inner {
      max-width: calc(var(--max-w) + 80px);
      margin: 0 auto;
    }

    .steps-strip .section-label { color: var(--green-mid-bg); }

    .steps-strip h2 {
      color: var(--white);
      font-size: 1.7rem;
      margin-bottom: 40px;
    }

    .steps-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 32px;
    }

    .step {
      text-align: center;
    }

    .step-num {
      width: 48px;
      height: 48px;
      background: var(--green);
      color: #fff;
      font-family: 'Playfair Display', serif;
      font-size: 1.25rem;
      font-weight: 700;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
    }

    .step h4 {
      font-size: 0.95rem;
      color: var(--white);
      margin-bottom: 6px;
    }

    .step p {
      font-size: 0.83rem;
      color: rgba(255,255,255,0.62);
      line-height: 1.5;
    }

    /* ─── Footer — matches homepage exactly ─── */
    .site-footer {
      background: var(--green-deeper);
      border-top: 3px solid var(--green);
      padding: 24px 40px;
      text-align: center;
    }

    .site-footer p {
      color: rgba(255,255,255,0.5);
      font-size: 0.85rem;
    }

    .site-footer a {
      color: rgba(255,255,255,0.7);
      text-decoration: none;
    }

    .site-footer a:hover { color: #fff; }

    /* ─── Mobile nav ─── */
    @media (max-width: 860px) {
      .site-nav .btn-outline { display: none; }

      .header-inner { padding: 0 24px; height: 68px; }

      .nav-toggle { display: block; }

      .site-nav {
        display: none;
        position: absolute;
        top: 68px;
        left: 0;
        right: 0;
        background: var(--white);
        border-bottom: 1px solid var(--green-mid-bg);
        flex-direction: column;
        align-items: flex-start;
        padding: 16px 24px 20px;
        gap: 14px;
        z-index: 199;
      }

      .site-nav.open { display: flex; }

      .hero { padding: 48px 24px 64px; }

      .page-content {
        grid-template-columns: 1fr;
        padding: 36px 24px 56px;
        gap: 40px;
      }

      .sidebar { order: -1; }

      .steps-strip { padding: 48px 24px; }

      .steps-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
      }

      .site-footer { padding: 20px 24px; }
    }

    @media (max-width: 480px) {
      .steps-grid { grid-template-columns: 1fr; }
      .hero h1 { font-size: 1.8rem; }
    }

    /* thumbnail for bundler */
    template { display: none; }
