  :root{
    --red:#A6192E;
    --red-deep:#7A0D1F;
    --gold:#C6A15B;
    --gold-light:#E8DBB5;
    --paper:#FFFFFF;
    --paper-2:#F4EDDB;
    --ink:#2A2118;
    --ink-soft:#5B4F40;
    --verified:#2F6B4F;
    --verified-bg:#E7F0EA;
    --correction:#8C5A17;
    --correction-bg:#F4E9D6;
    --line:#E4D8BE;
    --radius-card:10px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Be Vietnam Pro', sans-serif;
    font-size:16px;
    line-height:1.65;
  }
  h1,h2,h3,.serif{font-family:'Noto Serif', serif;}
  a{color:var(--red-deep);}
  .placeholder{
    font-family:'IBM Plex Mono', monospace;
    background:var(--gold-light);
    color:var(--red-deep);
    padding:1px 7px;
    border-radius:4px;
    font-size:0.88em;
    font-weight:600;
    white-space:nowrap;
  }

  /* ---------- notice bar ---------- */
  .notice-bar{
    background:var(--gold);
    color:var(--red-deep);
    text-align:center;
    font-weight:600;
    font-size:13.5px;
    padding:8px 16px;
    letter-spacing:.01em;
    position:sticky;
    top:0;
    z-index:50;
  }

  /* ---------- masthead ---------- */
  .masthead{
    background:var(--paper);
    color:var(--ink);
    padding:38px 24px 30px;
    position:relative;
    overflow:hidden;
    border-bottom:6px solid var(--gold);
  }
  .masthead::before{
    content:"";
    position:absolute;
    right:-60px; top:-60px;
    width:260px; height:260px;
    border:14px solid rgba(166,25,46,0.06);
    border-radius:50%;
  }
  .masthead-inner{
    max-width:1180px;
    margin:0 auto;
    position:relative;
    z-index:2;
  }
  .logo-wrap{
    display:inline-flex;
    margin:0 0 20px;
  }
  .logo-wrap img{
    display:block;
    height:64px;
    width:auto;
  }
  .sr-only{
    position:absolute;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .masthead-eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--red-deep);
    margin:0 0 10px;
  }
  .masthead h1{
    font-size:clamp(28px, 4.4vw, 46px);
    margin:0 0 6px;
    font-weight:700;
    line-height:1.15;
  }
  .masthead .sub{
    font-size:15px;
    color:var(--ink-soft);
    max-width:620px;
    margin:0 0 18px;
  }
  .masthead-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
  }
  .masthead-meta span{
    background:var(--paper-2);
    border:1px solid var(--line);
    color:var(--ink);
    padding:5px 10px;
    border-radius:6px;
  }

  /* stamp seal — signature element */
  .stamp{
    position:absolute;
    right:26px;
    bottom:14px;
    width:118px;
    height:118px;
    border-radius:50%;
    border:3px solid var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    transform:rotate(-9deg);
    color:var(--red-deep);
    font-family:'IBM Plex Mono', monospace;
    font-size:9.5px;
    letter-spacing:.05em;
    line-height:1.3;
    padding:10px;
    opacity:.9;
  }
  .stamp::before{
    content:"";
    position:absolute;
    inset:7px;
    border:1px solid var(--red);
    border-radius:50%;
  }
  .stamp b{display:block; font-size:11px; margin-bottom:3px;}

  /* ---------- layout ---------- */
  .layout{
    max-width:1180px;
    margin:0 auto;
    display:grid;
    grid-template-columns:250px 1fr;
    gap:36px;
    padding:34px 24px 80px;
    align-items:start;
  }
  @media (max-width:880px){
    .layout{grid-template-columns:1fr;}
  }

  /* ---------- TOC ---------- */
  .toc{
    position:sticky;
    top:52px;
    background:var(--paper-2);
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:18px 16px;
  }
  .toc-title{
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin:0 0 12px;
    border-bottom:1px solid var(--line);
    padding-bottom:8px;
  }
  .toc ol{
    list-style:none;
    margin:0; padding:0;
    counter-reset:muc;
  }
  .toc li{counter-increment:muc;}
  .toc a{
    display:flex;
    gap:9px;
    align-items:baseline;
    text-decoration:none;
    color:var(--ink);
    font-size:13.5px;
    padding:6px 4px;
    border-radius:6px;
  }
  .toc a:hover{background:var(--gold-light);}
  .toc a::before{
    content:counter(muc, decimal-leading-zero);
    font-family:'IBM Plex Mono', monospace;
    color:var(--red-deep);
    font-weight:600;
    font-size:12px;
    flex-shrink:0;
  }

  /* ---------- main content ---------- */
  main{min-width:0;}
  section{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius-card);
    padding:26px 28px;
    margin-bottom:22px;
    scroll-margin-top:60px;
  }
  section h2{
    font-size:21px;
    margin:0 0 4px;
    color:var(--red-deep);
    display:flex;
    align-items:baseline;
    gap:10px;
  }
  section h2 .num{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    color:var(--gold);
    background:var(--red-deep);
    padding:2px 8px;
    border-radius:5px;
    font-weight:600;
  }
  .section-note{
    font-size:13.5px;
    color:var(--ink-soft);
    margin:0 0 18px;
    border-left:3px solid var(--gold);
    padding-left:10px;
  }
  h3{font-size:16px; margin:20px 0 8px; color:var(--ink);}
  p{margin:0 0 12px;}
  ul,ol.list{margin:0 0 12px; padding-left:20px;}
  li{margin-bottom:6px;}

  /* status badges */
  .badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    font-weight:600;
    padding:4px 10px;
    border-radius:999px;
  }
  .badge-verified{background:var(--verified-bg); color:var(--verified);}
  .badge-pending{background:var(--gold-light); color:var(--red-deep);}
  .badge-correction{background:var(--correction-bg); color:var(--correction);}
  .badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;}

  /* result card */
  .result-card{
    border:1px solid var(--gold);
    border-radius:var(--radius-card);
    background:var(--paper-2);
    padding:20px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
    gap:16px;
  }
  .result-field{}
  .result-field .label{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--ink-soft);
    margin-bottom:4px;
  }
  .result-field .value{font-size:16px; font-weight:600;}

  table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
    margin:10px 0 18px;
  }
  table th, table td{
    border:1px solid var(--line);
    padding:9px 10px;
    text-align:left;
  }
  table th{
    background:var(--paper-2);
    font-family:'IBM Plex Mono', monospace;
    font-size:11.5px;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--ink-soft);
  }
  table td.num, table td.mono{font-family:'IBM Plex Mono', monospace;}

  .schedule-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(120px,1fr));
    gap:10px;
    margin:14px 0;
  }
  .schedule-day{
    border:1px solid var(--line);
    border-radius:8px;
    padding:12px;
    text-align:center;
    background:var(--paper-2);
  }
  .schedule-day .d{font-weight:600; font-size:14px; margin-bottom:4px;}
  .schedule-day .t{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--red-deep);}

  .steps{list-style:none; padding:0; margin:0;}
  .steps li{
    display:flex; gap:12px;
    padding:12px 0;
    border-bottom:1px solid var(--line);
  }
  .steps li:last-child{border-bottom:none;}
  .steps .stepnum{
    font-family:'IBM Plex Mono', monospace;
    font-weight:600;
    color:#fff;
    background:var(--red);
    width:26px; height:26px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    font-size:13px;
  }

  .prize-tier{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;
    border-bottom:1px dashed var(--line);
    font-size:14.5px;
  }
  .prize-tier:last-child{border-bottom:none;}
  .prize-tier .name{font-weight:600;}
  .prize-tier .digits{
    font-family:'IBM Plex Mono', monospace;
    color:var(--red-deep);
    font-size:13px;
  }

  .faq-item{border-bottom:1px solid var(--line); padding:12px 0;}
  .faq-item:last-child{border-bottom:none;}
  .faq-q{font-weight:600; margin-bottom:4px;}
  .faq-a{color:var(--ink-soft); font-size:14.5px; margin:0;}

  .stamp-inline{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:96px; height:96px;
    border:2.5px solid var(--red);
    border-radius:50%;
    color:var(--red-deep);
    font-family:'IBM Plex Mono', monospace;
    font-size:9px;
    text-align:center;
    line-height:1.25;
    transform:rotate(-7deg);
    float:right;
    margin:0 0 10px 16px;
    padding:8px;
  }
  .stamp-inline b{display:block; font-size:10.5px;}

  .form-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:12px 0 6px;
  }
  .form-row input, .form-row select{
    font-family:'Be Vietnam Pro', sans-serif;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:7px;
    font-size:14px;
    background:#fff;
  }
  .form-row button{
    font-family:'Be Vietnam Pro', sans-serif;
    font-weight:600;
    padding:9px 18px;
    border-radius:7px;
    border:1px solid var(--red);
    background:var(--red);
    color:#fff;
    cursor:not-allowed;
    opacity:.85;
  }
  .demo-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--ink-soft);
    margin-top:4px;
  }

  .contact-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
    gap:16px;
    margin-top:14px;
  }
  .contact-card{
    border:1px solid var(--line);
    border-radius:8px;
    padding:14px;
    background:var(--paper-2);
  }
  .contact-card .label{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:4px;
  }

  footer{
    background:var(--red-deep);
    color:#F3DFC2;
    padding:34px 24px 26px;
    font-size:13.5px;
  }
  .footer-inner{
    max-width:1180px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:18px;
  }
  footer a{color:var(--gold-light);}
  .footer-inner a{
    display:inline-block;
    padding:6px 0;
    min-height:24px;
  }
  .foot-disclaimer{
    max-width:1180px;
    margin:22px auto 0;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,0.18);
    font-size:12.5px;
    color:#E8CFAE;
  }
