@font-face{font-family:"Archivo Black";src:url("assets/fonts/archivo-black.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url("assets/fonts/raleway-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url("assets/fonts/raleway-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url("assets/fonts/raleway-800.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
:root{--header-height:76px;--content-width:1320px;--orange:#f47c20;--deep-purple:#482153;--dark-orange:#a43f06;--black:#141416;--cream:#f6f2e9;--purple:#c5a7ef;--lime:#dcf576;--muted:#bcbabf;--gutter:clamp(1.25rem,5vw,6rem);--heading:"Archivo Black",Impact,sans-serif;--body:Raleway,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;color:var(--black);background:var(--cream);font-family:var(--body);font-size:1rem;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-underline-offset:.25em}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}h1,h2,h3,h4,p,figure{margin:0}h1,h2{font-family:var(--heading);font-weight:400;text-transform:uppercase;letter-spacing:-.065em;line-height:.96}h2{font-size:clamp(2.8rem,8vw,7rem);overflow-wrap:normal}h3{font-weight:800;line-height:1.3}p{max-width:65ch}a:focus-visible,button:focus-visible,audio:focus-visible{outline:3px solid #7045bc;outline-offset:6px}.music :focus-visible,.footer :focus-visible{outline-color:var(--lime)}::selection{background:var(--purple);color:var(--black)}.accent{color:var(--orange)}.skip-link{position:fixed;top:1rem;left:1rem;padding:1rem;background:var(--cream);z-index:50;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:var(--header-height);background:var(--black);color:var(--cream);display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:0 var(--gutter);position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff18}.wordmark{font-family:var(--heading);font-size:clamp(.9rem,1.5vw,1.2rem);text-decoration:none;letter-spacing:-.05em;white-space:nowrap;display:inline-flex;align-items:center;gap:.2em}.wordmark>span:not(.brand-dot){color:var(--orange)}.brand-dot{color:var(--orange);font-size:.7em;padding-left:.25rem}.desktop-nav{display:none;align-items:center;gap:clamp(1rem,2vw,2rem)}.desktop-nav a{font-size:.79rem;font-weight:800;text-decoration:none;white-space:nowrap}.desktop-nav a:hover{color:var(--orange)}.header-booking{margin-left:auto;display:none;background:var(--orange);color:var(--black);padding:.55rem 1.15rem;text-decoration:none;font-size:.8rem;font-weight:800}.header-booking span{padding-left:1rem}.menu-toggle{width:48px;height:48px;display:grid;align-content:center;gap:7px;border:0;background:transparent;padding:10px;color:inherit}.icon-button{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:2rem;line-height:1;display:grid;place-items:center;flex:none}.icon-button:hover{background:var(--orange);color:var(--black)}
.hero{background:var(--orange);position:relative;isolation:isolate;overflow:hidden}.hero-copy{min-width:0;padding:2.5rem var(--gutter) 2rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.045em;display:flex;align-items:center;gap:.6rem}.tiny-star{font-size:1.5rem}.hero h1{font-size:clamp(5rem,18vw,9rem);margin:1.5rem 0 1.8rem}.hero h1>span:not(.hero-period){color:var(--cream);-webkit-text-stroke:2px var(--black)}.hero-period{color:var(--deep-purple)}.hero-actions{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:.9rem 1.25rem;text-decoration:none;font-size:.85rem;font-weight:800;border:2px solid transparent;min-height:52px;line-height:1.35}.button span{font-size:1.35rem}.button-dark{background:var(--black);color:var(--cream)}.button:hover{background:var(--cream);border-color:var(--black);color:var(--black)}.text-link{display:inline-flex;align-items:center;gap:1rem;font-size:.85rem;font-weight:800;text-decoration-thickness:1px}.hero-photo{position:relative;margin:0;width:100%;height:340px;overflow:hidden}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:45% center}
.section{padding:3.5rem var(--gutter) 4rem}.section-label{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:.68rem;letter-spacing:.09em;font-weight:800;border-top:1px solid currentColor;padding-top:.75rem;margin-bottom:2.5rem}.section-label>span:last-child{font-size:1.3rem;line-height:1}.about-layout{display:grid;gap:2rem}.about h2{margin-bottom:1.5rem}.about-copy{align-self:center}.about-copy h3{font-size:clamp(1.35rem,2.5vw,2rem);margin-bottom:1.5rem;max-width:25ch}.about-copy p{font-size:1rem;line-height:1.9}.logo-stage{position:relative;min-height:240px;max-width:350px;display:grid;place-items:center;background:var(--purple);padding:2rem;margin-top:2rem;transform:rotate(-3deg)}.logo-stage img{width:190px;position:relative;transform:rotate(3deg)}.logo-star{position:absolute;right:1rem;top:.4rem;font-size:3rem;line-height:1}.music{background:var(--black);color:var(--cream)}.music .section-label{color:var(--muted)}.section-heading{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.section-heading>p{max-width:30ch;font-size:.95rem}.music .section-heading a{color:var(--orange)}.tracks{border-top:1px solid #ffffff40}.track{padding:1.6rem 0;border-bottom:1px solid #ffffff40;display:grid;grid-template-columns:2rem 1fr;gap:1rem;align-items:center}.track-number{font-family:var(--heading);color:var(--orange);font-size:1rem}.track h3{font-family:var(--heading);font-size:1.12rem;font-weight:400;letter-spacing:-.035em;max-width:25ch}.track audio{grid-column:1/-1;width:100%;height:42px;color-scheme:dark;accent-color:var(--orange)}
.photos{background:var(--orange)}.photo-symbol{font-size:5rem;line-height:1;display:none}.gallery{display:grid;gap:1.25rem}.gallery-item{position:relative;display:block;background:var(--black);color:var(--cream);text-decoration:none;overflow:hidden}.gallery-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-caption{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:800;padding:.7rem 1rem}.gallery-caption>span{font-size:1.5rem}.award-caption{font-size:.85rem;margin-top:1.5rem;max-width:65ch}.shop{background:var(--purple)}.shop-layout{display:grid;gap:3rem}.album-art{position:relative;padding:1rem 14% 1rem 0;align-self:center;max-width:560px}.album-art>img{position:relative;transform:rotate(-6deg);box-shadow:0 18px 32px #14141624;width:100%}.record{border-radius:50%;background:repeating-radial-gradient(circle,#202024 0,#202024 2px,#141416 3px,#141416 5px);position:absolute;top:4%;right:0;width:85%;aspect-ratio:1;display:grid;place-items:center;}.record span{display:grid;place-items:center;width:30%;aspect-ratio:1;border-radius:50%;font-family:var(--heading);background:var(--orange);font-size:1.5rem;border:9px solid var(--black)}.album-sticker{position:absolute;bottom:-1rem;right:1.25rem;font-size:6rem;line-height:1;color:var(--lime);text-shadow:2px 2px var(--black)}.shop h2{margin-bottom:1.5rem}.shop h3{font-size:1.35rem;margin-bottom:1.5rem}.shop h4{font-size:1rem;margin-bottom:.5rem;font-weight:800}.shop p{font-size:.95rem}.shop-links{display:flex;flex-direction:column;align-items:start;gap:1.5rem;margin-top:2rem}
.instagram{background:var(--lime)}.instagram h2{font-size:clamp(2.4rem,7vw,6.5rem)}.instagram-content{background:var(--cream);position:relative;overflow:hidden;border:1px solid var(--black)}.instagram-preview{display:grid;grid-template-columns:repeat(3,1fr);height:180px;overflow:hidden}.instagram-preview img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.75}.instagram-gate{position:relative;padding:2rem 1.25rem;text-align:center;display:flex;flex-direction:column;align-items:center}.instagram-icon{width:54px;height:54px;display:grid;place-items:center;background:var(--purple);border:1px solid var(--black);border-radius:14px;font-family:Arial,sans-serif;font-size:2.5rem;line-height:1;margin-bottom:1rem}.instagram-gate h3{font-family:var(--heading);font-weight:400;font-size:1.6rem;letter-spacing:-.04em;margin-bottom:.75rem}.instagram-gate p{font-size:.85rem;max-width:60ch}.instagram-gate .privacy-note{font-size:.75rem;max-width:65ch;margin:1rem 0 1.5rem}.instagram-status{font-size:.8rem;margin-top:1rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.instagram-status:empty{display:none}.instagram-status button{background:transparent;border:0;text-decoration:underline;padding:.5rem 0;font-weight:800}.instagram-frame{border:0;background:white;width:100%;max-width:none;height:650px;display:block;margin:0;overflow:hidden}.instagram-content.is-loaded{padding:0;background:white}
.contact{background:var(--orange)}.contact-layout{display:grid;gap:2.5rem}.contact h2{font-size:clamp(3.2rem,7vw,6rem);margin-bottom:1.5rem}.booking-link{font-family:var(--heading);display:flex;align-items:center;gap:1rem;line-height:1;font-size:clamp(2.75rem,8vw,7rem);text-transform:uppercase;text-decoration:none;letter-spacing:-.065em;width:fit-content;border-bottom:4px solid var(--black);padding-bottom:.5rem}.booking-link .arrow-icon{transition:transform .2s}.booking-link:hover .arrow-icon{transform:translate(5px,-5px)}address{font-style:normal;line-height:1.9}address strong{font-weight:800}.contact address{font-size:1rem;align-self:end}.footer{background:var(--black);color:var(--cream);padding:2rem var(--gutter);display:flex;flex-direction:column;gap:1.25rem}.footer>span{font-size:.75rem;color:var(--muted)}.footer>div{display:flex;gap:1.5rem;font-size:.8rem}.footer a:hover{color:var(--orange)}
dialog{color:var(--black);border:0;padding:0}dialog::backdrop{background:#08080be8;backdrop-filter:blur(5px)}.mobile-menu{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;background:var(--orange);margin:0;padding:1rem var(--gutter) 2rem;overflow:auto}.mobile-menu[open]{display:flex;flex-direction:column}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.menu-top .brand-dot{color:var(--black)}.mobile-menu nav{display:flex;flex-direction:column;margin:auto 0;padding:2rem 0;gap:.1rem}.mobile-menu nav a{font-family:var(--heading);font-size:clamp(1.8rem,7vw,3.5rem);letter-spacing:-.045em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #14141655;display:flex;justify-content:space-between;align-items:center;line-height:1.25;padding:.45rem 0}.mobile-menu nav a span{font-family:var(--body);font-size:.7rem;letter-spacing:0}.menu-instagram{font-size:.85rem;font-weight:800}.lightbox{position:fixed;inset:0;width:100%;height:100%;max-height:none;max-width:none;background:transparent;color:var(--cream);margin:0;padding:5rem 3.5rem 2rem}.lightbox[open]{display:grid;place-items:center}.lightbox figure{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem}.lightbox figure>img{object-fit:contain;width:auto;max-width:100%;max-height:calc(100dvh - 16rem);min-height:0}.lightbox figcaption{text-align:center;font-size:.8rem;max-width:750px}.lightbox figcaption>span:first-child{font-family:var(--heading);font-size:1.1rem}#lightbox-caption:empty{display:none}#lightbox-count{display:block;font-size:.75rem;color:var(--muted);margin-top:.5rem}.lightbox .icon-button{position:absolute;width:42px;height:42px;font-size:1.5rem}.lightbox-close{top:1rem;right:1rem}.lightbox-prev{left:.5rem;top:45%}.lightbox-next{right:.5rem;top:45%}.imprint{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:90dvh;background:var(--cream);margin:0;overflow:auto;border-radius:0}.imprint[open]{animation:slide-up .35s ease-out}.imprint-inner{position:relative;max-width:1000px;margin:auto;padding:3rem var(--gutter)}.imprint .icon-button{position:absolute;right:var(--gutter);top:1.25rem}.imprint .eyebrow{margin-bottom:2rem}.imprint h2{font-size:clamp(2rem,6.5vw,5rem);margin-bottom:2rem}.imprint address{margin-bottom:2rem;font-size:1rem}@keyframes slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(min-width:600px){.header-booking{display:block}.hero h1{font-size:clamp(7rem,18vw,10rem)}.hero-photo{height:430px}.section{padding-block:4.5rem 5rem}.gallery{grid-template-columns:1fr 1fr}.section-heading{flex-direction:row;justify-content:space-between;align-items:end}.photo-symbol{display:block}.track{grid-template-columns:2rem 1fr minmax(240px,.9fr)}.track audio{grid-column:auto}.instagram-preview{height:260px}.instagram-gate{padding:2.5rem}.footer{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.shop-links{gap:1.25rem}.lightbox{padding-inline:5rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}}
@media(min-width:960px){:root{--header-height:84px}.desktop-nav{display:flex}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100dvh - var(--header-height));min-height:0}.hero-copy{padding-top:4rem;padding-bottom:5rem;z-index:1;padding-right:var(--gutter)}.hero h1{font-size:clamp(4rem,7vw,8rem);margin:2rem 0 2.5rem;white-space:nowrap}.hero-photo{margin:0;height:100%;min-height:0}.hero-photo>img{position:absolute;inset:0}.hero-photo>img{object-position:40% center}.hero .eyebrow{font-size:.7rem}.about-layout{grid-template-columns:1fr 1fr;gap:8%}.about-copy{padding-top:1rem}.about-copy p{font-size:1.05rem}.logo-stage{max-width:310px;min-height:230px;margin-top:2.5rem}.section-label{margin-bottom:3.5rem}.section{padding-block:5rem 6rem}.section-heading{margin-bottom:3rem}.track{grid-template-columns:4rem 1fr minmax(300px,.8fr);padding:2rem 0}.track h3{font-size:1.55rem}.track-number{font-size:1.25rem}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.5rem}.gallery-item:first-child{grid-column:auto}.shop-layout{grid-template-columns:1fr 1fr;gap:8%;align-items:center}.shop-links{align-items:start}.shop h3{font-size:1.6rem}.instagram-preview{height:400px}.instagram-gate{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--cream);width:510px;border:1px solid var(--black);box-shadow:8px 8px 0 var(--black);padding:1.5rem 2rem}.instagram-preview img{opacity:.9}.contact-layout{grid-template-columns:1.4fr 1fr;gap:8%}.contact address{justify-self:end}.footer{flex-wrap:nowrap}.footer>span{margin-left:auto;margin-right:2rem}.imprint-inner{padding-block:3.5rem}}
@media(min-width:1500px){.hero-copy{padding-top:5rem}.hero .eyebrow{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Inline icons share the surrounding text color and stay out of accessible names. */
.arrow-icon{display:inline-block;width:1.25em;height:1.25em;flex:none;vertical-align:middle}
.header-booking{align-items:center;gap:1rem}.header-booking .arrow-icon{width:1.1rem;height:1.1rem}
.button .arrow-icon{width:1.35rem;height:1.35rem}.gallery-caption .arrow-icon{width:1.5rem;height:1.5rem}
.booking-link .arrow-icon{width:.8em;height:.8em}.section-label .arrow-icon{width:1.3rem;height:1.3rem}
.icon-button .arrow-icon{width:1.4rem;height:1.4rem}
@media(min-width:600px){.header-booking{display:inline-flex}}

.streaming{background:var(--cream)}
.streaming-links{display:grid;border-top:1px solid var(--black)}
.streaming-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:88px;padding:1.25rem 0;border-bottom:1px solid var(--black);font-family:var(--heading);font-size:clamp(1.2rem,2.5vw,2rem);letter-spacing:-.04em;text-decoration:none;transition:color .2s,background .2s}
.streaming-link:hover{background:var(--purple)}
.streaming-link .arrow-icon{width:1.5rem;height:1.5rem}
.gallery-item:nth-child(4) img{object-position:center 70%}
@media(min-width:600px){.streaming-links{grid-template-columns:repeat(2,minmax(0,1fr))}.streaming-link{padding:1.5rem}.streaming-link:nth-child(odd){border-right:1px solid var(--black)}}
@media(min-width:960px){.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(1rem,5vh,5rem)}.hero h1{font-size:min(clamp(4rem,7vw,8rem),18vh);margin-block:clamp(.75rem,3vh,2rem)}.desktop-nav{gap:clamp(.75rem,1.5vw,1.5rem)}}

.streaming-name{display:inline-flex;align-items:center;gap:1rem;min-width:0}
.platform-icon{display:block;flex:none;width:2rem;height:2rem}
@media(min-width:960px){
  .instagram-content{margin-inline:0;border-inline:1px solid var(--black)}
  .instagram-frame{height:calc(66.6667vw + 240px)}
  .platform-icon{width:2.5rem;height:2.5rem}
}


.header-booking{border:2px solid transparent;transition:background-color .2s,color .2s,border-color .2s}
.header-booking:hover{background:#fff;color:var(--black);border-color:var(--black)}
.button-orange{background:var(--orange);color:var(--black)}


/* SVG symbols avoid emoji and platform-specific fallback glyphs on iOS. */
.symbol-icon{display:inline-block;width:1em;height:1em;vertical-align:middle;flex:none}
.tiny-star .symbol-icon,.logo-star .symbol-icon,.photo-symbol .symbol-icon,.album-sticker .symbol-icon{display:block}
.brand-dot .symbol-icon{display:block;width:.65em;height:.65em}
.icon-button .symbol-icon{width:1.35rem;height:1.35rem}
.menu-toggle .symbol-icon{width:28px;height:28px}
.instagram-icon .symbol-icon{width:.75em;height:.75em}
.album-sticker .symbol-icon{filter:drop-shadow(2px 2px 0 var(--black))}

/* Contrasting heading punctuation: dark orange on cream, purple on bright sections. */
.heading-period{color:var(--dark-orange)}
.music .heading-period{color:var(--lime)}
.photos .heading-period,.shop .heading-period,.instagram .heading-period,.contact .heading-period{color:var(--deep-purple)}

/* Keep full-width section backgrounds while centering their content. */
.section,.site-header,.footer{
  padding-inline:max(var(--gutter),calc((100% - var(--content-width)) / 2));
}

/* Center the hero copy within its half on very wide screens. */
@media(min-width:1920px){
  .hero-copy{align-items:center}
  .hero-copy-inner{width:max-content;max-width:100%;text-align:left}
  .hero-copy .eyebrow,.hero-copy .hero-actions{justify-content:flex-start}
}
