*{margin:0;padding:0;box-sizing:border-box}
html,body{min-height:100%;background:#1f1d1b;color:#e8e2d3;-webkit-font-smoothing:antialiased}
body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow-x:hidden;font-family:'Inter',-apple-system,sans-serif;min-height:100vh}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at center,rgba(180,140,80,.06) 0%,rgba(31,29,27,0) 65%);pointer-events:none}
.stage{position:relative;width:100%;max-width:560px;text-align:center;z-index:1;display:flex;flex-direction:column;align-items:center;opacity:0;animation:fadeIn 1.4s ease-out forwards}
@keyframes fadeIn{to{opacity:1}}
.signet{margin-bottom:3rem;opacity:.92}
.signet-path-anim{animation:draw 2s cubic-bezier(.65,0,.35,1) .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.signet.pulse{animation:pulse 3s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.92}50%{opacity:.5}}
.input-line{width:100%;background:transparent;border:none;border-bottom:1px solid #e8e2d3;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.7rem;color:#e8e2d3;text-align:center;padding:.9rem 0;letter-spacing:.18em;outline:none;caret-color:#c4955a}
.input-line::placeholder{color:rgba(232,226,211,.18);letter-spacing:.18em}
.input-line:focus{border-bottom-color:#c4955a}
.tagline{margin-top:2.6rem;font-size:.78rem;font-weight:300;line-height:1.6;color:rgba(232,226,211,.55);letter-spacing:.08em;text-transform:lowercase}
.body-text{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;line-height:1.75;color:rgba(232,226,211,.88);text-align:left;margin-bottom:2.5rem}
.body-text p+p{margin-top:1.1rem}
.rules{list-style:none;text-align:left;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;line-height:1.8;color:rgba(232,226,211,.88);margin-bottom:2.5rem}
.rules li{padding-left:1.4rem;position:relative;margin-bottom:.6rem}
.rules li::before{content:'—';position:absolute;left:0;color:#c4955a}
.q-num{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.25em;color:rgba(232,226,211,.45);text-transform:uppercase;margin-bottom:1.5rem}
.q-text{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.55rem;line-height:1.5;color:#e8e2d3;text-align:left;margin-bottom:2rem}
textarea.answer{width:100%;min-height:180px;background:transparent;border:1px solid rgba(232,226,211,.25);color:#e8e2d3;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;line-height:1.6;padding:1.2rem;resize:vertical;outline:none}
textarea.answer:focus{border-color:#c4955a}
.btn{display:inline-block;margin-top:2.5rem;background:transparent;border:none;padding:0;color:rgba(232,226,211,.7);font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:lowercase;cursor:pointer;text-decoration:none;transition:color .4s}
.btn:hover{color:#c4955a}
.legal{position:fixed;bottom:1.2rem;left:0;right:0;text-align:center;font-family:'Inter',sans-serif;font-size:.62rem;letter-spacing:.12em;text-transform:lowercase;opacity:.22;transition:opacity .4s}
.legal a{color:#e8e2d3;text-decoration:none;margin:0 .4rem}
.legal:hover{opacity:.5}
.error{color:#c4955a;font-size:.85rem;margin-top:1rem;font-style:italic}
.fade-out{animation:fadeOut 2s ease-out forwards}
@keyframes fadeOut{to{opacity:0}}
@media (max-width:480px){.input-line{font-size:1.35rem}.body-text,.rules{font-size:1.1rem}.q-text{font-size:1.3rem}}
