:root{
    --bg:#0b1220;
    --card:#0f1a33;
    --muted:#93a4c4;
    --brand:#357ABD;
    --brand-2:#1D4ED8;
    --accent:#FFD54F;
    --shadow:0 12px 30px rgba(0,0,0,.25);
    --radius:14px;
    --radius-sm:10px;
    --max:1200px;
  }
  
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,Arial,sans-serif;
    background:linear-gradient(180deg,#0a1020 0%,#0c1530 100%);
    color:#e8eefc;
    line-height:1.55;
    padding-top:0;
  }
  
  a{color:#cfe3ff;text-decoration:none}
  a:hover{text-decoration:underline}
  img{max-width:100%;height:auto;display:block}
  
  .wrap{max-width:var(--max);margin-inline:auto;padding:20px}
  .visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
  
  /* Header alignment contract */
  .topbar{
    position:sticky;
    top:0;
    z-index:50;
    background:#0a1328cc;
    backdrop-filter:saturate(160%) blur(8px);
    border-bottom:1px solid #1e2a4d;
  }
  .topbar-inner{
    max-width:var(--max);
    margin:0 auto;
    padding:10px 16px;
  }
  
  /* Typography helpers */
  .muted{color:#b8c9ff}
  .link{color:#cfe3ff}
  
  /* Buttons */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid #2a57a8;
    border-radius:12px;
    padding:12px 16px;
    font-weight:800;
    letter-spacing:.2px;
    color:#fff;
    background:#132a55;
    box-shadow:0 8px 18px rgba(0,0,0,.25);
    text-decoration:none;
    transition:transform .06s ease, box-shadow .2s ease, background .2s ease;
  }
  .btn:hover{transform:translateY(-1px);text-decoration:none}
  .btn:active{transform:translateY(0)}
  .btn.primary{
    border:0;
    background:linear-gradient(180deg,#3b82f6,#1d4ed8);
    box-shadow:0 10px 20px rgba(29,78,216,.35);
  }
  .btn.ghost{
    background:transparent;
    border:1px solid #2a57a8;
  }
  .btn.small{padding:10px 12px;border-radius:10px;font-weight:800}
  .btn.full{width:100%}
  
  /* Hero */
  .hero{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:18px;
    margin-top:18px;
    align-items:start;
  }
  @media(max-width:980px){.hero{grid-template-columns:1fr}}
  
  .hero-kicker{
    display:inline-flex;
    font-size:13px;
    color:#b8c9ff;
    background:#132a55;
    border:1px solid #2a57a8;
    border-radius:999px;
    padding:6px 10px;
    margin:0 0 10px;
  }
  .hero-title{font-size:clamp(26px,3vw,40px);margin:0;color:#fff;letter-spacing:.2px}
  .hero-sub{max-width:80ch;color:#cfe3ff;margin:10px 0 14px}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}
  .hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  @media(max-width:700px){.hero-metrics{grid-template-columns:1fr}}
  .metric{
    background:#0f1b37;
    border:1px solid #1e2a4d;
    border-radius:12px;
    padding:12px;
    box-shadow:var(--shadow);
  }
  .metric strong{display:block;color:#fff}
  .metric span{display:block;color:#b8c9ff;font-size:13px;margin-top:4px}
  
  /* Coupon */
  .coupon{
    background:radial-gradient(1200px 400px at 20% -40%, #16356a 0%, #0b1220 60%);
    border:1px solid #204a8c;
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
  }
  .coupon-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .pill{
    display:inline-flex;
    font-size:13px;
    color:#b8c9ff;
    background:#132a55;
    border:1px solid #2a57a8;
    border-radius:999px;
    padding:6px 10px;
  }
  .month-badge{
    display:inline-flex;
    font-size:13px;
    font-weight:900;
    color:#ffd54f;
    background:#0b1d46;
    border:1px solid #2a57a8;
    border-radius:999px;
    padding:6px 10px;
  }
  .coupon-title{margin:12px 0 6px;font-size:22px;color:#fff}
  .coupon-desc{margin:0 0 12px;color:#cfe3ff}
  .coupon-code{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}
  .code-chip{
    font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size:18px;
    font-weight:900;
    letter-spacing:.6px;
    background:#0b1d46;
    border:2px dashed #4e77c9;
    color:#ffd54f;
    padding:10px 12px;
    border-radius:12px;
  }
  .fine{font-size:12.5px;color:#9db3e6;margin:0}
  .coupon-actions{margin-top:10px}
  .coupon-bullets{margin:12px 0 0;padding-left:18px;color:#e9f1ff}
  .coupon-bullets li{margin:6px 0}
  .coupon-bullets a{
    color:#7cc4ff;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:2px;
    text-decoration-thickness:2px;
  }
  .coupon-bullets a:hover{color:#ffd54f}

  .hero-editorial{
    margin-top:14px;
    padding:10px 12px;
    border:1px solid #1e2a4d;
    border-radius:12px;
    background:#0f1b37;
  }
  .hero-editorial p{margin:0}
  .hero-editorial p + p{margin-top:6px}

  .update-announcement-slot{
    margin-top:14px;
  }
  .update-highlight{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    background:
      radial-gradient(circle at top left, rgba(92,155,255,.14), transparent 36%),
      radial-gradient(circle at bottom right, rgba(255,213,79,.11), transparent 34%),
      linear-gradient(135deg,#142a57,#0c1733);
    border:1px solid #365ca8;
    border-radius:var(--radius);
    padding:14px;
    box-shadow:var(--shadow);
  }
  .update-highlight-kicker{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:999px;
    border:1px solid #4a74c5;
    background:rgba(10,22,48,.9);
    color:#ffd778;
    font-size:12px;
    font-weight:800;
    letter-spacing:.28px;
    text-transform:uppercase;
  }
  .update-highlight h2{
    margin:8px 0 6px;
    font-size:clamp(20px,2.4vw,26px);
    color:#fff;
  }
  .update-highlight p{
    margin:0;
    color:#dbe8ff;
    font-size:14px;
  }
  .update-highlight-list{
    margin:10px 0 0;
    padding-left:0;
    color:#eef4ff;
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:thin;
    list-style:none;
    white-space:nowrap;
    padding-bottom:2px;
  }
  .update-highlight-list li{
    margin:0;
    padding:7px 10px;
    border:1px solid #24467f;
    border-radius:999px;
    background:rgba(9,19,42,.82);
    flex:0 0 auto;
    font-size:12px;
  }
  .update-highlight-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
  }
  .update-highlight-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 14px;
    border-radius:10px;
    border:1px solid #4e77c9;
    background:#1a3b7b;
    color:#fff;
    font-weight:800;
    text-decoration:none;
  }
  .update-highlight-btn:hover{
    text-decoration:none;
    background:#21478f;
  }
  .update-highlight-btn.secondary{
    background:rgba(10,22,48,.92);
    border-color:#355694;
    color:#dbe8ff;
  }
  .update-highlight-btn.secondary:hover{
    background:rgba(15,31,67,.96);
  }
  .update-highlight-stats{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scrollbar-width:thin;
    align-self:stretch;
    padding-bottom:2px;
  }
  .update-highlight-stat{
    display:grid;
    gap:4px;
    padding:10px 12px;
    border:1px solid #24467f;
    border-radius:12px;
    background:rgba(9,19,42,.88);
    min-width:132px;
    flex:0 0 auto;
  }
  .update-highlight-stat strong{
    font-size:22px;
    color:#fff;
    line-height:1;
  }
  .update-highlight-stat span{
    color:#cfe0ff;
    font-size:12px;
  }
  
  /* Sections */
  .section{margin-top:34px}
  .section h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 12px;color:#fff;letter-spacing:.2px}
  .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
  
  /* Finder */
  .finder{
    background:#0f1b37;
    border:1px solid #1e2a4d;
    border-radius:var(--radius);
    padding:14px;
    box-shadow:var(--shadow);
  }
  .search{
    width:100%;
    padding:12px 12px;
    border-radius:12px;
    border:1px solid #2a57a8;
    background:#0b1328;
    color:#e8eefc;
    outline:none;
  }
  .search::placeholder{color:#93a4c4}
  .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
  .chip{
    background:#132a55;
    border:1px solid #2a57a8;
    color:#cfe3ff;
    border-radius:999px;
    padding:8px 12px;
    font-weight:800;
    cursor:pointer;
  }
  .chip.active{
    background:linear-gradient(180deg,#3b82f6,#1d4ed8);
    border-color:transparent;
  }
  
  /* Grid + cards */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  @media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:640px){.grid{grid-template-columns:1fr}}
  
  .card{
    background:linear-gradient(180deg,#0f1a33,#0b1328);
    border:1px solid #1e2a4d;
    border-radius:var(--radius-sm);
    padding:16px;
    box-shadow:var(--shadow);
    min-height:104px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    text-decoration:none;
  }
  .card:hover{text-decoration:none;transform:translateY(-1px)}
  .card-body{display:flex;flex-direction:column;gap:4px}
  .title{font-weight:900;color:#e9f1ff}
  .desc{font-size:13px;color:#b8c9ff;max-width:46ch}
  .badge{
    font-size:12px;
    padding:4px 8px;
    border-radius:999px;
    border:1px solid #284a8e;
    color:#bcd0ff;
    background:#0b1d46;
    white-space:nowrap;
  }
  .card.plain .badge{border-color:#284a8e}
  .card.gcp .badge{border-color:#5aa1ff}
  .card.aws .badge{border-color:#ffb86b}
  .card.azure .badge{border-color:#80b6ff}
  .card.databricks .badge{border-color:#ff8a80}
  .card.salesforce .badge{border-color:#c59bff}
  .card.aigp .badge{border-color:#f7c86b}
  .card.isc2 .badge{border-color:#7de0bf}
  .card.more .badge{border-color:#9cc1ff}
  
  .card.hidden{display:none}
  
  /* Reviews strip */
  .reviews{
    background:#0f1b37;
    border:1px solid #1e2a4d;
    border-radius:var(--radius);
    padding:18px;
    box-shadow:var(--shadow);
  }
  .review-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:14px;
  }
  @media(max-width:980px){.review-strip{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:640px){.review-strip{grid-template-columns:1fr}}
  .review-card{
    margin:0;
    background:#0b1328;
    border:1px solid #213460;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 6px 16px rgba(0,0,0,.35);
  }
  .review-img{width:100%;height:auto}
  
  /* FAQ */
  .faq{
    background:#0f1b37;
    border:1px solid #1e2a4d;
    border-radius:var(--radius-sm);
    padding:14px;
    box-shadow:var(--shadow);
    margin-top:12px;
  }
  .faq summary{cursor:pointer;color:#fff;font-weight:900}
  .faq p{color:#cfe3ff;margin:10px 0 0}
  
  /* Footer contract is in footer.html + page-level alignment */
  footer{
    margin-top:36px;
    padding:22px;
    background:#0a1328;
    border-top:1px solid #1e2a4d;
  }
  
