/* EU Battery Regulation page — lifecycle / calendar aesthetic
   Never zero `main > section` via a high-specificity blanket rule. */
.cvEbr{
  --ebr-doc:#F3F6FA;
  --ebr-ink:var(--cvl-ink);
  --ebr-line:#D5DCE6;
  --ebr-year:#14396E;
  font-family:var(--cvl-font-sans);
}
.cvEbr *,.cvEbr *::before,.cvEbr *::after{box-sizing:border-box}

/* ---- Hero: statute as visual signal ---- */
.content-page .cvEbr-hero{
  position:relative;
  padding:clamp(88px,13vh,140px) 0 clamp(80px,12vh,128px);
  background:
    linear-gradient(135deg, rgba(20,57,110,.07) 0%, transparent 42%),
    linear-gradient(180deg, var(--ebr-doc) 0%, var(--cvl-white) 78%);
  border-bottom:1px solid var(--cvl-border);
  overflow:visible;
}
.cvEbr-hero > .wrap{position:relative;z-index:1}
.cvEbr-hero .crumb{
  margin:0 0 36px;font-family:var(--cvl-font-mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cvl-muted);
}
.cvEbr-hero .crumb a{color:var(--cvl-slate);text-decoration:none}
.cvEbr-hero .crumb a:hover{color:var(--cvl-ink)}
.cvEbr-hero .crumb .sep{margin:0 8px;opacity:.4}
.cvEbr-hero .crumb-current{color:var(--cvl-ink)}

.cvEbr-hero-grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:clamp(48px,7vw,88px);align-items:center;
}
.cvEbr-kicker{
  margin:0 0 18px;font-family:var(--cvl-font-mono);font-size:var(--cvl-fs-label);
  letter-spacing:.14em;text-transform:uppercase;color:var(--cvl-muted);
}
.cvEbr-hero h1{
  margin:0;font-family:var(--cvl-font-display);
  font-size:clamp(36px,5.2vw,58px);line-height:1.08;letter-spacing:-.028em;
  font-weight:600;color:var(--cvl-ink);max-width:16ch;
}
.cvEbr-hero .lede{
  margin:24px 0 0;max-width:46ch;
  font-size:clamp(17px,1.8vw,20px);line-height:1.65;color:var(--cvl-slate);
}
.cvEbr-hero-actions{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;
}
.cvEbr-hero-actions .btn{min-height:48px;padding:0 22px;font-size:15px}
.cvEbr-disclaimer{
  margin:28px 0 0;font-family:var(--cvl-font-mono);font-size:11px;
  letter-spacing:.04em;color:var(--cvl-muted);max-width:48ch;line-height:1.5;
}

.cvEbr-statute{
  border-left:3px solid var(--cvl-blue);
  padding:8px 0 8px 28px;
}
.cvEbr-statute-code{
  display:block;font-family:var(--cvl-font-display);
  font-size:clamp(42px,5vw,64px);font-weight:600;letter-spacing:-.04em;
  line-height:1;color:var(--cvl-blue);margin-bottom:14px;
}
.cvEbr-statute-meta{
  margin:0;font-family:var(--cvl-font-mono);font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cvl-muted);line-height:1.55;
}
.cvEbr-statute-meta strong{display:block;color:var(--cvl-ink);font-weight:500;margin-top:10px;text-transform:none;letter-spacing:0;font-family:var(--cvl-font-sans);font-size:15px}

/* ---- Pillars ---- */
.content-page .cvEbr-pillars{
  padding:var(--cvl-sec-pad) 0;
  background:var(--cvl-white);
  border-bottom:1px solid var(--cvl-border);
}
.cvEbr-pillars-head{max-width:30ch;margin-bottom:clamp(44px,6vw,72px)}
.cvEbr-label{
  margin:0 0 14px;font-family:var(--cvl-font-mono);font-size:var(--cvl-fs-label);
  letter-spacing:.14em;text-transform:uppercase;color:var(--cvl-muted);
}
.cvEbr-title{
  margin:0;font-family:var(--cvl-font-display);font-size:clamp(32px,4.2vw,48px);
  font-weight:600;letter-spacing:-.025em;line-height:1.12;color:var(--cvl-ink);
}
.cvEbr-pillar-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;
  border-top:1px solid var(--cvl-ink);
}
.cvEbr-pillar{
  padding:36px 20px 28px 0;
  transition:opacity var(--cvl-dur-reveal) var(--cvl-ease-out),transform var(--cvl-dur-reveal) var(--cvl-ease-out);
}
html.js .cvEbr-pillar{opacity:0;transform:translateY(16px)}
html.js .cvEbr-pillars[data-in="1"] .cvEbr-pillar{opacity:1;transform:none}
.cvEbr-pillars[data-in="1"] .cvEbr-pillar:nth-child(1){transition-delay:.04s}
.cvEbr-pillars[data-in="1"] .cvEbr-pillar:nth-child(2){transition-delay:.1s}
.cvEbr-pillars[data-in="1"] .cvEbr-pillar:nth-child(3){transition-delay:.16s}
.cvEbr-pillars[data-in="1"] .cvEbr-pillar:nth-child(4){transition-delay:.22s}
.cvEbr-pillars[data-in="1"] .cvEbr-pillar:nth-child(5){transition-delay:.28s}
.cvEbr-pillar + .cvEbr-pillar{padding-left:22px;border-left:1px solid var(--cvl-border)}
.cvEbr-pillar-n{
  display:block;margin-bottom:16px;font-family:var(--cvl-font-mono);
  font-size:11px;letter-spacing:.12em;color:var(--cvl-gap-text);text-transform:uppercase;
}
.cvEbr-pillar-t{
  margin:0 0 12px;font-family:var(--cvl-font-display);font-size:clamp(20px,2.1vw,24px);
  font-weight:600;letter-spacing:-.02em;color:var(--cvl-ink);line-height:1.2;
}
.cvEbr-pillar-d{margin:0;font-size:15px;line-height:1.55;color:var(--cvl-slate);max-width:22ch}

/* ---- Timeline calendar ---- */
.content-page .cvEbr-timeline{
  padding:var(--cvl-sec-pad) 0;
  background:var(--ebr-doc);
}
.cvEbr-timeline-head{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(28px,5vw,56px);align-items:end;margin-bottom:clamp(44px,6vw,72px);
}
.cvEbr-timeline-lead{
  margin:0;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--cvl-slate);max-width:42ch;
}
.cvEbr-rail{list-style:none;margin:0;padding:0;border-top:1px solid var(--cvl-ink)}
.cvEbr-rail-item{
  display:grid;grid-template-columns:140px minmax(0,1fr);gap:28px;
  padding:32px 0;border-bottom:1px solid var(--ebr-line);
  transition:opacity var(--cvl-dur-reveal) var(--cvl-ease-out),transform var(--cvl-dur-reveal) var(--cvl-ease-out);
}
html.js .cvEbr-rail-item{opacity:0;transform:translateY(14px)}
html.js .cvEbr-timeline[data-in="1"] .cvEbr-rail-item{opacity:1;transform:none}
.cvEbr-timeline[data-in="1"] .cvEbr-rail-item:nth-child(1){transition-delay:.05s}
.cvEbr-timeline[data-in="1"] .cvEbr-rail-item:nth-child(2){transition-delay:.12s}
.cvEbr-timeline[data-in="1"] .cvEbr-rail-item:nth-child(3){transition-delay:.19s}
.cvEbr-timeline[data-in="1"] .cvEbr-rail-item:nth-child(4){transition-delay:.26s}
.cvEbr-rail-year{
  font-family:var(--cvl-font-display);font-size:clamp(28px,3vw,36px);
  font-weight:600;letter-spacing:-.03em;color:var(--ebr-year);line-height:1.1;
}
.cvEbr-rail-item[data-tone="peak"] .cvEbr-rail-year{color:var(--cvl-gap-text)}
.cvEbr-rail-tag{
  display:inline-block;margin:0 0 10px;font-family:var(--cvl-font-mono);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cvl-muted);
}
.cvEbr-rail-item[data-tone="peak"] .cvEbr-rail-tag{color:var(--cvl-gap-text)}
.cvEbr-rail-t{
  margin:0 0 8px;font-size:clamp(18px,2vw,22px);font-weight:500;
  letter-spacing:-.015em;color:var(--cvl-ink);line-height:1.3;
}
.cvEbr-rail-d{margin:0;font-size:16px;line-height:1.6;color:var(--cvl-slate);max-width:56ch}

/* ---- Myths ---- */
.content-page .cvEbr-myths{
  padding:var(--cvl-sec-pad) 0;
  background:var(--cvl-white);
  border-bottom:1px solid var(--cvl-border);
}
.cvEbr-myths-head{max-width:28ch;margin-bottom:clamp(40px,5vw,64px)}
.cvEbr-myth-list{list-style:none;margin:0;padding:0}
.cvEbr-myth{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);
  padding:32px 0;border-top:1px solid var(--cvl-border);
}
.cvEbr-myth:last-child{border-bottom:1px solid var(--cvl-border)}
.cvEbr-myth-false .cvEbr-myth-h,
.cvEbr-myth-true .cvEbr-myth-h{
  margin:0 0 10px;font-family:var(--cvl-font-mono);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;
}
.cvEbr-myth-false .cvEbr-myth-h{color:#8A4B3A}
.cvEbr-myth-true .cvEbr-myth-h{color:var(--cvl-success)}
.cvEbr-myth-false p,.cvEbr-myth-true p{
  margin:0;font-size:17px;line-height:1.55;color:var(--cvl-ink);max-width:36ch;
}
.cvEbr-myth-true p{color:var(--cvl-slate)}

/* ---- Actors ---- */
.content-page .cvEbr-actors{
  padding:var(--cvl-sec-pad) 0;
  background:var(--cvl-ink);color:#fff;
}
.cvEbr-actors-head{max-width:28ch;margin-bottom:clamp(40px,5vw,64px)}
.cvEbr-actors .cvEbr-label{color:#7A8798}
.cvEbr-actors .cvEbr-title{color:#fff}
.cvEbr-actor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.28)}
.cvEbr-actor{padding:36px 28px 12px 0}
.cvEbr-actor + .cvEbr-actor{padding-left:28px;border-left:1px solid rgba(255,255,255,.12)}
.cvEbr-actor-t{
  margin:0 0 14px;font-family:var(--cvl-font-display);font-size:clamp(22px,2.4vw,28px);
  font-weight:600;letter-spacing:-.02em;
}
.cvEbr-actor-d{margin:0;font-size:16px;line-height:1.6;color:#A8B4C4;max-width:32ch}

/* ---- Action 90 days ---- */
.content-page .cvEbr-action{
  padding:var(--cvl-sec-pad) 0;
  background:var(--cvl-white);
  border-bottom:1px solid var(--cvl-border);
}
.cvEbr-action-shell{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(40px,6vw,80px);align-items:start;
}
.cvEbr-action-lead{
  margin:16px 0 0;font-size:clamp(16px,1.6vw,18px);line-height:1.6;color:var(--cvl-slate);max-width:34ch;
}
.cvEbr-action-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--cvl-ink)}
.cvEbr-action-list li{
  display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;
  padding:24px 0;border-bottom:1px solid var(--cvl-border);
  font-size:17px;line-height:1.55;color:var(--cvl-slate);
}
.cvEbr-action-n{
  font-family:var(--cvl-font-mono);font-size:13px;color:var(--cvl-blue);padding-top:3px;
}
.cvEbr-action-list strong{display:block;color:var(--cvl-ink);font-weight:500;margin-bottom:4px}

/* ---- Close ---- */
.content-page .cvEbr-close{
  padding:var(--cvl-sec-pad) 0;
  background:
    radial-gradient(ellipse 55% 70% at 0% 100%, rgba(255,117,20,.06), transparent 55%),
    var(--cvl-white);
}
.cvEbr-close-shell{max-width:760px}
.cvEbr-close-title{
  margin:0 0 20px;font-family:var(--cvl-font-display);font-size:clamp(34px,4.4vw,54px);
  font-weight:600;letter-spacing:-.028em;line-height:1.1;color:var(--cvl-ink);max-width:18ch;
}
.cvEbr-close-lead{
  margin:0 0 36px;font-size:clamp(17px,1.8vw,20px);line-height:1.65;color:var(--cvl-slate);max-width:48ch;
}
.cvEbr-close-actions{display:flex;flex-wrap:wrap;gap:14px}
.cvEbr-close-actions .btn{min-height:48px;padding:0 22px;font-size:15px}
.cvEbr-related{
  margin-top:56px;padding-top:32px;border-top:1px solid var(--cvl-border);
  display:flex;flex-wrap:wrap;gap:12px 24px;
}
.cvEbr-related a{
  font-size:15px;font-weight:500;color:var(--cvl-blue);
  border-bottom:1px solid transparent;
}
.cvEbr-related a:hover{color:var(--cvl-ink);border-bottom-color:var(--cvl-ink)}

@media (max-width:1100px){
  .cvEbr-pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cvEbr-pillar{border-bottom:1px solid var(--cvl-border)}
  .cvEbr-pillar + .cvEbr-pillar{padding-left:20px;border-left:1px solid var(--cvl-border)}
  .cvEbr-pillar:nth-child(2n+1){padding-left:0;border-left:0}
}
@media (max-width:900px){
  .cvEbr-hero-grid,.cvEbr-timeline-head,.cvEbr-action-shell,.cvEbr-actor-grid{grid-template-columns:1fr;gap:36px}
  .cvEbr-actor + .cvEbr-actor{padding-left:0;border-left:0;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
  .cvEbr-myth{grid-template-columns:1fr;gap:16px}
  .cvEbr-hero h1,.cvEbr-title,.cvEbr-close-title{max-width:none}
}
@media (max-width:720px){
  .content-page .cvEbr-hero{padding:64px 0 72px}
  .cvEbr-statute-code{font-size:clamp(32px,10vw,48px)}
  .cvEbr-pillar-grid{grid-template-columns:1fr}
  .cvEbr-pillar,.cvEbr-pillar + .cvEbr-pillar{padding:28px 0;border-left:0;border-bottom:1px solid var(--cvl-border)}
  .cvEbr-rail-item{grid-template-columns:1fr;gap:10px;padding:28px 0}
  .cvEbr-action-list li{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:20px 0}
  .cvEbr-hero-actions .btn,.cvEbr-close-actions .btn{min-height:48px}
  .cvEbr-related a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}
  .site-header .nav-links a.nav-text{display:none}
}
@media (max-width:480px){
  .cvEbr-hero-actions,.cvEbr-close-actions{flex-direction:column;align-items:stretch}
  .cvEbr-hero-actions .btn,.cvEbr-close-actions .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .cvEbr-pillar,.cvEbr-rail-item{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}

.cvEbr-hero .cvl-board{box-shadow:var(--cvl-shadow-card);background:var(--cvl-white)}
