/* Brand hierarchy: pink, turquoise, purple, blue. Ink on colored surfaces. */
:root{--primary:#f53aa4;--secondary:#0df8f2;--tertiary:#af4dda;--quaternary:#3cc4f3;--pink:#f53aa4;--electric:#0df8f2;--purple:#af4dda;--blue:#3cc4f3;--cyan:var(--secondary);--brand-main:var(--primary);--ink:#15101b;--paper:#fff5fa;--heading-ink:var(--tertiary)}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--primary);color:var(--ink)}
em{color:var(--heading-ink)}
.button,.nav-cta:hover{background:var(--primary);color:var(--ink);border-color:var(--primary)}
.button:hover,.button:focus-visible{background:var(--secondary);color:var(--ink);box-shadow:0 8px 26px #f53aa425}
.hero h1 em,.subhero h1 em,.page-hero em{color:var(--primary)}
.hero .hero-shade{background:linear-gradient(90deg,#100819f2 0%,#100819e6 38%,#100819b3 75%,#10081970),linear-gradient(0deg,#100819bb,transparent 70%)}
.subhero .hero-shade{background:linear-gradient(90deg,#100819f5,#100819e8 50%,#1008199c)}
.page-hero-media:after{background:linear-gradient(90deg,#130b1cf5,#130b1ce6 58%,#130b1cb3)}
.hero-content,.subhero-content{opacity:1!important}
.hero-description,.subhero-content>p:not(.eyebrow){color:#f3eaf6}
nav a:hover,.events-toggle:hover,.events-toggle[aria-expanded=true],.event-submenu .submenu-overview{color:var(--primary)}
.event-submenu a:hover,.event-submenu a:focus-visible{color:var(--secondary);background:#f53aa419}
.ticker{background:var(--primary);color:var(--ink)}.ticker-group>span,.ticker-group>i,.ticker-group>i:nth-of-type(n){color:var(--ink)}
.trust-section{background:#1e1228;color:#fff}.trust-section .eyebrow,.trust-grid article:first-child>span{color:var(--primary)}.trust-grid article:first-child{border-top-color:var(--primary)}.trust-grid article:nth-child(2){border-top-color:var(--secondary)}.trust-grid article:nth-child(2)>span{color:var(--secondary)}.trust-grid article:nth-child(3){border-top-color:var(--tertiary)}.trust-grid article:nth-child(3)>span{color:var(--tertiary)}.trust-grid article:nth-child(4){border-top-color:var(--quaternary)}.trust-grid article:nth-child(4)>span{color:var(--quaternary)}.trust-section h2 em{color:var(--primary)}.trust-grid p{color:#dfd2e7}
.travel-banner{background:var(--primary);color:var(--ink)}.travel-banner .eyebrow,.travel-banner h2 em,.travel-banner p:not(.eyebrow){color:var(--ink)}.travel-banner .button{background:var(--ink);color:var(--secondary)}.travel-banner .button:hover{background:var(--secondary);color:var(--ink)}
.events,.buyer-content{background:#f8e4ef}.event-detail,.repertoire-teaser{background:#fbebf3}.coverage-strip{background:#e4faf9}.coverage-strip em{color:var(--heading-ink)}.tour-section{background:#fff0f7}.tour-year>h3{color:var(--heading-ink)}.tour-highlight{background:#f53aa416}.tour-highlight h4{color:var(--heading-ink)}.tour-dates article:hover{background:#f53aa41c}
.event-row:before{background:var(--primary)}.event-row:hover,.event-row:hover h3,.event-row:hover .index,.event-row:hover .event-summary,.event-row:hover .arrow{color:var(--ink)}.event-row:focus-visible h3,.event-row:focus-visible .index,.event-row:focus-visible .event-summary{color:var(--ink)}
.index,.event-summary,.facts div>span{color:#5e515a}
.facts strong{color:var(--heading-ink)}
.live-section em{color:var(--primary)}.youtube-play{background:var(--primary);color:var(--ink);box-shadow:0 0 0 12px #f53aa41a}.youtube-start:hover .youtube-play{background:var(--secondary);color:var(--ink);box-shadow:0 0 0 22px #0df8f21a}
.closing{background:var(--secondary);color:var(--ink)}.closing .eyebrow,.closing h2,.closing em,.closing-promise{color:var(--ink)}.closing .button{background:var(--ink);color:var(--secondary)}.closing .button:hover,.closing .button:focus-visible{background:var(--primary);color:var(--ink)}.closing:before{color:#af4dda1a}
.genres .genre>span,.genres .genre h2{color:var(--primary)}.genres .genre:nth-child(2) h2{color:var(--secondary)}.genres .genre:nth-child(3) h2{color:var(--tertiary)}.genres .genre:nth-child(4) h2{color:var(--quaternary)}
.tags span:hover{background:var(--primary);color:var(--ink)}.text-link:hover,.related-links a:hover,.musician-grid figure:hover h3{color:var(--heading-ink)}
.floating-wa{background:var(--ink);color:var(--secondary);border-color:var(--primary)}.floating-wa:hover{background:var(--secondary);color:var(--ink)}
.contact.page-hero .eyebrow{color:var(--secondary)}.contact.page-hero form{background:#fff4fa;color:var(--ink)}.contact.page-hero form .small{color:#5f505a}.contact.page-hero form h2{color:var(--ink)}
input::placeholder,textarea::placeholder{color:#6e5e69;opacity:1}input,textarea,select{border-bottom-color:#85747f}
.skip{color:var(--ink);background:#fff}
.trust-grid article:nth-child(3)>span{color:var(--primary)}.show-status{color:#4c424a}
@media(prefers-reduced-motion:reduce){.hero-content,.subhero-content{opacity:1!important}}

/* Violet is reserved for large text on light surfaces (WCAG AA >=3:1). */
.tour-highlight h4,.text-link:hover,.related-links a:hover,.show-status{color:var(--ink)}
.live-section em{color:var(--tertiary)}
.hero h1{font-size:clamp(58px,6.2vw,88px);line-height:1;max-width:760px}
.hero-content{padding-top:48px;max-width:1050px}
.hero-tagline,.subhero-content>p.hero-tagline{font:600 clamp(24px,2.6vw,36px)/1.15 'Barlow Condensed','Arial Narrow',sans-serif;max-width:650px;margin-top:22px;color:var(--primary)}
.hero-description{font-size:16px;max-width:680px;margin-top:18px}
.hero-actions{margin-top:24px}
.subhero h1{font-size:clamp(54px,5.8vw,82px);line-height:1.04;max-width:850px}
.subhero-content{max-width:1150px}
.subhero-content>p.hero-tagline em{color:var(--primary)}
.bridge-links{display:flex;flex-wrap:wrap;gap:8px 28px}
@media(max-width:700px){.hero{min-height:800px;height:auto}.hero-content{padding:48px 6% 125px}.hero h1{font-size:clamp(52px,12.6vw,70px)}.hero-tagline,.subhero-content>p.hero-tagline{font-size:27px}.hero-description{font-size:14px}.subhero h1{font-size:52px}.subhero-content{padding-top:60px;padding-bottom:65px}.search-bridge h2{font-size:48px}}

/* The tour anchor starts at its visual introduction, above the dates. */
#gira,#gira:target{scroll-margin-top:0}
html:has(#gira:target){scroll-padding-top:0}
.tour-hero{background:var(--ink);color:white;overflow:hidden}
.tour-hero-copy{display:grid;grid-template-columns:1.35fr 1fr;gap:8%;padding:70px 7% 50px;align-items:end}
.tour-hero .eyebrow{color:var(--secondary);margin-bottom:22px}
.tour-hero h2{font-size:clamp(52px,5.5vw,80px)}
.tour-hero h2 em{color:var(--primary)}
.tour-hero-description{font-size:14px;line-height:1.8;max-width:440px}
.tour-hero-label{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--secondary)}
.tour-hero-description p+p{margin-top:12px}
.tour-hero-description .tour-public-note{font-size:12px;color:white;border-left:2px solid var(--primary);padding-left:15px}
.tour-hero-image{margin:0;position:relative;overflow:hidden;aspect-ratio:2.45;background:var(--ink)}
.tour-hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 64%;display:block}
.tour-hero-image:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#15101bee,transparent 24%)}
.tour-hero-image figcaption{position:absolute;z-index:1;bottom:24px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:1.3px;color:white}
.tour-body{padding-top:60px}.tour-body .tour-intro{margin-bottom:20px}
@media(max-width:700px){.tour-hero-copy{grid-template-columns:1fr;gap:30px;padding:50px 6% 34px}.tour-hero h2{font-size:52px}.tour-hero-description{font-size:14px;max-width:none}.tour-hero-image{aspect-ratio:1.45}.tour-hero-image img{object-position:50% 60%}.tour-hero-image figcaption{bottom:14px;left:6%;right:6%;font-size:8px;letter-spacing:.6px}.tour-hero-image figcaption span{display:none}.tour-body{padding-top:40px}}

/* A concert-poster footer with distinct navigation and booking areas. */
.site-footer{padding:0 7% 28px;background:var(--ink);color:white;position:relative;overflow:hidden;border-top:1px solid var(--primary)}
.footer-signal{margin:0 -8.2%;padding:15px 3%;display:flex;justify-content:space-around;align-items:center;gap:22px;background:var(--primary);color:var(--ink);font-size:11px;font-weight:700;letter-spacing:1.4px;white-space:nowrap}
.footer-signal i{font-style:normal;font-size:24px;line-height:1}
.footer-main{display:grid;grid-template-columns:.85fr 1.35fr 1fr;gap:6%;padding:60px 0 44px;align-items:start}
.footer-logo{display:inline-block}.footer-logo img{height:145px;width:145px;object-fit:contain;transition:transform .3s}.footer-logo:hover img{transform:rotate(-4deg) scale(1.04)}
.footer-manifesto{font-size:14px;line-height:1.8;margin-top:20px}.footer-manifesto strong{font-weight:600;color:var(--secondary)}
.footer-territory{font-size:11px;line-height:1.8;margin-top:18px;color:white}
.footer-explore h2{font-size:clamp(32px,3.2vw,48px);line-height:1.03;margin-bottom:26px}.footer-explore h2 em{color:var(--primary)}
.footer-event-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.footer-event-links a{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:48px;padding:12px 0;border-bottom:1px solid #ffffff30;font-size:12px;line-height:1.5;transition:color .2s,padding .2s}
.footer-event-links a span{color:var(--secondary)}.footer-event-links a:hover{color:var(--secondary);padding-left:5px}
.footer-contact{padding:24px;border:1px solid var(--tertiary);background:linear-gradient(145deg,#af4dda22,transparent);position:relative}
.footer-label{font-size:9px;letter-spacing:1.1px;font-weight:700;color:var(--secondary);margin-bottom:20px}
.footer-contact-cta{font:600 clamp(40px,4.2vw,62px)/.98 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.02em;display:block;position:relative;color:white;padding-right:20px}
.footer-contact-cta>span{position:absolute;right:0;top:4px;color:var(--primary);font-size:36px;transition:transform .2s}.footer-contact-cta:hover>span{transform:translate(3px,-3px)}
.footer-phone,.footer-email{display:block;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.footer-phone{margin-top:24px;color:var(--secondary)}.footer-email{margin-top:5px}
.footer-quote{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;background:var(--primary);color:var(--ink);font-size:12px;font-weight:700;padding:12px 14px}.footer-quote:hover{background:var(--secondary)}
.footer-utility{border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}
.footer-page-links{display:flex;gap:25px;flex-wrap:wrap}.footer-page-links a:hover,.footer-back-top:hover,.footer-signature a:hover{color:var(--secondary)}
.footer-back-top{color:var(--secondary);white-space:nowrap}
.footer-signature{padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;line-height:1.8}.footer-signature p{margin:0}.footer-signature p a{color:var(--secondary);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1.5fr;gap:40px}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.footer-contact .footer-label,.footer-contact-cta{grid-column:1;grid-row:auto}.footer-phone{grid-column:2;grid-row:1;margin-top:0}.footer-email{grid-column:2;grid-row:2;align-self:start}.footer-quote{grid-column:2;grid-row:2;align-self:end;margin-top:50px}.footer-contact-cta{font-size:54px}.footer-contact-cta>span{right:15%}}
@media(max-width:700px){.site-footer{padding:0 6% 90px}.footer-signal{justify-content:flex-start;gap:18px;font-size:9px;padding:14px 6.5%}.footer-signal span:nth-of-type(n+3),.footer-signal i:nth-of-type(n+2){display:none}.footer-main{grid-template-columns:1fr;gap:35px;padding:36px 0}.footer-identity{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center}.footer-logo img{width:100px;height:100px}.footer-manifesto{margin:0;font-size:12px}.footer-territory{grid-column:1/-1;margin-top:0;font-size:12px}.footer-explore h2{font-size:40px;margin-bottom:18px}.footer-event-links{gap:0 20px}.footer-event-links a{font-size:12px;min-height:52px}.footer-contact{grid-column:auto;display:block;padding:24px}.footer-contact-cta{font-size:56px}.footer-contact-cta>span{right:0}.footer-phone{margin-top:22px}.footer-quote{margin-top:22px}.footer-utility{align-items:flex-start}.footer-page-links{gap:12px 20px}.footer-back-top{font-size:11px}.footer-signature{align-items:flex-start;font-size:11px;gap:18px;flex-wrap:wrap}.footer-signature p{max-width:260px}}
@media(prefers-reduced-motion:reduce){.footer-logo:hover img{transform:none}}

/* Genuine client identities remain in their original colors. */
.clients-section{background:var(--paper);padding-top:76px;padding-bottom:65px;border-bottom:1px solid #af4dda30}
.clients-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:36px}
.clients-heading .eyebrow{color:var(--ink);margin-bottom:15px}
.clients-heading h2{font-size:clamp(42px,4.4vw,62px);line-height:1.02}
.clients-heading h2 em{color:var(--tertiary)}
.clients-heading>p{max-width:355px;font-size:14px;line-height:1.8;color:var(--ink)}
.client-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.client-card{margin:0;padding:22px 16px 18px;background:white;border:1px solid #af4dda30;display:flex;align-items:center;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.client-card:hover{transform:translateY(-5px);border-color:var(--primary);box-shadow:0 10px 25px #af4dda12}
.client-logo-frame{height:110px;width:100%;display:flex;align-items:center;justify-content:center}
.client-logo-frame img{width:100%;height:100%;object-fit:contain;max-width:165px;filter:none}
.client-tecsup img{max-width:210px;height:auto;max-height:90px}
.client-card figcaption{font-size:12px;line-height:1.55;font-weight:600;text-align:center;color:var(--ink);margin-top:20px;min-height:38px;display:flex;align-items:center;justify-content:center}
.clients-footnote{margin-top:26px;font-size:12px;color:var(--ink);text-align:center}
.clients-compact{padding-top:60px;padding-bottom:50px}.clients-compact .clients-heading h2{font-size:48px}
@media(max-width:1000px){.client-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.clients-heading{gap:30px}.clients-heading>p{max-width:300px}}
@media(max-width:700px){.clients-section,.clients-compact{padding:50px 6%}.clients-heading{display:block;margin-bottom:26px}.clients-heading h2,.clients-compact .clients-heading h2{font-size:44px}.clients-heading>p{max-width:none;margin-top:22px;font-size:14px}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-card{padding:20px 12px 16px}.client-logo-frame{height:100px}.client-card figcaption{font-size:11px;margin-top:15px;min-height:35px}.client-card:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}.clients-footnote{text-align:left;font-size:12px}}
@media(prefers-reduced-motion:reduce){.client-card{transition:none}.client-card:hover{transform:none}}

/* Dedicated tour page and a concise invitation on the home page. */
.tour-hero h1{font-size:clamp(58px,6vw,90px);line-height:1.02}.tour-hero h1 em{color:var(--primary)}
.tour-upcoming{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 0 55px;border-bottom:1px solid #af4dda50;margin-bottom:55px}
.tour-upcoming h2,.tour-history-heading h2{font-size:clamp(40px,4.2vw,60px);line-height:1.05}
.tour-upcoming h2 em,.tour-history-heading h2 em{color:var(--tertiary)}
.tour-upcoming .lead{font-size:23px;line-height:1.4;margin-bottom:20px}
.tour-upcoming>div>p:not(.eyebrow):not(.lead){font-size:14px;line-height:1.8}
.tour-history-heading{margin-bottom:26px}
.tour-teaser{display:grid;grid-template-columns:35% 1fr;background:var(--ink);color:white;overflow:hidden}
.tour-teaser-photo{position:relative;min-height:380px;overflow:hidden}.tour-teaser-photo img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:50% 58%}
.tour-teaser-copy{padding:55px 10% 55px 9%;align-self:center}.tour-teaser-copy .eyebrow{color:var(--secondary);margin-bottom:18px}.tour-teaser-copy h2{font-size:clamp(40px,4.2vw,60px);line-height:1.03}.tour-teaser-copy h2 em{color:var(--primary)}
.tour-teaser-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:22px 0;max-width:600px}
@media(max-width:700px){.tour-hero h1{font-size:58px}.tour-upcoming{grid-template-columns:1fr;gap:28px;padding-bottom:38px;margin-bottom:38px}.tour-upcoming h2,.tour-history-heading h2{font-size:44px}.tour-upcoming .lead{font-size:23px}.tour-teaser{grid-template-columns:1fr}.tour-teaser-photo{min-height:0;height:210px}.tour-teaser-photo img{object-position:50% 61%}.tour-teaser-copy{padding:35px 6% 42px}.tour-teaser-copy h2{font-size:43px}}
