  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }

  body{
    background:
      radial-gradient(ellipse 900px 500px at 78% 55%, rgba(217,43,28,0.16), transparent 60%),
      radial-gradient(ellipse 700px 700px at 10% 0%, rgba(217,43,28,0.06), transparent 55%),
      var(--bg-0);
    color:var(--white);
    font-family:'Inter',sans-serif;
    min-height:100vh;
  }

  .wrap{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
    box-sizing:border-box;
  }
  @media (max-width:600px){
    .wrap{ padding:0 20px; }
  }

  /* header/nav-row/nav/.home-btn/nav ul/nav a intentionally not duplicated here —
     they're defined once in global.css so every page renders an identical header.
     (This file used to have its own copies with different values, which was
     exactly why headers looked inconsistent page to page.) */

  /* ---------- SECTION DIVIDER ---------- */
  .section-divider{
    height:4px;
    width:100%;
    position:relative;
    background:var(--red-dim);
    overflow:hidden;
  }
  .section-divider::before{
    content:'';
    position:absolute;
    top:0; bottom:0;
    left:0;
    width:35%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,0.9) 50%, transparent);
    filter:blur(1px);
    animation:dividerSweep 2.4s ease-in-out infinite;
  }
  @keyframes dividerSweep{
    0%{ transform:translateX(-120%); }
    100%{ transform:translateX(385%); }
  }

  /* ---------- ALTERNATING COLOR BAND ---------- */
  .band-alt{
    position:relative;
    border-top:none;
  }
  .band-alt::before{
    content:'';
    position:absolute;
    top:0; bottom:0;
    left:50%;
    width:100vw;
    transform:translateX(-50%);
    background:linear-gradient(160deg, #241109 0%, #180c08 100%);
    z-index:0;
  }
  .band-alt > *{
    position:relative;
    z-index:1;
  }

  @media (max-width:860px){
    nav ul{ justify-content:center; gap:16px 24px; }
  }
  @media (max-width:480px){
    nav ul{ gap:12px 16px; justify-content:center; }
    nav a{ font-size:11px; letter-spacing:1px; }
  }

  /* ---------- BUTTONS (shared) ---------- */
  .btn{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:14px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    padding:18px 34px;
    border-radius:2px;
    text-decoration:none;
    display:inline-block;
    transition:transform .15s ease, box-shadow .15s ease;
    border:none;
    cursor:pointer;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-solid{
    background:var(--red);
    color:var(--white);
    box-shadow:0 8px 24px rgba(217,43,28,0.35);
  }
  .btn-solid:hover{ box-shadow:0 10px 30px rgba(217,43,28,0.5); }
  .btn-solid:disabled{ opacity:0.6; cursor:not-allowed; transform:none; }

  /* ---------- INTRO ---------- */
  .intro{
    padding:64px 0 40px;
    max-width:720px;
  }
  .eyebrow{
    font-family:'Oswald',sans-serif;
    font-size:13px;
    font-weight:500;
    letter-spacing:4px;
    text-transform:uppercase;
    color:var(--red);
    margin-bottom:18px;
  }
  h1{
    font-family:'Oswald',sans-serif;
    font-weight:700;
    font-size:clamp(32px, 4.4vw, 50px);
    line-height:1.05;
    letter-spacing:-0.5px;
    text-transform:uppercase;
    color:var(--white);
    margin-bottom:20px;
  }
  .intro p{
    font-family:'Inter',sans-serif;
    font-size:15.5px;
    line-height:1.75;
    color:#cfccc6;
  }

  /* ---------- FORM ---------- */
  .form-section{
    padding:24px 0 60px;
  }
  form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px 32px;
    max-width:900px;
  }
  .field{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .field.full{ grid-column:1 / -1; }
  /* .field is also used on a <fieldset> (the Primary Use checkbox group) —
     strip the browser's default fieldset border/padding so it matches the
     plain <div class="field"> look everywhere else */
  fieldset.field{ border:none; min-width:0; }
  fieldset.field legend{
    padding:0;
    font-family:'Oswald',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--gray);
  }
  @media (max-width:700px){
    form{ grid-template-columns:1fr; }
  }

  label{
    font-family:'Oswald',sans-serif;
    font-size:12px;
    font-weight:600;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--gray);
  }
  label .req{ color:var(--red); }

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea{
    background:rgba(255,255,255,0.03);
    border:1px solid var(--line);
    border-radius:2px;
    padding:14px 16px;
    color:var(--white);
    font-family:'Inter',sans-serif;
    font-size:14.5px;
    outline:none;
    transition:border-color .2s ease, background .2s ease;
    width:100%;
  }
  input::placeholder, textarea::placeholder{ color:#7d7972; }
  input:focus, select:focus, textarea:focus{
    border-color:var(--red);
    background:rgba(217,43,28,0.05);
  }
  textarea{ resize:vertical; min-height:100px; font-family:'Inter',sans-serif; }

  select{
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d8983' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat:no-repeat;
    background-position:right 14px center;
    background-size:16px;
    padding-right:40px;
  }
  select option{
    background:var(--bg-0); /* the select's own background is near-transparent, so the
                                open dropdown list needs an explicit solid background —
                                otherwise it falls back to the system default (white),
                                making white option text invisible until hovered */
    color:var(--white);
  }

  .checkbox-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    gap:12px;
  }
  .checkbox-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:2px;
    background:rgba(255,255,255,0.02);
    cursor:pointer;
    transition:border-color .2s ease;
  }
  .checkbox-item:hover{ border-color:rgba(217,43,28,0.4); }
  .checkbox-item input{
    width:16px; height:16px;
    accent-color:var(--red);
  }
  .checkbox-item span{
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    color:var(--white);
  }

  .submit-row{
    grid-column:1 / -1;
    margin-top:8px;
  }
  .submit-row p{
    font-family:'Inter',sans-serif;
    font-size:12.5px;
    color:var(--gray);
    margin-top:12px;
  }
  .form-status{
    grid-column:1 / -1;
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    display:none;
  }
  .form-status.show{ display:block; }
  .form-status.ok{ color:#8fd98f; }
  .form-status.err{ color:var(--red); }

  /* ---------- PROCESS NOTE ---------- */
  .process{
    padding:48px 0 64px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:32px;
  }
  @media (max-width:800px){
    .process{ grid-template-columns:1fr; }
  }
  .process-step{
    padding:24px;
    background:rgba(255,255,255,0.02);
    border:1px solid var(--line);
    border-radius:4px;
  }
  .process-step .p-num{
    font-family:'Oswald',sans-serif;
    font-weight:700;
    font-size:13px;
    letter-spacing:1.5px;
    color:var(--red);
    margin-bottom:10px;
  }
  .process-step .p-title{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:0.5px;
    color:var(--white);
    margin-bottom:8px;
  }
  .process-step p{
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    line-height:1.6;
    color:var(--gray);
  }

  /* ---------- FINANCING CALLOUT ---------- */
  .financing-callout{
    max-width:1400px;
    margin:0 auto;
    padding:40px 48px 56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
  }
  .financing-callout p{
    font-family:'Inter',sans-serif;
    color:var(--gray);
    font-size:15px;
    margin:0;
  }
  .financing-link{
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:13px;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:var(--red);
    text-decoration:none;
    border-bottom:1px solid var(--red);
    padding-bottom:2px;
    transition:opacity .2s ease;
    white-space:nowrap;
  }
  .financing-link:hover{ opacity:0.75; }
  @media (max-width:600px){
    .financing-callout{ padding:32px 24px 40px; flex-direction:column; align-items:flex-start; }
  }

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:60px 0 22px;
    position:relative;
    width:100%;
    box-sizing:border-box;
  }
  footer .foot-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
  }
  @media (max-width:600px){
    footer{ padding:36px 0 18px; }
    footer .foot-row{ flex-direction:column; align-items:center; text-align:center; gap:14px; }
  }
  footer p{
    font-family:'Inter',sans-serif;
    font-size:12px;
    color:var(--gray);
    letter-spacing:0.3px;
  }
  .footer-explore-row{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px 20px;
    padding:16px 0 20px;
    border-bottom:1px solid var(--line);
  }
  .footer-explore-row a{
    font-family:'Inter',sans-serif;
    font-size:13.5px;
    color:var(--gray);
    text-decoration:none;
    transition:color .2s ease;
    white-space:nowrap;
  }
  .footer-explore-row a:hover{ color:var(--white); }
  @media (max-width:480px){
    .footer-explore-row{ gap:8px 14px; }
    .footer-explore-row a{ font-size:11px; }
  }

  /* .social-row/.social-btn defined once in global.css (used to be duplicated
     here at an old, smaller size that silently overrode the current one). */
