/* terms page: presentation only. Legal text, versions, links and scripts remain unchanged. */
body.terms-page { --legal-ink:#171b20; --legal-muted:#505c67; --legal-line:#dfe3e7; --legal-red:#a52620; background:#fff; color:var(--legal-ink); font-family:'Inter',Arial,sans-serif; }
body.terms-page #main-content .page { width:min(800px,calc(100% - 72px)); max-width:none; margin:0 auto; padding:66px 0 88px; overflow-wrap:anywhere; }
body.terms-page #main-content .hero { margin:0 0 42px; }
body.terms-page #main-content .hero-kicker { color:var(--legal-red); font-size:11px; font-weight:700; letter-spacing:.12em; margin-bottom:18px; }
body.terms-page #main-content .hero h1 { font-size:clamp(40px,5.5vw,62px); font-weight:650; line-height:1.13; letter-spacing:-.045em; color:var(--legal-ink); margin:0 0 20px; text-wrap:balance; }
body.terms-page #main-content .hero-meta { color:var(--legal-muted); font-size:13px; line-height:1.75; }
body.terms-page #main-content .hero-intro { margin-top:25px; padding:22px 24px; border:1px solid var(--legal-line); border-left:3px solid var(--legal-red); border-radius:5px; background:#f7f8f9; color:var(--legal-ink); font-size:16px; line-height:1.8; }
body.terms-page #main-content .section { padding:32px 0; margin:0; border:0; border-top:1px solid var(--legal-line); border-radius:0; background:transparent; box-shadow:none; }
body.terms-page #main-content .section-number { width:auto; height:auto; padding:0; margin:0 0 12px; background:transparent; border-radius:0; color:var(--legal-red); font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
body.terms-page #main-content .section h2 { color:var(--legal-ink); font-size:25px; font-weight:650; line-height:1.35; letter-spacing:-.025em; margin:0 0 19px; }
body.terms-page #main-content .section p { color:var(--legal-muted); font-size:15px; line-height:1.85; margin:0 0 16px; }
body.terms-page #main-content .section p:last-child { margin-bottom:0; }
body.terms-page #main-content strong { color:var(--legal-ink); font-weight:650; }
body.terms-page #main-content a { color:var(--legal-red); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
body.terms-page #main-content a:hover { color:#7e1e18; }
body.terms-page #main-content a:focus-visible { outline:3px solid var(--legal-red); outline-offset:4px; border-radius:2px; }
body.terms-page #main-content code { font-size:.92em; padding:1px 4px; border-radius:3px; background:#f0f2f4; color:var(--legal-ink); overflow-wrap:anywhere; }
body.terms-page #main-content .service-list { gap:0; margin-top:22px; }
body.terms-page #main-content .service-item { display:block; padding:25px 0; border:0; border-top:1px solid var(--legal-line); border-radius:0; background:transparent; }
body.terms-page #main-content .service-item > div:first-child { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 12px; margin-bottom:13px; }
body.terms-page #main-content .service-name { color:var(--legal-ink); font-size:17px; line-height:1.5; font-weight:650; letter-spacing:-.015em; }
body.terms-page #main-content .service-detail { color:var(--legal-muted); font-size:15px; line-height:1.85; }
body.terms-page #main-content .service-tag { margin:0; padding:3px 7px; border:1px solid #dce1e5; border-radius:4px; font-size:10px; font-weight:650; line-height:1.5; letter-spacing:.035em; }
body.terms-page #main-content .tag-required { background:#f2f4f5; color:#4b5661; }
body.terms-page #main-content .tag-consent { background:#fff3f1; color:#93231e; border-color:#efd4cf; }
body.terms-page #main-content .tag-optional { background:#f2f5f8; color:#3c5872; border-color:#dae3eb; }
body.terms-page #main-content .rights-list,
body.terms-page #main-content .item-list { gap:13px; margin-top:20px; }
body.terms-page #main-content .right-item,
body.terms-page #main-content .item { gap:13px; }
body.terms-page #main-content .right-dot,
body.terms-page #main-content .item-dot { margin-top:11px; width:5px; height:5px; background:var(--legal-red); }
body.terms-page #main-content .right-text,
body.terms-page #main-content .item-text { color:var(--legal-muted); font-size:15px; line-height:1.85; }
body.terms-page #main-content .warning-box { border:1px solid #e5d5ab; border-left:3px solid #a77919; border-radius:5px; padding:20px 22px; margin-top:22px; color:#594312; background:#fffaf0; font-size:15px; line-height:1.8; }
body.terms-page #main-content .contact-card { margin-top:30px; padding:28px 30px; border:1px solid var(--legal-line); border-radius:6px; background:#f5f6f7; color:var(--legal-ink); }
body.terms-page #main-content .contact-card h2 { color:var(--legal-ink); margin:0 0 14px; font-size:24px; font-weight:650; line-height:1.35; letter-spacing:-.025em; }
body.terms-page #main-content .contact-card p { color:var(--legal-muted); font-size:15px; line-height:1.8; margin-bottom:17px; }
body.terms-page #main-content .contact-card a { color:var(--legal-red); font-size:15px; font-weight:650; border-bottom:0; }
@media (max-width:600px) {
  body.terms-page #main-content .page { width:calc(100% - 40px); padding:39px 0 60px; }
  body.terms-page #main-content .hero { margin-bottom:32px; }
  body.terms-page #main-content .hero h1 { font-size:clamp(38px,10vw,49px); }
  body.terms-page #main-content .hero-intro { padding:18px 19px; font-size:15px; }
  body.terms-page #main-content .section { padding:27px 0; }
  body.terms-page #main-content .section h2 { font-size:23px; }
  body.terms-page #main-content .service-item { padding:23px 0; }
  body.terms-page #main-content .contact-card { padding:23px 21px; }
  body.terms-page #main-content .contact-card h2 { font-size:22px; }
  body.terms-page #main-content .warning-box { padding:18px; }
}
@media (prefers-reduced-motion:reduce) { body.terms-page #main-content * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media (forced-colors:active) {
  body.terms-page #main-content .hero-intro,
  body.terms-page #main-content .contact-card,
  body.terms-page #main-content .warning-box,
  body.terms-page #main-content .service-tag { border:1px solid CanvasText; }
  body.terms-page #main-content a:focus-visible { outline-color:Highlight; }
}
@media print {
  body.terms-page { background:#fff; }
  body.terms-page #main-content .page { width:100%; padding:12px 0; }
  body.terms-page #main-content .hero h1 { font-size:32pt; }
  body.terms-page #main-content .section { padding:20px 0; }
  body.terms-page #main-content .section h2,
  body.terms-page #main-content .section-number,
  body.terms-page #main-content .service-name { break-after:avoid; }
  body.terms-page #main-content .section,
  body.terms-page #main-content .service-item { break-inside:auto; }
  body.terms-page #main-content .contact-card,
  body.terms-page #main-content .warning-box { break-inside:avoid; }
  body.terms-page #main-content :is(p,a,span,strong,code,h1,h2,.hero-meta,.hero-kicker,.hero-intro,.service-name,.service-detail,.section-number,.right-text,.item-text,.warning-box) { color:#000!important; }
  body.terms-page #main-content :is(.hero-intro,.contact-card,.warning-box,.service-tag,code) { background:#fff!important; }
  body.terms-page #main-content :is(p,.service-detail,.right-text,.item-text) { font-size:11pt; line-height:1.6; }
}
