:root{
    --bg:#0a0a0d;
    --bg-alt:#111114;
    --bg-card:#17171c;
    --line:#27272d;
    --pink:#ff1a68;
    --pink-2:#ff5c93;
    --pink-dim:#5c0f2c;
    --chrome-a:#f3f4f7;
    --chrome-b:#9aa0aa;
    --white:#f4f4f6;
    --muted:#93959c;
    --muted-2:#65666d;
    --max:1180px;
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; background:var(--bg); }
  body{
    margin:0;
    background:var(--bg);
    color:var(--white);
    font-family:'Barlow', sans-serif;
    font-weight:400;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; margin:0; padding:0; }
  h1,h2,h3{ margin:0; }
  p{ margin:0; }

  .wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }

  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--pink-2);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:18px; height:2px;
    background:var(--pink);
    display:inline-block;
  }

  .section-title{
    font-family:'Anton', sans-serif;
    font-weight:400;
    font-style:oblique -8deg;
    font-size:clamp(1.9rem, 4vw, 3rem);
    letter-spacing:0.01em;
    margin-top:10px;
    color:var(--white);
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-family:'Barlow Semi Condensed', sans-serif;
    font-weight:700;
    font-size:1rem;
    letter-spacing:0.03em;
    text-transform:uppercase;
    padding:15px 26px;
    border-radius:3px;
    border:2px solid transparent;
    cursor:pointer;
    transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color .15s ease;
  }
  .btn-primary{
    background:var(--pink);
    color:#140208;
  }
  .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px -8px rgba(255,26,104,0.55);
  }
  .btn-outline{
    background:transparent;
    border-color:var(--line);
    color:var(--white);
  }
  .btn-outline:hover{
    border-color:var(--pink);
    color:var(--pink-2);
    transform:translateY(-2px);
  }
  .btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible{
    outline:2px solid var(--pink-2);
    outline-offset:3px;
  }

  /* ---------- Hazard divider ---------- */
  .hazard-bar{
    height:9px;
    background:repeating-linear-gradient(45deg,
      var(--pink) 0 16px,
      #0a0a0d 16px 32px);
    opacity:0.9;
  }

  /* ---------- Nav ---------- */
  .nav{
    position:sticky; top:0; z-index:50;
    background:rgba(10,10,13,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav__inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 24px;
  }
  .nav__brand{ display:flex; align-items:center; gap:12px; }
  .nav__logo-img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
  .nav__brand-text{ font-family:'Anton', sans-serif; font-style:oblique -8deg; font-size:1.15rem; letter-spacing:0.02em; }
  .nav__brand-text span{ color:var(--pink); }
  .nav__links{ display:flex; gap:32px; font-family:'Barlow Semi Condensed', sans-serif; font-weight:600; text-transform:uppercase; font-size:0.85rem; letter-spacing:0.05em; }
  .nav__links a{ color:var(--muted); transition:color .15s ease; }
  .nav__links a:hover{ color:var(--white); }
  .nav__cta{ display:flex; align-items:center; gap:10px; font-family:'JetBrains Mono', monospace; font-size:0.85rem; color:var(--white); border:1px solid var(--line); padding:9px 16px; border-radius:3px; transition:border-color .15s ease, color .15s ease; }
  .nav__cta:hover{ border-color:var(--pink); color:var(--pink-2); }
  @media (max-width:760px){ .nav__links{ display:none; } }

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    overflow:hidden;
    padding:76px 0 56px;
    background:
      repeating-linear-gradient(115deg, rgba(255,26,104,0.05) 0 2px, transparent 2px 60px),
      radial-gradient(ellipse 60% 55% at 78% 30%, rgba(255,26,104,0.16), transparent 70%),
      var(--bg);
  }
  .hero__inner{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:40px;
    align-items:center;
  }
  .hero__brand{
    font-family:'Anton', sans-serif;
    font-style:oblique -8deg;
    line-height:0.92;
    margin-top:18px;
  }
  .hero__brand-1{
    display:block;
    font-size:clamp(4rem, 11vw, 8.2rem);
    background:linear-gradient(180deg,#ffffff 0%, #cfd3d9 32%, #838994 52%, #eef0f3 72%, #ffffff 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero__brand-2{
    display:block;
    font-size:clamp(2.6rem, 7.2vw, 5.4rem);
    color:var(--pink);
    letter-spacing:0.01em;
    margin-top:2px;
  }
  .hero__tagline{
    font-family:'Permanent Marker', cursive;
    color:var(--pink-2);
    font-size:clamp(1.4rem, 2.6vw, 1.9rem);
    transform:rotate(-2deg);
    display:block;
    width:fit-content;
    margin-top:14px;
  }
  .hero__sub{
    max-width:520px;
    color:var(--muted);
    font-size:1.08rem;
    margin-top:22px;
  }
  .hero__cta{ display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
  .hero__art{ position:relative; display:flex; justify-content:center; }
  .hero__art img{
    width:100%; max-width:460px;
    filter:drop-shadow(0 20px 60px rgba(255,26,104,0.25));
  }
  @media (max-width:900px){
    .hero__inner{ grid-template-columns:1fr; }
    .hero__art{ order:-1; max-width:320px; margin:0 auto; }
  }

  /* ---------- Sections generic ---------- */
  .section{ padding:88px 0; }
  .section-alt{ background:var(--bg-alt); }
  .section-head{ max-width:640px; }
  .section-head p{ color:var(--muted); margin-top:16px; font-size:1.05rem; }

  /* ---------- About / How it works ---------- */
  .about__grid{
    margin-top:48px;
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:56px;
    align-items:start;
  }
  .about__text p{ color:var(--muted); font-size:1.05rem; }
  .steps{ display:flex; flex-direction:column; gap:0; }
  .step{
    display:grid; grid-template-columns:64px 1fr;
    gap:18px;
    padding:22px 0;
    border-top:1px solid var(--line);
  }
  .step:last-child{ border-bottom:1px solid var(--line); }
  .step__num{
    font-family:'JetBrains Mono', monospace;
    color:var(--pink);
    font-size:1.4rem;
    font-weight:600;
  }
  .step__title{ font-family:'Barlow Semi Condensed', sans-serif; font-weight:700; font-size:1.15rem; text-transform:uppercase; letter-spacing:0.02em; }
  .step__desc{ color:var(--muted); margin-top:6px; font-size:0.98rem; }
  @media (max-width:820px){ .about__grid{ grid-template-columns:1fr; gap:32px; } }

  /* ---------- Services ---------- */
  .services__grid{
    margin-top:48px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .service-card{
    background:var(--bg);
    padding:32px 26px;
    transition:background .2s ease;
  }
  .service-card:hover{ background:var(--bg-card); }
  .service-card svg{ width:30px; height:30px; color:var(--pink); stroke-width:1.6; }
  .service-card h3{
    font-family:'Barlow Semi Condensed', sans-serif;
    font-weight:700; text-transform:uppercase; letter-spacing:0.02em;
    font-size:1.08rem; margin-top:20px;
  }
  .service-card p{ color:var(--muted); margin-top:10px; font-size:0.94rem; }
  @media (max-width:900px){ .services__grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:520px){ .services__grid{ grid-template-columns:1fr; } }

  /* ---------- Corridor / coverage ---------- */
  .corridor-wrap{
    margin-top:56px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
  }
  .corridor{ position:relative; padding-left:34px; max-width:420px; }
  .corridor::before{
    content:'';
    position:absolute; left:9px; top:8px; bottom:8px; width:2px;
    background:linear-gradient(180deg, var(--pink) 0%, rgba(255,26,104,0.15) 100%);
  }
  .corridor__pulse{
    position:absolute; left:4px; width:12px; height:12px; border-radius:50%;
    background:var(--pink);
    box-shadow:0 0 14px 4px rgba(255,26,104,0.7);
    animation:travel 5s linear infinite;
  }
  @keyframes travel{
    0%{ top:0%; opacity:0; }
    6%{ opacity:1; }
    94%{ opacity:1; }
    100%{ top:100%; opacity:0; }
  }
  .stop{ position:relative; padding:18px 0; }
  .stop::before{
    content:''; position:absolute; left:-30px; top:24px;
    width:11px; height:11px; border-radius:50%;
    background:var(--bg-alt); border:2px solid var(--pink-2);
  }
  .stop__row{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
  .stop__name{ font-family:'Barlow Semi Condensed', sans-serif; font-weight:700; font-size:1.15rem; text-transform:uppercase; letter-spacing:0.02em; }
  .stop__tag{ font-family:'JetBrains Mono', monospace; font-size:0.75rem; color:var(--muted-2); border:1px solid var(--line); padding:3px 9px; border-radius:2px; }
  .corridor-note{ align-self:end; max-width:280px; color:var(--muted); font-size:0.98rem; }
  .corridor-note strong{ color:var(--white); display:block; font-family:'Barlow Semi Condensed', sans-serif; text-transform:uppercase; letter-spacing:0.03em; font-size:1rem; margin-bottom:8px; }
  @media (max-width:820px){ .corridor-wrap{ grid-template-columns:1fr; gap:32px; } .corridor-note{ max-width:none; } }

  /* ---------- 24/7 banner ---------- */
  .banner{
    background:linear-gradient(120deg, var(--pink-dim), #1a0510 70%);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .banner__inner{
    padding:52px 0;
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  }
  .banner__title{ font-family:'Anton', sans-serif; font-style:oblique -8deg; font-size:clamp(1.7rem,4vw,2.6rem); color:var(--white); }
  .banner__sub{ color:#e6c1cf; margin-top:8px; font-size:1rem; max-width:420px; }
  .banner__status{
    display:flex; align-items:center; gap:12px;
    font-family:'JetBrains Mono', monospace;
    background:rgba(0,0,0,0.35);
    padding:14px 20px;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:4px;
  }
  .dot-pulse{ width:9px; height:9px; border-radius:50%; background:var(--pink-2); box-shadow:0 0 0 0 rgba(255,92,147,0.6); animation:pulse 1.8s infinite; }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(255,92,147,0.55); }
    70%{ box-shadow:0 0 0 9px rgba(255,92,147,0); }
    100%{ box-shadow:0 0 0 0 rgba(255,92,147,0); }
  }
  .banner__status-text .label{ display:block; font-size:0.68rem; letter-spacing:0.14em; color:#c98ba1; text-transform:uppercase; }
  .banner__status-text .value{ display:block; font-size:1.05rem; color:var(--white); margin-top:2px; }

  /* ---------- Contact ---------- */
  .contact__grid{
    margin-top:48px;
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:56px;
  }
  .contact-list{ display:flex; flex-direction:column; gap:22px; }
  .contact-item{ border-top:1px solid var(--line); padding-top:16px; }
  .contact-item .label{ font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted-2); }
  .contact-item .value{ font-family:'Barlow Semi Condensed', sans-serif; font-size:1.35rem; font-weight:600; margin-top:6px; }
  .contact-item .value a:hover{ color:var(--pink-2); }
  .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
  .chip{ font-family:'JetBrains Mono', monospace; font-size:0.75rem; border:1px solid var(--line); padding:5px 11px; border-radius:20px; color:var(--muted); }

  form{ display:flex; flex-direction:column; gap:16px; }
  .field label{ display:block; font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
  .field input, .field textarea{
    width:100%;
    background:var(--bg-card);
    border:1px solid var(--line);
    color:var(--white);
    font-family:'Barlow', sans-serif;
    font-size:1rem;
    padding:13px 14px;
    border-radius:3px;
    transition:border-color .15s ease;
  }
  .field input:focus, .field textarea:focus{ border-color:var(--pink); outline:none; }
  .field textarea{ resize:vertical; min-height:110px; }
  .form-note{ font-size:0.85rem; color:var(--muted-2); }
  @media (max-width:820px){ .contact__grid{ grid-template-columns:1fr; gap:36px; } }

  /* ---------- Footer ---------- */
  footer{ padding:44px 0; }
  .footer__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
  .footer__brand{ display:flex; align-items:center; gap:12px; }
  .footer__logo{ width:38px; height:38px; border-radius:50%; }
  .footer__brand-text{ font-family:'Anton', sans-serif; font-style:oblique -8deg; font-size:1rem; }
  .footer__brand-text span{ color:var(--pink); }
  .footer__meta{ font-family:'JetBrains Mono', monospace; font-size:0.78rem; color:var(--muted-2); text-align:right; }
  .footer__meta a{ color:var(--muted); }
  .footer__meta a:hover{ color:var(--pink-2); }

  /* ---------- Reveal ---------- */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.is-visible{ opacity:1; transform:none; }

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .reveal{ opacity:1; transform:none; transition:none; }
    .corridor__pulse, .dot-pulse{ animation:none; }
  }


  /* ---------- Terms / Legal page ---------- */
  .legal-top{ padding:28px 0 0; }
  .btn-sm{ padding:10px 18px; font-size:0.82rem; }
  .legal-hero{ padding:32px 0 12px; }
  .legal-hero p{ color:var(--muted); margin-top:16px; font-size:1.05rem; max-width:640px; }
  .flipbook-wrap{
    margin-top:40px;
    width:100%;
    max-width:900px;
  }
  .flipbook-wrap iframe{
    display:block;
  }
  @media (max-width:640px){
    .flipbook-wrap iframe{ height:300px !important; }
  }
  .nav__links a.is-active{ color:var(--pink-2); }
  .btn-lg{ padding:20px 38px; font-size:1.2rem; }
  .hero__credit-btn{ margin:24px 0 8px; }

  /* ---------- Credit Application CTA ---------- */
  .credit-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    background:linear-gradient(120deg, var(--bg-card), #1c0f16 130%);
    border:1px solid var(--line);
    border-left:4px solid var(--pink);
    border-radius:8px;
    padding:40px 44px;
  }
  .credit-cta__inner p{ color:var(--muted); margin-top:14px; max-width:480px; font-size:1.02rem; }
  .credit-cta__inner p a{ color:var(--pink-2); text-decoration:underline; text-underline-offset:3px; }
  .credit-cta__inner .btn{ white-space:nowrap; flex-shrink:0; }
  @media (max-width:760px){
    .credit-cta__inner{ flex-direction:column; align-items:flex-start; padding:30px 24px; }
    .credit-cta__inner .btn{ width:100%; text-align:center; }
  }
