/* =====================================================================
   ENERGY UP INTERNATIONAL — PREMIUM DESIGN LAYER  (V11)
   Loads AFTER: garlon.css → energy-up-final.css
   Scope: art direction, typography, layout system, components, motion
   Never edits vendor files or the two protected V6 files.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. SELF-HOSTED TYPEFACES
   --------------------------------------------------------------------- */
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"EU Sans";src:url("../fonts/eu/inter-latin-ext-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"EU Display";src:url("../fonts/eu/dm-serif-display-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic";src:url("../fonts/eu/noto-sans-arabic-arabic-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic";src:url("../fonts/eu/noto-sans-arabic-arabic-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic";src:url("../fonts/eu/noto-sans-arabic-arabic-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic";src:url("../fonts/eu/noto-sans-arabic-arabic-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic Display";src:url("../fonts/eu/noto-kufi-arabic-arabic-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic Display";src:url("../fonts/eu/noto-kufi-arabic-arabic-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"EU Arabic Display";src:url("../fonts/eu/noto-kufi-arabic-arabic-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* ---------------------------------------------------------------------
   2. TOKENS
   --------------------------------------------------------------------- */
:root{
  /* ---- V12 Saudi institutional palette -------------------------------
     Balance target: 60% white + warm neutrals, 18% navy, 12% Saudi Green,
     8% Energy Blue, 2% Heritage Gold.
     Green  = primary CTAs, active states, motion tracers.
     Blue   = accreditation, data and tools.
     Navy   = typography, authority sections, footer.
     Sand / Mist = comfortable light surfaces.
     Gold   = micro-accent only. Never body text: #C7923E is 2.76:1 on white.
     Contrast verified on white, Warm Sand and Mist Green.
     -------------------------------------------------------------------- */

  /* core brand */
  --eu-navy:#0B263D;      --eu-navy-2:#0F2E48;    --eu-navy-3:#17405F;
  --eu-green:#006C4C;     --eu-green-600:#005A40; --eu-green-700:#004D37;
  --eu-green-400:#3F9E7C; --eu-green-300:#7FD3B4;
  --eu-blue:#0064A1;      --eu-blue-700:#00558A;  --eu-blue-800:#00446F;
  --eu-gold:#C7923E;      --eu-gold-text:#8A6420;

  /* surfaces */
  --eu-white:#ffffff;
  --eu-sand:#EAF3EE;      --eu-sand-2:#F4FAF6;
  --eu-mist:#E8F1EC;      --eu-mist-2:#F3F8F5;
  --eu-soft:#F0F6F2;      --eu-ice:#E6F0EA;       --eu-pale:#E8F1EC;
  --eu-green-050:#E8F1EC; --eu-blue-050:#E9F1F7;  --eu-gold-050:#F7F1E4;

  /* ink */
  --eu-ink:#0B263D;       --eu-ink-2:#122A3F;     --eu-muted:#546472;
  --eu-muted-2:#6B7A86;
  --eu-line:#DCE8E1;      --eu-line-2:#C6D9CE;    --eu-line-cool:#D2E2D9;
  --eu-sand-warm:#EAF3EE;
  /* V12.3 grey scale — the working neutral between navy and the warm sand */
  --eu-grey-50:#F3F8F5;   --eu-grey-100:#E7F0EA;  --eu-grey-200:#D8E7DE;
  --eu-grey-300:#BCCFC4;  --eu-grey-400:#95A89C;  --eu-grey-500:#68796F;
  --eu-grey-line:#DEE9E3;

  /* status — all AA on their own tint */
  --eu-ok:#006C4C; --eu-warn:#8A5A10; --eu-stop:#9C3226; --eu-info:#00558A;

  /* type */
  --eu-font:"EU Sans","Inter","Lato",system-ui,-apple-system,"Segoe UI",sans-serif;
  --eu-display:"EU Display","DM Serif Display",Georgia,serif;
  --eu-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;

  /* layout */
  --eu-container:1320px; --eu-measure:68ch; --eu-radius:10px; --eu-radius-sm:4px;
  --eu-gutter:24px;
  --eu-sec:104px; --eu-sec-tight:72px; --eu-sec-air:148px;

  /* elevation — warmed to sit on sand rather than on cool grey */
  --eu-e1:0 1px 2px rgba(6,46,34,.05),0 4px 14px rgba(6,46,34,.06);
  --eu-e2:0 2px 6px rgba(6,46,34,.07),0 16px 40px rgba(6,46,34,.10);
  --eu-e3:0 30px 70px rgba(11,38,61,.15);
  --eu-e-green:0 10px 30px rgba(0,108,76,.18);

  /* motion */
  --eu-ease:cubic-bezier(.22,.61,.36,1);
  --eu-ease-out:cubic-bezier(.16,1,.3,1);
  --eu-ease-mask:cubic-bezier(.77,0,.18,1);
  --eu-d1:220ms; --eu-d2:420ms; --eu-d3:720ms; --eu-d4:1100ms;
}

/* legacy aliases kept so existing rules resolve during the V12 migration */
:root{ --eu-cyan:#4FB3C8; --eu-teal:#006C4C; }

/* ---------------------------------------------------------------------
   3. BASE RESET / TYPOGRAPHY
   --------------------------------------------------------------------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--eu-font);
  font-size:17px; line-height:1.68; color:var(--eu-ink-2);
  background:var(--eu-white); font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body,button,input,select,textarea,optgroup{font-family:var(--eu-font)}
.page-wrapper{overflow:clip;background:var(--eu-white)}
h1,h2,h3,h4,h5,h6{color:var(--eu-ink);font-family:var(--eu-font);font-weight:700;letter-spacing:-.018em;text-transform:none}
p{line-height:1.72;margin-bottom:1.05em}
a{color:var(--eu-green-700);text-decoration:none;transition:color var(--eu-d1) var(--eu-ease)}
a:hover{color:var(--eu-green)}
strong,b{font-weight:700;color:var(--eu-ink)}
img{max-width:100%;height:auto}
::selection{background:rgba(0,108,76,.16);color:var(--eu-ink)}
:focus-visible{outline:3px solid var(--eu-green);outline-offset:2px;border-radius:2px}
/* the vendor sheets zero the outline on a:focus (higher specificity than :focus-visible),
   so keyboard focus is restored explicitly for every interactive element type. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible,.eu-btn:focus-visible,.eu-textlink:focus-visible,
.main-menu__list a:focus-visible,.eu-topbar a:focus-visible,.eu-footer a:focus-visible,
.eu-accordion__btn:focus-visible,.eu-filterbar li:focus-visible{outline:3px solid var(--eu-green);outline-offset:2px}
.eu-hero a:focus-visible,.eu-pagehero a:focus-visible,.eu-band a:focus-visible,.eu-cta a:focus-visible,
.eu-mapsection a:focus-visible,.eu-footer a:focus-visible{outline-color:#8FD3E8}
.eu-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;inset-inline-start:18px;top:-90px;z-index:99999;padding:13px 20px;background:var(--eu-navy);color:#fff;font-weight:600;border-radius:0 0 6px 6px}
.skip-link:focus{top:0;color:#fff;outline:3px solid var(--eu-green);outline-offset:2px}

/* container + rhythm */
.eu-container{width:100%;max-width:var(--eu-container);margin-inline:auto;padding-inline:var(--eu-gutter)}
.eu-narrow{max-width:900px}
.section-space,.eu-section{padding-block:var(--eu-sec)}
.eu-section--tight{padding-block:var(--eu-sec-tight)}
/* A rhythm, not a constant. Uniform padding makes every section read as
   equally important; the page needs a section that breathes and a section
   that is dense, so the eye knows where the weight is. */
.eu-section--air{padding-block:var(--eu-sec-air)}
/* consecutive sections on the same ground share one seam instead of
   stacking two full paddings, which is where the extra length came from */
.eu-surface-white + .eu-surface-white{padding-top:0}
.eu-surface-soft + .eu-surface-soft{padding-top:0}
/* a dark band always gets its own air */
.eu-vband,.eu-surface-navy{padding-block:var(--eu-sec-air)}
.eu-section--flush-top{padding-top:0}
.eu-section--flush-bottom{padding-bottom:0}
.eu-surface-white{background:var(--eu-white)}
.eu-surface-soft{background:#EBF4EF}

/* ---------------------------------------------------------------------
   The green atmosphere.
   In the masthead the green arrives as light — a soft radial in the grade
   layer — rather than as a painted panel. That reading is what makes the
   colour feel like the entity's own rather than a highlight borrowed from
   the group. Here the same gesture is carried onto every light section, so
   the page is lit by the green instead of merely marked with it. It is a
   wash, not a fill: it never sits between the reader and the type, it
   never darkens enough to move a contrast ratio, and it is placed behind
   content with a negative z-index so nothing becomes unclickable.
   --------------------------------------------------------------------- */
.eu-surface-white,.eu-surface-soft,.eu-surface-sand,.eu-surface-grey,
.eu-surface-mist,.eu-surface-mist-2,.eu-surface-ice,.eu-surface-pale{
  position:relative;isolation:isolate}
.eu-surface-white::before,.eu-surface-soft::before,.eu-surface-sand::before,
.eu-surface-grey::before,.eu-surface-ice::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(88% 62% at 84% 8%, rgba(0,108,76,.115), transparent 68%),
    radial-gradient(70% 54% at 6% 96%, rgba(0,108,76,.075), transparent 72%)}
/* mirrored so the light falls from the same side of the reading direction */
[dir="rtl"] .eu-surface-white::before,[dir="rtl"] .eu-surface-soft::before,
[dir="rtl"] .eu-surface-sand::before,[dir="rtl"] .eu-surface-grey::before,
[dir="rtl"] .eu-surface-ice::before{
  background:
    radial-gradient(88% 62% at 16% 8%, rgba(0,108,76,.115), transparent 68%),
    radial-gradient(70% 54% at 94% 96%, rgba(0,108,76,.075), transparent 72%)}
/* consecutive same-ground sections share one seam, so the wash must not
   restart at the join and draw a visible band across the page */
.eu-surface-white + .eu-surface-white::before,
.eu-surface-soft + .eu-surface-soft::before{background:none}
/* the navy bands keep a green horizon rather than a blue one, so the
   dark moments belong to the same identity as the light ones */
.eu-surface-navy{position:relative;isolation:isolate}
.eu-surface-navy::before{content:"";position:absolute;inset:0;z-index:-1;
  pointer-events:none;
  background:radial-gradient(90% 70% at 80% 0%, rgba(0,168,118,.20), transparent 66%)}
[dir="rtl"] .eu-surface-navy::before{
  background:radial-gradient(90% 70% at 20% 0%, rgba(0,168,118,.20), transparent 66%)}
.eu-surface-sand{background:var(--eu-grey-50)}
.eu-surface-mist{background:var(--eu-mist)}
.eu-surface-mist-2{background:var(--eu-mist-2)}
.eu-surface-ice{background:var(--eu-grey-100)}
.eu-surface-pale{background:var(--eu-mist)}
.eu-surface-navy{background:var(--eu-navy);color:rgba(255,255,255,.84)}
.eu-surface-grey{background:var(--eu-grey-50)}
.eu-surface-grey-2{background:var(--eu-grey-100)}
.eu-surface-navy h1,.eu-surface-navy h2,.eu-surface-navy h3,.eu-surface-navy h4,.eu-surface-navy strong{color:#fff}
.eu-surface-navy a{color:#7FD3B4}
.eu-surface-navy a:hover{color:#A8E4CD}
.eu-hairline-top{border-top:1px solid var(--eu-line)}
.eu-hairline-bottom{border-bottom:1px solid var(--eu-line)}

/* display type scale */
.eu-display-1{font-family:var(--eu-font);font-weight:700;font-size:clamp(38px,4.6vw,62px);line-height:1.045;letter-spacing:-.028em}
.eu-display-2{font-weight:700;font-size:clamp(32px,3.3vw,46px);line-height:1.09;letter-spacing:-.024em}
.eu-display-3{font-weight:700;font-size:clamp(24px,2.2vw,32px);line-height:1.18;letter-spacing:-.018em}
.eu-serif{font-family:var(--eu-display);font-weight:400;letter-spacing:-.008em}
.eu-kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;color:var(--eu-green);
  font-size:11.5px;font-weight:700;line-height:1.4;letter-spacing:.15em;text-transform:uppercase}
.eu-kicker::before{content:"";width:26px;height:2px;background:var(--eu-green);flex:none}
.eu-surface-navy .eu-kicker{color:#7FD3B4}
.eu-leadtext{font-size:19px;line-height:1.66;color:var(--eu-ink-2);max-width:74ch}
.eu-prose{max-width:var(--eu-measure)}
.eu-prose p{margin-bottom:1.1em}
.eu-prose h3,.eu-prose h2.eu-h3{margin:2em 0 .6em;font-size:23px;line-height:1.3;letter-spacing:-.012em}
.eu-prose h4{margin:1.7em 0 .5em;font-size:19px}
.eu-prose ul,.eu-prose ol{margin:0 0 1.2em;padding-inline-start:1.25em}
.eu-prose li{margin-bottom:.5em}
.eu-note{padding:18px 22px;border-inline-start:3px solid var(--eu-blue);background:var(--eu-soft);
  color:var(--eu-ink-2);font-size:16.5px;line-height:1.68;border-radius:0 var(--eu-radius-sm) var(--eu-radius-sm) 0}
.eu-note strong{color:var(--eu-ink)}
.eu-note--gold{border-inline-start-color:var(--eu-gold);background:var(--eu-gold-050)}
.eu-note--stop{border-inline-start-color:var(--eu-stop);background:#FBF1EF}
.eu-quote{margin:0;padding:26px 30px;background:var(--eu-navy);color:#fff;border-radius:var(--eu-radius);
  font-family:var(--eu-display);font-size:clamp(20px,2vw,26px);line-height:1.36}
.eu-section-head{max-width:820px;margin-bottom:52px}
.eu-section-head--center{margin-inline:auto;text-align:center}
.eu-section-head p{margin:16px 0 0;font-size:18px;color:var(--eu-muted)}
.eu-section-head--center p{margin-inline:auto}

/* Editorial spread: the heading holds a column of its own and stays with the
   reader while the body runs beside it. Below the breakpoint it stacks and
   behaves exactly as it did before. Logical properties throughout, so RTL
   mirrors without a second rule. */
.eu-prosegrid{display:grid;gap:0 clamp(40px,5vw,88px)}
.eu-prosegrid__head .eu-section-head{margin-bottom:34px}
@media (min-width:1100px){
  .eu-prosegrid{grid-template-columns:minmax(0,.36fr) minmax(0,.64fr)}
  .eu-prosegrid__head{position:sticky;top:132px;align-self:start}
  .eu-prosegrid__head .eu-section-head{margin-bottom:0;max-width:none}
  .eu-prosegrid__body>.eu-prose{max-width:none}
}

/* ---------------------------------------------------------------------
   4. BUTTONS & LINKS
   --------------------------------------------------------------------- */
.eu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 26px;border:1px solid transparent;border-radius:var(--eu-radius-sm);
  background:var(--eu-green);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:.005em;
  text-align:center;cursor:pointer;overflow:hidden;
  transition:background var(--eu-d1) var(--eu-ease),transform var(--eu-d1) var(--eu-ease),box-shadow var(--eu-d1) var(--eu-ease),color var(--eu-d1)}
.eu-btn:hover{background:var(--eu-green-600);color:#fff;transform:translateY(-2px);box-shadow:var(--eu-e-green)}
/* Energy Blue is the accreditation, data and tools action */
.eu-btn--blue{background:var(--eu-blue)}
.eu-btn--blue:hover{background:var(--eu-blue-700);box-shadow:0 10px 24px rgba(0,85,138,.22)}
.eu-btn:active{transform:translateY(0)}
.eu-btn i,.eu-btn svg{font-size:.85em;transition:transform var(--eu-d1) var(--eu-ease)}
.eu-btn:hover i{transform:translateX(3px)}
[dir="rtl"] .eu-btn:hover i{transform:translateX(-3px)}
.eu-btn--navy{background:var(--eu-navy)}
.eu-btn--navy:hover{background:var(--eu-navy-3)}
.eu-btn--ghost{background:transparent;border-color:var(--eu-line-2);color:var(--eu-ink)}
.eu-btn--ghost:hover{background:var(--eu-ink);border-color:var(--eu-ink);color:#fff}
.eu-btn--onnavy{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35);color:#fff}
.eu-btn--onnavy:hover{background:#fff;border-color:#fff;color:var(--eu-navy)}
.eu-btn--white{background:#fff;color:var(--eu-navy)}
.eu-btn--white:hover{background:var(--eu-ice);color:var(--eu-navy)}
.eu-btn--sm{min-height:44px;padding:0 18px;font-size:13.5px}
.eu-btn--block{display:flex;width:100%}
.eu-btn[aria-disabled="true"],.eu-btn:disabled{opacity:.5;pointer-events:none}
.eu-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.eu-textlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--eu-green-700)}
.eu-textlink::after{content:"→";transition:transform var(--eu-d1) var(--eu-ease)}
[dir="rtl"] .eu-textlink::after{content:"←"}
.eu-textlink:hover::after{transform:translateX(4px)}
[dir="rtl"] .eu-textlink:hover::after{transform:translateX(-4px)}

/* chips / pills */
.eu-chips{display:flex;flex-wrap:wrap;gap:8px}
.eu-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--eu-line-2);
  border-radius:100px;background:#fff;color:var(--eu-ink);font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap}
.eu-chip--std{border-color:rgba(0,100,161,.26);background:var(--eu-blue-050);color:var(--eu-blue-700)}
.eu-chip--muted{border-color:var(--eu-line);color:var(--eu-muted);background:var(--eu-soft)}
.eu-surface-navy .eu-chip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.24);color:#EAF3EE}
.eu-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:100px;
  font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;line-height:1}
.eu-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.eu-badge--ok{background:rgba(0,108,76,.1);color:var(--eu-ok)}
.eu-badge--warn{background:var(--eu-gold-050);color:var(--eu-gold-text);
  box-shadow:inset 0 0 0 1px rgba(199,146,62,.34)}
.eu-badge--stop{background:rgba(156,50,38,.1);color:var(--eu-stop)}
.eu-badge--info{background:rgba(0,85,138,.09);color:var(--eu-info)}
.eu-badge--gold{background:var(--eu-gold-050);color:var(--eu-gold)}

/* entity attribution tag — visible responsible-entity marker */
.eu-entity{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:var(--eu-radius-sm);
  background:var(--eu-soft);border:1px solid var(--eu-line);font-size:12.5px;font-weight:600;color:var(--eu-ink-2)}
.eu-entity__dot{width:9px;height:9px;border-radius:2px;flex:none}
.eu-entity--euil .eu-entity__dot{background:var(--eu-blue)}
.eu-entity--geu .eu-entity__dot{background:var(--eu-gold)}
.eu-entity--ees .eu-entity__dot{background:var(--eu-teal)}
.eu-surface-navy .eu-entity{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#DCEAF1}

/* ---------------------------------------------------------------------
   5. HEADER  (uses the V6 / garlon.js DOM contract)
   --------------------------------------------------------------------- */
.eu-topbar{background:var(--eu-navy);color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.01em}
.eu-topbar__inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.eu-topbar__accred{display:inline-flex;align-items:center;gap:9px;min-width:0;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eu-topbar__accred i{color:var(--eu-green-300)}
.eu-topbar__std{color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;white-space:nowrap}
.eu-topbar__links{display:flex;align-items:center;gap:20px;margin:0;padding:0;list-style:none;flex:none}
.eu-topbar__links a{color:rgba(255,255,255,.8);font-weight:500;font-size:12px;white-space:nowrap}
.eu-topbar__links a:hover{color:#fff}
.eu-topbar__lang{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid rgba(255,255,255,.28);
  border-radius:3px;font-weight:700;letter-spacing:.06em}
.eu-topbar__lang:hover{background:#fff;color:var(--eu-navy)!important;border-color:#fff}

.main-header{background:#fff;border-bottom:1px solid var(--eu-line);position:relative;z-index:99}
.main-header__inner{min-height:88px;display:flex;align-items:center;gap:20px;padding:0}
.main-header__logo{flex:0 1 auto;min-width:0;display:flex;align-items:center}
.main-header__logo img{width:auto;height:54px;max-width:230px;object-fit:contain;display:block}
.eu-nav{flex:1 1 auto;min-width:0;margin-inline-start:auto;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.main-menu__list{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}
.main-menu .main-menu__list>li{position:relative;padding:0;flex:none;white-space:nowrap}
.main-menu .main-menu__list>li+li{margin-inline-start:4px}
.main-menu .main-menu__list>li>a{display:inline-flex;align-items:center;gap:6px;padding:32px 13px;
  color:var(--eu-ink);font-size:14.5px;font-weight:600;letter-spacing:0;line-height:1;position:relative;text-transform:none}
/* navigation state is a state, not data: green marks it */
.main-menu .main-menu__list>li>a::after{content:"";position:absolute;inset-inline:13px;bottom:24px;height:2px;
  background:var(--eu-blue);transform:scaleX(0);transform-origin:inline-start;transition:transform var(--eu-d2) var(--eu-ease)}
.main-menu .main-menu__list>li:hover>a::after,.main-menu .main-menu__list>li.current>a::after{transform:scaleX(1)}
.main-menu .main-menu__list>li:hover>a,.main-menu .main-menu__list>li.current>a{color:var(--eu-green-700)}
.main-menu .main-menu__list>li.dropdown>a::before{content:"";width:5px;height:5px;border-inline-end:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.55;order:2;margin-inline-start:2px}

/* mega / dropdown panel */
/* the mega panel opens on the action colour */
.main-menu .main-menu__list li ul{position:absolute;top:100%;inset-inline-start:0;min-width:288px;margin:0;padding:12px 0;
  background:#fff;border:1px solid var(--eu-line);border-top:2px solid var(--eu-green);border-radius:0 0 8px 8px;
  box-shadow:var(--eu-e2);list-style:none;opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity var(--eu-d2) var(--eu-ease),transform var(--eu-d2) var(--eu-ease),visibility var(--eu-d2);z-index:120}
.main-menu .main-menu__list li:hover>ul,.main-menu .main-menu__list li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0)}
.main-menu .main-menu__list li ul li{width:100%}
.main-menu .main-menu__list li ul li a{display:block;padding:10px 22px;color:var(--eu-ink-2);font-size:14px;font-weight:500;line-height:1.4}
.main-menu .main-menu__list li ul li a:hover{background:var(--eu-soft);color:var(--eu-green-700)}
.main-menu .main-menu__list li ul li a small{display:block;margin-top:2px;color:var(--eu-muted);font-size:12px;font-weight:400}
.main-menu .main-menu__list li ul li.eu-menu-head{padding:14px 22px 6px;color:var(--eu-muted);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.main-menu .main-menu__list li ul li.eu-menu-sep{height:1px;margin:8px 0;background:var(--eu-line)}
.eu-mega>ul{min-width:640px;padding:22px 10px!important;display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.eu-mega>ul>li.eu-menu-head{grid-column:1/-1}
.eu-header-cta{display:flex;align-items:center;gap:12px;flex:none}
.eu-header-cta .eu-btn{min-height:48px;padding:0 20px;font-size:14px}

/* application split menu */
.eu-apply{position:relative}
.eu-apply__panel{position:absolute;top:calc(100% + 12px);inset-inline-end:0;width:352px;padding:10px;background:#fff;
  border:1px solid var(--eu-line);border-radius:10px;box-shadow:var(--eu-e2);opacity:0;visibility:hidden;
  transform:translateY(12px);transition:all var(--eu-d2) var(--eu-ease);z-index:140}
.eu-apply.is-open .eu-apply__panel,.eu-apply:focus-within .eu-apply__panel{opacity:1;visibility:visible;transform:translateY(0)}
.eu-apply__panel a{display:block;padding:14px 16px;border-radius:6px;color:var(--eu-ink);font-weight:600;font-size:14.5px;line-height:1.35}
.eu-apply__panel a small{display:block;margin-top:4px;color:var(--eu-muted);font-weight:400;font-size:12.5px}
.eu-apply__panel a:hover{background:var(--eu-green-050);color:var(--eu-green-700)}

/* sticky clone — garlon.js clones .sticky-header and toggles .active on up-scroll */
.sticky-header--cloned{position:fixed;inset-inline:0;top:0;z-index:9991;
  background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--eu-line);box-shadow:0 6px 26px rgba(11,38,61,.08);
  transform:translateY(-102%);opacity:0;visibility:hidden;
  transition:transform 420ms var(--eu-ease),opacity 260ms var(--eu-ease),visibility 420ms}
.sticky-header--cloned.active{transform:translateY(0);opacity:1;visibility:visible}
.sticky-header--cloned .main-header__inner{min-height:68px}
.sticky-header--cloned .main-menu .main-menu__list>li>a{padding-block:23px}
.sticky-header--cloned /* navigation state is a state, not data: green marks it */
.main-menu .main-menu__list>li>a::after{bottom:16px}
.sticky-header--cloned .main-header__logo img{height:42px}
.sticky-header--cloned .eu-header-cta .eu-btn{min-height:42px;font-size:13.5px}

/* mobile bar */
.eu-burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--eu-line);
  border-radius:6px;background:#fff;color:var(--eu-ink);font-size:19px;cursor:pointer}
.eu-burger:hover{background:var(--eu-ink);color:#fff;border-color:var(--eu-ink)}
.mobile-nav__wrapper .mobile-nav__content{background:var(--eu-navy)}
.mobile-nav__wrapper .mobile-nav__container ul li a{color:rgba(255,255,255,.86);font-family:var(--eu-font);font-size:15px;font-weight:600}
.mobile-nav__wrapper .mobile-nav__container ul li a:hover{color:var(--eu-cyan)}
.mobile-nav__wrapper .mobile-nav__container ul li ul li a{font-weight:400;font-size:14px;opacity:.85}
.mobile-nav__wrapper .mobile-nav__container ul li a small{display:none}
.eu-mobile-extra{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.eu-mobile-extra .eu-btn{width:100%;margin-bottom:10px}
.eu-mobile-extra p{margin:14px 0 0;color:rgba(255,255,255,.6);font-size:12.5px;line-height:1.6}

/* ---------------------------------------------------------------------
   6. PRELOADER (brand mark construction) + CURSOR + FLOATING UI
   --------------------------------------------------------------------- */
.eu-preloader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:var(--eu-navy)}
.eu-preloader__mark{width:min(320px,62vw);opacity:0;transform:translateY(8px)}
.eu-preloader__bar{position:absolute;left:50%;bottom:16%;transform:translateX(-50%);width:min(320px,62vw);height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.eu-preloader__bar span{display:block;height:100%;width:0;background:var(--eu-green-300)}
.eu-preloader.is-done{opacity:0;visibility:hidden;transition:opacity 520ms var(--eu-ease),visibility 520ms}
.eu-preloader__dot{opacity:0}

.custom-cursor__cursor{border:1px solid rgba(0,108,76,.6)}
.custom-cursor__cursor-two{background:var(--eu-green)}

.eu-float{position:fixed;inset-inline-end:20px;bottom:22px;z-index:9990;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.eu-whatsapp{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#1FA855;color:#fff;
  font-size:26px;box-shadow:0 14px 30px rgba(0,0,0,.2);transition:transform var(--eu-d1) var(--eu-ease)}
.eu-whatsapp:hover{color:#fff;transform:translateY(-3px)}
.scroll-to-top{position:static!important;width:46px;height:46px;display:grid!important;place-items:center;border-radius:50%;
  background:#fff;border:1px solid var(--eu-line);color:var(--eu-ink);box-shadow:var(--eu-e1);opacity:0;
  pointer-events:none;transition:opacity var(--eu-d2)}
.scroll-to-top.show{opacity:1;pointer-events:auto}
.scroll-to-top:hover{background:var(--eu-navy);color:#fff;border-color:var(--eu-navy)}

/* ---------------------------------------------------------------------
   7. HOME HERO
   --------------------------------------------------------------------- */
.eu-hero{position:relative;background:var(--eu-navy);overflow:hidden}
.eu-hero__slide{position:relative;min-height:660px;display:flex;align-items:center;padding-block:96px}
.eu-hero__media{position:absolute;inset:0;z-index:0}
.eu-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;
  transform:scale(1.06);transition:transform 9s linear}
.eu-hero__slide.is-active .eu-hero__media img{transform:scale(1)}
.eu-hero__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(9,29,46,.92) 0%,rgba(9,29,46,.86) 34%,rgba(9,29,46,.56) 62%,rgba(9,29,46,.28) 100%)}
[dir="rtl"] .eu-hero__scrim{background:linear-gradient(260deg,rgba(9,29,46,.92) 0%,rgba(9,29,46,.86) 34%,rgba(9,29,46,.56) 62%,rgba(9,29,46,.28) 100%)}
.eu-hero__grid{position:absolute;inset:0;z-index:1;opacity:.16;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:88px 88px;mask-image:linear-gradient(90deg,#000 0%,transparent 68%)}
[dir="rtl"] .eu-hero__grid{mask-image:linear-gradient(270deg,#000 0%,transparent 68%)}
.eu-hero__inner{position:relative;z-index:2;width:100%}
.eu-hero__content{max-width:790px;color:#fff}
.eu-hero__eyebrow{color:#87D2E9}
.eu-hero__title{margin:0 0 20px;color:#fff;font-size:clamp(34px,4.05vw,56px);line-height:1.07;letter-spacing:-.028em;font-weight:700}
.eu-hero__text{margin:0 0 30px;max-width:660px;color:rgba(255,255,255,.85);font-size:18.5px;line-height:1.62}
.eu-hero__trust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:34px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.74);font-size:13px}
.eu-hero__trust b{color:#fff;font-weight:600}
.eu-hero__trust span{display:inline-flex;align-items:center;gap:8px}
.eu-hero__trust span+span::before{content:"";width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4);margin-inline-end:10px}
.eu-hero .owl-dots{position:absolute;inset-inline-end:calc((100vw - min(100vw,var(--eu-container)))/2 + var(--eu-gutter));
  bottom:44px;z-index:6;display:flex;gap:9px}
.eu-hero .owl-dots .owl-dot span{width:9px;height:9px;margin:0;border-radius:50%;background:rgba(255,255,255,.32);transition:all var(--eu-d2)}
.eu-hero .owl-dots .owl-dot.active span{width:34px;border-radius:20px;background:var(--eu-cyan)}
.eu-hero .owl-nav{display:none}
.eu-hero__index{position:absolute;z-index:6;bottom:40px;inset-inline-start:calc((100vw - min(100vw,var(--eu-container)))/2 + var(--eu-gutter));
  color:rgba(255,255,255,.5);font-size:12px;letter-spacing:.16em;font-variant-numeric:tabular-nums}

/* accreditation strip beneath hero */
.eu-accredstrip{position:relative;z-index:8;margin-top:-42px}
.eu-accredstrip__inner{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;background:#fff;border:1px solid var(--eu-line);
  border-radius:var(--eu-radius);box-shadow:var(--eu-e2);overflow:hidden}
.eu-accredstrip__cell{padding:24px 26px;border-inline-end:1px solid var(--eu-line)}
.eu-accredstrip__cell:last-child{border-inline-end:0}
.eu-accredstrip__cell span{display:block;margin-bottom:6px;color:var(--eu-muted);font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.eu-accredstrip__cell strong{display:block;color:var(--eu-ink);font-size:16px;font-weight:700;line-height:1.32}
.eu-accredstrip__cell small{display:block;margin-top:5px;color:var(--eu-muted);font-size:13px;line-height:1.5}

/* ---------------------------------------------------------------------
   8. INTERNAL PAGE HERO
   --------------------------------------------------------------------- */
.eu-pagehero{position:relative;min-height:360px;display:flex;align-items:center;background:var(--eu-navy);overflow:hidden}
.eu-pagehero__media{position:absolute;inset:0;z-index:0}
.eu-pagehero__media img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.eu-pagehero__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(9,29,46,.93) 0%,rgba(9,29,46,.84) 42%,rgba(9,29,46,.5) 74%,rgba(9,29,46,.3) 100%)}
[dir="rtl"] .eu-pagehero__scrim{background:linear-gradient(260deg,rgba(9,29,46,.93) 0%,rgba(9,29,46,.84) 42%,rgba(9,29,46,.5) 74%,rgba(9,29,46,.3) 100%)}
.eu-pagehero__frame{position:absolute;inset:16px;z-index:2;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.eu-pagehero__inner{position:relative;z-index:3;padding-block:66px;width:100%}
.eu-pagehero__content{max-width:900px}
.eu-pagehero h1{margin:0;color:#fff;font-size:clamp(30px,3.6vw,52px);line-height:1.08;letter-spacing:-.028em}
.eu-pagehero p{margin:14px 0 0;max-width:720px;color:rgba(255,255,255,.82);font-size:18px;line-height:1.6}
.eu-pagehero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.eu-pagehero .eu-entity{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#DCEAF1}
.eu-crumbs{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  color:var(--eu-muted);font-size:12px;letter-spacing:.03em}
.eu-crumbs a{color:var(--eu-green-700)}
.eu-crumbs a:hover{color:var(--eu-navy)}
.eu-crumbs li+li::before{content:"/";margin-inline-end:8px;color:var(--eu-grey-300)}
.eu-crumbs li{display:inline-flex;align-items:center}
.eu-crumbs li[aria-current]{color:var(--eu-muted)}
/* kept for any surface that is still dark */

.eu-crumbs--onnavy{color:rgba(255,255,255,.6)}
.eu-crumbs--onnavy a{color:rgba(255,255,255,.78)}
.eu-crumbs--onnavy a:hover{color:#fff}
.eu-crumbs--onnavy li+li::before{color:rgba(255,255,255,.34)}
.eu-crumbs--onnavy li[aria-current]{color:#fff}
.eu-crumbs--light{color:var(--eu-muted)}
.eu-crumbs--light a{color:var(--eu-green-700)}
.eu-crumbs--light a:hover{color:var(--eu-navy)}
.eu-crumbs--light li+li::before{color:var(--eu-line-2,#c3d4dd)}
.eu-crumbs--light li[aria-current]{color:var(--eu-ink-2)}

/* ---------------------------------------------------------------------
   9. CARD FAMILIES  (decision · evidence · governance)
   --------------------------------------------------------------------- */
.eu-grid{display:grid;gap:24px}
.eu-grid--2{grid-template-columns:repeat(2,1fr)}
.eu-grid--3{grid-template-columns:repeat(3,1fr)}
.eu-grid--4{grid-template-columns:repeat(4,1fr)}
.eu-grid--auto{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}

/* A. decision cards — routing the visitor by the decision they must defend */
.eu-decision{position:relative;display:flex;flex-direction:column;height:100%;padding:32px 30px 30px;
  background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius);overflow:hidden;
  transition:transform var(--eu-d2) var(--eu-ease),box-shadow var(--eu-d2) var(--eu-ease),border-color var(--eu-d2)}
.eu-decision::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:3px;background:var(--eu-blue);
  transform:scaleY(0);transform-origin:top;transition:transform var(--eu-d2) var(--eu-ease)}
.eu-decision:hover{transform:translateY(-5px);box-shadow:var(--eu-e2);border-color:var(--eu-line-2)}
.eu-decision:hover::before{transform:scaleY(1)}
.eu-decision__q{margin:0 0 12px;font-size:20px;line-height:1.28;font-weight:700;color:var(--eu-ink)}
.eu-decision__q a{color:inherit}
.eu-decision__q a::after{content:"";position:absolute;inset:0}
.eu-decision p{margin:0 0 18px;color:var(--eu-muted);font-size:15.5px;line-height:1.62}
.eu-decision__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-top:16px;border-top:1px solid var(--eu-line)}
.eu-decision__std{color:var(--eu-blue);font-size:12px;font-weight:700;letter-spacing:.04em}
/* a control, so it carries the action colour */
.eu-decision__go{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--eu-blue-050);color:var(--eu-blue);font-size:12px;transition:all var(--eu-d2) var(--eu-ease)}
.eu-decision:hover /* a control, so it carries the action colour */
.eu-decision__go{background:var(--eu-blue);color:#fff}
.eu-decision__num{position:absolute;inset-inline-end:22px;top:22px;color:var(--eu-line-2);
  font-size:13px;font-weight:700;letter-spacing:.1em;font-variant-numeric:tabular-nums}

/* B. evidence cards — image-led service/sector cards */
.eu-evidence{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;
  border:1px solid var(--eu-line);border-radius:var(--eu-radius);overflow:hidden;
  transition:transform var(--eu-d2) var(--eu-ease),box-shadow var(--eu-d2) var(--eu-ease)}
.eu-evidence:hover{transform:translateY(-5px);box-shadow:var(--eu-e2)}
.eu-evidence__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--eu-ice)}
.eu-evidence__media img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--eu-ease)}
.eu-evidence:hover .eu-evidence__media img{transform:scale(1.05)}
.eu-evidence__tag{position:absolute;inset-inline-start:16px;top:16px;z-index:2;padding:6px 12px;border-radius:3px;
  background:rgba(9,29,46,.82);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.eu-evidence__body{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px}
.eu-evidence__body h3{margin:0 0 10px;font-size:20px;line-height:1.3}
.eu-evidence__body h3 a{color:var(--eu-ink)}
.eu-evidence__body h3 a::after{content:"";position:absolute;inset:0}
.eu-evidence__body p{margin:0 0 16px;color:var(--eu-muted);font-size:16.5px}
.eu-evidence__std{margin-top:auto;padding-top:14px;border-top:1px solid var(--eu-line);color:var(--eu-blue);font-size:12px;font-weight:700}

/* C. governance / status cards */
.eu-gov{height:100%;padding:28px;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius)}
/* the icon tile is identity, not a data reference */
.eu-gov__icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:18px;border-radius:8px;
  background:var(--eu-blue-050);color:var(--eu-blue);font-size:18px}
.eu-gov h3{margin:0 0 9px;font-size:18px;line-height:1.32}
.eu-gov p{margin:0;color:var(--eu-muted);font-size:16.5px;line-height:1.62}
/* CBAM sectors are marked because the accounting rules genuinely differ —
   the tag is information, not decoration. Blue, because it names a regulatory
   fact rather than an action. */
/* ---------------------------------------------------------------------
   The accreditation record card.
   Where a section's argument is "you can check this", the strongest thing
   that can sit beside the argument is the record itself. Deliberately not a
   facsimile of the certificate: no border ornament, no seal graphic, no
   signature line — it is a controlled summary of published data, and it says
   so. The green rule at the head ties it to the entity; the numbers are set
   in a tabular figure so they read as record values rather than as prose.
   --------------------------------------------------------------------- */
.eu-record-card{position:relative;background:var(--eu-white);
  border:1px solid var(--eu-line);border-radius:var(--eu-radius);
  padding:28px 30px 24px;box-shadow:var(--eu-e2)}
.eu-record-card::before{content:"";position:absolute;inset-inline:0;top:0;height:4px;
  border-radius:var(--eu-radius) var(--eu-radius) 0 0;
  background:linear-gradient(90deg,var(--eu-green) 0%,var(--eu-green-400) 62%,var(--eu-navy) 100%)}
[dir="rtl"] .eu-record-card::before{background:linear-gradient(270deg,var(--eu-green) 0%,var(--eu-green-400) 62%,var(--eu-navy) 100%)}
.eu-record-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid var(--eu-line)}
.eu-record-card__label{color:var(--eu-muted);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase}
[dir="rtl"] .eu-record-card__label{letter-spacing:0;text-transform:none;font-size:13px}
.eu-record-card__body{color:var(--eu-navy);font-size:22px;font-weight:700;letter-spacing:-.02em}
.eu-record-card__rows{margin:0;display:grid;gap:0}
.eu-record-card__rows>div{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);
  gap:14px;padding:11px 0;border-bottom:1px solid var(--eu-rule,var(--eu-line))}
.eu-record-card__rows>div:last-child{border-bottom:0}
.eu-record-card__rows dt{margin:0;color:var(--eu-muted);font-size:14px;line-height:1.45}
.eu-record-card__rows dd{margin:0;color:var(--eu-ink);font-size:15px;font-weight:600;
  line-height:1.45;font-variant-numeric:tabular-nums}
.eu-record-card__foot{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--eu-line);
  color:var(--eu-muted);font-size:13.5px;line-height:1.6}
@media (max-width:520px){
  .eu-record-card{padding:22px 20px 20px}
  .eu-record-card__rows>div{grid-template-columns:1fr;gap:3px;padding:10px 0}
}
/* ---------------------------------------------------------------------
   Controlled-form controls: checkbox groups, source matrices, disclosures.
   The paper forms use tick boxes and section headings; these carry the same
   structure to the screen without inventing a different interaction.
   --------------------------------------------------------------------- */
/* A controlled form runs long. Giving it the same half-and-half split as a
   marketing section leaves the aside stranded at the top while the reader
   works down two thousand pixels of fields. The form takes the width it
   needs and the aside travels with the reader instead. */
@media (min-width:992px){
  .eu-split:has(> .eu-formcard){grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
    align-items:start;gap:clamp(32px,3.4vw,64px)}
  .eu-split:has(> .eu-formcard) > :not(.eu-formcard){position:sticky;top:120px}
}
/* ---------------------------------------------------------------------
   The video window.
   A bare play button on a dark band reads as one more control; nothing about
   it says there is something to watch. A window with its own poster, a 16:9
   screen and a play control centred in it says so at a glance. It remains a
   facade — the iframe is written on click, so the external host sees nothing
   until the reader chooses.
   --------------------------------------------------------------------- */
.eu-vwindow{margin:0;position:relative}
.eu-vwindow__screen{position:relative;aspect-ratio:16/9;overflow:hidden;
  border-radius:var(--eu-radius);background:#06131f;
  box-shadow:0 26px 70px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.10)}
.eu-vwindow__screen img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.2s var(--eu-ease-out),filter var(--eu-d2) var(--eu-ease)}
.eu-vwindow__screen::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,19,31,.10) 0%,rgba(6,19,31,.46) 100%)}
.eu-vwindow__play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;
  width:100%;height:100%;border:0;background:none;cursor:pointer;padding:0}
.eu-vwindow__ring{display:grid;place-items:center;width:clamp(64px,6vw,84px);
  height:clamp(64px,6vw,84px);border-radius:50%;
  background:var(--eu-green);color:#fff;font-size:clamp(20px,1.7vw,25px);
  box-shadow:0 12px 40px rgba(0,108,76,.5);
  transition:transform var(--eu-d2) var(--eu-ease-out),background var(--eu-d1) var(--eu-ease)}
[dir="rtl"] .eu-vwindow__ring i{transform:scaleX(-1)}
.eu-vwindow__ring::before{content:"";position:absolute;width:clamp(64px,6vw,84px);
  height:clamp(64px,6vw,84px);border-radius:50%;border:2px solid rgba(127,211,180,.62);
  animation:euPulse 2.8s var(--eu-ease-out) infinite}
@keyframes euPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
.eu-vwindow__play:hover .eu-vwindow__ring{transform:scale(1.07);background:var(--eu-green-600)}
.eu-vwindow:hover .eu-vwindow__screen img{transform:scale(1.04)}
.eu-vwindow__play:focus-visible{outline:3px solid var(--eu-green-300);outline-offset:4px;border-radius:var(--eu-radius)}
.eu-vwindow__frame{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
.eu-vwindow__screen.is-playing::after,
.eu-vwindow__screen.is-playing .eu-vwindow__play,
.eu-vwindow__screen.is-playing img{display:none}
/* inside a full-bleed band the window is centred and capped, so it reads as
   a screen placed on the band rather than as the band itself */
.eu-vwindow--band{max-width:760px;margin-inline:auto;margin-top:34px}
.eu-vwindow--band .eu-vwindow__cap{text-align:center;align-items:center}
.eu-vwindow__cap{display:flex;flex-direction:column;gap:4px;margin-top:14px}
.eu-vwindow__title{color:#fff;font-size:16px;font-weight:600;line-height:1.4}
.eu-vwindow__meta{color:rgba(255,255,255,.62);font-size:13.5px;line-height:1.5}
@media (prefers-reduced-motion:reduce){.eu-vwindow__ring::before{animation:none}}
.eu-formcard__sub{margin:22px 0 10px;color:var(--eu-ink);font-size:14px;font-weight:700;
  letter-spacing:.03em}
.eu-boxgroup{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:2px 20px}
.eu-box{display:flex;align-items:flex-start;gap:10px;padding:7px 0}
.eu-box input{margin:3px 0 0;width:17px;height:17px;flex:none;accent-color:var(--eu-green)}
.eu-box label{margin:0;font-size:15.5px;line-height:1.5;color:var(--eu-ink-2);font-weight:400;cursor:pointer}
.eu-boxset{margin-bottom:18px}
.eu-boxset__head{margin:0 0 6px;font-size:14.5px;color:var(--eu-ink);font-weight:700}
.eu-disclose{margin:0 0 12px;border:1px solid var(--eu-line);border-radius:var(--eu-radius-sm);
  background:var(--eu-white)}
.eu-disclose>summary{padding:13px 18px;cursor:pointer;font-weight:600;color:var(--eu-ink);
  font-size:15.5px;list-style:none;display:flex;align-items:center;gap:10px}
.eu-disclose>summary::-webkit-details-marker{display:none}
.eu-disclose>summary::before{content:"";width:8px;height:8px;flex:none;
  border-inline-end:2px solid var(--eu-green);border-block-end:2px solid var(--eu-green);
  transform:rotate(-45deg);transition:transform var(--eu-d1) var(--eu-ease)}
[dir="rtl"] .eu-disclose>summary::before{transform:rotate(135deg)}
.eu-disclose[open]>summary::before{transform:rotate(45deg)}
[dir="rtl"] .eu-disclose[open]>summary::before{transform:rotate(45deg)}
.eu-disclose>summary:focus-visible{outline:2px solid var(--eu-green);outline-offset:-2px}
.eu-disclose__body{padding:4px 18px 18px;border-top:1px solid var(--eu-line-2)}
@media (max-width:560px){.eu-boxgroup{grid-template-columns:1fr}}
.eu-tag-cbam{display:inline-block;margin-inline-start:6px;padding:2px 7px;border-radius:3px;
  background:var(--eu-blue-050);color:var(--eu-blue-800);
  font-size:10px;font-weight:700;letter-spacing:.09em;vertical-align:middle}
.eu-faq2__more{margin:16px 0 0;font-size:15.5px}
.eu-faq2__more a{color:var(--eu-green-700);text-decoration:underline;text-underline-offset:3px}
.eu-faq2__more a:hover{color:var(--eu-green)}
.eu-gov__link{display:inline-flex;margin-top:15px;font-size:14px;font-weight:600}
.eu-surface-navy .eu-gov{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.13)}
.eu-surface-navy /* the icon tile is identity, not a data reference */
.eu-gov__icon{background:rgba(255,255,255,.09);color:var(--eu-cyan)}
.eu-surface-navy .eu-gov p{color:rgba(255,255,255,.72)}

/* plain feature list */
.eu-checklist{margin:0;padding:0;list-style:none}
.eu-checklist li{position:relative;padding:13px 0 13px 32px;border-bottom:1px solid var(--eu-line);font-size:16.5px;line-height:1.62}
[dir="rtl"] .eu-checklist li{padding:12px 32px 12px 0}
.eu-checklist li::before{content:"";position:absolute;inset-inline-start:2px;top:19px;width:14px;height:8px;
  border-inline-start:2px solid var(--eu-teal);border-bottom:2px solid var(--eu-teal);transform:rotate(-45deg)}
.eu-checklist li:last-child{border-bottom:0}
.eu-checklist--cross li::before{width:12px;height:12px;top:17px;transform:none;border:0;
  background:linear-gradient(45deg,transparent 44%,var(--eu-stop) 44%,var(--eu-stop) 56%,transparent 56%),
             linear-gradient(-45deg,transparent 44%,var(--eu-stop) 44%,var(--eu-stop) 56%,transparent 56%)}

/* ---------------------------------------------------------------------
   10. SPLIT MEDIA / EDITORIAL BLOCKS
   --------------------------------------------------------------------- */
.eu-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.eu-split--wide-media{grid-template-columns:1.12fr 1fr}
.eu-split--flip .eu-split__media{order:2}
.eu-split__media{position:relative}
.eu-split__media figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:var(--eu-radius);background:var(--eu-ice)}
.eu-split__media figure img{width:100%;height:100%;object-fit:cover}
.eu-split__media::after{content:"";position:absolute;inset-inline-end:-16px;bottom:-16px;width:120px;height:120px;
  border-inline-end:1px solid var(--eu-line-2);border-bottom:1px solid var(--eu-line-2);pointer-events:none}
.eu-split__stat{position:absolute;inset-inline-start:-18px;bottom:26px;padding:20px 24px;background:#fff;
  border:1px solid var(--eu-line);border-radius:8px;box-shadow:var(--eu-e2);max-width:250px}
.eu-split__stat strong{display:block;color:var(--eu-navy);font-size:34px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.eu-split__stat>span{display:block;margin-top:7px;color:var(--eu-muted);font-size:13px;line-height:1.45}
.eu-split__body h2{margin:0 0 18px}
.eu-split__body>p{color:var(--eu-ink-2);font-size:17px}

/* full-bleed editorial band */
.eu-band{position:relative;overflow:hidden;background:var(--eu-navy);color:rgba(255,255,255,.84)}
.eu-band__media{position:absolute;inset:0}
.eu-band__media img{width:100%;height:100%;object-fit:cover;opacity:.42}
.eu-band::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(9,29,46,.95) 0%,rgba(9,29,46,.9) 40%,rgba(9,29,46,.68) 72%,rgba(9,29,46,.5) 100%)}
[dir="rtl"] .eu-band::after{background:linear-gradient(260deg,rgba(9,29,46,.95) 0%,rgba(9,29,46,.9) 40%,rgba(9,29,46,.68) 72%,rgba(9,29,46,.5) 100%)}
.eu-band h2,.eu-band h3,.eu-band h4,.eu-band strong{color:#fff}
.eu-band p{color:rgba(255,255,255,.82)}
.eu-band .eu-kicker{color:#7FD3B4}
.eu-band a:not(.eu-btn){color:#8FD3E8}
.eu-band__inner{position:relative;z-index:2;padding-block:104px}
.eu-band__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.eu-band .eu-statuspanel{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);box-shadow:none;backdrop-filter:blur(4px)}
.eu-band .eu-statuspanel p{color:rgba(255,255,255,.86)}
.eu-band .eu-statuspanel__meta{border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.64)}
.eu-band .eu-statuspanel__meta b{color:#fff}

/* ---------------------------------------------------------------------
   11. PROCESS / TIMELINE
   --------------------------------------------------------------------- */
.eu-steps{position:relative;counter-reset:eustep;margin:0;padding:0;list-style:none}
.eu-steps::before{content:"";position:absolute;inset-inline-start:23px;top:16px;bottom:16px;width:1px;background:var(--eu-line)}
.eu-steps__progress{position:absolute;inset-inline-start:23px;top:16px;width:1px;height:0;background:var(--eu-blue);z-index:1}
.eu-steps li{position:relative;padding:0 0 34px 74px;counter-increment:eustep}
[dir="rtl"] .eu-steps li{padding:0 74px 34px 0}
.eu-steps li:last-child{padding-bottom:0}
.eu-steps li::before{content:counter(eustep,decimal-leading-zero);position:absolute;inset-inline-start:0;top:-3px;z-index:2;
  width:47px;height:47px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--eu-line);
  color:var(--eu-blue);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;
  transition:background var(--eu-d2),color var(--eu-d2),border-color var(--eu-d2)}
.eu-steps li.is-lit::before{background:var(--eu-blue);border-color:var(--eu-blue);color:#fff}
.eu-steps h3{margin:0 0 7px;font-size:19px;line-height:1.34}
.eu-steps p{margin:0;color:var(--eu-muted);font-size:15.5px;line-height:1.64}
.eu-steps__role{display:inline-block;margin-top:9px;padding:4px 10px;border-radius:3px;background:var(--eu-soft);
  border:1px solid var(--eu-line);color:var(--eu-ink-2);font-size:11.5px;font-weight:600}
.eu-steps--split{columns:2;column-gap:60px}
.eu-steps--split::before{content:none}
.eu-steps--split .eu-steps__progress{display:none}
.eu-steps--split li{break-inside:avoid}
.eu-steps h3,.eu-steps p{max-width:62ch}
.eu-stepslayout{display:grid;grid-template-columns:minmax(280px,.82fr) 1.18fr;gap:70px;align-items:start}
.eu-stepslayout__head{position:sticky;top:120px}
.eu-stepslayout__head .eu-section-head{margin-bottom:0}
/* evidence chain — three connected stages */
.eu-chain{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;counter-reset:euchain}
.eu-chain__step{position:relative;padding:0 34px 0 0;counter-increment:euchain}
[dir="rtl"] .eu-chain__step{padding:0 0 0 34px}
.eu-chain__step::before{content:"";position:absolute;inset-inline-start:0;top:27px;inset-inline-end:0;height:1px;background:var(--eu-line)}
.eu-chain__step:last-child::before{inset-inline-end:auto;width:56px}
.eu-chain__node{position:relative;z-index:2;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;
  background:#fff;border:1px solid var(--eu-line);color:var(--eu-blue);font-size:14px;font-weight:700;
  font-variant-numeric:tabular-nums;box-shadow:0 0 0 8px #fff;transition:all var(--eu-d2) var(--eu-ease)}
.eu-chain__step:hover .eu-chain__node{background:var(--eu-green);border-color:var(--eu-green);color:#fff}
.eu-chain__step h3{margin:26px 0 10px;font-size:21px;line-height:1.3}
.eu-chain__step p{margin:0 0 16px;color:var(--eu-muted);font-size:15.5px;max-width:34ch}
.eu-surface-soft .eu-chain__node{box-shadow:0 0 0 8px var(--eu-soft)}

/* horizontal regulatory timeline */
.eu-timeline{margin:0;padding:0;list-style:none;border-top:1px solid var(--eu-line)}
.eu-timeline li{display:grid;grid-template-columns:190px 1fr 220px;gap:26px;padding:24px 0;border-bottom:1px solid var(--eu-line);align-items:start}
.eu-timeline__date{color:var(--eu-ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.eu-timeline__date small{display:block;margin-top:5px;color:var(--eu-muted);font-size:12px;font-weight:500;letter-spacing:.02em}
.eu-timeline__what h3{margin:0 0 6px;font-size:17.5px;line-height:1.36}
.eu-timeline__what p{margin:0;color:var(--eu-muted);font-size:15px}
.eu-timeline__src{color:var(--eu-muted);font-size:12.5px;line-height:1.55}
.eu-timeline__src a{word-break:break-word}

/* ---------------------------------------------------------------------
   12. TABLES
   --------------------------------------------------------------------- */
.eu-tablewrap{overflow-x:auto;border:1px solid var(--eu-line);border-radius:var(--eu-radius);background:#fff;-webkit-overflow-scrolling:touch}
.eu-table{width:100%;min-width:560px;border-collapse:collapse;font-size:16px}
.eu-table caption{padding:16px 22px;text-align:start;color:var(--eu-muted);font-size:13px;border-bottom:1px solid var(--eu-line)}
.eu-table th,.eu-table td{padding:15px 22px;text-align:start;border-bottom:1px solid var(--eu-line);vertical-align:top;line-height:1.55}
.eu-table thead th{background:var(--eu-soft);color:var(--eu-ink);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.eu-table tbody tr:last-child td{border-bottom:0}
.eu-table tbody tr:hover{background:var(--eu-soft)}
.eu-table td strong{color:var(--eu-ink)}
.eu-table--facts th{width:38%;background:var(--eu-soft);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--eu-ink-2)}

/* comparison */
.eu-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.eu-compare__col{padding:30px;border-radius:var(--eu-radius);border:1px solid var(--eu-line);background:#fff}
.eu-compare__col--accent{border-color:rgba(0,100,161,.32);background:var(--eu-blue-050)}
.eu-compare__col h3{margin:0 0 6px;font-size:19px}
.eu-compare__col>span{display:block;margin-bottom:18px;color:var(--eu-muted);font-size:13px}

/* ---------------------------------------------------------------------
   13. STATUS PANELS (accreditation & CBAM boundary)
   --------------------------------------------------------------------- */
.eu-statuspanel{position:relative;display:block;text-transform:none;letter-spacing:normal;font-size:inherit;font-weight:400;color:var(--eu-ink-2);padding:34px 36px;border:1px solid var(--eu-line);border-radius:var(--eu-radius);background:#fff;box-shadow:var(--eu-e1)}
.eu-statuspanel::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;border-radius:var(--eu-radius) 0 0 var(--eu-radius);background:var(--eu-gold)}
[dir="rtl"] .eu-statuspanel::before{border-radius:0 var(--eu-radius) var(--eu-radius) 0}
.eu-statuspanel__head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px}
.eu-statuspanel__head h2,.eu-statuspanel__head h3{margin:0;font-size:21px}
.eu-statuspanel p{margin:0 0 14px;color:var(--eu-ink-2);font-size:16px;line-height:1.68}
.eu-statuspanel p:last-child{margin-bottom:0}
.eu-statuspanel__meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;padding-top:16px;border-top:1px solid var(--eu-line);
  color:var(--eu-muted);font-size:12.5px;text-transform:none;letter-spacing:normal;font-weight:400}
.eu-statuspanel__meta b{color:var(--eu-ink);font-weight:600}
.eu-statuspanel--accred::before{background:var(--eu-blue)}
/* a status that is applied for but not granted reads gold, not blue —
   blue on this site means a settled fact you can look up */
.eu-statuspanel--pending::before{background:var(--eu-gold)}
.eu-statuspanel--pending{background:linear-gradient(180deg,var(--eu-gold-050) 0%,var(--eu-white) 62%)}

/* stat row */
.eu-metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--eu-line);border-radius:var(--eu-radius);overflow:hidden;background:#fff}
.eu-metric{padding:34px 26px;border-inline-end:1px solid var(--eu-line)}
.eu-metric:last-child{border-inline-end:0}
.eu-metric strong{display:block;color:var(--eu-navy);font-size:42px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.eu-metric>span{display:block;margin-top:10px;color:var(--eu-ink-2);font-size:14.5px;font-weight:600}
.eu-metric strong .count-text,.eu-split__stat strong .count-text{font:inherit;color:inherit;display:inline;margin:0;letter-spacing:inherit}
.eu-metric>small{display:block;margin-top:6px;color:var(--eu-muted);font-size:12.5px;line-height:1.5}

/* marquee of standards */
.eu-marquee{overflow:hidden;border-block:1px solid var(--eu-line);background:var(--eu-soft);padding-block:18px;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.eu-marquee__track{display:flex;gap:44px;width:max-content;animation:eu-marq 42s linear infinite}
.eu-marquee:hover .eu-marquee__track{animation-play-state:paused}
.eu-marquee__item{display:inline-flex;align-items:center;gap:10px;color:var(--eu-ink-2);font-size:13.5px;font-weight:600;white-space:nowrap}
.eu-marquee__item::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--eu-gold)}
@keyframes eu-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[dir="rtl"] .eu-marquee__track{animation-name:eu-marq-rtl}
@keyframes eu-marq-rtl{from{transform:translateX(0)}to{transform:translateX(50%)}}

/* ---------------------------------------------------------------------
   14. ACCORDION / FAQ
   --------------------------------------------------------------------- */
.eu-accordion{border:1px solid var(--eu-line);border-radius:var(--eu-radius);overflow:hidden;background:#fff}
.eu-accordion__item+.eu-accordion__item{border-top:1px solid var(--eu-line)}
.eu-accordion__btn{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 26px;background:#fff;border:0;text-align:start;color:var(--eu-ink);font-size:17px;font-weight:600;
  line-height:1.45;cursor:pointer;transition:background var(--eu-d1)}
.eu-accordion__btn:hover{background:var(--eu-soft)}
.eu-accordion__btn::after{content:"";flex:none;width:13px;height:13px;margin-top:5px;
  border-inline-end:2px solid var(--eu-green);border-bottom:2px solid var(--eu-green);
  transform:rotate(45deg);transition:transform var(--eu-d2) var(--eu-ease)}
.eu-accordion__btn[aria-expanded="true"]{background:var(--eu-soft)}
.eu-accordion__btn[aria-expanded="true"]::after{transform:rotate(-135deg)}
.eu-accordion__panel{display:none;padding:0 26px 24px;color:var(--eu-ink-2);font-size:15.5px;line-height:1.7}
.eu-accordion__panel.is-open{display:block}
.eu-accordion__panel p:last-child{margin-bottom:0}

/* ---------------------------------------------------------------------
   15. FORMS & TOOLS
   --------------------------------------------------------------------- */
.eu-formcard{padding:38px;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius);box-shadow:var(--eu-e1)}
.eu-form__group{margin-bottom:30px}
.eu-form__group>legend,.eu-form__group>h3{margin:0 0 4px;padding:0;color:var(--eu-ink);font-size:16px;font-weight:700;width:auto;float:none}
.eu-form__group>p{margin:0 0 18px;color:var(--eu-muted);font-size:14px}
.eu-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.eu-f-full{grid-column:1/-1}
.eu-field label{display:block;margin-bottom:7px;color:var(--eu-ink);font-size:13.5px;font-weight:600}
.eu-field label .eu-req{color:var(--eu-stop)}
.eu-field input,.eu-field select,.eu-field textarea{width:100%;min-height:52px;padding:13px 15px;
  border:1px solid var(--eu-line-2);border-radius:var(--eu-radius-sm);background:#fff;color:var(--eu-ink);
  font-size:15px;line-height:1.4;transition:border-color var(--eu-d1),box-shadow var(--eu-d1)}
.eu-field textarea{min-height:132px;resize:vertical}
.eu-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--eu-muted) 50%),linear-gradient(135deg,var(--eu-muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) 23px,calc(100% - 15px) 23px;background-size:5px 5px;background-repeat:no-repeat}
[dir="rtl"] .eu-field select{background-position:20px 23px,25px 23px}
.eu-field input:focus,.eu-field select:focus,.eu-field textarea:focus{outline:0;border-color:var(--eu-green);box-shadow:0 0 0 3px rgba(0,108,76,.14)}
.eu-field input[aria-invalid="true"],.eu-field select[aria-invalid="true"],.eu-field textarea[aria-invalid="true"]{border-color:var(--eu-stop);box-shadow:0 0 0 3px rgba(156,50,38,.1)}
.eu-field__hint{display:block;margin-top:6px;color:var(--eu-muted);font-size:12.5px;line-height:1.5}
.eu-field__error{display:none;margin-top:6px;color:var(--eu-stop);font-size:12.5px;font-weight:600}
.eu-field.has-error .eu-field__error{display:block}
.eu-errsummary{display:none;margin-bottom:24px;padding:18px 22px;border:1px solid rgba(156,50,38,.35);
  border-radius:var(--eu-radius-sm);background:#FBF1EF;color:#7C2A20}
.eu-errsummary.is-visible{display:block}
.eu-errsummary h3{margin:0 0 8px;color:#7C2A20;font-size:15px}
.eu-errsummary ul{margin:0;padding-inline-start:1.1em;font-size:14px}
.eu-agree{display:flex;gap:12px;align-items:flex-start;margin:6px 0 22px;color:var(--eu-muted);font-size:13.5px;line-height:1.6}
.eu-agree input{width:19px;height:19px;min-height:0;margin-top:2px;flex:none;accent-color:var(--eu-green)}
.eu-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px}
.eu-form__foot p{margin:0;color:var(--eu-muted);font-size:12.5px;max-width:420px}

/* register/check tools */
.eu-tool{border:1px solid var(--eu-line);border-radius:var(--eu-radius);background:#fff;overflow:hidden;box-shadow:var(--eu-e1)}
.eu-tool__head{padding:26px 30px;border-bottom:1px solid var(--eu-line);background:var(--eu-soft)}
.eu-tool__head h2,.eu-tool__head h3{margin:0 0 6px;font-size:20px}
.eu-tool__head p{margin:0;color:var(--eu-muted);font-size:14.5px}
.eu-tool__body{padding:30px}
.eu-tool__row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.eu-tool__primary input{min-height:58px;font-size:17px;letter-spacing:.02em}
.eu-tool__result{margin-top:26px}
.eu-tool__result:empty{margin:0}
.eu-result{padding:26px 28px;border:1px solid var(--eu-line);border-radius:var(--eu-radius);background:var(--eu-soft)}
.eu-result__head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px}
.eu-result__head h3{margin:0;font-size:18px}
.eu-result dl{display:grid;grid-template-columns:190px 1fr;gap:10px 20px;margin:0;font-size:14.5px}
.eu-result dt{color:var(--eu-muted);font-weight:600}
.eu-result dd{margin:0;color:var(--eu-ink)}
.eu-result__note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--eu-line);color:var(--eu-muted);font-size:12.5px;line-height:1.6}
.eu-result--offline{border-style:dashed;background:#fff}
.eu-tool__states{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px;border-top:1px dashed var(--eu-line)}
.eu-tool__states span{padding:5px 11px;border-radius:3px;background:var(--eu-soft);border:1px solid var(--eu-line);
  color:var(--eu-muted);font-size:11.5px;font-weight:600}

/* ---------------------------------------------------------------------
   16. FILTERS / RECORDS / ARTICLES
   --------------------------------------------------------------------- */
.eu-filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px;padding:0;list-style:none}
.eu-filterbar li{padding:9px 16px;border:1px solid var(--eu-line);border-radius:100px;background:#fff;
  color:var(--eu-ink-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--eu-d1) var(--eu-ease)}
.eu-filterbar li:hover{border-color:var(--eu-green);color:var(--eu-green-700)}
.eu-filterbar li.active{background:var(--eu-navy);border-color:var(--eu-navy);color:#fff}
.eu-filterbar li sup{font-weight:500;opacity:.6;margin-inline-start:3px}

.eu-record{height:100%;padding:28px;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius);
  transition:transform var(--eu-d2) var(--eu-ease),box-shadow var(--eu-d2) var(--eu-ease)}
.eu-record:hover{transform:translateY(-4px);box-shadow:var(--eu-e2)}
.eu-record__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.eu-record__year{color:var(--eu-blue);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.eu-record h3{margin:0 0 12px;font-size:18px;line-height:1.34}
.eu-record dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 4px;font-size:13.5px}
.eu-record dt{color:var(--eu-muted)}
.eu-record dd{margin:0;color:var(--eu-ink);font-weight:600}
.eu-record__foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--eu-line);font-size:12.5px;color:var(--eu-muted)}

.eu-article{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--eu-line);
  border-radius:var(--eu-radius);overflow:hidden;position:relative;
  transition:transform var(--eu-d2) var(--eu-ease),box-shadow var(--eu-d2) var(--eu-ease)}
.eu-article:hover{transform:translateY(-5px);box-shadow:var(--eu-e2)}
.eu-article__media{aspect-ratio:16/9;overflow:hidden;background:var(--eu-ice)}
.eu-article__media img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--eu-ease)}
.eu-article:hover .eu-article__media img{transform:scale(1.05)}
.eu-article__body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.eu-article__cat{display:inline-flex;margin-bottom:11px;color:var(--eu-blue);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eu-article__body h3{margin:0 0 10px;font-size:19px;line-height:1.34}
.eu-article__body h3 a{color:var(--eu-ink)}
.eu-article__body h3 a::after{content:"";position:absolute;inset:0}
.eu-article__body p{margin:0 0 16px;color:var(--eu-muted);font-size:16.5px}
.eu-article__meta{margin-top:auto;padding-top:14px;border-top:1px solid var(--eu-line);display:flex;flex-wrap:wrap;gap:6px 14px;
  color:var(--eu-muted);font-size:12px}
.eu-article__meta b{color:var(--eu-ink-2);font-weight:600}

/* inline links in running text carry an underline, not colour alone (WCAG 1.4.1) */
.eu-prose a:not(.eu-btn):not(.eu-textlink),
.eu-note a:not(.eu-btn):not(.eu-textlink),
.eu-agree a,
.eu-sources a,
.eu-table a:not(.eu-btn),
.eu-mapfig figcaption a,
.eu-split__body p a:not(.eu-btn):not(.eu-textlink),
.eu-tool a:not(.eu-btn):not(.eu-textlink),
.eu-timeline__src a,
.eu-formcard a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:from-font}
.eu-textlink{text-decoration:underline;text-underline-offset:.24em;text-decoration-thickness:1px;text-decoration-color:currentColor}
.eu-textlink:hover{text-decoration-thickness:2px}
.eu-gov__link{text-decoration:underline;text-underline-offset:.22em}

/* horizontally scrollable regions are keyboard reachable (WCAG 2.1.1) */
.eu-tablewrap:focus-visible{outline:2px solid var(--eu-blue);outline-offset:3px}


/* =====================================================================
   V12 HEADER — utility bar, primary CTA, hamburger, mobile drawer
   ===================================================================== */
.eu-topbar__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;border:1px solid rgba(255,255,255,.26);font-size:11.5px;transition:all var(--eu-d1) var(--eu-ease)}
.eu-topbar__icon:hover{background:#fff;border-color:#fff;color:var(--eu-navy)}

.eu-btn--cta{background:var(--eu-green);box-shadow:0 6px 18px rgba(0,108,76,.22)}
.eu-btn--cta:hover{background:var(--eu-green-600);box-shadow:var(--eu-e-green)}

/* hamburger — three rules that fold into a cross */
.eu-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;
  padding:0 11px;border:1px solid var(--eu-line-2);border-radius:var(--eu-radius-sm);background:#fff;cursor:pointer}
.eu-burger span{display:block;height:2px;width:100%;background:var(--eu-navy);border-radius:2px;
  transition:transform var(--eu-d1) var(--eu-ease),opacity 140ms linear}
.eu-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.eu-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.eu-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
.mobile-nav__content{background:var(--eu-navy);color:#fff}
.mobile-nav__close{position:absolute;inset-inline-end:18px;top:18px;width:42px;height:42px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.22);border-radius:var(--eu-radius-sm);background:transparent;color:#fff;font-size:17px;cursor:pointer}
.mobile-nav__close:hover{background:rgba(255,255,255,.1)}
.eu-mnav{list-style:none;margin:26px 0 0;padding:0}
.eu-mnav>li{position:relative;border-bottom:1px solid rgba(255,255,255,.1)}
.eu-mnav>li>a{display:block;padding:15px 0;padding-inline-end:52px;color:#fff;font-size:17px;font-weight:600;letter-spacing:-.01em}
.eu-mnav>li>a:hover,.eu-mnav>li>a:focus-visible{color:#7FD3B4}
.eu-mnav__toggle{position:absolute;inset-inline-end:0;top:6px;width:44px;height:44px;display:grid;place-items:center;
  border:0;background:transparent;color:rgba(255,255,255,.66);font-size:13px;cursor:pointer;
  transition:transform var(--eu-d1) var(--eu-ease),color var(--eu-d1)}
.eu-mnav__toggle:hover{color:#fff}
.eu-mnav__toggle[aria-expanded="true"]{transform:rotate(180deg);color:#7FD3B4}
.eu-mnav__sub{list-style:none;margin:0 0 14px;padding:0}
.eu-mnav__sub li a{display:block;padding:9px 0;padding-inline-start:16px;color:rgba(255,255,255,.74);font-size:14.5px;
  border-inline-start:2px solid rgba(255,255,255,.14)}
.eu-mnav__sub li a:hover,.eu-mnav__sub li a:focus-visible{color:#fff;border-inline-start-color:var(--eu-green)}
.eu-mobile-extra{margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.eu-mobile-extra__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.eu-mobile-extra__links a{flex:1 1 46%;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:var(--eu-radius-sm);
  color:#fff;font-size:13.5px;font-weight:600;text-align:center}
.eu-mobile-extra__links a:hover{background:rgba(255,255,255,.09)}
.eu-mobile-extra__icons{display:flex;align-items:center;gap:12px;margin-top:20px}
.eu-mobile-extra__icons a{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);
  border-radius:50%;color:#fff;font-size:15px}
.eu-mobile-extra__icons a:hover{background:#fff;color:var(--eu-navy)}
.eu-mobile-extra__lang{width:auto!important;padding:0 16px;border-radius:100px!important;font-size:13.5px;font-weight:600}

@media (max-width:1199px){
  .eu-nav{display:none}
  .eu-burger{display:flex}
}
@media (max-width:767px){
  /* the utility links live in the drawer on small screens; the bar keeps
     only the accreditation line, LinkedIn and the language toggle */
  .eu-topbar__links li:not(:last-child):not(:nth-last-child(2)){display:none}
  .eu-topbar__accred{font-size:11px;letter-spacing:0}
  .eu-topbar__inner{gap:10px}
}
@media (max-width:575px){
  .eu-header-cta .eu-btn--cta{display:none}
  .eu-topbar__accred{max-width:56vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}



/* =====================================================================
   V12.3 HOME MASTHEAD — cinematic full-bleed stage
   No container shape. The Riyadh skyline is a full-height panel bled to
   the outer edge and dissolved into the navy ground with a mask, so the
   city emerges from the page instead of sitting inside a frame. The
   oversized type crosses in front of it. Composition mirrors for RTL;
   a separate crop serves mobile.
   ===================================================================== */
.eu-mast{position:relative;isolation:isolate;overflow:hidden;
  background:var(--eu-navy);color:#fff;
  display:flex;flex-direction:column;
  min-height:clamp(600px,88vh,960px);
  padding-top:clamp(56px,6.4vw,104px)}

/* --- the skyline: bled to the edge, dissolved, never framed ---------- */
.eu-mast__scape{position:absolute;z-index:0;top:0;bottom:0;
  inset-inline-end:0;width:clamp(520px,64%,1340px);pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.20) 12%,rgba(0,0,0,.84) 34%,#000 50%);
          mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.20) 12%,rgba(0,0,0,.84) 34%,#000 50%)}
[dir="rtl"] .eu-mast__scape{
  -webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.20) 12%,rgba(0,0,0,.84) 34%,#000 50%);
          mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.20) 12%,rgba(0,0,0,.84) 34%,#000 50%)}
.eu-mast__scape picture{display:block;height:100%}
.eu-mast__scape img{display:block;width:100%;height:100%;object-fit:cover;
  object-position:62% 42%;will-change:transform}
[dir="rtl"] .eu-mast__scape img{object-position:38% 42%}

/* colour grade: pulls the photo onto the brand navy and lifts the dusk */
.eu-mast__grade{position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(11,38,61,.62) 0%,rgba(11,38,61,.10) 34%,rgba(11,38,61,.06) 60%,rgba(11,38,61,.52) 100%),
    radial-gradient(120% 80% at 78% 34%,rgba(0,100,161,.20),transparent 70%)}
/* floor: melts the photo into the stat bar with no visible cut */
.eu-mast__floor{position:absolute;inset-inline:0;bottom:0;height:52%;
  background:linear-gradient(to top,var(--eu-navy) 22%,rgba(11,38,61,.88) 44%,rgba(11,38,61,.42) 72%,transparent 100%)}

/* --- four messages on one stage --------------------------------------- */
.eu-mast__shot{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--eu-ease-out)}
.eu-mast__shot.is-on{opacity:1}
.eu-mast__shot picture{display:block;height:100%}
.eu-mast__shot img{display:block;width:100%;height:100%;object-fit:cover;
  object-position:62% 42%;will-change:transform}
[dir="rtl"] .eu-mast__shot img{object-position:38% 42%}

/* All four panels stay in the grid so the tallest sets the stage height and
   nothing below the hero shifts when it rotates. The inactive ones are made
   invisible and inert rather than display:none, which would drop them out of
   layout and bring the jump back. */
.eu-mast__type{display:grid}
.eu-mast__panel{grid-area:1/1;visibility:hidden;opacity:0;
  transition:opacity .55s var(--eu-ease-out),visibility 0s linear .55s}
.eu-mast__panel.is-on{visibility:visible;opacity:1;
  transition:opacity .55s var(--eu-ease-out),visibility 0s}
html:not(.eu-anim) .eu-mast__panel{transition:none}
/* where the timeline drives the swap it owns opacity outright; leaving the
   CSS fade running as well made the two panels dissolve into each other and
   the change stopped reading as a change */
.eu-mast--tl .eu-mast__panel,.eu-mast--tl .eu-mast__panel.is-on{transition:visibility 0s}

/* the rule that sweeps under the headline on every message change */
.eu-mast__sweep{display:block;width:clamp(74px,7vw,116px);height:3px;margin-top:clamp(20px,2.2vw,30px);
  background:linear-gradient(90deg,var(--eu-green-300),rgba(127,211,180,.15));
  transform-origin:left center;border-radius:2px}
[dir="rtl"] .eu-mast__sweep{background:linear-gradient(270deg,var(--eu-green-300),rgba(127,211,180,.15));
  transform-origin:right center}
.eu-mast-light .eu-mast__sweep{background:linear-gradient(90deg,var(--eu-green),rgba(0,108,76,.14))}
[dir="rtl"] .eu-mast-light .eu-mast__sweep{background:linear-gradient(270deg,var(--eu-green),rgba(0,108,76,.14))}

/* the numbered rail: which message you are on, and how long it stays */
.eu-mast__side{display:flex;flex-direction:column;gap:clamp(20px,2.2vw,30px);min-width:0}
.eu-mast__nav{display:flex;flex-wrap:wrap;gap:8px 10px}
.eu-mast__dot{position:relative;display:inline-flex;align-items:center;gap:9px;
  padding:9px 15px 11px;background:rgba(255,255,255,.62);border:1px solid var(--eu-grey-200);
  border-radius:2px;cursor:pointer;font:inherit;color:var(--eu-muted);
  transition:background .35s ease,border-color .35s ease,color .35s ease}
.eu-mast__dot:hover{background:#fff;color:var(--eu-navy)}
.eu-mast__dot.is-on{background:#fff;border-color:var(--eu-grey-300);color:var(--eu-navy);
  box-shadow:0 10px 26px rgba(11,38,61,.10)}
.eu-mast__dot__n{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--eu-green);
  font-variant-numeric:tabular-nums}
.eu-mast__dot__l{font-size:12.5px;font-weight:600;white-space:nowrap}
.eu-mast__dot__bar{position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--eu-grey-200)}
.eu-mast__dot__bar i{display:block;height:100%;width:0;background:var(--eu-green)}
.eu-mast__dot.is-on .eu-mast__dot__bar i{width:100%;
  transition:width var(--eu-dwell,7s) linear}
.eu-mast__dot:focus-visible{outline:3px solid var(--eu-green);outline-offset:3px}
.eu-mast--paused .eu-mast__dot.is-on .eu-mast__dot__bar i{transition:none}

.eu-mast__pause{align-self:flex-start;width:34px;height:34px;display:grid;place-items:center;
  background:transparent;border:1px solid var(--eu-grey-300);border-radius:50%;
  color:var(--eu-muted);cursor:pointer;font-size:11px;
  transition:background .3s ease,color .3s ease,border-color .3s ease}
.eu-mast__pause:hover{background:var(--eu-navy);border-color:var(--eu-navy);color:#fff}
.eu-mast__pause:focus-visible{outline:3px solid var(--eu-green);outline-offset:3px}

@media (max-width:767px){
  .eu-mast__nav{gap:6px}
  .eu-mast__dot{padding:8px 11px 10px}
  .eu-mast__dot__l{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .eu-mast__shot{transition:none}
  .eu-mast__dot__bar i{transition:none!important}
}

/* --- stage texture --------------------------------------------------- */
.eu-mast__dots{position:absolute;inset:0;z-index:1;opacity:.42;pointer-events:none;
  background-image:radial-gradient(rgba(127,211,180,.22) 1.1px,transparent 1.1px);
  background-size:20px 20px;
  -webkit-mask-image:radial-gradient(70% 62% at 22% 30%,#000 0%,rgba(0,0,0,.30) 52%,transparent 82%);
          mask-image:radial-gradient(70% 62% at 22% 30%,#000 0%,rgba(0,0,0,.30) 52%,transparent 82%)}
.eu-mast__glow{position:absolute;z-index:1;inset-inline-start:-16%;top:6%;width:min(820px,84vw);aspect-ratio:1;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(0,108,76,.30),transparent 64%)}

/* --- the composition -------------------------------------------------- */
.eu-mast__inner{position:relative;z-index:3;flex:1;
  display:flex;flex-direction:column;justify-content:center;
  padding-bottom:clamp(40px,4.4vw,64px)}

/* eyebrow row: the accreditation pill sits inline, not bolted to the edge */
.eu-mast__brow{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 clamp(18px,2vw,28px)}
.eu-mast__pill{display:inline-flex;align-items:center;gap:9px;
  padding:7px 15px 7px 12px;border-radius:100px;background:var(--eu-navy);
  color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
[dir="rtl"] .eu-mast__pill{letter-spacing:0;text-transform:none;font-size:13px;padding:6px 12px 6px 15px}
.eu-mast__pill i{width:7px;height:7px;border-radius:50%;background:var(--eu-green-300);
  animation:eu-pulse 2.6s ease-in-out infinite}
.eu-mast__eyebrow{color:#7FD3B4;font-size:11.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
[dir="rtl"] .eu-mast__eyebrow{letter-spacing:0;text-transform:none;font-size:14px}

/* --- oversized type, crossing the photo ------------------------------- */
.eu-mast__title{margin:0;font-weight:700;letter-spacing:-.044em;line-height:.94;
  font-size:clamp(40px,5.7vw,84px)}
[dir="rtl"] .eu-mast__title{letter-spacing:0;line-height:1.16;font-size:clamp(36px,5.1vw,76px)}
.eu-mast__title>span{display:block;color:#fff;
  text-shadow:0 2px 34px rgba(11,38,61,.42)}
.eu-mast__l2{-webkit-text-stroke:1.7px rgba(255,255,255,.72);color:rgba(255,255,255,.06)!important;
  text-shadow:none}
/* Arabic letterforms break under -webkit-text-stroke; use a solid tint */
[dir="rtl"] .eu-mast__l2{-webkit-text-stroke:0;color:rgba(255,255,255,.46)!important}
.eu-mast__l3 .eu-accent{color:#7FD3B4}

/* foot row: lede holds the left, the accreditation seal holds the photo edge */
.eu-mast__foot{display:flex;align-items:flex-end;justify-content:space-between;
  gap:clamp(24px,4vw,64px);margin-top:clamp(22px,2.4vw,34px)}

/* --- lede + actions --------------------------------------------------- */
.eu-mast__lede{margin-top:clamp(24px,2.6vw,36px)}
.eu-mast__lede p{margin:0;max-width:46ch;color:rgba(255,255,255,.82);font-size:clamp(15.5px,1.05vw,17.5px);line-height:1.72;
  text-shadow:0 1px 20px rgba(11,38,61,.5)}
.eu-mast__actions{margin-top:clamp(22px,2.4vw,32px);gap:12px}
.eu-mast__more{display:inline-flex;align-items:center;gap:9px;margin-top:20px;color:#7FD3B4;
  font-size:13.5px;font-weight:600;text-decoration:none}
.eu-mast__more:hover{color:#fff}
[dir="rtl"] .eu-mast__more i{transform:scaleX(-1)}

/* --- accreditation seal + place, floated on the photo ----------------- */
.eu-mast__sealwrap{display:flex;flex-direction:column;align-items:flex-end;
  gap:14px;flex:0 0 auto}
[dir="rtl"] .eu-mast__sealwrap{align-items:flex-start}
.eu-mast__seal{display:grid;gap:3px;padding:16px 22px;background:#fff;border-radius:2px;
  border-inline-start:3px solid var(--eu-green);
  box-shadow:0 30px 64px rgba(4,18,30,.44)}
[dir="rtl"] .eu-mast__seal{border-inline-start:0;border-inline-end:3px solid var(--eu-green)}
.eu-mast__seal__k{color:var(--eu-muted);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
[dir="rtl"] .eu-mast__seal__k{letter-spacing:0;text-transform:none;font-size:11.5px}
.eu-mast__seal__v{color:var(--eu-navy);font-size:21px;font-weight:700;line-height:1.1;white-space:nowrap}
.eu-mast__seal__s{color:var(--eu-blue);font-size:11.5px;font-weight:600;white-space:nowrap}
.eu-mast__seal__m{display:flex;align-items:center;gap:9px;margin-top:9px;padding-top:9px;
  border-top:1px solid var(--eu-grey-200);
  color:var(--eu-muted);font-size:11px;font-weight:600;white-space:nowrap}
.eu-mast__seal__m i{width:3px;height:3px;border-radius:50%;background:var(--eu-gold);flex:0 0 auto}
.eu-mast__seal__m bdi{unicode-bidi:isolate}
.eu-mast__seal__s bdi{unicode-bidi:isolate}

.eu-mast__place{margin:0;display:inline-flex;align-items:center;gap:9px;
  padding:7px 14px;border-radius:100px;
  background:rgba(11,38,61,.58);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);
  color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  white-space:nowrap}
[dir="rtl"] .eu-mast__place{letter-spacing:0;text-transform:none;font-size:13px}
.eu-mast__pin{width:7px;height:7px;border-radius:50%;background:#7FD3B4;
  box-shadow:0 0 0 5px rgba(127,211,180,.20);animation:eu-pulse 2.6s ease-in-out infinite}

/* --- proof cards ------------------------------------------------------ */
/* Two only, and they stay inside the reading column on the light side, so
   the photograph is never covered by them. */
.eu-mast__stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;max-width:460px;margin-top:clamp(26px,2.8vw,38px)}
.eu-mast__stat{position:relative;isolation:isolate;overflow:hidden;
  padding:18px 18px 20px;border-radius:3px;
  background:rgba(255,255,255,.86);border:1px solid var(--eu-grey-200);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  box-shadow:0 14px 34px rgba(11,38,61,.10);
  transition:transform .55s cubic-bezier(.19,.75,.22,1),
             background .42s ease,border-color .42s ease,box-shadow .42s ease}
/* the accent bar grows to the full card edge on approach */
.eu-mast__stat::before{content:"";position:absolute;z-index:2;top:0;inset-inline-start:0;
  width:24px;height:2px;background:var(--eu-green);
  transition:width .62s cubic-bezier(.19,.75,.22,1),background .42s ease}
/* a mist-green wash that follows the pointer across the card face */
.eu-mast__stat::after{content:"";position:absolute;z-index:-1;inset:0;opacity:0;
  background:radial-gradient(220px 160px at var(--mx,50%) var(--my,50%),
             rgba(0,108,76,.10),transparent 72%);
  transition:opacity .45s ease}
.eu-mast__stat:hover,.eu-mast__stat:focus-within{transform:translateY(-6px);
  background:#fff;border-color:rgba(0,108,76,.32);
  box-shadow:0 24px 52px rgba(11,38,61,.17)}
.eu-mast__stat:hover::before,.eu-mast__stat:focus-within::before{width:100%;background:var(--eu-green)}
.eu-mast__stat:hover::after,.eu-mast__stat:focus-within::after{opacity:1}
.eu-mast__stat strong{display:block;color:var(--eu-navy);font-size:clamp(16px,1.2vw,19px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
[dir="rtl"] .eu-mast__stat strong{letter-spacing:0}
.eu-mast__stat>span{display:block;margin-top:6px;color:var(--eu-muted);font-size:12px;line-height:1.5}
.eu-mast__stat .eu-count{display:inline-block;font:inherit;color:inherit;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){
  .eu-mast__stat,.eu-mast__stat::before,.eu-mast__stat::after{transition:none}
}

/* --- standards rail --------------------------------------------------- */
.eu-mast__rail{position:relative;z-index:4;overflow:hidden;padding-block:15px;
  border-top:1px solid var(--eu-grey-200);border-bottom:1px solid var(--eu-grey-200);
  background:var(--eu-grey-50)}
.eu-mast__rail .eu-marquee__track{display:flex;gap:0;width:max-content;animation:eu-marq 38s linear infinite}
.eu-mast__rail span{display:inline-flex;align-items:center;padding-inline:24px;color:var(--eu-muted);
  font-size:12px;font-weight:600;letter-spacing:.06em;white-space:nowrap}
.eu-mast__rail span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--eu-gold);margin-inline-start:24px}

@keyframes eu-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.82)}}

/* --- responsive ------------------------------------------------------- */
@media (max-width:1199px){
  .eu-mast{min-height:0;padding-bottom:0}
  .eu-mast__scape{width:clamp(420px,62%,760px)}
  .eu-mast__title{font-size:clamp(38px,6.4vw,66px)}
  .eu-mast__lede{max-width:46ch}
  .eu-mast__stats{max-width:none}
}
@media (max-width:900px){
  /* mobile is composed separately: copy first, then the skyline as its own
     full-width band. The photo never sits behind the reading column. */
  .eu-mast{min-height:0}
  .eu-mast__inner{order:1;flex:0 0 auto;padding-bottom:clamp(26px,5vw,36px)}
  .eu-mast__scape{order:2;position:relative;inset:auto;width:auto;
    height:clamp(270px,62vw,430px);
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%)}
  [dir="rtl"] .eu-mast__scape{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%);
            mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 100%)}
  .eu-mast__scape img{object-position:50% 58%}
  [dir="rtl"] .eu-mast__scape img{object-position:50% 46%}
  .eu-mast__rail{order:3}
  .eu-mast__grade{background:linear-gradient(to bottom,rgba(11,38,61,.26) 0%,rgba(11,38,61,.06) 40%,rgba(11,38,61,.46) 100%)}
  .eu-mast__floor{height:34%;
    background:linear-gradient(to top,var(--eu-navy) 6%,rgba(11,38,61,.62) 40%,transparent 100%)}
  .eu-mast__foot{flex-direction:column;align-items:flex-start;gap:26px}
  .eu-mast__sealwrap{align-items:flex-start}
  [dir="rtl"] .eu-mast__foot{align-items:flex-end}
  [dir="rtl"] .eu-mast__sealwrap{align-items:flex-end}
  /* the caption returns to the copy column, so it reads on the light ground */
  .eu-mast__place{padding:0;background:none;border:0;backdrop-filter:none;
    -webkit-backdrop-filter:none;color:var(--eu-muted)}
  .eu-mast-light .eu-mast__place{padding:0;background:none;border:0;
    backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--eu-muted)}
  .eu-mast-light .eu-mast__pin{background:var(--eu-green);box-shadow:0 0 0 5px rgba(0,108,76,.20)}
}
@media (max-width:767px){
  .eu-mast{padding-top:40px;min-height:0}
  .eu-mast__title{font-size:clamp(32px,9.4vw,46px);line-height:1.02;letter-spacing:-.032em}
  [dir="rtl"] .eu-mast__title{font-size:clamp(30px,8.6vw,42px);line-height:1.2}
  .eu-mast__l2{-webkit-text-stroke-width:1.1px}
  .eu-mast__lede{max-width:none}
  .eu-mast__actions{flex-direction:column;align-items:stretch}
  .eu-mast__actions .eu-btn{width:100%}
  .eu-mast__stats{gap:10px}
  .eu-mast__stat{padding:15px 14px 17px}
  .eu-mast__seal__m{white-space:normal;flex-wrap:wrap}
  .eu-mast__seal{padding:13px 16px}
  .eu-mast__seal__v{font-size:17px}
  .eu-mast__brow{gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .eu-mast__pin,.eu-mast__pill i{animation:none}
  .eu-mast__rail .eu-marquee__track{animation:none}
}


/* ---------------------------------------------------------------------
   MASTHEAD — LIGHT VARIANT (body.eu-mast-light)  ·  V12.3
   V12 section 5 asks for 60% white and warm neutrals against 18% navy,
   so this is the shipped masthead. Same cinematic composition: the
   skyline still bleeds to the outer edge with no frame, but it is graded
   up and dissolved into a cool grey ground rather than into navy, and
   the type carries the authority in navy instead of white.
   --------------------------------------------------------------------- */
.eu-mast-light .eu-mast{color:var(--eu-ink);
  background:linear-gradient(180deg,#FAFDFB 0%,#EFF8F3 54%,#E2F1EA 100%)}

/* the photo is lifted and cooled so it belongs on a light ground */
.eu-mast-light .eu-mast__scape img{filter:saturate(1.02) contrast(1.04) brightness(.99) hue-rotate(-8deg) sepia(.10)}
/* not a white wash — a navy vignette, so the photo keeps its dusk and the
   page reads as a true light-to-dark gradient rather than a pale image */
.eu-mast-light .eu-mast__grade{background:
  linear-gradient(to right,rgba(255,253,250,.96) 0%,rgba(252,250,246,.54) 22%,rgba(252,250,246,.08) 40%,transparent 52%),
  linear-gradient(to bottom,rgba(11,38,61,.22) 0%,rgba(11,38,61,.02) 34%,rgba(11,38,61,.06) 72%,rgba(11,38,61,.22) 100%),
  radial-gradient(120% 80% at 78% 30%,rgba(0,108,76,.19),transparent 68%)}
[dir="rtl"] .eu-mast-light .eu-mast__grade{background:
  linear-gradient(to left,rgba(255,253,250,.96) 0%,rgba(252,250,246,.54) 22%,rgba(252,250,246,.08) 40%,transparent 52%),
  linear-gradient(to bottom,rgba(11,38,61,.22) 0%,rgba(11,38,61,.02) 34%,rgba(11,38,61,.06) 72%,rgba(11,38,61,.22) 100%),
  radial-gradient(120% 80% at 22% 30%,rgba(0,108,76,.19),transparent 68%)}
/* the base lands on navy so the stat strip anchors the composition */
.eu-mast-light .eu-mast__floor{height:22%;
  background:linear-gradient(to top,rgba(245,242,235,.92) 0%,rgba(251,249,245,.42) 46%,transparent 100%)}
/* on light the skyline holds more of its own edge before dissolving */
.eu-mast-light .eu-mast__scape{
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.24) 16%,rgba(0,0,0,.86) 40%,#000 58%);
          mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.24) 16%,rgba(0,0,0,.86) 40%,#000 58%)}
[dir="rtl"] .eu-mast-light .eu-mast__scape{
  -webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.24) 16%,rgba(0,0,0,.86) 40%,#000 58%);
          mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.24) 16%,rgba(0,0,0,.86) 40%,#000 58%)}

/* stage texture in navy, not mint */
.eu-mast-light .eu-mast__dots{opacity:.85;
  background-image:radial-gradient(rgba(11,38,61,.15) 1.1px,transparent 1.1px)}
.eu-mast-light .eu-mast__glow{background:radial-gradient(circle,rgba(0,108,76,.13),transparent 66%)}

/* type: navy authority, green accent, grey ghost line */
.eu-mast-light .eu-mast__eyebrow{color:var(--eu-muted)}
.eu-mast-light .eu-mast__title>span{color:var(--eu-navy);text-shadow:none}
.eu-mast-light .eu-mast__l2{-webkit-text-stroke:1.6px rgba(11,38,61,.36);color:rgba(11,38,61,.04)!important}
[dir="rtl"] .eu-mast-light .eu-mast__l2{-webkit-text-stroke:0;color:rgba(11,38,61,.28)!important}
.eu-mast-light .eu-mast__l3 .eu-accent{color:var(--eu-green)}
.eu-mast-light .eu-mast__lede p{color:var(--eu-ink-2);text-shadow:none}
.eu-mast-light .eu-mast__more{color:var(--eu-green-700)}
.eu-mast-light .eu-mast__more:hover{color:var(--eu-navy)}

/* seal + place on light */
.eu-mast-light .eu-mast__place{color:#fff}
.eu-mast-light .eu-mast__pin{background:#7FD3B4;box-shadow:0 0 0 5px rgba(127,211,180,.28)}
.eu-mast-light .eu-mast__seal{background:#fff;border:1px solid var(--eu-grey-200);
  border-inline-start:3px solid var(--eu-green);
  box-shadow:0 26px 54px rgba(11,38,61,.14)}
[dir="rtl"] .eu-mast-light .eu-mast__seal{border-inline-start:1px solid var(--eu-grey-200);
  border-inline-end:3px solid var(--eu-green)}
.eu-mast-light .eu-mast__seal__k{color:var(--eu-muted)}

/* stat strip and rail on grey rules */



/* the secondary CTA needs a light-ground treatment */
.eu-mast-light .eu-btn--onnavy{background:#fff;border-color:var(--eu-grey-300);color:var(--eu-navy)}
.eu-mast-light .eu-btn--onnavy:hover{background:var(--eu-navy);border-color:var(--eu-navy);color:#fff}

@media (max-width:900px){
  /* the skyline is its own band here, not a backdrop, so it keeps full depth
     and simply seats onto the navy plinth below it */
  .eu-mast-light .eu-mast__scape img{filter:saturate(1.06) contrast(1.04) brightness(.99)}
  .eu-mast-light .eu-mast__grade{background:
    linear-gradient(to bottom,rgba(11,38,61,.16) 0%,rgba(11,38,61,.02) 34%,rgba(11,38,61,.44) 100%)}
  .eu-mast-light .eu-mast__floor{height:32%;
    background:linear-gradient(to top,var(--eu-navy) 4%,rgba(11,38,61,.58) 42%,transparent 100%)}
  /* the caption has moved back into the light copy column */
  .eu-mast-light .eu-mast__place{padding:0;background:none;border:0;
    backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--eu-muted)}
  .eu-mast-light .eu-mast__pin{background:var(--eu-green);box-shadow:0 0 0 5px rgba(0,108,76,.20)}
}

/* =====================================================================
   V12.2 CARD LANGUAGE — shaped, layered, with a real affordance
   ===================================================================== */

/* decision cards: corner notch, numbered, circular arrow affordance */
.eu-decision{position:relative;overflow:hidden;background:#fff;border:1px solid var(--eu-line);
  border-radius:var(--eu-radius);padding:32px 30px 26px}
.eu-decision::before{content:"";position:absolute;inset-inline-end:0;bottom:0;width:66px;height:66px;
  background:linear-gradient(135deg,transparent 50%,var(--eu-mist) 50%);
  transition:background var(--eu-d2) var(--eu-ease);pointer-events:none}
[dir="rtl"] .eu-decision::before{background:linear-gradient(225deg,transparent 50%,var(--eu-mist) 50%)}
.eu-decision:hover::before{background:linear-gradient(135deg,transparent 50%,var(--eu-green) 50%)}
[dir="rtl"] .eu-decision:hover::before{background:linear-gradient(225deg,transparent 50%,var(--eu-green) 50%)}
.eu-decision:hover{border-color:var(--eu-green);box-shadow:var(--eu-e2)}
.eu-decision__num{position:absolute;inset-inline-end:22px;top:20px;z-index:2;
  color:var(--eu-line-2);font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1;
  transition:color var(--eu-d2) var(--eu-ease)}
.eu-decision:hover .eu-decision__num{color:var(--eu-green)}
.eu-decision__foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid var(--eu-line)}
/* a control, so it carries the action colour */
.eu-decision__go{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;
  border:1px solid var(--eu-line-2);color:var(--eu-ink);font-size:13px;
  transition:all var(--eu-d1) var(--eu-ease)}
.eu-decision:hover /* a control, so it carries the action colour */
.eu-decision__go{background:var(--eu-green);border-color:var(--eu-green);color:#fff;transform:rotate(-45deg)}
[dir="rtl"] .eu-decision__go i{transform:scaleX(-1)}

/* governance cards: icon in a tile that breaks the top edge */
.eu-gov{position:relative;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius);
  padding:44px 28px 28px;margin-top:26px}
/* the icon tile is identity, not a data reference */
.eu-gov__icon{position:absolute;inset-inline-start:28px;top:-26px;width:56px;height:56px;display:grid;place-items:center;
  border-radius:14px 14px 14px 4px;background:var(--eu-navy);color:#7FD3B4;font-size:19px;
  box-shadow:0 14px 30px rgba(11,38,61,.20);transition:all var(--eu-d2) var(--eu-ease)}
.eu-gov:hover /* the icon tile is identity, not a data reference */
.eu-gov__icon{background:var(--eu-green);color:#fff;transform:translateY(-4px)}
.eu-gov:hover{border-color:var(--eu-green-050);box-shadow:var(--eu-e2)}
.eu-gov__link{display:inline-flex;align-items:center;gap:8px;margin-top:18px}
.eu-gov__link::after{content:"\2192";transition:transform var(--eu-d1) var(--eu-ease)}
[dir="rtl"] .eu-gov__link::after{content:"\2190"}
.eu-gov:hover .eu-gov__link::after{transform:translateX(4px)}
[dir="rtl"] .eu-gov:hover .eu-gov__link::after{transform:translateX(-4px)}

/* evidence cards: photo top, notch, circular arrow on hover */
.eu-evidence{position:relative;overflow:hidden;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius)}
.eu-evidence__media{position:relative;overflow:hidden;aspect-ratio:16/10}
.eu-evidence__media img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--eu-ease)}
.eu-evidence:hover .eu-evidence__media img{transform:scale(1.06)}
.eu-evidence__media::after{content:"";position:absolute;inset-inline-end:-1px;bottom:-1px;width:74px;height:52px;
  background:#fff;clip-path:polygon(24px 0,100% 0,100% 100%,0 100%);pointer-events:none}
[dir="rtl"] .eu-evidence__media::after{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 100%,0 100%)}
.eu-evidence__tag{position:absolute;inset-inline-start:16px;top:16px;z-index:2;padding:6px 12px;border-radius:100px;
  background:rgba(11,38,61,.82);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
[dir="rtl"] .eu-evidence__tag{letter-spacing:0;text-transform:none;font-size:12px}
.eu-evidence__body{position:relative;padding:22px 26px 26px}
.eu-evidence__body h3{margin:0 0 10px;font-size:19px;line-height:1.32}
.eu-evidence__body h3 a{color:var(--eu-ink)}
.eu-evidence__body h3 a::after{content:"";position:absolute;inset:0}
.eu-evidence__body p{margin:0;color:var(--eu-muted);font-size:16.5px}
.eu-evidence__std{display:inline-flex;margin-top:16px;color:var(--eu-blue);font-size:12px;font-weight:700;letter-spacing:.07em}
/* at rest the arrow is structure; green arrives with the interaction */
.eu-evidence__arrow{position:absolute;inset-inline-end:22px;top:-22px;z-index:3;width:44px;height:44px;display:grid;
  place-items:center;border-radius:50%;background:var(--eu-green);color:#fff;font-size:13px;
  opacity:0;transform:translateY(8px);transition:all var(--eu-d2) var(--eu-ease)}
.eu-evidence:hover /* at rest the arrow is structure; green arrives with the interaction */
.eu-evidence__arrow{opacity:1;transform:translateY(0)}

/* sections gain a quiet decorative layer so nothing reads as a bare box */
.eu-section{position:relative;isolation:isolate}
.eu-surface-sand::before,.eu-surface-mist::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(11,38,61,.055) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(64% 58% at 88% 12%,#000,transparent 72%);
          mask-image:radial-gradient(64% 58% at 88% 12%,#000,transparent 72%)}
.eu-surface-navy::after{content:"";position:absolute;inset-inline-start:-8%;bottom:-42%;width:min(640px,64vw);
  aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle,rgba(0,108,76,.30),transparent 66%)}

/* =====================================================================
   V12.4 INTERNAL PAGE HERO — the Riyadh composition, at page scale
   Same devices as the home stage rather than a different idea: warm-white
   ground, oversized navy type, the photograph bled to the outer edge and
   dissolved with no container shape, and one white card breaking the plane
   to carry the standards the page is governed by.
   ===================================================================== */
.eu-phero{position:relative;isolation:isolate;overflow:hidden;color:var(--eu-ink);
  background:linear-gradient(180deg,#FFFDFA 0%,#FBF9F5 62%,#F5F2EB 100%);
  border-bottom:1px solid var(--eu-line);
  padding-block:clamp(46px,5vw,80px) clamp(52px,5.6vw,88px)}

/* the photograph: bled, dissolved, at full strength — no veil over it */
.eu-phero__scape{position:absolute;z-index:0;top:0;bottom:0;
  inset-inline-end:0;width:clamp(430px,62%,1280px);pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.18) 12%,rgba(0,0,0,.84) 36%,#000 54%);
          mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.18) 12%,rgba(0,0,0,.84) 36%,#000 54%)}
[dir="rtl"] .eu-phero__scape{
  -webkit-mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.18) 12%,rgba(0,0,0,.84) 36%,#000 54%);
          mask-image:linear-gradient(to left,transparent 0,rgba(0,0,0,.18) 12%,rgba(0,0,0,.84) 36%,#000 54%)}
.eu-phero__scape img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%;
  filter:saturate(1.0) contrast(1.03) hue-rotate(-6deg) sepia(.08)}
[dir="rtl"] .eu-phero__scape img{object-position:50% 52%}
/* the warm scrim only protects the reading column; the photograph keeps its own light */
.eu-phero__grade{position:absolute;inset:0;
  background:
    linear-gradient(to right,rgba(255,253,250,.96) 0%,rgba(252,250,246,.50) 22%,rgba(252,250,246,.06) 40%,transparent 52%),
    linear-gradient(to bottom,rgba(11,38,61,.20) 0%,rgba(11,38,61,.02) 38%,rgba(11,38,61,.22) 100%)}
[dir="rtl"] .eu-phero__grade{
  background:
    linear-gradient(to left,rgba(255,253,250,.96) 0%,rgba(252,250,246,.50) 22%,rgba(252,250,246,.06) 40%,transparent 52%),
    linear-gradient(to bottom,rgba(11,38,61,.20) 0%,rgba(11,38,61,.02) 38%,rgba(11,38,61,.22) 100%)}

.eu-phero__dots{position:absolute;inset:0;z-index:1;opacity:.8;pointer-events:none;
  background-image:radial-gradient(rgba(11,38,61,.15) 1.1px,transparent 1.1px);background-size:20px 20px;
  -webkit-mask-image:radial-gradient(62% 70% at 18% 42%,#000,rgba(0,0,0,.3) 54%,transparent 84%);
          mask-image:radial-gradient(62% 70% at 18% 42%,#000,rgba(0,0,0,.3) 54%,transparent 84%)}

.eu-phero__inner{position:relative;z-index:2}
.eu-phero__copy{max-width:min(730px,56%)}
.eu-phero__title{margin:0;color:var(--eu-navy);font-size:clamp(34px,4.9vw,70px);line-height:1.02;
  letter-spacing:-.038em;font-weight:700;text-wrap:balance}
[dir="rtl"] .eu-phero__title{letter-spacing:0;line-height:1.2;font-size:clamp(30px,4.3vw,60px)}
.eu-phero__copy .eu-tracer{margin-top:24px;width:84px;background:var(--eu-navy)}
.eu-phero__lead{margin:24px 0 0;max-width:48ch;color:var(--eu-ink-2);
  font-size:clamp(16px,1.3vw,18px);line-height:1.7}

/* one white card breaking the plane, the same idiom as the accreditation seal */
.eu-phero__card{position:relative;z-index:3;display:inline-block;
  margin-top:clamp(30px,3.4vw,46px);padding:18px 24px 20px;
  background:#fff;border:1px solid var(--eu-line);
  border-inline-start:3px solid var(--eu-navy);
  box-shadow:0 24px 52px rgba(11,38,61,.13)}
[dir="rtl"] .eu-phero__card{border-inline-start:1px solid var(--eu-line);
  border-inline-end:3px solid var(--eu-navy)}
.eu-phero__card__k{display:block;margin-bottom:11px;color:var(--eu-muted);
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
[dir="rtl"] .eu-phero__card__k{letter-spacing:0;text-transform:none;font-size:11.5px}
.eu-phero__meta{display:flex;flex-wrap:wrap;gap:8px}
.eu-phero__meta .eu-chip{background:var(--eu-soft);border-color:var(--eu-line);color:var(--eu-navy)}

@media (max-width:900px){
  .eu-phero__copy{max-width:none}
  .eu-phero__scape{inset-inline:0;width:auto;
    -webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.46) 60%,transparent 96%);
            mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.46) 60%,transparent 96%)}
  [dir="rtl"] .eu-phero__scape{
    -webkit-mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.46) 60%,transparent 96%);
            mask-image:linear-gradient(to bottom,#000 0,rgba(0,0,0,.46) 60%,transparent 96%)}
  .eu-phero__scape img{object-position:50% 44%}
  [dir="rtl"] .eu-phero__scape img{object-position:50% 44%}
  .eu-phero__grade,[dir="rtl"] .eu-phero__grade{background:
    linear-gradient(to bottom,rgba(255,253,250,.90) 0%,rgba(252,250,246,.88) 46%,rgba(245,242,235,.97) 100%)}
  .eu-phero__card{display:block}
}
@media (max-width:575px){
  .eu-phero{padding-block:30px 40px}
  .eu-phero__title{font-size:clamp(28px,8.4vw,40px)}
  [dir="rtl"] .eu-phero__title{font-size:clamp(26px,7.6vw,36px)}
  .eu-phero__card{padding:15px 18px 17px}
}

/* =====================================================================
   V12 MOTION SYSTEM
   ===================================================================== */

/* --- preloader: the logo's own dot geometry ------------------------- */
.eu-preloader__stage{position:relative;display:grid;place-items:center;gap:26px}
.eu-preloader__dots{display:block;width:168px;height:168px}
.eu-preloader__mark{width:212px;height:auto;opacity:0;transform:translateY(10px)}

/* --- page transition curtain ---------------------------------------- */
.eu-curtain{position:fixed;inset:0;z-index:99998;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none}
.eu-curtain span{background:var(--eu-navy);transform:scaleY(0);transform-origin:top center;
  transition:transform 460ms var(--eu-ease-mask)}
.eu-curtain span:nth-child(2){transition-delay:60ms}
.eu-curtain span:nth-child(3){transition-delay:120ms}
.eu-curtain span:nth-child(4){transition-delay:180ms}
.eu-curtain.is-down span{transform:scaleY(1)}
.eu-curtain.is-up span{transform:scaleY(0);transform-origin:bottom center}
/* first paint: cover, then lift */
.eu-has-curtain .eu-curtain:not(.is-up):not(.is-down) span{transform:scaleY(1);transform-origin:bottom center;transition:none}

/* --- contextual cursor ---------------------------------------------- */
.eu-has-cursor,.eu-has-cursor a,.eu-has-cursor button,.eu-has-cursor [role="button"]{cursor:none}
.eu-cursor{position:fixed;inset:0;z-index:99997;pointer-events:none;opacity:0;transition:opacity 220ms linear}
.eu-cursor.is-on{opacity:1}
.eu-cursor__dot,.eu-cursor__ring,.eu-cursor__label{position:fixed;top:0;left:0;will-change:transform}
.eu-cursor__dot{width:6px;height:6px;border-radius:50%;background:var(--eu-green)}
.eu-cursor__ring{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(0,108,76,.55);
  transition:width 260ms var(--eu-ease),height 260ms var(--eu-ease),border-color 260ms,background 260ms,opacity 200ms}
.eu-cursor.is-active .eu-cursor__ring{width:56px;height:56px;background:rgba(0,108,76,.1);border-color:var(--eu-green)}
.eu-cursor.is-down .eu-cursor__ring{width:26px;height:26px}
.eu-cursor.has-label .eu-cursor__ring{width:82px;height:82px;background:var(--eu-green);border-color:var(--eu-green)}
.eu-cursor.has-label .eu-cursor__dot{opacity:0}
.eu-cursor__label{display:grid;place-items:center;width:82px;height:82px;color:#fff;font-size:11.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;text-align:center;opacity:0;transform-origin:center;
  transition:opacity 200ms linear}
.eu-cursor.has-label .eu-cursor__label{opacity:1}
[dir="rtl"] .eu-cursor__label{letter-spacing:0;text-transform:none;font-size:12.5px}

/* --- split-text line masks + heading tracer -------------------------- */
.eu-line-mask{display:block;overflow:hidden;padding-block:.06em}
.eu-tracer{display:block;height:2px;width:88px;margin-top:18px;background:var(--eu-green);
  transform:scaleX(0);transform-origin:left center;border-radius:2px}
[dir="rtl"] .eu-tracer{transform-origin:right center}
.eu-surface-navy .eu-tracer,.eu-band .eu-tracer{background:#7FD3B4}

/* --- hero motion tracers -------------------------------------------- */
.eu-tracer-line{position:absolute;height:2px;transform:scaleX(0);transform-origin:left center;z-index:3;border-radius:2px}
[dir="rtl"] .eu-tracer-line{transform-origin:right center}
.eu-tracer-line--green{background:linear-gradient(90deg,var(--eu-green),rgba(0,108,76,0))}
.eu-tracer-line--blue{background:linear-gradient(90deg,var(--eu-blue),rgba(0,100,161,0))}

/* --- premium card interaction: spotlight + restrained tilt ----------- */
.eu-decision,.eu-evidence,.eu-gov,.eu-article,[data-eu-tilt]{
  --mx:50%; --my:50%; --rx:0deg; --ry:0deg;
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateZ(0);
  transition:transform 320ms var(--eu-ease),box-shadow var(--eu-d2) var(--eu-ease)}
.eu-decision::after,.eu-gov::after,[data-eu-tilt]::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(0,108,76,.08),transparent 62%);
  transition:opacity 320ms var(--eu-ease)}
.eu-decision:hover::after,.eu-gov:hover::after,[data-eu-tilt]:hover::after{opacity:1}

/* --- interactive service selector ------------------------------------ */
.eu-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(28px,3.4vw,56px);align-items:stretch}
.eu-selector__tabs{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--eu-line)}
.eu-selector__note{position:relative;margin-top:30px;padding:24px 26px;border-radius:var(--eu-radius);
  background:var(--eu-navy);color:rgba(255,255,255,.82);font-size:14.5px;line-height:1.68;overflow:hidden}
.eu-selector__note::after{content:"";position:absolute;inset-inline-end:-40px;bottom:-56px;width:180px;aspect-ratio:1;
  border-radius:50%;background:radial-gradient(circle,rgba(0,108,76,.5),transparent 68%);pointer-events:none}
.eu-selector__note strong{display:block;margin-bottom:8px;color:#fff;font-size:16px}
.eu-selector__note a{color:#7FD3B4;text-decoration:underline;text-underline-offset:.24em}
.eu-selector__note a:hover{color:#fff}
.eu-selector__tab{position:relative;width:100%;display:flex;align-items:baseline;gap:16px;padding:22px 0;
  border:0;border-bottom:1px solid var(--eu-line);background:transparent;text-align:start;cursor:pointer;
  color:var(--eu-muted);transition:color var(--eu-d1) var(--eu-ease),padding var(--eu-d2) var(--eu-ease)}
.eu-selector__tab::before{content:"";position:absolute;inset-inline-start:0;bottom:-1px;height:2px;width:0;
  background:var(--eu-green);transition:width 480ms var(--eu-ease)}
.eu-selector__tab.is-on::before{width:100%}
.eu-selector__tab.is-on{color:var(--eu-ink);padding-inline-start:14px}
.eu-selector__tab:hover{color:var(--eu-ink)}
.eu-selector__tab__n{flex:none;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--eu-green)}
.eu-selector__tab__t{font-size:22px;font-weight:700;line-height:1.24;letter-spacing:-.018em}
.eu-selector__tab__s{display:block;margin-top:5px;font-size:14px;font-weight:400;color:var(--eu-muted);line-height:1.5}
.eu-selector__stage{position:relative;border-radius:var(--eu-radius);overflow:hidden;background:var(--eu-mist)}
.eu-selector__shot{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 420ms var(--eu-ease)}
.eu-selector__shot.is-on{position:relative;opacity:1;visibility:visible}
.eu-selector__shot img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;display:block}
.eu-selector__panel{padding:28px 30px 30px;background:#fff;border:1px solid var(--eu-line);border-top:0;
  border-radius:0 0 var(--eu-radius) var(--eu-radius)}
.eu-selector__panel h3{margin:0 0 12px;font-size:21px}
.eu-selector__panel p{margin:0 0 16px;color:var(--eu-muted);font-size:15.5px}
.eu-selector__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
@media (max-width:991px){
  .eu-selector{grid-template-columns:1fr;gap:34px}
  .eu-selector__tab__t{font-size:19px}
}

/* --- draggable carousel ---------------------------------------------- */
.eu-carousel{position:relative}
.eu-carousel__rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;
  padding-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.eu-carousel__rail img,.eu-carousel__rail a{-webkit-user-drag:none;user-select:none}
.eu-carousel__rail>*{flex:0 0 clamp(260px,30%,380px);scroll-snap-align:start}
.eu-carousel__rail.is-dragging{scroll-snap-type:none;cursor:grabbing}
.eu-carousel__rail::-webkit-scrollbar{height:5px}
.eu-carousel__rail::-webkit-scrollbar-thumb{background:var(--eu-line-2);border-radius:4px}
.eu-carousel__nav{display:flex;gap:10px;margin-top:26px}
.eu-carousel__nav button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--eu-line-2);
  border-radius:50%;background:#fff;color:var(--eu-ink);cursor:pointer;transition:all var(--eu-d1) var(--eu-ease)}
.eu-carousel__nav button:hover{background:var(--eu-green);border-color:var(--eu-green);color:#fff}
[dir="rtl"] .eu-carousel__nav i{transform:scaleX(-1)}

/* --- scroll-led storytelling ------------------------------------------ */
.eu-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:start}
.eu-story__scene{opacity:.32;transition:opacity 420ms var(--eu-ease),transform 420ms var(--eu-ease)}
.eu-story__scene.is-on{opacity:1}
.eu-story__media{position:relative;border-radius:var(--eu-radius);overflow:hidden}
.eu-story__shot{position:absolute;inset:0;opacity:0;transition:opacity 520ms var(--eu-ease)}
.eu-story__shot.is-on{position:relative;opacity:1}
@media (max-width:991px){.eu-story{grid-template-columns:1fr;gap:30px}.eu-story__scene{opacity:1}}

/* --- reduced motion: everything above becomes static ------------------ */
@media (prefers-reduced-motion:reduce){
  .eu-curtain,.eu-cursor{display:none!important}
  .eu-has-cursor,.eu-has-cursor a,.eu-has-cursor button{cursor:auto}
  .eu-tracer,.eu-tracer-line{transform:scaleX(1)!important}
  .eu-decision,.eu-evidence,.eu-gov,.eu-article,[data-eu-tilt]{transform:none!important}
  .eu-selector__shot,.eu-story__shot{transition:none}
}
@media (hover:none),(pointer:coarse){
  .eu-cursor{display:none!important}
  .eu-has-cursor,.eu-has-cursor a,.eu-has-cursor button{cursor:auto}
}

/* regional map (inlined SVG) */
.eu-mapsection{background:var(--eu-navy);color:#fff}
.eu-mapsection .eu-section-head h2,.eu-mapsection .eu-section-head p{color:#fff}
.eu-mapsection .eu-section-head p{color:rgba(255,255,255,.76)}
.eu-mapsection .eu-kicker{color:var(--eu-green-300)}
.eu-mapfig{margin:0;border:1px solid rgba(143,211,232,.24);border-radius:var(--eu-radius);overflow:hidden;background:var(--eu-navy)}
.eu-map{display:block;width:100%;height:auto}
.eu-mapfig figcaption{padding:20px 26px;border-top:1px solid rgba(143,211,232,.2);
  color:rgba(255,255,255,.74);font-size:13.5px;line-height:1.68}
.eu-mapfig figcaption strong{color:#fff}
.eu-mapfig figcaption a{color:var(--eu-green-300)}
@media (max-width:575px){.eu-mapfig figcaption{padding:16px 18px;font-size:13px}}

/* article page */
.eu-articlehead{padding-block:64px 40px;border-bottom:1px solid var(--eu-line)}
.eu-articlehead h1{max-width:900px;font-size:clamp(30px,3.4vw,46px);line-height:1.12}
.eu-eeat{display:grid;grid-template-columns:repeat(auto-fit,minmax(152px,1fr));gap:18px 20px;margin-top:32px;padding:22px 0 0;border-top:1px solid var(--eu-line)}
.eu-eeat div strong{text-wrap:balance}
.eu-eeat div span{display:block;color:var(--eu-muted);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eu-eeat div strong{display:block;margin-top:5px;color:var(--eu-ink);font-size:14px;font-weight:600}
.eu-sources{padding:26px 28px;border:1px solid var(--eu-line);border-radius:var(--eu-radius);background:var(--eu-soft)}
.eu-sources h2{margin:0 0 14px;font-size:16px}
.eu-sources ol{margin:0;padding-inline-start:1.2em;font-size:14px;line-height:1.7}
.eu-sources li{margin-bottom:8px;word-break:break-word}

/* documents */
.eu-doclist{margin:0;padding:0;list-style:none;border:1px solid var(--eu-line);border-radius:var(--eu-radius);overflow:hidden;background:#fff}
.eu-doclist li{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px 26px;border-bottom:1px solid var(--eu-line)}
.eu-doclist li:last-child{border-bottom:0}
.eu-doclist h3{margin:0 0 5px;font-size:16px;line-height:1.36}
.eu-doclist__meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--eu-muted);font-size:12.5px}
.eu-doclist__state{white-space:nowrap}

/* related links */
.eu-related{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eu-related a{display:block;padding:22px 24px;background:#fff;border:1px solid var(--eu-line);border-radius:var(--eu-radius);
  color:var(--eu-ink);font-size:15.5px;font-weight:600;line-height:1.4;transition:all var(--eu-d2) var(--eu-ease)}
.eu-related a span{display:block;margin-bottom:7px;color:var(--eu-muted);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.eu-related a:hover{border-color:var(--eu-green);box-shadow:var(--eu-e1);transform:translateY(-3px);color:var(--eu-green)}

/* final CTA */
.eu-cta{position:relative;overflow:hidden;background:var(--eu-navy)}
.eu-cta__media{position:absolute;inset:0}
.eu-cta__media img{width:100%;height:100%;object-fit:cover;opacity:.26}
.eu-cta__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr auto;gap:48px;align-items:center;padding-block:80px}
.eu-cta h2{margin:0 0 14px;color:#fff;font-size:clamp(28px,3vw,42px);line-height:1.12}
.eu-cta p{margin:0;max-width:660px;color:rgba(255,255,255,.8);font-size:17.5px}

/* ---------------------------------------------------------------------
   17. FOOTER
   --------------------------------------------------------------------- */
.eu-footer{background:var(--eu-navy);color:rgba(255,255,255,.7);font-size:14px}
.eu-footer__top{padding-block:clamp(48px,4.6vw,66px) clamp(26px,2.6vw,36px)}
/* V12 four-column grid: a wide brand and accreditation block, then four
   link columns. The fourth carries the trust-centre routes as a sub-block. */
.eu-footer__grid{display:grid;grid-template-columns:minmax(280px,1.05fr) 2.7fr;
  gap:clamp(30px,3.6vw,64px);align-items:start}
.eu-footer__nav{display:block}
.eu-footer__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.35fr;
  gap:clamp(20px,2.4vw,38px)}
/* the trust strip: one row of links, so the four columns stay even */
.eu-footer__strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px;
  margin-top:clamp(24px,2.6vw,34px);padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.eu-footer__strip h3{margin:0;flex:0 0 auto}
.eu-footer__strip ul{display:flex;flex-wrap:wrap;gap:10px 26px}
.eu-footer__strip li{margin:0}
.eu-footer__brand img{width:196px;height:auto;margin-bottom:18px}
.eu-footer__brand p{margin:0;color:rgba(255,255,255,.68);font-size:13.5px;line-height:1.7;max-width:34ch}
.eu-footer h3{margin:0 0 16px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eu-footer ul{margin:0;padding:0;list-style:none}
.eu-footer li{margin-bottom:8px}
.eu-footer a{color:rgba(255,255,255,.72);transition:color var(--eu-d1) var(--eu-ease)}
.eu-footer a:hover{color:#fff}
/* the link columns get a moving rule on hover, so the target is unambiguous */
.eu-footer__col li a{position:relative;display:inline-block;padding-block:1px}
.eu-footer__col li a::after{content:"";position:absolute;inset-inline-start:0;bottom:-1px;
  width:0;height:1px;background:var(--eu-green-300);transition:width .34s var(--eu-ease-out)}
.eu-footer__col li a:hover::after,.eu-footer__col li a:focus-visible::after{width:100%}
.eu-footer__strip a{position:relative}
.eu-footer__strip a:hover{text-decoration:underline;text-underline-offset:4px}
/* the column heads carry the same rule as the section kickers */
.eu-footer h3{position:relative;padding-bottom:14px}
.eu-footer h3::after{content:"";position:absolute;inset-inline-start:0;bottom:0;
  width:22px;height:2px;background:var(--eu-green)}
/* a full-width strip beneath the whole grid: neither column has to carry it,
   so neither is left with dead space under it */
/* the contact column stands where the removed one did */
.eu-footer__contact{margin:0;display:grid;gap:11px}
.eu-footer__contact li{display:grid;grid-template-columns:16px 1fr;gap:10px;align-items:start;
  margin:0;color:rgba(255,255,255,.72);line-height:1.6;font-size:13.5px}
.eu-footer__contact li i{margin-top:4px;color:var(--eu-green-300);font-size:13px;justify-self:center}
.eu-footer__contact bdi{unicode-bidi:isolate;white-space:nowrap}

.eu-footer__contact i{margin-top:5px;color:var(--eu-cyan);font-size:13px;justify-self:center}
.eu-footer__sep{padding:16px 0;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:8px 30px;
  border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.eu-footer__accred{margin:0;display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;
  color:rgba(255,255,255,.62);font-size:12.5px}
.eu-footer__accred strong{color:#fff;font-weight:700;letter-spacing:.02em}
.eu-footer__accred i{width:3px;height:3px;border-radius:50%;background:var(--eu-gold);flex:0 0 auto}
.eu-footer__accred bdi{unicode-bidi:isolate}
.eu-footer__sep p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}
.eu-footer__sep strong{color:#fff}
.eu-footer__bottom{padding-block:18px 22px;display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:14px 24px}
@media (min-width:992px){.eu-footer__bottom{padding-inline-end:96px}
  .eu-footer__strip{padding-inline-end:96px}}
@media (max-width:991px){.eu-footer__bottom{padding-bottom:64px}}
.eu-footer__bottom p{margin:0;color:rgba(255,255,255,.5);font-size:13px}
.eu-footer__legal{display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;list-style:none}
.eu-footer__legal li{margin:0}
.eu-footer__legal a{font-size:13px;color:rgba(255,255,255,.6)}
.eu-footer__social{display:flex;gap:10px;margin-top:20px}
.eu-footer__social a{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);
  border-radius:50%;color:rgba(255,255,255,.8);transition:all var(--eu-d1)}
.eu-footer__social a:hover{background:#fff;border-color:#fff;color:var(--eu-navy)}

/* ---------------------------------------------------------------------
   18. MOTION PRIMITIVES  (paired with energy-up-motion.js)
   --------------------------------------------------------------------- */
/* fail-safe: content is visible unless JS has confirmed it can animate */
/* V12.5 — the reveal carries real travel. The reference build rises 100px
   over a full second; this lands between that and restraint, and every
   revealed block staggers its own children off --eu-i. */
/* split-text units: the parent keeps perspective so the rotate reads as depth */
[data-eu-split]{perspective:760px}
.eu-ch,.eu-wd{display:inline-block;will-change:transform,opacity}
/* Arabic splits by word, so words must not lose their inter-word space */
[dir="rtl"] .eu-wd{margin-inline-end:.24em}

/* =====================================================================
   INDEX-2 COMPONENTS — the reference architecture in the Energy Up identity
   ===================================================================== */
/* click-to-play facade for a hosted player */
.eu-vband__play{display:inline-flex;align-items:center;gap:16px;margin-top:32px;
  padding:0;background:none;border:0;color:#fff;cursor:pointer;font:inherit}
.eu-vband__play__ring{width:62px;height:62px;flex:0 0 auto;display:grid;place-items:center;
  border-radius:50%;background:var(--eu-green);color:#fff;font-size:16px;
  box-shadow:0 0 0 0 rgba(0,108,76,.55);animation:eu-ping 2.8s ease-out infinite;
  transition:transform .4s var(--eu-ease-out)}
[dir="rtl"] .eu-vband__play__ring i{transform:scaleX(-1)}
.eu-vband__play:hover .eu-vband__play__ring{transform:scale(1.07)}
.eu-vband__play__label{font-size:14.5px;font-weight:600;letter-spacing:.01em;
  border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px}
.eu-vband__play:focus-visible{outline:3px solid var(--eu-green-300);outline-offset:6px;border-radius:4px}
@keyframes eu-ping{0%{box-shadow:0 0 0 0 rgba(0,108,76,.5)}70%{box-shadow:0 0 0 22px rgba(0,108,76,0)}100%{box-shadow:0 0 0 0 rgba(0,108,76,0)}}
@media (prefers-reduced-motion:reduce){.eu-vband__play__ring{animation:none}}
/* the player replaces the band's media once activated */
.eu-vband.is-playing .eu-vband__scrim,.eu-vband.is-playing .eu-vband__inner{opacity:0;pointer-events:none;
  transition:opacity .4s ease}
.eu-vband__frame{position:absolute;inset:0;z-index:4;width:100%;height:100%;border:0;background:#000}
/* the same facade, hosted inside the CBAM band */
.eu-band__play{margin-top:30px}
.eu-band.is-playing .eu-band__inner,.eu-band.is-playing .eu-band__media{opacity:0;pointer-events:none;transition:opacity .4s ease}

/* the accent word keeps the method on every ground */
.eu-surface-navy .eu-accent,.eu-vband .eu-accent,.eu-mast .eu-accent{color:var(--eu-green-300)}

/* a full-bleed band with motion behind the copy */
.eu-vband{position:relative;isolation:isolate;overflow:hidden;color:#fff;
  background:var(--eu-navy);padding-block:clamp(64px,7vw,116px)}
.eu-vband__media{position:absolute;inset:0;z-index:0;width:100%;height:100%;
  object-fit:cover;pointer-events:none}
.eu-vband__still{background-size:cover;background-position:50% 50%}
.eu-vband__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(105deg,rgba(11,38,61,.94) 0%,rgba(11,38,61,.80) 42%,rgba(11,38,61,.52) 100%)}
[dir="rtl"] .eu-vband__scrim{background:linear-gradient(255deg,rgba(11,38,61,.94) 0%,rgba(11,38,61,.80) 42%,rgba(11,38,61,.52) 100%)}
.eu-vband__inner{position:relative;z-index:2}
.eu-vband__inner>h2,.eu-vband__inner>.eu-vband__text{max-width:24ch}
.eu-vband__inner>.eu-vband__text{max-width:58ch}
.eu-vband .eu-kicker{color:var(--eu-green-300);margin-bottom:18px}
.eu-vband h2{color:#fff}
.eu-vband__text{margin:22px 0 0;color:rgba(255,255,255,.84);font-size:clamp(15.5px,1.05vw,17.5px);line-height:1.75}
.eu-vband .eu-actions{margin-top:32px}
@media (prefers-reduced-motion:reduce){.eu-vband__media{display:none}
  .eu-vband{background:var(--eu-navy)}}

/* funfact-two: figures as an icon list beside a standing statement */
.eu-funfact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.4vw,76px);align-items:center}
.eu-funfact__say .eu-kicker{margin-bottom:16px}
.eu-funfact__say p{margin:20px 0 0;color:var(--eu-ink-2);line-height:1.75;max-width:46ch}
.eu-funfact__say .eu-btn{margin-top:30px}
.eu-funfact__after{margin-top:26px;color:var(--eu-muted);font-size:14px}
.eu-metrics--list{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--eu-line);border:1px solid var(--eu-line);margin:0;padding:0;list-style:none}
.eu-metrics--list .eu-metric{display:flex;align-items:flex-start;gap:16px;
  padding:26px 24px;background:#fff;transition:background .4s ease}
.eu-metrics--list .eu-metric:hover{background:var(--eu-soft)}
.eu-metric__icon{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;
  border-radius:50%;background:var(--eu-navy);color:#fff;font-size:16px;
  box-shadow:0 0 0 5px rgba(11,38,61,.07)}
.eu-metric__body strong{display:block;color:var(--eu-navy);font-size:clamp(24px,2.3vw,34px);
  font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}
[dir="rtl"] .eu-metric__body strong{letter-spacing:0}
.eu-metric__body>span{display:block;margin-top:7px;color:var(--eu-ink-2);font-size:15px;line-height:1.5}
.eu-metric__body small{display:block;margin-top:5px;color:var(--eu-muted);font-size:13px}
@media (max-width:900px){.eu-funfact{grid-template-columns:1fr}}
@media (max-width:575px){.eu-metrics--list{grid-template-columns:1fr}}

/* history-area: the dated list sits inside one bordered box */
.eu-histbox{padding:clamp(24px,3vw,44px);background:#fff;
  border:1px solid var(--eu-line);box-shadow:0 24px 56px rgba(11,38,61,.07)}

/* feature-two: an icon tile, a standard reference, and one emphasised card */
.eu-gov{position:relative;isolation:isolate;transition:transform .5s var(--eu-ease-out),
  border-color .4s ease,box-shadow .4s ease,background .4s ease}
.eu-gov__std{display:block;margin-bottom:10px;color:var(--eu-blue);
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
[dir="rtl"] .eu-gov__std{letter-spacing:0;text-transform:none;font-size:12.5px}
[dir="rtl"] .eu-gov__arrow .fa-arrow-right{transform:scaleX(-1)}
.eu-gov__arrow{display:inline-grid;place-items:center;width:26px;height:26px;margin-inline-start:10px;
  border-radius:50%;border:1px solid currentColor;font-size:10px;vertical-align:middle;
  transition:background .35s ease,color .35s ease,transform .35s ease}
.eu-gov__link:hover .eu-gov__arrow{background:var(--eu-green);border-color:var(--eu-green);
  color:#fff;transform:translateY(-2px)}
.eu-gov.is-active{background:var(--eu-navy);border-color:var(--eu-navy);
  box-shadow:0 30px 64px rgba(11,38,61,.22)}
.eu-gov.is-active h3,.eu-gov.is-active .eu-gov__link{color:#fff}
.eu-gov.is-active p{color:rgba(255,255,255,.78)}
.eu-gov.is-active .eu-gov__std{color:var(--eu-green-300)}
.eu-gov.is-active /* the icon tile is identity, not a data reference */
.eu-gov__icon{background:rgba(255,255,255,.10);color:#fff}
.eu-gov:hover{transform:translateY(-6px)}

/* faq-one: numbered disclosure beside a standing panel */
.eu-faq2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,68px);align-items:start}
.eu-faq2__side .eu-kicker{margin-bottom:16px}
.eu-faq2__text{margin:20px 0 0;color:var(--eu-ink-2);line-height:1.75}
.eu-faq2__box{margin-top:28px;padding:26px 28px;background:var(--eu-soft);
  border:1px solid var(--eu-line);border-inline-start:3px solid var(--eu-navy)}
[dir="rtl"] .eu-faq2__box{border-inline-start:1px solid var(--eu-line);border-inline-end:3px solid var(--eu-navy)}
.eu-faq2__box h3{margin:0 0 14px;font-size:15.5px;font-weight:700;color:var(--eu-navy)}
.eu-faq2__side .eu-btn{margin-top:28px}
/* the numbered question row */
.eu-accordion__btn{display:flex;align-items:flex-start;gap:16px;width:100%;text-align:start}
.eu-accordion__n{flex:0 0 auto;min-width:30px;color:var(--eu-blue);
  font-size:12px;font-weight:700;letter-spacing:.06em;padding-top:.28em;font-variant-numeric:tabular-nums}
.eu-accordion__q{flex:1 1 auto}
.eu-accordion__item[data-open] .eu-accordion__n,
.eu-accordion__btn[aria-expanded="true"] .eu-accordion__n{color:var(--eu-green)}
@media (max-width:900px){.eu-faq2{grid-template-columns:1fr}}

html.eu-anim .eu-reveal:not(.is-in){opacity:0;transform:translateY(56px)}
html.eu-anim .eu-reveal.is-in{opacity:1;transform:none;
  transition:opacity 940ms var(--eu-ease-out),transform 940ms var(--eu-ease-out);
  transition-delay:calc(var(--eu-i,0) * 70ms)}
/* directional variants for split compositions */
html.eu-anim .eu-reveal--start:not(.is-in){opacity:0;transform:translateX(-58px)}
html.eu-anim [dir="rtl"] .eu-reveal--start:not(.is-in){transform:translateX(58px)}
html.eu-anim .eu-reveal--end:not(.is-in){opacity:0;transform:translateX(58px)}
html.eu-anim [dir="rtl"] .eu-reveal--end:not(.is-in){transform:translateX(-58px)}
html.eu-anim .eu-reveal--start.is-in,html.eu-anim .eu-reveal--end.is-in{transform:none}
/* a lift with scale for cards — depth, not just position */
html.eu-anim .eu-reveal--lift:not(.is-in){opacity:0;transform:translateY(64px) scale(.965)}
html.eu-anim .eu-reveal--lift.is-in{transform:none}
html.eu-anim .eu-reveal-mask:not(.is-in){clip-path:inset(0 100% 0 0)}
html.eu-anim .eu-reveal-mask.is-in{clip-path:inset(0 0 0 0);transition:clip-path 1100ms var(--eu-ease-out)}
html.eu-anim[dir="rtl"] .eu-reveal-mask:not(.is-in){clip-path:inset(0 0 0 100%)}
html.eu-anim .eu-stagger:not(.is-in)>*{opacity:0;transform:translateY(46px) scale(.978)}
html.eu-anim .eu-stagger.is-in>*{opacity:1;transform:none;
  transition:opacity 860ms var(--eu-ease-out),transform 860ms var(--eu-ease-out);
  transition-delay:calc(var(--eu-i,0) * 88ms)}
/* the image inside a revealed card settles out of a slow push-in */
html.eu-anim .eu-reveal img,html.eu-anim .eu-stagger img{will-change:transform}
html.eu-anim .eu-zoom{overflow:hidden}
html.eu-anim .eu-zoom>img:not(.is-in),html.eu-anim .eu-zoom picture:not(.is-in)>img{transform:scale(1.14)}
html.eu-anim .eu-zoom>img.is-in,html.eu-anim .eu-zoom picture.is-in>img{transform:none;
  transition:transform 1500ms var(--eu-ease-out)}
html:not(.eu-anim) .eu-preloader{display:none}
.eu-parallax{will-change:transform}

/* ---------------------------------------------------------------------
   19. ARABIC / RTL
   --------------------------------------------------------------------- */
html[lang="ar"] body,[dir="rtl"] body{font-family:"EU Arabic","Noto Sans Arabic",var(--eu-font);font-size:17px;line-height:1.9}
[dir="rtl"] h1,[dir="rtl"] h2,[dir="rtl"] h3,[dir="rtl"] h4,[dir="rtl"] h5,[dir="rtl"] h6{
  font-family:"EU Arabic Display","Noto Kufi Arabic","EU Arabic",sans-serif;font-weight:600;letter-spacing:0;line-height:1.42}
[dir="rtl"] .eu-hero__title{font-size:clamp(28px,3.5vw,50px);line-height:1.32;letter-spacing:0;max-width:800px}
[dir="rtl"] .eu-pagehero h1{font-size:clamp(25px,3vw,42px);line-height:1.36;letter-spacing:0;max-width:820px}
[dir="rtl"] .eu-display-1{font-size:clamp(29px,3.6vw,50px);line-height:1.34;letter-spacing:0}
[dir="rtl"] .eu-display-2{font-size:clamp(25px,2.9vw,40px);line-height:1.38;letter-spacing:0}
[dir="rtl"] .eu-display-3{font-size:clamp(20px,1.9vw,28px);line-height:1.45;letter-spacing:0}
[dir="rtl"] .eu-kicker{letter-spacing:0;font-size:12.5px;text-transform:none;font-weight:700}
[dir="rtl"] .eu-hero__text,[dir="rtl"] .eu-leadtext,[dir="rtl"] .eu-pagehero p{line-height:1.9;font-size:17.5px}
[dir="rtl"] p,[dir="rtl"] li{line-height:1.9}
[dir="rtl"] .eu-badge,[dir="rtl"] .eu-topbar__accred,[dir="rtl"] .eu-accredstrip__cell span,
[dir="rtl"] .eu-evidence__tag,[dir="rtl"] .eu-article__cat,[dir="rtl"] .eu-related a span,
[dir="rtl"] .eu-eeat div span,[dir="rtl"] .eu-footer h3,[dir="rtl"] .eu-table thead th{letter-spacing:0;text-transform:none;font-size:12px}
[dir="rtl"] .eu-btn{font-size:15px;font-weight:600}
[dir="rtl"] .main-menu .main-menu__list>li>a{font-size:15.5px;padding-inline:11px}
@media (max-width:1700px){
  .main-menu .main-menu__list>li>a{padding-inline:10px;font-size:14px}
  [dir="rtl"] .main-menu .main-menu__list>li>a{padding-inline:9px;font-size:14.5px}
  .eu-header-cta .eu-btn--cta{padding:0 18px;font-size:13.5px}
  .main-header__logo img{height:48px;max-width:200px}
}
@media (max-width:1440px){
  .main-menu .main-menu__list>li>a{padding-inline:8px;font-size:13.5px}
  [dir="rtl"] .main-menu .main-menu__list>li>a{padding-inline:7px;font-size:14px}
  .main-header__logo img{height:44px;max-width:182px}
  .eu-header-cta .eu-btn--cta{padding:0 15px;font-size:13px}
}
@media (max-width:1320px){
  .main-menu .main-menu__list>li>a{padding-inline:6.5px;font-size:13px}
  [dir="rtl"] .main-menu .main-menu__list>li>a{padding-inline:6px;font-size:13.5px}
  .main-header__logo img{height:40px;max-width:166px}
}
[dir="rtl"] .eu-hero__grid,[dir="rtl"] .eu-marquee{direction:ltr}
[dir="rtl"] .eu-marquee__item{direction:rtl}
[dir="rtl"] .eu-steps li::before{font-family:var(--eu-font)}
[dir="rtl"] .eu-decision__num,[dir="rtl"] .eu-timeline__date,[dir="rtl"] .eu-metric strong,
[dir="rtl"] .eu-split__stat strong,[dir="rtl"] .eu-record__year{font-family:var(--eu-font)}
bdi,.eu-ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
[dir="rtl"] .eu-mega>ul{direction:rtl}
[dir="rtl"] .eu-split__media::after{inset-inline-end:auto;inset-inline-start:-16px;border-inline-end:0;border-inline-start:1px solid var(--eu-line-2)}

/* ---------------------------------------------------------------------
   20. RESPONSIVE
   --------------------------------------------------------------------- */
@media (max-width:1399px){
  :root{--eu-container:1160px}
  .eu-hero__slide{min-height:600px}
}
@media (max-width:1199px){
  :root{--eu-sec:84px;--eu-sec-tight:60px;--eu-sec-air:112px}
  .main-menu .main-menu__list>li>a{padding-inline:9px;font-size:13.5px}
  .eu-header-cta .eu-btn{padding:0 16px;font-size:13.5px}
  .eu-grid--4{grid-template-columns:repeat(2,1fr)}
  .eu-metrics{grid-template-columns:repeat(2,1fr)}
  .eu-metric:nth-child(2n){border-inline-end:0}
  .eu-metric:nth-child(-n+2){border-bottom:1px solid var(--eu-line)}
  .eu-split{gap:44px}
  .eu-accredstrip__inner{grid-template-columns:repeat(2,1fr)}
  .eu-accredstrip__cell{border-bottom:1px solid var(--eu-line)}
  .eu-accredstrip__cell:nth-child(2n){border-inline-end:0}
  .eu-related{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:991px){
  .eu-topbar__std,.eu-topbar__links .eu-hide-md{display:none}
  .eu-topbar__inner{gap:14px}
  .eu-topbar{font-size:11.5px}
  .main-header__inner{min-height:76px}
  .main-header__logo img{height:44px;max-width:196px}
  .eu-nav .main-menu,.eu-header-cta .eu-apply{display:none}
  .eu-burger{display:flex}
  .eu-hero__slide{min-height:auto;padding-block:82px 96px}
  .eu-hero__title{font-size:clamp(30px,5.2vw,42px)}
  .eu-accredstrip{margin-top:-30px}
  .eu-split,.eu-band__grid,.eu-compare,.eu-cta__inner{grid-template-columns:1fr;gap:36px}
  .eu-split--flip .eu-split__media{order:0}
  .eu-split__stat{position:static;margin-top:-40px;margin-inline-start:18px;max-width:none;width:calc(100% - 36px)}
  .eu-grid--3{grid-template-columns:repeat(2,1fr)}
  .eu-steps--split{columns:1}
  .eu-stepslayout{grid-template-columns:1fr;gap:36px}
  .eu-stepslayout__head{position:static}
  .eu-chain{grid-template-columns:1fr;gap:34px}
  .eu-chain__step{padding:0}
  .eu-chain__step::before{inset-inline-end:auto;inset-inline-start:27px;top:56px;bottom:-34px;width:1px;height:auto}
  .eu-chain__step:last-child::before{display:none}
  .eu-timeline li{grid-template-columns:1fr;gap:10px}
  .eu-pagehero{min-height:300px}
  .eu-pagehero__inner{padding-block:52px}
  .eu-footer__grid{grid-template-columns:1fr;gap:34px}
  .eu-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
  .eu-footer__brand{grid-column:1/-1}
  .eu-result dl{grid-template-columns:1fr}
  .eu-result dt{margin-top:8px}
}
@media (max-width:767px){
  :root{--eu-sec:64px;--eu-sec-tight:48px;--eu-sec-air:84px;--eu-gutter:18px}
  body{font-size:16px}
  .eu-hero__slide{padding-block:64px 84px}
  .eu-hero__text{font-size:16.5px}
  .eu-hero .owl-dots{inset-inline-end:auto;inset-inline-start:var(--eu-gutter);bottom:30px}
  .eu-hero__index{display:none}
  .eu-hero__trust{font-size:12px;gap:8px 12px}
  .eu-hero__trust span+span::before{display:none}
  .eu-accredstrip{margin-top:0;padding-top:0}
  .eu-accredstrip__inner{grid-template-columns:1fr}
  .eu-accredstrip__cell{border-inline-end:0}
  .eu-accredstrip__cell:last-child{border-bottom:0}
  .eu-grid,.eu-grid--2,.eu-grid--3,.eu-grid--4,.eu-related{grid-template-columns:1fr}
  .eu-metrics{grid-template-columns:1fr}
  .eu-metric{border-inline-end:0;border-bottom:1px solid var(--eu-line)}
  .eu-metric:last-child{border-bottom:0}
  .eu-fields{grid-template-columns:1fr}
  .eu-formcard,.eu-tool__body{padding:24px 20px}
  .eu-tool__head{padding:22px 20px}
  .eu-tool__row{grid-template-columns:1fr}
  .eu-section-head{margin-bottom:36px}
  .eu-pagehero{min-height:280px}
  .eu-pagehero__frame{inset:10px}
  .eu-pagehero h1{font-size:clamp(26px,7vw,34px)}
  .eu-pagehero p{font-size:16px}
  .eu-steps li{padding-inline-start:60px}
  [dir="rtl"] .eu-steps li{padding-inline-start:0;padding-inline-end:60px}
  .eu-steps li::before{width:40px;height:40px;font-size:12px}
  .eu-steps::before,.eu-steps__progress{inset-inline-start:20px}
  .eu-doclist li{grid-template-columns:1fr;gap:12px}
  .eu-band__inner{padding-block:70px}
  .eu-cta__inner{padding-block:58px}
  .eu-float{inset-inline-end:14px;bottom:14px}
  .eu-whatsapp{width:52px;height:52px;font-size:24px}
  .eu-statuspanel{padding:26px 22px}
  .eu-quote{padding:22px 22px;font-size:19px}
  .eu-footer__grid{grid-template-columns:1fr}
  /* folded: one column of disclosures, contact and accreditation stay open */
  body.eu-foot-folded .eu-footer__cols{grid-template-columns:1fr;gap:0}
  body.eu-foot-folded .eu-footer__col{border-bottom:1px solid rgba(255,255,255,.10)}
  body.eu-foot-folded .eu-footer__col h3{margin:0;padding:0}
  body.eu-foot-folded .eu-footer__col h3::after{display:none}
  body.eu-foot-folded .eu-footer__fold{display:flex;align-items:center;justify-content:space-between;
    width:100%;padding:15px 0;background:none;border:0;color:#fff;cursor:pointer;
    font:inherit;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:start}
  [dir="rtl"] body.eu-foot-folded .eu-footer__fold{letter-spacing:0;text-transform:none;font-size:13.5px}
  body.eu-foot-folded .eu-footer__fold i{color:var(--eu-green-300);font-size:12px;transition:transform .3s ease}
  body.eu-foot-folded .eu-footer__col.is-open .eu-footer__fold i{transform:rotate(45deg)}
  body.eu-foot-folded .eu-footer__col ul{display:none;padding-bottom:14px}
  body.eu-foot-folded .eu-footer__col.is-open ul{display:block}
  /* the office details are the one thing a phone visitor most often wants */
  body.eu-foot-folded .eu-footer__col--contact ul{display:grid}
  body.eu-foot-folded .eu-footer__col--contact .eu-footer__fold{pointer-events:none}
  body.eu-foot-folded .eu-footer__col--contact .eu-footer__fold i{display:none}
  .eu-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .eu-footer__col--contact{grid-column:1 / -1}
  .eu-footer__top{padding-block:54px 40px}
  .eu-marquee{mask-image:none}
}

/* ---------------------------------------------------------------------
   21. REDUCED MOTION / PRINT
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .eu-reveal,.eu-stagger>*{opacity:1!important;transform:none!important}
  .eu-reveal-mask{clip-path:none!important}
  .eu-marquee__track{animation:none!important}
  .eu-hero__media img{transform:none!important}
  .custom-cursor__cursor,.custom-cursor__cursor-two{display:none!important}
}
@media print{
  .eu-topbar,.main-header,.stricky-header,.eu-float,.eu-footer__legal,.eu-preloader,.mobile-nav__wrapper{display:none!important}
  body{font-size:11pt;color:#000}
  .eu-pagehero{min-height:auto;background:#fff;color:#000}
  .eu-pagehero__media,.eu-pagehero__scrim,.eu-pagehero__frame{display:none}
  .eu-pagehero h1,.eu-pagehero p{color:#000}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
}

/* =====================================================================
   MOBILE ERGONOMICS (360 / 390 / 430)
   Touch targets and label sizes measured on device widths rather than
   assumed: standalone links were landing at 23-24px high and several
   label styles at 10-11.5px, both below what a thumb and an eye need.
   ===================================================================== */
@media (pointer:coarse){
  /* standalone links get a real target. Links inline in prose are left
     alone — WCAG 2.5.8 exempts them, and padding there breaks line rhythm. */
  .eu-footer__col li a,.eu-footer__strip a,.eu-footer__legal a,
  .eu-topbar__links a,.eu-mast__more,.eu-textlink,.eu-gov__link,
  .eu-related a,.eu-crumbs a,.eu-mnav a{
    min-height:44px;display:inline-flex;align-items:center}
  .eu-footer__contact li a{min-height:40px}
  /* link lists inside content sections are navigation too, not prose */
  .eu-checklist li a,.eu-list li a,.eu-selector__note a,.eu-sectors a,
  .eu-card a:not(.eu-btn),.eu-links a,.eu-grid li a{min-height:44px;display:inline-flex;align-items:center}
  .eu-topbar__icon{width:38px;height:38px}
  .eu-topbar__lang{min-width:46px;min-height:38px;display:inline-grid;place-items:center}
  /* the accordion row is the primary control on the FAQ pages */
  .eu-accordion__btn{min-height:52px}
}
@media (max-width:767px){
  /* no label below 12px: uppercase letterspaced type at 10px is not
     readable at arm's length on a phone */
  .eu-kicker,.eu-menu-head,.eu-steps__role,.eu-evidence__tag,
  .eu-topbar__accred,.eu-mast__pill,.eu-mast__eyebrow,.eu-mast__place,
  .eu-mast__seal__k,.eu-mast__seal__s,.eu-mast__seal__m,
  .eu-phero__card__k,.eu-footer__seal__k,
  .eu-footer__accred,.eu-chip,.eu-badge{font-size:12.5px}
  /* the RTL variants carry higher specificity and would otherwise win */
  [dir="rtl"] .eu-mast__seal__k,[dir="rtl"] .eu-phero__card__k,
  [dir="rtl"] .eu-mast__place,[dir="rtl"] .eu-mast__eyebrow,
  [dir="rtl"] .eu-mast__pill,[dir="rtl"] .eu-footer__seal__k{font-size:13px}
  .eu-mast__seal__k,.eu-mast__place,.eu-menu-head{letter-spacing:.10em}
  .eu-footer h3,.eu-footer__fold{font-size:12.5px}
}
