/* Case — Voyages */
.case--vy { background: #070710; color: #F2F4F8; font-family: 'Inter', sans-serif; }
.vy-eyebrow { font-family: 'JetBrains Mono', monospace; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #7AB8FF; margin: 0 0 1em; display: inline-block; }
.vy-h2 { font-family: 'Fraunces', serif; font-weight: 400; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.05; letter-spacing: -.015em; margin: 0 0 .5em; }
.vy-btn { display: inline-flex; padding: 14px 26px; font-family: 'Inter', sans-serif; font-weight: 500; font-size: .94rem; text-decoration: none; border-radius: 100px; transition: transform .25s var(--ac-ease-out), background .25s; }
.vy-btn--glass { background: rgba(255,255,255,.08); color: #F2F4F8; backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.15); }
.vy-btn--glass:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.vy-btn--text { background: transparent; color: #7AB8FF; padding-left: 6px; }
.vy-btn--text:hover { transform: translateX(4px); }

.vy-hero { padding: clamp(80px, 12vw, 160px) 0 clamp(60px, 9vw, 100px); background: radial-gradient(80% 60% at 50% 30%, #1B1240 0%, #070710 70%); position: relative; overflow: hidden; min-height: 80vh; display: flex; align-items: center; }
.vy-stars { position: absolute; inset: 0; pointer-events: none; }
.vy-stars span { position: absolute; width: 2px; height: 2px; background: #FFF; border-radius: 50%; opacity: .4; animation: vy-twinkle 3s ease-in-out infinite; }
@keyframes vy-twinkle { 0%,100%{ opacity: .2; } 50%{ opacity: 1; transform: scale(1.4); } }
@media (prefers-reduced-motion: reduce) { .vy-stars span { animation: none; } }
.vy-hero__inner { position: relative; z-index: 2; max-width: 800px; }
.vy-title { font-family: 'Fraunces', serif; font-weight: 400; font-size: clamp(3rem, 8vw, 5.6rem); line-height: 1; letter-spacing: -.015em; margin: 0 0 24px; }
.vy-title span { display: block; }
.vy-title__ital em { font-style: italic; color: transparent; background: linear-gradient(95deg, #7AB8FF, #FFD891); -webkit-background-clip: text; background-clip: text; }
.vy-tagline { font-family: 'Fraunces', serif; font-style: italic; font-size: clamp(1rem, 1.4vw, 1.18rem); color: #B7BFCC; max-width: 56ch; line-height: 1.55; margin: 0 0 32px; }
.vy-tagline em { font-style: italic; color: #FFD891; }
.vy-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

.vy-section { padding: clamp(70px, 10vw, 130px) 0; border-top: 1px solid rgba(122,184,255,.08); }
.vy-split { display: grid; grid-template-columns: 1fr 1.3fr; gap: 60px; align-items: start; }
@media (max-width: 880px) { .vy-split { grid-template-columns: 1fr; gap: 24px; } }

.vy-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 40px; }
@media (max-width: 760px) { .vy-grid { grid-template-columns: 1fr; } }
.vy-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(14px); border-radius: 16px; padding: 32px; transition: transform .3s var(--ac-ease-out), border-color .25s; }
.vy-card:hover { transform: translateY(-4px); border-color: rgba(122,184,255,.4); }
.vy-card h3 { font-family: 'Fraunces', serif; font-weight: 500; font-size: 1.35rem; margin: 0 0 10px; color: #F2F4F8; }
.vy-card p { color: #B7BFCC; line-height: 1.55; margin: 0; font-size: .96rem; }

.vy-stack { display: grid; grid-template-columns: max-content 1fr; gap: 14px 32px; margin: 0; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); padding: 30px; border-radius: 14px; }
@media (max-width: 600px) { .vy-stack { grid-template-columns: 1fr; gap: 4px 0; } }
.vy-stack dt { font-family: 'JetBrains Mono', monospace; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: #7AB8FF; padding-top: 4px; }
.vy-stack dd { margin: 0; font-size: .98rem; color: #F2F4F8; line-height: 1.5; }
@media (max-width: 600px) { .vy-stack dd { padding-bottom: 12px; border-bottom: 1px dashed rgba(255,255,255,.08); margin-bottom: 8px; } }
