  :root{
    --red: #E60012;
    --red-deep: #C0000F;
    --red-dark: #8B0008;
    --blue: #1A1AFF;
    --cream: #FBF5EE;
    --cream-soft: #FFF6EE;
    --pink-soft: #F7E6E4;
    --pink-mid: #E89A95;
    --text-on-red: #FFFFFF;
    --ink: #2A1212;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:#fff;color:var(--ink);font-family:'Saira',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}

  .display{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;letter-spacing:0.005em}
  .display-up{text-transform:uppercase}

  /* ---------- HEADER ---------- */
  .topbar {
    position: relative;
    z-index: 30;
    background: #fff;
    padding: 26px 300px 22px 64px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .nav {
    display: flex;
    gap: 56px;
    font-family: "Barlow", sans-serif;
    font-style: italic;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.04em;
    color: var(--red);
    margin-left: auto;
  }
  .nav a {
    position: relative;
    padding: 4px 2px;
    transition: opacity 0.2s;
  }
  .nav a.active,
  .nav a:hover {
    opacity: 0.7;
  }
  .nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 2px;
    background: var(--red);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s;
  }
  .nav a.active::after,
  .nav a:hover::after {
    transform: scaleX(1);
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    width:100%;
    aspect-ratio: 1920 / 1080;
    background:#E60012;
    overflow:hidden;
  }
  .hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

  /* ---------- DATE BAR ---------- */
  .date-bar{
    background:var(--red-dark);
    color:#fff;
    padding:28px 24px;
    text-align:center;
    display:flex;align-items:center;justify-content:center;gap:36px;
    flex-wrap:nowrap;
  }
  .date-bar .item{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    text-transform:uppercase;letter-spacing:0.06em;
    font-size:clamp(20px,2.6vw,34px);
  }
  .date-bar .dot{
    width:10px;height:10px;border-radius:50%;background:var(--red);display:inline-block;
  }

  /* ---------- KIT SECTION ---------- */
  .section-kit{
    position:relative;
    background:#fff;
    padding:90px 24px 100px;
    overflow:hidden;
  }
  .section-kit::before{
    content:"";
    position:absolute;inset:0;
    background-image:var(--bg-dots-url, url(assets-aracaju/bg-dots.png));
    background-size:cover;background-position:center;
    opacity:0.6;pointer-events:none;
  }
  .kit-row{
    position:relative;
    max-width:1100px;margin:0 auto;
    display:grid;grid-template-columns: 1fr 1fr;
    gap:40px;align-items:center;
  }
  .kit-img{
    display:flex;justify-content:center;
  }
  .kit-img img{
    max-width:480px;width:100%;
    aspect-ratio:499/681;
    object-fit:contain;
    filter:drop-shadow(0 25px 40px rgba(192,0,15,0.18));
  }
  .kit-buttons{
    display:flex;flex-direction:column;gap:18px;
    align-items:flex-start;
    max-width:380px;
  }
  .price-pill{
    width:100%;
    background:#EFEFEF;border:2px solid #E5E5E5;border-radius:999px;
    padding:14px 26px;display:flex;align-items:center;gap:18px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    text-transform:uppercase;letter-spacing:0.04em;
    transition:transform .15s, box-shadow .15s, border-color .15s;
    cursor:pointer;
  }
  .price-pill:hover{transform:translateY(-1px);border-color:#D5D5D5;box-shadow:0 8px 16px rgba(0,0,0,.06)}
  .price-pill .km{color:#A5A5A5;font-size:24px;min-width:80px}
  .price-pill .label{color:#1A1A1A;font-size:14px;opacity:.7;letter-spacing:0.06em}
  .price-pill .price{color:var(--red);font-size:28px;margin-left:auto}
  .price-pill.selected{border-color:var(--red);background:#fff;box-shadow:0 8px 22px rgba(230,0,18,0.18)}
  .price-pill.selected .km{color:var(--red)}

  .kit-cta{
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--blue);color:#fff;
    border-radius:999px;
    padding:16px 36px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    text-transform:uppercase;letter-spacing:0.08em;font-size:18px;
    width:100%;
    transition:transform .15s, box-shadow .15s, filter .15s;
    box-shadow:0 6px 0 #0e0eb3;
  }
  .kit-cta:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(26,26,255,0.45)}
  .kit-cta:active{transform:translateY(2px);box-shadow:0 3px 0 #0e0eb3}

  /* ---------- STORY SECTION ---------- */
  .section-story{
    position:relative;
    background:var(--red);
    color:#fff;
    overflow:hidden;
    line-height:0;
  }
  .section-story > img{
    display:block;
    width:100%;
    height:auto;
  }
  .story-bg{
    position:absolute;inset:0;
    background-image:var(--corredora-url, url(assets-aracaju/corredora.png));
    background-size:cover;background-position:left center;
    background-repeat:no-repeat;
  }
  .story-overlay{
    position:absolute;inset:0;
    background:
      radial-gradient(900px 600px at 80% 50%, rgba(230,0,18,0.0), rgba(230,0,18,0.0) 60%, rgba(230,0,18,0.0));
  }
  .story-content{
    position:relative;
    max-width:1180px;
    margin:0 auto;
    padding:80px 24px 80px;
    display:grid;
    grid-template-columns: 1.05fr 1fr;
    gap:60px;
    align-items:center;
    min-height:680px;
  }
  .story-text{
    grid-column:2;
    color:#fff;
    max-width:480px;
    margin-left:auto;
    display:flex;flex-direction:column;gap:18px;
  }
  .story-text p{
    font-family:'Saira',sans-serif;font-weight:500;
    font-size:17px;line-height:1.5;
    color:#FFE5E8;
  }
  .story-cta{
    margin-top:18px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
    text-transform:uppercase;letter-spacing:0.01em;font-size:30px;line-height:1.05;
    color:#FFF1F1;
    text-wrap:balance;
  }
  .story-selo{
    margin-top:24px;
    display:flex;align-items:center;gap:14px;
  }
  .story-selo svg{display:block}
  .story-selo .selo-mark{
    width:170px;
  }
  .story-selo .selo-meta{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;
    font-size:11px;letter-spacing:0.18em;text-transform:uppercase;
    color:#FFD7DA;
  }

  /* ---------- COUNTDOWN ---------- */
  .countdown{
    background:#F5BABA;
    color:var(--red-deep);
    padding:48px 24px 56px;
    text-align:center;
  }
  .countdown-label{
    display:flex;align-items:center;justify-content:center;gap:18px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    letter-spacing:0.18em;font-size:14px;text-transform:uppercase;
    color:var(--red-deep);
    margin-bottom:10px;
  }
  .countdown-label::before, .countdown-label::after{
    content:"";display:block;height:1px;background:rgba(192,0,15,0.4);width:120px;
  }
  .countdown-row{
    display:flex;justify-content:center;gap:60px;flex-wrap:wrap;
    margin-top:8px;
  }
  .cd-unit{display:flex;flex-direction:column;align-items:center;min-width:120px}
  .cd-unit .label{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;
    font-size:22px;letter-spacing:0.12em;text-transform:uppercase;
    color:#fff;
    text-shadow:0 1px 0 rgba(0,0,0,.05);
  }
  .cd-unit .value{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
    font-size:96px;line-height:1;color:#fff;
    letter-spacing:-0.02em;
    text-shadow:0 4px 0 rgba(192,0,15,0.2);
  }

  /* ---------- MAP SECTION ---------- */
  .section-map{
    background:#F1BFBA;
    padding:80px 24px;
  }
  .map-wrap{
    max-width:1180px;margin:0 auto;
    display:grid;grid-template-columns: 1.4fr 1fr;
    gap:40px;align-items:center;
  }
  .map-title{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
    font-size:clamp(80px,12vw,180px);
    line-height:.95;color:var(--red);
    letter-spacing:-0.01em;
  }
  .map-panel{
    background:#FBF1EE;
    border-radius:14px;
    padding:32px 28px;
    box-shadow:0 12px 30px rgba(192,0,15,0.08);
  }
  .map-tab{
    display:inline-flex;align-items:center;justify-content:center;
    background:#fff;border:2px solid var(--red);
    color:var(--red);
    border-radius:999px;
    padding:8px 28px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    font-size:20px;letter-spacing:0.04em;text-transform:uppercase;
    margin-bottom:14px;
  }
  .map-route{
    font-family:'Saira',sans-serif;font-size:14px;color:#3A1A1A;
    line-height:1.7;
    padding-bottom:18px;border-bottom:1px solid rgba(192,0,15,0.18);
    margin-bottom:24px;
  }
  .map-route:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
  .map-route .row{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
  .map-route .row strong{font-weight:700;color:#3A1A1A}
  .map-loading{
    display:inline-flex;align-items:center;gap:10px;
    font-style:italic;color:#7a3a3a;font-weight:600;font-size:14px;
    margin:8px 0;
    text-transform:uppercase;letter-spacing:0.06em;
  }
  .spinner{
    width:18px;height:18px;border-radius:50%;
    border:2px solid rgba(192,0,15,0.25);
    border-top-color:var(--red);
    animation:spin 1s linear infinite;
  }
  @keyframes spin{to{transform:rotate(360deg)}}

  /* ---------- INFO PROVA ---------- */
  .section-info{
    background:#fff;
    padding:80px 24px;
  }
  .info-card{
    max-width:980px;margin:0 auto;
    background:var(--red);
    border-radius:24px;
    padding:60px 48px;
    text-align:center;
    box-shadow:0 30px 80px rgba(192,0,15,0.25);
    position:relative;
    overflow:hidden;
  }
  .info-card::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(600px 320px at 50% -10%, rgba(255,255,255,0.08), transparent 60%);
    pointer-events:none;
  }
  .info-title{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
    color:#FBF1EE;
    font-size:clamp(36px,5vw,60px);
    text-transform:uppercase;letter-spacing:0.01em;
    margin-bottom:36px;
  }
  .info-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:18px;
    max-width:760px;margin:0 auto;
  }
  .info-item{
    background:#FBF1EE;
    border-radius:999px;
    padding:14px 24px;
    display:flex;align-items:center;gap:14px;
    color:var(--red);
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    text-transform:uppercase;letter-spacing:0.04em;font-size:18px;
    cursor:pointer;
    transition:transform .15s, box-shadow .15s, background .15s;
    text-align:left;
    width:100%;
  }
  .info-item:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,0.12)}
  .info-item .chev{
    width:0;height:0;
    border-left:8px solid transparent;
    border-right:8px solid transparent;
    border-top:10px solid var(--red);
    transition:transform .25s;
    flex-shrink:0;
  }
  .info-item.open .chev{transform:rotate(-180deg)}
  .info-item-wrap{display:flex;flex-direction:column;gap:0}
  .info-panel{
    grid-column:1 / -1;
    background:#FBF1EE;
    border-radius:20px;
    padding:24px 28px;
    text-align:left;
    color:#3A1A1A;
    font-family:'Saira',sans-serif;font-size:14px;line-height:1.6;
    margin-top:-4px;
    display:none;
  }
  .info-panel.open{display:block;animation:fadeIn .25s ease}
  @keyframes fadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
  .info-panel h4{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    color:var(--red);font-size:18px;text-transform:uppercase;letter-spacing:0.04em;
    margin-bottom:6px;
  }
  .info-panel p{margin:6px 0}
  .info-panel ul{margin:8px 0 8px 18px}
  .info-cta{
    margin-top:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--blue);color:#fff;
    border-radius:999px;padding:16px 50px;
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;
    text-transform:uppercase;letter-spacing:0.08em;font-size:18px;
    transition:transform .15s, box-shadow .15s;
    box-shadow:0 6px 0 #0e0eb3;
  }
  .info-cta:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(26,26,255,0.5)}
  .info-cta:active{transform:translateY(2px);box-shadow:0 3px 0 #0e0eb3}

  /* ---------- PARTNERS ---------- */
  .section-partners{
    background:#f3f3f3;
    padding:64px 24px 72px;
  }
  .partners-wrap{
    max-width:1080px;width:100%;margin:0 auto;
  }
  .partners-title{
    font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:700;
    font-size:14px;letter-spacing:0.18em;text-transform:uppercase;color:#8a8a8a;
    margin:0 0 36px;padding-bottom:14px;border-bottom:1px solid #dcdcdc;
  }
  .partners-grid{
    display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;gap:28px;
  }
  .partner-logo{
    display:flex;align-items:center;justify-content:center;
    aspect-ratio:3/2;padding:22px;
  }
  .partner-logo img{
    width:auto;max-width:100%;max-height:108px;height:auto;object-fit:contain;
  }

  /* ---------- FOOTER ---------- */
  .footer{
    background:var(--red-dark);
    color:#FFCCCC;
    text-align:center;
    padding:22px 24px;
    font-family:'Saira',sans-serif;font-size:12px;letter-spacing:0.1em;
    text-transform:uppercase;
  }

  /* ---------- TOAST ---------- */
  .toast{
    position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);
    background:#1A1A1A;color:#fff;padding:14px 22px;border-radius:999px;
    font-family:'Saira',sans-serif;font-weight:600;font-size:14px;
    opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;
    z-index:100;
    box-shadow:0 12px 30px rgba(0,0,0,0.25);
  }
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

  /* responsive */
  @media (max-width: 900px){
    .topbar{padding:22px 28px}
    .nav{gap:24px;font-size:13px}
    .kit-row{grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:12px;align-items:center}
    .kit-buttons{max-width:none}
    .kit-img img{max-width:320px}
    .price-pill{padding:10px 12px;gap:8px}
    .price-pill .km{min-width:0;font-size:18px}
    .price-pill .label{font-size:10px}
    .price-pill .price{font-size:30px}
    .kit-cta{padding:13px 18px;font-size:16px}
    .story-content{grid-template-columns:1fr;min-height:auto;padding:60px 24px 60px}
    .story-text{grid-column:1;margin:0 auto}
    .story-bg{position:relative;height:380px;background-position:center top;background-size:contain;background-color:var(--red)}
    .section-story{background:var(--red)}
    .map-wrap{grid-template-columns:1fr}
    .info-grid{grid-template-columns:1fr}
    .section-partners{padding:44px 24px 52px}
    .partners-grid{grid-template-columns:repeat(2,1fr);gap:18px}
    .partner-logo{padding:16px}
    .partner-logo img{max-height:80px}
    .countdown-row{gap:24px}
    .cd-unit{min-width:80px}
    .cd-unit .value{font-size:64px}
    .date-bar{
      gap:20px;
      padding:18px 10px;
    }
    .date-bar .item{
      font-size:clamp(16px,3.8vw,24px);
      white-space:nowrap;
    }
    .date-bar .dot{
      width:8px;
      height:8px;
      flex:0 0 8px;
    }
  }
  @media (max-width: 640px){
    .section-kit{padding:34px 10px 42px}
    .kit-row{gap:8px}
    .kit-img img{max-width:230px}
    .price-pill{padding:9px 10px}
    .price-pill .km{font-size:14px}
    .price-pill .label{font-size:8px}
    .price-pill .price{font-size:22px}
    .kit-cta{font-size:13px;letter-spacing:0.05em}
    .section-partners{padding:36px 18px 44px}
    .partners-title{font-size:12px;letter-spacing:0.14em;margin:0 0 22px;padding-bottom:12px;text-align:center}
    .partners-grid{gap:10px 14px}
    .partner-logo{aspect-ratio:16/10;padding:12px 14px}
    .partner-logo img{max-height:62px}
  }
