.ar{
  --ink:#0A0908;
  --ivory:#F2EDE4;
  --ivory-dim:#cfc8ba;
  --ivory-dim2:#e4ded2;
  --wine:#4A1218;
  --teal:#123C42;
  --stage:#C1272D;
  --brass:#B08D57;
  --serif: "Fraunces", Georgia, serif;
  --sans: "Inter", -apple-system, sans-serif;
  --edge: 6.5vw;
  font-family: var(--sans);
  color: var(--ivory);
  background: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.ar *{ box-sizing: border-box; }
.ar img{ max-width: 100%; display: block; }
.ar h1, .ar h2, .ar h3{ font-family: var(--serif); font-weight: 600; letter-spacing: -0.01em; margin: 0; }
.ar p{ margin: 0; }
.ar a{ color: inherit; }
.ar .full-bleed{
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.ar .wrap{ max-width: 1180px; margin: 0 auto; padding-left: var(--edge); padding-right: var(--edge); }
.ar .eyebrow{ font-size: 0.72rem; letter-spacing: 0.14em; color: var(--brass); font-weight: 500; text-transform: uppercase; display:flex; align-items:center; gap:8px; }
.ar .eyebrow::before{ content: "\2014"; color: var(--brass); }

/* NAV */
.ar .nav{ position: fixed; top: 0; left: 0; right: 0; z-index: 50; display:flex; align-items:center; justify-content:space-between; padding: 22px var(--edge); transition: background .3s, padding .3s, border-color .3s; border-bottom: 1px solid transparent; }
.ar .nav.scrolled{ background: rgba(10,9,8,0.92); backdrop-filter: blur(8px); padding-top: 14px; padding-bottom: 14px; border-bottom-color: rgba(242,237,228,0.1); }
.ar .nav-logo{ font-family: var(--serif); font-size: 1.15rem; letter-spacing: 0.02em; color: var(--ivory); text-decoration:none; }
.ar .nav-links{ display:flex; align-items:center; gap: 30px; }
.ar .nav-links a{ font-size: 0.82rem; letter-spacing: 0.03em; color: var(--ivory-dim); text-decoration:none; }
.ar .nav-links a:hover{ color: var(--ivory); }
.ar .nav-lang{ display:flex; gap:8px; font-size:0.76rem; letter-spacing:0.04em; }
.ar .nav-lang a{ color: var(--ivory-dim); text-decoration:none; padding: 3px 6px; }
.ar .nav-lang a.active{ color: var(--brass); border-bottom: 1px solid var(--brass); }
.ar .nav-toggle{ display:none; background:none; border:none; color: var(--ivory); font-size:1.4rem; cursor:pointer; }

/* PILL BUTTONS */
.ar .btn{ display: inline-block; text-decoration: none; font-size: 0.82rem; padding: 14px 30px; border-radius: 999px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 500; font-family: var(--sans); transition: opacity .2s, transform .2s; }
.ar .btn:hover{ opacity: 0.85; transform: translateY(-1px); }
.ar .btn-solid{ background: var(--stage); color: var(--ivory); }
.ar .btn-outline{ border: 1px solid rgba(242,237,228,0.5); color: var(--ivory); }
.ar .btn-sm{ padding: 9px 20px; font-size: 0.72rem; }

.ar .section-head{ margin-bottom: 56px; max-width: 640px; }
.ar .section-head h2{ font-size: clamp(2rem, 4vw, 2.8rem); margin-top: 10px; color: var(--ivory); }
.ar .section-head p{ color: var(--ivory-dim); margin-top: 14px; font-size: 0.98rem; max-width: 520px; }

/* HERO */
.ar .hero{ position: relative; min-height: 100vh; display: flex; align-items: flex-end; overflow: hidden; background: var(--ink); }
.ar .hero-photo{ position: absolute; inset: 0; background-size: cover; background-position: center; }
.ar .hero-photo::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,9,8,0.25) 0%, rgba(10,9,8,0.55) 62%, rgba(10,9,8,0.92) 100%); }
.ar .hero-content{ position: relative; z-index: 2; padding: 0 var(--edge) 8vh; width: 100%; }
.ar .hero-title{ font-size: clamp(3rem, 9vw, 7rem); line-height: 0.94; color: var(--ivory); font-weight: 600; font-family: var(--serif); }
.ar .hero-tagline{ font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(1.1rem, 2.2vw, 1.7rem); color: var(--brass); margin-top: 10px; letter-spacing: 0.06em; text-transform: uppercase; }
.ar .hero-sub{ max-width: 440px; margin-top: 22px; color: var(--ivory-dim); font-size: 0.98rem; }
.ar .hero-line{ margin-top: 10px; font-size: 0.95rem; color: var(--ivory-dim); max-width: 440px; }
.ar .hero-location{ margin-top: 16px; font-size: 0.76rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brass); display: flex; align-items: center; gap: 8px; }
.ar .hero-location::before{ content: "\2014"; color: var(--brass); }
.ar .hero-ctas{ display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; }

/* LIVE VIDEO (right after hero -- a single video card, same scale as the other video cards) */
.ar .live{ padding: 90px 0 70px; background: var(--ink); }
.ar .live-head{ margin-bottom: 34px; max-width: 720px; }
.ar .live-head h2{ font-size: clamp(2.1rem, 4.6vw, 3.4rem); color: var(--ivory); margin-top: 10px; }
.ar .live-sub{ font-family: var(--serif); font-style: italic; color: var(--brass); font-size: 1.05rem; margin-top: 12px; }
.ar .video-card-main{ max-width: 620px; }

/* MORE LIVE (small video grid further down) */
.ar .more-live{ padding: 70px 0; background: var(--ink); border-top: 1px solid rgba(242,237,228,0.08); }
.ar .more-live h3{ font-family: var(--serif); font-weight: 600; font-size: 1.5rem; color: var(--ivory); margin: 8px 0 30px; }
.ar .video-grid-3{ grid-template-columns: repeat(3,1fr); }

/* BOOKING contact row */
.ar .booking-contacts{ display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 28px; }
.ar .booking-contacts a{ color: var(--brass); text-decoration: none; font-size: 0.92rem; border-bottom: 1px solid rgba(176,141,87,0.4); padding-bottom: 2px; }
.ar .booking-contacts a:hover{ border-color: var(--brass); }
.ar .booking-contacts a.icon-link{ display:inline-flex; align-items:center; gap:7px; }
.ar .booking-contacts a.icon-link svg{ width:14px; height:14px; fill:currentColor; flex-shrink:0; }
.ar .contact-group{ display:flex; flex-direction:column; gap:8px; }
.ar .contact-group-label{ font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color: var(--ivory-dim); width:100%; margin-top:4px; }

/* BOOKING press-kit row */
.ar .press-kit-row{ display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 34px; padding-top: 28px; border-top: 1px solid rgba(242,237,228,0.15); }
.ar .press-kit-label{ font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ivory-dim); margin-right: 4px; }

/* MARQUEE */
.ar .marquee{ background: var(--ink); border-top: 1px solid rgba(242,237,228,0.1); border-bottom: 1px solid rgba(242,237,228,0.1); padding: 26px 0; overflow: hidden; }
.ar .marquee-mask{ mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ar .marquee-track{ display:flex; width: max-content; animation: festivals-scroll 38s linear infinite; }
.ar .marquee-track span{ display:flex; align-items:center; font-family: var(--serif); font-size: 1.05rem; letter-spacing: 0.02em; color: var(--ivory-dim2); white-space:nowrap; padding: 0 28px; }
.ar .marquee-track span::after{ content:"\2726"; color: var(--brass); margin-left: 28px; font-size: 0.7rem; }
@keyframes festivals-scroll{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .ar .marquee-track{ animation: none; } }

/* STATEMENT */
.ar .statement{ padding: 100px var(--edge); background: var(--ink); border-top: 1px solid rgba(242,237,228,0.08); }
.ar .statement p{ font-family: var(--serif); font-weight: 400; font-size: clamp(1.4rem, 3.2vw, 2.4rem); line-height: 1.3; max-width: 820px; color: var(--ivory); }
.ar .statement .accent{ color: var(--brass); font-style: italic; }

/* FORMATIONS */
.ar .formations{ padding: 60px 0 20px; background: var(--ink); }
.ar .formation-row{ display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; padding: 60px var(--edge); border-top: 1px solid rgba(242,237,228,0.08); }
.ar .formation-row.reverse .f-photo{ order: 2; }
.ar .formation-row.reverse .f-text{ order: 1; }
.ar .f-photo img{ width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 2px; transition: transform .4s ease; }
.ar .f-number{ font-family: var(--serif); font-size: 0.85rem; color: var(--brass); }
.ar .f-text h3{ font-size: clamp(1.4rem,2.4vw,1.9rem); margin: 10px 0 14px; color: var(--ivory); }
.ar .f-text p{ color: var(--ivory-dim); font-size: 0.95rem; max-width: 420px; }
.ar .f-lineup{ font-size: 0.76rem; color: var(--brass); letter-spacing: 0.04em; margin-top: 14px; text-transform: uppercase; }
.ar .f-cta{ font-size: 0.76rem; color: var(--brass); letter-spacing: 0.06em; text-transform: uppercase; margin-top: 16px; }
.ar .f-cta::after{ content: " \2192"; }
.ar a.formation-row{ text-decoration: none; color: inherit; }
.ar a.formation-row:hover .f-photo img{ transform: scale(1.03); }
.ar a.formation-row:hover .f-cta{ color: var(--ivory); }

/* SHOWS (homepage teaser) */
.ar .shows{ padding: 90px 0 40px; background: var(--ink); border-top: 1px solid rgba(242,237,228,0.08); }
.ar .shows-list{ list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(242,237,228,0.12); max-width: 720px; }
.ar .shows-list li{ display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 20px 0; border-bottom: 1px solid rgba(242,237,228,0.12); font-size: 0.95rem; color: var(--ivory-dim); align-items: baseline; }
.ar .shows-list li b{ color: var(--ivory); font-family: var(--serif); font-weight: 500; min-width: 90px; }
.ar .shows-list li span{ flex: 1; }
.ar .shows-list li .f-cta{ margin-top: 0; }
.ar .shows-teaser-empty{ color: var(--ivory-dim); font-style: italic; font-size: 0.95rem; max-width: 620px; padding: 20px 0; border-top: 1px solid rgba(242,237,228,0.12); }
.ar .shows-teaser-empty a{ color: var(--brass); text-decoration: underline; }
.ar .shows-cta-row{ margin-top: 30px; }

/* AGENDA (full listing page) */
.ar .agenda-list{ display: flex; flex-direction: column; max-width: 760px; }
.ar .show-card{ display: flex; gap: 26px; padding: 32px 0; border-top: 1px solid rgba(242,237,228,0.12); }
.ar .agenda-list .show-card:last-child{ border-bottom: 1px solid rgba(242,237,228,0.12); }
.ar .show-card-photo{ width: 150px; flex: 0 0 150px; aspect-ratio: 4/3; overflow: hidden; border-radius: 2px; }
.ar .show-card-photo img{ width: 100%; height: 100%; object-fit: cover; }
.ar .show-card-body{ flex: 1; min-width: 0; }
.ar .show-card .sc-date{ font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brass); }
.ar .show-card h3{ font-size: 1.3rem; margin: 10px 0 8px; line-height: 1.3; }
.ar .show-card h3 a{ color: var(--ivory); text-decoration: none; }
.ar .show-card h3 a:hover{ color: var(--brass); }
.ar .show-card .sc-venue{ color: var(--ivory-dim); font-size: 0.95rem; }
.ar .show-card .sc-actions{ margin-top: 16px; display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.ar .agenda-past{ margin-top: 70px; opacity: 0.8; }
.ar .agenda-section-title{ font-family: var(--serif); font-weight: 600; font-size: 1.3rem; color: var(--ivory); margin: 0 0 8px; }

/* PROJECT PAGES (Blues Combo, Ale & Nicola, Mari & Ale) */
.ar .project-hero{ position: relative; min-height: 58vh; display: flex; align-items: flex-end; overflow: hidden; background: var(--ink); }
.ar .project-hero-photo{ position: absolute; inset: 0; background-size: cover; background-position: center; }
.ar .project-hero-photo::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(10,9,8,0.25) 0%, rgba(10,9,8,0.55) 55%, rgba(10,9,8,0.94) 100%); }
.ar .project-hero-content{ position: relative; z-index: 2; padding: 0 var(--edge) 7vh; width: 100%; }
.ar .project-hero-content h1{ font-size: clamp(2.2rem, 6vw, 4.2rem); color: var(--ivory); margin-top: 10px; line-height: 1.05; }
.ar .project-back{ display: inline-block; margin-top: 22px; font-size: 0.82rem; color: var(--brass); text-decoration: none; }
.ar .project-back:hover{ color: var(--ivory); }
.ar .project-body{ padding: 80px 0 60px; background: var(--ink); }
.ar .article-body .wp-block-embed-spotify iframe,
.ar .article-body .wp-embed-aspect-21-9 iframe{ aspect-ratio: 21/9; height: auto; }

/* PROOF (wine) */
.ar .proof{ background: var(--wine); padding: 100px 0; }
.ar .proof .wrap{ display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; }
.ar .proof-stats{ display: flex; flex-direction: column; gap: 30px; }
.ar .stat b{ font-family: var(--serif); font-size: 2.2rem; display: block; color: var(--ivory); }
.ar .stat span{ font-size: 0.85rem; color: var(--ivory-dim); }
.ar .proof-list{ list-style: none; display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; }
.ar .proof-list li{ border-bottom: 1px solid rgba(242,237,228,0.15); padding-bottom: 14px; font-size: 0.93rem; color: var(--ivory-dim); }
.ar .proof-list li b{ color: var(--ivory); font-weight: 500; }
.ar .proof-note{ color: var(--ivory-dim); margin-top: 36px; max-width: 700px; font-size: 0.93rem; }

/* OCCASIONS (teal) */
.ar .occasions{ background: var(--teal); padding: 100px 0; }
.ar .occasion-tags{ display: flex; flex-wrap: wrap; gap: 14px; }
.ar .occasion-tags span{ font-size: 0.82rem; letter-spacing: 0.02em; color: var(--ivory); border: 1px solid rgba(242,237,228,0.3); padding: 9px 18px; border-radius: 999px; }

/* MUSIC */
.ar .music{ padding: 100px 0; background: var(--ink); }
.ar .music-grid{ display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.ar .album{ display: block; position: relative; aspect-ratio: 1/1; border-radius: 2px; overflow: hidden; text-decoration: none; }
.ar .album img{ width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.ar .album:hover img{ transform: scale(1.05); }
.ar .album span{ position: absolute; bottom: 0; left: 0; right: 0; font-size: 0.66rem; color: var(--ivory); padding: 22px 10px 10px; background: linear-gradient(to top, rgba(10,9,8,0.92), rgba(10,9,8,0)); }
.ar .music-note{ margin-top: 30px; font-size: 0.85rem; color: var(--ivory-dim); font-style: italic; }
.ar .music-note a{ color: var(--brass); text-decoration: underline; }
.ar .video-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 46px; }
.ar .video-card{ position:relative; display:block; aspect-ratio: 16/9; border-radius: 2px; overflow:hidden; text-decoration:none; }
.ar .video-card img{ width:100%; height:100%; object-fit:cover; transition: transform .4s; }
.ar .video-card:hover img{ transform: scale(1.04); }
.ar .video-card::after{ content:""; position:absolute; inset:0; background: rgba(10,9,8,0.25); transition: background .3s; }
.ar .video-card:hover::after{ background: rgba(10,9,8,0.1); }
.ar .video-play{ position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); width:58px; height:58px; border-radius:50%; background: rgba(10,9,8,0.55); border: 1px solid rgba(242,237,228,0.6); display:flex; align-items:center; justify-content:center; color: var(--ivory); font-size:1.1rem; z-index:2; }
.ar .video-caption{ position:absolute; left:0; right:0; bottom:0; padding: 14px 16px 10px; font-size:0.78rem; color: var(--ivory); background: linear-gradient(to top, rgba(10,9,8,0.9), rgba(10,9,8,0)); z-index:2; }
.ar .stream-links{ display:flex; gap: 14px; margin-top: 26px; flex-wrap: wrap; }

/* SOCIAL ROW (footer) */
.ar .footer{ flex-wrap: wrap; }
.ar .social-row{ display:flex; gap:20px; }
.ar .social-row a{ text-decoration:none; color: var(--ivory-dim); font-size:0.78rem; letter-spacing:0.02em; }
.ar .social-row a:hover{ color: var(--brass); }

/* ABOUT (teal) */
.ar .about{ background: var(--teal); padding: 100px 0; }
.ar .about .wrap{ display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 60px; align-items: center; }
.ar .about-photo img{ width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 2px; }
.ar .about-text p{ color: var(--ivory-dim2); font-size: 1rem; max-width: 520px; margin-top: 16px; }
.ar .about-text h2{ font-size: clamp(2rem,4vw,2.5rem); color: var(--ivory); }
.ar .about-tags{ font-size: 0.74rem; letter-spacing: 0.06em; color: var(--brass); margin-top: 16px; text-transform: uppercase; }

/* RADAR */
.ar .radar{ padding: 100px 0; background: var(--ink); }
.ar .radar p.note{ color: var(--ivory-dim); max-width: 700px; font-style: italic; font-size: 0.98rem; }

/* BIO GALLERY */
.ar .bio-gallery{ background: var(--ink); padding: 100px 0; border-top: 1px solid rgba(242,237,228,0.08); }
.ar .bio-gallery-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.ar .bio-photo{ position: relative; aspect-ratio: 4/5; border-radius: 2px; overflow: hidden; }
.ar .bio-photo img{ width: 100%; height: 100%; object-fit: cover; }
.ar .bio-photo span{ position: absolute; bottom: 0; left: 0; right: 0; font-size: 0.68rem; letter-spacing: 0.03em; color: var(--ivory); padding: 20px 10px 10px; background: linear-gradient(to top, rgba(10,9,8,0.9), rgba(10,9,8,0)); }

/* BIO DISCOGRAPHY DETAIL LIST */
.ar .discog-list{ list-style: none; margin: 36px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.ar .discog-list li{ border-bottom: 1px solid rgba(242,237,228,0.1); padding-bottom: 16px; font-size: 0.92rem; color: var(--ivory-dim); }
.ar .discog-list li b{ color: var(--ivory); font-weight: 500; }

/* BIO TEACHING BLOCK */
.ar .teaching{ background: var(--teal); padding: 90px 0; }
.ar .teaching .wrap{ max-width: 760px; }
.ar .teaching p{ color: var(--ivory-dim2); font-size: 1rem; margin-top: 16px; }
.ar .teaching a{ color: var(--brass); text-decoration: underline; }

/* Journal teaser card (homepage) */
.ar .journal-teaser{ max-width: 620px; margin: 34px 0 32px; padding: 28px 30px; border: 1px solid rgba(176,141,87,0.35); }
.ar .journal-teaser .jt-date{ font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brass); }
.ar .journal-teaser h3{ font-size: 1.3rem; margin: 12px 0 12px; line-height: 1.3; }
.ar .journal-teaser h3 a{ color: var(--ivory); text-decoration: none; }
.ar .journal-teaser h3 a:hover{ color: var(--brass); }
.ar .journal-teaser p{ color: var(--ivory-dim); line-height: 1.6; font-size: 0.95rem; margin-bottom: 16px; }
.ar .journal-teaser .f-cta{ margin-top: 0; }

/* Journal archive page (home.php) */
.ar .journal-hero{ position: relative; overflow: hidden; min-height: 440px; display: flex; align-items: flex-end; background: var(--ink); }
.ar .journal-hero-art{ position: absolute; inset: 0; z-index: 0; }
.ar .journal-hero-art svg{ width: 100%; height: 100%; display: block; }
.ar .journal-hero::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,9,8,0.10) 0%, rgba(10,9,8,0.6) 60%, rgba(10,9,8,0.96) 100%); z-index: 1; }
.ar .journal-hero .wrap{ position: relative; z-index: 2; width: 100%; padding-top: 40px; padding-bottom: 56px; }
.ar .journal-hero h1{ font-size: clamp(2.4rem, 5vw, 3.6rem); color: var(--ivory); margin-top: 10px; }
.ar .journal-hero p{ font-family: var(--serif); font-style: italic; color: var(--brass); font-size: 1.05rem; margin-top: 14px; max-width: 560px; }
.ar .journal-list{ padding: 10px 0 100px; background: var(--ink); }
.ar .post-list{ display: flex; flex-direction: column; gap: 46px; max-width: 720px; }
.ar .post-card{ border-top: 1px solid rgba(242,237,228,0.12); padding-top: 34px; }
.ar .post-card .pc-date{ font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brass); }
.ar .post-card h2{ font-size: 1.6rem; margin: 12px 0 14px; line-height: 1.3; }
.ar .post-card h2 a{ color: var(--ivory); text-decoration: none; }
.ar .post-card h2 a:hover{ color: var(--brass); }
.ar .post-card p{ color: var(--ivory-dim); line-height: 1.65; font-size: 0.98rem; }
.ar .journal-pagination{ margin-top: 54px; display: flex; gap: 24px; font-size: 0.85rem; flex-wrap: wrap; }
.ar .journal-pagination a, .ar .journal-pagination span{ color: var(--brass); text-decoration: none; border-bottom: 1px solid rgba(176,141,87,0.4); padding-bottom: 2px; }
.ar .journal-pagination .current{ color: var(--ivory); border-color: transparent; font-weight: 600; }
.ar .journal-pagination a:hover{ color: var(--ivory); border-color: var(--ivory); }

/* Journal single post (single.php) */
.ar .article{ padding: 150px 0 110px; background: var(--ink); }
.ar .article-back{ display: inline-block; margin-bottom: 28px; font-size: 0.82rem; color: var(--brass); text-decoration: none; }
.ar .article-back:hover{ color: var(--ivory); }
.ar .article .eyebrow{ margin-bottom: 16px; }
.ar .article h1{ font-size: clamp(2rem, 4.4vw, 3rem); color: var(--ivory); line-height: 1.22; max-width: 800px; }
.ar .article-body{ max-width: 700px; margin-top: 36px; color: var(--ivory-dim); font-size: 1.05rem; line-height: 1.8; }
.ar .article-body p{ margin: 0 0 24px; }
.ar .article-body a{ color: var(--brass); text-decoration: underline; }
.ar .article-body figure{ margin: 34px 0; }
.ar .article-body iframe{ width: 100%; aspect-ratio: 16/9; height: auto; border: 0; display: block; }

/* BOOKING (wine) */
.ar .booking{ background: var(--wine); padding: 110px 0; }
.ar .booking h2{ font-size: clamp(2.2rem,5vw,3.2rem); color: var(--ivory); line-height: 1.1; max-width: 700px; }
.ar .booking p{ color: var(--ivory); max-width: 640px; font-size: 1.05rem; margin-top: 20px; }
.ar .booking .contact-line{ margin-top: 26px; font-size: 0.95rem; color: var(--brass); }

/* FOOTER */
.ar .footer{ background: var(--ink); padding: 40px var(--edge); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap: 14px; border-top: 1px solid rgba(242,237,228,0.08); font-size: 0.78rem; color: var(--ivory-dim); }
.ar .footer a{ text-decoration:none; color: var(--ivory-dim); }

.duo-gallery{ display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 46px; }
.duo-gallery img{ width:100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 2px; transition: transform .4s ease; }
.duo-gallery a{ display:block; overflow:hidden; border-radius: 2px; }
.duo-gallery a:hover img{ transform: scale(1.04); }

@media (max-width: 860px){
  .ar{ --edge: 6vw; }
  .ar .nav-toggle{ display:block; }
  .ar .nav-links{
    display:none;
    position: fixed;
    top: 0; left: 0; right: 0;
    padding: 90px var(--edge) 30px;
    background: rgba(10,9,8,0.98);
    backdrop-filter: blur(8px);
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    max-height: 100vh;
    overflow-y: auto;
  }
  .ar .nav-links.open{ display:flex; }
  .ar .nav-links a{ width:100%; padding: 14px 0; border-bottom: 1px solid rgba(242,237,228,0.1); font-size: 0.95rem; }
  .ar .nav-links a.btn{ width:auto; border-bottom:none; margin-top:18px; text-align:center; }
  .ar .nav-links .nav-lang{ margin-top:18px; }
  .ar .hero{ min-height: 88vh; }
  .ar .hero-ctas{ flex-direction: column; }
  .ar .hero-ctas .btn{ text-align: center; }
  .ar .formation-row, .ar .formation-row.reverse{ grid-template-columns: 1fr; gap: 22px; padding: 40px var(--edge); }
  .ar .formation-row .f-photo, .ar .formation-row.reverse .f-photo{ order: 1; }
  .ar .formation-row .f-text, .ar .formation-row.reverse .f-text{ order: 2; }
  .ar .f-photo img{ aspect-ratio: 16/10; }
  .ar .proof .wrap{ grid-template-columns: 1fr; gap: 40px; }
  .ar .duo-gallery{ grid-template-columns: repeat(2,1fr); }
  .ar .proof-stats{ flex-direction: row; flex-wrap: wrap; gap: 24px; }
  .ar .music-grid{ grid-template-columns: repeat(2,1fr); }

  .ar .about .wrap{ grid-template-columns: 1fr; gap: 30px; }
  .ar .about-photo img{ aspect-ratio: 4/5; object-position: center 20%; }
  .ar .shows-list li b{ min-width: 100%; }
  .ar .shows{ padding: 70px 0 30px; }
  .ar .show-card{ flex-direction: column; gap: 16px; }
  .ar .show-card-photo{ width: 100%; flex: none; aspect-ratio: 16/10; }
  .ar .project-hero{ min-height: 46vh; }
  .ar .project-hero-content h1{ font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .ar .footer{ flex-direction:column; align-items:flex-start; }
  .ar .video-grid, .ar .video-grid-3{ grid-template-columns: 1fr; }
  .ar .live{ padding: 60px 0 40px; }
  .ar .booking-contacts{ flex-direction: column; gap: 14px; }
  .ar .press-kit-row{ flex-direction: column; align-items: flex-start; gap: 12px; }
  .ar .journal-hero{ min-height: 300px; }
  .ar .journal-hero .wrap{ padding-top: 26px; padding-bottom: 34px; }
  .ar .article{ padding: 120px 0 70px; }
  .ar .journal-teaser{ padding: 22px 20px; }
  .ar .bio-gallery-grid{ grid-template-columns: repeat(2,1fr); }
  .ar .teaching{ padding: 60px 0; }
}

/* HIRE PAGE: FAQ accordion */
.ar .faq-section{ padding: 90px 0; background: var(--ink); border-top: 1px solid rgba(242,237,228,0.08); }
.ar .faq-list{ max-width: 760px; display: flex; flex-direction: column; }
.ar .faq-list details{ border-bottom: 1px solid rgba(242,237,228,0.15); padding: 22px 0; }
.ar .faq-list summary{ cursor: pointer; list-style: none; font-family: var(--serif); font-size: 1.1rem; color: var(--ivory); font-weight: 500; display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.ar .faq-list summary::-webkit-details-marker{ display: none; }
.ar .faq-list summary::after{ content: "+"; color: var(--brass); font-size: 1.4rem; font-family: var(--sans); flex-shrink: 0; transition: transform .2s; }
.ar .faq-list details[open] summary::after{ transform: rotate(45deg); }
.ar .faq-list .faq-answer{ margin-top: 16px; max-width: 660px; }
.ar .faq-list .faq-answer p{ color: var(--ivory-dim); font-size: 0.95rem; line-height: 1.7; }
.ar .faq-list .faq-answer a{ display: inline-block; margin-top: 10px; color: var(--brass); text-decoration: underline; font-size: 0.85rem; }

/* HIRE PAGE: Jetpack contact-form, dark-theme override */
.ar .booking-form{ margin-top: 50px; max-width: 640px; }
.ar .booking-form form.contact-form{ display: flex; flex-direction: column; gap: 20px; }
.ar .booking-form form.contact-form.submission-success{ display: none; }
.ar .booking-form .grunion-field-wrap{ display: flex; flex-direction: column; gap: 8px; }
.ar .booking-form .grunion-field-label{ font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ivory); font-weight: 500; font-family: var(--sans); }
.ar .booking-form .grunion-label-required{ color: var(--brass); margin-left: 4px; font-weight: 400; text-transform: none; letter-spacing: 0; }
.ar .booking-form input.grunion-field,
.ar .booking-form select.grunion-field,
.ar .booking-form textarea.grunion-field{ width: 100%; background: rgba(242,237,228,0.06); border: 1px solid rgba(242,237,228,0.3); border-radius: 4px; padding: 13px 16px; color: var(--ivory); font-family: var(--sans); font-size: 0.95rem; line-height: 1.4; }
.ar .booking-form select.grunion-field{ appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B08D57' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; padding-right: 40px; }
.ar .booking-form select.grunion-field option{ background: var(--ink); color: var(--ivory); }
.ar .booking-form textarea.grunion-field{ min-height: 120px; resize: vertical; }
.ar .booking-form input.grunion-field::placeholder,
.ar .booking-form textarea.grunion-field::placeholder{ color: var(--ivory-dim); opacity: 0.6; }
.ar .booking-form input.grunion-field:focus,
.ar .booking-form select.grunion-field:focus,
.ar .booking-form textarea.grunion-field:focus{ outline: none; border-color: var(--brass); background-color: rgba(242,237,228,0.1); }
.ar .booking-form button[type="submit"]{ align-self: flex-start; background: var(--stage); color: var(--ivory); border: none; padding: 14px 34px; border-radius: 999px; font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 500; cursor: pointer; font-family: var(--sans); transition: opacity .2s, transform .2s; }
.ar .booking-form button[type="submit"]:hover{ opacity: 0.85; transform: translateY(-1px); }
.ar .booking-form .contact-form__input-error{ margin-top: 6px; font-size: 0.8rem; color: #ff9a8a; display: none; }
.ar .booking-form .contact-form__input-error.has-errors{ display: block; }
.ar .booking-form .contact-form__error{ display: none; margin-bottom: 4px; font-size: 0.85rem; color: #ff9a8a; }
.ar .booking-form .contact-form__error.show-errors{ display: block; }
.ar .booking-form .contact-form-submission{ display: none; padding: 24px 0; }
.ar .booking-form .contact-form-submission.submission-success{ display: block; }
.ar .booking-form .contact-form-submission h4{ font-family: var(--serif); color: var(--ivory); font-size: 1.3rem; }
.ar .booking-form .go-back-message a{ color: var(--brass); }

.duo-gallery{ display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 46px; }
.duo-gallery img{ width:100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 2px; transition: transform .4s ease; }
.duo-gallery a{ display:block; overflow:hidden; border-radius: 2px; }
.duo-gallery a:hover img{ transform: scale(1.04); }

@media (max-width: 860px){
  .ar .faq-section{ padding: 60px 0; }
  .ar .faq-list summary{ font-size: 1rem; }
  .ar .booking-form button[type="submit"]{ width: 100%; text-align: center; }
}
/* Wide (landscape) gallery variant, used on the Blues Combo page for full-band photos */
.duo-gallery.wide img{ aspect-ratio: 3/2; }
