      *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

      :root {
        --gold: #f5c400;
        --black: #0e0e0c;
        --white: #ffffff;
        --off-white: #f6f5f1;
        --stone: #eceae3;
        --text: #1a1a17;
        --muted: #9a9890;
        --forest: #1e2d1e;
      }

      html { scroll-behavior: smooth; }

      body {
        background: var(--black);
        color: var(--off-white);
        font-family: "DM Sans", sans-serif;
        font-weight: 300;
        min-height: 100vh;
      }

      /* NAV */
      nav {
        position: fixed;
        top: 0; left: 0; right: 0;
        z-index: 100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.5rem 2.2rem;
        background: rgba(14, 14, 12, 0.85);
        backdrop-filter: blur(14px);
        border-bottom: 1px solid rgba(255,255,255,0.06);
      }

      .terms-logo {
        font-family: "Bebas Neue", serif;
        font-size: 25px;
        color: var(--gold);
        letter-spacing: 2px;
      }

      .nav-back {
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        color: var(--muted);
        text-decoration: none;
        transition: color 0.2s;
      }
      .nav-back:hover { color: var(--gold); }

      /* HERO STRIP */
      .terms-hero {
        padding-top: 100px;
        padding-bottom: 3rem;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,0.07);
      }

      .terms-hero .label {
        font-size: 0.7rem;
        letter-spacing: 3px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 1rem;
      }

      .terms-hero h1 {
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(3rem, 8vw, 6rem);
        letter-spacing: 4px;
        color: var(--white);
        line-height: 1;
      }

      .terms-hero p {
        margin-top: 1rem;
        font-size: 0.85rem;
        color: var(--muted);
        letter-spacing: 0.5px;
      }

      /* MAIN LAYOUT */
      .terms-wrapper {
        max-width: 780px;
        margin: 0 auto;
        padding: 3.5rem 2rem 6rem;
      }

      /* SECTIONS */
      .terms-section {
        margin-bottom: 2.8rem;
        padding-bottom: 2.8rem;
        border-bottom: 1px solid rgba(255,255,255,0.07);
      }
      .terms-section:last-of-type { border-bottom: none; }

      .terms-section h2 {
        font-family: "Cormorant Garamond", serif;
        font-size: 1.4rem;
        font-weight: 400;
        color: var(--white);
        margin-bottom: 1rem;
        letter-spacing: 0.5px;
      }

      .terms-section p,
      .terms-section li {
        font-size: 0.88rem;
        line-height: 1.8;
        color: rgba(246,245,241,0.72);
        margin-bottom: 0.6rem;
      }

      .terms-section ul {
        padding-left: 1.2rem;
      }

      .terms-section li { margin-bottom: 0.4rem; }

      .gold { color: var(--gold); }

      /* AGREE BOX */
      .agree-box {
        background: rgba(255,255,255,0.04);
        border: 1px solid rgba(255,255,255,0.1);
        border-radius: 2px;
        padding: 2.5rem;
        text-align: center;
        margin-top: 3rem;
      }

      .agree-box p {
        font-size: 0.85rem;
        color: var(--muted);
        margin-bottom: 1.5rem;
        line-height: 1.7;
      }

      /* FORM FIELDS */
      .form-fields {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.9rem;
        margin-bottom: 1.8rem;
        text-align: left;
      }

      .form-fields .full-width { grid-column: 1 / -1; }

      .field-group {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
      }

      .field-group label {
        font-size: 0.68rem;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        color: var(--muted);
      }

      .field-group input {
        background: rgba(255,255,255,0.05);
        border: 1px solid rgba(255,255,255,0.12);
        color: var(--off-white);
        font-family: "DM Sans", sans-serif;
        font-size: 0.88rem;
        font-weight: 300;
        padding: 0.75rem 1rem;
        outline: none;
        transition: border-color 0.2s;
        border-radius: 1px;
      }

      .field-group input::placeholder { color: rgba(154,152,144,0.4); }

      .field-group input:focus { border-color: var(--gold); }

      @media (max-width: 520px) {
        .form-fields { grid-template-columns: 1fr; }
        .form-fields .full-width { grid-column: 1; }
      }

      .checkbox-row {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        justify-content: center;
        text-align: left;
        margin-bottom: 2rem;
      }

      .checkbox-row input[type="checkbox"] {
        appearance: none;
        -webkit-appearance: none;
        width: 18px;
        height: 18px;
        border: 1px solid var(--muted);
        background: transparent;
        cursor: pointer;
        flex-shrink: 0;
        margin-top: 2px;
        transition: border-color 0.2s, background 0.2s;
        position: relative;
      }

      .checkbox-row input[type="checkbox"]:checked {
        background: var(--gold);
        border-color: var(--gold);
      }

      .checkbox-row input[type="checkbox"]:checked::after {
        content: "";
        position: absolute;
        left: 4px; top: 1px;
        width: 5px; height: 9px;
        border: 2px solid var(--black);
        border-top: none;
        border-left: none;
        transform: rotate(45deg);
      }

      .checkbox-row label {
        font-size: 0.83rem;
        color: rgba(246,245,241,0.7);
        cursor: pointer;
        line-height: 1.6;
      }

      .agree-btn {
        display: inline-block;
        background: var(--gold);
        color: var(--black);
        font-family: "DM Sans", sans-serif;
        font-size: 0.72rem;
        font-weight: 500;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        border: none;
        padding: 1rem 3rem;
        cursor: pointer;
        transition: background 0.2s, opacity 0.2s;
        opacity: 0.35;
        pointer-events: none;
      }

      .agree-btn.active {
        opacity: 1;
        pointer-events: auto;
      }

      .agree-btn.active:hover { background: #e0b000; }

      /* CONFIRMED STATE */
      .confirmed-screen {
        display: none;
        text-align: center;
        padding: 4rem 2rem 6rem;
        max-width: 600px;
        margin: 0 auto;
      }

      .confirmed-screen .check-icon {
        width: 60px;
        height: 60px;
        border: 2px solid var(--gold);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 2rem;
      }

      .confirmed-screen .check-icon svg {
        width: 28px;
        height: 28px;
        stroke: var(--gold);
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
      }

      .confirmed-screen h2 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2.8rem;
        letter-spacing: 3px;
        color: var(--white);
        margin-bottom: 1rem;
      }

      .confirmed-screen p {
        font-size: 0.9rem;
        color: var(--muted);
        line-height: 1.8;
        margin-bottom: 0.5rem;
      }

      .confirmed-screen .timestamp {
        font-size: 0.75rem;
        color: rgba(154,152,144,0.5);
        margin-top: 1.5rem;
        letter-spacing: 0.5px;
      }

      .back-link {
        display: inline-block;
        margin-top: 2.5rem;
        font-size: 0.72rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--muted);
        text-decoration: none;
        transition: color 0.2s;
      }
      .back-link:hover { color: var(--gold); }

      /* FOOTER */
      footer {
        text-align: center;
        padding: 2rem;
        border-top: 1px solid rgba(255,255,255,0.06);
        font-size: 0.72rem;
        color: rgba(154,152,144,0.45);
        letter-spacing: 0.5px;
      }

      @media (max-width: 600px) {
        .terms-wrapper { padding: 2.5rem 1.2rem 5rem; }
        .agree-box { padding: 1.8rem 1.2rem; }
        nav { padding: 1.2rem 1.2rem; }
      }

      .form-error {
        display: none;
        color: #e25b4a;
        font-size: 0.85rem;
        margin-bottom: 1.2rem;
      }