.tp-legal { –tp-text: #25332d; –tp-muted: #66736d; –tp-accent: #a85f3d; –tp-accent-soft: #f3e9e3; –tp-border: rgba(37, 51, 45, 0.14); –tp-background: #f8f6f1; –tp-white: #ffffff; color: var(–tp-text); font-size: 16px; line-height: 1.75; } .tp-legal *, .tp-legal *::before, .tp-legal *::after { box-sizing: border-box; } .tp-legal__intro { position: relative; margin-bottom: 48px; padding: clamp(32px, 6vw, 70px); overflow: hidden; background: radial-gradient( circle at 90% 10%, rgba(168, 95, 61, 0.13), transparent 32% ), var(–tp-background); border-radius: 4px; } .tp-legal__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: var(–tp-accent); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; } .tp-legal__eyebrow::before { width: 34px; height: 1px; background: currentColor; content: „“; } .tp-legal h1 { max-width: 780px; margin: 0 0 18px; color: var(–tp-text); font-size: clamp(38px, 6vw, 68px); font-weight: 500; line-height: 1.05; letter-spacing: -0.035em; } .tp-legal__lead { max-width: 700px; margin: 0; color: var(–tp-muted); font-size: clamp(17px, 2vw, 20px); } .tp-legal__layout { display: grid; grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr); gap: clamp(30px, 6vw, 80px); align-items: start; } .tp-legal__navigation { position: sticky; top: 110px; padding: 26px; background: var(–tp-background); border: 1px solid var(–tp-border); border-radius: 4px; } .tp-legal__navigation-title { margin: 0 0 18px; color: var(–tp-text); font-size: 14px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } .tp-legal__navigation ul { margin: 0; padding: 0; list-style: none; } .tp-legal__navigation li + li { margin-top: 10px; } .tp-legal__navigation a { color: var(–tp-muted); font-size: 14px; text-decoration: none; transition: color 0.2s ease, padding-left 0.2s ease; } .tp-legal__navigation a:hover, .tp-legal__navigation a:focus { padding-left: 4px; color: var(–tp-accent); } .tp-legal__content { min-width: 0; } .tp-legal__section { padding: 0 0 42px; scroll-margin-top: 120px; } .tp-legal__section + .tp-legal__section { padding-top: 42px; border-top: 1px solid var(–tp-border); } .tp-legal__number { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 18px; color: var(–tp-accent); font-size: 13px; font-weight: 700; background: var(–tp-accent-soft); border-radius: 50%; } .tp-legal h2 { margin: 0 0 22px; color: var(–tp-text); font-size: clamp(26px, 3vw, 34px); font-weight: 500; line-height: 1.2; letter-spacing: -0.02em; } .tp-legal h3 { margin: 30px 0 10px; color: var(–tp-text); font-size: 18px; font-weight: 650; } .tp-legal p { margin: 0 0 16px; } .tp-legal a { color: var(–tp-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; } .tp-legal a:hover, .tp-legal a:focus { text-decoration-thickness: 2px; } .tp-legal__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0; border-top: 1px solid var(–tp-border); border-left: 1px solid var(–tp-border); } .tp-legal__detail { min-width: 0; padding: 20px; border-right: 1px solid var(–tp-border); border-bottom: 1px solid var(–tp-border); } .tp-legal__detail dt { margin: 0 0 5px; color: var(–tp-muted); font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; } .tp-legal__detail dd { margin: 0; overflow-wrap: anywhere; color: var(–tp-text); font-weight: 500; } .tp-legal__notice { margin-top: 24px; padding: 22px 24px; background: var(–tp-background); border-left: 3px solid var(–tp-accent); } .tp-legal__notice p:last-child { margin-bottom: 0; } .tp-legal__footer { margin-top: 20px; padding-top: 24px; color: var(–tp-muted); font-size: 13px; border-top: 1px solid var(–tp-border); } @media (max-width: 850px) { .tp-legal__layout { grid-template-columns: 1fr; } .tp-legal__navigation { position: static; } .tp-legal__navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; } .tp-legal__navigation li + li { margin-top: 0; } } @media (max-width: 580px) { .tp-legal__details { grid-template-columns: 1fr; } .tp-legal__navigation ul { grid-template-columns: 1fr; } .tp-legal__intro { margin-bottom: 34px; } .tp-legal__section { padding-bottom: 32px; } .tp-legal__section + .tp-legal__section { padding-top: 32px; } }