.content-main { max-width: 1440px; margin: auto; padding: 10rem var(--pad) 6rem; }
.content-main h1 { max-width: 65rem; font-size: clamp(2.8rem, 6.5vw, 6.5rem); line-height: 1.05; overflow-wrap: anywhere; }
.content-intro { max-width: 48rem; margin: 2rem 0 3rem; font-size: clamp(1.1rem, 1.8vw, 1.4rem); line-height: 1.8; color: #b4b7c3; }
.content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 4rem; }
.content-card { display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid var(--line); background: var(--surface); }
.content-card h2, .content-empty h2, .content-cta h2 { margin: 0 0 1.5rem; font-size: clamp(1.6rem, 2.8vw, 2.8rem); line-height: 1.2; font-weight: 500; letter-spacing: -.04em; overflow-wrap: anywhere; }
.content-card h2 a:hover { color: var(--cyan); }
.content-card > p:not(.eyebrow), .content-empty p { color: #aeb0bb; line-height: 1.8; }
.content-card .text-link { margin: 2rem 0 0; }
.content-meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; color: #aeb0bb; font: .75rem/1.6 "DM Mono", monospace; margin-top: auto; }
.content-empty { border: 1px solid var(--line); padding: 3rem; margin-top: 4rem; } .content-empty .text-link { margin-left: 0; }
.content-back { display: inline-block; color: #aeb0bb; font-size: .8rem; margin-bottom: 3rem; }
.content-title { border-bottom: 1px solid var(--line); padding-bottom: 3rem; }
.content-prose { max-width: 49rem; margin: 4rem auto; font-size: 1.1rem; line-height: 1.9; overflow-wrap: anywhere; }
.content-prose p { white-space: pre-line; color: #c1c4d0; margin: 0 0 1.8rem; } .content-prose li { color: #c1c4d0; margin-bottom: .6rem; }
.legal-address { font-style: normal; color: #c1c4d0; line-height: 1.9; }
.content-prose h2 { font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.3; margin: 3rem 0 1.4rem; }
.content-prose blockquote { border-left: 2px solid var(--cyan); margin: 2.5rem 0; padding: 1rem 0 1rem 2rem; font-size: 1.4rem; color: #b8b2ff; white-space: pre-line; }
.content-cta { border-top: 1px solid var(--line); padding: 4rem 0 0; } .content-cta .text-link { margin-left: 0; }
.preview-banner { padding: 1rem 1.5rem; margin-bottom: 2rem; border: 1px solid var(--cyan); color: var(--cyan); font-size: .85rem; }
@media (max-width: 760px) { .content-grid { grid-template-columns: minmax(0,1fr); } .content-main { padding-top: 8rem; } .content-empty { padding: 1.5rem; } }
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: clamp(2rem, 6vw, 6rem); margin-top: 4rem; }
.contact-context h2, .contact-panel h2 { margin: 0 0 1.5rem; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.2; }
.contact-context p:not(.eyebrow), .contact-panel > p { color: #b4b7c3; line-height: 1.8; }
.contact-context .legal-address { margin-top: 3rem; font-size: .9rem; }
.contact-panel { position: relative; padding: clamp(1.25rem, 3vw, 3rem); border: 1px solid var(--line); background: var(--surface); }
.contact-form { display: grid; gap: 1.5rem; margin-top: 2rem; }
.contact-form label { display: flex; flex-direction: column; gap: .65rem; font-size: .85rem; font-weight: 600; }
.contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.contact-form input:not([type='hidden']), .contact-form textarea, .contact-form select { width: 100%; min-width: 0; padding: .9rem; border: 1px solid #414658; border-radius: 0; background: #08090d; color: var(--ink); font: 1rem/1.6 Manrope,sans-serif; color-scheme: dark; }
.contact-form textarea { resize: vertical; }
.contact-form :focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.contact-form-hint { margin: 0; color: #aeb0bb; font-size: .8rem; line-height: 1.8; }
.contact-form-hint a { color: var(--cyan); text-decoration: underline; text-underline-offset: .2rem; }
.contact-submit { display: inline-flex; gap: 2rem; align-items: center; justify-content: space-between; width: fit-content; padding: 1rem 1.5rem; border: 1px solid var(--cyan); background: var(--cyan); color: #08090d; font: 700 .85rem Manrope,sans-serif; cursor: pointer; transition: background .2s, color .2s; }
.contact-submit:hover { background: transparent; color: var(--cyan); }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-notice { padding: 1.2rem; margin-bottom: 2rem; border: 1px solid var(--line); line-height: 1.8; overflow-wrap: anywhere; }
.contact-success { border-color: #58b585; color: #b8f1ca; } .contact-success h2 { font-size: 1.5rem; } .contact-success p { margin: 0; }
.contact-error { border-color: #b26772; color: #ffc7cc; }
@media (max-width: 850px) { .contact-layout { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 480px) { .contact-fields { grid-template-columns: minmax(0,1fr); } }
.privacy-main > .content-title h1 { font-size: clamp(2.3rem, 6.3vw, 6.3rem); overflow-wrap: break-word; }
.privacy-toc { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); color: #b4b7c3; font-size: .8rem; line-height: 1.6; }
.privacy-toc a:hover, .privacy-prose a { color: var(--cyan); }
.privacy-prose a { text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.privacy-prose section { scroll-margin-top: calc(var(--header-height) + 2rem); }
.privacy-prose .legal-address { margin: 1.5rem 0; }
.privacy-facts { padding: 1.5rem; border: 1px solid var(--line); background: var(--surface); font-size: .95rem; }
.privacy-facts dt { font-weight: 600; margin-top: 1rem; } .privacy-facts dt:first-child { margin-top: 0; }
.privacy-facts dd { margin: .4rem 0 0; color: #b4b7c3; white-space: pre-line; }
.privacy-draft { margin-top: 2rem; padding: 1.5rem; border: 1px solid #d4b175; background: #201a12; color: #f1d5aa; line-height: 1.8; }
.privacy-draft p { margin: .75rem 0 0; }
.privacy-missing { color: #f1d5aa; }
.privacy-objection { padding: 1.5rem; border-left: 2px solid var(--cyan); background: var(--surface); margin: 2rem 0; }
.privacy-objection h3 { margin-top: 0; line-height: 1.4; font-size: 1.2rem; font-weight: 500; }
.privacy-objection p { margin-bottom: 0; }
.privacy-prose .privacy-law-links { font-size: .85rem; }
@media (max-width: 760px) { .privacy-toc { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 420px) { .privacy-toc { grid-template-columns: minmax(0,1fr); } }
