/* Classic-rock identity: photographic, tactile and gig-poster inspired. */
:root{--rock-black:#151310;--rock-coal:#211e19;--rock-paper:#f1e5cc;--rock-red:#bd4933;--rock-gold:#d5a43e;--rock-cream:#fff8e9}
body{background:var(--rock-paper);color:var(--rock-black)}
h1,h2,h3,.brand{font-family:Impact,"Arial Narrow",Haettenschweiler,sans-serif;font-weight:400;letter-spacing:.012em}
.site-header{height:148px;background:var(--rock-paper);border-bottom:3px solid var(--rock-black)}
.brand-logo{width:285px;mix-blend-mode:multiply}.main-nav{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.main-nav>a:not(.button):hover{color:var(--rock-red)}
.button{background:var(--rock-red);border-radius:2px;box-shadow:5px 5px 0 rgba(21,19,16,.3);text-transform:uppercase;letter-spacing:.06em}.button:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(21,19,16,.28)}
.hero{min-height:665px;grid-template-columns:minmax(480px,.88fr) minmax(520px,1.12fr);background:var(--rock-black);border-bottom:8px solid var(--rock-gold)}
.hero:before{inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5px)}
.hero-copy{padding-top:42px;padding-right:48px}.hero .eyebrow{color:var(--rock-gold);letter-spacing:.2em}.hero .eyebrow>span{background:var(--rock-red)}
.hero h1{font-size:clamp(60px,5.8vw,84px);line-height:.91;letter-spacing:.008em;color:var(--rock-cream);text-transform:uppercase;text-shadow:3px 3px 0 rgba(0,0,0,.35)}
.hero h1 em{color:var(--rock-red);text-shadow:2px 2px 0 var(--rock-gold)}
.hero-intro{color:rgba(255,248,233,.72);font-size:16px;line-height:1.65}
.search-card{width:calc(100% + 150px);max-width:735px;background:var(--rock-paper);border:3px solid var(--rock-gold);border-radius:2px;box-shadow:10px 10px 0 rgba(0,0,0,.42)}
.search-card label{color:var(--rock-black);border-color:rgba(21,19,16,.25);text-transform:uppercase;letter-spacing:.05em}.search-card select,.search-card input{color:#524b40}.location-field svg{stroke:var(--rock-red)}
.hero .trust-line{color:rgba(255,248,233,.62)}.hero .trust-line strong{color:var(--rock-cream)}.hero .faces i{border-color:var(--rock-black);background:var(--rock-gold);border-radius:2px}.hero .faces i:nth-child(2){background:#dbc9a2}.hero .faces i:nth-child(3){background:#b9634f}
.hero-visual{min-height:560px;margin:0;align-self:center;border:4px solid var(--rock-paper);border-radius:0;overflow:hidden;isolation:auto;box-shadow:14px 14px 0 var(--rock-red);transform:rotate(1deg);background:#090806}
.hero-visual:after,.rehearsal-backdrop,.sun,.spark,.floating-card{display:none}
.hero-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center;filter:saturate(.88) contrast(1.06)}
.hero-visual:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(12,10,8,.35),transparent 28%),linear-gradient(0deg,rgba(12,10,8,.22),transparent 32%)}
.photo-stamp{position:absolute;z-index:4;right:24px;bottom:22px;margin:0;padding:12px 15px 10px;background:var(--rock-gold);color:var(--rock-black);border:2px solid var(--rock-black);box-shadow:4px 4px 0 var(--rock-red);transform:rotate(-2deg);text-transform:uppercase;white-space:nowrap}.photo-stamp b{display:block;font:400 20px/1 Impact,"Arial Narrow",sans-serif;letter-spacing:.05em}.photo-stamp span{display:block;margin-top:5px;font:800 8px/1 "DM Sans",sans-serif;letter-spacing:.16em}
.how{background:var(--rock-paper);border-bottom:3px solid var(--rock-black)}.how:before{height:7px;background:repeating-linear-gradient(90deg,var(--rock-red) 0 38px,var(--rock-gold) 38px 76px,var(--rock-black) 76px 114px)}
.section-heading h2,.levels h2,.final-cta h2{font-size:clamp(45px,4.5vw,64px);text-transform:uppercase;letter-spacing:.015em}.section-heading h2,.levels-copy h2{color:var(--rock-black)}
.steps article{background:rgba(255,248,233,.56);border:2px solid var(--rock-black);border-radius:0;box-shadow:7px 7px 0 rgba(21,19,16,.14);text-align:left}.step-number{color:rgba(189,73,51,.15);font-family:Impact,sans-serif}.step-icon{width:auto;height:auto;margin:0 0 18px;display:block;background:none!important;border-radius:0;color:var(--rock-red)!important;font-size:35px}.steps h3{text-transform:uppercase;font-size:23px}.steps p{color:#655d51}
.levels{background:#d8c8a7;border-bottom:3px solid var(--rock-black)}.level-cards{gap:20px}.level-card,.level-card.beginner,.level-card.intermediate,.level-card.pro{min-height:405px;background:var(--rock-cream);border:2px solid var(--rock-black);border-top:9px solid var(--rock-red);border-radius:0;box-shadow:8px 8px 0 rgba(21,19,16,.18)}.level-card.intermediate{border-top-color:var(--rock-gold)}.level-card.pro{border-top-color:var(--rock-black)}.level-card:after{display:none}.level-card:hover{border-color:var(--rock-black);transform:translate(-3px,-7px);box-shadow:12px 15px 0 rgba(21,19,16,.2)}.level-card.intermediate:hover{transform:translate(-3px,-27px)}
.level-top>span{display:none}.level-top{justify-content:flex-start}.level-top small,.intermediate .level-top small,.pro .level-top small{background:var(--rock-black);color:var(--rock-cream);border-radius:0;font-size:10px}.level-card h3{text-transform:uppercase;font-size:22px}.level-card>a,.arrow-link{color:var(--rock-red);text-transform:uppercase;letter-spacing:.04em}
.quote-section{background:var(--rock-black);border-top:0;border-bottom:8px solid var(--rock-red)}.quote-art{color:var(--rock-gold)}blockquote{font-family:Georgia,serif;font-weight:400;font-style:italic}blockquote footer b{font-style:normal;text-transform:uppercase;letter-spacing:.05em}
.coming{background:var(--rock-paper)}.feature-grid article{background:var(--rock-cream);border:2px solid var(--rock-black);border-top:7px solid var(--rock-red);border-radius:0;box-shadow:6px 6px 0 rgba(21,19,16,.12)}.feature-grid article:nth-child(2){border-top-color:var(--rock-gold)}.feature-grid article:nth-child(3){border-top-color:var(--rock-black)}.feature-grid article>span{width:auto;height:auto;display:block;background:none!important;border-radius:0;color:var(--rock-red)!important;font-size:30px}.feature-grid h3{text-transform:uppercase;font-size:24px}.feature-grid small{color:var(--rock-red)}
.final-cta{background:var(--rock-red);border-top:8px solid var(--rock-gold)}.final-cta:before{content:"MAKE SOME NOISE";font-family:Impact,"Arial Narrow",sans-serif}.button-light{color:var(--rock-red);background:var(--rock-cream)}.cta-rings b{background:var(--rock-gold);color:var(--rock-black)}
.footer{background:var(--rock-paper)}.footer-brand .brand-logo{width:250px}
@media(max-width:1100px){.hero h1{font-size:64px}.search-card{width:calc(100% + 80px)}.hero-visual{min-height:520px}}
@media(max-width:950px){.hero{grid-template-columns:1fr;background:var(--rock-black)}.hero:before{inset:0}.hero-copy{padding-right:0}.search-card{width:100%}.hero-visual{width:100%;min-height:510px;margin-bottom:55px;transform:rotate(.5deg)}.hero-photo{object-position:center 42%}.levels-copy h2{color:var(--rock-black)}}
@media(max-width:720px){.site-header{height:92px}.brand-logo{width:168px}.hero h1{font-size:52px}.hero-visual{min-height:430px;box-shadow:9px 9px 0 var(--rock-red)}.hero-photo{object-position:52% center}.search-card{border-width:2px}.level-card,.level-card.intermediate{transform:none}.level-card:hover,.level-card.intermediate:hover{transform:translate(-2px,-4px)}}
@media(max-width:430px){.hero h1{font-size:44px}.hero-visual{min-height:340px}.hero-photo{object-position:49% center}.photo-stamp{right:12px;bottom:12px;transform:scale(.84) rotate(-2deg);transform-origin:right bottom}}
