:root{--orange:#f15a2a;--gold:#f5ad35;--red:#a72d26;--green:#245846;--ink:#181817;--cream:#f7f5ef;--text:#282827;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--text);background:var(--cream)}.container{width:min(var(--max),92%);margin:auto}.site-header{height:62px;background:#f8f7f3;position:relative;z-index:100;border-bottom:1px solid #ebe7de}.nav-wrap{height:100%;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;text-decoration:none;color:#1b1b1a;width:148px;min-width:148px;height:100%}.brand>.custom-logo-link{display:block;height:52px;max-width:145px}.brand>.custom-logo-link img{width:auto!important;height:52px!important;max-width:145px!important;object-fit:contain}.brand>img{width:39px;height:47px;object-fit:contain}.brand-text{font-size:15px;font-weight:900;line-height:.88;letter-spacing:.1px;margin-left:7px}.brand-text small{display:block;font-size:3.6px;letter-spacing:.65px;margin-top:5px;white-space:nowrap}.desktop-nav{flex:1}.desktop-nav ul{display:flex;align-items:center;gap:20px;list-style:none;padding:0;margin:0}.desktop-nav a{font-size:9px;text-decoration:none;color:#282827;font-weight:600;white-space:nowrap}.desktop-nav a.active,.desktop-nav a:hover{color:var(--orange)}.nav-actions{display:flex;align-items:center;gap:18px}.lang{font-size:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:9px;text-decoration:none;font-weight:800;font-size:10px;letter-spacing:.25px;border:1px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(90deg,#df4e28,var(--orange));color:#fff;box-shadow:0 6px 16px rgba(207,65,24,.18)}.btn-outline{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(0,0,0,.1)}.small{padding:13px 18px}.mobile-toggle{display:none;background:none;border:0;font-size:24px}
/* HERO – calibrated to the supplied mockup */
.hero{height:var(--hero-height);min-height:400px;color:#fff;position:relative;overflow:hidden;background:#211f1b}.hero-photo{position:absolute;inset:0;background-image:var(--hero-image);background-size:var(--hero-zoom) auto;background-repeat:no-repeat;background-position:var(--hero-x) var(--hero-y);transform:scale(1.001)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,12,.80) 0%,rgba(11,13,12,.68) 28%,rgba(11,13,12,.20) 56%,rgba(11,13,12,.04) 100%);z-index:1}.hero-inner{position:relative;z-index:2;height:100%;padding:45px 0 35px}.eyebrow{letter-spacing:4px;font-size:11px;font-weight:700;margin-bottom:8px;color:#ead9b7}.hero h1{margin:0;max-width:520px;line-height:.84}.hero-line{display:block}.hero-line-1,.hero-line-3{font-family:'Knewave','Anton',Impact,sans-serif;letter-spacing:1px}.hero-line-1{font-size:54px;color:#fff;transform:rotate(-1deg);transform-origin:left}.hero-line-2{font-family:'Anton',Impact,sans-serif;color:#ffad31;font-size:73px;letter-spacing:1px;line-height:.92}.hero-line-3{font-size:37px;color:#fff;letter-spacing:.5px}.hero-tagline{font-size:13px;font-weight:700;letter-spacing:2.1px;margin:17px 0}.hero-meta{display:grid;gap:9px;font-weight:700;font-size:10px}.hero-buttons{display:flex;gap:12px;margin-top:20px}.hero-script{position:absolute;z-index:2;right:7%;bottom:32px;font-family:'Permanent Marker',cursive;font-size:16px;line-height:1.25;text-align:center;transform:rotate(-4deg);text-shadow:0 1px 3px #000}.hero-script b{font-weight:400}.scroll-down{position:absolute;z-index:2;bottom:11px;left:50%;font-size:30px;line-height:1}
.countdown{background:#171919;color:#fff;padding:23px 0 24px;border-top:4px solid var(--orange);position:relative}.countdown:before,.countdown:after{content:'◇ ◆ ◇';position:absolute;color:#75411f;font-size:16px;top:20px;letter-spacing:4px}.countdown:before{left:12px}.countdown:after{right:12px}.countdown-grid{display:grid;grid-template-columns:1.55fr .9fr;gap:38px;align-items:center}.mini-title{font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:9px;text-align:center}.timer{display:flex;justify-content:center;gap:40px}.timer div{display:grid;gap:3px;text-align:center}.timer b{font-family:'Anton',sans-serif;font-size:37px;color:#f4b043;font-weight:400}.timer span{font-size:8px;letter-spacing:1px}.countdown p{border-left:1px solid #e9b24b;padding-left:35px;text-transform:uppercase;line-height:1.45;font-size:11px;margin:0;max-width:270px}.section{padding:53px 0}.light{background:var(--cream)}.dark{background:#171716;color:#fff}.section-heading{text-align:center;margin-bottom:24px}.section-heading>span{font-size:8px;letter-spacing:3px;color:#6e655c}.section-heading h2,.section-row h2,.partners h2{font-size:25px;margin:7px 0;font-weight:900;letter-spacing:.2px}.section-heading h2 em,.section-row h2 em,.partners h2 em{font-style:normal;color:#d75a31}.section-heading p,.partners p{color:#6a6761;margin:0;font-size:11px}.experience-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.experience-card{height:178px;border-radius:7px;background:#30302c center/cover;position:relative;color:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}.exp-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),var(--exp-color,rgba(0,0,0,.88)) 100%);opacity:.88}.experience-content{position:absolute;inset:auto 0 0;padding:15px;z-index:1}.experience-card h3{font-size:11px;margin:6px 0;text-transform:uppercase}.experience-card p{font-size:9px;margin:0;line-height:1.35}.exp-icon{font-size:20px}.artists-section{background:radial-gradient(circle at 50% -15%,#493321,#171716 48%);padding:43px 0}.artists-top{display:flex;align-items:flex-start;justify-content:space-between}.artists-top .section-heading{text-align:left}.artists-top .section-heading p{color:#ddd}.artists-top>a{color:#fff;text-decoration:none;font-size:9px;margin-top:12px}.artist-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.artist-card{height:192px;background:#272727;border-radius:5px;position:relative;overflow:hidden}.artist-card img{width:100%;height:100%;object-fit:cover}.artist-info{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.94));color:#fff}.artist-info h3{margin:0;font-size:11px}.artist-info p{margin:3px 0 0;font-size:8px}.recap{min-height:185px;background:#3a3025 center/cover;color:#fff;display:flex;align-items:center;position:relative}.recap-content{color:#fff;text-decoration:none;display:flex;align-items:center;gap:15px}.play{width:54px;height:54px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:18px;flex:0 0 auto}.recap h2{margin:0;font-size:17px}.recap p{font-size:10px;margin:7px 0}.recap-quote{margin-left:auto;background:#f6ead6;color:#1e1e1e;padding:27px 38px;transform:rotate(-3deg);font-family:'Permanent Marker',cursive;font-size:19px;line-height:1.2;text-align:center}.practical{padding-bottom:48px}.section-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-row h2{margin:0;font-size:23px}.section-row p{font-size:11px;margin:5px 0}.dark-outline{color:#222;border-color:#bbb;background:transparent}.info-grid{display:grid;grid-template-columns:repeat(7,1fr);margin-top:34px;gap:12px}.info-grid div{text-align:center}.info-grid span{width:62px;height:62px;border-radius:50%;background:#ece9e1;display:grid;place-items:center;margin:auto auto 8px;font-size:22px}.info-grid b{font-size:8px;line-height:1.25}.team-section{background:#222;color:#fff}.team-section .section-heading p{color:#d0cbc0}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.team-card{background:#2e2e2d;border-radius:7px;overflow:hidden}.team-card img{width:100%;height:220px;object-fit:cover}.team-card div{padding:14px}.team-card h3{margin:0;font-size:15px}.team-card p{margin:4px 0;color:#e4a33c;font-size:11px}.partner-grid{display:flex;flex-wrap:wrap;align-items:center;gap:32px;margin-top:28px;min-height:42px}.partner-grid a{display:block;color:#333;text-decoration:none;font-family:Georgia,serif;font-size:19px}.partner-grid img{max-width:135px;max-height:58px;width:auto;height:auto;object-fit:contain}.partner-grid span{font-family:Georgia,serif;font-size:19px;color:#333}.newsletter{padding:26px 0;background:linear-gradient(90deg,#8c321e,#c44824,#e15a27);color:#fff;position:relative}.newsletter-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:center}.newsletter h2{margin:0;font-size:14px}.newsletter p{margin:6px 0 0;font-size:9px}.newsletter form{display:flex;gap:8px}.newsletter input{flex:1;border:0;border-radius:5px;padding:13px;font-size:10px}.newsletter .btn{padding:13px 18px}.site-footer{padding:35px 0 15px;background:#f4f1ea}.footer-grid{display:grid;grid-template-columns:1.3fr 1.1fr .7fr;gap:25px;align-items:center}.footer-brand .custom-logo-link img,.footer-brand img{max-width:145px!important;max-height:62px!important;width:auto!important;height:auto!important}.footer-grid p{font-size:8px}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a{color:#444;text-decoration:none;font-size:8px}.socials{display:flex;gap:8px}.socials a{width:25px;height:25px;border-radius:50%;background:#ddd;display:grid;place-items:center;text-decoration:none;color:#333;font-weight:bold;font-size:10px}.support{font-size:8px;color:#7d6040}.copyright{text-align:center;font-size:8px;margin-top:22px;color:#777}.empty{text-align:center;padding:25px;color:#aaa}.page-content{padding:50px 0}
@media(max-width:950px){.desktop-nav{display:none}.mobile-toggle{display:block}.nav-actions .lang{display:none}.brand{margin-right:auto}.hero{height:auto;min-height:570px}.hero-photo{background-size:auto 100%;background-position:65% center}.hero-inner{padding:46px 0 42px}.experience-grid{grid-template-columns:repeat(3,1fr)}.artist-grid{grid-template-columns:repeat(3,1fr)}.info-grid{grid-template-columns:repeat(4,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header{height:64px}.brand{width:138px;min-width:138px}.brand>.custom-logo-link img{height:48px!important;max-width:135px!important}.nav-actions .btn{display:none}.hero{min-height:630px}.hero-photo{background-size:auto 100%;background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(11,13,12,.82),rgba(11,13,12,.42) 58%,rgba(11,13,12,.12))}.hero h1{max-width:100%}.hero-line-1{font-size:47px}.hero-line-2{font-size:62px}.hero-line-3{font-size:31px}.hero-script{display:none}.hero-buttons{flex-direction:column;align-items:flex-start}.countdown-grid,.newsletter-grid,.footer-grid{grid-template-columns:1fr}.timer{gap:18px}.timer b{font-size:32px}.countdown p{padding-left:15px;margin:auto}.experience-grid{grid-template-columns:repeat(2,1fr)}.artist-grid{grid-template-columns:repeat(2,1fr)}.artists-top{display:block}.artists-top>a{display:block;margin-bottom:14px}.section-row{display:block}.section-row .btn{margin-top:15px}.info-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:1fr}.newsletter form{flex-direction:column}.footer-grid{text-align:center}.footer-links,.socials{justify-content:center}.recap-content{flex-wrap:wrap}.recap-quote{margin:10px 0 0;width:100%}}

/* ================================================================
   V3.1 – Desktop calibration: header and hero matched to mockup
   ================================================================ */
@media (min-width:951px){
  :root{--max:1680px}
  .container{width:min(var(--max),93%)}

  /* Large, readable premium navigation */
  .site-header{height:92px}
  .nav-wrap{gap:34px}
  .brand{width:205px;min-width:205px}
  .brand>.custom-logo-link{height:82px;max-width:200px}
  .brand>.custom-logo-link img{height:82px!important;max-width:200px!important;width:auto!important;object-fit:contain}
  .brand>img{width:54px;height:72px}
  .brand-text{font-size:22px;line-height:.9;margin-left:10px}
  .brand-text small{font-size:5px;letter-spacing:1px;margin-top:7px}
  .desktop-nav ul{gap:30px}
  .desktop-nav a{font-size:14px;font-weight:600;letter-spacing:.05px}
  .nav-actions{gap:28px}
  .lang{font-size:14px}
  .site-header .btn.small{min-height:54px;padding:0 28px;border-radius:12px;font-size:14px;letter-spacing:.3px}

  /* The supplied image is a portrait-oriented composition. Never stretch it to
     the viewport width: fit it to hero height so the complete torso remains visible. */
  .hero{height:max(var(--hero-height),640px);min-height:640px;background:#211f1b}
  .hero-photo{background-size:auto 100%;background-position:right center;transform:none}
  .hero-overlay{background:linear-gradient(90deg,rgba(8,10,10,.90) 0%,rgba(8,10,10,.82) 25%,rgba(8,10,10,.48) 43%,rgba(8,10,10,.08) 68%,rgba(8,10,10,0) 100%)}
  .hero-inner{padding:78px 0 48px}
  .eyebrow{font-size:15px;letter-spacing:6px;margin-bottom:13px}
  .hero h1{max-width:590px;line-height:.83}
  .hero-line-1{font-size:74px}
  .hero-line-2{font-size:98px}
  .hero-line-3{font-size:51px}
  .hero-tagline{font-size:17px;letter-spacing:3.2px;margin:23px 0 26px}
  .hero-meta{gap:13px;font-size:14px}
  .hero-buttons{gap:16px;margin-top:28px}
  .hero-buttons .btn{min-height:64px;padding:0 29px;border-radius:13px;font-size:14px}
  .hero-script{right:7%;bottom:42px;font-size:22px}
  .scroll-down{bottom:17px;font-size:38px}
}

/* The default bundled hero already contains the handwritten quote. Avoid doubling it. */
body:not(.customize-preview) .hero .hero-photo[style*="hero-default"] + *{ }

@media (min-width:951px) and (max-width:1350px){
  :root{--max:1240px}
  .desktop-nav ul{gap:18px}
  .desktop-nav a{font-size:12px}
  .nav-wrap{gap:22px}
  .brand{width:175px;min-width:175px}
  .hero{height:max(var(--hero-height),600px);min-height:600px}
  .hero-inner{padding-top:62px}
  .hero-line-1{font-size:65px}.hero-line-2{font-size:86px}.hero-line-3{font-size:45px}
}
.hero.hero--default-image .hero-script{display:none}


/* ================================================================
   V3.2 – Full festival homepage + corrected single-image hero
   ================================================================ */
.section-kicker{display:block;color:#b85c2f;font-size:11px;font-weight:800;letter-spacing:3px;margin-bottom:12px}
.festival-section{background:#fff;padding:78px 0}.festival-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.festival-copy h2{font-size:42px;line-height:1.05;margin:0 0 22px;font-weight:900}.festival-copy h2 em{font-style:normal;color:#d65a30}.festival-copy>p{font-size:16px;line-height:1.75;color:#5e5a54;max-width:760px}.festival-support{border-left:3px solid var(--orange);padding:13px 0 13px 18px;font-weight:700;color:#2d2a27!important;margin:24px 0 30px}.festival-stats{display:grid;grid-template-columns:1fr;gap:14px}.festival-stats>div{background:#1d1d1b;color:#fff;padding:25px 30px;border-radius:10px;display:flex;align-items:center;gap:22px}.festival-stats b{font-family:'Anton',sans-serif;color:#f4ad39;font-size:44px;font-weight:400}.festival-stats span{font-size:12px;letter-spacing:1.2px;font-weight:800}
.program-section{background:#f5f2eb}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program-card{background:#fff;border:1px solid #e8e1d5;border-radius:12px;padding:26px;min-height:250px;box-shadow:0 8px 25px rgba(31,24,15,.05);display:flex;flex-direction:column}.program-date{color:#d5582c;font-weight:900;font-size:11px;letter-spacing:2px;margin-bottom:16px}.program-card h3{font-size:21px;line-height:1.12;margin:0 0 14px}.program-card p{font-size:13px;line-height:1.55;color:#68625b;margin:0}.program-meta{margin-top:auto;padding-top:20px;color:#a46b28;font-size:11px;font-weight:800}.center-action{text-align:center;margin-top:30px}
.team-section{padding:78px 0;background:linear-gradient(135deg,#191a19,#2a241e)}.team-section .section-heading h2{font-size:34px}.team-grid{margin-top:35px}.team-card{transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(255,255,255,.08)}.team-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(0,0,0,.25)}
@media(min-width:951px){
  .hero{height:max(var(--hero-height),640px);min-height:640px;background:#211f1b!important}
  .hero-photo{background-image:var(--hero-image)!important;background-size:auto 100%!important;background-position:right center!important}
  .hero-overlay{background:linear-gradient(90deg,rgba(8,10,10,.93) 0%,rgba(8,10,10,.84) 30%,rgba(8,10,10,.42) 49%,rgba(8,10,10,.08) 72%,rgba(8,10,10,0) 100%)!important}
}
@media(max-width:950px){.festival-grid{grid-template-columns:1fr;gap:30px}.program-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.festival-section{padding:52px 0}.festival-copy h2{font-size:31px}.program-grid{grid-template-columns:1fr}.program-card{min-height:220px}.festival-stats>div{padding:20px}.festival-stats b{font-size:36px}}

/* ===== V3.3 – PAGE À PROPOS ===== */
.about-page{background:var(--cream)}
.about-hero{min-height:470px;background:#191919 center/cover;display:flex;align-items:flex-end;color:#fff;position:relative}
.about-hero-inner{padding:88px 0 72px;max-width:780px}
.about-kicker,.about-hero .about-kicker{display:block;color:#efb14a;font-size:11px;font-weight:800;letter-spacing:4px;margin-bottom:18px}
.about-hero h1{font-family:'Anton',sans-serif;font-size:72px;line-height:.95;margin:0 0 20px;letter-spacing:1px;font-weight:400}
.about-hero p{font-size:20px;line-height:1.45;max-width:680px;margin:0;color:#f2eee7}
.about-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.about-story-title span{font-size:10px;letter-spacing:3px;color:#a96334;font-weight:800}.about-story-title h2{font-size:40px;line-height:1.05;margin:13px 0}.about-story-title em{font-style:normal;color:#d85c31}
.about-editorial{font-size:17px;line-height:1.75;color:#494640}.about-editorial p:first-child{font-size:22px;line-height:1.55;color:#242321}.about-editorial h2{font-size:22px;margin:30px 0 8px;color:#1c1c1b}
.about-sarraz{padding:88px 0;background:linear-gradient(115deg,#141514,#282018)}.about-split{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}.about-split h2{font-family:'Anton',sans-serif;font-weight:400;font-size:50px;line-height:1;margin:0 0 22px}.about-split p{font-size:17px;line-height:1.7;color:#ded9d0;max-width:700px}.about-highlight{border-left:2px solid var(--gold);padding:30px 0 30px 42px}.about-highlight b{font-family:'Anton',sans-serif;font-size:42px;line-height:1.1;font-weight:400}.about-highlight em{font-style:normal;color:#f0a93a}
.about-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.about-card{padding:42px;background:#fff;border:1px solid #e8e1d6;border-radius:14px;min-height:330px}.about-card.accent{background:#211f1b;color:#fff;border-color:#211f1b}.about-card span{display:block;font-family:'Anton',sans-serif;font-size:42px;color:#dc6433;margin-bottom:24px}.about-card h2{font-size:28px;line-height:1.12;margin:0 0 20px}.about-card p{font-size:15px;line-height:1.7;margin:0;color:#605c55}.about-card.accent p{color:#ded8ce}
.about-association{padding:88px 0;background:linear-gradient(100deg,#8d321f,#c94b25,#ee682b);color:#fff}.about-association-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.about-association span{font-size:10px;font-weight:800;letter-spacing:3px}.about-association h2{font-size:40px;line-height:1.08;margin:14px 0}.about-association p{font-size:16px;line-height:1.7;max-width:700px}.about-association .btn{background:#fff;color:#a43b21;margin-top:12px}.about-values{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about-values div{min-height:130px;border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:20px;font-size:30px;background:rgba(0,0,0,.08)}.about-values b{display:block;font-size:11px;letter-spacing:1px;margin-top:22px}
@media(max-width:800px){.about-hero{min-height:390px}.about-hero h1{font-size:52px}.about-story-grid,.about-split,.about-association-grid{grid-template-columns:1fr;gap:38px}.about-card-grid{grid-template-columns:1fr}.about-split h2{font-size:40px}.about-highlight{padding-left:25px}.about-hero-inner{padding:70px 0 55px}.about-hero p{font-size:17px}}
@media(max-width:520px){.about-hero h1{font-size:42px}.about-hero p{font-size:16px}.about-story-title h2,.about-association h2{font-size:31px}.about-editorial{font-size:16px}.about-values{grid-template-columns:1fr 1fr}.about-values div{min-height:110px}}


/* ================================================================
   V3.5 – Premium typography, exact logo, one-page navigation,
   de-zoomed hero, 5 team slots and guest-of-honour section
   ================================================================ */
html{scroll-padding-top:92px}
[id]{scroll-margin-top:92px}
body{font-family:'Montserrat','DM Sans',Arial,sans-serif}
.site-header{box-shadow:0 2px 14px rgba(0,0,0,.06)}
.brand{width:210px!important;min-width:210px!important}
.brand .fas-logo{display:block;width:auto!important;height:76px!important;max-width:205px!important;object-fit:contain}
.onepager-menu{display:flex!important;align-items:center;gap:25px;list-style:none;padding:0;margin:0}
.onepager-menu li{margin:0;padding:0}
.desktop-nav a{font-family:'Montserrat',Arial,sans-serif!important;font-size:14px!important;font-weight:700!important;line-height:1.1;letter-spacing:-.15px;color:#20201f}
.desktop-nav a:hover,.desktop-nav a:focus,.desktop-nav a.active{color:var(--orange)}
.section-heading h2,.section-row h2,.partners h2{font-family:'Montserrat',Arial,sans-serif;font-weight:900!important;letter-spacing:-.4px}
.section-heading>span,.section-kicker{font-family:'Montserrat',Arial,sans-serif;font-weight:800}
.experience-card h3{font-size:14px!important;font-weight:900!important;letter-spacing:.2px}
.experience-card p{font-size:10px!important;font-weight:500}
.artist-info h3{font-size:15px!important;font-weight:900!important;letter-spacing:.2px}
.artist-info p{font-size:10px!important;font-weight:600}
.info-grid b{font-size:10px!important;font-weight:800!important;display:block}
.partners h2{font-size:32px!important}
.team-card h3{font-size:17px!important;font-weight:900!important}
.team-card p{font-size:11px!important;font-weight:800}

/* Hero: show more of the supplied photograph instead of enlarging the subject. */
@media(min-width:951px){
  .hero{height:max(var(--hero-height),620px)!important;min-height:620px!important}
  .hero-photo{background-size:auto 90%!important;background-position:right center!important;background-color:#211f1b;background-repeat:no-repeat!important}
  .hero-inner{padding-top:68px!important}
  .hero-line-1{font-size:70px!important}.hero-line-2{font-size:92px!important}.hero-line-3{font-size:49px!important}
  .hero-tagline{font-size:16px!important}.hero-meta{font-size:13px!important}
}

/* Guest of honour */
.guest-section{background:#f7f3ea;padding:82px 0}
.guest-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center;max-width:1250px}
.guest-photo-wrap{min-height:390px;border-radius:16px;overflow:hidden;background:#e8e2d6;box-shadow:0 18px 45px rgba(30,25,18,.12);display:flex;align-items:center;justify-content:center}
.guest-photo{display:block;width:100%;height:430px;object-fit:cover}
.guest-placeholder{width:100%;height:430px;display:grid;place-items:center;text-align:center;font-size:22px;font-weight:900;letter-spacing:2px;color:#8c7a63}
.guest-copy h2{font-size:46px;line-height:1.02;margin:0 0 12px;font-weight:900;letter-spacing:-1px}
.guest-title{font-size:15px;color:#bd542d;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:22px}
.guest-copy p{font-size:16px;line-height:1.75;color:#5e5a54;max-width:650px;margin-bottom:28px}

/* Exactly five visual team slots when no CPT members have yet been entered. */
.team-grid{grid-template-columns:repeat(5,1fr)!important;gap:14px!important}
.team-photo{height:250px;overflow:hidden;background:#333}
.team-photo img{width:100%;height:100%;object-fit:cover;display:block}
.team-photo-placeholder{display:grid;place-items:center;color:#a59e93;background:linear-gradient(135deg,#302e2a,#1b1b1a);font-size:12px;font-weight:800;letter-spacing:2px}
.team-card div:last-child{padding:15px}

@media(max-width:1200px) and (min-width:951px){.onepager-menu{gap:14px}.desktop-nav a{font-size:12px!important}.brand{width:185px!important;min-width:185px!important}.brand .fas-logo{max-width:180px!important;height:68px!important}.guest-grid{gap:40px}.team-grid{grid-template-columns:repeat(5,1fr)!important}}
@media(max-width:950px){
  html{scroll-padding-top:72px}[id]{scroll-margin-top:72px}
  .brand{width:180px!important;min-width:180px!important}.brand .fas-logo{height:60px!important;max-width:175px!important}
  .guest-grid{grid-template-columns:1fr;gap:30px}.guest-photo,.guest-placeholder{height:360px}.guest-copy h2{font-size:38px}
  .team-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  .brand{width:155px!important;min-width:155px!important}.brand .fas-logo{height:52px!important;max-width:150px!important}
  .guest-section{padding:55px 0}.guest-photo,.guest-placeholder{height:300px}.guest-copy h2{font-size:31px}.guest-copy p{font-size:15px}
  .team-grid{grid-template-columns:1fr!important}
}

/* V3.6 – La Sarraz terre d’accueil */
.lasarraz-section{background:linear-gradient(120deg,#181917,#2b241d);color:#fff;padding:78px 0}.lasarraz-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:stretch}.lasarraz-copy h2{font-family:'Montserrat',Arial,sans-serif;font-size:42px;line-height:1.05;font-weight:900;margin:0 0 22px}.lasarraz-text{font-size:16px;line-height:1.78;color:#e8e2d8}.lasarraz-text p{margin:0 0 18px}.lasarraz-visual{min-height:390px;border-radius:16px;background:#332b24 center/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden;position:relative;box-shadow:0 18px 45px rgba(0,0,0,.22)}.lasarraz-highlight{margin:25px;background:rgba(247,238,218,.94);color:#252321;padding:22px 25px;font-family:'Permanent Marker',cursive;font-size:25px;line-height:1.15;transform:rotate(-2deg)}
@media(max-width:800px){.lasarraz-grid{grid-template-columns:1fr;gap:28px}.lasarraz-copy h2{font-size:32px}.lasarraz-visual{min-height:300px}.lasarraz-highlight{font-size:20px;margin:18px}}

/* V3.7 — hero artwork intégré avec texte directement dans l'image */
.hero.hero--baked{height:var(--hero-height);min-height:560px;background:#171513}
.hero.hero--baked .hero-photo{background-size:cover;background-position:center center;background-repeat:no-repeat;transform:none}
.hero.hero--baked .hero-overlay{display:none}
.hero-baked-links{position:absolute;inset:0;z-index:4}
.hero-baked-links a{position:absolute;display:block;background:transparent;border:0}
.hero-baked-links a:first-child{left:5.5%;bottom:13.5%;width:25%;height:10%;}
.hero-baked-links a:nth-child(2){left:29%;bottom:13.5%;width:28%;height:10%;}
.hero.hero--baked .scroll-down{z-index:5;left:50%;bottom:12px}
.hero.hero--baked .scroll-down a{color:#fff;text-decoration:none;font-size:34px;text-shadow:0 1px 4px #000}
.ticket-section{background:#171513;color:#fff;padding:70px 0}
.ticket-grid{display:flex;align-items:center;justify-content:space-between;gap:40px}
.ticket-grid h2{margin:8px 0 12px;font-size:42px}.ticket-grid p{max-width:720px;color:#ddd;margin:0}
@media(max-width:700px){.hero.hero--baked{min-height:420px;height:58vw;max-height:640px}.hero.hero--baked .hero-photo{background-size:cover;background-position:center center}.hero-baked-links a:first-child{left:5%;bottom:12%;width:39%;height:12%}.hero-baked-links a:nth-child(2){left:46%;bottom:12%;width:45%;height:12%}.ticket-grid{display:block}.ticket-grid .btn{margin-top:25px}}

/* V3.9 visual calibration — full-width mockup, readable navigation, exact logo */
.site-header{height:76px;position:sticky;top:0;background:#fbfaf7}
.nav-wrap{gap:28px}
.brand{width:168px;min-width:168px}
.brand>.fas-logo,.brand>img{width:auto!important;height:66px!important;max-width:158px!important;object-fit:contain}
.desktop-nav ul{gap:22px}
.desktop-nav a{font-family:'Montserrat',Arial,sans-serif;font-size:12px;font-weight:800;line-height:1.2;letter-spacing:-.15px}
.nav-actions{gap:14px}.lang{font-family:'Montserrat',Arial,sans-serif;font-size:12px;font-weight:700}
.nav-actions .btn{font-size:11px;padding:14px 20px;border-radius:10px}
/* The supplied baked hero already contains all typography and visual treatment.
   Render it as an image at its natural aspect ratio so it can never be cropped, offset or letterboxed. */
.hero.hero--baked{height:auto;min-height:0;background:#171614;overflow:hidden;padding:0}
.hero.hero--baked .hero-overlay,.hero.hero--baked .hero-photo{display:none}
.hero-baked-media{position:relative;width:100%;line-height:0}
.hero-baked-image{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.hero-baked-links{position:absolute;inset:0;z-index:4;pointer-events:none}
.hero-hit{position:absolute;display:block;pointer-events:auto;border-radius:18px}
.hero-hit-primary{left:5.5%;top:77%;width:22%;height:9.5%}
.hero-hit-secondary{left:29.5%;top:77%;width:21%;height:9.5%}
.hero.hero--baked .scroll-down{bottom:2.2%;left:50%;transform:translateX(-50%);font-size:34px;text-shadow:0 2px 5px #000}
.hero.hero--baked .scroll-down a{color:#fff;text-decoration:none}
.hero:not(.hero--baked){height:clamp(560px,42vw,700px)}
.hero:not(.hero--baked) .hero-photo{background-size:cover;background-position:var(--hero-x) var(--hero-y)}
.hero:not(.hero--baked) .hero-overlay{background:linear-gradient(90deg,rgba(11,13,12,.72),rgba(11,13,12,.32) 45%,rgba(11,13,12,.04) 78%)}
.section-heading h2,.section-row h2,.partners h2,.festival-copy h2,.lasarraz-copy h2,.guest-copy h2,.ticket-section h2{font-family:'Montserrat',Arial,sans-serif;font-weight:900}
.section-heading h2{font-size:31px}.section-heading>span,.section-kicker{font-weight:800}
.festival-section{background:#f7f5ef}
.lasarraz-section{background:#f7f3e8;color:#24221f;padding:70px 0}
.lasarraz-grid{grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.lasarraz-copy h2{font-size:44px;line-height:1.03;color:#1d1c1a;margin:0 0 24px;text-transform:uppercase}
.lasarraz-copy h2:after{content:'';display:block;width:90px;height:5px;background:var(--gold);margin-top:16px}
.lasarraz-text{font-size:17px;line-height:1.72;color:#4e4a43}.lasarraz-text p{margin:0 0 18px}
.lasarraz-visual{min-height:430px;border-radius:16px;background-color:#d9d0c0;background-position:center;background-size:cover;box-shadow:0 16px 45px rgba(25,20,14,.16)}
.lasarraz-highlight{font-size:23px;font-weight:400;max-width:88%;margin:24px;background:rgba(247,238,218,.95);box-shadow:0 5px 20px rgba(0,0,0,.08)}
.lasarraz-credit{position:absolute;right:16px;bottom:10px;color:#fff;font:600 9px/1.2 'DM Sans',Arial,sans-serif;text-shadow:0 1px 4px #000}
.team-grid{grid-template-columns:repeat(5,1fr);gap:14px}
.team-card img,.team-photo{height:245px}
.guest-section{background:#f7f5ef}.guest-grid{align-items:center}
.guest-copy h2{font-size:34px}.guest-title{font-weight:800;color:var(--orange);font-size:15px;margin-bottom:10px}
.partners h2{font-size:30px}
@media(max-width:1100px){.desktop-nav ul{gap:13px}.desktop-nav a{font-size:10px}.brand{width:145px;min-width:145px}.brand>.fas-logo,.brand>img{max-width:140px!important}.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.site-header{height:70px}.brand{width:145px;min-width:145px}.brand>.fas-logo,.brand>img{height:58px!important;max-width:135px!important}.hero.hero--baked .scroll-down{display:none}.hero-hit-primary{left:5%;top:77%;width:23%;height:10%}.hero-hit-secondary{left:29%;top:77%;width:22%;height:10%}.lasarraz-grid{grid-template-columns:1fr}.lasarraz-copy h2{font-size:34px}.lasarraz-visual{min-height:320px}.team-grid{grid-template-columns:repeat(2,1fr)}.section-heading h2{font-size:26px}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}.hero-hit-primary{left:5%;top:77%;width:24%;height:10%}.hero-hit-secondary{left:29%;top:77%;width:23%;height:10%}}

/* Mobile navigation: keep the header compact and make the complete menu usable. */
.nav-wrap{position:relative}
@media(max-width:950px){
  .desktop-nav.mobile-open{
    display:block!important;
    position:absolute;
    left:0;
    right:0;
    top:100%;
    background:#fbfaf7;
    border-top:1px solid #ebe7de;
    border-bottom:1px solid #ddd8cf;
    box-shadow:0 14px 28px rgba(20,18,15,.14);
    padding:12px 4vw 16px;
  }
  .desktop-nav.mobile-open ul{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0;list-style:none}
  .desktop-nav.mobile-open li{border-bottom:1px solid #eee9e0}
  .desktop-nav.mobile-open li:last-child{border-bottom:0}
  .desktop-nav.mobile-open a{display:block;padding:13px 4px;font-size:13px!important;font-weight:800;letter-spacing:0;color:#242321}
  .desktop-nav.mobile-open a.active,.desktop-nav.mobile-open a:hover{color:var(--orange)}
}
@media(max-width:520px){
  .nav-actions .btn{font-size:9px;padding:11px 12px}
  .mobile-toggle{padding:3px 0 3px 4px;font-size:23px;line-height:1}
}


/* V4.0 — Hero carousel: fixed editorial panel on the left, rotating photography on the right. */
.hero.hero--carousel{height:clamp(560px,42vw,700px);min-height:560px;position:relative;overflow:hidden;background:#161615;color:#fff}
.hero-carousel-media{position:absolute;inset:0;z-index:0}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:0;transform:scale(1.025);transition:opacity 900ms ease,transform 6500ms ease;will-change:opacity,transform}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-carousel-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,10,10,.94) 0%,rgba(8,10,10,.88) 25%,rgba(8,10,10,.57) 43%,rgba(8,10,10,.18) 63%,rgba(8,10,10,.02) 100%)}
.hero-carousel-inner{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.hero-copy{width:min(540px,47%);padding:42px 0 58px}
.hero-copy .eyebrow{margin-bottom:9px}
.hero-copy h1{margin:0;max-width:520px;line-height:.84}
.hero-copy .hero-line{display:block}
.hero--carousel .hero-line-1,.hero--carousel .hero-line-2,.hero--carousel .hero-line-3{font-family:'Knewave',sans-serif!important;font-weight:400;letter-spacing:1px}
.hero--carousel .hero-line-1{font-size:54px;color:#fff;transform:rotate(-1deg);transform-origin:left}
.hero--carousel .hero-line-2{color:#ffad31;font-size:73px;letter-spacing:1px;line-height:.92}
.hero--carousel .hero-line-3{font-size:37px;color:#fff;letter-spacing:.5px}
.hero--carousel .hero-tagline{font-size:13px;font-weight:700;letter-spacing:2.1px;margin:17px 0}
.hero--carousel .hero-meta{display:grid;gap:9px;font-weight:700;font-size:10px}
.hero--carousel .hero-buttons{display:flex;gap:12px;margin-top:20px}
.hero--carousel .hero-script{position:absolute;z-index:3;right:7%;bottom:42px;font-family:'Permanent Marker',cursive;font-size:20px;line-height:1.25;text-align:center;transform:rotate(-4deg);text-shadow:0 1px 3px #000}
.hero--carousel .hero-script b{font-weight:400}
.hero--carousel .scroll-down{z-index:4}
.hero-carousel-controls{position:absolute;z-index:5;right:4.5%;bottom:30px;display:flex;align-items:center;gap:12px}
.hero-arrow{width:38px;height:38px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(0,0,0,.22);color:#fff;font-size:29px;line-height:30px;cursor:pointer;padding:0;backdrop-filter:blur(3px)}
.hero-arrow:hover{background:rgba(0,0,0,.48)}
.hero-dots{display:flex;gap:7px;align-items:center}
.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:all .25s ease}
.hero-dot.is-active{width:24px;border-radius:8px;background:#f5ad35}
@media(max-width:950px){
 .hero.hero--carousel{height:620px;min-height:620px}
 .hero-carousel-overlay{background:linear-gradient(90deg,rgba(8,10,10,.95) 0%,rgba(8,10,10,.86) 34%,rgba(8,10,10,.52) 61%,rgba(8,10,10,.10) 100%)}
 .hero-carousel-inner{align-items:flex-start}
 .hero-copy{width:62%;padding-top:68px}
 .hero--carousel .hero-line-1{font-size:50px}.hero--carousel .hero-line-2{font-size:67px}.hero--carousel .hero-line-3{font-size:34px}
 .hero--carousel .hero-script{right:4%;bottom:70px;font-size:16px}
 .hero-carousel-controls{right:4%;bottom:20px}
}
@media(max-width:600px){
 /* Mobile hero: dedicated portrait crops + enough vertical room for the full editorial copy and controls. */
 .hero.hero--carousel{height:650px;min-height:650px;max-height:none}
 .hero-carousel-media .hero-slide{background-image:var(--hero-mobile-image);background-size:cover;background-position:center center;background-repeat:no-repeat}
 .hero-carousel-overlay{background:linear-gradient(90deg,rgba(8,10,10,.96) 0%,rgba(8,10,10,.91) 38%,rgba(8,10,10,.58) 68%,rgba(8,10,10,.12) 100%)}
 .hero-carousel-inner{align-items:flex-start}
 .hero-copy{width:80%;padding-top:32px}
 .hero--carousel .hero-line-1{font-size:41px}.hero--carousel .hero-line-2{font-size:55px}.hero--carousel .hero-line-3{font-size:28px}
 .hero--carousel .hero-tagline{font-size:11px;letter-spacing:1.45px;margin:14px 0}
 .hero--carousel .hero-meta{font-size:9px;gap:8px}
 .hero--carousel .hero-buttons{flex-direction:column;align-items:flex-start;gap:9px;margin-top:17px}
 .hero--carousel .hero-buttons .btn{min-height:46px;padding:0 16px;font-size:11px}
 .hero--carousel .hero-script{display:none}
 .hero-carousel-controls{right:50%;transform:translateX(50%);bottom:14px}
 .hero-arrow{width:36px;height:36px;font-size:25px}
}



/* V4.1 — Village des exposants & bénévolat */
.village-section{background:#f2eadf;padding:72px 0}.stand-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}.stand-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stand-card{background:#fff;border:1px solid #ddd4c7;border-radius:8px;padding:22px 17px;display:flex;flex-direction:column;min-height:250px}.stand-card.featured{background:#1d211f;color:#fff;border-color:#1d211f;transform:translateY(-8px)}.stand-card span{font-size:9px;font-weight:900;letter-spacing:1px;line-height:1.35;margin-bottom:15px}.stand-card strong{font-family:'Montserrat',Arial,sans-serif;font-size:22px;margin-top:8px}.stand-card small{font-size:9px;color:#777;margin-bottom:10px}.stand-card.featured small{color:#cfcac2}.application-card{background:#fff;border-radius:9px;padding:27px;box-shadow:0 8px 28px rgba(31,29,25,.08)}.application-card h3{margin:0 0 7px;font-family:'Montserrat',Arial,sans-serif;font-size:18px}.application-card>p{font-size:10px;color:#6a6761;margin:0 0 18px}.fals-form{display:grid;gap:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fals-form input,.fals-form select,.fals-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9d3ca;background:#fbfaf7;border-radius:5px;padding:11px 12px;font:inherit;font-size:10px;color:#333}.fals-form textarea{resize:vertical;min-height:74px}.fals-form .btn{justify-self:start;border:0;cursor:pointer}.form-success{background:#e5f1e8;border-left:3px solid #3c7d51;color:#285d39;padding:10px 12px;margin-bottom:12px;font-size:10px}.volunteer-section{background:#202120;color:#fff;padding:72px 0}.volunteer-grid{display:grid;grid-template-columns:1fr .95fr;gap:42px;align-items:start}.volunteer-copy{padding-top:18px}.volunteer-copy .section-kicker{color:#f2b043}.volunteer-copy h2{font-family:'Montserrat',Arial,sans-serif;font-size:38px;line-height:1;margin:8px 0 17px}.volunteer-copy>p{max-width:620px;color:#d5d1ca;font-size:13px;line-height:1.7}.volunteer-missions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.volunteer-missions span{border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:11px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.volunteer-card{color:#222}.volunteer-card .fals-form{gap:10px}
@media(max-width:950px){.stand-layout,.volunteer-grid{grid-template-columns:1fr}.stand-prices{grid-template-columns:repeat(3,1fr)}.volunteer-copy{padding-top:0}.volunteer-copy h2{font-size:34px}}
@media(max-width:600px){.village-section,.volunteer-section{padding:55px 0}.stand-prices{grid-template-columns:1fr;gap:9px}.stand-card,.stand-card.featured{transform:none;min-height:auto}.stand-card strong{font-size:20px}.application-card{padding:20px}.form-grid{grid-template-columns:1fr}.volunteer-copy h2{font-size:31px}.volunteer-missions{grid-template-columns:1fr}.fals-form .btn{width:100%;justify-self:stretch}.village-section .section-heading h2{font-size:24px}}


/* V4.1.6 — Robust carousel rendering: real IMG layers, reliable fallback and responsive framing. */
html,body{max-width:100%;overflow-x:hidden}
.hero.hero--carousel{width:100%;max-width:100vw;box-sizing:border-box}
.hero.hero--carousel .hero-carousel-media{overflow:hidden}
.hero.hero--carousel .hero-slide{display:block;background:none!important}
.hero.hero--carousel .hero-slide picture,.hero.hero--carousel .hero-slide img{display:block;width:100%;height:100%}
.hero.hero--carousel .hero-slide img{position:absolute;inset:0;max-width:none;object-fit:cover;object-position:center center}
@media(min-width:601px){
  .hero.hero--carousel .hero-slide img{object-position:center center}
}
@media(max-width:600px){
  /* V4.1.7 — mobile composition: fixed editorial grid, controlled crop and balanced contrast. */
  .hero.hero--carousel{height:620px!important;min-height:620px!important;max-height:620px!important;width:100vw;max-width:100vw;overflow:hidden}
  .hero.hero--carousel .hero-carousel-media{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
  .hero.hero--carousel .hero-slide{inset:0;width:100%;height:100%;overflow:hidden}
  .hero.hero--carousel .hero-slide picture,.hero.hero--carousel .hero-slide img{width:100%;height:100%;display:block}
  .hero.hero--carousel .hero-slide img{position:absolute;inset:0;object-fit:cover;object-position:72% center}
  .hero.hero--carousel .hero-slide[data-slide="0"] img{object-position:74% center}
  .hero.hero--carousel .hero-slide[data-slide="1"] img{object-position:68% center}
  .hero.hero--carousel .hero-slide[data-slide="2"] img{object-position:72% center}
  .hero.hero--carousel .hero-slide[data-slide="3"] img{object-position:68% center}
  .hero.hero--carousel .hero-carousel-overlay{background:linear-gradient(90deg,rgba(8,10,10,.94) 0%,rgba(8,10,10,.84) 34%,rgba(8,10,10,.42) 62%,rgba(8,10,10,.08) 100%)}
  .hero.hero--carousel .hero-carousel-inner{height:100%;align-items:flex-start}
  .hero.hero--carousel .hero-copy{width:calc(100% - 8px);max-width:390px;padding-top:30px}
  .hero.hero--carousel .hero-line-1{font-size:39px;line-height:.96}
  .hero.hero--carousel .hero-line-2{font-size:52px;line-height:.9;letter-spacing:.5px}
  .hero.hero--carousel .hero-line-3{font-size:26px;line-height:1}
  .hero.hero--carousel .hero-tagline{font-size:11px;line-height:1.25;letter-spacing:1.25px;margin:16px 0 14px;max-width:320px}
  .hero.hero--carousel .hero-meta{font-size:9px;line-height:1.35;gap:7px;max-width:340px}
  .hero.hero--carousel .hero-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:17px}
  .hero.hero--carousel .hero-buttons .btn{width:290px;max-width:100%;min-height:48px;height:48px;padding:0 16px;font-size:11px;box-sizing:border-box;justify-content:flex-start}
  .hero.hero--carousel .hero-script{display:none}
  .hero.hero--carousel .hero-carousel-controls{right:50%;bottom:12px;transform:translateX(50%);gap:10px}
  .hero.hero--carousel .hero-arrow{width:36px;height:36px;font-size:24px}
}

/* V4.1.8 — Mobile carousel: dedicated visible photography panel + robust source switching. */
.hero.hero--carousel .hero-carousel-media{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero.hero--carousel .hero-slide{position:absolute;inset:0;display:block;overflow:hidden;background:#171816!important;opacity:0;transition:opacity .8s ease;transform:none!important}
.hero.hero--carousel .hero-slide.is-active{opacity:1}
.hero.hero--carousel .hero-slide img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover;object-position:center center}
@media(min-width:601px){.hero.hero--carousel .hero-slide img{object-position:center center}}
@media(max-width:600px){
 .hero.hero--carousel{height:650px!important;min-height:650px!important;max-height:650px!important;width:100%!important;max-width:100%!important;overflow:hidden!important;background:#101210!important}
 .hero.hero--carousel .hero-carousel-media{inset:0;width:100%;height:100%;z-index:0}
 .hero.hero--carousel .hero-slide{inset:0;width:100%;height:100%;background:#151715!important}
 .hero.hero--carousel .hero-slide img{width:64%!important;left:36%!important;right:auto!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
 .hero.hero--carousel .hero-slide[data-slide="0"] img{object-position:58% center!important}
 .hero.hero--carousel .hero-slide[data-slide="1"] img{object-position:55% center!important}
 .hero.hero--carousel .hero-slide[data-slide="2"] img{object-position:55% center!important}
 .hero.hero--carousel .hero-slide[data-slide="3"] img{object-position:55% center!important}
 .hero.hero--carousel .hero-carousel-overlay{z-index:1!important;inset:0!important;background:linear-gradient(90deg,rgba(9,11,10,.99) 0%,rgba(9,11,10,.97) 30%,rgba(9,11,10,.78) 43%,rgba(9,11,10,.34) 56%,rgba(9,11,10,.06) 70%,rgba(9,11,10,0) 100%)!important}
 .hero.hero--carousel .hero-carousel-inner{z-index:3!important;height:100%!important;align-items:flex-start!important}
 .hero.hero--carousel .hero-copy{width:59%!important;max-width:none!important;padding-top:31px!important}
 .hero.hero--carousel .hero-line-1{font-size:38px!important;line-height:.96!important}
 .hero.hero--carousel .hero-line-2{font-size:50px!important;line-height:.9!important}
 .hero.hero--carousel .hero-line-3{font-size:25px!important;line-height:1!important}
 .hero.hero--carousel .hero-tagline{font-size:10px!important;line-height:1.25!important;letter-spacing:1.15px!important;margin:15px 0 13px!important;max-width:250px!important}
 .hero.hero--carousel .hero-meta{font-size:8.5px!important;line-height:1.35!important;gap:7px!important;max-width:255px!important}
 .hero.hero--carousel .hero-buttons{flex-direction:column!important;align-items:flex-start!important;gap:9px!important;margin-top:17px!important}
 .hero.hero--carousel .hero-buttons .btn{width:255px!important;max-width:100%!important;height:48px!important;min-height:48px!important;padding:0 15px!important;font-size:10px!important;box-sizing:border-box!important;justify-content:flex-start!important}
 .hero.hero--carousel .hero-script{display:none!important}
 .hero.hero--carousel .hero-carousel-controls{z-index:6!important;right:50%!important;bottom:12px!important;transform:translateX(50%)!important;gap:9px!important}
}
@media(max-width:380px){
 .hero.hero--carousel .hero-copy{width:61%!important;padding-top:27px!important}
 .hero.hero--carousel .hero-line-1{font-size:34px!important}.hero.hero--carousel .hero-line-2{font-size:44px!important}.hero.hero--carousel .hero-line-3{font-size:22px!important}
 .hero.hero--carousel .hero-tagline{font-size:9px!important;max-width:220px!important}.hero.hero--carousel .hero-meta{font-size:8px!important;max-width:225px!important}
 .hero.hero--carousel .hero-buttons .btn{width:235px!important;font-size:9.5px!important}
}


/* V4.1.9 — Mobile hero: show the complete portrait image without horizontal cropping. */
@media (max-width:600px){
  .hero.hero--carousel{height:650px!important;min-height:650px!important;max-height:650px!important;overflow:hidden!important;background:#0b0d0c!important}
  .hero.hero--carousel .hero-carousel-media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;z-index:0!important}
  .hero.hero--carousel .hero-slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#0b0d0c!important}
  /* The mobile source is 900x1200. Height-driven sizing preserves the entire photograph. */
  .hero.hero--carousel .hero-slide img{
    position:absolute!important;
    top:0!important;
    bottom:auto!important;
    left:auto!important;
    right:-5vw!important;
    width:auto!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:right center!important;
  }
  .hero.hero--carousel .hero-slide[data-slide="0"] img,
  .hero.hero--carousel .hero-slide[data-slide="1"] img,
  .hero.hero--carousel .hero-slide[data-slide="2"] img,
  .hero.hero--carousel .hero-slide[data-slide="3"] img{object-position:right center!important}
  /* V4.1.10: move the mobile photograph slightly to the right, as requested,
     while preserving the full height-driven portrait composition. */
  .hero.hero--carousel .hero-slide[data-slide="0"] img{right:-20vw!important}
  .hero.hero--carousel .hero-slide[data-slide="1"] img{right:-24vw!important}
  .hero.hero--carousel .hero-slide[data-slide="2"] img{right:-20vw!important}
  .hero.hero--carousel .hero-slide[data-slide="3"] img{right:-24vw!important}
  /* A clean dark editorial column behind the copy; photo remains fully visible on the right. */
  .hero.hero--carousel .hero-carousel-overlay{
    z-index:1!important;inset:0!important;
    background:linear-gradient(90deg,rgba(7,9,8,.985) 0%,rgba(7,9,8,.96) 31%,rgba(7,9,8,.72) 43%,rgba(7,9,8,.28) 55%,rgba(7,9,8,0) 69%)!important;
  }
  .hero.hero--carousel .hero-carousel-inner{position:relative!important;z-index:3!important;height:100%!important;align-items:flex-start!important}
  .hero.hero--carousel .hero-copy{width:62%!important;max-width:360px!important;padding-top:30px!important}
  .hero.hero--carousel .hero-line-1{font-size:37px!important;line-height:.96!important}
  .hero.hero--carousel .hero-line-2{font-size:49px!important;line-height:.9!important}
  .hero.hero--carousel .hero-line-3{font-size:24px!important;line-height:1!important}
  .hero.hero--carousel .hero-tagline{font-size:10px!important;line-height:1.25!important;letter-spacing:1.05px!important;margin:15px 0 13px!important;max-width:245px!important}
  .hero.hero--carousel .hero-meta{font-size:8.5px!important;line-height:1.35!important;gap:7px!important;max-width:255px!important}
  .hero.hero--carousel .hero-buttons{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important;margin-top:17px!important}
  .hero.hero--carousel .hero-buttons .btn{width:255px!important;max-width:100%!important;height:48px!important;min-height:48px!important;padding:0 15px!important;font-size:10px!important;box-sizing:border-box!important;justify-content:flex-start!important}
  .hero.hero--carousel .hero-carousel-controls{z-index:6!important;right:50%!important;bottom:12px!important;transform:translateX(50%)!important}
  .hero.hero--carousel .scroll-down{display:none!important}
}
@media (max-width:380px){
  .hero.hero--carousel{height:610px!important;min-height:610px!important;max-height:610px!important}
  .hero.hero--carousel .hero-copy{width:62%!important;padding-top:26px!important}
  .hero.hero--carousel .hero-line-1{font-size:33px!important}.hero.hero--carousel .hero-line-2{font-size:43px!important}.hero.hero--carousel .hero-line-3{font-size:21px!important}
  .hero.hero--carousel .hero-tagline{font-size:9px!important;max-width:210px!important}.hero.hero--carousel .hero-meta{font-size:7.7px!important;max-width:220px!important}
  .hero.hero--carousel .hero-buttons .btn{width:225px!important;font-size:9.2px!important}
}
