:root{--bg: #050505;--panel: #101010;--line: #2a2a2a;--text: #f2f2f2;--muted: #b5b5b5;--neon: #ffd84d}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:linear-gradient(180deg,#0b0b0b,#000);color:var(--text);font-family:Space Grotesk,Segoe UI,sans-serif}.page{width:min(1180px,calc(100% - 1rem));margin:0 auto;padding:1rem 0 2rem}.dates{display:grid;gap:.4rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-align:center;box-shadow:0 0 0 1px #000,0 14px 28px #00000070}.dates p{margin:0}.dates p:first-child{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;color:var(--neon);font-family:Permanent Marker,cursive;letter-spacing:.03em}.dates p:nth-child(2){font-size:clamp(1rem,2.5vw,1.4rem);font-weight:600;color:var(--neon);font-family:Permanent Marker,cursive;letter-spacing:.02em}.dates p:nth-child(n+3){color:var(--muted)}.dates-actions{margin-top:.35rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.56rem .9rem;border-radius:10px;border:1px solid #3b3b3b;background:#1a1a1a;color:var(--text);text-decoration:none;font-weight:600}.btn-register{background:var(--neon);color:#1a1a1a;border-color:#c4a63b}.btn-secondary{background:#121212;color:var(--muted)}.register-page .dates p:nth-child(2){color:var(--text);font-size:1rem;font-weight:500}.register-form-wrap{margin-top:.8rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.register-iframe{display:block;width:100%;min-height:1100px;border:0}.gallery{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem;align-items:stretch;grid-auto-flow:dense}.gallery>*{margin:0}.countdown-tile{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel);padding:.9rem;height:280px}.countdown-tile:after{content:"";position:absolute;right:8px;top:8px;width:44px;height:44px;border:2px dashed var(--neon);border-radius:999px;opacity:.55}.countdown-tile p{margin:0}.countdown-tile-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.countdown-tile-time{margin-top:.35rem;color:var(--neon);font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;font-family:Permanent Marker,cursive;letter-spacing:.03em}.countdown-tile-date{margin-top:.45rem;color:var(--text);font-size:.84rem}.countdown-tile-featured{padding:1.2rem}.countdown-tile-featured .countdown-tile-title{font-size:.9rem}.countdown-tile-featured .countdown-tile-time{font-size:clamp(1.9rem,5vw,3rem)}.countdown-tile-featured .countdown-tile-date{font-size:1rem}.text-tile{position:relative;border-radius:12px;border:1px solid var(--line);background:#0d0d0d;padding:.9rem;overflow:hidden;height:280px;display:flex;flex-direction:column}.text-tile:before{content:"";position:absolute;left:-24px;bottom:8px;width:72px;height:72px;background:linear-gradient(transparent 47%,#ffffff2e 47%,#ffffff2e 53%,transparent 53%),linear-gradient(90deg,transparent 47%,#ffffff2e 47%,#ffffff2e 53%,transparent 53%);transform:rotate(-10deg);pointer-events:none}.text-tile p{margin:0;color:var(--text);line-height:1.45}.text-tile p:not(.text-tile-title):not(.camp-title-text){display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical;overflow:hidden}.text-tile p+p{margin-top:.28rem}.mb-4{margin-bottom:1rem!important}.text-tile .text-tile-title{margin:0 0 .34rem;color:var(--neon);font-family:Permanent Marker,cursive;letter-spacing:.03em}.camp-title-tile{display:grid;place-items:center;height:280px;grid-column:span 2}.camp-title-text{margin:0;color:var(--neon);font-family:Permanent Marker,cursive;font-size:clamp(1.8rem,6.2vw,3.2rem);line-height:.9;text-align:center;letter-spacing:.02em}.camp-title-text span{display:block}.register-tile .btn{margin-top:.1rem;width:100%}.logo-tile img{display:block;width:min(140px,100%);height:auto;margin:.4rem auto 0;filter:brightness(0) invert(1)}.price-tile{justify-content:center;align-items:center;text-align:center}.price-title{margin:0;color:var(--neon);font-family:Permanent Marker,cursive;font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:.03em}.price-tile .price-amount{margin:.25rem 0 0;color:var(--neon);font-size:clamp(2rem,5vw,3rem);font-weight:800}.photo-card{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel);height:280px}.photo-card-featured{grid-column:span 2}.photo-card:after{content:"";position:absolute;inset:auto 8px 8px auto;width:48px;height:16px;border-bottom:2px solid #ffffff4d;border-radius:999px;transform:rotate(-7deg);pointer-events:none}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.08)}.info-section{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem}.info-card{border-radius:12px;border:1px solid var(--line);background:var(--panel);padding:.9rem}.info-card p,.info-card li{color:var(--text)}.info-card ul{margin:.35rem 0 .7rem;padding-left:1rem}.info-heading{margin:.2rem 0 0;color:var(--neon);font-family:Permanent Marker,cursive;font-size:clamp(1.2rem,3vw,1.6rem);line-height:1.05}.info-card a{color:var(--text)}.schedule-section{margin-top:.8rem}.schedule-grid{margin-top:.45rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.schedule-card{border:1px solid var(--line);border-radius:10px;background:#0d0d0d;padding:.8rem}.schedule-card h3{margin:0;color:var(--neon);font-family:Permanent Marker,cursive;letter-spacing:.02em}.schedule-card ul{margin:.45rem 0 0;padding-left:1rem}.schedule-card li{color:var(--text)}.site-footer{margin-top:.8rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:.9rem;text-align:center}.footer-links{margin-top:.4rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem}.footer-links a{color:var(--text)}.footer-link-item{display:inline-flex;align-items:center;gap:.35rem}.footer-icon{width:16px;height:16px;flex:0 0 16px}.footer-logo{--footer-logo-size: 26px;display:block;width:min(var(--footer-logo-size),100%);height:auto;margin:0;filter:brightness(0) invert(1) contrast(1.1)}.footer-copy{margin:0;color:var(--muted);font-size:calc(var(--footer-logo-size) / 2);line-height:1}.footer-brand{margin-top:.65rem;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}@media (max-width: 640px){.page{width:calc(100% - .6rem)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.camp-title-tile,.photo-card-featured{grid-column:span 2}.info-section,.schedule-grid{gap:.5rem}.footer-links{gap:.45rem}}
