    /* Self-hosted webfonts (Barlow Condensed + Manrope, latin / latin-ext / vietnamese subsets). */
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-600-vietnamese.woff2") format("woff2");
      font-weight: 600;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-600-latin-ext.woff2") format("woff2");
      font-weight: 600;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-600-latin.woff2") format("woff2");
      font-weight: 600;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-700-vietnamese.woff2") format("woff2");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-700-latin-ext.woff2") format("woff2");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-700-latin.woff2") format("woff2");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-800-vietnamese.woff2") format("woff2");
      font-weight: 800;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-800-latin-ext.woff2") format("woff2");
      font-weight: 800;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }
    @font-face {
      font-family: "Barlow Condensed";
      src: url("fonts/barlow-condensed-800-latin.woff2") format("woff2");
      font-weight: 800;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    @font-face {
      font-family: "Manrope";
      src: url("fonts/manrope-400-700-vietnamese.woff2") format("woff2");
      font-weight: 400 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
    }
    @font-face {
      font-family: "Manrope";
      src: url("fonts/manrope-400-700-latin-ext.woff2") format("woff2");
      font-weight: 400 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
    }
    @font-face {
      font-family: "Manrope";
      src: url("fonts/manrope-400-700-latin.woff2") format("woff2");
      font-weight: 400 700;
      font-style: normal;
      font-display: swap;
      unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
    }
    :root {
      color-scheme: dark;
      --bg: #090a0c;
      --surface: #111317;
      --surface-2: #17191e;
      --surface-3: #202229;
      --text: #f7f2e8;
      --muted: #b9b2a7;
      --line: rgba(255,255,255,.10);
      --gold: #f5bb45;
      --gold-2: #d8891f;
      --orange: #ff6a1a;
      --green: #73c68b;
      --bronze: #7d4326;
      --shadow: 0 24px 70px rgba(0,0,0,.42);
      --font-display: "Barlow Condensed", "Trebuchet MS", sans-serif;
      --font-body: "Manrope", sans-serif;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      min-width: 320px;
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      line-height: 1.65;
      overflow-x: hidden;
    }
    button, a { font: inherit; }
    a { color: inherit; text-decoration: none; }
    button { color: inherit; }
    .shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
    .hero {
      position: relative;
      min-height: 740px;
      display: flex;
      align-items: center;
      isolation: isolate;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
      background: #0b0c0e;
    }
    .hero::before {
      content: "";
      position: absolute;
      z-index: -3;
      inset: 0;
      background: url("img/hero-0.jpg") center center / cover no-repeat;
      transform: scale(1.025);
    }
    .hero::after {
      content: "";
      position: absolute;
      z-index: -2;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(7,8,10,.97) 0%, rgba(7,8,10,.91) 36%, rgba(7,8,10,.28) 67%, rgba(7,8,10,.40) 100%),
        linear-gradient(0deg, var(--bg) 0%, transparent 30%, rgba(7,8,10,.10) 100%);
    }
    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 650px) 292px;
      justify-content: space-between;
      gap: 96px;
      align-items: end;
      padding: 88px 0 76px;
    }
    .tag {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 12px;
      border: 1px solid rgba(245,187,69,.38);
      background: rgba(9,10,12,.72);
      color: #ffd98a;
      font-size: .76rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .tag::before { content: ""; width: 7px; height: 7px; background: var(--gold); transform: rotate(45deg); }
    h1, h2, h3, p { margin-top: 0; }
    h3 { font-family: var(--font-display); }
    h1 {
      margin: 22px 0 22px;
      max-width: 760px;
      font-family: var(--font-display);
      font-size: clamp(3.4rem, 6vw, 5.6rem);
      line-height: .94;
      letter-spacing: -.035em;
      text-wrap: balance;
      text-shadow: 0 4px 22px rgba(0,0,0,.35);
    }
    .hero-copy > p {
      max-width: 665px;
      margin-bottom: 32px;
      color: #ddd5c9;
      font-size: clamp(1rem, 1.6vw, 1.13rem);
    }
    .actions { width: 100%; max-width: 590px; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
    .btn {
      min-height: 52px;
      padding: 13px 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 1px solid transparent;
      border-radius: 5px;
      font-weight: 800;
      cursor: pointer;
      transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
    }
    .btn:focus-visible, .copy-btn:focus-visible, .scroll-top:focus-visible, .carousel-arrow:focus-visible, .carousel-dot:focus-visible, .carousel-viewport:focus-visible, .lang-toggle:focus-visible, .lang-option:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
    .lang-switch {
      position: absolute;
      z-index: 40;
      top: max(16px, env(safe-area-inset-top));
      right: max(16px, env(safe-area-inset-right));
    }
    .lang-toggle {
      min-height: 42px;
      padding: 8px 14px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 999px;
      background: rgba(13,15,18,.88);
      box-shadow: 0 10px 30px rgba(0,0,0,.35);
      color: var(--text);
      font-size: .84rem;
      font-weight: 800;
      letter-spacing: .02em;
      cursor: pointer;
      transition: border-color .2s ease, background-color .2s ease;
    }
    .lang-toggle:hover { border-color: var(--gold); }
    .lang-toggle .lang-globe { width: 17px; height: 17px; color: var(--gold); flex: 0 0 auto; }
    .lang-toggle .lang-chevron { width: 15px; height: 15px; color: var(--muted); flex: 0 0 auto; transition: transform .2s ease; }
    .lang-toggle[aria-expanded="true"] .lang-chevron { transform: rotate(180deg); }
    .lang-menu {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      min-width: 218px;
      max-height: min(70vh, 430px);
      overflow-y: auto;
      padding: 6px;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 14px;
      background: rgba(13,15,18,.97);
      box-shadow: 0 24px 60px rgba(0,0,0,.5);
    }
    .lang-menu[hidden] { display: none; }
    .lang-option {
      width: 100%;
      padding: 10px 12px;
      display: flex;
      align-items: center;
      border: 0;
      border-radius: 9px;
      background: transparent;
      color: var(--text);
      font-size: .9rem;
      font-weight: 600;
      text-align: left;
      cursor: pointer;
      transition: background-color .15s ease, color .15s ease;
    }
    .lang-option:hover { background: rgba(245,187,69,.12); }
    .lang-option.active { color: var(--gold); font-weight: 800; }
    .lang-option.active::after { content: "✓"; margin-left: auto; padding-left: 14px; color: var(--gold); font-weight: 800; }
    .btn-primary { background: var(--gold); color: #181005; box-shadow: 0 10px 34px rgba(230,147,28,.22); }
    .btn-primary:hover { background: #ffd36f; transform: translateY(-2px); }
    .btn-secondary { background: rgba(12,13,16,.75); border-color: rgba(255,255,255,.26); }
    .btn-secondary:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-2px); }
    .arrow { width: 18px; height: 18px; }
    .trust-strip { border-bottom: 1px solid var(--line); background: #0d0f12; }
    .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
    .trust-item { padding: 24px 28px; display: flex; align-items: center; justify-content: center; gap: 12px; text-align: center; font-size: .9rem; font-weight: 700; }
    .trust-item + .trust-item { border-left: 1px solid var(--line); }
    .trust-item svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--gold); }
    section { padding: 110px 0; }
    .section-head { max-width: 720px; margin-bottom: 48px; }
    .kicker { margin-bottom: 10px; color: var(--gold); font-weight: 800; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
    h2 {
      margin-bottom: 16px;
      font-family: var(--font-display);
      font-size: clamp(2.7rem, 6vw, 5rem);
      line-height: .95;
      letter-spacing: -.025em;
      text-wrap: balance;
    }
    .section-head p { margin-bottom: 0; color: var(--muted); font-size: 1.03rem; }
    .features { background: linear-gradient(180deg, #0b0c0e 0%, #111319 100%); }
    .feature-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .feature {
      min-height: 270px;
      padding: 34px 32px 30px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background: rgba(255,255,255,.015);
    }
    .feature + .feature { border-left: 1px solid var(--line); }
    .feature-icon { width: 48px; height: 48px; color: var(--gold); }
    .feature h3 { margin: 38px 0 10px; font-size: 1.65rem; line-height: 1; }
    .feature p { margin: 0; color: var(--muted); font-size: .94rem; }
    .pricing { background: #0b0d10; }
    .free-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
    .free-card { padding: 32px 30px; border: 1px solid var(--line); background: var(--surface-2); }
    .free-card h3 { margin: 0 0 12px; font-size: 1.7rem; line-height: 1.05; }
    .free-card p { margin: 0 0 12px; color: var(--muted); font-size: .95rem; }
    .free-card p:last-child { margin-bottom: 0; }
    .free-card strong { color: var(--text); }
    .free-card a { color: var(--gold); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
    .free-card code { padding: 2px 7px; border: 1px solid rgba(245,187,69,.4); background: rgba(245,187,69,.08); color: #ffe09b; font-size: .88em; }
    .free-card--warn { border-color: rgba(255,106,26,.45); background: linear-gradient(145deg, rgba(255,106,26,.08), var(--surface-2) 62%); }
    .donate { background: #101217; border-top: 1px solid var(--line); }
    .donate-head { margin-inline: auto; text-align: center; }
    .tip-shell { max-width: 560px; margin-inline: auto; text-align: center; }
    .tip-picker { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; max-width: 100%; margin-bottom: 20px; padding: 6px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.03); }
    .tip-pill { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border: 1px solid transparent; border-radius: 999px; background: transparent; color: var(--muted); font: inherit; font-size: .95rem; font-weight: 700; cursor: pointer; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
    .tip-pill:hover { color: var(--text); }
    .tip-pill.active { background: var(--gold); border-color: var(--gold); color: #181005; }
    .tip-pill.active:hover { color: #181005; }
    .tip-pill:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
    .tip-card { position: relative; padding: 34px 30px 30px; border: 1px solid transparent; border-radius: 8px; background: linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(120deg, rgba(245,187,69,.55), rgba(245,187,69,.10) 30%, rgba(255,106,26,.45) 55%, rgba(245,187,69,.10) 80%, rgba(245,187,69,.55)) border-box; background-size: 100% 100%, 240% 100%; animation: tipBorderShift 8s linear infinite; }
    .tip-card.will-reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
    .tip-card.will-reveal.in-view { opacity: 1; transform: none; }
    @keyframes tipBorderShift { to { background-position: 0 0, -240% 0; } }
    .tip-panel[hidden] { display: none; }
    .tip-panel.tip-enter { animation: tipFlip .38s ease both; }
    @keyframes tipFlip { from { opacity: 0; transform: perspective(900px) rotateX(7deg) translateY(10px); } to { opacity: 1; transform: perspective(900px) rotateX(0deg) translateY(0); } }
    .tip-panel p { color: var(--muted); font-size: .95rem; }
    .tip-panel .qris-image { width: min(320px, 100%); margin-bottom: 18px; }
    .donate-soon { margin-bottom: 14px; opacity: .55; cursor: default; }
    .donate-note { font-size: .85rem; }
    .tip-panel .usdc-qr { width: min(280px, 100%); height: auto; aspect-ratio: 1 / 1; object-fit: contain; display: block; margin-inline: auto; margin-bottom: 18px; background: #f4f0e8; }
    .qr-scanline { position: absolute; left: 4%; right: 4%; top: 0; z-index: 1; height: 26%; opacity: 0; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(245,187,69,.35) 55%, rgba(245,187,69,.85)); border-bottom: 2px solid rgba(245,187,69,.9); }
    .qr-stage.scanning .qr-scanline { animation: qrScan .9s ease-in-out 1; }
    @keyframes qrScan { 0% { top: -28%; opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { top: 102%; opacity: 0; } }
    .qr-stage { position: relative; width: fit-content; max-width: 100%; margin: 0 auto 18px; overflow: hidden; border-radius: 6px; }
    .qr-stage .qris-image, .qr-stage .usdc-qr { margin-bottom: 0; }
    .qr-stage img { filter: blur(16px); transform: scale(1.07); transition: filter .35s ease, transform .35s ease; }
    .qr-stage.revealed img { filter: none; transform: none; }
    .qr-cover {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 16px;
      border: 1px dashed rgba(245,187,69,.55);
      border-radius: 6px;
      background: rgba(10,11,13,.84);
      color: var(--gold);
      font-size: .92rem;
      font-weight: 800;
      text-align: center;
      cursor: pointer;
      transition: opacity .3s ease, visibility .3s ease, background-color .2s ease;
    }
    .qr-cover:hover { background: rgba(10,11,13,.74); }
    .qr-cover:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
    .qr-cover svg { width: 30px; height: 30px; flex: 0 0 auto; }
    .qr-stage.revealed .qr-cover { opacity: 0; visibility: hidden; pointer-events: none; }
    .wallet-address { display: block; margin: 0 auto 14px; padding: 11px 13px; border: 1px dashed rgba(245,187,69,.45); background: rgba(245,187,69,.06); color: #ffe09b; font-family: Consolas, "Liberation Mono", Menlo, monospace; font-size: .86rem; overflow-wrap: anywhere; }
    .wallet-copy { margin-bottom: 14px; }
    .report { background: #101217; overflow: hidden; }
    .report-head { margin-inline: auto; text-align: center; }
    .report-head p { color: var(--muted); }
    .report-carousel {
      position: relative;
      display: grid;
      grid-template-columns: 52px minmax(0, 760px) 52px;
      grid-template-areas: "prev viewport next" "dots dots dots";
      justify-content: center;
      align-items: center;
      gap: 24px 26px;
    }
    .carousel-viewport {
      grid-area: viewport;
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      overscroll-behavior-x: contain;
      touch-action: pan-x pan-y;
      border-radius: 42px;
    }
    .carousel-viewport::-webkit-scrollbar { display: none; }
    .carousel-track { display: flex; width: 100%; }
    .carousel-slide {
      flex: 0 0 100%;
      flex-shrink: 0;
      min-width: 0;
      display: grid;
      align-content: start;
      justify-items: center;
      gap: 18px;
      padding: 8px 20px 4px;
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }
    .carousel-arrow {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(245,187,69,.45);
      border-radius: 50%;
      background: #17191e;
      color: var(--gold);
      cursor: pointer;
      transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    }
    .carousel-arrow:hover { border-color: #ffd36f; background: #24211a; color: #ffd36f; }
    .carousel-arrow:disabled { border-color: var(--line); color: #686970; cursor: default; }
    .carousel-arrow svg { width: 22px; height: 22px; }
    .carousel-prev { grid-area: prev; }
    .carousel-next { grid-area: next; }
    .carousel-dots { grid-area: dots; display: flex; justify-content: center; gap: 10px; }
    .carousel-dot {
      width: 10px;
      height: 10px;
      padding: 0;
      border: 1px solid rgba(245,187,69,.65);
      border-radius: 50%;
      background: transparent;
      cursor: pointer;
      transition: width .2s ease, background-color .2s ease;
    }
    .carousel-dot[aria-current="true"] { width: 30px; border-radius: 8px; background: var(--gold); }
    .phone {
      position: relative;
      width: min(330px, 100%);
      padding: 10px;
      border: 1px solid #4b4d53;
      border-radius: 38px;
      background: #050608;
      box-shadow: 0 34px 90px rgba(0,0,0,.55);
    }
    .phone-screen { min-height: 570px; overflow: hidden; border-radius: 29px; background: #f1f1f4; color: #15161a; }
    .phone--proof {
      width: min(680px, 100%);
      min-width: 0;
      align-self: start;
      padding: 8px;
      border: 2px solid #4b4d53;
      border-radius: 34px;
      background: #050608;
      box-shadow: 0 34px 90px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.08);
    }
    .phone--proof::before {
      content: "";
      position: absolute;
      z-index: 2;
      top: 3px;
      left: 50%;
      width: 42px;
      height: 3px;
      border-radius: 3px;
      background: #31343a;
      transform: translateX(-50%);
    }
    .phone--proof::after {
      content: "";
      position: absolute;
      z-index: 2;
      bottom: 3px;
      left: 50%;
      width: 48px;
      height: 3px;
      border-radius: 3px;
      background: #31343a;
      transform: translateX(-50%);
    }
    .phone-screen.phone-screen--proof {
      position: relative;
      min-width: 0;
      min-height: 0;
      aspect-ratio: 591 / 412;
      overflow: hidden;
      border: 0;
      border-radius: 25px;
      background: #1f1f20;    }
    .report-proof-image { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; max-width: 100%; max-height: 100%; display: block; object-fit: contain; object-position: center; }
    .phone-top { position: relative; height: 76px; padding: 21px 18px 13px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid #dddde3; background: #fff; }
    .phone-notch { position: absolute; top: 5px; left: 50%; width: 76px; height: 15px; border-radius: 10px; background: #050608; transform: translateX(-50%); }
    .avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #ff8e3c, #bd245e 55%, #612fc1); font-family: var(--font-display); font-weight: 800; }
    .chat-name { font-size: .72rem; line-height: 1.25; }
    .chat-name strong { display: block; font-size: .88rem; }
    .chat-area { min-height: 494px; padding: 26px 14px 18px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(#f7f7fa, #ececf2); }
    .chat-day { margin: 0 auto 16px; color: #777980; font-size: .67rem; }
    .bubble { max-width: 92%; padding: 11px 12px; border-radius: 15px 15px 15px 4px; background: #fff; box-shadow: 0 4px 15px rgba(0,0,0,.06); font-size: .7rem; line-height: 1.52; }
    .bubble + .bubble { margin-top: 8px; }
    .bubble.accent { color: #fff; background: linear-gradient(135deg, #ff7a33, #ca2a6b 60%, #7931c0); }
    .bubble strong { display: block; margin-bottom: 4px; }
    .bubble em { color: #676970; font-size: .64rem; }
    .bubble.accent em { color: rgba(255,255,255,.8); }
    .report-line { display: flex; gap: 6px; align-items: flex-start; }
    .report-line + .report-line { margin-top: 3px; }
    .report-check { color: #159342; font-weight: 800; }
    .bubble.accent .report-check { color: #d9ffd9; }
    .report-footer { font-style: italic; color: #676970; }
    .read-mark { margin-top: 7px; color: #85878f; font-size: .62rem; }
    .swipe-hint { display: none; margin: 16px 0 0; color: var(--muted); font-size: .78rem; text-align: center; }
    .order {
      position: relative;
      padding-bottom: 78px;
      background:
        linear-gradient(135deg, rgba(245,187,69,.055), transparent 38%),
        #090a0c;
    }
    .order-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 72px; align-items: start; }
    .order-copy p { color: var(--muted); }
    .order-note { margin-top: 26px; padding: 17px 18px; background: #15171b; border: 1px solid var(--line); font-weight: 700; }
    .alternate-contact { margin-top: 16px; color: var(--muted); font-size: .9rem; }
    .alternate-contact strong { color: var(--text); }
    .register-panel { padding: 34px 32px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); }
    .register-steps { margin: 0; padding: 0; list-style: none; counter-reset: register; display: grid; gap: 30px; }
    .register-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; }
    .register-steps li::before { counter-increment: register; content: counter(register); width: 42px; height: 42px; display: grid; place-items: center; background: var(--gold); color: #191109; font-family: var(--font-display); font-size: 1.35rem; font-weight: 800; }
    .register-steps h3 { margin: 4px 0 8px; font-size: 1.55rem; line-height: 1.05; }
    .register-steps p { margin: 0 0 14px; color: var(--muted); font-size: .95rem; }
    .register-steps p:last-child { margin-bottom: 0; }
    .register-steps strong { color: var(--text); }
    .register-steps code { padding: 2px 7px; border: 1px solid rgba(245,187,69,.4); background: rgba(245,187,69,.08); color: #ffe09b; font-size: .9em; overflow-wrap: anywhere; }
    .qris-image {
      width: min(380px, 100%);
      height: auto;
      margin: 0 auto 24px;
      display: block;
      background: #f4f0e8;
    }
    .copy-btn {
      min-height: 42px;
      padding: 9px 14px;
      border: 1px solid rgba(245,187,69,.42);
      border-radius: 4px;
      background: transparent;
      color: var(--gold);
      font-size: .82rem;
      font-weight: 800;
      cursor: pointer;
    }
    .copy-btn:hover { background: rgba(245,187,69,.09); }
    .faq {
      padding-top: 96px;
      background:
        radial-gradient(circle at 12% 8%, rgba(245,187,69,.07), transparent 28%),
        #0d0f12;
      border-top: 1px solid var(--line);
    }
    .faq .section-head { margin: 0 auto 36px; text-align: center; }
    .faq-list { max-width: 900px; margin-inline: auto; border-top: 1px solid rgba(245,187,69,.25); }
    .faq-item { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.015); }
    .faq-item[open] { background: linear-gradient(90deg, rgba(245,187,69,.07), rgba(255,255,255,.015)); }
    .faq-item summary {
      position: relative;
      padding: 24px 66px 24px 22px;
      color: var(--text);
      font-family: var(--font-display);
      font-size: 1.28rem;
      font-weight: 700;
      line-height: 1.25;
      letter-spacing: .005em;
      cursor: pointer;
      list-style: none;
    }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary::after {
      content: "+";
      position: absolute;
      top: 50%;
      right: 22px;
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(245,187,69,.4);
      border-radius: 50%;
      color: var(--gold);
      font-family: var(--font-body);
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1;
      transform: translateY(-50%);
    }
    .faq-item[open] summary::after { content: "−"; background: var(--gold); color: #191109; }
    .faq-item summary:hover { color: #ffd47a; }
    .faq-item summary:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
    .faq-answer { padding: 0 66px 25px 22px; color: var(--muted); }
    .faq-answer p { margin: 0; max-width: 760px; }
    footer { padding: 28px 0 max(38px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #090a0c; color: #888991; font-size: .78rem; text-align: center; }
    .scroll-sentinel { width: 1px; height: 1px; }
    .scroll-top {
      position: fixed;
      z-index: 20;
      right: max(20px, env(safe-area-inset-right));
      bottom: max(20px, env(safe-area-inset-bottom));
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 50%;
      background: var(--gold);
      color: #191109;
      box-shadow: 0 10px 30px rgba(0,0,0,.42);
      cursor: pointer;
      transition: background-color .2s ease, transform .2s ease;
    }
    .scroll-top[hidden] { display: none; }
    .scroll-top:hover { background: #ffd06a; }
    .scroll-top svg { width: 22px; height: 22px; }
    .toast {
      position: fixed;
      z-index: 30;
      left: 50%;
      bottom: 28px;
      padding: 11px 16px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 4px;
      background: #202228;
      box-shadow: 0 12px 40px rgba(0,0,0,.42);
      font-size: .84rem;
      font-weight: 700;
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, 8px);
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }
    .toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
    @media (max-width: 900px) {
      .hero { min-height: auto; }
      .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 42px; padding-top: 76px; }
      .hero-copy { min-width: 0; }
      .feature-list, .free-grid { grid-template-columns: 1fr; }
      .feature-list { border-bottom: 0; }
      .feature { min-height: auto; }
      .feature + .feature { border-left: 0; border-top: 1px solid var(--line); }
      .order-grid { grid-template-columns: 1fr; gap: 44px; }
      .contacts { max-width: 680px; }
    }
    @media (max-width: 640px) {
      .shell { width: min(calc(100% - 28px), 1180px); }
      .hero::before { background-position: 61% center; }
      .hero::after { background: linear-gradient(90deg, rgba(7,8,10,.96), rgba(7,8,10,.70)), linear-gradient(0deg, var(--bg), transparent 45%); }
      .hero-grid { padding: 62px 0 54px; }
      h1 { max-width: 100%; font-size: clamp(2.55rem, 11vw, 3rem); line-height: 1.02; overflow-wrap: normal; }
      .actions { flex-direction: column; }
      .btn { width: 100%; }
      .trust-grid { grid-template-columns: 1fr; }
      .trust-item { justify-content: flex-start; text-align: left; padding: 17px 8px; }
      .trust-item + .trust-item { border-left: 0; border-top: 1px solid var(--line); }
      section { padding: 78px 0; }
      .section-head { margin-bottom: 34px; }
      .feature { padding: 28px 22px; }
      .free-card { padding: 26px 22px; }
      .tip-card { padding: 26px 20px 24px; }
      .tip-pill { padding: 10px 14px; font-size: .88rem; }
      .register-panel { padding: 26px 20px; }
      .report-carousel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "viewport" "dots"; gap: 18px; }
      .carousel-arrow { display: none; }
      .carousel-slide { padding-inline: 8px; }
      .carousel-viewport { border-radius: 34px; }
      .phone { width: min(320px, calc(100vw - 44px)); }
      .phone--proof { width: min(86vw, 100%); margin-inline: auto; }
      .phone-screen { min-height: 558px; }
      .chat-area { min-height: 482px; }
      .swipe-hint { display: block; }
      .copy-btn { width: 100%; }
      .faq { padding-top: 72px; }
      .faq-item summary { padding: 21px 56px 21px 16px; font-size: 1.13rem; }
      .faq-item summary::after { right: 16px; width: 28px; height: 28px; }
      .faq-answer { padding: 0 48px 22px 16px; font-size: .92rem; }
      .scroll-top { width: 48px; height: 48px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }

    /* ===== Motion pack ===== */
    /* 1. Hero entrance stagger */
    @keyframes riseIn {
      from { opacity: 0; transform: translateY(24px); }
      to { opacity: 1; transform: none; }
    }
    .hero-copy > * {
      opacity: 0;
      animation: riseIn .7s cubic-bezier(.17,.67,.24,.99) forwards;
    }
    .hero-copy > .tag { animation-delay: .05s; }
    .hero-copy > h1 { animation-delay: .15s; }
    .hero-copy > p { animation-delay: .25s; }
    .hero-copy > .actions { animation-delay: .35s; }
    .trust-strip { opacity: 0; animation: riseIn .7s cubic-bezier(.17,.67,.24,.99) .5s forwards; }

    /* 3. Shine sweep on primary CTA (uiverse style) */
    .btn-primary { position: relative; overflow: hidden; }
    .btn-primary::after {
      content: "";
      position: absolute;
      top: 0; left: -100%;
      width: 60%; height: 100%;
      background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.55) 50%, transparent 80%);
      transform: skewX(-20deg);
      transition: left .55s ease;
      pointer-events: none;
    }
    .btn-primary:hover::after { left: 130%; }

    /* 7. Ken Burns hero background */
    @keyframes kenBurns {
      from { transform: scale(1.025); }
      to { transform: scale(1.08); }
    }
    .hero::before { animation: kenBurns 22s ease-in-out infinite alternate; }

    /* 2. Scroll reveal */
    .will-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.17,.67,.24,.99), transform .7s cubic-bezier(.17,.67,.24,.99); }
    .will-reveal.in-view { opacity: 1; transform: none; }
    .will-reveal[data-delay="1"] { transition-delay: .09s; }
    .will-reveal[data-delay="2"] { transition-delay: .18s; }
    .will-reveal[data-delay="3"] { transition-delay: .27s; }
    .will-reveal[data-delay="4"] { transition-delay: .36s; }
