
:root {
  --teu-blue:#052b78;
  --teu-blue-deep:#021e5a;
  --teu-yellow:#ffcc00;
  --teu-ink:#0a215b;
  --teu-pale:#eef4ff;
  --teu-border:#d7e3f7;
  --teu-shadow:0 12px 30px rgba(2,30,90,.12);
  --teu-radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--teu-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--teu-blue);text-underline-offset:3px}
img{max-width:100%;height:auto}
.site-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(8px);border-bottom:1px solid var(--teu-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:82px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--teu-blue);font-weight:900;flex:0 0 auto}
.brand .custom-logo-link{display:flex;align-items:center}
.brand .custom-logo{display:block;width:auto;max-width:190px;max-height:58px}
.brand-mark{width:38px;height:38px;border-radius:50%;background:var(--teu-blue);display:grid;place-items:center;color:var(--teu-yellow);font-weight:900}
.brand-name{font-size:1.05rem;line-height:1.05;text-transform:uppercase}
.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--teu-blue);cursor:pointer}
.site-nav{margin-left:auto}
.primary-menu,.footer-menu{display:flex;gap:.2rem;list-style:none;padding:0;margin:0;align-items:center}
.primary-menu>li{position:relative}
.primary-menu>li>a{display:block;padding:.8rem .68rem;color:var(--teu-blue);font-weight:800;text-decoration:none;font-size:.88rem;white-space:nowrap;border-radius:7px}
.primary-menu>li>a:hover,.primary-menu>li>a:focus,.primary-menu>.current-menu-item>a,.primary-menu>.current-menu-ancestor>a{background:var(--teu-pale);color:var(--teu-blue-deep)}
.primary-menu .menu-item-has-children>a::after{content:" ▾";font-size:.72em}
.primary-menu .sub-menu{
  display:none;position:absolute;left:0;top:100%;z-index:1000;
  min-width:230px;margin:0;padding:.45rem;list-style:none;
  background:#fff;border:1px solid var(--teu-border);border-radius:10px;
  box-shadow:0 12px 28px rgba(2,30,90,.15)
}
.primary-menu .sub-menu .sub-menu{left:100%;top:-.45rem}
.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}
.primary-menu .sub-menu a{display:block;padding:.62rem .72rem;color:var(--teu-blue);font-size:.86rem;font-weight:750;line-height:1.25;text-decoration:none;border-radius:6px;white-space:normal}
.primary-menu .sub-menu a:hover,.primary-menu .sub-menu a:focus{background:var(--teu-pale)}
.primary-menu>li:last-child>a{background:var(--teu-yellow);color:var(--teu-blue-deep);padding:.7rem .9rem;margin-left:.3rem}
.primary-menu>li:last-child>a:hover,.primary-menu>li:last-child>a:focus{background:#f2c200}
.site-main{min-height:60vh}
.content-wrap{width:min(900px,calc(100% - 32px));margin:2rem auto 4rem}
.entry-header h1,.archive-header h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1;color:var(--teu-blue);margin:.3rem 0 1rem}
.entry-content{font-size:1.04rem}
.entry-content h2,.entry-content h3{color:var(--teu-blue)}
.post-card{border:1px solid var(--teu-border);border-radius:var(--teu-radius);padding:1.25rem;margin-bottom:1rem;background:#fff}
.post-card h2{margin:.2rem 0 .5rem}
.post-meta{font-size:.85rem;color:#5c6a86}
.site-footer{background:var(--teu-blue-deep);color:#fff;padding:2.5rem 0;margin-top:3rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}
.footer-menu{flex-wrap:wrap}
.footer-small{margin-top:1.5rem;color:#d9e3ff;font-size:.85rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}

/* Homepage */
.teu-home{width:min(1180px,calc(100% - 32px));margin:1.25rem auto 3rem}
.teu-hero{background:radial-gradient(circle at 12% 12%,rgba(255,204,0,.13),transparent 23rem),linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid var(--teu-border);border-radius:18px;box-shadow:var(--teu-shadow);overflow:hidden;padding:clamp(1.25rem,3vw,3rem)}
.teu-hero-grid{align-items:center;display:grid;gap:clamp(1.5rem,3vw,3rem);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}
.teu-kicker{color:#d49d00;font-size:.9rem;font-weight:850;letter-spacing:.08em;margin:0 0 .5rem;text-transform:uppercase}
.teu-title{color:var(--teu-blue);font-size:clamp(2.4rem,5.3vw,5.2rem);font-weight:950;letter-spacing:-.045em;line-height:.94;margin:0 0 1rem;text-transform:uppercase}
.teu-subtitle{font-size:clamp(1.08rem,2vw,1.55rem);font-weight:800;max-width:48rem;text-transform:uppercase}
.teu-accent{color:#d49d00}
.teu-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.teu-btn{align-items:center;background:var(--teu-yellow);border:2px solid var(--teu-yellow);border-radius:8px;color:var(--teu-blue-deep)!important;display:inline-flex;font-weight:900;gap:.5rem;justify-content:center;padding:.8rem 1.1rem;text-decoration:none!important}
.teu-btn--ghost{background:transparent;border-color:var(--teu-blue);color:var(--teu-blue)!important}
.teu-flag-wrap{display:grid;place-items:center;min-height:300px}
.teu-flag{filter:drop-shadow(0 15px 18px rgba(2,30,90,.16));width:min(100%,510px)}
.teu-impact-row{display:grid;gap:1rem;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);margin-top:1rem}
.teu-stat-card{background:linear-gradient(145deg,var(--teu-blue),var(--teu-blue-deep));color:#fff;border-radius:16px;padding:clamp(1.25rem,2.5vw,2rem)}
.teu-stat-label{font-size:1rem;font-weight:850;margin:0;text-transform:uppercase}
.teu-stat-main{align-items:baseline;display:flex;flex-wrap:wrap;gap:.6rem;margin:.15rem 0 .3rem}
.teu-stat-number{color:var(--teu-yellow);font-size:clamp(4rem,9vw,7.5rem);font-weight:950;letter-spacing:-.06em;line-height:.9}
.teu-stat-copy{font-size:clamp(1.6rem,3.2vw,2.8rem);font-weight:900;line-height:.95;text-transform:uppercase}
.teu-stat-foot{color:var(--teu-yellow);font-weight:850;text-transform:uppercase}
.teu-panel{background:#fff;border:1px solid var(--teu-border);border-radius:16px;padding:clamp(1.15rem,2.5vw,1.75rem)}
.teu-section-title{color:var(--teu-blue);font-size:clamp(1.45rem,2.5vw,2.1rem);font-weight:900;line-height:1.05;margin:0 0 1rem;text-align:center;text-transform:uppercase}
.teu-barriers{display:grid;gap:.85rem;grid-template-columns:repeat(5,minmax(0,1fr))}
.teu-barrier{text-align:center}.teu-icon{display:block;margin:0 auto .55rem;width:72px}.teu-barrier strong{display:block;font-size:.9rem;text-transform:uppercase}.teu-barrier span{display:block;font-size:.82rem;margin-top:.35rem}
.teu-economy{background:var(--teu-pale);border:1px solid var(--teu-border);border-radius:16px;display:grid;grid-template-columns:1fr 1fr 1.25fr;margin-top:1rem;overflow:hidden}
.teu-econ-item{align-items:center;display:grid;gap:.8rem;grid-template-columns:74px 1fr;padding:1.4rem}.teu-econ-item+.teu-econ-item{border-left:1px solid #c7d6ef}.teu-econ-icon{width:70px}.teu-econ-value{color:var(--teu-blue);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:950;line-height:1}.teu-econ-label{font-size:.9rem;margin-top:.3rem}.teu-econ-note{background:var(--teu-blue);color:#fff;padding:1.5rem}.teu-econ-note strong{color:var(--teu-yellow)}
.teu-cta{align-items:center;background:linear-gradient(135deg,var(--teu-blue),var(--teu-blue-deep));border-radius:16px;color:#fff;display:grid;gap:1rem;grid-template-columns:1fr auto;margin-top:1rem;padding:clamp(1.35rem,3vw,2.4rem)}.teu-cta h2{color:#fff;font-size:clamp(2rem,4vw,3.8rem);font-weight:950;letter-spacing:-.035em;line-height:.95;margin:0;text-transform:uppercase}.teu-cta h2 span{color:var(--teu-yellow);display:block;font-size:.55em;margin-top:.45rem;letter-spacing:0}.teu-cta p{margin:.75rem 0 0;max-width:45rem}
.teu-bottom-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.teu-bottom-card{background:#fff;border:1px solid var(--teu-border);border-radius:14px;padding:1.25rem}.teu-bottom-card h3{color:var(--teu-blue);font-size:1.15rem;font-weight:900;margin:0 0 .45rem;text-transform:uppercase}.teu-bottom-card p{margin:0 0 .7rem}.teu-text-link{font-weight:850}
.teu-source{color:#53627f;font-size:.78rem;margin:1rem .25rem 0;text-align:center}


@media(max-width:1120px) and (min-width:901px){
  .header-inner{gap:1rem}
  .brand .custom-logo{max-width:155px;max-height:50px}
  .primary-menu>li>a{font-size:.81rem;padding:.72rem .48rem}
}

@media(max-width:900px){
  .menu-toggle{display:block}.site-nav{display:none}.site-nav.is-open{display:block;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--teu-border);padding:1rem;max-height:calc(100vh - 82px);overflow:auto}.primary-menu{flex-direction:column;align-items:stretch;gap:.15rem}.primary-menu>li>a{padding:.72rem}.primary-menu .menu-item-has-children>a::after{content:""}.primary-menu .sub-menu,.primary-menu .sub-menu .sub-menu{display:block;position:static;box-shadow:none;border:0;border-left:3px solid var(--teu-border);border-radius:0;margin:.1rem 0 .45rem .75rem;padding:.1rem 0 .1rem .55rem;min-width:0}.primary-menu .sub-menu a{padding:.48rem .6rem}.primary-menu>li:last-child>a{margin-left:0}
  .teu-hero-grid,.teu-impact-row{grid-template-columns:1fr}.teu-barriers{grid-template-columns:repeat(3,1fr)}.teu-economy{grid-template-columns:1fr 1fr}.teu-econ-note{grid-column:1/-1}.teu-bottom-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .teu-home{width:min(100% - 18px,1180px)}.teu-hero{padding:1.05rem}.teu-barriers{grid-template-columns:1fr 1fr}.teu-economy{grid-template-columns:1fr}.teu-econ-item+.teu-econ-item{border-left:0;border-top:1px solid #c7d6ef}.teu-cta{grid-template-columns:1fr}.teu-actions .teu-btn,.teu-cta .teu-btn{width:100%}
}


/* Editable homepage / block-editor helpers */
.teu-home--editable > *:first-child{margin-top:0}
.teu-home--editable .wp-block-group.is-style-teu-hero,
.editor-styles-wrapper .wp-block-group.is-style-teu-hero{
  background:radial-gradient(circle at 12% 12%,rgba(255,204,0,.13),transparent 23rem),linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  border:1px solid var(--teu-border);
  border-radius:18px;
  box-shadow:var(--teu-shadow);
  padding:clamp(1.25rem,3vw,3rem);
}
.teu-home--editable .wp-block-group.is-style-teu-blue,
.editor-styles-wrapper .wp-block-group.is-style-teu-blue{
  background:linear-gradient(145deg,var(--teu-blue),var(--teu-blue-deep));
  color:#fff;
  border-radius:16px;
  padding:clamp(1.25rem,2.5vw,2rem);
}
.teu-home--editable .wp-block-group.is-style-teu-pale,
.editor-styles-wrapper .wp-block-group.is-style-teu-pale{
  background:var(--teu-pale);
  border:1px solid var(--teu-border);
  border-radius:16px;
  padding:clamp(1.25rem,2.5vw,2rem);
}
.teu-home--editable .wp-block-button__link{
  background:var(--teu-yellow);
  color:var(--teu-blue-deep);
  font-weight:900;
  border-radius:8px;
}
.teu-home--editable h1,
.teu-home--editable h2,
.teu-home--editable h3{color:var(--teu-blue)}
.teu-home--editable .has-eu-blue-background-color h1,
.teu-home--editable .has-eu-blue-background-color h2,
.teu-home--editable .has-eu-blue-background-color h3{color:#fff}
