@font-face { font-family:"Beltanira"; src:url("assets/Beltanira-Signature.otf") format("opentype"); font-display:block; }
:root { --red:#dc4059; --orange:#f9bb4d; --green:#45b35d; --blue:#55afd0; --ink:#090909; --muted:#666; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; overflow:hidden; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.page { min-height:100vh; display:flex; flex-direction:column; align-items:center; padding-bottom:28px; position:relative; isolation:isolate; }
.page:before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:0; background:radial-gradient(circle at 50% 18%,rgba(85,175,208,.12),transparent 25%),radial-gradient(circle at 80% 88%,rgba(249,187,77,.09),transparent 22%); animation:ambientIn 1.8s ease-out .1s forwards; }
.color-line { width:100%; height:28px; position:fixed; left:0; right:0; bottom:0; z-index:10; overflow:hidden; background:linear-gradient(115deg,var(--blue) 0 80%,var(--orange) 80% 100%); pointer-events:none; }
main { width:min(1050px, calc(100% - 42px)); flex:1; display:flex; flex-direction:column; align-items:center; text-align:center; padding:38px 0 30px; }
.logo { display:block; width:min(750px, 92vw); height:auto; animation:logoReveal 1.15s cubic-bezier(.2,.8,.2,1) both; }
.message { margin:25px 0 27px; animation:contentReveal .8s cubic-bezier(.2,.8,.2,1) .25s both; }
.message h1 { margin:0 0 28px; font-family:"Beltanira", cursive; font-size:clamp(2rem, 4vw, 3.1rem); font-style:normal; font-weight:400; }
.message h1 span { display:inline-block; max-width:100%; white-space:nowrap; vertical-align:bottom; width:auto; }
.message p { display:inline-block; margin:0; color:var(--ink); font-family:Montserrat, "Segoe UI", Arial, Helvetica, sans-serif; font-size:clamp(1.05rem, 2.2vw, 1.35rem); font-weight:700; letter-spacing:.025em; }
.social { display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; animation:contentReveal .8s cubic-bezier(.2,.8,.2,1) .5s both; }
.social a { display:grid; place-items:center; width:60px; height:60px; border-radius:50%; opacity:0; animation:iconReveal .7s cubic-bezier(.2,.8,.2,1) forwards; transition:transform .25s ease, box-shadow .25s ease; }
.social a:nth-child(1) { animation-delay:.85s; }.social a:nth-child(2) { animation-delay:.98s; }.social a:nth-child(3) { animation-delay:1.11s; }.social a:nth-child(4) { animation-delay:1.24s; }.social a:nth-child(5) { animation-delay:1.37s; }
.social a:hover { transform:translateY(-4px) rotate(-2deg); box-shadow:0 8px 16px rgba(0,0,0,.16); }
.social a span:last-child { display:none; }
.icon { width:100%; height:100%; display:grid; place-items:center; border-radius:50%; color:#fff; border:2px solid rgba(255,255,255,.78); box-shadow:inset 0 0 0 2px rgba(255,255,255,.18); }
.icon svg { width:28px; height:28px; fill:currentColor; shape-rendering:geometricPrecision; }
.social a:hover .icon { transform:translateY(-3px); }
.facebook .icon { background:#287be0; }
.instagram .icon { background:linear-gradient(135deg,#f9c44e,#ee4666 55%,#8c48b8); }
.linkedin .icon { background:#2377ac; }
.twitter .icon { background:#35a9df; }
.youtube .icon { background:#ed1b24; }
footer { width:100%; padding:27px 20px; border-top:1px solid #eee; color:var(--muted); text-align:center; font-size:.82rem; animation:contentReveal .8s cubic-bezier(.2,.8,.2,1) .7s both; }
footer a { color:var(--ink); font-weight:700; }
@keyframes ambientIn { from { opacity:0; } to { opacity:1; } }
@keyframes logoReveal { from { opacity:0; filter:blur(8px); transform:translateY(-14px) scale(.965); } to { opacity:1; filter:blur(0); transform:translateY(0) scale(1); } }
@keyframes contentReveal { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes iconReveal { from { opacity:0; transform:translateY(16px) scale(.82); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
@media (max-width:600px) {
  body { overflow-x:hidden; }
  main { width:calc(100% - 28px); justify-content:center; padding:12px 0 12px; }
  .logo { width:min(88vw, 520px); }
  .message { width:100%; margin:18px 0 22px; }
  .message h1 { font-size:clamp(1.7rem, 7.4vw, 2.55rem); line-height:1.08; }
  .message h1 span { display:inline; white-space:normal; width:auto; }
  .message p { font-size:clamp(.95rem, 4.4vw, 1.2rem); }
  .social { gap:13px; }
  .social a { width:50px; height:50px; }
  .icon svg { width:23px; height:23px; }
  footer { position:fixed; left:0; bottom:22px; z-index:5; padding:10px 8px 11px; background:#fff; font-size:clamp(.62rem, 2.7vw, .7rem); line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
  .color-line { height:20px; }
}
