    html { -webkit-text-size-adjust: 100%; }
    /* ===== Base ===== */
    * { margin: 0; padding: 0; box-sizing: border-box; }
    html, body { background:#f4f4f4; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:#111; }

    /* ===== Header / Nav (EXACT match) ===== */
    header.site-header{ background:#111; color:#fff; }
    .site-header .nav{
      display:flex; justify-content:space-between; align-items:center; gap:16px;
      max-width:1200px; margin:0 auto; padding:12px 16px;
    }
    .brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; }
    .brand-mark{ font-family:"Shojumaru", system-ui; font-size:28px; letter-spacing:.5px; white-space:nowrap; }
    .primary-nav{ display:flex; align-items:center; gap:20px; list-style:none; margin:0; padding:0; }
    .primary-nav a{ color:#fff; text-decoration:none; padding:8px 10px; border-radius:6px; }
    .primary-nav a:hover{ background:#222; }

    /* Dropdown */
    .has-submenu{ position:relative; }
    .submenu{
      display:none; position:absolute; top:100%; left:0; background:#1b1b1b; list-style:none;
      padding:8px 0; margin:6px 0 0; min-width:200px; border:1px solid #2c2c2c; border-radius:8px; z-index:50;
    }
    .submenu a{ display:block; padding:8px 12px; }
    .has-submenu:hover .submenu{ display:block; }

    /* ===== Page hero ===== */
    .hero{ background:#222; color:#fff; text-align:center; padding:3rem 1rem; }
    .hero h1{ font-size:2.5rem; }

    /* ===== Content ===== */
    .content{ max-width:900px; margin:2rem auto; padding:0 1rem 3rem; }
    .content h2{ font-size:1.5rem; margin:1.25rem 0 .5rem; }
    .content p, .content li{ line-height:1.6; }
    .content p{ margin:.75rem 0; }
    .content ul{ margin:.5rem 0 .75rem 1.25rem; }
    .note{ background:#fff; border:1px solid #e6e6e6; border-radius:8px; padding:1rem; }

    /* ===== Footer (EXACT match, two columns) ===== */
    .site-footer{ background:#111; color:#fff; padding:32px 16px 12px; }
    .site-footer a{ color:#fff; text-decoration:none; }
    .site-footer a:hover{ text-decoration:underline; }

    .footer-inner.two-col{
      max-width:1200px; margin:0 auto;
      display:grid; grid-template-columns: 1.2fr 1fr;
      gap: 32px 28px; align-items:start;
    }

    /* Left column */
    .footer-left{ display:flex; flex-direction:column; align-items:center; text-align:center; }
    .footer-logo{ font-family:"Shojumaru", system-ui, sans-serif; font-size:32px; line-height:1; margin:0; }
    .footer-tag{ margin-top:20px; opacity:.9; line-height:1.35; max-width:560px; }

    /* 25px space BEFORE links list/socials block */
    .links-block{ margin-top:25px; width:100%; }

    /* Links list (inline + centered) */
    .about-col ul{
      list-style:none; margin:0; padding:0;
      display:flex; gap:14px 18px; flex-wrap:wrap; justify-content:center;
    }
    .about-col li{ display:inline-flex; }
    .about-col a{ padding:4px 0; opacity:.95; }

    /* Socials under links, tight gap */
    .socials{
      list-style:none; margin:14px 0 0; padding:0;
      display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap;
    }
    .socials li{ display:inline-flex; }
    .socials a{ display:inline-flex; padding:6px; }

    /* Right column (contact) */
    .contact-col{ text-align:center; max-width:420px; justify-self:center; width:100%; }
    .contact-col h4{ margin:0 0 10px; font-size:18px; }
    #footer-contact{ display:flex; flex-direction:column; gap:10px; }
    #footer-contact input, #footer-contact textarea{
      width:100%; padding:10px 12px; border-radius:8px; border:1px solid #2a2a2a;
      background:#1b1b1b; color:#fff; resize:vertical;
    }
    #footer-contact button{
      padding:10px 12px; border-radius:8px; border:1px solid #2a2a2a;
      background:#fff; color:#111; font-weight:600; cursor:pointer;
    }
    #footer-contact button:hover{ background:#e9e9e9; }
    .fineprint{ font-size:.9rem; opacity:.8; }

    /* Bottom bar */
    .footer-bottom{
      max-width:1200px; margin:22px auto 0;
      display:flex; gap:12px; align-items:center; justify-content:space-between;
      border-top:1px solid #222; padding-top:12px;
    }
    .footer-bottom p{ margin:0 auto; text-align:center; flex:1; }
    .back-to-top{ white-space:nowrap; }

    .sr-only{
      position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0;
      clip:rect(0 0 0 0); overflow:hidden;
    }

    /* Responsive */
    @media (max-width: 900px){
      .footer-inner.two-col{ grid-template-columns:1fr; }
      .contact-col{ justify-self:center; }
      .footer-bottom{ flex-direction:column; gap:10px; }
      .hero h1{ font-size:1.9rem; }
    }
    /* keep existing rules; add this */
    .has-submenu.open .submenu { display: block; }
    
    /* === Mobile overrides: Terms === */
.hero {
  padding: clamp(24px, 7vw, 40px) 16px;
  text-align: center;
}
.hero h1 { font-size: clamp(28px, 8.5vw, 44px); }
.hero p  { font-size: clamp(14px, 3.8vw, 18px); }

.content { max-width: 960px; margin: 0 auto; padding: 0 16px; }

.note { padding: clamp(12px, 4vw, 18px); }

/* Footer form (same pattern as other pages) */
.about-col a { font-size: 16px; } /* touch-friendly links */
.links-block, .about-col ul { flex-wrap: wrap; }

/* Prevent nav overflow on small screens */
.primary-nav { flex-wrap: wrap; }