:root { --wine:#5c2d41; --rose:#d99aaf; --cream:#fffaf5; --ink:#2d1b24; --line:#ead8df; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; min-height:100vh; color:var(--ink); font-family:Georgia, 'Times New Roman', serif; background:linear-gradient(145deg,#fff7f1,#f9e7e8 48%,#f3dfe5); }
.page-shell { min-height:100vh; display:grid; place-items:center; padding:32px 18px; position:relative; overflow:hidden; isolation:isolate; }
.watermark { position:absolute; inset:0; z-index:-1; opacity:.07; background:radial-gradient(circle at 50% 35%,transparent 0 118px,var(--wine) 119px 121px,transparent 122px), radial-gradient(ellipse at center,transparent 0 20%,var(--wine) 20.4% 20.9%,transparent 21.3%); transform:scale(1.25); }
.link-card { width:min(100%,500px); padding:30px 22px 24px; text-align:center; border:1px solid rgba(255,255,255,.76); border-radius:28px; background:rgba(255,250,245,.82); box-shadow:0 22px 60px rgba(92,45,65,.17); backdrop-filter:blur(9px); }
.brand { margin-bottom:27px; }
.logo-frame { width:86px; height:86px; display:grid; place-items:center; margin:0 auto 13px; border:2px solid var(--wine); border-radius:50%; color:var(--wine); background:var(--cream); font-size:31px; font-weight:700; letter-spacing:-3px; }
.logo-frame.has-original-logo { width:min(100%,300px); height:228px; margin:-8px auto 18px; padding:3px 4px 5px; border:0; border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 8px 20px rgba(92,45,65,.10); }
.logo-frame.has-original-logo img { width:100%; height:100%; object-fit:contain; object-position:center; transform:translateY(6px); }
.eyebrow { margin:0 0 7px; color:var(--wine); font-family:'Segoe Script','Brush Script MT',cursive; font-size:clamp(1.25rem,5vw,1.65rem); font-weight:600; line-height:1; }
.tagline { max-width:25ch; margin:0 auto; color:#4d303d; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1rem,3.8vw,1.12rem); line-height:1.5; }
.links { display:grid; gap:12px; }
.link-button { min-height:60px; display:grid; grid-template-columns:32px minmax(0,1fr) 72px; align-items:center; padding:12px 18px; color:var(--wine); border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.86); box-shadow:0 5px 15px rgba(92,45,65,.07); font-family:ui-rounded,system-ui,sans-serif; font-weight:700; text-align:left; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.link-button:hover,.link-button:focus-visible { transform:translateY(-2px); background:#fff; box-shadow:0 10px 22px rgba(92,45,65,.14); outline:3px solid rgba(217,154,175,.45); outline-offset:2px; }
.icon { font-size:1.4rem; }.arrow { text-align:right; font-size:1rem; line-height:1.1; white-space:nowrap; }.is-coming { opacity:.65; cursor:default; }
footer { margin-top:24px; color:#8a6875; font-family:ui-rounded,system-ui,sans-serif; font-size:.72rem; }
@media (min-width:700px) { .page-shell { padding:54px; } .link-card { padding:38px 38px 28px; } .logo-frame.has-original-logo { width:320px; height:243px; padding:3px 5px 6px; } .link-button { min-height:64px; } }
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }
