.consent-document-link { display: inline-block; color: #b6ed20; text-decoration: underline; text-underline-offset: .2em; line-height: 1.7; }
.consent-document-link:hover { color: #f2f3ee; }
.consent-document-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.consent-row { display: grid; gap: .35rem; }
.consent-row .consent-document-link { margin-left: calc(22px + .8rem); justify-self: start; }
.consent-row .consent-error { margin-left: calc(22px + .8rem); color: #ff7a7a; font-size: .82rem; font-style: normal; }
.registration-regulations { margin-top: 1.4rem !important; }
.regulation-hero { padding: clamp(8rem, 12vw, 12rem) var(--pad) 3rem; border-bottom: 1px solid var(--line); }
.regulation-hero h1 { margin: 0 0 2rem; font: 900 clamp(2.8rem, 6vw, 6rem)/1.05 var(--display); text-transform: uppercase; letter-spacing: -.025em; }
.regulation-layout { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 2.2fr); gap: clamp(2rem, 5vw, 6rem); padding: 3rem var(--pad) 6rem; align-items: start; }
.regulation-contents { position: sticky; top: 104px; display: grid; gap: .8rem; }
.regulation-contents a { color: var(--muted); font-size: .8rem; line-height: 1.6; }
.regulation-contents a:hover, .regulation-contents a:focus-visible { color: var(--acid-hot); text-decoration: underline; }
.regulation-document { max-width: 850px; padding: clamp(1.3rem, 3vw, 3rem); background: var(--paper); color: var(--ink); }
.regulation-document section { scroll-margin-top: 110px; padding-bottom: 1.5rem; }
.regulation-document h2 { margin: 0 0 1.3rem; padding-top: 1.2rem; border-top: 1px solid #d1d5cb; font: 800 clamp(1.15rem, 2.4vw, 1.65rem)/1.35 var(--display); letter-spacing: .015em; }
.regulation-document section:first-child h2 { padding-top: 0; border: 0; }
.regulation-document p { margin: 0 0 1rem; font-size: .95rem; line-height: 1.85; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 760px) {
    .regulation-layout { grid-template-columns: 1fr; padding-top: 2rem; }
    .regulation-contents { position: static; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
}
@media print {
    body { background: white; color: black; }
    .site-header, .site-footer, .page-curtain, .skip-link, .regulation-contents, .regulation-hero .text-link, .regulation-document > .button { display: none; }
    .regulation-hero { padding: 0 0 1rem; }
    .regulation-hero h1 { font-size: 24pt; margin-bottom: 0; }
    .regulation-hero .kicker { color: black; }
    .regulation-layout { display: block; padding: 0; }
    .regulation-document { max-width: none; padding: 1rem 0 0; background: white; }
    .regulation-document h2 { break-after: avoid; }
}
