:root {
  color-scheme: dark;
  --green: #0b211b;
  --cream: #f2eee4;
  --gold: #c5ae7e;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; background: radial-gradient(ellipse at 65% 40%,#16372b 0,transparent 65%),var(--green); color: var(--cream); font: 18px/1.7 var(--sans); -webkit-font-smoothing: antialiased; }
.brand { display: flex; justify-content: center; align-items: center; gap: 18px; padding: 38px 24px 30px; }
.brand img { display: block; flex-shrink: 0; }
.brand span { font: 500 28px/1.2 var(--serif); letter-spacing: 1.7px; }
.brand i { color: var(--gold); font-weight: 400; }
.coming-soon { width: min(1240px,calc(100% - 100px)); margin: auto; padding-block: 45px 65px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
h1 { margin: 0; font: 400 clamp(58px,5.9vw,84px)/1.04 var(--serif); letter-spacing: -1.8px; }
h1 em { color: var(--gold); font-weight: 400; }
.introduction p { max-width: 390px; margin: 30px 0 0; color: #c6cec3; }
.introduction .invitation { margin-top: 30px; color: var(--cream); }
.signature { display: block; margin-top: 27px; color: var(--gold); font: italic 400 25px/1 var(--serif); letter-spacing: 4px; }
.polaroid { min-width: 0; margin: 0; padding: 13px 13px 0; background: #f7f4ed; border: 1px solid #e5e0d5; box-shadow: 0 20px 55px #0004; transform: rotate(1.5deg); }
.polaroid img { display: block; width: 100%; height: auto; }
.polaroid figcaption { padding: 19px 8px 25px; color: #283b32; font: 500 clamp(27px,2.8vw,35px)/1.2 'Caveat','Segoe Print','Bradley Hand',cursive; text-align: center; transform: rotate(-1deg); }
footer { text-align: center; padding: 15px 24px 26px; color: #9cae9f; font-size: 13px; letter-spacing: .3px; }
@media (max-width: 1000px) {
  .coming-soon { width: calc(100% - 72px); gap: 40px; }
  h1 { font-size: 61px; }
  .introduction p { font-size: 17px; }
}
@media (max-width: 720px) {
  .brand { padding: 27px 20px 17px; gap: 13px; }
  .brand img { width: 39px; height: 48px; }
  .brand span { font-size: 23px; letter-spacing: 1px; }
  .coming-soon { width: min(540px,calc(100% - 46px)); grid-template-columns: 1fr; gap: 36px; padding-block: 28px 35px; text-align: center; }
  h1 { font-size: clamp(53px,11vw,73px); letter-spacing: -1.1px; }
  .introduction p { max-width: 385px; margin: 23px auto 0; font-size: 17px; line-height: 1.7; }
  .introduction .invitation { margin-top: 22px; }
  .signature { display: none; }
  .polaroid { padding: 9px 9px 0; transform: rotate(1deg); }
  .polaroid figcaption { padding: 16px 5px 21px; font-size: 29px; }
  footer { padding-bottom: 23px; }
}
@media (max-width: 360px) {
  .brand { gap: 10px; }
  .brand span { font-size: 20px; }
  .coming-soon { width: calc(100% - 38px); }
  h1 { font-size: 49px; }
  .polaroid figcaption { font-size: 25px; }
}
