:root{--accent:#4f98b2;--accent-dark:#2b6e86}
.topbar{height:86px;padding:0 clamp(1.2rem,3vw,3rem);background:linear-gradient(to bottom,rgba(10,14,12,.64),transparent)}
.brand-name{font-family:var(--sans);font-size:clamp(1rem,2.2vw,1.6rem);font-weight:600;letter-spacing:.2em}
.brand-role{font-size:.55rem;letter-spacing:.22em}
.brand{flex-direction:row;align-items:center;gap:.65rem}.brand-logo{width:46px;height:46px;flex:0 0 auto;object-fit:contain}.brand-copy{display:flex;min-width:0;flex-direction:column}
.hero-shade{background:linear-gradient(90deg,rgba(9,15,12,.7) 0%,rgba(9,15,12,.34) 48%,rgba(9,15,12,.18) 72%),linear-gradient(0deg,rgba(9,15,12,.72) 0%,transparent 48%)}
.hero-media img{object-position:60% 42%}
.hero-content{left:clamp(1.4rem,5vw,5rem);right:auto;bottom:calc(76px + 3.8rem);width:min(46rem,72vw);max-width:none}
.hero-kicker{color:#fff;font-size:.72rem;letter-spacing:.23em}
.hero h1{max-width:10ch;font-family:var(--sans);font-size:clamp(3.2rem,7.4vw,7rem);font-weight:500;line-height:.91;letter-spacing:-.055em}
.hero-summary{max-width:35rem;margin-top:1.2rem;font-size:1rem}
.hero .empty-home-copy{display:none!important}
.button{border-radius:0;min-width:9.5rem;padding:.82rem 1.3rem;letter-spacing:.06em;text-transform:uppercase}
.button-light{background:var(--accent);color:#fff}
.button-light:hover{background:var(--accent-dark)}
.button-ghost{background:rgba(15,22,18,.22)}
.explore-button{display:none}
.celebration-strip{position:absolute;z-index:3;left:0;right:0;bottom:0;height:76px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--accent)}
.celebration-strip a{position:relative;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.24);color:#fff;text-decoration:none;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero-buttons[hidden],.hero-buttons a[hidden],.celebration-strip[hidden],.celebration-strip a[hidden]{display:none!important}
.detail-cta[hidden]{display:none!important}
.hero-kicker,.hero h1,.button,.celebration-strip a,.side-menu nav strong,.detail-kicker,.detail-content h2,.faq-question{white-space:pre-line}
.faq-content summary .faq-question{color:inherit;font-size:inherit;transform:none}.faq-content details[open] summary .faq-question{transform:none}
.detail-view[data-page="samples"] .detail-cta,.detail-view[data-page="contact"] .detail-cta{display:inline-flex}
.celebration-strip a:last-child{border-right:0}.celebration-strip a:after{content:"↗";margin-left:.55rem;font-size:.75rem}.celebration-strip a:hover{background:rgba(255,255,255,.1)}
.side-menu{background:#202120;color:#f8f7f2}.side-menu nav span,.detail-kicker{color:#72b3ca}.side-menu nav a,.menu-top{border-color:rgba(255,255,255,.18)}.menu-close{color:#fff}.menu-footer{color:#b9c2bd}
.detail-image-wrap:after{content:"";position:absolute;inset:auto 0 0;height:8px;background:var(--accent)}
.detail-image-wrap{position:relative}.button-dark{background:var(--accent)}
@media(min-width:760px){.topbar{height:94px}.hero-content{width:min(40rem,60vw)}.hero h1{font-size:clamp(3.8rem,5.8vw,5.2rem)}.detail-content{padding-top:6rem}.detail-content h2{font-family:var(--sans);font-weight:500;letter-spacing:-.055em;line-height:.92}}
@media(max-width:759px){.topbar{height:74px}.brand-logo{width:40px;height:40px}.brand-name{font-size:.84rem;letter-spacing:.14em}.brand-role{font-size:.48rem}.hero-shade{background:linear-gradient(0deg,rgba(9,15,12,.86) 0%,rgba(9,15,12,.26) 62%,rgba(9,15,12,.22) 100%)}.hero-content{left:1.2rem;right:1.2rem;bottom:calc(66px + 2.25rem);width:auto;text-align:center}.hero-kicker{font-size:.62rem}.hero h1{max-width:9ch;margin-inline:auto;font-size:clamp(2.9rem,13.5vw,4.35rem)}.hero-summary{max-width:28rem;margin:1rem auto 1.25rem}.hero-buttons{justify-content:center}.hero-buttons .button{flex:1;min-width:0;font-size:.67rem}.celebration-strip{height:66px}.celebration-strip a{font-size:.6rem;letter-spacing:.08em}.celebration-strip a:after{display:none}}
@media(max-width:759px){.detail-view{height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.detail-view.hide-page-header-image .detail-content{padding-top:calc(74px + 1.2rem + env(safe-area-inset-top))}.detail-content{padding-bottom:calc(8rem + env(safe-area-inset-bottom))}}
@media(max-width:390px){.brand-role,.menu-label{display:none}.brand{gap:.5rem}.brand-logo{width:36px;height:36px}.language-switch{font-size:.58rem}.hero-content{bottom:calc(62px + 1.6rem)}.celebration-strip{height:62px}}
.detail-view[data-page="faq"] .detail-list,.detail-view[data-page="calendar"] .detail-list,.detail-view[data-page="call"] .detail-list{display:none}
.faq-content,.calendar-content,.call-content{max-width:44rem;margin-top:.5rem}.faq-content details{border-bottom:1px solid var(--line);background:#202120;color:#f7f5ef}.faq-content details:first-child{border-top:6px solid var(--accent)}.faq-content summary{padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;cursor:pointer;list-style:none}.faq-content summary::-webkit-details-marker{display:none}.faq-content summary span{color:#72b3ca;font-size:1.3rem}.faq-content details[open] summary span{transform:rotate(45deg)}.faq-content details p{margin:0;padding:0 1.15rem 1.15rem;color:#cfd5d1;line-height:1.6;font-size:.9rem}
.calendar-content{padding:1rem;background:#202120;color:#f7f5ef;border-top:6px solid var(--accent)}.calendar-toolbar{padding:.25rem 0 1rem;display:flex;align-items:center;justify-content:space-between}.calendar-toolbar strong{text-transform:capitalize}.calendar-toolbar button{width:2.2rem;height:2.2rem;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:.45rem .15rem;color:#8fc6d8;font-size:.62rem;text-align:center;text-transform:uppercase}.calendar-day{min-height:3.4rem;padding:.35rem;border:1px solid rgba(255,255,255,.1);margin:-1px 0 0 -1px;display:flex;flex-direction:column;gap:.2rem}.calendar-day b{font-size:.72rem}.calendar-day small{color:#9fd0df;font-size:.55rem}.calendar-day.empty{opacity:.22}.calendar-day.has-event{background:rgba(79,152,178,.18)}.calendar-note{margin:1rem 0 0;color:#b9c2bd;font-size:.72rem;line-height:1.5}
.call-content{padding:1.35rem;background:#202120;color:#f7f5ef;border-top:6px solid var(--accent)}.call-button{width:100%;background:var(--accent)}.call-button[aria-disabled="true"]{opacity:.62;cursor:not-allowed}.call-content p{margin:.85rem 0 0;color:#c7ceca;font-size:.78rem;line-height:1.5}
.detail-extra{max-width:38rem;margin:-.35rem 0 1.35rem}.detail-extra p{margin:0 0 .8rem;color:#536057;font-size:.92rem;line-height:1.65}
@media(max-height:760px){.side-menu nav a{min-height:2.9rem}.side-menu nav strong{font-size:1.25rem}.menu-footer{font-size:.58rem}}
.calendar-content{padding:0;background:transparent;color:var(--ink);border-top:0}.calendar-range{margin:0 0 1.5rem;padding:.85rem 1rem;background:var(--accent);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.gig-calendar{background:#202120;color:#f7f5ef}.gig-month{padding:1.25rem 1.1rem}.gig-month+.gig-month{border-top:1px solid rgba(255,255,255,.18)}.gig-month h3{margin:0 0 .75rem;color:#72b3ca;font:500 1.55rem var(--sans);letter-spacing:.06em;text-transform:uppercase}.gig-row{padding:.65rem 0;border-top:1px solid rgba(255,255,255,.11);display:grid;grid-template-columns:5.4rem 1fr;gap:1rem}.gig-date{display:flex;flex-direction:column}.gig-date strong{font:500 1.4rem var(--serif)}.gig-date span{color:#aeb9b3;font-size:.68rem}.gig-info{display:flex;flex-direction:column;justify-content:center;gap:.15rem}.gig-info b{font-size:.82rem}.gig-info span{color:#bfc7c2;font-size:.72rem}.gig-info span:before{content:"•";margin-right:.4rem;color:#72b3ca}
@media(min-width:900px){.gig-calendar{display:grid;grid-template-columns:repeat(2,1fr)}.gig-month+.gig-month{border-top:0}.gig-month:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}.gig-month:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}}
.gig-row{grid-template-columns:2.2rem 1fr;gap:.9rem;align-items:baseline}
.gig-date{display:block}
.gig-date strong{font:500 1.35rem var(--serif)}
.gig-info{display:block}
.gig-info b{font-size:.84rem;line-height:1.45}
.gig-info .gig-place{color:#bfc7c2;font-weight:400}
.gig-info .gig-place:before{content:none;margin:0}
@media(max-width:759px){.detail-image-wrap:after{display:none}}
.detail-view.hide-page-header-image{grid-template-columns:minmax(0,1fr)}
.detail-view.hide-page-header-image .detail-image-wrap{display:none}
.faq-content details:first-child{border-top:0}
body.images-loading .brand-logo,body.images-loading #hero-image,body.images-loading #detail-image{visibility:hidden}
#page-error{max-width:38rem;padding-top:clamp(2rem,8vh,6rem)}#page-error h2{max-width:12ch}#page-error-code{color:#4f98b2;font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.14em}

/* Compact, individual home-page shortcuts instead of a full-width footer bar. */
.celebration-strip{bottom:1rem;height:auto;padding:0 1rem;display:flex;align-items:center;justify-content:center;gap:.65rem;background:transparent}
.celebration-strip a{display:flex;flex:0 1 auto;min-width:9rem;min-height:3.1rem;padding:.7rem 1.25rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.72);background:var(--accent);font-size:.72rem;letter-spacing:.08em}
.celebration-strip a:hover{background:var(--accent-dark)}
.hero-content{bottom:calc(3.1rem + 3.2rem)}
@media(max-width:759px){.celebration-strip{bottom:.65rem;gap:.35rem;padding-inline:.65rem}.celebration-strip a{min-width:0;min-height:2.7rem;padding:.6rem .55rem;font-size:.55rem;letter-spacing:.035em}.celebration-strip a:after{display:none}.hero-content{bottom:calc(2.7rem + 2.1rem)}}
@media(max-width:390px){.celebration-strip{bottom:.5rem;gap:.25rem;padding-inline:.45rem}.celebration-strip a{padding-inline:.42rem;font-size:.51rem}.hero-content{bottom:calc(2.5rem + 1.8rem)}}
