.front-door-v2 {
  min-height: 100svh;
  background:
    radial-gradient(circle at 76% -20%, rgba(25,184,196,.16), transparent 38%),
    #051012;
  color: #f3f1e8;
}

.door-header {
  display: grid;
  grid-template-columns: minmax(145px, 190px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 3.5rem);
  min-height: 74px;
  padding: .45rem clamp(1rem, 3.5vw, 4rem);
  border-bottom: 1px solid rgba(243,241,232,.14);
}

.door-brand,
.door-brand img { min-width: 0; }
.door-brand img { width: 168px; height: 56px; object-fit: contain; object-position: left center; }
.door-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(.85rem, 2vw, 2rem); min-width: 0; }
.door-nav a { color: #a8b8ba; font-size: .64rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }
.door-nav a:hover,.door-nav a:focus-visible { color: #f3f1e8; }
.portal-link { display: inline-flex; align-items: center; gap: .8rem; padding: .7rem .9rem; border: 1px solid rgba(25,184,196,.55); color: #f3f1e8; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.portal-link:hover,.portal-link:focus-visible { background: #19b8c4; color: #051012; }

.door-shell {
  width: min(1540px, 100%);
  min-height: calc(100svh - 116px);
  margin: 0 auto;
  padding: clamp(.8rem, 1.8vh, 1.5rem) clamp(1rem, 3.5vw, 4rem) 1.25rem;
}

.destination-grid {
  display: grid;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  grid-template-rows: minmax(190px, 1.15fr) minmax(130px, .75fr);
  gap: clamp(.55rem, .8vw, .9rem);
  min-height: clamp(490px, 72vh, 690px);
}

.destination-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  min-height: 0;
  padding: clamp(1rem, 1.5vw, 1.45rem);
  overflow: hidden;
  border: 1px solid rgba(243,241,232,.14);
  isolation: isolate;
  transition: transform .2s ease, border-color .2s ease;
}

a.destination-card:hover,
a.destination-card:focus-visible { z-index: 3; transform: translateY(-4px); border-color: rgba(243,241,232,.72); }
.destination-card img,.card-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.destination-card img { z-index: -3; object-fit: cover; transition: transform .55s ease; }
a.destination-card:hover img { transform: scale(1.035); }
.card-shade { z-index: -2; background: linear-gradient(180deg, rgba(5,16,18,.15), rgba(5,16,18,.9) 82%), linear-gradient(90deg, rgba(5,16,18,.62), transparent 70%); }
.card-label,.coming-soon { font-size: .6rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.card-label { color: #f3f1e8; }
.card-copy { display: block; margin-top: auto; padding-right: 2rem; }
.card-copy strong,.card-copy small { display: block; }
.card-copy strong { max-width: 420px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.55rem, 2.55vw, 3.1rem); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.card-copy small { max-width: 380px; margin-top: .55rem; color: #c7d0d0; font-size: clamp(.72rem, .85vw, .9rem); line-height: 1.35; }
.card-arrow { position: absolute; right: 1.1rem; bottom: .9rem; color: #19b8c4; font-size: 1.4rem; }

.card-music { grid-column: span 6; grid-row: span 1; }
.card-content { grid-column: span 5; grid-row: span 1; }
.card-local { grid-column: span 3; grid-row: span 1; }
.card-records { grid-column: span 4; grid-row: span 1; }
.card-music img { object-position: center 42%; }
.card-content img { object-position: center; }
.card-local img { object-position: center 38%; }
.card-records img { object-position: center; }

.destination-card.compact { justify-content: flex-start; color: #051012; border-color: rgba(5,16,18,.16); }
.compact .card-copy { margin-top: auto; padding: 0; }
.compact .card-copy strong { font-size: clamp(1.35rem, 2vw, 2.25rem); }
.compact .card-copy small { color: rgba(5,16,18,.72); font-size: .76rem; }
.coming-soon { position: absolute; top: 1rem; right: 1rem; color: rgba(5,16,18,.56); }
.card-kissyn { grid-column: span 2; background: #8971ff; }
.card-shop { grid-column: span 2; background: #ff765f; }
.card-travel { grid-column: span 2; background: #0b6465; }
.card-snaggora { grid-column: span 2; background: #f7f3ec; }
.card-ask-why { grid-column: span 2; background: #05090b; color: #f5f3ec; border-color: rgba(245,243,236,.22); }
.destination-card.compact.image-card { color: #f3f1e8; border-color: rgba(243,241,232,.2); }
.image-card .card-copy small { color: rgba(243,241,232,.84); }
.image-card .coming-soon { color: rgba(243,241,232,.78); }
.card-kissyn .card-shade { background: linear-gradient(180deg, rgba(90,42,139,.34), rgba(33,12,53,.91) 86%), linear-gradient(90deg, rgba(137,113,255,.42), rgba(255,122,81,.2)); }
.card-shop .card-shade { background: linear-gradient(180deg, rgba(255,118,95,.18), rgba(20,12,10,.88) 86%), linear-gradient(90deg, rgba(255,118,95,.42), transparent 72%); }
.card-travel .card-shade { background: linear-gradient(180deg, rgba(6,66,68,.14), rgba(3,28,29,.94) 88%), linear-gradient(90deg, rgba(11,100,101,.34), transparent 70%); }
.card-snaggora .card-shade { background: linear-gradient(180deg, rgba(247,243,236,.08), rgba(55,25,27,.9) 88%); }
.card-ask-why .card-shade { background: linear-gradient(180deg, rgba(5,9,11,.04), rgba(5,9,11,.94) 91%), linear-gradient(90deg, rgba(5,9,11,.26), transparent 70%); }
.card-kissyn img { object-position: center 43%; }
.card-shop img { object-position: center 22%; }
.card-travel > img { object-position: center top; }
.card-snaggora img { object-fit: contain; object-position: center 22%; padding: .65rem; background: #f7f3ec; }
.card-ask-why > img { object-position: center; }
.travel-brand-mark { position: absolute; z-index: 1; top: .75rem; right: .75rem; width: 2.5rem; height: 2.5rem; overflow: hidden; border: 2px solid rgba(243,241,232,.9); border-radius: 50%; box-shadow: 0 6px 16px rgba(5,16,18,.28); }
.destination-card .travel-brand-mark img { position: static; width: 100%; height: 100%; object-fit: cover; transform: none; }
a.destination-card:hover .travel-brand-mark img { transform: none; }
.card-ask-why .card-copy strong { color: #f5f3ec; }
.card-ask-why .card-copy small { color: rgba(245,243,236,.76); }

.door-footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: .72rem clamp(1rem, 3.5vw, 4rem) 1rem;
  color: #718789;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.footer-links { display: flex; flex-wrap: wrap; gap: .45rem 1.15rem; }
.footer-links a { color: #8da0a2; white-space: nowrap; }
.footer-links a:hover,.footer-links a:focus-visible { color: #f3f1e8; }
.door-footer p { margin: 0; text-align: center; line-height: 1.5; }

@media (max-width: 1100px) {
  .destination-grid { grid-template-rows: repeat(3, minmax(180px, auto)); }
  .destination-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .card-music,.card-content { grid-column: span 6; }
  .card-local,.card-records { grid-column: span 6; }
  .card-kissyn,.card-shop,.card-travel,.card-snaggora { grid-column: span 3; }
  .card-ask-why { grid-column: span 12; min-height: 150px; }
}

@media (max-width: 760px) {
  .door-header { grid-template-columns: 1fr auto; gap: .5rem 1rem; }
  .door-nav { grid-column: 1 / -1; justify-content: flex-start; gap: .55rem 1.25rem; padding: 0 0 .75rem; overflow-x: auto; }
  .door-shell { padding-top: 1rem; }
  .destination-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; min-height: 0; }
  .card-music,.card-content,.card-local,.card-records,.card-kissyn,.card-shop,.card-travel,.card-snaggora,.card-ask-why { grid-column: auto; grid-row: auto; min-height: 220px; }
  .destination-card.compact { min-height: 150px; }
  .door-footer { grid-template-columns: 1fr; }
  .door-footer p { text-align: left; }
}

@media (max-width: 430px) {
  .door-brand img { width: 142px; }
  .portal-link { padding: .62rem .7rem; font-size: .61rem; }
}

@media (prefers-reduced-motion: reduce) {
  .destination-card,.destination-card img { transition: none; }
}
