/* Public information pages share the promo navigation and typography. */
.info-page { background:#f7f9fa; }
.info-page .legal-page { width:min(1160px,calc(100% - 64px)); min-height:0; padding:30px 0 64px; }
.info-back-link { display:inline-flex; align-items:center; gap:9px; margin-bottom:24px; color:var(--muted); font-size:.8rem; line-height:1.5; }
.info-back-link:hover { color:var(--brand-dark); text-decoration:underline; text-underline-offset:3px; }
.info-page .legal-hero,.info-page .contact-hero { padding:38px 40px; border:1px solid var(--line); border-radius:14px; background:radial-gradient(ellipse at 95% 80%,#e2eff0,transparent 70%),#f2f7f7; color:var(--ink); box-shadow:none; }
.info-page .legal-hero .eyebrow,.info-page .contact-hero .eyebrow { color:var(--brand); margin:0 0 14px; }
.info-page .legal-hero h1,.info-page .contact-hero h1 { max-width:850px; margin:0; font-size:clamp(2rem,4vw,3.25rem); font-weight:650; line-height:1.12; letter-spacing:-.04em; overflow-wrap:anywhere; hyphens:auto; }
.info-page .legal-hero > p:not(.eyebrow),.info-page .contact-hero > p:not(.eyebrow) { max-width:740px; margin:18px 0 0; color:var(--muted); font-size:.98rem; line-height:1.7; }
.info-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:36px; align-items:start; margin-top:32px; }
.info-sidebar { position:sticky; top:103px; max-height:calc(100dvh - 127px); overflow:auto; padding:18px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.info-page .info-nav-label { margin:0 0 12px; font-size:.65rem; font-weight:650; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }
.info-pages { display:grid; gap:4px; }
.info-pages a { display:flex; align-items:center; min-height:42px; padding:9px 11px; border-radius:7px; font-size:.82rem; font-weight:500; line-height:1.5; color:var(--muted); }
.info-pages a:hover { color:var(--brand-dark); background:#f4f7f8; }
.info-pages a[aria-current="page"] { color:var(--brand-dark); background:#e9f1f3; font-weight:600; }
.info-document { min-width:0; padding:30px 34px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.info-page .legal-meta { margin:0 0 18px; color:var(--muted); font-size:.76rem; line-height:1.7; }
.info-page .legal-note { padding:16px 18px; margin:0 0 26px; border:1px solid #eadbb7; border-radius:8px; background:#fffbf2; color:#6c5429; font-size:.85rem; line-height:1.75; overflow-wrap:anywhere; }
.info-page .legal-content { display:block; margin:0; }
.info-page .legal-card { padding:26px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; scroll-margin-top:100px; }
.info-page .legal-card:first-child { padding-top:0; }
.info-page .legal-card:last-child { padding-bottom:0; border-bottom:0; }
.info-page .legal-card h2 { margin:0 0 12px; font-size:1.22rem; font-weight:600; line-height:1.4; letter-spacing:-.02em; }
.info-page .legal-card h3 { font-size:1rem; font-weight:600; line-height:1.45; }
.info-page .legal-card p,.info-page .legal-card ul { font-size:.93rem; line-height:1.8; color:var(--muted); }
.info-page .legal-card p { margin:12px 0 0; }
.info-page .legal-card ul { padding-left:20px; margin:12px 0 0; }
.info-page .legal-card li { margin:8px 0; }
.info-page .legal-card a,.info-page .legal-note a { font-weight:500; color:var(--brand-dark); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.info-page .legal-card strong { font-weight:600; color:var(--ink); }
.info-page .legal-actions { gap:12px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.info-page .legal-actions .btn { font-size:.82rem; }
.info-page footer { border-top:1px solid var(--line); background:#fff; }
.info-page .legal-links a[aria-current="page"] { color:var(--brand-dark); text-decoration:underline; text-underline-offset:4px; }

/* Contact and support use the same light surfaces and compact forms. */
.info-page .contact-hero-actions { margin-top:24px; }
.info-page .contact-hero-actions .btn { font-size:.85rem; }
.info-page .contact-hero-actions .btn-primary { background:var(--brand); color:#fff; }
.info-page .contact-hero-actions .btn-ghost { background:#fff; color:var(--brand-dark); border-color:var(--line); }
.info-page .contact-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); align-items:start; gap:24px; margin:32px 0 44px; }
.info-page .contact-card { padding:28px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:none; min-width:0; }
.info-page .contact-card-head h2 { margin:0; font-size:1.3rem; font-weight:600; letter-spacing:-.02em; line-height:1.4; }
.info-page .contact-card p { color:var(--muted); font-size:.9rem; line-height:1.7; }
.info-page .contact-card a { font-weight:500; }
.info-page #contactForm { grid-template-columns:minmax(0,1fr); gap:18px; }
.info-page #contactForm label { font-weight:600; font-size:.8rem; }
.info-page #contactForm input,.info-page #contactForm select,.info-page #contactForm textarea { font-size:1rem; border-radius:8px; background-color:#fbfcfc; color:var(--ink); }
.info-page #contactForm select { font-weight:500; padding-right:36px; background-position:right 10px center; }
.info-page #contactForm textarea { min-height:160px; resize:vertical; }
.info-page #contactForm .mini { margin:0; font-size:.76rem; line-height:1.65; }
.info-page .contact-form-actions { display:grid; gap:12px; justify-items:start; }
.info-page .contact-form-status { overflow-wrap:anywhere; }
.info-page .support-list { gap:0; }
.info-page .support-list > div { padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.info-page .support-list > div:first-child { padding-top:0; }
.info-page .support-list strong,.info-page .contact-note strong { font-size:.84rem; font-weight:600; }
.info-page .support-list span { color:var(--muted); font-size:.84rem; line-height:1.7; }
.info-page .contact-note { margin-top:22px; border:0; background:#eef4f5; border-radius:8px; }
.info-page .contact-note a { font-size:.8rem; overflow-wrap:anywhere; }
.info-page .contact-page .faq details { background:transparent; }
.info-page .contact-faq-head { max-width:none; margin:0 0 24px; }
.info-page .contact-faq-head h2 { font-size:1.8rem; }
.info-page .contact-faq-head p { font-size:.9rem; line-height:1.7; }
.info-page .contact-bottom-actions { margin-top:32px; }

@media (max-width:960px) {
  .info-layout { grid-template-columns:200px minmax(0,1fr); gap:24px; }
  .info-document { padding:24px; }
  .info-sidebar { padding:14px; }
  .info-page .contact-card { padding:24px; }
}
@media (max-width:760px) {
  .info-layout { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:24px; }
  .info-sidebar { position:static; max-height:none; overflow:visible; padding:16px; }
  .info-pages { display:flex; flex-wrap:wrap; gap:4px; }
  .info-pages a { min-height:40px; padding:8px 10px; font-size:.77rem; }
  .info-page .contact-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media (max-width:640px) {
  .info-page .legal-page { width:calc(100% - 40px); padding:22px 0 40px; }
  .info-back-link { margin-bottom:18px; font-size:.76rem; }
  .info-page .legal-hero,.info-page .contact-hero { padding:26px 22px; border-radius:11px; }
  .info-page .legal-hero h1,.info-page .contact-hero h1 { font-size:clamp(1.85rem,7.5vw,2.6rem); }
  .info-page .legal-hero > p:not(.eyebrow),.info-page .contact-hero > p:not(.eyebrow) { font-size:.88rem; margin-top:16px; }
  .info-page .legal-hero .eyebrow,.info-page .contact-hero .eyebrow { font-size:.62rem; line-height:1.6; }
  .info-document { padding:22px 20px; border-radius:10px; }
  .info-page .legal-note { padding:14px; font-size:.8rem; }
  .info-page .legal-card { padding-block:22px; scroll-margin-top:136px; }
  .info-page .legal-card h2 { font-size:1.1rem; }
  .info-page .legal-card p,.info-page .legal-card ul { font-size:.87rem; line-height:1.8; }
  .info-page .legal-actions { flex-direction:column; align-items:stretch; }
  .info-page .legal-actions .btn { text-align:center; }
  .info-page .contact-hero-actions { display:grid; gap:10px; }
  .info-page .contact-hero-actions .btn { font-size:.76rem; padding-inline:12px; text-align:center; }
  .info-page .contact-card { padding:22px 20px; }
  .info-page .contact-card-head h2 { font-size:1.2rem; }
  .info-page .contact-card-head p { font-size:.85rem; }
  .info-page .contact-form-actions { justify-items:stretch; }
  .info-page .contact-form-actions .btn { width:100%; }
}
