.terms-page main a { color: #315fa8; }.terms-page main a:hover { color: #244780; }
.terms-hero { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 83% 18%,rgba(99,216,181,.2),transparent 28%),radial-gradient(circle at 98% 91%,rgba(255,94,103,.25),transparent 31%),linear-gradient(135deg,#21072c,#4b1558 58%,#722054); }
.terms-hero::before { content: ''; position: absolute; inset: 0; opacity: .11; background-image: radial-gradient(circle,#fff 1px,transparent 1.5px),linear-gradient(115deg,transparent 46%,#fff 46.2%,transparent 46.5%); background-size: 41px 41px,150px 150px; mask-image: linear-gradient(90deg,transparent 6%,#000); }
.hero-grid { position: relative; max-width: 1200px; min-height: 550px; margin: auto; padding: 70px 35px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(350px,.8fr); align-items: center; gap: 70px; }.hero-copy { min-width: 0; }.terms-hero h1 { max-width: 760px; margin: 15px 0 20px; font-size: clamp(48px,6vw,78px); line-height: 1; letter-spacing: -3px; }.terms-hero p { max-width: 725px; color: #eadceb; }.terms-hero strong { color: #fff; }.terms-hero .hero-copy a { color: #8ce5ca; font-weight: 850; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #ffb1b0; font-size: 9px; font-weight: 900; letter-spacing: 2px; }.eyebrow-line { width: 27px; height: 2px; background: var(--mint); box-shadow: 0 0 10px rgba(99,216,181,.6); }.effective-date { width: fit-content; margin-bottom: 20px; padding: 10px 14px; display: block; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: rgba(255,255,255,.08); color: #fff; font-size: 10px; font-weight: 850; letter-spacing: .7px; }.effective-date time { color: var(--mint); }

.terms-document { position: relative; min-width: 0; padding: 25px; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; background: rgba(25,4,33,.54); box-shadow: 0 28px 60px rgba(13,2,18,.34); backdrop-filter: blur(12px); }.terms-document::after { content: ''; position: absolute; right: -67px; bottom: -80px; width: 185px; height: 185px; border: 25px solid rgba(99,216,181,.08); border-radius: 50%; }.terms-document > * { position: relative; z-index: 1; }.document-top { padding-bottom: 15px; display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.12); color: #c8adca; font-size: 8px; font-weight: 850; letter-spacing: 1.5px; }.document-top i { color: var(--mint); font-style: normal; }
.document-sheet { position: relative; width: 145px; height: 185px; margin: 34px auto 31px; padding: 50px 25px 25px; display: flex; flex-direction: column; gap: 13px; border-radius: 14px; background: linear-gradient(145deg,#fff,#f0e4f2); box-shadow: 0 20px 33px rgba(10,1,16,.26); }.page-corner { position: absolute; top: 0; right: 0; border-style: solid; border-width: 0 43px 43px 0; border-color: transparent #d9c5de transparent transparent; }.document-sheet > b { height: 6px; display: block; border-radius: 6px; background: #9b79a3; }.document-sheet > b:nth-of-type(2) { width: 74%; }.document-sheet > b:nth-of-type(3) { width: 89%; }.document-sheet > b:nth-of-type(4) { width: 61%; }.document-sheet em { position: absolute; right: -17px; bottom: -17px; width: 61px; height: 61px; display: grid; place-items: center; border: 6px solid #46134f; border-radius: 50%; background: var(--mint); color: var(--plum); font-size: 28px; font-style: normal; font-weight: 900; }
.document-status { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.document-status span { padding: 12px 5px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; color: #f1e5f2; font-size: 7px; font-weight: 850; letter-spacing: .7px; text-align: center; }.document-status b { display: block; margin-bottom: 5px; color: var(--coral); font-size: 9px; }

.legal-wrap { max-width: 1160px; margin: auto; padding: 66px 30px 82px; display: grid; grid-template-columns: 245px minmax(0,1fr); align-items: start; gap: 34px; }.legal-nav { position: sticky; top: 114px; padding: 20px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: 0 14px 35px rgba(53,19,68,.06); }.nav-label { padding: 4px 10px 14px; color: #a06b96; font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }.legal-nav a { padding: 11px 10px; display: grid; grid-template-columns: 27px 1fr; align-items: center; gap: 8px; border-radius: 9px; color: #68566d; font-size: 11px; font-weight: 750; line-height: 1.35; text-decoration: none; transition: color .2s,background .2s; }.legal-nav a:hover,.legal-nav a.active { background: var(--lavender); color: var(--plum); }.legal-nav a.active b { background: var(--coral); color: #fff; }.legal-nav b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: #f3eaf5; color: #9d6aa7; font-size: 8px; transition: color .2s,background .2s; }
.legal-document { min-width: 0; display: flex; flex-direction: column; gap: 20px; }.term-section { position: relative; padding: 36px 38px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(53,19,68,.05); scroll-margin-top: 110px; }.term-section::before { content: ''; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: var(--coral); }.term-section header { display: flex; align-items: flex-start; gap: 14px; }.clause-number { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; background: var(--coral); color: #fff; font-size: 10px; font-weight: 900; }.topic-label { display: block; margin: 2px 0 7px; color: var(--coral-dark); font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }.term-section h2 { margin: 0; color: var(--plum); font-size: clamp(27px,3vw,37px); line-height: 1.1; letter-spacing: -1px; }.clause-copy { margin: 24px 0 0 52px; }.clause-copy p { color: var(--muted); font-size: 15px; line-height: 1.82; }.clause-copy p:first-child { margin-top: 0; }.clause-copy p:last-child { margin-bottom: 0; }
.links-section { padding-right: 120px; background: #fff7f4; border-color: #f0d8d1; }.links-section::before { background: #f07a65; }.clause-marker { position: absolute; right: 28px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; }.clause-marker span { width: 55px; height: 55px; display: grid; place-items: center; border-radius: 50%; background: var(--coral); color: #fff; font-size: 23px; box-shadow: 0 10px 22px rgba(255,94,103,.2); }.clause-marker small { color: #ad7771; font-size: 6px; font-weight: 900; letter-spacing: 1px; }
.sponsored-section { background: #fff8ed; border-color: #eedec4; }.sponsored-section::before,.sponsored-section .clause-number { background: #e99a46; }.sponsored-section .topic-label { color: #b26928; }
.submission-section { background: #effaf7; border-color: #d1eae3; }.submission-section::before,.submission-section .clause-number { background: #15997f; }.submission-section .topic-label { color: #137862; }.privacy-note { margin: 22px 0 0 52px; padding: 17px 19px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 13px; border: 1px solid #b9dfd5; border-radius: 13px; background: rgba(255,255,255,.72); }.privacy-note > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; background: #15997f; color: #fff; font-weight: 900; }.privacy-note p { margin: 0; color: #145e50; font-size: 13px; font-weight: 800; line-height: 1.6; }
.limits-section { color: #fff; background: linear-gradient(135deg,#33103f,#52195d); border-color: #52195d; }.limits-section::before { background: var(--mint); }.limits-section .clause-number { background: var(--mint); color: var(--plum); }.limits-section .topic-label { color: #8ce5ca; }.limits-section h2,.limits-section strong { color: #fff; }.limits-section .clause-copy p { color: #eadfeb; }
.changes-section { background: #f8f1fa; }.contact-terms { margin: 24px 0 0 52px; max-width: 315px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; border-radius: 13px; background: var(--coral); color: #fff !important; text-decoration: none; box-shadow: 0 12px 24px rgba(255,94,103,.2); transition: transform .2s,box-shadow .2s; }.contact-terms:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(255,94,103,.28); }.contact-terms small { display: block; margin-bottom: 4px; color: #ffe2de; font-size: 7px; font-weight: 900; letter-spacing: 1.2px; }.contact-terms span { font-size: 14px; font-weight: 900; }.contact-terms b { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.17); }

.reveal { opacity: 1; transform: none; }.js-ready .reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease,transform .65s ease; }.js-ready .reveal.is-visible { opacity: 1; transform: none; }
@media (max-width: 940px) { .hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 42px; }.terms-document { width: 100%; max-width: 650px; }.legal-wrap { grid-template-columns: 1fr; }.legal-nav { position: static; padding: 12px; display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; }.nav-label { grid-column: 1 / -1; }.legal-nav a { min-width: 0; } }
@media (max-width: 720px) { .legal-nav { grid-template-columns: repeat(2,1fr); }.links-section { padding-right: 38px; }.clause-marker { position: static; margin: 22px 0 0 52px; transform: none; flex-direction: row; }.clause-marker span { width: 43px; height: 43px; }.clause-marker small { font-size: 7px; } }
@media (max-width: 620px) { .hero-grid { padding: 44px 21px 49px; }.terms-hero h1 { font-size: 43px; letter-spacing: -1.8px; }.terms-document { padding: 19px; border-radius: 19px; }.document-sheet { width: 128px; height: 164px; margin-top: 30px; }.legal-wrap { padding: 38px 17px 58px; gap: 18px; }.legal-nav { grid-template-columns: 1fr 1fr; border-radius: 16px; }.legal-nav a { padding: 9px 7px; font-size: 9px; }.term-section,.links-section { padding: 26px 19px; border-radius: 19px; }.term-section h2 { font-size: 26px; }.clause-number { width: 34px; height: 34px; }.clause-copy,.privacy-note,.contact-terms,.clause-marker { margin-left: 0; }.privacy-note { grid-template-columns: 36px 1fr; padding: 15px; }.contact-terms { max-width: none; }.clause-marker { margin-top: 21px; } }
@media (prefers-reduced-motion: reduce) { .document-sheet,.reveal { animation: none !important; }.reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }
