/* StudioFELI – "Öppnar snart". Färger, typsnitt och avstånd kommer från css/core.css (samma som hela sajten). */
body.soon { min-height: 100vh; min-height: 100dvh; background: var(--velvet); }

.soon-main {
    min-height: 100vh; min-height: 100dvh;
    display: grid; align-content: center; gap: var(--s7);
    padding: var(--s7) var(--gutter);
    max-width: 78rem; margin-inline: auto;
}
.soon-copy { display: flex; flex-direction: column; align-items: flex-start; }
.soon-copy .monogram { margin-bottom: var(--s6); }

.soon-title { display: flex; flex-direction: column; font-family: var(--font-display); font-weight: 400; line-height: 0.8; }
.soon-studio { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.6rem); letter-spacing: 0.02em; margin-left: 0.2em; margin-bottom: 0.18em; }
.soon-feli { font-style: italic; font-weight: 500; color: var(--blush); font-size: clamp(5.5rem, 34vw, 9rem); letter-spacing: -0.035em; white-space: nowrap; }

.soon-lede { margin-top: var(--s6); font-size: var(--step-1); line-height: 1.5; max-width: 26ch; color: rgba(237, 238, 234, 0.92); }

.soon-contact { margin-top: var(--s6); display: flex; flex-direction: column; gap: var(--s2); font-style: normal; font-size: var(--step-0); color: rgba(237, 238, 234, 0.9); }
.soon-contact a { color: var(--blush); font-weight: 600; text-underline-offset: 0.2em; }

/* Samma rektangulära foto med mjukt rundade hörn och spegelram som på startsidan */
.soon-photo { width: min(calc(100% - 24px), 26rem); }
.soon-photo img {
    width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%;
    border-radius: var(--radius-img);
    box-shadow: 0 0 0 1px var(--line-on-dark), 0 0 0 11px var(--velvet), 0 0 0 12px var(--line-on-dark);
}
.soon-photo { margin: 12px; }

@media (min-width: 900px) {
    .soon-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); align-items: center; gap: var(--s9); padding-block: var(--s9); }
    .soon-feli { font-size: clamp(9rem, 2rem + 14vw, 17rem); margin-right: -0.2em; }
    .soon-lede { font-size: var(--step-2); max-width: 22ch; }
    .soon-photo { justify-self: end; width: min(calc(100% - 24px), 30rem); }
    .soon-photo img { max-height: 78vh; }
}

@media (prefers-reduced-motion: no-preference) {
    .soon-copy > *, .soon-photo { animation: soonRise 0.9s var(--ease) both; }
    .soon-copy > :nth-child(2) { animation-delay: 0.08s; }
    .soon-copy > :nth-child(3) { animation-delay: 0.16s; }
    .soon-copy > :nth-child(4) { animation-delay: 0.24s; }
    .soon-photo { animation-delay: 0.2s; }
}
@keyframes soonRise { from { opacity: 0; transform: translateY(16px); } }

.soon-404 { align-content: center; justify-items: start; }
.soon-404 .soon-lede { margin-top: var(--s4); }
.soon-404 .btn { margin-top: var(--s5); }
