/* Homepage: headline + intro, wide banner, purpose section, Explore Europe cards. */
.material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-weight: 400; font-style: normal; font-size: 26px; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; font-feature-settings: 'liga'; }
.home-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding: 36px 0 28px; }
.home-hero h1 { font-size: clamp(28px, 4.2vw, 44px); font-weight: 500; letter-spacing: -.035em; line-height: 1.04; margin: 0; }
.home-hero p { max-width: 330px; margin: 0 0 8px; font-size: 14px; line-height: 1.7; color: var(--c-muted); }
.home-banner { border-radius: 16px; overflow: hidden; height: clamp(220px, 34vw, 400px); background: var(--c-line); }
.home-banner video { width: 100%; height: 100%; object-fit: cover; display: block; }

.home h2 { font-size: clamp(26px, 3vw, 32px); font-weight: 500; letter-spacing: -.02em; text-align: center; margin: 0 0 10px; }
.home-sub { max-width: 640px; margin: 0 auto; text-align: center; font-size: 14px; line-height: 1.75; color: var(--c-muted); }

.home-purpose { padding: 88px 0 24px; }
.purpose-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.purpose { display: block; border: 1px solid var(--c-line); border-radius: 16px; padding: 24px; color: inherit; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.purpose:hover { border-color: var(--c-ink); transform: translateY(-2px); }
.purpose .material-symbols-outlined { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #f5f5f5; color: var(--c-ink); margin-bottom: 18px; }
.purpose h3 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 8px; }
.purpose p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--c-muted); }

.home-explore { padding: 72px 0 16px; }
.home-explore .gcards { margin-top: 40px; }
.home-all { text-align: center; margin: 8px 0 0; }
.btn-ghost { display: inline-block; border: 1px solid var(--c-line); border-radius: 10px; padding: 12px 22px; font-size: 13px; font-weight: 500; color: var(--c-ink); text-decoration: none; }
.btn-ghost:hover { border-color: var(--c-ink); }

@media (max-width: 1000px) { .purpose-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .home-hero { justify-content: center; text-align: center; gap: 14px; } .home-hero h1, .home-hero p { width: 100%; max-width: none; text-align: center; margin-left: 0; margin-right: 0; } .purpose-grid { grid-template-columns: minmax(0, 1fr); } .home-purpose { padding-top: 56px; } .home-explore { padding-top: 48px; } }

.home-beyond { padding: 56px 0 8px; }
.home-beyond .home-all { margin-top: 20px; }
