:root{
  --cma-navy:#102b41;
  --cma-ink:#0d1438;
  --cma-green:#d3d800;
  --cma-green-dark:#babf00;
  --cma-sage:#8fa3a0;
  --cma-heading:#183d39;
  --cma-heading-muted:#526d6a;
  --cma-cream:#fdf9f1;
  --cma-white:#fff;
  --cma-max:1920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color:var(--cma-ink);background:#fff;font-family:'Plus Jakarta Sans',Arial,sans-serif}
body{margin:0;background:#fff;color:var(--cma-ink)}
.wp-site-blocks{overflow:hidden;padding:0}
a{color:inherit;transition:color .2s ease,opacity .2s ease,text-decoration-color .2s ease}
img{max-width:100%;height:auto}

/* Original CMA marker / green jagged underline */
h1 strong,h2 strong,.cma-marker{position:relative;z-index:1;font-weight:400}
h1 strong:after,h2 strong:after,.cma-marker:after{
  content:"";display:block;position:absolute;z-index:-1;left:50%;bottom:-8px;transform:translateX(-50%);
  width:104%;height:0.36em;min-height:14px;max-height:28px;background:url('../img/cma-marker.svg') center/100% 100% no-repeat;
}

/* HEADER – based directly on .header-main in supplied CSS */
.cma-header{position:relative;z-index:20;background:var(--cma-navy);margin:0!important}
.cma-header__grid{display:grid;grid-template-columns:repeat(24,1fr);max-width:1920px;width:100%;margin:0 auto;padding:clamp(1.35rem,.75rem + 1.25vw,2.25rem) 0;background:var(--cma-navy)}
.cma-header__inner{grid-column:3/24;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;min-height:0!important}
.cma-header .wp-block-site-logo{margin:0}
.cma-header .wp-block-site-logo img{width:190px;max-height:none;height:auto;display:block}
.cma-header .wp-block-navigation{margin-left:auto;color:#fff}
.cma-header .wp-block-navigation__container{column-gap:clamp(1.2rem,.6667rem + 1.111vw,2rem)}
.cma-header .wp-block-navigation-item__content{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:clamp(.9rem,.5rem + .833vw,1.5rem);font-weight:400;color:#fff!important;text-decoration:none;padding:0;white-space:nowrap}
.cma-header .wp-block-navigation-item__content:hover{color:var(--cma-sage)!important}
.cma-header .current-menu-item>.wp-block-navigation-item__content{border:0;color:#fff!important}
.cma-header .wp-block-navigation__responsive-container-open,.cma-header .wp-block-navigation__responsive-container-close{color:#fff}
.cma-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--cma-navy);color:#fff;padding:2rem}

/* 24 column helpers */
.cma-grid24{display:grid;grid-template-columns:repeat(24,1fr);max-width:1920px;width:100%;margin-left:auto;margin-right:auto}

/* HERO */
.cma-hero{max-width:1920px;width:100%;margin:0 auto;background:var(--cma-navy);padding:clamp(4.275rem,2.375rem + 3.958vw,7.125rem) calc(2 * (100% / 24)) clamp(2.4rem,1.333rem + 2.222vw,4rem);position:relative;top:-1px}
.cma-hero>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
.cma-hero *{color:#fff}
.cma-hero h1,.cma-hero h2{max-width:680px;font-size:clamp(2.55rem,1.4167rem + 2.361vw,4.25rem);font-weight:300;line-height:1.1;letter-spacing:0;margin:0 0 clamp(.9rem,.5rem + .833vw,1.5rem)}
.cma-hero p{max-width:1130px;font-size:clamp(1.14rem,.6333rem + 1.056vw,1.9rem);line-height:1.3;font-weight:300;margin:0}

/* Hero banner with original navy/cream split */
.cma-hero-banner{position:relative;max-width:1920px;margin:0 auto;padding:0 calc(1 * (100% / 24));top:-2px;isolation:isolate}
.cma-hero-banner:before,.cma-hero-banner:after{content:"";position:absolute;left:0;width:100%;z-index:-1}
.cma-hero-banner:before{top:0;height:42%;background:var(--cma-navy)}
.cma-hero-banner:after{bottom:0;height:58%;background:var(--cma-cream)}
.cma-hero-banner .wp-block-cover,.cma-hero-banner figure{margin:0;width:100%}
.cma-hero-banner .wp-block-cover{min-height:0!important;aspect-ratio:1620/610}
.cma-hero-banner .wp-block-cover img{width:100%;height:100%;object-fit:cover}

/* TEXT PANEL / SERVICES – mirrors supplied .content--text-panel */
.cma-text-panel{display:grid;grid-template-columns:repeat(24,1fr);row-gap:3rem;max-width:1920px;margin:0 auto;background:var(--cma-cream);position:relative;top:-2px;padding:clamp(6.375rem,3.5417rem + 5.903vw,10.625rem) 0}
.cma-text-panel__intro{grid-column:3/12}
.cma-text-panel__intro h4,.cma-eyebrow{font-size:clamp(.75rem,.4167rem + .694vw,1.25rem);font-weight:800;line-height:1;opacity:.5;letter-spacing:1px;text-transform:uppercase;margin:0 0 clamp(.713rem,.3967rem + .659vw,1.1875rem)}
.cma-text-panel__intro h2{font-size:clamp(1.725rem,.9583rem + 1.597vw,2.875rem);font-weight:400;line-height:1.1;letter-spacing:0;margin:0 0 clamp(.9rem,.5rem + .833vw,1.5rem)}
.cma-text-panel__intro h2+h2{margin-top:0}
.cma-text-panel__intro .wp-block-buttons{margin-top:clamp(1.725rem,.9583rem + 1.597vw,2.875rem)}
.cma-text-panel__intro .wp-block-button__link{background:transparent!important;color:var(--cma-ink)!important;padding:0!important;border-radius:0!important;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.cma-service-grid{grid-column:13/23;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;background:transparent!important;border:0!important}
.cma-service-grid>.wp-block-group{flex-basis:calc((100% - 2rem)/2);max-width:380px;min-height:0!important;background:transparent!important;padding:0!important;border:0!important}
.cma-service-grid h3{font-size:clamp(1.425rem,.7917rem + 1.319vw,2.375rem);font-weight:400;line-height:1.13;margin:0 0 1rem}
.cma-service-grid p{font-size:clamp(.825rem,.4583rem + .764vw,1.375rem);line-height:1.27;margin:0}

/* Reusable section headings / events */
.cma-events{max-width:1920px;width:100%;margin:0 auto;padding:clamp(5.7rem,3.1667rem + 5.278vw,9.5rem) calc(2*(100%/24)) 0}
.cma-events__heading{text-align:center;max-width:1440px;margin:0 auto clamp(2.475rem,1.375rem + 2.292vw,4.125rem)}
.cma-events__heading h2{font-size:clamp(1.725rem,.9583rem + 1.597vw,2.875rem);font-weight:400;line-height:1.1;margin:0;color:var(--cma-heading)}
.cma-events__heading h2+h2{color:var(--cma-heading-muted)}
.cma-section{max-width:1920px;margin:0 auto;padding:clamp(4.2rem,2.333rem + 3.889vw,7rem) calc(2*(100%/24))}
.cma-display{font-size:clamp(1.725rem,.9583rem + 1.597vw,2.875rem)!important;font-weight:400!important;line-height:1.1!important;letter-spacing:0!important}

/* Article loops; same post type, presentation follows original event/news lists */
.cma-post-loop{margin:0 auto}
.cma-post-loop--termine,.cma-post-loop--projekte{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;text-align:center}
.cma-post-loop--termine .cma-card,.cma-post-loop--projekte .cma-card{flex-basis:calc((100% - 4rem)/3);max-width:370px;margin:0 auto;border:0;padding:0}
.cma-card__media{display:block;width:100%;aspect-ratio:400/266;overflow:hidden;margin:0 0 1rem}
.cma-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .2s ease}
.cma-card__media:hover img{opacity:.7;transform:none}
.cma-post-loop--termine .cma-card__meta,.cma-post-loop--projekte .cma-card__meta{font-size:clamp(.75rem,.4167rem + .694vw,1.25rem);font-weight:800;text-transform:uppercase;letter-spacing:0;margin:0}
.cma-post-loop--termine .cma-card__title,.cma-post-loop--projekte .cma-card__title{font-size:clamp(1.2rem,.6667rem + 1.111vw,2rem);font-weight:600;line-height:1;max-width:320px;margin:.2rem auto clamp(.825rem,.4583rem + .764vw,1.375rem)}
.cma-card__title a{text-decoration:none}
.cma-card__title a:hover{color:var(--cma-sage)}
.cma-card__excerpt{font-size:clamp(.825rem,.4583rem + .764vw,1.375rem);line-height:1.27}
.cma-card__more{display:inline-block;margin-top:clamp(.525rem,.2917rem + .486vw,.875rem);font-size:clamp(.825rem,.4583rem + .764vw,1.375rem);font-weight:600;opacity:.4;text-decoration:underline;text-underline-offset:2px}
.cma-card__more:hover{opacity:1;text-decoration-color:var(--cma-green)}

.cma-post-loop--presse{display:flex;gap:1.4rem;row-gap:2.5rem;flex-wrap:wrap;text-align:left}
.cma-post-loop--presse .cma-card{flex-basis:calc((100% - 4.2rem)/4);display:flex;flex-direction:column;border:0;padding:0}
.cma-post-loop--presse .cma-card__media{display:none}
.cma-post-loop--presse .cma-card__meta{font-size:.85rem;opacity:.55;margin-bottom:.4rem}
.cma-post-loop--presse .cma-card__title{font-size:clamp(.975rem,.5417rem + .903vw,1.625rem);font-weight:700;line-height:1;margin:0 0 clamp(.39rem,.2167rem + .361vw,.65rem)}
.cma-post-loop--presse .cma-card__excerpt{font-size:1.15rem;line-height:1.5rem;flex-grow:1}

/* Accordion aligned to original tab2accordion */
.cma-accordion{border:0}
.cma-accordion__item{border-bottom:1px solid rgba(13,20,56,.2)}
.cma-accordion__summary{cursor:pointer;list-style:none;position:relative;padding:1.25rem 3rem 1.25rem 0;font-size:clamp(1.1rem,.7rem + .8vw,1.75rem);font-weight:600}
.cma-accordion__summary::-webkit-details-marker{display:none}
.cma-accordion__summary:before{content:"";position:absolute;right:0;top:50%;width:1.5rem;height:1.5rem;transform:translateY(-50%);background:linear-gradient(var(--cma-green),var(--cma-green)) center/100% 3px no-repeat,linear-gradient(var(--cma-green),var(--cma-green)) center/3px 100% no-repeat;transition:transform .2s}
.cma-accordion__item[open]>.cma-accordion__summary:before{background:linear-gradient(var(--cma-green),var(--cma-green)) center/100% 3px no-repeat}
.cma-accordion__summary:after{display:none}
.cma-accordion__panel{padding:0 8% 1.75rem 0;font-size:clamp(.825rem,.4583rem + .764vw,1.375rem)}

/* FOOTER – close to original */
.cma-footer{max-width:1920px;width:100%;margin:clamp(4.575rem,2.5417rem + 4.236vw,7.625rem) auto 0!important;background:var(--cma-navy);color:#fff;padding:0!important}
.cma-footer__top{display:flex;justify-content:space-between;padding:clamp(2.775rem,1.5417rem + 2.569vw,4.625rem) calc(1*(100%/22)) clamp(1.8rem,1rem + 1.667vw,3rem);gap:3rem}
.cma-footer__contact{flex-grow:1;padding-top:clamp(1.35rem,.75rem + 1.25vw,2.25rem)}
.cma-footer__contact p{color:#fff;text-transform:uppercase;font-size:clamp(.9rem,.5rem + .833vw,1.5rem);line-height:1;font-weight:700;margin:.4rem 0}
.cma-footer__contact p+p{color:#748b88;text-transform:none;font-weight:500}
.cma-footer__contact a{color:var(--cma-green);font-size:clamp(1.013rem,.5633rem + .937vw,1.6875rem);font-weight:500}
.cma-footer__claim{display:flex;flex-direction:column;align-items:flex-end;gap:clamp(2.4rem,1.333rem + 2.222vw,4rem)}
.cma-footer__claim h2{color:#fff;font-size:clamp(1.912rem,1.0617rem + 1.772vw,3.1875rem);max-width:480px;text-align:right;margin:0}
.cma-footer__claim .wp-block-navigation-item__content{font-size:1.25rem;font-weight:500;color:#fff!important}
.cma-footer__bottom{border:0!important;padding:0 calc(1*(100%/22)) 2rem!important;margin:0!important;color:#fff;opacity:.55}

/* Content / legal pages */
.cma-single-hero{max-width:1920px;margin:0 auto;padding:clamp(4rem,7vw,7rem) calc(2*(100%/24)) 3rem}
.cma-single-hero .wp-block-post-title{font-size:clamp(2.55rem,1.4167rem + 2.361vw,4.25rem);font-weight:300}
.cma-content{max-width:1920px;margin:0 auto;padding:0 calc(2*(100%/24));font-size:1.08rem}
.cma-content>*{max-width:1100px;margin-left:0;margin-right:auto}
.cma-content>.alignwide{max-width:calc(20*(100%/24))}.cma-content>.alignfull{max-width:none}

@media(max-width:1024px){
  .cma-header__inner{grid-column:2/24}.cma-header .wp-block-site-logo img{width:min(40vw,190px)}
  .cma-text-panel__intro{grid-column:3/23}.cma-service-grid{grid-column:3/23}
}
@media(max-width:900px){
  .cma-post-loop--presse .cma-card{flex-basis:calc((100% - 2.8rem)/3)}
}
@media(max-width:768px){
  .cma-hero,.cma-events,.cma-section,.cma-content,.cma-single-hero{padding-left:calc(1*(100%/24));padding-right:calc(1*(100%/24))}
  .cma-hero-banner{padding-left:calc(1*(100%/24));padding-right:calc(1*(100%/24))}
  .cma-text-panel__intro,.cma-service-grid{grid-column:2/24}
  .cma-footer__top{flex-direction:column}.cma-footer__claim{align-items:flex-start}.cma-footer__claim h2{text-align:left}
}
@media(max-width:730px){
  .cma-post-loop--termine .cma-card,.cma-post-loop--projekte .cma-card{flex-basis:calc((100% - 2rem)/2)}
}
@media(max-width:600px){.cma-post-loop--presse .cma-card{flex-basis:calc((100% - 1.4rem)/2)}}
@media(max-width:500px){.cma-service-grid{gap:3rem}.cma-service-grid>.wp-block-group{flex-basis:100%;max-width:300px}}
@media(max-width:480px){
  .cma-post-loop--termine .cma-card,.cma-post-loop--projekte .cma-card{flex-basis:100%;max-width:320px}
  .cma-post-loop--presse .cma-card{flex-basis:100%}
  .cma-events{padding-top:clamp(3.6rem,2rem + 3.333vw,6rem)}
}
