:root{
  --oxblood:#4b0b0d;
  --deep:#200405;
  --baby-blue:#c8e0eb;
  --navy:#081a34;
  --linen:#f7f5ef;
  --silver:#b8bec3;
  --serif:"Bodoni Moda",Didot,Georgia,serif;
  --sans:"Instrument Sans",Arial,sans-serif;
}

*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{background:var(--linen);color:var(--linen);font:400 16px/1.5 var(--sans)}
a{color:inherit}
button,input{font:inherit}

.coming-soon{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,34vw);background:var(--oxblood)}
.message{min-height:100svh;padding:clamp(28px,4vw,64px) clamp(24px,6vw,96px) clamp(30px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;background:var(--oxblood)}
.brand{display:flex;align-items:baseline;gap:10px;margin:0;color:var(--linen);text-decoration:none}
.brand b{font:500 clamp(1.4rem,2vw,2rem)/1 var(--serif);letter-spacing:.1em}
.brand span{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase}
.eyebrow{margin:0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{color:var(--navy)}
h1{max-width:850px;margin:0;font:400 clamp(6rem,13vw,13rem)/.76 var(--serif);letter-spacing:-.075em;text-transform:uppercase}
h1 em{color:var(--baby-blue);font-weight:400;text-transform:none}
.philosophy-block{max-width:430px;display:grid;gap:clamp(20px,2.2vw,32px)}
.intro{max-width:430px;margin:0;font:400 clamp(1.75rem,2.8vw,3.15rem)/1.06 var(--serif);letter-spacing:-.03em}
.intro cite{display:block;margin-top:1.1rem;font:500 .62rem/1.2 var(--sans);letter-spacing:.17em;text-transform:uppercase;font-style:normal}
.edone-belief{max-width:390px;margin:0;font-size:clamp(.82rem,1vw,.94rem);line-height:1.55;letter-spacing:.015em}
.opening{margin:0;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}
.contact{width:100%;padding:14px 0;background:none;color:inherit;border:0;border-top:1px solid rgba(8,26,52,.45);border-bottom:1px solid rgba(8,26,52,.45);font:400 clamp(1.05rem,1.5vw,1.35rem)/1.2 var(--serif);text-align:left;cursor:pointer;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.contact:hover{color:var(--oxblood)}
.aside{min-height:100svh;padding:clamp(28px,4vw,64px) clamp(26px,3.4vw,58px) clamp(30px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;gap:48px;background:var(--baby-blue);color:var(--navy);border-left:1px solid rgba(184,190,195,.8)}
.aside-head{display:grid;gap:16px}
.location{display:grid;gap:7px;margin:0;font-size:.68rem;letter-spacing:.18em;text-decoration:none;text-transform:uppercase}
.location small{font-size:.58rem;letter-spacing:.09em;opacity:.72}
.location:hover small{opacity:1;color:var(--oxblood)}
.aside-foot{display:grid;gap:28px}
.launch-row{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:stretch;gap:20px}
.qr{width:84px;height:84px;padding:7px;display:block;background:var(--linen);border:1px solid rgba(8,26,52,.35)}
.qr img{display:block;width:100%;height:100%}

.launch-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100svh - 32px);padding:clamp(24px,4vw,48px);overflow:auto;background:var(--linen);color:var(--navy);border:1px solid var(--silver)}
.launch-dialog::backdrop{background:rgba(24,2,3,.77);backdrop-filter:blur(5px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dialog-top p,.dialog-top button,.form-note{margin:0;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}
.dialog-top button{padding:0;background:none;color:inherit;border:0;border-bottom:1px solid currentColor;cursor:pointer}
.dialog-copy{margin:clamp(62px,11vh,105px) 0 56px}
.dialog-copy h2{margin:0 0 28px;font:400 clamp(4rem,10vw,7rem)/.78 var(--serif);letter-spacing:-.065em;text-transform:uppercase}
.dialog-copy h2 em{color:var(--oxblood);font-weight:400;text-transform:none}
.dialog-copy>p{max-width:410px;margin:0;font:400 1.1rem/1.4 var(--serif)}
#launch-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 18px}
#launch-form label{display:grid;gap:8px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
#launch-form input{width:100%;padding:10px 0;background:transparent;color:var(--navy);border:0;border-bottom:1px solid var(--silver);border-radius:0;outline:0}
#launch-form input:focus{border-color:var(--oxblood)}
#launch-form button{grid-column:1/-1;padding:16px 0;display:flex;justify-content:space-between;background:var(--oxblood);color:var(--linen);border:0;cursor:pointer;font:400 1.15rem/1.2 var(--serif)}
#launch-form button{padding-left:18px;padding-right:18px}
#launch-form button:hover{background:var(--deep)}
.form-note{margin-top:18px;line-height:1.5;opacity:.65}
.calendar-block{margin-top:32px;padding-top:22px;border-top:1px solid var(--silver)}
.calendar-block>p{margin:0 0 12px;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}
.calendar-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calendar-actions a{padding:13px 0;display:flex;justify-content:space-between;gap:18px;color:inherit;border-bottom:1px solid var(--silver);font:400 1rem/1.2 var(--serif);text-decoration:none}
.calendar-actions a:hover{color:var(--oxblood);border-color:var(--oxblood)}

@media(max-width:720px){
  .coming-soon{display:block}
  .message{min-height:72svh;padding:26px 22px 42px}
  h1{font-size:clamp(5.1rem,23vw,8.5rem)}
  .aside{min-height:42svh;padding:30px 22px 34px;gap:58px;border-left:0;border-top:1px solid rgba(184,190,195,.8)}
  .intro{max-width:340px;font-size:clamp(1.65rem,7.6vw,2.65rem)}
  .aside-foot{gap:22px}
  .launch-row{grid-template-columns:76px minmax(0,1fr);gap:16px}.qr{width:76px;height:76px}
  .launch-dialog{padding:24px}.dialog-copy{margin:60px 0 46px}.dialog-copy h2{font-size:clamp(3.6rem,17vw,5.5rem)}
  #launch-form,.calendar-actions{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
