:root {
  color-scheme: dark;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #ededed;
  background: #111111;
  font-synthesis: none;
  --brand-orange: rgb(255, 90, 31);
}
* { box-sizing: border-box; }
body { margin: 0; }
a, a:visited, a:hover, a:active { color: var(--brand-orange); text-underline-offset: 4px; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid var(--brand-orange); outline-offset: 5px; }
.skip-link { position: absolute; top: -100px; left: 20px; padding: 14px; background: #111; z-index: 2; }
.skip-link:focus { top: 12px; }
.legal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px max(28px, calc((100vw - 920px) / 2));
  border-bottom: 1px solid #333;
}
.legal-brand { display: block; flex: 0 0 auto; line-height: 0; }
.legal-brand img { display: block; object-fit: contain; }
.legal-brand .logo-print { display: none; }
.return-link { font-size: 14px; line-height: 1.5; }
.close-policy { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; text-decoration: none; }
.close-policy:hover { background: #262626; }
.legal-main { max-width: 790px; padding: 42px 28px 56px; margin-inline: auto; }
h1 { margin: 0 0 18px; font-size: clamp(34px, 6vw, 48px); line-height: 1.15; letter-spacing: -.025em; }
.policy-date { color: #b5b5b5; font-size: 14px; line-height: 1.6; margin: 0 0 32px; }
.policy-intro { margin-top: 0; }
.legal-main section { margin-top: 32px; scroll-margin-top: 24px; }
.legal-main h2 { font-size: 22px; line-height: 1.4; margin: 0 0 14px; }
.legal-main p, .legal-main li { font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.legal-main p { margin-bottom: 16px; }
.legal-main li { padding-left: 3px; margin-bottom: 14px; }
.legal-main ul { padding-left: 22px; }
.legal-main strong { color: #fff; }
.refund-policy { border-left: 3px solid var(--brand-orange); padding-left: 18px; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 30px; padding: 26px; border-top: 1px solid #333; font-size: 14px; line-height: 1.6; }
@media (max-width: 560px) {
  .legal-header { padding: 16px 22px; }
  .legal-brand img { width: 110px; height: 66px; }
  .return-link { max-width: 125px; text-align: right; }
  .legal-main { padding: 30px 22px 40px; }
  .legal-main h2 { font-size: 20px; }
}
@media print {
  :root { color-scheme: light; color: #111; background: #fff; }
  .skip-link, .return-link { display: none; }
  .legal-header { justify-content: flex-start; padding: 0 0 18px; }
  .legal-brand .logo-screen { display: none; }
  .legal-brand .logo-print { display: block; width: 120px; height: 72px; }
  .legal-main { max-width: none; padding: 24px 0; }
  h1 { font-size: 25pt; }
  .policy-date { color: #555; font-size: 10pt; margin-bottom: 20px; }
  .legal-main h2 { break-after: avoid; font-size: 13pt; }
  .legal-main section { margin-top: 20px; }
  .legal-main p, .legal-main li { font-size: 10.5pt; line-height: 1.5; }
  .legal-main strong { color: #111; }
  .legal-footer { padding: 18px 0; font-size: 10pt; }
  a, a:visited, a:hover, a:active { color: var(--brand-orange); }
}
