/* NOVA STATE RP / Editorial redesign. No frameworks, no remote assets besides optional typefaces. */
:root{--black:#09090d;--black2:#15151c;--white:#f4f3f7;--soft:#c9c7d2;--muted:#92909f;--rule:#34313e;--red:#b84cff;--red2:#7d28c7;--gold:#c9b9e8;--max:1440px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--white);font-family:'DM Sans',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body{position:relative;overflow-x:hidden;background-image:radial-gradient(ellipse at 0% 28%,rgba(130,54,202,.12),transparent 38%),radial-gradient(ellipse at 100% 48%,rgba(91,48,156,.10),transparent 40%);background-attachment:fixed}
/* The two dragons are separate layers so they can subtly move toward one another. */
body::before,body::after{content:'';position:fixed;top:105px;bottom:auto;width:min(35vw,500px);aspect-ratio:500/680;pointer-events:none;z-index:0;background-repeat:no-repeat;background-size:100% 100%;mix-blend-mode:screen;will-change:transform,filter,opacity}
body::before{left:-2.5vw;background-image:url('assets/dragon-left.png');opacity:.47;transform-origin:35% 35%;animation:dragon-left-drift 10s ease-in-out infinite}
body::after{right:-2.5vw;background-image:url('assets/dragon-right.png');opacity:.47;transform-origin:65% 35%;animation:dragon-right-drift 10s ease-in-out infinite}
.site-header,.thin-band,main,.site-footer{position:relative;z-index:1}
@media(max-width:1200px){body::before,body::after{width:39vw;opacity:.39;top:95px}}
@media(max-width:860px){body::before,body::after{width:46vw;opacity:.28;top:90px}}
@media(max-width:560px){body::before,body::after{width:55vw;opacity:.2;top:100px}}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}::selection{background:var(--red);color:white}.wrap{width:min(var(--max),calc(100% - 112px));margin:0 auto}.site-header{height:88px;border-bottom:1px solid #302b39;position:relative;z-index:40;background:var(--black)}.header-grid{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.masthead{display:flex;align-items:center;gap:14px}.brand-symbol{font:900 49px/.83 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.06em}.red-dot,.footer-logo span{color:var(--red)}.brand-copy{font:800 21px/.92 'Barlow Condensed',sans-serif;letter-spacing:.035em}.brand-copy span{display:block;margin-top:7px;font:700 9px/1 'DM Sans',sans-serif;letter-spacing:.23em;color:var(--muted)}.primary-nav{display:flex;align-items:center;gap:26px}.primary-nav>a{font-size:12px;line-height:1;letter-spacing:.015em;font-weight:700;color:#d0c7c1;transition:color .18s}.primary-nav>a:hover{color:white}.primary-nav>a:not(.nav-join):hover{color:var(--red)}.primary-nav .nav-join{background:var(--red);color:white;padding:16px 18px;display:flex;gap:22px;align-items:center}.primary-nav .nav-join:hover,.solid-link:hover{background:#9d35e8}.mobile-menu{display:none}
/* Main welcome: asymmetry, intentional hard edges, no canned cards. */
.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:665px}.hero-art{position:relative;min-height:665px;background:#050505;overflow:hidden;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--rule)}.hero-art:after{content:'';position:absolute;inset:0;border:16px solid #100b0c22;pointer-events:none}.hero-art img{height:100%;width:100%;object-fit:contain;max-height:780px;object-position:center;background:#08080c;padding:18px}.art-label{position:absolute;bottom:24px;left:24px;z-index:2;font:700 10px/1 'DM Sans',sans-serif;letter-spacing:.16em;padding:10px;background:#080808dd}.hero-copy{padding:clamp(58px,6vw,110px) clamp(34px,5vw,94px) 28px;display:flex;flex-direction:column;align-items:flex-start;position:relative}.mini-rule{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--soft)}.pulse-line{display:block;background:var(--red);height:3px;width:29px}.hero h1,.chapter h2,.start-feature h2,.team-content h2,.final-cta h2,.rules-head h1,.rules-end h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:800;letter-spacing:-.008em;line-height:.94;text-transform:uppercase}.hero h1{font-size:clamp(74px,7.1vw,116px);margin:35px 0 22px}.hero h1 em,.chapter h2 i,.rules-head em{font-style:normal;color:var(--red)}.hero-baseline{width:100%;height:1px;background:var(--rule);margin-bottom:24px}.hero-copy>p{font-size:15px;color:var(--soft);line-height:1.85;max-width:530px;margin-bottom:12px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:25px}.solid-link{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:53px;padding:15px 22px;background:var(--red);font-size:13px;font-weight:700;color:#fff;transition:background .2s}.solid-link span{font-size:20px;font-weight:400}.under-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--soft);padding:12px 0}.under-link span{margin-left:13px}.hero-side-note{margin-top:auto;padding-top:30px;font-size:11px;display:flex;gap:15px;align-items:center;color:var(--muted)}.hero-side-note b{color:var(--red)}.thin-band{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.band-grid{display:flex;align-items:center;justify-content:space-between;min-height:57px;gap:25px;font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--muted)}.band-grid a{color:var(--white)}.band-grid a span{color:var(--red);font-size:19px;vertical-align:middle;margin-left:8px}
/* Content chapters */
.chapter{display:grid;grid-template-columns:190px 1fr;gap:70px;padding-top:132px;padding-bottom:148px;border-bottom:1px solid var(--rule)}.chapter-aside{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.chapter-number{font:800 60px/.9 'Barlow Condensed',sans-serif;color:#62566f}.section-marker{font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.18em;color:var(--red)}.section-marker.light{color:#f6dbd0}.section-topline{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin-bottom:27px}.chapter h2{font-size:clamp(66px,8.1vw,125px);max-width:900px;margin:0 0 28px}.section-lead{font-size:16px;line-height:1.85;max-width:665px;color:var(--soft);margin:0 0 45px}.paths{border-top:1px solid #393243}.paths a{display:grid;grid-template-columns:44px 1.1fr 1fr 36px;align-items:center;gap:16px;border-bottom:1px solid #393243;min-height:95px;transition:background .2s,padding .2s}.paths a:hover{padding-left:15px;background:#1b1413}.path-index{font-size:12px;color:var(--red);font-weight:700}.path-name{font:700 clamp(28px,3vw,44px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase}.path-detail{font-size:13px;color:var(--muted)}.path-arrow{justify-self:end;color:var(--red);font-size:24px}
/* One deliberate solid-red statement section */
.start-section{background:#1b1823;color:#fff}.start-grid{display:grid;grid-template-columns:1fr 1fr;min-height:630px}.start-feature{padding:105px 85px 105px 0;display:flex;flex-direction:column;align-items:flex-start}.start-feature h2{font-size:clamp(61px,6.6vw,108px);margin:35px 0 30px}.start-feature h2 i{font-style:normal;color:#a855f7}.start-feature>p{font-size:16px;line-height:1.8;color:#ded5ec;max-width:440px}.start-details{background:#121119;padding:85px 72px;display:flex;flex-direction:column;justify-content:center}.big-amount>span{font-size:11px;letter-spacing:.18em;color:#afa09a;font-weight:700}.big-amount strong{display:block;font:800 clamp(70px,8vw,132px)/1 'Barlow Condensed',sans-serif;letter-spacing:-.02em;color:#f2eae1;margin:6px 0 0;white-space:nowrap}.big-amount strong span{color:var(--red);font-size:.65em}.big-amount small{display:block;font-size:12px;color:var(--muted);margin-bottom:45px}.starter-row{border-top:1px solid #393044;display:grid;grid-template-columns:45px 1fr 24px;align-items:center;min-height:65px;gap:12px;font-size:16px;font-weight:600}.starter-row b,.starter-row>span:last-child{color:var(--red);font-weight:700}.start-hint{color:#afa4a0;font-size:12px;line-height:1.8;margin:25px 0 0}

.pets-section{padding-bottom:135px}.price-list{max-width:920px;border-top:2px solid var(--white)}.price-list-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.16em;padding:18px 0 12px}.price-line{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);padding:19px 0 21px}.price-line>span{font:650 clamp(30px,3.4vw,48px)/1.1 'Barlow Condensed',sans-serif}.price-line b{font:700 clamp(30px,3.3vw,46px)/1 'Barlow Condensed',sans-serif;color:var(--red);white-space:nowrap}.pet-note{display:flex;gap:16px;align-items:flex-start;border-left:3px solid var(--red);padding:18px 20px;background:#191414;margin-top:38px;max-width:780px}.note-mark{font:700 22px/1 'Barlow Condensed',sans-serif;color:var(--red)}.pet-note p{margin:0;color:var(--soft);font-size:13px;line-height:1.75}.pet-note strong{color:var(--white)}.text-cta{display:inline-flex;gap:22px;font-weight:800;font-size:13px;margin-top:35px;border-bottom:1px solid var(--red);padding-bottom:10px}.text-cta span{color:var(--red)}
/* Team recruitment / handwritten poster feeling without visual noise */
.team-section{background:#15131d;border-top:1px solid #393044;border-bottom:1px solid #393044}.team-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:615px}.team-graphic{position:relative;border-right:1px solid #393044;padding:80px 15px 65px 0;display:flex;flex-direction:column;justify-content:center}.team-graphic>span{font:900 clamp(100px,11vw,185px)/.75 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.04em}.team-graphic>span:nth-child(2){color:var(--red)}.team-graphic .punctuation{color:var(--red)}.graphic-caption{position:absolute;bottom:33px;left:0;font-size:10px;font-weight:800;letter-spacing:.22em;color:#a99abf}.team-content{align-self:center;padding:75px 15px 75px 10%;max-width:690px}.team-content h2{font-size:clamp(49px,5vw,81px);margin:28px 0 30px}.team-content p{color:#c9c7d2;line-height:1.8;font-size:15px;max-width:510px}.team-content .solid-link{margin-top:23px}
.admission-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:start}.admission-layout>p{font-size:19px;line-height:1.9;color:var(--soft);max-width:640px}.admission-aside{border-left:2px solid var(--red);padding-left:24px;margin-top:8px}.admission-aside b{display:block;font-size:12px;letter-spacing:.1em;line-height:1.5;margin-bottom:18px}.admission-aside span{color:var(--muted);font-size:13px;line-height:1.75;display:block}
.final-cta{background:var(--red);color:#fff}.final-grid{display:grid;grid-template-columns:1fr .9fr;gap:100px;padding:95px 0}.final-cta h2{font-size:clamp(76px,8vw,129px);margin:30px 0 0}.final-options{display:flex;flex-direction:column;justify-content:flex-end}.final-options p{max-width:460px;font-size:16px;line-height:1.8;margin-bottom:30px}.final-link{border-top:1px solid #c98aff;display:flex;justify-content:space-between;align-items:center;padding:17px 0;font-size:18px;font-weight:700}.final-link:last-child{border-bottom:1px solid #c98aff}.final-link span:last-child{font-size:25px}
.site-footer{background:#090808;border-top:1px solid #41312e}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:50px;padding:58px 0}.footer-logo{font:900 55px/1 'Barlow Condensed',sans-serif}.site-footer p{margin:12px 0 0;color:var(--muted);font-size:12px}.footer-links{display:grid;align-content:start;gap:11px;font-size:13px;font-weight:600}.footer-links a:hover{color:var(--red)}.footer-legal{color:var(--soft);font-size:12px;line-height:1.9;justify-self:end}.footer-legal span{color:var(--muted)}
/* Rules as an editorial reading experience, not a wall of cards. */
.rules-shell{padding-top:86px;padding-bottom:120px}.rules-head{border-bottom:1px solid var(--rule);padding-bottom:80px}.rules-head h1{font-size:clamp(78px,11vw,176px);margin:22px 0 15px}.rules-head>p{font-size:16px;color:var(--soft);line-height:1.8;max-width:670px;margin:0}.rules-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:78px;padding-top:65px}.rules-sidebar{position:sticky;top:35px;align-self:start}.sidebar-kicker{font-size:10px;font-weight:800;letter-spacing:.19em;color:var(--muted);margin:0 0 22px}.rules-nav{border-top:1px solid var(--rule)}.rules-nav a{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:10px;padding:17px 7px 17px 0;border-bottom:1px solid var(--rule);font-size:14px;font-weight:700;transition:color .15s}.rules-nav a:hover,.rules-nav a.active{color:var(--red)}.rules-nav a>span{font:700 12px/1 'DM Sans',sans-serif;color:var(--muted)}.rules-nav a.active>span{color:var(--red)}.rules-nav a small{color:var(--muted);font-size:11px;justify-self:end}.sidebar-bottom{margin-top:48px;border-left:2px solid var(--red);padding-left:20px}.sidebar-bottom>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--red)}.sidebar-bottom p{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0}.sidebar-bottom a{font-weight:700;font-size:13px}.rules-tools{display:grid;grid-template-columns:1fr 105px;gap:25px;align-items:end}.rule-search label{display:block;font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.15em;margin-bottom:13px}.search-field{border-bottom:2px solid var(--white);display:flex;gap:10px;align-items:center}.search-field:focus-within{border-color:var(--red)}.search-field input{background:transparent;border:none;outline:none;color:var(--white);width:100%;font-size:15px;padding:14px 0}.search-field input::placeholder{color:#8a7d78}.search-field button{border:0;background:none;color:var(--soft);font-size:23px}.search-icon{font:700 32px/1 'Barlow Condensed',sans-serif;color:var(--red)}.rules-count{display:flex;flex-direction:column;align-items:flex-end}.rules-count span{font:800 57px/.8 'Barlow Condensed',sans-serif}.rules-count small{color:var(--muted);font-size:10px;letter-spacing:.12em;font-weight:700;margin-top:8px}.rules-utility{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-bottom:22px;border-bottom:1px solid var(--rule);color:var(--muted);font-size:12px}.rules-utility button{background:transparent;border:0;color:var(--soft);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.rules-category{padding-top:62px;scroll-margin-top:20px}.category-intro{display:flex;gap:28px;align-items:flex-end;padding-bottom:35px;border-bottom:2px solid #5b4a70}.category-intro .chapter-number{font-size:64px;color:var(--red)}.category-intro h2{font:800 clamp(55px,6vw,87px)/.9 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 8px}.category-intro p{color:var(--muted);font-size:13px;margin:0}.rules-cluster{margin-top:43px}.cluster-heading{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800;font-size:10px;margin:0 0 18px}.rule{border-bottom:1px solid var(--rule)}.rule summary{display:grid;grid-template-columns:54px 1fr 24px;gap:14px;align-items:center;list-style:none;padding:20px 2px;cursor:pointer}.rule summary::-webkit-details-marker{display:none}.rule-index{font:800 17px/1 'Barlow Condensed',sans-serif;color:var(--red)}.rule-title{font-size:17px;font-weight:700;line-height:1.4}.rule-symbol{font-size:22px;color:var(--muted);text-align:right;transition:transform .2s;color:var(--red)}.rule[open] .rule-symbol{transform:rotate(45deg)}.rule-body{padding:0 28px 26px 68px;max-width:900px}.rule-body p{font-size:14px;color:var(--soft);line-height:1.8;margin:0 0 11px}.rule-body p:last-child{margin-bottom:0}.rule[hidden],.rules-category[hidden],.rules-cluster[hidden]{display:none!important}.empty-message{padding:55px 0;color:var(--muted);font-size:15px}.rules-end{margin-top:110px;padding-top:45px;border-top:2px solid var(--red)}.rules-end h2{font-size:clamp(60px,7.2vw,104px);margin:25px 0 18px}.rules-end p{font-size:15px;line-height:1.8;color:var(--soft);max-width:590px}.rules-end a{display:inline-block;font-weight:800;border-bottom:1px solid var(--red);padding:15px 0}.rules-end a span{color:var(--red);margin-left:12px}
/* Responsive */
@media(max-width:1150px){.wrap{width:min(var(--max),calc(100% - 72px))}.primary-nav{gap:14px}.hero h1{font-size:clamp(64px,6.8vw,90px)}.hero-copy{padding:58px 42px 28px}.start-details{padding:70px 42px}.chapter{grid-template-columns:135px 1fr;gap:55px}.rules-layout{gap:42px;grid-template-columns:205px 1fr}}
@media(max-width:860px){.site-header{height:75px}.mobile-menu{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:1px solid #51445f}.mobile-menu span{display:block;width:20px;height:2px;background:var(--white)}.primary-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#14131b;border-bottom:1px solid #58413b;padding:20px 6%;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{padding:16px 12px;border-bottom:1px solid #302a3b}.primary-nav .nav-join{margin-top:14px;justify-content:space-between}.hero{grid-template-columns:1fr;min-height:0}.hero-art{min-height:0;height:420px;border-right:0;border-bottom:1px solid var(--rule)}.hero-art img{width:100%;height:100%;object-fit:contain}.hero-copy{padding:60px 30px 37px}.hero h1{font-size:clamp(71px,12vw,116px)}.hero-side-note{margin-top:25px}.chapter{grid-template-columns:1fr;gap:23px;padding-top:92px;padding-bottom:104px}.chapter-aside{flex-direction:row;align-items:center;gap:20px}.chapter-number{font-size:46px}.chapter h2{font-size:clamp(63px,10.5vw,92px)}.start-grid{grid-template-columns:1fr}.start-feature{padding:70px 0 50px}.start-feature h2{font-size:clamp(68px,11vw,100px)}.start-details{padding:62px 45px;margin:0 -36px}.team-grid{grid-template-columns:1fr}.team-graphic{min-height:365px;padding:60px 0 65px;border-right:0;border-bottom:1px solid #393044}.team-graphic>span{font-size:clamp(95px,16vw,145px)}.team-content{padding:65px 0 83px}.team-content h2{font-size:clamp(58px,9vw,85px)}.final-grid{grid-template-columns:1fr;gap:35px}.rules-layout{display:block}.rules-sidebar{position:static;margin-bottom:45px}.rules-nav{display:flex;overflow-x:auto;gap:0;border-bottom:1px solid var(--rule);scrollbar-width:thin}.rules-nav a{white-space:nowrap;display:flex;gap:8px;padding:16px 18px;border-bottom:0}.rules-nav a:first-child{padding-left:0}.sidebar-bottom{display:none}.rules-head h1{font-size:clamp(78px,13vw,120px)}}
@media(max-width:560px){.wrap{width:calc(100% - 40px)}.brand-symbol{font-size:41px}.brand-copy{font-size:19px}.hero-art{height:330px}.art-label{font-size:8px;left:12px;bottom:12px}.hero-copy{padding:43px 6px 30px}.hero h1{font-size:clamp(62px,16vw,86px);margin:28px 0 20px}.hero-copy>p{font-size:14px;line-height:1.75}.hero-actions{align-items:stretch;gap:14px;flex-direction:column;width:100%}.solid-link{width:100%}.under-link{align-self:flex-start}.band-grid{font-size:9px;gap:8px;min-height:56px}.band-grid>span:nth-child(2){display:none}.chapter{padding-top:80px;padding-bottom:86px}.chapter h2{font-size:clamp(62px,14vw,91px);margin-bottom:22px}.section-lead{font-size:14px;margin-bottom:25px}.paths a{grid-template-columns:24px minmax(0,1fr) 30px;min-height:89px;gap:9px}.path-name{font-size:29px}.path-detail{grid-column:2 / -1;font-size:11px;margin-top:-30px;margin-bottom:8px}.path-arrow{grid-column:3;grid-row:1}.start-feature{padding:70px 0 36px}.start-feature h2{font-size:clamp(59px,14vw,90px)}.start-details{margin:0 -20px;padding:56px 25px}.big-amount strong{font-size:clamp(78px,20vw,118px)}.price-line>span{font-size:27px}.price-line b{font-size:30px}.pet-note{padding:17px}.team-graphic{min-height:300px}.team-graphic>span{font-size:clamp(90px,19vw,126px)}.team-content h2{font-size:clamp(54px,12vw,72px)}.admission-layout{grid-template-columns:1fr;gap:20px}.admission-layout>p{font-size:16px}.final-grid{padding:70px 0}.final-cta h2{font-size:clamp(75px,18vw,117px)}.final-options p{font-size:14px}.footer-grid{grid-template-columns:1fr;gap:26px;padding:50px 0}.footer-legal{justify-self:start}.rules-shell{padding-top:54px}.rules-head{padding-bottom:45px}.rules-head h1{font-size:clamp(71px,17vw,108px)}.rules-head>p{font-size:14px}.rules-layout{padding-top:35px}.rules-tools{grid-template-columns:1fr 56px;gap:8px}.rules-count span{font-size:42px}.rules-count small{font-size:8px}.rule-search label{font-size:9px}.search-field input{font-size:13px}.category-intro{gap:14px}.category-intro .chapter-number{font-size:45px}.category-intro h2{font-size:50px}.rule summary{grid-template-columns:33px 1fr 20px;gap:9px;padding:20px 0}.rule-title{font-size:15px}.rule-index{font-size:15px}.rule-body{padding:0 3px 22px 41px}.rule-body p{font-size:13px}.rules-end{margin-top:75px}.rules-end h2{font-size:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep long German headings inside narrow phone screens. */
@media(max-width:560px){
  #aufnahme h2{font-size:clamp(43px,10.4vw,60px);overflow-wrap:anywhere}
  .rules-head h1{font-size:clamp(43px,10.5vw,65px);overflow-wrap:anywhere}
  .category-intro h2{font-size:clamp(30px,7.9vw,45px);overflow-wrap:anywhere}
  .rules-nav{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
}


/* NOVA STATE RP – subtle motion design */
@keyframes dragon-left-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 0 9px rgba(168,85,247,.14))}
  50%{transform:translate3d(8px,-10px,0) scale(1.012);filter:drop-shadow(0 0 22px rgba(168,85,247,.34))}
}
@keyframes dragon-right-drift{
  0%,100%{transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 0 9px rgba(168,85,247,.14))}
  50%{transform:translate3d(-8px,10px,0) scale(1.012);filter:drop-shadow(0 0 22px rgba(168,85,247,.34))}
}
@keyframes hero-image-drift{
  0%{transform:scale(1) translateY(0);filter:saturate(1)}
  100%{transform:scale(1.035) translateY(-7px);filter:saturate(1.12)}
}
@keyframes rise-in{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes line-glow{
  0%,100%{box-shadow:0 0 4px rgba(168,85,247,.25);opacity:.8}
  50%{box-shadow:0 0 15px rgba(192,132,252,.8);opacity:1}
}
@keyframes soft-pulse{
  0%,100%{box-shadow:0 0 0 rgba(168,85,247,0)}
  50%{box-shadow:0 0 24px rgba(168,85,247,.2)}
}
.site-header{isolation:isolate}
.site-header::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:var(--scroll-progress,0%);background:linear-gradient(90deg,#7e22ce,#c084fc,#f5eaff);box-shadow:0 0 12px rgba(192,132,252,.55);pointer-events:none;transition:width .08s linear}
.masthead .brand-symbol{transition:transform .35s,color .35s,text-shadow .35s}
.masthead:hover .brand-symbol{transform:rotate(-8deg) scale(1.08);color:#c084fc;text-shadow:0 0 18px rgba(168,85,247,.8)}
.primary-nav>a:not(.nav-join){position:relative;transition:color .25s,transform .25s}
.primary-nav>a:not(.nav-join)::after{content:'';position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--red);transition:right .25s}
.primary-nav>a:not(.nav-join):hover{transform:translateY(-2px)}
.primary-nav>a:not(.nav-join):hover::after{right:0}
.primary-nav .nav-join{box-shadow:0 0 0 rgba(168,85,247,0);transition:transform .25s,box-shadow .25s,background .25s}
.primary-nav .nav-join:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(168,85,247,.4)}
.hero-art{isolation:isolate}
.hero-art::before{content:'';position:absolute;inset:12% 12%;z-index:0;pointer-events:none;background:radial-gradient(ellipse,rgba(147,51,234,.17),transparent 68%);filter:blur(18px);animation:soft-pulse 7s ease-in-out infinite}
.hero-art img{position:relative;z-index:1;animation:hero-image-drift 22s ease-in-out infinite alternate;will-change:transform,filter}
.hero-copy>*{animation:rise-in .75s both}
.hero-copy>*:nth-child(1){animation-delay:.08s}
.hero-copy>*:nth-child(2){animation-delay:.18s}
.hero-copy>*:nth-child(3){animation-delay:.3s}
.hero-copy>*:nth-child(4){animation-delay:.4s}
.hero-copy>*:nth-child(5){animation-delay:.5s}
.hero-copy>*:nth-child(6){animation-delay:.6s}
.pulse-line{animation:line-glow 3s ease-in-out infinite}
.solid-link{position:relative;overflow:hidden;transition:transform .25s,background .25s,box-shadow .25s}
.solid-link::after{content:'';position:absolute;top:-80%;left:-45%;width:28%;height:260%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);transition:left .65s ease}
.solid-link:hover{transform:translateY(-3px);box-shadow:0 9px 28px rgba(168,85,247,.24)}
.solid-link:hover::after{left:130%}
.under-link,.final-link{transition:color .22s,padding .22s}
.under-link:hover{color:#d8b4fe;padding-left:5px}
.paths a:hover{background:linear-gradient(90deg,rgba(147,51,234,.12),transparent);border-color:rgba(192,132,252,.35)}
.starter-row{transition:padding .25s,background .25s}
.starter-row:hover{padding-left:12px;background:rgba(168,85,247,.08)}
.team-graphic>span{transition:transform .35s,color .35s,text-shadow .35s}
.team-graphic:hover>span:nth-child(odd){transform:translateX(8px);color:#d8b4fe;text-shadow:0 0 22px rgba(168,85,247,.22)}
.team-graphic:hover>span:nth-child(even){transform:translateX(-5px)}
.final-link:hover{padding-left:10px;color:#d8b4fe}
.footer-logo span{display:inline-block;animation:line-glow 3.8s ease-in-out infinite}
.rules-nav a{transition:color .22s,padding .22s,background .22s}
.rules-nav a:hover{padding-left:8px;background:rgba(147,51,234,.07)}
.rule summary{transition:color .2s,padding .2s}
.rule summary:hover{padding-left:8px;color:#e9d5ff}
.rule[open] .rule-body{animation:rise-in .3s ease both}

/* Scroll reveals are enabled by main.js only when motion is allowed. */
.motion-ready .reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:860px){
  body::before,body::after{top:90px}
  .hero-art img{animation-duration:28s}
  .team-graphic:hover>span:nth-child(odd),.team-graphic:hover>span:nth-child(even){transform:none}
}
@media(max-width:560px){
  body::before,body::after{top:100px}
  .hero-art img{animation-duration:32s}
  .solid-link:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .motion-ready .reveal-on-scroll{opacity:1!important;transform:none!important}
  .site-header::after{transition:none!important}
}
