:root{--ink:#0b2932;--deep:#09232c;--teal:#123c49;--blue:#55b9e8;--cream:#f3f1e9;--muted:#adc0c3;--line:rgba(255,255,255,.17);--sans:"DM Sans",sans-serif;--display:"Oswald",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{position:absolute;top:-60px;left:16px;z-index:10;background:var(--cream);color:var(--ink);padding:10px}.skip-link:focus{top:10px}.site-header{height:82px;padding:0 clamp(22px,6vw,88px);display:flex;align-items:center;justify-content:space-between;background:#278dbc;border-bottom:1px solid rgba(255,255,255,.15);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;letter-spacing:.06em;font-size:18px}.brand img{filter:brightness(0) invert(1)}.brand-blue{color:#c5f1ff}.site-nav{display:flex;align-items:center;gap:clamp(18px,3.2vw,48px);font-size:12px;letter-spacing:.09em;text-transform:uppercase}.site-nav>a:not(.nav-book){color:#e1f6ff}.site-nav>a:hover,.social-links a:hover{color:#fff}.nav-book{border:1px solid rgba(255,255,255,.6);padding:10px 16px}.menu-toggle{display:none}.hero{min-height:650px;position:relative;padding:95px clamp(24px,9vw,140px) 105px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:5vw;background:radial-gradient(ellipse at 68% 47%,#174453 0,#103742 34%,var(--ink) 72%);overflow:hidden}.hero:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(85,185,232,.14);border-radius:50%;right:3%;top:9%;box-shadow:0 0 0 45px rgba(85,185,232,.025),0 0 0 95px rgba(85,185,232,.025);pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:610px}.eyebrow{display:flex;gap:12px;align-items:center;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.2em;margin:0 0 22px}.eyebrow-line{width:29px;height:1px;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08}h1{font-size:clamp(48px,6.8vw,92px);letter-spacing:-.025em;margin:0 0 22px;max-width:680px}h1 em,h2 em{color:var(--blue);font-style:normal}.hero-intro{font-size:17px;color:#d0dddc;max-width:440px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}.button{display:inline-flex;align-items:center;gap:25px;padding:14px 19px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:var(--deep)}.button-blue:hover{background:#8bd8f6}.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;border-bottom:1px solid var(--blue);padding:8px 0}.text-link span{color:var(--blue);margin-left:8px}.hero-meta{display:flex;gap:22px;margin-top:49px;color:#a9c5ca;font-size:11px;letter-spacing:.03em}.hero-meta span+span{border-left:1px solid var(--line);padding-left:22px}.hero-art{height:min(390px,37vw);min-height:300px;position:relative;z-index:1;border:1px solid rgba(255,255,255,.14);background:linear-gradient(142deg,#55b9e8 0%,#1a6d88 33%,#132b36 33.2%,#1b2328 100%);box-shadow:20px 20px 0 rgba(4,20,26,.36);overflow:hidden;padding:23px 26px;display:flex;flex-direction:column;justify-content:space-between}.hero-art:before{content:"";position:absolute;inset:44% 0 0;background:linear-gradient(0deg,rgba(5,16,21,.95),transparent);z-index:0}.hero-art-top,.hero-art-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--display);letter-spacing:.1em;font-size:clamp(15px,2.3vw,27px);line-height:.95}.hero-art-top strong{color:#092a36}.art-symbol{font-size:70px;color:var(--deep);transform:rotate(-18deg)}.hero-art-bottom{align-items:flex-end;font-family:var(--sans);font-size:9px;letter-spacing:.21em}.guitar-disc{position:absolute;left:45%;top:53%;transform:translate(-50%,-50%) rotate(-18deg);width:180px;height:180px}.guitar-body{position:absolute;width:120px;height:144px;border-radius:48% 48% 44% 44%;background:radial-gradient(ellipse at 42% 30%,#ffd38b 0,#c47c37 43%,#5b362b 72%,#151c20 74%);left:30px;top:34px;box-shadow:inset -12px -8px 15px #101b20,0 13px 20px #09171c}.guitar-neck{position:absolute;width:27px;height:175px;background:linear-gradient(90deg,#472d22,#b57a41 40%,#593822 73%);left:76px;top:-95px;transform:rotate(8deg);z-index:1;border-radius:5px}.guitar-hole{position:absolute;width:30px;height:30px;border-radius:50%;background:#38251d;border:3px solid #e5ab60;left:75px;top:86px;z-index:2}.photo-note{position:absolute;right:10px;bottom:50px;z-index:2;background:rgba(5,24,30,.82);padding:6px 9px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#acd6e4}.hero-scroll{position:absolute;bottom:25px;left:clamp(24px,9vw,140px);display:flex;gap:12px;align-items:center;color:#829da3;font-size:8px;letter-spacing:.2em}.hero-scroll span{width:28px;height:1px;background:var(--blue)}.ticker{overflow:hidden;background:var(--blue);color:var(--deep);font-family:var(--display);font-size:18px;letter-spacing:.13em;white-space:nowrap;padding:14px 0}.ticker div{width:max-content;animation:marquee 38s linear infinite}.ticker i{font-style:normal;padding:0 20px;color:#f2f1e9}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:105px clamp(24px,12vw,180px)}.shows{background:var(--cream);color:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:43px}.section-heading .eyebrow,.music .eyebrow,.about .eyebrow,.contact .eyebrow{color:#278dbc}.section-heading .eyebrow-line,.music .eyebrow-line,.about .eyebrow-line,.contact .eyebrow-line{background:#278dbc}.section h2,.music h2,.about h2,.contact h2{font-size:clamp(42px,5vw,66px);margin:0}.section-aside{font-size:12px;color:#557077;text-align:right;margin:0 0 5px}.show-card{border-top:1px solid #cbd5d0;border-bottom:1px solid #cbd5d0;padding:28px 0;display:grid;grid-template-columns:150px 1fr 55px;align-items:center;gap:34px}.show-date{width:120px;height:120px;border:1px solid #a5bdbe;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#317993}.show-date span{font-size:9px;font-weight:700;letter-spacing:.16em}.show-date strong{font:600 43px/1.1 var(--display);color:var(--ink)}.show-details .show-tag{font-size:9px;color:#3287a1;font-weight:700;letter-spacing:.16em;margin:0 0 8px}.show-details h3{font-size:clamp(23px,3vw,36px);margin:0 0 5px}.show-details>p{margin-bottom:5px}.show-details>p:not(.show-tag){color:#4b6268;font-size:13px}.show-details .show-description{max-width:610px!important;margin-top:12px!important;line-height:1.7}.round-arrow{width:49px;height:49px;border:1px solid #8aabb0;border-radius:50%;display:grid;place-items:center;font-size:19px;transition:.2s}.round-arrow:hover{background:var(--ink);color:white}.show-footnote{font-size:10px;color:#688087;margin:15px 0 0}.music{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:var(--deep)}.music-copy p:not(.eyebrow){color:#adc0c3;font-size:14px;max-width:390px;margin:24px 0}.music-copy .text-link{display:inline-block}.video-frame{position:relative;aspect-ratio:16/9;background:linear-gradient(145deg,#1b586a,#081c23);border:1px solid rgba(255,255,255,.18);box-shadow:14px 14px 0 rgba(0,0,0,.2)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.about{padding:91px clamp(24px,12vw,180px);background:#e4e7de;color:var(--ink);display:grid;grid-template-columns:130px 1fr auto;gap:34px;align-items:center}.about-mark{width:114px;height:114px;border-radius:50%;background:#278dbc;display:grid;place-items:center}.about-mark img{width:65px;filter:brightness(0) invert(1)}.about h2{font-size:clamp(36px,4vw,56px)}.about>div:nth-child(2)>p:last-child{font-size:13px;color:#496168;max-width:550px;margin:18px 0 0}.about-badges{display:flex;flex-direction:column;gap:8px}.about-badges span{border:1px solid #9fb6b5;padding:7px 10px;font-size:8px;font-weight:700;letter-spacing:.16em;white-space:nowrap}.contact{padding:105px clamp(24px,12vw,180px);display:grid;grid-template-columns:1fr .65fr;gap:10vw;align-items:end;background:radial-gradient(ellipse at 88% 42%,#174b5c,transparent 50%),var(--ink)}.contact h2{font-size:clamp(56px,7vw,88px)}.contact>div:first-child>p:not(.eyebrow){color:#b0c3c4;margin:18px 0 24px;font-size:14px}.button-light{background:var(--cream);color:var(--ink)}.button-light:hover{background:white}.contact-links{border-top:1px solid var(--line)}.contact-links a{border-bottom:1px solid var(--line);padding:19px 0;display:grid;grid-template-columns:120px 1fr 18px;align-items:center;font-size:13px}.contact-links a span{font-size:8px;color:var(--blue);letter-spacing:.17em;font-weight:700}.contact-links a b{color:var(--blue)}.site-footer{padding:26px clamp(24px,6vw,88px);background:#061a20;display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-brand{font-size:15px}.social-links{display:flex;gap:23px;font-size:10px;color:#bbccca}.copyright{font-size:9px;color:#799196;letter-spacing:.08em}.site-footer .brand-blue{color:var(--blue)}
@media(max-width:800px){.site-header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:12px;z-index:2}.menu-toggle span{width:24px;height:2px;background:#fff}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;background:#197da5;padding:22px 26px 28px;flex-direction:column;align-items:flex-start;gap:18px}.site-nav.open{display:flex}.nav-book{margin-top:5px}.hero{grid-template-columns:1fr;padding:75px 26px 80px;gap:45px}.hero-art{height:350px;min-height:280px;width:min(100%,560px);justify-self:center}.hero-scroll{left:26px}.hero-meta{flex-wrap:wrap;gap:10px 15px;margin-top:34px}.hero-meta span+span{padding-left:15px}.section{padding:77px 26px}.section-heading{align-items:start;gap:20px}.section-aside{display:none}.music{grid-template-columns:1fr;gap:38px}.about{padding:70px 26px;grid-template-columns:74px 1fr;gap:22px}.about-mark{width:70px;height:70px}.about-mark img{width:42px}.about-badges{grid-column:2;flex-direction:row;flex-wrap:wrap}.contact{padding:78px 26px;grid-template-columns:1fr;gap:45px}.show-card{grid-template-columns:95px 1fr 42px;gap:17px}.show-date{width:90px;height:100px}.show-date strong{font-size:36px}.site-footer{flex-wrap:wrap}.social-links{order:3;width:100%;justify-content:flex-start}}
@media(max-width:480px){h1{font-size:52px}.hero{padding-top:64px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-art{height:280px;min-height:0;padding:18px}.guitar-disc{transform:translate(-50%,-50%) scale(.8) rotate(-18deg)}.hero-art-bottom{font-size:7px}.section-heading{margin-bottom:30px}.show-card{grid-template-columns:1fr 42px;gap:15px}.show-date{grid-column:1/-1;width:100%;height:auto;padding:10px;flex-direction:row;gap:12px;justify-content:flex-start}.show-date strong{font-size:25px}.show-details{grid-column:1}.round-arrow{grid-column:2;grid-row:2}.about{grid-template-columns:1fr}.about-mark{display:none}.about-badges{grid-column:1}.contact-links a{grid-template-columns:90px 1fr 16px;font-size:11px}.site-footer{gap:17px}.copyright{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div{animation:none}*,*::before,*::after{transition-duration:.01ms!important}}

/* Keep the artist's supplied images intact: preserve their aspect ratio and show the full image. */
.brand img{display:block;width:auto;height:auto;max-height:54px;filter:none}
.hero-photo-wrap{position:relative;z-index:1;margin:0;width:100%;align-self:center}
.hero-photo{display:block;width:100%;height:auto;object-fit:contain;border:0;box-shadow:none;filter:none}
.about-mark{width:auto;height:auto;background:transparent;border-radius:0;display:block}
.about-mark img{display:block;width:114px;height:auto;filter:none}
@media(max-width:800px){.about-mark{display:block}}
@media(max-width:480px){.about-mark{display:none}}

/* Open mic poster and social icon buttons */
.show-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,64px);padding:30px 0}
.show-poster{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#071720}
.show-details{padding:10px 0}
.show-details .show-schedule{margin-top:15px;color:var(--ink);font-size:13px;line-height:1.8}
.show-details .show-schedule strong{color:#237f9d}
.venue-link{display:inline-block;margin-top:10px;color:var(--ink)}
.social-links{display:flex;align-items:center;gap:11px}
.social-button{width:40px;height:40px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;color:#d8e7e6;transition:background .2s,color .2s,transform .2s}
.social-button:hover{background:var(--blue);color:var(--deep);transform:translateY(-2px)}
.social-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-button svg .icon-fill{fill:currentColor;stroke:none}
.social-button svg .play-mark{fill:var(--deep);stroke:none}
.social-button span{font-size:22px;font-weight:700;font-family:Arial,sans-serif;font-style:italic}
@media(max-width:800px){.show-card{grid-template-columns:1fr;gap:18px}.show-poster{max-width:620px}.show-details{padding:0}.social-links{order:initial;width:auto}.site-footer{flex-wrap:wrap}.copyright{margin-left:auto}}
@media(max-width:480px){.social-button{width:36px;height:36px}.social-links{gap:8px}}

.calendar-intro{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:0 0 22px}
.calendar-intro>div{max-width:660px}
.calendar-intro .show-tag{margin:0 0 7px}
.calendar-intro h3,.open-mic-heading h3{font-size:clamp(25px,3vw,36px);margin:0 0 9px}
.calendar-intro>div>p:last-child,.open-mic-heading>p:last-child{max-width:650px;color:#4b6268;font-size:13px;margin:0;line-height:1.7}
.calendar-link{color:var(--ink);white-space:nowrap;margin-bottom:4px}
.calendar-frame{width:100%;height:620px;overflow:hidden;border:1px solid #b9cbd0;border-top:4px solid #278dbc;background:var(--cream);padding:10px;box-shadow:12px 12px 0 rgba(9,35,44,.12)}
.calendar-frame iframe{display:block;width:100%;height:100%;border:0}
.open-mic-heading{margin-top:62px}
.open-mic-heading .eyebrow{margin-bottom:12px}
.open-mic-heading h3{font-size:clamp(31px,4vw,46px)}
.show-card{border-top:0;margin-top:8px;padding-top:8px}
@media(max-width:800px){.calendar-intro{align-items:start;flex-direction:column;gap:16px}.calendar-frame{height:590px}.open-mic-heading{margin-top:48px}}
@media(max-width:480px){.calendar-frame{height:560px}.calendar-link{white-space:normal}}

/* Open mic poster and social icon buttons */
.show-card{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,64px);padding:30px 0}
.show-poster{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#071720}
.show-details{padding:10px 0}
.show-details .show-schedule{margin-top:15px;color:var(--ink);font-size:13px;line-height:1.8}
.show-details .show-schedule strong{color:#237f9d}
.venue-link{display:inline-block;margin-top:10px;color:var(--ink)}
.social-links{display:flex;align-items:center;gap:11px}
.social-button{width:40px;height:40px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;color:#d8e7e6;transition:background .2s,color .2s,transform .2s}
.social-button:hover{background:var(--blue);color:var(--deep);transform:translateY(-2px)}
.social-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-button svg .icon-fill{fill:currentColor;stroke:none}
.social-button svg .play-mark{fill:var(--deep);stroke:none}
.social-button span{font-size:22px;font-weight:700;font-family:Arial,sans-serif;font-style:italic}
@media(max-width:800px){.show-card{grid-template-columns:1fr;gap:18px}.show-poster{max-width:620px}.show-details{padding:0}.social-links{order:initial;width:auto}.site-footer{flex-wrap:wrap}.copyright{margin-left:auto}}
@media(max-width:480px){.social-button{width:36px;height:36px}.social-links{gap:8px}}


/* Make booking types easier to read at a glance. */
.hero-meta{font-size:16px;line-height:1.5}
@media(max-width:800px){.hero-meta{font-size:15px}}


/* Keep the supplied photo intact as the YouTube cover. */
.video-frame.video-cover{display:grid;place-items:center;overflow:hidden;background:#071720}
.video-cover>img{width:100%;height:100%;object-fit:contain}
.video-play{position:absolute;left:50%;top:50%;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:var(--deep);box-shadow:0 6px 28px rgba(0,0,0,.45);transform:translate(-50%,-50%);transition:transform .2s,background .2s}
.video-play svg{width:31px;height:31px;fill:currentColor;margin-left:4px}
.video-cover:hover .video-play{background:#8bd8f6;transform:translate(-50%,-50%) scale(1.08)}
.video-cover-label{position:absolute;right:16px;bottom:14px;padding:7px 10px;background:rgba(5,24,30,.84);color:#eaf8fb;font-size:10px;font-weight:700;letter-spacing:.1em}
.video-cover-label span{color:var(--blue);margin-left:5px}

@media(max-width:800px){.header-social-links{order:2;margin-left:auto;margin-right:8px}.site-header>.menu-toggle{order:3}}
@media(max-width:480px){.header-social-links{gap:6px}.header-social-links .social-button{width:32px;height:32px}.header-social-links .social-button svg{width:16px;height:16px}}
