:root{
    --bg:#0b1530;            /* navy */
    --bg2:#0a1227;
    --text:#eaf0ff;          /* soft white */
    --muted:rgba(234,240,255,.78);
    --gold:#d7b35a;          /* gold */
    --gold2:#b68f3e;
    --line:rgba(215,179,90,.55);
    --line2:rgba(215,179,90,.25);
    --card:rgba(215,179,90,.14);
    --card2:rgba(11,21,48,.55);
    --shadow:0 18px 50px rgba(0,0,0,.35);
    --radius:18px;
    --max: 860px;
  }
  
  *{ box-sizing:border-box; }
  html,body{ height:100%; }
  body{
    margin:0;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
    color:var(--text);
    background: var(--bg);
  }
  
  a{ color:inherit; }
  .page{
    min-height:100%;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding: clamp(18px, 3.5vw, 48px) 14px;
  }
  
  .invite{
    width:min(var(--max), 100%);
    position:relative;
    padding: clamp(26px, 5vw, 56px) clamp(18px, 4vw, 56px);
    border-radius: 26px;
    background: rgba(255,255,255,.02);
    box-shadow: var(--shadow);
    overflow:hidden;
  }
  
  /* ===== Frame (ornate corners) ===== */
  .frame{
    position:absolute;
    inset: 14px;
    pointer-events:none;
    opacity:.95;
  }
  
  .frame__line{
    position:absolute;
    background: linear-gradient(90deg, transparent, var(--line), transparent);
    height:1px;
    left: 86px;
    right: 86px;
  }
  .frame__line--top{ top: 26px; }
  .frame__line--bottom{ bottom: 13px; }
  

  
  .frame__corner{
    position:absolute;
    width: 78px;
    height: 78px;
  }
  .frame__corner::before,
  .frame__corner::after{
    content:"";
    position:absolute;
    background: linear-gradient(180deg, var(--gold), var(--gold2));
    opacity:.9;
  }
  .frame__corner::before{ width:2px; height: 52px; }
  .frame__corner::after{ height:2px; width: 52px; }
  
  .frame__corner--tl{ top: 10px; left: 10px; }
  .frame__corner--tl::before{ left: 0; top: 0; }
  .frame__corner--tl::after{ left: 0; top: 0; }
  
  .frame__corner--tr{ top: 10px; right: 10px; }
  .frame__corner--tr::before{ right: 0; top: 0; }
  .frame__corner--tr::after{ right: 0; top: 0; }
  
  .frame__corner--tr::after{ transform-origin:right top; }
  
  .frame__corner--bl{ bottom: 10px; left: 10px; }
  .frame__corner--bl::before{ left: 0; bottom: 0; }
  .frame__corner--bl::after{ left: 0; bottom: 0; }
  
  .frame__corner--br{ bottom: 10px; right: 10px; }
  .frame__corner--br::before{ right: 0; bottom: 0; }
  .frame__corner--br::after{ right: 0; bottom: 0; }
  
  /* ===== Header ===== */
  .header{
    text-align:center;
    padding-top: 8px;
  }
  .brand{
    display:flex;
    justify-content:center;
    align-items:center;
    padding: 0;
    background: none;
    border: none;
    padding: 0;
  }
  .brand__logo{
    height: 36px;
    width: auto;
    filter: drop-shadow(0 0 8px rgba(0,0,0,.4));
  }
  
  .kicker{
    margin: 18px 0 10px;
    color: var(--gold);
    letter-spacing:.22em;
    font-weight:700;
    font-size: 11px;
  }
  .title{
    margin: 0;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-size: clamp(22px, 3.4vw, 34px);
    color: var(--gold);
  }
  .subtitle{
    margin: 12px auto 0;
    max-width: 54ch;
    color: var(--muted);
    font-size: 14px;
    line-height:1.6;
  }
  
  /* ===== Orn separators ===== */
  .orn-sep,
  .orn-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 10px;
    margin: 16px 0 0;
  }
  .orn-divider{ margin: 22px 0 10px; }
  .orn-sep span,
  .orn-divider span{
    width: 120px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--line), transparent);
  }
  .orn-sep i,
  .orn-divider i{
    width: 10px;
    height: 10px;
    border: 1px solid var(--line);
    transform: rotate(45deg);
    opacity:.9;
  }
  
  /* ===== Body content ===== */
  .content{
    margin-top: clamp(18px, 3vw, 30px);
    display:flex;
    justify-content:center;
  }
  .copy{
    width: min(720px, 100%);
    font-size: 15px;
    line-height: 1.78;
    color: rgba(234,240,255,.9);
    text-align: justify;
  }
  
  .tagline{
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 12px;
    margin: 8px auto 18px;
    color: var(--gold);
    letter-spacing:.18em;
    font-weight:800;
    text-transform:uppercase;
    font-size: 11px;
  }
  .tagline .dot{
    width:6px; height:6px;
    background: var(--gold);
    border-radius: 999px;
    opacity:.9;
  }
  
  .bullets{
    margin: 10px 0 16px 18px;
    padding:0;
  }
  .bullets li{
    margin: 6px 0;
    color: rgba(234,240,255,.88);
  }
  
  /* ===== Gold card ===== */
  .gold-card{
    margin: 18px 0 14px;
    padding: 16px 16px;
    border-radius: var(--radius);
    border: 1px solid rgba(215,179,90,.38);
    background:
      radial-gradient(900px 280px at 50% 0%, rgba(215,179,90,.18), transparent 65%),
      linear-gradient(180deg, rgba(215,179,90,.10), rgba(215,179,90,.06));
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
  }
  .gold-card__title{
    margin:0 0 8px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size: 12px;
    color: var(--gold);
  }
  .gold-card__desc{
    margin:0;
    color: rgba(234,240,255,.92);
  }
  .wa-link{
    color: #0b1530;
    background: var(--gold);
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 900;
    text-decoration:none;
    display:inline-block;
    transform: translateY(-1px);
  }
  .wa-link:hover{ filter: brightness(1.03); }
  
  .sig{
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px dashed rgba(215,179,90,.35);
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap: 10px;
  }
  .sig__name{
    font-weight: 900;
    color: rgba(234,240,255,.98);
    letter-spacing:.02em;
  }
  .sig__meta{
    color: rgba(234,240,255,.8);
    font-size: 13px;
  }
  
  /* ===== Links ===== */
  .links{
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--line2);
    background: rgba(255,255,255,.03);
  }
  .links__row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin: 6px 0;
  }
  .links__label{
    color: rgba(234,240,255,.72);
    min-width: 100px;
  }
  .links__value a{
    text-decoration:none;
    border-bottom: 1px dotted rgba(215,179,90,.55);
  }
  .links__value a:hover{
    border-bottom-style: solid;
  }
  .sep{ opacity:.6; padding: 0 8px; }
  
  .footer-note{
    margin: 0;
    text-align:center;
    color: rgba(234,240,255,.72);
    font-size: 12px;
  }
  .mini-brand{
    color: rgba(234,240,255,.9);
    font-weight: 800;
  }
  
  /* ===== Responsive tweaks ===== */
  @media (max-width: 520px){
    .frame{ inset: 10px; }
    .frame__line{ left: 62px; right: 62px; }
    .frame__line--left, .frame__line--right{ top: 62px; bottom: 62px; }
    .frame__corner{ width: 64px; height: 64px; }
    .frame__corner::before{ height: 44px; }
    .frame__corner::after{ width: 44px; }
  
    .sig{ flex-direction:column; align-items:flex-start; }
    .links__label{ min-width: unset; }
  }
  