/* Cierre: mensaje central sobre fondo negro, dos logos como marca de agua */
  :root{
    --paper:#0F0C09; --ink:#F3EFE6; --gold:#D8B56B; --gold-deep:#B4893D; --muted:#B9B0A0; --line:rgba(216,181,107,.35);
    --wm-op:.12;
    color-scheme:dark;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{box-sizing:inherit;margin:0;padding:0}
  html,body{min-height:100%}
  body{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .stage{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;isolation:isolate;
    padding-block:64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
    background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(216,181,107,.10),transparent 70%),var(--paper)}
  .wm{position:absolute;z-index:-1;border-radius:50%;opacity:var(--wm-op);pointer-events:none;user-select:none;
    -webkit-mask-image:radial-gradient(circle,#000 62%,transparent 71%);mask-image:radial-gradient(circle,#000 62%,transparent 71%)}
  .wm-esencia{width:min(78vmin,700px);left:max(-12vmin,-120px);top:50%;transform:translateY(-52%)}
  .wm-lab{width:min(70vmin,620px);right:max(-10vmin,-100px);top:50%;transform:translateY(-44%);opacity:calc(var(--wm-op) + .06)}
  .msg{position:relative;max-width:980px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3vw,30px)}
  .eyebrow{font-size:clamp(12px,1.5vw,14px);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
  h1{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-.02em;line-height:1.02;text-wrap:balance;font-size:clamp(2.7rem,9vw,7rem)}
  h1 em{display:block;font-style:italic;font-weight:400;color:var(--gold);margin-top:.12em}
  .rule{width:min(240px,50%);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);position:relative}
  .rule::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;background:var(--paper);border:1px solid var(--gold);transform:translate(-50%,-50%) rotate(45deg)}
  .thanks{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.25rem,3.4vw,2.1rem);line-height:1.35;text-wrap:balance;max-width:24ch;color:var(--ink)}
  .sign{font-size:clamp(12px,1.5vw,14px);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .sign b{color:var(--gold);font-weight:500}
  .msg>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .msg>*:nth-child(2){animation-delay:.12s}.msg>*:nth-child(3){animation-delay:.24s}.msg>*:nth-child(4){animation-delay:.36s}.msg>*:nth-child(5){animation-delay:.48s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @media (max-width:700px){
    .wm-esencia{width:88vw;left:-30vw;top:6%;transform:none}
    .wm-lab{width:84vw;right:-28vw;top:auto;bottom:4%;transform:none}
  }
  #sparks{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
  @media (max-width:380px){.stage{padding-block:48px}.sign{letter-spacing:.08em}}
  @media (min-width:1600px){.msg{max-width:1200px}}
  @media (max-height:520px) and (orientation:landscape){
    .stage{padding-block:28px}.msg{gap:12px}
    h1{font-size:clamp(1.9rem,12vh,3.4rem)}.thanks{font-size:clamp(1rem,5vh,1.4rem);max-width:none}
    .wm-esencia{width:70vh}.wm-lab{width:64vh}
  }
  @media (prefers-reduced-motion:reduce){.msg>*{animation:none}}
