/* ===== Contact page (3 cards horizontal) — same theme ===== */
  .policy-wrap{
    padding: clamp(18px, 2.6vw, 34px) 0 46px;
  }

  .policy-hero{
    border-radius: 26px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(15,23,42,.10);
    box-shadow: 0 18px 50px rgba(2,10,28,.12);
    position: relative;
    overflow: hidden;
  }
  .policy-hero:before{
    content:"";
    position:absolute; inset:-1px;
    background:
      radial-gradient(900px 300px at 18% 0%, rgba(21,120,190,.14), transparent 62%),
      radial-gradient(900px 320px at 88% 20%, rgba(212,0,0,.09), transparent 62%),
      radial-gradient(900px 340px at 50% 110%, rgba(4,64,124,.10), transparent 60%);
    pointer-events:none;
  }
  .policy-hero > *{ position: relative; z-index: 1; }

  .policy-pill{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.35rem .7rem;
    border-radius:999px;
    background: rgba(255,255,255,.75);
    border: 1px solid rgba(15,23,42,.10);
    color: rgba(11,18,32,.76);
    font-weight: 700;
    font-size: .85rem;
    box-shadow: 0 10px 26px rgba(2,10,28,.06);
  }
  .policy-pill .dot{
    width: 10px; height: 10px; border-radius: 999px;
    background: #1578be;
    box-shadow: 0 0 0 4px rgba(21,120,190,.14);
  }

  .policy-title{
    font-weight: 1000;
    letter-spacing: -.03em;
    margin: .4rem 0 .25rem;
    color: rgba(11,18,32,.94);
    line-height: 1.06;
  }
  .policy-sub{
    color: rgba(11,18,32,.72);
    margin: 0;
    max-width: 75ch;
  }

  .policy-meta{
    display:flex;
    flex-wrap: wrap;
    gap: .5rem .6rem;
    margin-top: .9rem;
  }
  .meta-badge{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.38rem .7rem;
    border-radius:999px;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(15,23,42,.10);
    color: rgba(11,18,32,.76);
    font-size: .85rem;
    font-weight: 700;
  }
  .meta-badge i{ opacity:.85; }

  .policy-actions .btn{
    border-radius: 14px;
    padding: .6rem .9rem;
    font-weight: 800;
  }
  .btn-primaryx{
    background: linear-gradient(135deg, #1578be, #04407c);
    border: 0;
    color: #fff;
    box-shadow: 0 16px 34px rgba(21,120,190,.22);
  }
  .btn-ghost{
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(15,23,42,.12);
    color: rgba(11,18,32,.86);
  }
  .btn-ghost:hover{ background: rgba(255,255,255,.78); }

  /* 3 cards */
  .contact-card{
    border-radius: 22px;
    background: rgba(255,255,255,.70);
    border: 1px solid rgba(15,23,42,.10);
    box-shadow: 0 12px 34px rgba(2,10,28,.10);
    overflow:hidden;
    height: 100%;
  }
  .contact-card .head{
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(15,23,42,.08);
    display:flex;
    align-items:center;
    gap:.7rem;
  }
  .contact-card .head .icon{
    width: 42px; height: 42px;
    border-radius: 14px;
    display:grid; place-items:center;
    background: rgba(21,120,190,.10);
    border: 1px solid rgba(21,120,190,.18);
    color: #04407c;
    box-shadow: 0 10px 26px rgba(2,10,28,.06);
    flex: 0 0 auto;
  }
  .contact-card .head h2{
    font-weight: 950;
    font-size: 1.05rem;
    letter-spacing: -.02em;
    margin: 0;
    color: rgba(11,18,32,.92);
  }
  .contact-card .head .sub{
    margin: .05rem 0 0;
    color: rgba(11,18,32,.68);
    font-size: .9rem;
    font-weight: 700;
  }
  .contact-card .body{
    padding: 1rem 1.1rem 1.1rem;
    color: rgba(11,18,32,.80);
  }

  .notice{
    border-radius: 18px;
    padding: .9rem 1rem;
    border: 1px solid rgba(21,120,190,.18);
    background: rgba(21,120,190,.08);
    color: rgba(11,18,32,.82);
  }
  .notice strong{ color: rgba(4,64,124,.95); }

  @media (max-width: 576px){
    .contact-card .head, .contact-card .body{ padding: .9rem; }
    .contact-card .head .icon{ width: 40px; height: 40px; border-radius: 13px; }
  }