/* variety: editorial-magazine | collage-mosaic | mono+accent | equal | dividers | civic-news | head-inline-contacts | plain-language */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,form{margin:0;padding:0;}
ul,ol{list-style:none;}
img{max-width:100%;}
button{font:inherit;cursor:pointer;}
a{color:inherit;text-decoration:none;}

:root{
  --c-bg:#f6f4ef;
  --c-fg:#1c1a17;
  --c-muted:#6a665d;
  --c-accent:#9c3b2e;
  --c-dark:#1f1d1a;
  --c-on-dark:#f1efe8;
  --c-line:rgba(28,26,23,0.14);
  --space-1:4px;
  --space-2:8px;
  --space-3:16px;
  --space-4:24px;
  --space-5:40px;
  --space-6:72px;
  --radius-sm:2px;
  --radius-md:6px;
  --radius-lg:12px;
  --font-display:"Newsreader", Georgia, "Times New Roman", serif;
  --font-body:"Public Sans", "Helvetica Neue", Arial, sans-serif;
}

body{
  background:var(--c-bg);
  color:var(--c-fg);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.12;letter-spacing:-0.01em;}

.wrap{
  width:100%;
  max-width:1200px;
  margin-inline:auto;
  padding-inline:24px;
}
@media (min-width:1025px){ .wrap{ padding-inline:48px; } }

.eyebrow{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-3);
}
.eyebrow--on-dark{ color:var(--c-accent); }

/* ---- Buttons ---- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-2);
  font-size:0.9375rem;
  font-weight:600;
  letter-spacing:0.02em;
  padding:0 var(--space-4);
  height:44px;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  line-height:1;
}
.btn--fill{
  background:var(--c-accent);
  color:#fff;
  border-color:var(--c-accent);
}
.btn--line{
  background:transparent;
  color:var(--c-fg);
  border:1px solid var(--c-line);
  height:40px;
}

/* ---- Header ---- */
.site-head{
  background:var(--c-bg);
  border-bottom:1px solid var(--c-line);
}
.site-head__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:82px;
  gap:var(--space-4);
}
.brand{ display:inline-flex; align-items:center; gap:var(--space-2); }
.brand__img{ width:34px; height:34px; display:block; object-fit:contain; }
.brand__name{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:600;
  letter-spacing:-0.01em;
}
.head-contacts{ display:flex; align-items:center; gap:var(--space-3); }
.head-contacts__item{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:0.8125rem;
  font-weight:500;
  letter-spacing:0.02em;
  color:var(--c-fg);
}
.head-contacts__item svg{ color:var(--c-accent); flex:none; }
.head-contacts__sep{
  width:1px;
  height:20px;
  background:var(--c-line);
}
@media (max-width:1024px){
  .head-contacts__item span:last-child{ display:none; }
}
@media (max-width:640px){
  .head-contacts{ display:none; }
}

/* ---- Hero mosaic ---- */
.vitrine-hero{ padding:48px 0 64px; }
.hero__mosaic{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:minmax(300px,auto) 132px 168px;
  gap:18px;
}
.mosaic__say{ grid-column:1 / 7; grid-row:1; display:flex; flex-direction:column; align-items:flex-start; }
.mosaic__k{ grid-column:7 / 10; grid-row:1; }
.mosaic__l{ grid-column:10 / 13; grid-row:1 / 4; }
.mosaic__m{ grid-column:1 / 5; grid-row:2 / 4; }
.mosaic__n{ grid-column:5 / 10; grid-row:2; }
.mosaic__turn{ grid-column:5 / 10; grid-row:3; }

.mosaic__say h1{
  font-size:clamp(2rem,4vw,2.875rem);
  line-height:1.08;
  letter-spacing:-0.01em;
  color:var(--c-fg);
  margin-bottom:var(--space-3);
}
.mosaic__lead{
  font-size:1rem;
  color:var(--c-fg);
  max-width:46ch;
  margin-bottom:var(--space-4);
}

.hero__mosaic figure{ margin:0; display:flex; flex-direction:column; }
.hero__mosaic img{
  width:100%;
  height:calc(100% - 34px);
  object-fit:cover;
  display:block;
  border-radius:var(--radius-sm);
}
.hero__mosaic figcaption{
  height:34px;
  padding-top:12px;
  font-size:0.8125rem;
  font-weight:400;
  color:var(--c-muted);
  display:flex;
  align-items:baseline;
  gap:var(--space-2);
}
.mosaic__num{
  font-size:0.6875rem;
  font-weight:500;
  letter-spacing:0.08em;
  color:var(--c-accent);
}
.u{ font-size:0.8125rem; font-weight:400; }

.mosaic__turn{ display:flex; flex-direction:column; border-top:1px solid var(--c-fg); padding-top:var(--space-3); }
.mosaic__turn-line{
  font-size:0.875rem;
  font-weight:600;
  color:var(--c-fg);
}
.mosaic__turn .btn--line{ margin-top:auto; align-self:flex-end; }

@media (max-width:1024px) and (min-width:701px){
  .hero__mosaic{
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:auto 200px 150px;
    gap:16px;
  }
  .mosaic__say{ grid-column:1 / 7; grid-row:1; }
  .mosaic__k{ grid-column:1 / 4; grid-row:2; }
  .mosaic__l{ grid-column:4 / 7; grid-row:2; }
  .mosaic__m{ grid-column:1 / 4; grid-row:3; }
  .mosaic__n{ grid-column:4 / 7; grid-row:3; }
  .mosaic__turn{ grid-column:1 / 7; grid-row:4; }
}
@media (max-width:700px){
  .hero__mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:12px;
  }
  .mosaic__say{ grid-column:1 / 3; grid-row:auto; }
  .mosaic__say h1{ font-size:clamp(1.875rem,8vw,2.125rem); }
  .mosaic__k,.mosaic__l,.mosaic__m,.mosaic__n{ grid-column:auto; grid-row:auto; }
  .mosaic__k img,.mosaic__l img,.mosaic__m img,.mosaic__n img{ aspect-ratio:1/1; height:auto; }
  .mosaic__turn{ grid-column:1 / 3; grid-row:auto; }
}

/* ---- Split sections ---- */
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-6);
  align-items:center;
}
.split--rev .split__media{ order:2; }
.split--rev .split__text{ order:1; }
.split__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:var(--radius-md);
  aspect-ratio:4/3;
}
.split__text h2{ font-size:clamp(1.625rem,3vw,2.125rem); margin-bottom:var(--space-3); }
.lead{ font-size:1.0625rem; color:var(--c-fg); max-width:68ch; margin-bottom:var(--space-3); }
.split__text p{ color:var(--c-muted); max-width:68ch; margin-bottom:var(--space-3); }
@media (max-width:1024px){
  .split{ gap:var(--space-5); }
}
@media (max-width:640px){
  .split{ grid-template-columns:1fr; gap:var(--space-4); }
  .split--rev .split__media{ order:0; }
  .split--rev .split__text{ order:0; }
}

.tick-list{ display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-3); }
.tick-list li{ display:flex; gap:var(--space-2); align-items:flex-start; font-size:0.9375rem; color:var(--c-fg); }
.tick-list svg{ color:var(--c-accent); flex:none; margin-top:3px; }
.tick-list strong{ font-weight:600; }

.salle-intro{ padding:var(--space-6) 0; }
.collection-fils{ padding:var(--space-6) 0; }

/* ---- Section head ---- */
.section-head{ max-width:68ch; margin-bottom:var(--space-5); }
.section-head h2{ font-size:clamp(1.625rem,3vw,2.25rem); margin-bottom:var(--space-3); }
.section-head .lead{ margin-bottom:0; }

/* ---- Card grids ---- */
.affiche-now{ padding:var(--space-6) 0; }
.ateliers-trio{ padding:var(--space-6) 0; }
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
}
.card-grid--div > *{
  padding:var(--space-4);
  border-left:1px solid var(--c-line);
}
.card-grid--div > *:first-child{ border-left:none; padding-left:0; }
.card-grid--div > *:last-child{ padding-right:0; }
@media (max-width:1024px){
  .card-grid{ grid-template-columns:1fr 1fr; }
  .card-grid--div > *{ border-left:none; border-top:1px solid var(--c-line); padding:var(--space-4) 0; }
  .card-grid--div > *:first-child{ border-top:none; padding-top:0; }
}
@media (max-width:640px){
  .card-grid{ grid-template-columns:1fr; }
}

.show-card__eyebrow{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-2);
}
.show-card__title{ font-size:1.375rem; margin-bottom:var(--space-2); color:var(--c-fg); min-height:1.6em; }
.show-card__meta{ font-size:0.8125rem; font-weight:500; letter-spacing:0.03em; color:var(--c-muted); margin-bottom:var(--space-1); }
.show-card__dates{ font-size:0.8125rem; font-weight:600; color:var(--c-fg); margin-bottom:var(--space-3); }
.show-card__dates .u{ font-size:0.75rem; font-weight:500; color:var(--c-muted); }
.show-card__desc{ font-size:0.9375rem; color:var(--c-muted); }

/* ---- Chiffres band (dark) ---- */
.chiffres-band{
  background:var(--c-dark);
  color:var(--c-on-dark);
  padding:var(--space-6) 0;
}
.chiffres-band__title{ font-size:clamp(1.625rem,3vw,2.25rem); color:var(--c-on-dark); margin-bottom:var(--space-5); }
.metric-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.metric{
  padding:0 var(--space-4);
  border-left:1px solid rgba(241,239,232,0.2);
}
.metric:first-child{ border-left:none; padding-left:0; }
.metric__num{
  font-family:var(--font-display);
  font-size:clamp(2.25rem,4vw,3rem);
  font-weight:600;
  line-height:1;
  color:var(--c-on-dark);
  margin-bottom:var(--space-2);
  display:flex;
  align-items:baseline;
  gap:2px;
}
.metric__unit{
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:500;
  color:var(--c-accent);
}
.metric__cap{
  font-size:0.8125rem;
  font-weight:400;
  letter-spacing:0.03em;
  color:rgba(241,239,232,0.78);
}
@media (max-width:640px){
  .metric-row{ grid-template-columns:1fr 1fr; gap:var(--space-4); }
  .metric{ border-left:none; padding:0; }
}

/* ---- Steps ---- */
.parcours-steps{ padding:var(--space-6) 0; }
.steps{ display:grid; grid-template-columns:1fr; gap:0; }
.step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--space-4);
  padding:var(--space-4) 0;
  border-top:1px solid var(--c-line);
  align-items:start;
}
.step:first-child{ border-top:none; }
.step__num{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.08em;
  color:var(--c-accent);
  padding-top:4px;
}
.step__body{ display:flex; flex-direction:column; }
.step__icon{ color:var(--c-accent); margin-bottom:var(--space-2); }
.step__title{ font-size:1.25rem; margin-bottom:var(--space-1); color:var(--c-fg); }
.step__body p{ font-size:0.9375rem; color:var(--c-muted); max-width:68ch; }

/* ---- Prices ---- */
.billets-offres{ padding:var(--space-6) 0; }
.price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--space-4);
  align-items:start;
}
.price-card{
  border:1px solid var(--c-line);
  border-radius:var(--radius-md);
  padding:var(--space-4);
  background:var(--c-bg);
  display:flex;
  flex-direction:column;
  position:relative;
}
.price-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  aspect-ratio:16/10;
  border-radius:var(--radius-sm);
  margin-bottom:var(--space-3);
}
.price-card__eyebrow{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-1);
}
.price-card__title{ font-size:1.25rem; margin-bottom:var(--space-2); color:var(--c-fg); }
.price-card__price{
  font-family:var(--font-display);
  font-size:2rem;
  font-weight:600;
  line-height:1;
  color:var(--c-fg);
  margin-bottom:var(--space-3);
  display:flex;
  align-items:baseline;
  gap:2px;
}
.price__unit{ font-family:var(--font-body); font-size:0.875rem; font-weight:400; color:var(--c-muted); }
.price-card__list{ display:flex; flex-direction:column; gap:var(--space-2); margin-bottom:var(--space-4); }
.price-card__list li{ display:flex; gap:var(--space-2); align-items:flex-start; font-size:0.875rem; color:var(--c-fg); }
.price-card__list svg{ color:var(--c-accent); flex:none; margin-top:3px; }
.price-card__btn{ margin-top:auto; width:100%; }
.price-card--promoted{
  border:2px solid var(--c-accent);
}
.price-card__badge{
  position:absolute;
  top:-11px;
  left:var(--space-4);
  background:var(--c-accent);
  color:#fff;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:3px var(--space-2);
  border-radius:var(--radius-sm);
}
@media (max-width:1024px){
  .price-grid{ grid-template-columns:1fr; }
}

/* ---- Agenda ---- */
.agenda-frise{ padding:var(--space-6) 0; }
.agenda{ display:flex; flex-direction:column; }
.agenda__row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--space-5);
  padding:var(--space-4) 0;
  border-top:1px solid var(--c-line);
}
.agenda__row:first-child{ border-top:none; }
.agenda__date{ display:flex; flex-direction:column; align-items:center; min-width:60px; }
.agenda__day{ font-family:var(--font-display); font-size:2rem; font-weight:600; line-height:1; color:var(--c-fg); }
.agenda__mon{ font-size:0.75rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:var(--c-accent); }
.agenda__kind{
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-1);
}
.agenda__title{ font-size:1.25rem; margin-bottom:var(--space-1); color:var(--c-fg); }
.agenda__body p:last-child{ font-size:0.9375rem; color:var(--c-muted); max-width:68ch; }
@media (max-width:640px){
  .agenda__row{ gap:var(--space-3); }
}

/* ---- Quote (dark) ---- */
.voix-citation{ background:var(--c-dark); color:var(--c-on-dark); padding:var(--space-6) 0; }
.pull-quote p{
  font-family:var(--font-display);
  font-size:clamp(1.5rem,3.5vw,2.125rem);
  line-height:1.3;
  font-weight:500;
  color:var(--c-on-dark);
  max-width:30ch;
  margin-bottom:var(--space-4);
}
.pull-quote__by{
  font-size:0.875rem;
  font-weight:500;
  letter-spacing:0.03em;
  color:rgba(241,239,232,0.8);
}
.pull-quote__by cite{ font-style:italic; }

/* ---- Programmes ---- */
.prog-card__icon{ color:var(--c-accent); margin-bottom:var(--space-3); }
.prog-card__eyebrow{
  font-size:0.75rem;
  font-weight:500;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:var(--space-1);
}
.prog-card__title{ font-size:1.25rem; margin-bottom:var(--space-2); color:var(--c-fg); min-height:1.4em; }
.prog-card p:last-child{ font-size:0.9375rem; color:var(--c-muted); }

/* ---- Partners ---- */
.soutiens-logos{ padding:var(--space-5) 0 var(--space-6); }
.soutiens-logos__title{ font-size:clamp(1.375rem,2.5vw,1.75rem); margin-bottom:var(--space-5); color:var(--c-fg); }
.logo-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-5);
  align-items:center;
}
.logo-row__item{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:0.9375rem;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--c-muted);
}
.logo-row__item svg{ color:var(--c-fg); flex:none; }

/* ---- FAQ ---- */
.questions-pliage{ padding:var(--space-5) 0 var(--space-6); }
.accordion{ border-top:1px solid var(--c-line); }
.acc-item{ border-bottom:1px solid var(--c-line); }
.acc-item__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-4) 0;
  background:none;
  border:none;
  text-align:left;
  font-family:var(--font-display);
  font-size:1.1875rem;
  font-weight:600;
  color:var(--c-fg);
}
.acc-item__chev{ color:var(--c-accent); flex:none; transition:none; }
.acc-item__head[aria-expanded="true"] .acc-item__chev{ transform:rotate(180deg); }
.acc-item__panel{ display:none; padding:0 0 var(--space-4); }
.acc-item__panel.is-open{ display:block; }
.acc-item__panel p{ font-size:0.9375rem; color:var(--c-muted); max-width:68ch; }

/* ---- Contact ---- */
.venir-contacts{ padding:var(--space-5) 0 var(--space-6); }
.contact-list{ display:flex; flex-direction:column; gap:var(--space-3); margin-top:var(--space-4); }
.contact-list li{ display:flex; gap:var(--space-3); align-items:flex-start; font-size:0.9375rem; color:var(--c-fg); }
.contact-list svg{ color:var(--c-accent); flex:none; margin-top:3px; }
.contact-list__key{
  display:block;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--c-muted);
  margin-bottom:2px;
}
.contact-list a{ color:var(--c-accent); }

/* ---- Footer ---- */
.pied-musee{
  background:var(--c-bg);
  border-top:1px solid var(--c-line);
  padding:var(--space-6) 0 var(--space-5);
}
.foot-brand{ margin-bottom:var(--space-5); max-width:68ch; }
.brand__name--foot{ font-size:1.75rem; display:inline-block; margin-bottom:var(--space-3); }
.foot-brand__tag{ font-size:0.9375rem; color:var(--c-muted); max-width:60ch; }
.foot-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-2);
  font-size:0.875rem;
  font-weight:500;
  letter-spacing:0.02em;
  padding-bottom:var(--space-4);
}
.foot-links a{ color:var(--c-fg); }
.foot-dot{ color:var(--c-muted); }
.foot-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding-top:var(--space-4);
  border-top:1px solid var(--c-line);
}
.foot-bar__copy{ font-size:0.8125rem; color:var(--c-muted); }
.foot-bar__cookie{
  background:none;
  border:1px solid var(--c-line);
  border-radius:var(--radius-sm);
  padding:var(--space-2) var(--space-3);
  font-size:0.8125rem;
  font-weight:500;
  letter-spacing:0.03em;
  color:var(--c-fg);
}
@media (max-width:640px){
  .foot-bar{ flex-direction:column; align-items:flex-start; }
}

/* ---- Cookie banner ---- */
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1000;
  background:var(--c-dark);
  color:var(--c-on-dark);
  border-top:1px solid rgba(241,239,232,0.2);
}
.cookie-banner.is-hidden{ display:none; }
.cookie-banner__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  padding-top:var(--space-4);
  padding-bottom:var(--space-4);
}
.cookie-banner__text{ max-width:68ch; }
.cookie-banner__title{ font-family:var(--font-display); font-size:1.125rem; font-weight:600; color:var(--c-on-dark); margin-bottom:var(--space-1); }
.cookie-banner__text p:last-child{ font-size:0.875rem; color:rgba(241,239,232,0.82); }
.cookie-banner__actions{ display:flex; gap:var(--space-2); flex:none; }
.cookie-banner__actions .btn--line{ color:var(--c-on-dark); border-color:rgba(241,239,232,0.4); }
@media (max-width:640px){
  .cookie-banner__inner{ flex-direction:column; align-items:flex-start; }
  .cookie-banner__actions{ flex-wrap:wrap; }
}

/* ---- Cookie dialog ---- */
.cookie-dialog{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(28,26,23,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-4);
}
.cookie-dialog.is-hidden{ display:none; }
.cookie-dialog__panel{
  background:var(--c-bg);
  color:var(--c-fg);
  border-radius:var(--radius-lg);
  max-width:560px;
  width:100%;
  padding:var(--space-5);
  /* снято: max-height:90vh; — обрезает содержимое */
  overflow:auto;
}
.cookie-dialog__title{ font-size:1.5rem; margin-bottom:var(--space-2); }
.cookie-dialog__lead{ font-size:0.9375rem; color:var(--c-muted); margin-bottom:var(--space-4); }
.cookie-dialog__list{ display:flex; flex-direction:column; gap:var(--space-3); margin-bottom:var(--space-4); }
.cookie-cat{ border:1px solid var(--c-line); border-radius:var(--radius-md); padding:var(--space-3); }
.cookie-cat__head{ display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); margin-bottom:var(--space-1); }
.cookie-cat__name{ font-size:0.9375rem; font-weight:600; letter-spacing:0.02em; }
.cookie-cat__always{ font-size:0.75rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; color:var(--c-muted); }
.cookie-cat p{ font-size:0.8125rem; color:var(--c-muted); }
.switch{ position:relative; display:inline-block; width:40px; height:22px; flex:none; }
.switch input{ position:absolute; opacity:0; width:0; height:0; }
.switch__track{
  position:absolute;
  inset:0;
  background:var(--c-line);
  border-radius:999px;
  transition:none;
}
.switch__track::before{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:18px;
  height:18px;
  background:#fff;
  border-radius:50%;
}
.switch input:checked + .switch__track{ background:var(--c-accent); }
.switch input:checked + .switch__track::before{ left:20px; }
.cookie-dialog__actions{ display:flex; justify-content:flex-end; gap:var(--space-2); }


/* wh-consent: fixed component, injected after generation */
  .wh-consent { position: fixed; left: max(3vw, 16px); right: max(3vw, 16px); bottom: 16px; z-index: 1000;
    display: flex; flex-wrap: wrap; align-items: center; gap: 16px; justify-content: space-between;
    background: var(--c-fg, #1b1b1b); color: var(--c-bg, #fff); padding: 18px 22px;
    border-radius: var(--radius-md, 10px); box-shadow: 0 10px 40px rgba(0,0,0,.28); }
  .wh-consent p { margin: 0; flex: 1 1 320px; font-size: .95rem; line-height: 1.5; color: var(--c-bg, #fff); }
  .wh-consent a { color: var(--c-bg, #fff); text-decoration: underline; }
  .wh-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
  .wh-consent__btn { font: inherit; font-size: .9rem; padding: 10px 18px; border-radius: var(--radius-sm, 8px);
    border: 1px solid var(--c-bg, #fff); background: transparent; color: var(--c-bg, #fff); cursor: pointer; }
  .wh-consent__btn--primary { background: var(--c-bg, #fff); color: var(--c-fg, #1b1b1b); border-color: var(--c-bg, #fff); }
  .wh-consent__reopen { display: inline-block; margin-top: 12px; background: none; border: 0; padding: 0;
    font: inherit; font-size: .85rem; color: inherit; opacity: .7; text-decoration: underline; cursor: pointer; }
  .wh-consent__reopen:hover { opacity: 1; }
  .wh-consent__dialog { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
    padding: 20px; background: rgba(0,0,0,.45); }
  .wh-consent__panel { width: min(520px, 100%); background: var(--c-bg, #fff); color: var(--c-fg, #1b1b1b);
    border-radius: var(--radius-md, 10px); padding: 26px; display: grid; gap: 14px; }
  .wh-consent__panel h2 { margin: 0; font-size: 1.3rem; color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel p { color: var(--c-fg, #1b1b1b); margin: 0; }
  .wh-consent__opts { display: grid; gap: 10px; }
  .wh-consent__opts label { display: flex; align-items: center; gap: 10px; font-size: .95rem; color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel .wh-consent__btn { border-color: var(--c-fg, #1b1b1b); color: var(--c-fg, #1b1b1b); }
  .wh-consent__panel .wh-consent__btn--primary { background: var(--c-fg, #1b1b1b); color: var(--c-bg, #fff); }
  /* In a column the main axis is vertical, so the paragraph's 320px basis becomes a 320px HEIGHT and
     the bar swells to half the phone screen. Reset it here, not above: on a row it is what keeps the
     text and the buttons on one line. */
  @media (max-width: 640px) { .wh-consent { flex-direction: column; align-items: stretch; } .wh-consent p { flex: 0 0 auto; } .wh-consent__actions { justify-content: stretch; } .wh-consent__btn { flex: 1 1 auto; } }

/* WH-CONTRAST-VERIFIED:START */
/* Measured in a real browser against the painted background, then re-measured.
   2 selector(s) corrected. */
.wrap p.eyebrow.eyebrow--on-dark { color: #b9746b !important; } /* was #9c3b2e at 2.47:1, needs 4.5 */
.metric__num span.metric__unit { color: #b9746b !important; } /* was #9c3b2e at 2.47:1, needs 4.5 */
/* WH-CONTRAST-VERIFIED:END */

/* WH-LAYOUT-VERIFIED:START */
/* Measured in a real browser: content escaping its container, then re-measured.
   1 container(s) corrected. */
[hidden], .hidden, .is-hidden { display: none !important; } /* div.wh-consent__dialog was flex at 1440x900 while marked hidden */
/* WH-LAYOUT-VERIFIED:END */
