:root {
  --soon-paper: #efe9de;
  --soon-paper-2: #f8f4ed;
  --soon-ink: #211b15;
  --soon-rust: #9b4e38;
  --soon-line: rgba(33, 27, 21, .2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--soon-paper); }
body { margin: 0; min-width: 320px; background: var(--soon-paper); color: var(--soon-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }

.soon-hero { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(420px, .84fr); min-height: calc(100vh - 72px); border-bottom: 1px solid var(--soon-line); }
.soon-gallery { position: relative; min-height: 650px; overflow: hidden; background: #55463c; }
.soon-gallery::after { position: absolute; inset: 0; z-index: 2; content: ""; background: linear-gradient(90deg, transparent 62%, rgba(22, 16, 11, .16)), linear-gradient(0deg, rgba(18, 12, 8, .28), transparent 42%); pointer-events: none; }
.soon-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.045); animation: soonSlideshow 30s infinite; }
.soon-slide:nth-child(2) { animation-delay: 6s; }
.soon-slide:nth-child(3) { animation-delay: 12s; }
.soon-slide:nth-child(4) { animation-delay: 18s; }
.soon-slide:nth-child(5) { animation-delay: 24s; }
@keyframes soonSlideshow { 0%,17% { opacity: 1; transform: scale(1); } 20%,97% { opacity: 0; transform: scale(1.045); } 100% { opacity: 1; } }

.soon-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(52px, 7vw, 110px); background: var(--soon-paper); }
.soon-kicker { margin: 0 0 24px; color: var(--soon-rust); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.soon-panel h1 { margin: 0; font: 400 clamp(72px, 9vw, 132px)/.72 Georgia, "Times New Roman", serif; letter-spacing: -.065em; }
.soon-panel h1 em { color: var(--soon-rust); font-weight: 400; }
.soon-lead { max-width: 590px; margin: 42px 0 0; color: #5e544b; font-size: 17px; line-height: 1.78; }
.soon-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }
.soon-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 21px; border: 1px solid var(--soon-rust); background: var(--soon-rust); color: #fff; font-size: 13px; font-weight: 850; letter-spacing: .03em; text-decoration: none; }
.soon-button:hover, .soon-button:focus-visible { background: #7f3e2d; outline: 3px solid rgba(155, 78, 56, .18); }
.soon-text-link { color: var(--soon-rust); font-size: 14px; font-weight: 850; text-underline-offset: 5px; }
.soon-note { margin: 48px 0 0; padding-top: 17px; border-top: 1px solid var(--soon-line); color: #766b61; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.soon-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; width: min(100% - 44px, 1180px); margin: 0 auto; padding: 110px 0; }
.soon-intro h2, .soon-location h2 { margin: 0; font: 400 clamp(42px, 6vw, 76px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.soon-intro > p { align-self: end; margin: 0; color: #63594f; font-size: 18px; line-height: 1.8; }

.soon-location { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); width: min(100% - 44px, 1280px); margin: 0 auto 110px; background: var(--soon-paper-2); border: 1px solid var(--soon-line); }
.soon-map-copy { padding: clamp(38px, 6vw, 82px); }
.soon-map-copy > p:not(.soon-kicker) { margin: 25px 0 30px; color: #63594f; line-height: 1.7; }
.soon-button-dark { border-color: var(--soon-ink); background: var(--soon-ink); }
.soon-button-dark:hover, .soon-button-dark:focus-visible { background: #3a3028; }
.soon-location iframe { display: block; width: 100%; height: 100%; min-height: 480px; filter: sepia(.2) saturate(.8); }

@media (max-width: 950px) {
  .soon-hero { grid-template-columns: 1fr; }
  .soon-gallery { min-height: 58vh; }
  .soon-panel { margin-top: -70px; position: relative; z-index: 3; width: calc(100% - 28px); }
  .soon-intro, .soon-location { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .soon-gallery { min-height: 54vh; }
  .soon-panel { padding: 45px 22px 52px; }
  .soon-panel h1 { font-size: clamp(66px, 25vw, 104px); }
  .soon-lead { margin-top: 34px; }
  .soon-intro, .soon-location { width: min(100% - 24px, 1180px); }
  .soon-intro { gap: 26px; padding: 78px 0; }
  .soon-location { margin-bottom: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  .soon-slide { animation: none; opacity: 0; transform: none; }
  .soon-slide:first-child { opacity: 1; }
}
