:root{
  --ivory:#F6F1E7;--ivory-2:#EFE7D8;--ink:#2A211C;--ink-dim:rgba(42,33,28,.68);
  --gold:#B8924A;--gold-lit:#D6B36E;--wine:#7A2E3B;--hair:rgba(42,33,28,.16);
  --display:'Cormorant Garamond',Georgia,serif;--ui:'Jost',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--ivory);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(1200px 600px at 50% -10%,#fff8 0,transparent 70%),radial-gradient(800px 500px at 100% 100%,#d6b36e22,transparent 70%);}
.gate{min-height:100svh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.card{width:min(420px,100%);text-align:center;padding:40px 28px 32px;background:#fffdf9;border:1px solid var(--hair);
  border-radius:20px;box-shadow:0 30px 60px -30px #2a211c55,0 0 0 8px #fffdf9,0 0 0 9px var(--hair);position:relative;z-index:1;
  animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
h1{font-family:var(--display);font-weight:600;font-size:clamp(34px,9vw,44px);margin:0;line-height:1.05;letter-spacing:.01em}
.amp{font-style:italic;font-weight:400;color:var(--wine);padding:0 4px}
.years{font-family:var(--display);font-style:italic;font-size:20px;margin:10px 0 0;color:var(--ink-dim)}
.years span{font-style:normal;font-weight:600;letter-spacing:.12em;color:var(--gold)}
.lead{font-size:14px;color:var(--ink-dim);margin:22px 0 20px;line-height:1.5}
.field{display:flex;align-items:center;border:1px solid var(--hair);border-radius:12px;background:var(--ivory);padding:0 6px 0 14px;
  transition:border-color .2s,box-shadow .2s}
.field:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px #b8924a22}
.field input{flex:1;border:0;background:transparent;font:16px var(--ui);padding:14px 0;outline:0;color:var(--ink);min-width:0}
.field button{border:0;background:transparent;font-size:18px;padding:8px;cursor:pointer;opacity:.6}
.btn{margin-top:14px;width:100%;border:0;border-radius:12px;padding:15px;font:500 15px var(--ui);letter-spacing:.06em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--wine),#9a3d4d);color:#fff;cursor:pointer;box-shadow:0 12px 24px -12px var(--wine);transition:transform .15s,box-shadow .2s}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6}
.err{margin:12px 0 0;color:var(--wine);font-size:13px}
.foot{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:var(--display);font-style:italic;color:var(--ink-dim);font-size:15px}
.shake{animation:shake .4s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.petals{position:absolute;inset:0;pointer-events:none}
.petals i{position:absolute;top:-20px;width:10px;height:14px;border-radius:60% 60% 60% 60%/70% 70% 40% 40%;background:var(--gold-lit);opacity:.55;
  animation:fall linear infinite}
@keyframes fall{to{transform:translateY(110vh) rotate(540deg)}}
