:root{--ink:#151310;--bg:#171411;--paper:#f2eadc;--gold:#d8ae71;--muted:#b8aa9a;--line:#504438;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.skip-link{position:absolute;top:-100px;left:12px;background:white;color:black;padding:12px;z-index:50}.skip-link:focus{top:10px}
.site-header{position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff20}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font:600 34px/1 var(--serif);letter-spacing:-2px;display:flex;align-items:baseline;white-space:nowrap}.wordmark-dot{color:var(--gold)}.wordmark small{font:600 10px/1 var(--sans);letter-spacing:4px;margin-left:8px}.main-nav{display:flex;gap:31px;align-items:center}.main-nav a{font-size:12px;letter-spacing:.04em;color:#e0d7ca;transition:color .2s}.main-nav a:hover,.under-link:hover,.text-link:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:21px}.lang-switch{border:0;background:transparent;color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.08em;padding:8px}.header-book{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:1px solid #b6976f;padding:14px 18px;color:var(--gold)}.header-book:hover{background:var(--gold);color:#21170f}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;min-height:840px;background:radial-gradient(ellipse at 72% 42%,#523926 0%,#261d17 31%,#161310 75%);isolation:isolate}.hero-pattern{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 149px,#cbb28a09 150px),linear-gradient(180deg,#0004,transparent 30%,#0003);pointer-events:none}.hero:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.17'/%3E%3C/svg%3E");opacity:.16;pointer-events:none;z-index:-1}.hero-glow{position:absolute;right:10%;top:15%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#d6a76635 0%,transparent 68%);filter:blur(15px)}
.hero-layout{padding-top:145px;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:54px;min-height:780px}.hero-content{position:relative;z-index:2;padding-bottom:30px}.eyebrow,.overline{font-size:11px;letter-spacing:2.3px;color:var(--gold);font-weight:700}.eyebrow{display:flex;align-items:center;gap:15px}.eyebrow .line{width:27px;height:1px;background:var(--gold)}h1,h2,h3,p,blockquote{margin-top:0}.hero h1{font:400 clamp(58px,6.3vw,90px)/1.14 var(--serif);letter-spacing:-3.3px;margin:26px 0 29px;white-space:nowrap}.hero h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-fr{font:400 22px/1.65 var(--serif);max-width:560px}.hero-detail{font-size:13px;line-height:1.8;color:var(--muted);letter-spacing:.02em}.hero-buttons{display:flex;align-items:center;gap:29px;margin-top:39px}.btn{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:19px 24px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-gold{background:var(--gold);color:#211a12}.btn-gold:hover{background:#f0c993}.text-link,.under-link{font-size:12px;font-weight:700;letter-spacing:.055em;display:inline-flex;gap:15px;align-items:center}
.hero-media{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:20px;align-items:end}.hero-main-photo{position:relative;margin:0;background:#201813;border:1px solid #7d6142;box-shadow:0 30px 50px #0007;overflow:hidden;border-radius:22px}.hero-main-photo img{width:100%;height:620px;object-fit:cover;object-position:center}.hero-main-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#120f0bbf 100%)}.hero-main-photo figcaption{position:absolute;left:24px;bottom:20px;z-index:2;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#f4e5cf}.hero-stack{display:flex;flex-direction:column;gap:18px;padding-bottom:14px}.stack-photo{border-radius:18px;border:1px solid #7d6142;box-shadow:0 15px 35px #0007;height:205px;object-fit:cover;background:#241b15}.stack-photo-top{object-position:center}.stack-photo-bottom{object-position:center}
.hero-bottom{height:55px;display:flex;justify-content:space-between;color:#b5a08a;font-size:10px;letter-spacing:1.8px}.intro-strip{background:var(--gold);color:#2d2118}.intro-strip-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-strip p{font:400 20px/1.5 var(--serif);margin:0}.asterisk{font-size:33px}.strip-location{font-size:10px;letter-spacing:1.9px;white-space:nowrap}
.section{padding:134px 0}.about-section{background:#ece3d5;color:#272018}.about-header{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:end;margin-bottom:42px}.about-section .overline,.events-section .overline,.gallery-section .overline{color:#956c3d}h2{font:400 clamp(45px,4.25vw,65px)/1.19 var(--serif);letter-spacing:-1.5px;margin:25px 0 30px}h2 em{color:#ad8350}.section-copy{font-size:15px;line-height:2;color:#6e6052;max-width:525px}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.profile-card{background:#f6efe5;border:1px solid #d6c4ad;overflow:hidden;box-shadow:0 15px 30px #00000012}.profile-featured{grid-column:span 3;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch}.profile-photo{width:100%;height:100%;object-fit:cover;background:#ddd}.profile-featured .profile-photo{height:430px}.profile-copy{padding:24px 24px 28px}.profile-label{font-size:10px;letter-spacing:1.8px;color:#8b6e4f;font-weight:700}.profile-card h3{font:400 28px var(--serif);margin:10px 0 8px;color:#261d15}.profile-card p{font-size:14px;line-height:1.85;color:#665746;margin:0}.member-role{font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:#a0805c!important;margin-bottom:10px!important}.member-card .profile-photo{height:280px}
.music-section{background:#1b1814}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}.music-section h2 em,.events-section h2 em,.gallery-section h2 em{color:var(--gold)}.section-heading>p{max-width:320px;line-height:1.9;font-size:14px;color:#b8ab9a;margin-bottom:33px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0 23px}.filter{border:1px solid #584b3d;color:#c9b8a3;background:transparent;border-radius:0;padding:12px 18px;font-size:11px;letter-spacing:.04em}.filter.active,.filter:hover{border-color:var(--gold);color:#1f160d;background:var(--gold)}.song-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#514539;border:1px solid #514539}.song{background:#211c17;padding:27px 29px;min-height:118px;position:relative}.song-name{font:400 21px/1.35 var(--serif);margin:0 0 10px}.song-category{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#b69a75}.song-no{position:absolute;right:27px;top:29px;color:#695742;font-size:10px}.repertoire-note{font-size:12px;color:#a99b8b;margin:25px 0 0}
.gallery-section{background:#171411;color:#f2eadc;padding:126px 0}.gallery-heading>p{color:#b8ab9a}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.gallery-item{margin:0;position:relative;overflow:hidden;border-radius:18px;border:1px solid #4c4034;background:#221c16;min-height:250px}.gallery-large{grid-row:span 2;min-height:520px}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item figcaption{position:absolute;left:18px;bottom:16px;padding:10px 12px;background:#120f0bcf;border:1px solid #5d4b3d;border-radius:999px;font-size:11px;letter-spacing:1.2px}
.quote-section{background:#715333;color:#f9ecdb;text-align:center;padding:95px 0 90px}.quote-section .wrap{max-width:850px}.quote-mark{font:70px var(--serif);line-height:.7;color:#e8c18e}.quote-section blockquote{font:italic 35px/1.5 var(--serif);margin:20px 0 25px}.quote-signature{font-size:10px;letter-spacing:3px}
.events-section{background:#ece3d5;color:#292018}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.events-card{background:#f6efe5;border:1px solid #d8c9b9;padding:34px 36px;min-height:335px}.events-card-top{display:flex;justify-content:flex-start;gap:13px;color:#76644e;border-bottom:1px solid #d7c8b6;padding-bottom:25px;font-size:10px;letter-spacing:1.7px;font-weight:700}.gold-dot{display:inline-block;width:7px;height:7px;background:#b4874d;border-radius:50%}.events-placeholder{padding-top:35px}.calendar-symbol{font-size:28px;color:#b18453}.events-placeholder h3{font:400 26px var(--serif);margin:14px 0}.events-placeholder p{font-size:13px;line-height:1.8;color:#756658}.events-placeholder .under-link{margin-top:10px;border-bottom:1px solid #b8a58b;padding-bottom:9px}
.contact-section{background:radial-gradient(ellipse at 79% 50%,#4a3223,#1b1713 62%);padding:125px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.contact-section h2 em{color:var(--gold)}.contact-section p{max-width:515px;color:#c0b09c;line-height:2;font-size:14px}.contact-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:31px}.contact-tags span{border:1px solid #5b4b3e;padding:9px 12px;font-size:10px;color:#d7c8b4}.contact-card{padding:41px 39px;background:#2c241d;border:1px solid #68503a;box-shadow:15px 15px 0 #0d0b094a}.contact-label{color:var(--gold);font-size:11px;letter-spacing:2px;font-weight:700}.contact-card-copy{margin:23px 0 28px}.btn-full{width:100%;gap:10px}.contact-card .email-link{margin-top:22px}.contact-card .contact-hint{font-size:11px;line-height:1.7;margin-top:19px;color:#978776}
.footer{background:#100e0b;padding:48px 0 24px;color:#b7a894}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:48px}.footer-main .wordmark{color:#e9dbc8}.footer-main p{font-size:12px;line-height:1.9;margin:0}.footer-main>a:last-child{font-size:12px;border-bottom:1px solid #80694f;padding-bottom:7px}.footer-bottom{border-top:1px solid #40372c;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.05em;color:#8f8070}section[id]{scroll-margin-top:25px}
@media(max-width:1050px){.wrap{width:min(100% - 64px,1180px)}.main-nav{gap:16px}.hero h1{font-size:64px}.about-header,.events-grid,.contact-grid{gap:55px}.section{padding:100px 0}.hero-layout{grid-template-columns:1fr;gap:36px;padding-top:145px}.hero-media{grid-template-columns:1fr 170px}.profile-grid{grid-template-columns:repeat(2,1fr)}.profile-featured{grid-column:span 2}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-large{grid-column:span 2;grid-row:auto;height:420px}}
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.site-header{position:absolute}.header-inner{height:76px}.wordmark{font-size:29px}.header-book{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;order:3;border:0;background:transparent;padding:12px}.menu-toggle span{width:23px;height:2px;background:var(--paper)}.header-actions{margin-left:auto}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#1c1611;padding:24px 20px 30px;flex-direction:column;align-items:start;gap:25px;border-bottom:1px solid #61503e}.main-nav.open{display:flex}.hero{min-height:auto}.hero-layout{padding-top:110px;gap:25px;min-height:0}.hero-content{padding-bottom:10px}.hero h1{font-size:clamp(43px,10vw,67px);letter-spacing:-2px;white-space:normal;margin:22px 0}.hero-fr{font-size:19px}.hero-detail{font-size:12px}.hero-buttons{flex-wrap:wrap;gap:18px;margin-top:27px}.hero-media{grid-template-columns:1fr;gap:14px}.hero-main-photo img{height:470px}.hero-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:0}.stack-photo{height:160px}.hero-bottom{height:47px;font-size:9px}.intro-strip-inner{min-height:95px}.intro-strip p{font-size:17px}.strip-location{display:none}.section{padding:76px 0}.about-header,.events-grid,.contact-grid{grid-template-columns:1fr;gap:43px}.profile-grid{grid-template-columns:1fr}.profile-featured{grid-column:span 1;grid-template-columns:1fr}.profile-featured .profile-photo{height:330px}.member-card .profile-photo{height:260px}.section-heading{display:block}.section-heading>p{max-width:100%;margin:0}.song-grid{grid-template-columns:repeat(2,1fr)}.song{padding:21px;min-height:120px}.song-name{font-size:18px;padding-right:8px}.song-no{right:14px;top:16px}.gallery-grid{grid-template-columns:1fr}.gallery-large{grid-column:auto;height:auto;min-height:300px}.gallery-item{min-height:240px}.quote-section{padding:70px 0}.quote-section blockquote{font-size:28px}.contact-section{padding:76px 0}.contact-card{padding:28px 23px}.footer-main{align-items:start;flex-wrap:wrap}.footer-main p{flex:1}.footer-bottom{flex-wrap:wrap}h2{font-size:clamp(40px,9vw,54px)}}
@media(max-width:440px){.hero h1{font-size:43px}.hero-buttons .btn{width:100%}.song-grid{grid-template-columns:1fr}.song{min-height:85px}.footer-bottom span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Audio montage player */
.audio-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:34px;background:linear-gradient(125deg,#3d2c21,#241c17);border:1px solid #806144;padding:30px 34px;margin:38px 0 29px}
.audio-kicker{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:14px}
.audio-feature h3{font:400 25px/1.35 var(--serif);margin:0 0 12px}
.audio-feature p{font-size:13px;line-height:1.75;color:#c6b5a1;margin:0}
.audio-feature-player audio{display:block;width:100%;min-width:0;accent-color:var(--gold)}
.audio-duration{display:block;color:#c6b5a1;margin-top:9px;text-align:right;font-size:11px}
@media(max-width:760px){.audio-feature{grid-template-columns:1fr;padding:24px 20px;gap:22px}}

/* V5: clear bilingual toggle and uncropped musician photographs */
.lang-switch{display:inline-flex;align-items:center;gap:6px;border:1px solid #a18057;padding:9px 12px;border-radius:999px;background:#18130ebf;white-space:nowrap}.lang-switch .lang-fr,.lang-switch .lang-en{opacity:.48;color:#f2eadc;transition:opacity .15s,color .15s}.lang-switch .is-active{opacity:1;color:#f5c781;text-decoration:underline;text-underline-offset:4px}.lang-divider{opacity:.65;color:#dec4a0}
.hero-main-photo img,.profile-featured .profile-photo,.member-card .profile-photo,.gallery-item img,.stack-photo{object-fit:contain!important;object-position:center center!important;background:#211b17}
.hero-main-photo img{height:620px}.profile-featured .profile-photo{height:430px}.member-card .profile-photo{height:320px}.gallery-item img{position:absolute;inset:0;width:100%;height:100%}.gallery-item{height:280px}.gallery-large{height:590px}.stack-photo{width:100%}
@media(max-width:760px){.hero-main-photo img{height:470px}.profile-featured .profile-photo{height:330px}.member-card .profile-photo{height:300px}.gallery-large{height:410px}.gallery-item{height:290px}.lang-switch{padding:9px 10px}}

/* V6 homepage audio call-to-action and extended gallery */
.btn-outline-gold{background:transparent;color:#f3d5a9;border:1px solid #d8ae71;padding:17px 19px;gap:12px;white-space:nowrap}
.btn-outline-gold:hover{background:#d8ae7122}
.hero-buttons{gap:14px;flex-wrap:wrap}
.hero-buttons .text-link{margin-left:4px}
.hero-player{max-height:0;overflow:hidden;transition:max-height .25s ease;margin-top:0;max-width:470px}
.hero-player.is-open{max-height:110px;margin-top:18px}
.hero-player audio{display:block;width:100%;height:48px;accent-color:#d8ae71}
.gallery-item img{object-fit:contain!important;object-position:center center!important;background:#211b17}
@media(max-width:760px){.hero-buttons .btn-outline-gold{width:auto}.hero-player{max-width:100%}}
@media(max-width:440px){.hero-buttons .btn-outline-gold{width:100%}}

/* Version 9: make the LFJ Trio name legible without overpowering the hero. */
.hero-band-name{margin:20px 0 -9px;color:#f1d8ad;font-family:var(--serif);font-size:clamp(31px,3.25vw,47px);font-weight:500;letter-spacing:.045em;line-height:1.15;text-shadow:0 2px 12px #0007}
.hero-band-name span{color:var(--gold);font-size:.64em;font-family:var(--sans);font-weight:700;letter-spacing:.23em;vertical-align:middle;margin-left:.2em}
.booking-contact-name{font-family:var(--serif);font-size:26px!important;line-height:1.3!important;color:#f2eadc!important;margin:9px 0 6px!important}
.booking-address{display:inline-block;color:#e8c18e;font-size:14px;overflow-wrap:anywhere;margin:0 0 24px;text-decoration:underline;text-decoration-color:#a27b4e;text-underline-offset:5px}
.contact-card .contact-facebook{margin-top:22px;border-bottom:1px solid #78604b;padding-bottom:7px;color:#d8c6af}
@media(max-width:760px){.hero-band-name{font-size:35px;margin-top:16px;margin-bottom:-5px}}

/* Version 10 — quiet, editorial homepage: two typefaces, one photograph, two actions */
.hero-refined{min-height:auto;background:#181511}
.hero-refined:after,.hero-refined .hero-glow,.hero-refined .hero-pattern{display:none}
.hero-refined .hero-layout{min-height:0;padding-top:145px;padding-bottom:76px;grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);gap:clamp(40px,5vw,90px);align-items:center}
.hero-refined .hero-content{padding:0;max-width:550px}
.hero-location{font:500 12px/1.4 var(--sans);letter-spacing:.13em;color:#bfa787;margin:0 0 21px}
.hero-refined h1{font:400 clamp(72px,8.2vw,118px)/1.03 var(--serif);letter-spacing:-.055em;margin:0 0 18px;white-space:normal;color:#f2eadc}
.hero-genre{font:400 clamp(20px,2vw,26px)/1.5 var(--serif);color:var(--gold);margin:0 0 27px}
.hero-refined .hero-fr{font:400 16px/1.85 var(--sans);color:#d0c1ad;max-width:440px;margin:0}
.hero-refined .hero-buttons{gap:14px;margin-top:38px;flex-wrap:wrap}
.hero-refined .btn{min-height:51px;justify-content:center;padding:16px 21px;font-size:12px;font-weight:600;letter-spacing:.015em;text-transform:none;gap:11px;border-radius:2px}
.hero-refined .btn-simple-outline{border:1px solid #9d8062;background:transparent;color:#f2eadc}
.hero-refined .btn-simple-outline:hover{border-color:var(--gold);background:#d8ae7117}
.hero-refined .hero-single-photo{height:560px;width:100%;border:0;border-radius:2px;box-shadow:none;background:#211c18;overflow:hidden}
.hero-refined .hero-single-photo img{width:100%;height:100%;object-fit:contain;object-position:center center;background:#211c18}
.hero-refined .hero-single-photo:after{display:none}
.hero-refined .hero-player{max-width:450px}
/* Simplify navigation and button typography across the site. */
.main-nav a{font-size:13px;letter-spacing:0}
.header-book{letter-spacing:0;text-transform:none;font-size:12px}
@media(max-width:1050px){.hero-refined .hero-layout{grid-template-columns:1fr 1fr;gap:30px;padding-top:136px}.hero-refined h1{font-size:clamp(64px,7vw,92px)}.hero-refined .hero-single-photo{height:520px}}
@media(max-width:760px){.hero-refined .hero-layout{grid-template-columns:1fr;padding-top:118px;padding-bottom:65px;gap:34px}.hero-refined h1{font-size:clamp(65px,15vw,88px)}.hero-refined .hero-single-photo{height:440px}.hero-refined .hero-buttons{gap:11px}.hero-refined .btn{width:auto}}
@media(max-width:440px){.hero-refined .hero-single-photo{height:390px}.hero-refined .hero-buttons .btn{width:100%}}

/* Version 11: gallery photographs are shown without visible captions. */
.gallery-item figcaption{display:none!important}
