.landing-main { min-height: 100svh; }
.intro { display: flex; flex-direction: column; align-items: center; width: min(100% - 2rem, 56rem); padding-block: clamp(2.5rem, 5vw, 3.5rem) 0; text-align: center; }
.intro-copy { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 56rem; }
.intro h1 { margin: 0; font-family: var(--font-display); font-size: clamp(2.75rem, 9vw, 3.5rem); font-weight: 760; letter-spacing: 0.012em; line-height: 0.98; }
.intro-statement { max-width: 35rem; margin: 1.35rem 0 1.9rem; color: var(--color-body); font-size: clamp(1rem, 2vw, 1.08rem); line-height: 1.62; overflow-wrap: anywhere; }
.intro-statement strong, .privacy-summary strong { color: var(--color-text); font-weight: 700; }
.brand-visual { width: clamp(6rem, 18vw, 7.5rem); aspect-ratio: var(--brand-visual-aspect); margin: 0 0 1.25rem; overflow: hidden; border: 1px solid var(--color-border-strong); border-radius: var(--brand-visual-radius); background: var(--color-surface); box-shadow: 0 1.1rem 2.5rem rgba(0, 0, 0, 0.24); }
.brand-visual img { width: 100%; height: 100%; object-fit: var(--brand-visual-fit); object-position: var(--brand-visual-position); transform: scale(var(--brand-visual-scale)); }
.feature-band { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; max-width: 39rem; gap: 0.75rem; margin-top: 3.25rem; text-align: left; }
.feature-item { min-width: 0; padding: 1.2rem; border: 1px solid var(--color-border); border-radius: 1rem; background: var(--color-surface); }
.feature-symbol { display: block; width: 1.65rem; height: 1.65rem; margin-bottom: 0.75rem; color: var(--color-accent); stroke-width: 1.55; }
.feature-item h2 { margin: 0; color: var(--color-text); font-size: 0.94rem; font-weight: 700; letter-spacing: 0.006em; line-height: 1.25; }
.feature-item p { margin: 0.38rem 0 0; color: var(--color-muted); font-size: 0.84rem; line-height: 1.5; }
.privacy-summary { max-width: 31rem; margin: 3.25rem 0 0; color: var(--color-muted); font-size: 0.86rem; line-height: 1.6; overflow-wrap: anywhere; }
.directory { display: grid; width: min(100% - 2rem, 46rem); gap: 0.85rem; padding-block: 2.3rem 4.25rem; }
.directory-list { display: grid; border-block: 1px solid var(--color-border); }
.directory-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 5.1rem; gap: 1rem; padding: 1rem 0.25rem; text-decoration: none; transition: color 160ms ease; }
.directory-row + .directory-row { border-top: 1px solid var(--color-border); }
.directory-row > span:first-child { display: grid; min-width: 0; gap: 0.18rem; }
.directory-row strong { font-size: 1rem; letter-spacing: 0.005em; }
.directory-row small { color: var(--color-muted); font-size: 0.82rem; line-height: 1.45; overflow-wrap: anywhere; }
.row-arrow { width: 1rem; height: 1rem; color: var(--color-accent); stroke-width: 1.45; }
.directory-row:hover, .directory-row:hover .row-arrow { color: var(--color-accent-strong); }
.landing-footer { margin-top: 0; }
.landing-footer-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 5rem; gap: 0.5rem 1.5rem; }
.support-link { display: inline-flex; align-items: center; min-height: 2.75rem; padding-inline: 0.25rem; color: var(--color-muted); font-size: 0.82rem; font-weight: 650; text-decoration: none; }
.support-link:hover { color: var(--color-text); }
.landing-footer p { margin: 0; color: var(--color-subtle); font-size: 0.78rem; }
@media (max-width: 24rem) { .brand-visual { width: 5.75rem; } .feature-band { grid-template-columns: 1fr; } }
