:root{color-scheme:light;--burgundy:#651829;--wine:#401223;--gold:#b6894d;--ink:#603724;--cream:#f1dfbd}*{box-sizing:border-box}html{background:#18080e}body{margin:0;min-height:100vh;font-family:Georgia,'Times New Roman',serif;color:var(--cream);background:radial-gradient(ellipse at 50% 5%,#542039,#2d0f20 46%,#130810 100%);overflow-x:hidden}.glow{pointer-events:none;position:fixed;inset:0;background:radial-gradient(circle at 50% 47%,#d3934031,transparent 65%),repeating-linear-gradient(110deg,transparent 0 67px,#d5a56a08 68px 69px);opacity:.8}.app-shell{position:relative;width:100%;padding:12px 12px 10px;margin:auto;display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 42px);justify-content:center}.stage{width:100%;display:flex;flex-direction:column;align-items:center;animation:appear .5s both}.stage[hidden],[hidden]{display:none!important}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}.for-person{font-size:11px;letter-spacing:2.2px;text-align:center;margin:0 0 12px;color:#d9b079;line-height:1.7}.for-person strong{display:block;font-size:16px;letter-spacing:.8px;color:#f3dca7;margin:3px 0 0;font-weight:normal;text-transform:uppercase}.poster-frame{position:relative;width:min(100%,480px);margin:0 auto;filter:drop-shadow(0 20px 34px #0e030ab9);border-radius:3px}.poster{width:100%;height:auto;display:block}.poster-spin{position:absolute;left:12%;top:58.1%;width:76%;height:8.7%;border:0;background:transparent;cursor:pointer;border-radius:16px;transition:box-shadow .2s,transform .2s}.poster-spin:hover{box-shadow:0 0 28px #ffe19e91,inset 0 0 13px #ffe5af44}.poster-spin:active{transform:scale(.985)}.poster-spin:disabled{cursor:wait;opacity:.4}.poster-sound{position:absolute;left:31%;top:85.9%;width:40%;height:7.2%;border:0;background:transparent;cursor:pointer;border-radius:24px}.poster-sound-dot{display:block;position:absolute;right:0;top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:#3d874d;box-shadow:0 0 0 2px #fae4ad,0 0 9px #2b5d2d}.poster-sound.muted .poster-sound-dot{background:#9c3641;box-shadow:0 0 0 2px #fae4ad}.poster-spin:focus-visible,.poster-sound:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #f4d495;outline-offset:3px}.loading-screen{text-align:center;color:#ecd4a4}.loading-sigil{display:block;font-size:76px;animation:pulse 2s ease-in-out infinite}.loading-screen p{font-size:18px;font-style:italic}.ritual-paper{width:min(100%,505px);min-height:785px;position:relative;color:var(--ink);background-color:#f1ddbb;background-image:url('assets/pergamino_cabecera.webp'),url('assets/pergamino_pie.webp'),url('assets/pergamino_cuerpo.webp');background-position:center top,center bottom,center top;background-size:100% auto,100% auto,100% auto;background-repeat:no-repeat,no-repeat,repeat-y;box-shadow:0 10px 45px #050104c0,0 0 0 1px #92713f55;padding:0 54px 60px}.paper-body{padding-top:clamp(159px,34vw,198px);display:flex;flex-direction:column;align-items:center;text-align:center}.paper-eyebrow{font-size:10px;letter-spacing:2px;color:#916a3b;margin:1px 0 8px}.paper-body h2{font-size:clamp(21px,4.7vw,29px);color:#681f2e;font-weight:normal;line-height:1.3;margin:6px 0 10px;font-style:italic}.paper-copy{font-size:14px;line-height:1.5;color:#7b5237;margin:9px 0 12px}.wheel-frame{width:min(300px,100%);aspect-ratio:1;margin:14px auto;position:relative;display:grid;place-items:center}.wheel-ring{position:absolute;inset:-7px;border-radius:50%;border:2px solid #9a6b33;box-shadow:0 0 0 4px #ae825066,0 0 19px #b58a4c70;pointer-events:none}.wheel-pointer{z-index:5;position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:31px solid #bd9045;filter:drop-shadow(0 2px 2px #3d1820)}.roulette-wheel{width:100%;height:100%;border-radius:50%;background:#552336;filter:drop-shadow(0 7px 7px #59332777);will-change:transform}.wheel-hub{z-index:4;position:absolute;width:56px;height:56px;border:3px double #cba45d;border-radius:50%;display:grid;place-items:center;font-size:28px;color:#e5c785;background:radial-gradient(circle at 30% 25%,#963c48,#511629 75%);pointer-events:none}.paper-verse{font-size:14px;font-style:italic;color:#78523a;margin:11px 0 6px}.sound-control{color:#69283a;border:1px solid #ba965b;background:#f0d9b7db;font:12px Georgia,serif;padding:7px 12px;margin:13px auto 0;cursor:pointer}.sound-control:hover{background:#ead0a4}.seat-medallion{width:138px;height:138px;border:2px solid #ae8243;border-radius:50%;outline:1px solid #c59d58;outline-offset:5px;background:radial-gradient(circle,#fff2d7,#ead0a5);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:17px 0 7px;box-shadow:0 5px 14px #8e582d32}.seat-medallion span{font-size:11px;letter-spacing:3px;color:#946a3a}.seat-medallion strong{font-size:69px;font-weight:normal;color:#681a30;line-height:1.1}.character-result{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#783c32;margin:9px 0 5px}.rule-decoration{font-size:19px;color:#a87942;width:75%;margin:0 auto 7px;display:flex;align-items:center;gap:10px}.rule-decoration:before,.rule-decoration:after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#a87942)}.rule-decoration:after{transform:rotate(180deg)}.result-message{font-size:13px;line-height:1.6;color:#784f36;margin:0 0 14px}.table-title{font-size:11px;letter-spacing:2px;color:#956939;margin:3px 0 11px}.seat-plan{width:250px;display:grid;grid-template-columns:47px 105px 47px;grid-template-rows:35px repeat(3,49px);column-gap:20px;row-gap:6px;place-items:center;margin:0 auto 8px}.camus-chair{grid-column:2;grid-row:1;align-self:center;width:97px;min-height:29px;padding:7px 5px;background:#602135;color:#f2d39e;border:2px solid #bd9656;border-radius:9px 9px 5px 5px;box-shadow:0 2px 5px #48231d45;font-size:11px;letter-spacing:1.4px;display:flex;align-items:center;justify-content:center;gap:7px}.camus-chair span{font-size:14px;color:#d5b16d}.chair{width:46px;height:42px;border:1.5px solid #aa7d41;background:#f0ddba;border-radius:10px;display:grid;place-items:center;color:#856037;font-size:21px}.chair.chosen{background:#642238;border:2px solid #c69a5c;color:#f8dfae;box-shadow:0 0 0 4px #c5a26277}.s-I,.s-II,.s-III{grid-column:1}.s-IV,.s-V,.s-VI{grid-column:3}.s-I,.s-IV{grid-row:2}.s-II,.s-V{grid-row:3}.s-III,.s-VI{grid-row:4}.table-surface{grid-row:2/5;grid-column:2;width:100px;height:160px;border-radius:46px;border:4px double #a67c3d;background:linear-gradient(125deg,#eddbb6,#e0c498);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;letter-spacing:1px;color:#825d39}.table-surface b{font-weight:normal;font-size:30px;color:#ad874a}.paper-disclaimer{max-width:255px;font-size:12px;color:#8e7149;line-height:1.55;margin:10px auto 0}.result-body{padding-bottom:10px}.error-body{min-height:550px;justify-content:center}.ritual-button{background:linear-gradient(#792d3a,#4b1629);color:#f3dca7;border:2px solid #b48a4c;padding:16px 18px;font:14px Georgia,serif;letter-spacing:1px;cursor:pointer;margin-top:17px}.footnote{position:relative;margin:0 auto 13px;text-align:center;color:#b88b54;font-size:10px;letter-spacing:2px;line-height:1.7}.demo-toolbar{position:relative;z-index:8;width:min(100%,505px);margin:0 auto 12px;padding:14px;background:#f0dfbf;color:#66321f;border:2px solid #b68a4b;box-shadow:0 4px 12px #12050a;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.demo-toolbar strong{font-size:11px;letter-spacing:1px;color:#662239}.demo-toolbar label{font-size:12px}.demo-toolbar select{padding:8px 6px;background:#fff3df;color:#5a1d33;border:1px solid #b59257;font:13px Georgia,serif;max-width:250px}.demo-toolbar button{padding:9px;color:#ffe1b1;background:#69263c;border:1px solid #a0784c;cursor:pointer}.demo-toolbar p{width:100%;font-size:11px;line-height:1.5;margin:1px 0 0;text-align:center}.loading-screen{min-height:500px;display:flex;align-items:center;justify-content:center;flex-direction:column}@keyframes pulse{50%{transform:scale(1.08);opacity:.6}}@media(max-width:430px){.app-shell{padding:6px 5px}.for-person{margin:6px 0 9px;font-size:10px;letter-spacing:1.3px}.for-person strong{font-size:13px}.ritual-paper{padding:0 36px 43px;min-height:770px}.paper-body{padding-top:clamp(153px,37vw,172px)}.paper-body h2{font-size:22px}.wheel-frame{width:min(274px,100%)}.seat-medallion{width:115px;height:115px}.seat-medallion strong{font-size:56px}.seat-plan{transform:scale(.91);transform-origin:top center;margin-bottom:-8px}.paper-disclaimer{margin-top:0}.result-message{font-size:12px}}@media(max-width:350px){.ritual-paper{padding:0 31px 44px}.paper-body{padding-top:145px}.wheel-frame{width:246px}.seat-plan{transform:scale(.83);margin-bottom:-22px}.paper-copy{font-size:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001s!important;scroll-behavior:auto!important}}

/* ── Versión 3: juramento, lacre, orbe y cuenta atrás ── */
.oath-body{min-height:730px;padding-bottom:30px}
.oath-emblem{font-size:54px;line-height:1;color:#9b713c;text-shadow:0 3px 3px #bc8e522b;margin:6px 0 12px}
.oath-invitee{margin:3px 0 14px;color:#792a3c;font-size:13px;text-transform:uppercase;letter-spacing:1px;line-height:1.4}
.oath-text{padding:8px 14px;border-top:1px solid #ae854d80;border-bottom:1px solid #ae854d80;margin:7px 0 14px;max-width:325px;color:#67462f}
.oath-text p{font-size:15px;font-style:italic;line-height:1.5;margin:10px 0}
.oath-question{font-size:16px;color:#70263a;line-height:1.45;font-style:italic;margin:1px 0 13px;max-width:290px}
.wax-seal{position:relative;width:135px;height:135px;border:0;border-radius:46% 54% 51% 49% / 55% 44% 56% 45%;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-5deg);color:#eac98c;background:
 radial-gradient(ellipse at 30% 26%,#b54c56,#83162d 57%,#4a0c25 100%);
 box-shadow:inset 0 0 0 8px #521329a8,inset 0 0 0 11px #d28b64ab,inset 0 0 0 15px #53172b70,inset -11px -10px 18px #2e061b9a,0 9px 12px #5a2b2d65,0 0 0 5px #b8805177;
 transition:transform .2s,filter .2s}
.wax-seal:hover:not(:disabled){transform:rotate(-5deg) scale(1.055);filter:brightness(1.12)}
.wax-seal:active:not(:disabled){transform:rotate(-5deg) scale(.96)}
.wax-seal:before,.wax-seal:after{content:'';position:absolute;background:linear-gradient(135deg,#d7977278,#6b1627 50%,#270417);border-radius:50%;z-index:-1}
.wax-seal:before{width:44px;height:49px;top:-5px;left:7px;transform:rotate(32deg)}
.wax-seal:after{width:49px;height:40px;bottom:-7px;right:8px}
.wax-insignia{font-size:52px;line-height:1;text-shadow:0 2px 2px #390b1a,0 -1px 0 #f9d2a6}
.wax-word{font-size:14px;letter-spacing:2px;margin-top:10px;text-shadow:0 1px #320b13}
.wax-seal.breaking{animation:seal-break .7s ease-out both;pointer-events:none}
.wax-seal.breaking:before{animation:seal-fragment-left .65s ease-in forwards}
.wax-seal.breaking:after{animation:seal-fragment-right .65s ease-in forwards}
@keyframes seal-break{35%{transform:rotate(9deg) scale(1.12);filter:brightness(1.5)}100%{transform:rotate(-20deg) scale(.5);opacity:0;filter:blur(7px)}}
@keyframes seal-fragment-left{to{transform:translate(-80px,-60px) rotate(-40deg)}}
@keyframes seal-fragment-right{to{transform:translate(80px,70px) rotate(50deg)}}
.seal-hint{margin:17px 0 4px;color:#936a46;font-size:12px;font-style:italic;letter-spacing:.4px}
.prophecy{margin:19px auto 12px;width:100%;max-width:325px;padding:14px 14px 13px;border-top:1px solid #ad8c5a;border-bottom:1px solid #ad8c5a;background:linear-gradient(90deg,transparent,#a87b4120 50%,transparent)}
.prophecy .paper-eyebrow{margin:0 0 8px}
.prophecy-text{font-size:14px;line-height:1.58;font-style:italic;color:#6c3940;margin:0}
.ritual-orb{width:100%;margin:9px auto 15px;padding-top:15px;border-top:1px solid #c6a26a83;text-align:center}
.ritual-orb .paper-eyebrow{margin-bottom:3px}
.orb-art{width:196px;height:196px;position:relative;margin:2px auto 0;border-radius:50%;display:grid;place-items:center;isolation:isolate;
 background:radial-gradient(circle at 38% 30%,#8a344cb0,#3e1425 52%,#240a16 74%,#a7784099 75%,#38202c 78%,transparent 80%);
 filter:drop-shadow(0 6px 5px #421e2580)}
.orb-art:before{content:'';position:absolute;inset:17px;border:2px double #bd945d;border-radius:50%;box-shadow:inset 0 0 32px #14060c,0 0 9px #b88b5d55;z-index:-1}
.orb-art:after{content:'';position:absolute;inset:34px;border-radius:50%;border:1px solid #9a5f5499;box-shadow:0 0 19px #d3915b22}
.orb-core{font-size:43px;line-height:1;color:#a97b66;text-shadow:0 0 9px #5b2d38;transition:color 1s,text-shadow 1s,transform 1s}
.orb-aura{position:absolute;inset:-7px;border-radius:50%;box-shadow:0 0 0 #d7b173;pointer-events:none;transition:box-shadow 1.2s}
.orb-seal{position:absolute;left:calc(50% - 11px);top:calc(50% - 11px);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#3d1727;border:1px solid #936844;color:#7e5b4f;font-size:13px;box-shadow:0 1px 3px #0008;transition:background .65s,color .65s,box-shadow .65s,transform .65s}
.orb-s1{transform:translate(0,-74px)}.orb-s2{transform:translate(63px,-38px)}.orb-s3{transform:translate(63px,38px)}
.orb-s4{transform:translate(0,74px)}.orb-s5{transform:translate(-63px,38px)}.orb-s6{transform:translate(-63px,-38px)}
.orb-seal.lit{color:#ffe2a4;background:#792c39;box-shadow:0 0 11px 4px #efad5c8a,0 0 2px #fff}
.ritual-orb.awakened .orb-aura{box-shadow:0 0 16px 6px #e2af6280,0 0 36px 10px #e7ba694d;animation:orb-breathe 3.8s ease-in-out infinite}
.ritual-orb.awakened .orb-core{color:#f9cd84;text-shadow:0 0 11px #f9d492,0 0 25px #edaa61;transform:scale(1.2)}
@keyframes orb-breathe{50%{box-shadow:0 0 23px 9px #f3b66eab,0 0 45px 17px #e9b36666}}
.orb-status{color:#6d2533;font-size:16px;line-height:1.3;margin:6px auto 3px}
.orb-subtitle{color:#8f6b46;font-size:12px;line-height:1.45;max-width:285px;margin:0 auto}
.countdown-section{width:100%;margin:11px auto 17px;padding-top:14px;border-top:1px solid #c6a26a83}
.countdown-head{margin:0 0 10px;color:#773341;font-size:13px;letter-spacing:.8px}
.countdown-grid{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.countdown-grid>div{padding:9px 1px 8px;min-width:0;border:1px solid #ae8952;background:linear-gradient(#f9e7c6,#e4c999);box-shadow:inset 0 0 0 2px #f1dbb2}
.countdown-grid strong{display:block;color:#651e33;font-size:clamp(20px,5.8vw,29px);font-weight:normal;line-height:1.1;font-variant-numeric:tabular-nums}
.countdown-grid span{display:block;color:#8d6037;font-size:clamp(8px,1.9vw,10px);letter-spacing:.5px;margin-top:5px}
.countdown-date{margin:9px 0 0;color:#8d6037;font-size:12px;letter-spacing:.4px}
.countdown-end{max-width:285px;margin:11px auto;font-style:italic;font-size:17px;line-height:1.4;color:#71243a}
@media(max-width:430px){.oath-body{min-height:690px}.oath-text p{font-size:14px}.oath-question{font-size:15px}.wax-seal{width:115px;height:115px}.wax-insignia{font-size:46px}.wax-word{font-size:12px}.result-body{padding-bottom:30px}.orb-art{transform:scale(.9);margin:-9px auto}.orb-status{font-size:14px}.prophecy-text{font-size:13px}.countdown-grid{gap:4px}}
@media(prefers-reduced-motion:reduce){.wax-seal.breaking{opacity:0}.ritual-orb.awakened .orb-aura{animation:none}}

/* V3.1: cabecera y pie decorativos anclados, textura central repetible.
   El título impreso ya no se desplaza al crecer el contenido del resultado. */
/* Asegura espacio debajo del título impreso incluso en formatos estrechos. */
.paper-body{padding-top:clamp(165px,36vw,205px)}
@media(max-width:430px){.paper-body{padding-top:clamp(150px,40vw,172px)}}
@media(max-width:350px){.paper-body{padding-top:145px}}

/* V3.5: revelación más compacta, permite ver título + asiento + plano. */
#result .paper-body h2{margin:2px 0 4px}
#result .seat-medallion{margin:7px 0 4px}
#result .character-result{margin:5px 0 2px}
#result .rule-decoration{margin-bottom:3px}
#result .result-message{margin-bottom:8px;line-height:1.35}
#result .table-title{margin:3px 0 6px}
@media(max-width:430px){
  #result .seat-medallion{width:105px;height:105px}
  #result .seat-medallion strong{font-size:53px}
  #result .result-message{font-size:11px}
  #result .paper-body h2{font-size:20px}
}


/* V4.1: juramento integrado, sin sombra, usando la misma placa ornamental de la portada. */
.pact-plaque{
  appearance:none;display:grid;place-items:center;position:relative;
  width:min(100%,540px);height:auto;aspect-ratio:703/186;
  margin:6px auto 0;padding:0 48px;border:0;cursor:pointer;
  background:transparent url('assets/placa_juramento_sin_texto_v43.webp') center/100% 100% no-repeat;
  color:#f8dbab;transition:transform .18s ease, filter .18s ease;
  /* Silueta ornamental sin la caja rectangular ni sombras */
  clip-path:polygon(50% 0%,54% 12%,92% 12%,96% 20%,100% 50%,96% 80%,92% 88%,54% 88%,50% 100%,46% 88%,8% 88%,4% 80%,0% 50%,4% 20%,8% 12%,46% 12%);
}
.pact-plaque-caption{
  position:relative;z-index:1;display:block;white-space:nowrap;
  font:normal clamp(16px,3.6vw,24px)/1.05 Georgia,'Times New Roman',serif;
  text-align:center;letter-spacing:.055em;color:#ffdfab;text-shadow:none;
}
.pact-plaque:hover:not(:disabled){transform:scale(1.01);filter:brightness(1.05)}
.pact-plaque:active:not(:disabled){transform:scale(.985)}
.pact-plaque:disabled{cursor:default}
.pact-plaque.breaking{animation:pact-plaque-fade .7s cubic-bezier(.28,.85,.36,1) forwards;pointer-events:none}
@keyframes pact-plaque-fade{35%{filter:brightness(1.12);transform:scale(1.02)}100%{transform:scale(.8);opacity:0;filter:blur(4px)}}

/* V4.0: el Orbe solo se vuelve esmeralda cuando los seis sellos están activos. */
.ritual-orb.awakened .orb-art{
  background:radial-gradient(circle at 35% 27%,#77edbd 0%,#319874 22%,#075742 54%,#013323 73%,#a28146 75%,#19372c 78%,transparent 80%);
  filter:drop-shadow(0 3px 8px #0a6c4799);
  transition:background 1s ease,filter .9s ease;
}
.ritual-orb.awakened .orb-art:before{border-color:#ddc887;box-shadow:inset 0 0 28px #063323,0 0 18px #1fcd84a6}
.ritual-orb.awakened .orb-art:after{border-color:#98f9b8;box-shadow:0 0 20px #51da97a8}
.ritual-orb.awakened .orb-seal.lit{color:#f1ffe9;background:#0e7750;border-color:#d3d798;box-shadow:0 0 12px 5px #6afcaaa9,0 0 3px #fff}
.ritual-orb.awakened .orb-core{color:#d9ffb4;text-shadow:0 0 13px #bcff97,0 0 27px #6dffae;transform:scale(1.23)}
.ritual-orb.awakened .orb-aura{box-shadow:0 0 16px 6px #6dee9f88,0 0 38px 12px #3dc07b85;animation:orb-emerald-breathe 3.6s ease-in-out infinite}
.ritual-orb.awakened .orb-status{color:#13694c;font-weight:bold}
@keyframes orb-emerald-breathe{50%{box-shadow:0 0 22px 10px #62e9aabc,0 0 48px 19px #31d37a69}}
@media (max-width:430px){.pact-plaque{width:min(100%,470px);padding:0 36px}.pact-plaque-caption{font-size:clamp(14px,4.1vw,20px);letter-spacing:.045em}}
@media (max-width:350px){.pact-plaque{padding:0 28px}.pact-plaque-caption{font-size:13px;letter-spacing:.03em}}
@media(prefers-reduced-motion:reduce){.pact-plaque.breaking{opacity:0;animation:none}.ritual-orb.awakened .orb-aura{animation:none}}

/* V4.4: acreditación musical sin interferir con el pergamino. */
.music-credit{display:block;margin:6px auto 0;font-size:10px;letter-spacing:0.02em;opacity:.72}


/* V4.5: única interacción inicial para despertar la música en navegadores móviles. */
.invitation-gate{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer;
  background:linear-gradient(180deg,rgba(19,5,15,.16),rgba(22,4,15,.28) 45%,rgba(14,3,11,.62));
  -webkit-tap-highlight-color:transparent}
.invitation-gate[hidden]{display:none!important}
.invitation-gate-button{cursor:pointer;max-width:360px;width:min(100%,340px);padding:17px 17px 15px;
  display:flex;flex-direction:column;align-items:center;gap:7px;
  border:2px solid #d2ad69;outline:1px solid #754328;outline-offset:4px;
  border-radius:3px;background:linear-gradient(135deg,#7c3444 0%,#481729 52%,#612139 100%);
  color:#fae2b7;box-shadow:0 8px 26px rgba(16,2,9,.66),inset 0 0 0 3px #96643d;
  font-family:Georgia,'Times New Roman',serif;text-align:center;
  transform:translateY(min(19vh,145px));animation:gate-appear .55s ease-out both}
.invitation-gate-button .gate-ornament{font-size:23px;line-height:1;color:#dabc7b}
.invitation-gate-button .gate-heading{font-size:clamp(15px,4vw,19px);line-height:1.28;letter-spacing:1.1px}
.invitation-gate-button .gate-caption{font-size:12px;color:#dfc39b;font-style:italic}
.invitation-gate-button:focus-visible{outline:3px solid #ffe0a3;outline-offset:8px}
.invitation-gate-button:active{transform:translateY(min(19vh,145px)) scale(.98)}
@keyframes gate-appear{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-height:600px){.invitation-gate-button{transform:translateY(38px);padding:11px 15px}}
@media(prefers-reduced-motion:reduce){.invitation-gate-button{animation:none}}
