:root { --cream:#faf5ed; --ink:#2a0d0e; --rose:#f1e4dc; --wine:#602a2b; --rope:#b38b74; }
* { box-sizing:border-box; }
html, body { height:100%; }
body { margin:0; background:var(--ink); }
.coming-soon { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; display:grid; place-items:center; padding:25px clamp(23px,4.2vw,64px); background:radial-gradient(ellipse at 50% 46%,#faf4ee 0%,var(--rose) 72%,#e7d2c8 100%); }
.atmosphere { display:none; }
.atmosphere i { position:absolute; display:block; width:128%; height:18%; border-radius:50%; border:clamp(28px,4.2vw,76px) solid var(--rope); border-left-color:#89614e; border-bottom-color:#8a6251; box-shadow:inset 0 0 17px rgba(62,33,26,.85),0 2px 13px rgba(0,0,0,.72); }
.atmosphere i:after { content:""; position:absolute; inset:clamp(-7px,-.5vw,-3px); border-radius:inherit; border-top:2px dashed rgba(244,215,183,.48); border-bottom:2px dashed rgba(64,34,27,.42); }
.atmosphere i:nth-child(1) { left:-15%; top:3%; transform:rotate(9deg); }.atmosphere i:nth-child(2) { left:-5%; top:39%; transform:rotate(-5deg); }.atmosphere i:nth-child(3) { left:-12%; top:76%; transform:rotate(7deg); }
.vignette { position:absolute; inset:16px; z-index:-1; border:1px solid rgba(96,42,43,.15); pointer-events:none; }
.identity { width:min(540px,74vw); text-align:center; transform:translateY(-8px); }.identity img { display:block; width:100%; height:auto; }.identity p { margin:22px 0 0; color:var(--wine); font:10px "DM Mono",monospace; letter-spacing:.23em; text-transform:uppercase; }
footer { position:absolute; left:clamp(23px,4.2vw,64px); right:clamp(23px,4.2vw,64px); bottom:25px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:rgba(96,42,43,.78); font:10px "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }footer a { color:inherit; text-decoration:none; transition:color .2s; }footer a:hover { color:var(--ink); }footer a:last-child { justify-self:end; }footer p { display:flex; align-items:center; gap:10px; margin:0; }footer p span { width:21px; height:1px; background:var(--wine); }
@media(max-width:600px) { .coming-soon { padding:20px; }.identity { width:min(410px,84vw); }.identity p { font-size:8px; letter-spacing:.17em; margin-top:16px; }footer { left:20px; right:20px; bottom:19px; font-size:8px; }footer a:first-child { display:none; }footer { grid-template-columns:1fr auto; }footer p { justify-self:start; } }
