@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes rspin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes pswing{0%{transform:translate(-50%)rotate(-15deg)}50%{transform:translate(-50%)rotate(15deg)}to{transform:translate(-50%)rotate(-15deg)}}@keyframes spulse{0%,to{opacity:.35}50%{opacity:1}}#hero{text-align:center;background:var(--dark);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:4rem 2rem 6rem;display:flex;position:relative;overflow:hidden}#hero:before{content:"";pointer-events:none;background:radial-gradient(65% 60%,#c8900a12 0%,#0000 70%);position:absolute;inset:0}.h-ring{pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.h-ring-1{border:1px solid #c8900a1a;width:90vmin;height:90vmin;animation:110s linear infinite rspin;transform:translate(-50%,-50%)}.h-ring-2{border:1px dashed #c8900a14;width:66vmin;height:66vmin;animation:75s linear infinite reverse rspin;transform:translate(-50%,-50%)}.h-ring-3{border:1px solid #c8900a21;width:44vmin;height:44vmin;animation:55s linear infinite rspin;transform:translate(-50%,-50%)}.pendulum{transform-origin:top;pointer-events:none;z-index:1;flex-direction:column;height:70%;animation:12s ease-in-out infinite pswing;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.pendulum-trace{transform-origin:top;pointer-events:none;z-index:0;opacity:.18;flex-direction:column;height:70%;animation:12s ease-in-out -.15s infinite pswing;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.p-rod-trace{background:linear-gradient(#0000,#c8900a4d);flex:1;width:3px;margin:0 auto}.p-rod{background:linear-gradient(#0000 0%,#c8900a4d 40%,#c8900ab3 100%);flex:1;width:1px;margin:0 auto}.p-bob{background:radial-gradient(circle at 35% 32%,#fff8e0,#d4971a 45%,#6b3e04);border-radius:50%;width:22px;height:22px;margin:0 auto;box-shadow:0 0 20px 4px #c8900a80,0 0 40px 2px #c8900a26}.hero-inner{z-index:2;max-width:780px;position:relative}.hero-eyebrow{font-family:var(--font-h);letter-spacing:.4em;text-transform:uppercase;color:var(--amber);opacity:0;margin-bottom:1.8rem;font-size:13px;animation:1s .3s forwards rise;font-weight:600!important}.hero-title{font-family:var(--font-d);color:var(--parchment);opacity:0;margin-bottom:2rem;font-size:clamp(4rem,11vw,9rem);font-weight:700;line-height:.9;animation:1s .55s forwards rise}.hero-tagline-band{opacity:0;pointer-events:none;background:#c8900a1f;border:1px solid #c8900a40;margin-bottom:1.8rem;padding:.5rem 2.5rem;animation:1s .8s forwards rise;display:inline-block}.hero-tagline-band span{font-family:var(--font-h);letter-spacing:.3em;text-transform:uppercase;color:#c8900ab3;font-size:clamp(.65rem,1.5vw,.85rem);font-weight:700}.hero-sub{font-family:var(--font-b);color:#ede3cc80;opacity:0;max-width:400px;margin:0 auto 3.5rem;font-size:clamp(1rem,2vw,1.15rem);font-style:italic;animation:1s 1s forwards rise}.hero-scroll{opacity:0;cursor:pointer;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;animation:1s 1.3s forwards rise;display:flex}.hero-scroll span{font-family:var(--font-h);letter-spacing:.45em;text-transform:uppercase;color:#c8900a73;font-size:13px}.hero-scroll-line{background:linear-gradient(#c8900a73,#0000);width:1px;height:36px;animation:2.2s ease-in-out infinite spulse}.inv-nav-strip{background:var(--dark);border-bottom:3px solid var(--amber);align-items:stretch;display:flex}.inv-nav-btn{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:1.8rem 2rem;text-decoration:none;transition:background .2s;display:flex}.inv-nav-btn:hover{background:#c8900a14}.inv-nav-btn-label{font-family:var(--font-h);color:var(--parchment);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.85rem,1.8vw,1.1rem);font-weight:700}.inv-nav-btn-sub{font-family:var(--font-b);color:#c8900a8c;font-size:.88rem;font-style:italic}.inv-nav-btn:hover .inv-nav-btn-sub{color:var(--amber)}.inv-nav-btn-primary{background:#c8900a1f}.inv-nav-btn-primary:hover{background:#c8900a33}.inv-nav-btn-primary .inv-nav-btn-label{color:var(--amber-lt)}#pitch,#callings-section,#ancestries-section{background:var(--parchment);border-bottom:1px solid var(--parchment3)}.icon-grid{background:#c8900a33;border:1px solid #c8900a59;grid-template-columns:repeat(10,1fr);gap:0;margin-top:2.5rem;display:grid}.icon-cell{background:var(--parchment);text-align:center;border-bottom:1px solid #c8900a33;border-right:1px solid #c8900a33;flex-direction:column;align-items:center;gap:.35rem;padding:.9rem .4rem .7rem;text-decoration:none;transition:background .2s;display:flex}.icon-cell:hover{background:var(--parchment2)}.icon-cell img{object-fit:contain;opacity:.82;width:36px;height:36px;transition:opacity .2s,transform .2s}.icon-cell:hover img{opacity:1;transform:scale(1.08)}.icon-name{font-family:var(--font-h);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-size:.7rem;line-height:1.2;font-weight:600!important}.callings-link{font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #c8900a59;padding-bottom:.15rem;font-size:13px;text-decoration:none;transition:color .2s}.callings-link:hover{color:var(--amber-lt)}#pullquote{background:var(--dark);text-align:center;padding:6rem 2rem;position:relative;overflow:hidden}#pullquote:before{content:"";pointer-events:none;background:radial-gradient(55% 55%,#c8900a12 0%,#0000 70%);position:absolute;inset:0}.pq-inner{z-index:1;max-width:660px;margin:0 auto;position:relative}.pq-rule{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.pq-rule:before,.pq-rule:after{content:"";background:#c8900a47;flex:1;height:1px}.pq-rule span{color:var(--amber);font-size:13px}.pq-text{font-family:var(--font-b);color:var(--parchment);margin-bottom:1.4rem;font-size:clamp(1.2rem,2.8vw,1.65rem);font-style:italic;line-height:1.5}.pq-attr{font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;color:var(--amber);font-size:13px;font-weight:600!important}#campaign{background:var(--parchment2);border-top:1px solid var(--parchment3);border-bottom:1px solid var(--parchment3)}.campaign-panel{background:var(--parchment);border:1px solid #c8900a52;grid-template-columns:220px 1fr;align-items:start;gap:3rem;margin-top:2rem;padding:2.4rem;display:grid}.campaign-cover img{border:1px solid #c8900a4d;width:100%;display:block;box-shadow:4px 4px 16px #1a120826}.campaign-text p{color:var(--ink2);margin-bottom:1rem;font-size:.97rem;line-height:1.78}.campaign-text p em{color:var(--ink)}.campaign-link{font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #c8900a66;margin-top:.5rem;padding-bottom:.2rem;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}.campaign-link:hover{color:var(--amber-lt);border-color:var(--amber-lt)}#how-to-play{background:var(--dark);border-top:1px solid #c8900a26;border-bottom:3px solid var(--amber)}#how-to-play .inv-label{color:var(--amber)}#how-to-play .inv-heading{color:var(--parchment)}#how-to-play .inv-lede{color:#ede3cc80;max-width:100%}.htp-grid{grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:0;margin-top:2.5rem;display:grid}.htp-step{padding:.5rem 1rem .5rem 0}.htp-step-rule{background:#c8900a33;align-self:stretch;width:1px;margin:0 2rem}.htp-step-num{font-family:var(--font-d);color:#c8900a40;margin-bottom:.6rem;font-size:2.2rem;line-height:1}.htp-step-title{font-family:var(--font-h);color:var(--parchment);margin-bottom:.6rem;font-size:1rem;font-weight:700}.htp-step-body{color:#ede3cc8c;margin-bottom:1rem;font-size:.95rem;line-height:1.7;font-weight:400!important}.htp-step-link{font-family:var(--font-h);letter-spacing:.3em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid #c8900a66;padding-bottom:.15rem;font-size:11px;text-decoration:none;transition:color .2s;font-weight:600!important}.htp-step-link:hover{color:var(--amber-lt)}#cta{background:var(--parchment);border-bottom:3px solid var(--amber);text-align:center;padding:7rem 2rem;position:relative;overflow:hidden}#cta:before{content:"INVICTUS";font-family:var(--font-d);color:#c8900a0b;white-space:nowrap;pointer-events:none;font-size:clamp(4rem,18vw,12rem);font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-inner{z-index:1;max-width:520px;margin:0 auto;position:relative}.cta-status{background:var(--amber);margin-bottom:1.6rem;padding:.38rem 1.4rem;display:inline-block}.cta-status span{font-family:var(--font-h);letter-spacing:.42em;text-transform:uppercase;color:var(--dark);font-size:13px;font-weight:700}.cta-heading{font-family:var(--font-h);color:var(--ink);margin-bottom:.8rem;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:700}.cta-sub{color:var(--muted);margin-bottom:2rem;font-size:1rem;font-style:italic;line-height:1.65}.cta-btn-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.cta-primary-btn{font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;background:var(--amber);color:var(--dark);border:2px solid var(--amber);padding:.85rem 2.2rem;font-size:11px;text-decoration:none;transition:background .2s;font-weight:700!important}.cta-primary-btn:hover{background:var(--amber-lt);border-color:var(--amber-lt)}.cta-secondary-btn{font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;color:var(--parchment);background:0 0;border:2px solid #ede3cc4d;padding:.85rem 2.2rem;font-size:11px;text-decoration:none;transition:all .2s;font-weight:700!important}.cta-secondary-btn:hover{border-color:var(--parchment)}.signup{border:1px solid var(--amber);max-width:420px;margin:0 auto;display:flex}.signup input{font-family:var(--font-b);color:var(--ink);background:var(--parchment2);border:none;outline:none;flex:1;padding:.75rem 1.2rem;font-size:.95rem;font-style:italic}.signup input::placeholder{color:var(--muted);opacity:.65}.signup input:focus{background:#fff}.signup button{background:var(--amber);font-family:var(--font-h);letter-spacing:.35em;text-transform:uppercase;color:var(--dark);cursor:pointer;white-space:nowrap;border:none;padding:.75rem 1.6rem;font-size:13px;font-weight:700;transition:background .2s}.signup button:hover{background:var(--amber-lt)}.signup-note{color:var(--muted);margin-top:.75rem;font-size:.85rem;font-style:italic}@media (width<=800px){.icon-grid{grid-template-columns:repeat(5,1fr)}}@media (width<=720px){.htp-grid{grid-template-columns:1fr}.htp-step-rule{display:none}}@media (width<=640px){.campaign-panel{grid-template-columns:1fr;gap:1.5rem}}@media (width<=480px){.icon-grid{grid-template-columns:repeat(4,1fr)}}
