:root{
  --navy:#08213b;
  --navy-2:#113658;
  --cream:#fff8e9;
  --cream-2:#f8efdc;
  --gold:#f4d27b;
  --text:#16263b;
}
*{box-sizing:border-box}
html{min-height:100%;background:linear-gradient(180deg,var(--navy),var(--navy-2))}
body{
  margin:0;
  min-height:100vh;
  background:linear-gradient(180deg,var(--navy) 0%,#0d2a47 52%,#102b46 100%);
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
.coming-page{position:relative;min-height:100vh;z-index:1}
.site-header{position:relative;z-index:2;padding:22px clamp(18px,4vw,56px)}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.brand-mark{
  display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  border:3px solid rgba(255,255,255,.92);background:rgba(255,255,255,.08);
  backdrop-filter:blur(6px);font-weight:900;letter-spacing:.05em;
}
.brand-copy{display:flex;flex-direction:column}
.brand-copy strong{font-size:1.25rem;line-height:1.1}
.brand-copy small{margin-top:5px;color:#f1ead7;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hero-image-section{
  position:relative;
  width:min(560px,calc(100% - 18px));
  margin:0 auto;
}
.hero-figure{
  margin:0;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  background:#e9eef3;
}
.hero-image{
  width:100%;
  height:auto;
}
.message-section{
  width:min(760px,calc(100% - 18px));
  margin:0 auto;
  padding:18px 0 28px;
}
.message-card{
  background:linear-gradient(180deg,var(--cream),var(--cream-2));
  color:var(--text);
  border-radius:26px;
  padding:28px clamp(22px,4vw,38px);
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.eyebrow{margin:0 0 12px;color:#9d6c12;font-size:.86rem;font-weight:900;letter-spacing:.22em}
.message-card h2{
  margin:0;max-width:760px;font-family:"Trebuchet MS",Arial,sans-serif;
  font-size:clamp(2.2rem,5vw,4.2rem);line-height:.98;letter-spacing:-.04em;text-wrap:balance;
}
.intro{max-width:900px;margin:16px 0 0;color:#33445b;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.75}
.status-pill{
  display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 17px;
  border:1px solid rgba(11,39,64,.18);border-radius:999px;background:#fffef8;color:#203247;
  box-shadow:0 12px 30px rgba(0,0,0,.08);font-size:.92rem;font-weight:800;
}
.status-dot{width:10px;height:10px;border-radius:50%;background:#65ce92;box-shadow:0 0 14px rgba(101,206,146,.85)}
.site-footer{
  width:min(760px,calc(100% - 18px));margin:0 auto;display:flex;justify-content:space-between;gap:20px;
  padding:0 2px 26px;color:#dfe7ee;font-size:.82rem;font-weight:800;letter-spacing:.04em;
}
.page-snow{
  position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.42;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1.5px,transparent 1.9px),
    radial-gradient(circle,rgba(255,255,255,.72) 0 1px,transparent 1.35px),
    radial-gradient(circle,rgba(255,255,255,.58) 0 .8px,transparent 1.15px);
  background-size:170px 170px,240px 240px,320px 320px;
  background-position:20px 20px,90px 0,50px 85px;
  filter:blur(.15px);animation:snowfallPage 22s linear infinite;
}
@keyframes snowfallPage{from{transform:translateY(-7vh)}to{transform:translateY(9vh)}}
.entry-splash{position:fixed;inset:0;z-index:20;overflow:hidden;animation:entryFadeOut 1.25s ease 4.9s forwards}
.entry-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}
.entry-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,19,34,.12) 0%,rgba(5,19,34,.22) 45%,rgba(5,19,34,.34) 100%)}
.entry-snow{position:absolute;inset:-12vh -8vw 0;pointer-events:none}
.entry-snow-back{
  opacity:.36;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.82) 0 1.1px,transparent 1.45px),
    radial-gradient(circle,rgba(255,255,255,.64) 0 .8px,transparent 1.15px);
  background-size:190px 190px,280px 280px;background-position:10px 10px,120px 30px;filter:blur(.35px);animation:snowDriftBack 15s linear infinite;
}
.entry-snow-mid{
  opacity:.55;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1.5px,transparent 1.9px),
    radial-gradient(circle,rgba(255,255,255,.75) 0 1px,transparent 1.35px);
  background-size:150px 150px,230px 230px;background-position:30px 0,110px 60px;filter:blur(.2px);animation:snowDriftMid 11s linear infinite;
}
.entry-snow-front{
  opacity:.75;
  background-image:
    radial-gradient(circle,#fff 0 2.2px,transparent 2.7px),
    radial-gradient(circle,rgba(255,255,255,.95) 0 1.4px,transparent 1.8px),
    radial-gradient(circle,rgba(255,255,255,.72) 0 .95px,transparent 1.3px);
  background-size:120px 120px,180px 180px,250px 250px;background-position:0 0,70px 45px,35px 90px;filter:blur(.1px);animation:snowDriftFront 8s linear infinite;
}
.entry-copy{
  position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:100%;padding:28px;text-align:center;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.28);
}
.entry-mark{
  display:grid;place-items:center;width:72px;height:72px;margin-bottom:18px;border:3px solid rgba(255,255,255,.92);
  border-radius:50%;background:rgba(5,19,34,.18);backdrop-filter:blur(7px);font-weight:900;font-size:1.35rem;letter-spacing:.05em;
}
.entry-kicker{margin:0;color:#fff4cf;font-size:.82rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase}
.entry-copy h1{margin:14px 0 0;max-width:900px;font-family:"Trebuchet MS",Arial,sans-serif;font-size:clamp(2.6rem,6vw,5.8rem);line-height:.96;letter-spacing:-.04em;text-wrap:balance}
.entry-splash.is-hidden{display:none}
@keyframes entryFadeOut{to{opacity:0;visibility:hidden}}
@keyframes snowDriftBack{from{transform:translate3d(0,-10vh,0)}to{transform:translate3d(-2vw,10vh,0)}}
@keyframes snowDriftMid{from{transform:translate3d(0,-12vh,0)}to{transform:translate3d(1.6vw,12vh,0)}}
@keyframes snowDriftFront{from{transform:translate3d(0,-14vh,0)}to{transform:translate3d(-1.2vw,14vh,0)}}
@media(max-width:760px){
  .site-header{padding:18px 14px}
  .brand-mark{width:48px;height:48px}
  .brand-copy strong{font-size:1.12rem}
  .brand-copy small{max-width:220px;font-size:.57rem;line-height:1.45}
  .hero-image-section,.message-section,.site-footer{width:calc(100% - 12px)}
  .hero-figure{border-radius:18px}
  .message-section{padding-top:12px}
  .message-card{padding:22px 18px 24px;border-radius:20px}
  .message-card h2{font-size:clamp(2rem,9vw,3.1rem)}
  .intro{font-size:1rem;line-height:1.65}
  .status-pill{font-size:.82rem;padding:11px 14px}
  .site-footer{padding-bottom:22px}
  .entry-copy{padding:24px 18px}
  .entry-copy h1{font-size:clamp(2.2rem,11vw,3.7rem)}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;scroll-behavior:auto!important}
  .entry-splash{display:none}
}
