/* Official EU pages: programme branding, readable project text, real files. */
.ed-project { --ed-paper: #fff; --ed-surface: #f0efec; --ed-glow: rgba(210,193,185,.13); }
.ed-hero { padding: 20px 0 34px; background: var(--bg-raised); border-bottom: 1px solid var(--rule); }
html[data-theme="dark"] .ed-project { --ed-surface: #202027; --ed-glow: rgba(250,38,0,.12); }
html[data-theme="dark"] .ed-hero { background: radial-gradient(70% 160% at 57% -35%,rgba(250,38,0,.17),transparent 68%),linear-gradient(180deg,#19171d,#131318); }
.ed-crumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px 11px; color:var(--fg-3); font-size:.78rem; margin-bottom:30px; }
.ed-crumbs a { color:inherit; text-underline-offset:4px; }
.ed-crumbs .icon { width:12px; height:12px; flex:none; }
.ed-crumb-parent { max-width:42rem; overflow-wrap:anywhere; }
.ed-masthead { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-bottom:28px; }
.ed-branding { display:flex; align-items:center; justify-content:center; gap:22px; padding:14px 20px; background:#fff; border:1px solid #e7e7e7; border-radius:5px; width:max-content; max-width:100%; }
.ed-branding img { display:block; object-fit:contain; width:auto; height:72px; max-width:330px; filter:none !important; mix-blend-mode:normal; }
.ed-branding img:only-child { height:auto; max-height:82px; width:auto; max-width:380px; }
.ed-project-status { display:inline-flex; align-items:center; gap:8px; font-size:.79rem; color:var(--fg-3); flex:none; }
.ed-project-status>span { width:6px; height:6px; background:var(--fg-4); border-radius:50%; }
.ed-project-status--active>span { background:var(--red); box-shadow:0 0 0 5px rgba(250,38,0,.08); }
.ed-heading { max-width:66rem; }
.ed-heading h1 { font-family:var(--font-display); font-size:clamp(2rem,1.2rem + 2.3vw,3.7rem); font-weight:720; line-height:1.08; letter-spacing:-.022em; margin:0; text-wrap:balance; overflow-wrap:anywhere; }
.ed-contract { margin:18px 0 0; font-size:.87rem; color:var(--accent-text); overflow-wrap:anywhere; }
.ed-parent-link { font-size:.89rem; line-height:1.5; margin:16px 0 0; color:var(--fg-3); }
.ed-parent-link a { color:var(--fg-2); text-decoration:underline; text-decoration-color:var(--rule-strong); text-underline-offset:3px; }
.ed-jumps { display:flex; gap:8px 12px; flex-wrap:wrap; margin-top:22px; }
.ed-jumps a { display:inline-flex; gap:8px; align-items:center; min-height:40px; padding:6px 13px; border:1px solid var(--rule-strong); border-radius:5px; color:var(--fg-2); font-size:.84rem; transition:border-color .18s,background .18s; }
.ed-jumps a>span { font-size:.74rem; color:var(--fg-3); }
.ed-jumps .icon { height:15px; width:15px; }
.ed-navigation { margin-top:28px; padding-top:21px; border-top:1px solid var(--rule); scroll-margin-top:calc(var(--nav-h) + 18px); }
.ed-navigation__heading { display:flex; align-items:baseline; gap:9px; margin-bottom:12px; }
.ed-navigation__heading h2 { font-family:var(--font-sans); font-size:.87rem; font-weight:600; margin:0; }
.ed-navigation__heading>span { font-size:.74rem; color:var(--fg-3); }
.ed-navigation ul { padding:0; margin:0; list-style:none; display:flex; flex-wrap:wrap; gap:7px 12px; }
.ed-navigation li { min-width:0; flex:1 1 360px; }
.ed-navigation li:first-child { flex:0 1 175px; }
.ed-navigation li:first-child a { width:100%; }
.ed-navigation li a { min-height:45px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:11px 14px; font-size:.85rem; line-height:1.35; color:var(--fg-2); border-radius:5px; background:var(--bg); border:1px solid var(--rule); transition:background .2s,border-color .2s; }
.ed-navigation li a[aria-current="page"] { border-color:var(--rule-strong); background:var(--bg-raised); border-left:2px solid var(--red); }
.ed-navigation .icon { width:16px; height:16px; flex:none; }
.ed-navigation__current { color:var(--accent-text); font-size:.73rem; flex:none; }
.ed-content { padding:38px 0 50px; }
.ed-overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px); gap:clamp(25px,5vw,70px); align-items:start; }
.ed-prose { max-width:76ch; min-width:0; color:var(--fg-2); font-size:1.02rem; line-height:1.65; overflow-wrap:anywhere; }
.ed-prose> :first-child { margin-top:0; }
.ed-prose>strong { display:block; margin:0 0 13px; font-weight:500; }
.ed-prose>strong i { font-style:normal; }
.ed-prose p>strong:only-child { font-weight:550; }
.ed-prose h2 { font-size:clamp(1.5rem,2.7vw,2rem); line-height:1.15; }
.ed-prose table { display:block; max-width:100%; overflow:auto; }
.ed-facts { min-width:0; background:var(--bg-raised); border-block:1px solid var(--rule); padding:5px 20px; }
.ed-facts dl { margin:0; }
.ed-facts dl>div { padding:15px 0; }
.ed-facts dl>div+div { border-top:1px solid var(--rule); }
.ed-facts dt { color:var(--fg-3); font-size:.76rem; line-height:1.35; }
.ed-facts dd { margin:6px 0 0; font-size:.97rem; font-weight:550; line-height:1.4; overflow-wrap:anywhere; }
.ed-documents { margin-top:38px; padding-top:26px; border-top:1px solid var(--rule); scroll-margin-top:calc(var(--nav-h) + 20px); }
.ed-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:24px; }
.ed-section-heading h2 { margin:0; font-family:var(--font-display); font-size:clamp(1.8rem,2.6vw,2.25rem); font-weight:650; }
.ed-section-heading>span { font-size:.82rem; color:var(--fg-3); white-space:nowrap; }
.ed-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.ed-document-grid:has(>.ed-file:only-child) { grid-template-columns:minmax(0,360px); }
.ed-file { background:var(--bg-raised); border:1px solid var(--rule); border-radius:8px; display:flex; flex-direction:column; overflow:hidden; min-width:0; box-shadow:0 2px 8px rgba(0,0,0,.025); transition:border-color .23s,box-shadow .23s; }
.ed-file__preview { display:flex; align-items:flex-start; justify-content:center; height:210px; position:relative; overflow:hidden; padding:24px 42px 0; background:radial-gradient(ellipse at 55% 90%,var(--ed-glow),transparent 75%),var(--ed-surface); isolation:isolate; }
.ed-file__format { position:absolute; top:13px; left:13px; z-index:2; background:var(--bg-raised); border:1px solid var(--rule); color:var(--accent-text); border-radius:3px; padding:4px 6px; font-size:.69rem; font-weight:650; letter-spacing:.035em; line-height:1; }
.ed-file--office .ed-file__format { color:var(--fg-2); }
.ed-file__paper { display:block; width:154px; flex:none; transform:translateY(7px) rotate(-2deg); transform-origin:50% 100%; box-shadow:0 12px 28px rgba(0,0,0,.18); transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s; }
.ed-file__paper img { width:100%; height:auto; min-height:180px; object-fit:contain; object-position:top; background:#fff; border:1px solid #e3e3e3; display:block; }
.ed-file__preview--icon { align-items:center; padding-top:18px; }
.ed-file__preview--icon .ed-file__paper { width:88px; box-shadow:none; transform:translateY(0); color:var(--fg-3); }
.ed-file__symbol { display:block; position:relative; }
.ed-file__symbol svg { width:88px; height:106px; }
.ed-file__symbol b { position:absolute; bottom:15px; left:23px; font-size:.82rem; color:var(--fg-2); }
.ed-file__peek { position:absolute; right:13px; bottom:13px; width:29px; height:29px; display:grid; place-items:center; background:var(--bg-raised); border-radius:50%; color:var(--fg-2); opacity:0; transform:translate(-4px,4px); transition:opacity .2s,transform .2s; }
.ed-file__peek .icon { width:15px; height:15px; }
.ed-file__info { padding:18px 20px 0; flex:1; display:flex; flex-direction:column; min-width:0; }
.ed-file__meta { font-size:.71rem; color:var(--fg-3); margin:0 0 8px; }
.ed-file__title { margin:0 0 18px; font-family:var(--font-sans); font-size:1.03rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.ed-file__title a { color:var(--fg); }
.ed-file__actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:auto; padding:5px 0; border-top:1px solid var(--rule); }
.ed-file__actions a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:43px; font-size:.79rem; color:var(--fg-2); }
.ed-file__actions a:first-child { color:var(--accent-text); }
.ed-file__actions .icon { width:14px; height:14px; }
.ed-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:32px; }
.ed-gallery figure { margin:0; background:var(--ed-surface); border:1px solid var(--rule); border-radius:6px; overflow:hidden; }
.ed-gallery img { display:block; width:100%; height:100%; max-height:400px; aspect-ratio:4/3; object-fit:contain; }
.ed-note { padding-top:24px; margin-top:30px; border-top:1px solid var(--rule); font-size:.8rem; line-height:1.6; color:var(--fg-3); overflow-wrap:anywhere; }
.ed-note pre { white-space:pre-wrap; font-size:.76rem; }
.ed-back { border-top:1px solid var(--rule); margin-top:38px; padding-top:24px; }
.ed-project a:focus-visible { outline:2px solid var(--accent-text); outline-offset:4px; }
.ed-file:focus-within { border-color:var(--rule-strong); box-shadow:0 7px 25px rgba(0,0,0,.09); }
.ed-file:focus-within .ed-file__peek { opacity:1; transform:none; }
@media (hover:hover) and (pointer:fine) {
  .ed-file:hover { border-color:var(--rule-strong); box-shadow:0 7px 25px rgba(0,0,0,.09); }
  .ed-file:hover .ed-file__paper { transform:translateY(-2px) rotate(0); }
  .ed-file:hover .ed-file__peek { opacity:1; transform:none; }
  .ed-jumps a:hover,.ed-navigation li a:hover { border-color:var(--fg-4); background:var(--bg-raised); }
  .ed-file__actions a:hover,.ed-file__title a:hover { text-decoration:underline; text-underline-offset:4px; }
}
@media (max-width:960px) {
  .ed-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .ed-overview { grid-template-columns:minmax(0,1fr); gap:26px; }
  .ed-facts dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:30px; }
  .ed-facts dl>div:nth-child(2) { border-top:0; }
  .ed-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .ed-hero { padding:14px 0 25px; }
  .ed-crumbs { margin-bottom:22px; font-size:.73rem; gap:5px 7px; }
  .ed-crumb-parent { flex-basis:calc(100% - 25px); }
  .ed-masthead { align-items:flex-start; flex-direction:column; gap:15px; margin-bottom:20px; }
  .ed-branding { padding:12px 14px; gap:18px; }
  .ed-branding img { height:56px; max-width:125px; }
  .ed-branding img:only-child { max-width:245px; max-height:70px; }
  .ed-heading h1 { font-size:2.15rem; line-height:1.08; }
  .ed-contract { font-size:.78rem; margin-top:14px; }
  .ed-parent-link { font-size:.83rem; }
  .ed-jumps { margin-top:18px; gap:8px; }
  .ed-jumps a { font-size:.8rem; min-height:42px; }
  .ed-navigation { margin-top:22px; padding-top:17px; }
  .ed-navigation ul { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
  .ed-navigation li:first-child a { width:100%; }
  .ed-navigation li a { font-size:.81rem; padding:10px 12px; gap:10px; }
  .ed-content { padding:26px 0 34px; }
  .ed-prose { font-size:.98rem; line-height:1.58; }
  .ed-facts { padding:3px 14px; }
  .ed-facts dl { gap:0 20px; }
  .ed-facts dd { font-size:.87rem; }
  .ed-facts dt { font-size:.71rem; }
  .ed-documents { margin-top:25px; padding-top:22px; }
  .ed-section-heading { margin-bottom:18px; gap:8px; }
  .ed-section-heading h2 { font-size:1.7rem; }
  .ed-section-heading>span { font-size:.75rem; }
  .ed-document-grid,.ed-document-grid:has(>.ed-file:only-child) { grid-template-columns:minmax(0,1fr); gap:12px; }
  .ed-file { display:grid; grid-template-columns:106px minmax(0,1fr); }
  .ed-file__preview { height:100%; min-height:161px; padding:41px 10px 0; }
  .ed-file__paper { width:80px; }
  .ed-file__paper img { min-height:105px; }
  .ed-file__format { font-size:.63rem; top:11px; left:10px; padding:4px 5px; }
  .ed-file__preview--icon { padding:25px 10px 0; }
  .ed-file__preview--icon .ed-file__paper { width:66px; }
  .ed-file__symbol svg { width:66px; height:80px; }
  .ed-file__symbol b { font-size:.68rem; bottom:12px; left:16px; }
  .ed-file__peek { display:none; }
  .ed-file__info { padding:15px 13px 0; }
  .ed-file__meta { font-size:.67rem; margin-bottom:7px; }
  .ed-file__title { font-size:.92rem; line-height:1.3; margin-bottom:13px; }
  .ed-file__actions { gap:6px; padding-block:1px; }
  .ed-file__actions a { font-size:.72rem; gap:4px; min-height:42px; }
  .ed-file__actions .icon { width:12px; height:12px; }
  .ed-gallery { gap:10px; }
  .ed-note { font-size:.75rem; }
}
@media (max-width:360px) {
  .ed-file { grid-template-columns:82px minmax(0,1fr); }
  .ed-file__paper { width:62px; }
  .ed-file__info { padding-inline:11px; }
  .ed-file__actions { gap:4px; }
  .ed-file__actions a { font-size:.7rem; }
  .ed-file__actions .icon { display:none; }
  .ed-facts dl { grid-template-columns:minmax(0,1fr); }
  .ed-facts dl>div:nth-child(2) { border-top:1px solid var(--rule); }
}
@media (prefers-reduced-motion:reduce) {
  .ed-project *, .ed-project *::before, .ed-project *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .ed-file__paper { transform:none !important; }
}
