/*
Theme Name: Persbureau Meter Premium
Theme URI: https://www.persbureaumeter.nl/
Author: Persbureau Meter
Description: Maatwerk WordPress-thema voor Persbureau Meter. Volledig responsive, instelbare blauwe huisstijlkleur, bewerkbare homepage en hoogwaardige iconenset gebaseerd op het goedgekeurde ontwerp.
Version: 2.6.0
Text Domain: persbureau-meter-premium
*/
:root{
  --brand:#3560FF;
  --brand-dark:#214AE6;
  --brand-rgb:53,96,255;
  --ink:#070b0f;
  --ink-2:#0b1117;
  --panel:#0e151b;
  --paper:#fff;
  --muted:#65717e;
  --line:#dfe4e8;
  --white:#fff;
  --wrap:1320px;
  --radius:4px;
  --shadow:0 12px 40px rgba(0,0,0,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
img,svg{display:block}
img{max-width:100%}
.svg-sprite{position:absolute;overflow:hidden}
.icon{width:1.25em;height:1.25em;fill:none;color:inherit;flex:0 0 auto;overflow:visible}
.icon--solid{fill:currentColor;stroke:currentColor}
.wrap{width:min(calc(100% - 72px),var(--wrap));margin-inline:auto}
.skip-link{position:fixed;z-index:9999;left:16px;top:-60px;background:#fff;padding:12px 16px;border-radius:4px;box-shadow:var(--shadow)}
.skip-link:focus{top:16px}

.top-strip{background:linear-gradient(90deg,var(--brand-dark),var(--brand));color:#fff;font-size:13px}
.top-strip__inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-strip__left{display:flex;align-items:center;gap:8px;white-space:nowrap}.top-strip__left .icon{width:15px;height:15px}
.top-strip__right{font-size:12px;opacity:.95;text-align:right}
.site-header{position:sticky;top:0;z-index:100;background:rgba(5,9,13,.98);border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(16px)}
.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:inline-flex;align-items:center;gap:15px;color:#fff;flex:0 0 auto}
.brand__mark{width:58px;height:58px}
.brand__words{display:grid;line-height:.95}.brand__words span{font-size:19px;font-weight:750;letter-spacing:-.02em}.brand__words strong{font-size:34px;letter-spacing:-.045em}
.primary-nav{display:flex;align-items:stretch;align-self:stretch;gap:34px;color:#fff;font-weight:700;font-size:15px}
.primary-nav>a{position:relative;display:flex;align-items:center;white-space:nowrap;opacity:.94;transition:opacity .2s ease,color .2s ease}
.primary-nav>a:hover{opacity:1;color:#fff}
.primary-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.primary-nav>a:hover::after,.primary-nav>a.is-active::after{transform:scaleX(1)}
.search-button,.mobile-menu-button{border:0;background:transparent;color:#fff;cursor:pointer;padding:10px}
.search-button{display:grid;place-items:center;align-self:center}.search-button .icon{width:21px;height:21px}
.mobile-menu-button{display:none}.menu-close{display:none}

.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding-bottom:22px}
.hero__bg{position:absolute;inset:0 0 128px;background:var(--hero-image,url('assets/images/hero.webp')) center right/cover no-repeat;opacity:1}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,8,.95) 0%,rgba(2,5,8,.74) 34%,rgba(2,5,8,.16) 68%,rgba(2,5,8,.12) 100%)}
.hero__content{position:relative;z-index:1;min-height:460px;display:flex;align-items:center;padding-top:28px;padding-bottom:28px}
.hero__copy{max-width:640px}
.hero h1{margin:0 0 18px;font-size:clamp(64px,6vw,104px);line-height:.88;letter-spacing:-.055em;font-weight:900;text-transform:uppercase}
.brand-dot{color:var(--brand)}
.hero__copy p{max-width:610px;margin:0;color:rgba(255,255,255,.92);font-size:18px;line-height:1.48}
.hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:27px}
.button{min-height:54px;padding:0 26px;border:1px solid transparent;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease;white-space:nowrap}
.button:hover{transform:translateY(-2px)}
.button--primary{background:var(--brand);color:#fff}.button--primary:hover{background:var(--brand-dark)}.button--primary .icon{width:20px;height:20px}
.button--ghost{background:rgba(3,8,12,.4);border-color:rgba(255,255,255,.55);color:#fff}.button--ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.hero-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hero-card{min-width:0;display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:18px;padding:18px 20px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:linear-gradient(180deg,rgba(16,24,31,.92),rgba(9,15,20,.92));box-shadow:0 10px 35px rgba(0,0,0,.15)}
.hero-card h2{margin:0 0 5px;font-size:19px;letter-spacing:-.02em}.hero-card p{margin:0;color:rgba(255,255,255,.82);font-size:13.5px;line-height:1.42}
.circle-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 5px 16px rgba(var(--brand-rgb),.18)}
.circle-icon .icon{width:34px;height:34px;overflow:visible}

.section{padding:25px 0 28px;background:#fff}
.section-heading{margin-bottom:24px}.section-heading h2{position:relative;display:inline-block;margin:0;font-size:27px;line-height:1.1;letter-spacing:-.035em;font-weight:850}.section-heading h2::after{content:"";position:absolute;left:0;bottom:-10px;width:48px;height:3px;border-radius:3px;background:var(--brand)}
.services{border-bottom:1px solid var(--line)}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:66px;padding:4px 2px 0}
.service{min-width:0}.service__icon{width:48px;height:48px;color:var(--brand);margin-bottom:13px;overflow:visible}.service h3{margin:0 0 8px;font-size:17px;letter-spacing:-.02em}.service p{margin:0;color:#313a44;line-height:1.52;font-size:14px;max-width:245px}

.productions{padding-top:24px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.section-heading--row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.text-link{color:var(--brand);display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:14px;white-space:nowrap}.text-link .icon{width:17px;height:17px}
.productions-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.production-card{min-width:0}.production-card__image{display:block;overflow:hidden;border-radius:2px;aspect-ratio:16/9;background:#e6e8eb}.production-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.production-card:hover img{transform:scale(1.035)}
.production-card__meta{display:flex;align-items:center;gap:9px;margin:7px 0 5px;font-size:10px;color:#515b66;min-width:0}.tag{background:var(--brand);color:#fff;padding:3px 5px;font-size:9px;line-height:1;font-weight:800;white-space:nowrap}.production-card time{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.production-card h3{margin:0;font-size:14px;line-height:1.23;letter-spacing:-.018em}.production-card h3 a:hover{color:var(--brand)}

.redactions{background:#fbfcfd;border-bottom:1px solid var(--line)}
.redactions-grid{display:grid;grid-template-columns:1fr 1fr}
.redactions__left,.trust-card{padding:28px 0 30px}
.redactions__left{padding-right:56px;border-right:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:44px;align-items:center}
.trust-card{padding-left:56px}
.check-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.check-list li{display:flex;align-items:flex-start;gap:8px;font-size:14px}.check-list .icon{width:17px;height:17px;color:var(--brand);stroke-width:2.4;margin-top:1px}
.pers24-card{display:block}.pers24-logo{border:3px solid var(--brand);padding:11px 17px 8px;display:inline-flex;align-items:baseline;background:#fff;font-size:34px;line-height:1;letter-spacing:-.055em}.pers24-logo span{font-weight:750}.pers24-logo strong{color:var(--brand);font-weight:900}.pers24-card p{font-size:13px;line-height:1.45;margin:10px 0 0;color:#2d3338}
.trust-card blockquote{position:relative;margin:0 0 21px;padding-left:46px;font-style:italic;color:#303841;line-height:1.5;font-size:14px;max-width:630px}.trust-card blockquote::before{content:"“";position:absolute;left:0;top:-16px;font-family:Georgia,serif;font-size:58px;line-height:1;color:#3d444b;font-style:normal}
.experience{display:flex;align-items:center;gap:13px}.experience__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;font-size:25px;font-weight:900}.experience strong{display:block;font-size:16px}.experience small{display:block;margin-top:2px;color:#48525c}

.site-footer{background:#070c11;color:#fff;padding:30px 0 28px}.footer-grid{display:grid;grid-template-columns:1.35fr 1.1fr .8fr 1fr 1.35fr;gap:0}.footer-grid>div{min-width:0;padding:0 34px;border-left:1px solid rgba(255,255,255,.11)}.footer-grid>div:first-child{padding-left:0;border-left:0}.footer-grid>div:last-child{padding-right:0}
.brand--footer{gap:10px}.brand--footer .brand__mark{width:44px;height:44px}.brand--footer .brand__words span{font-size:14px}.brand--footer .brand__words strong{font-size:27px}
.footer-brand p,.footer-social p{color:rgba(255,255,255,.7);font-size:12.5px;line-height:1.5;margin:14px 0 9px}.footer-247{display:flex;align-items:center;gap:6px;font-size:12px}.footer-247 .icon{width:13px;height:13px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px}.footer-column h2{font-size:14px;margin:0 0 5px}.footer-column>a,.footer-column>span{color:rgba(255,255,255,.78);display:flex;align-items:center;gap:10px;min-width:0}.footer-column>a:hover{color:#fff}.footer-column .icon{width:16px;height:16px}.footer-column a span{overflow-wrap:anywhere}
.socials{display:flex;gap:9px;margin-top:4px}.socials a{width:29px;height:29px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center;color:#fff;font-size:14px}.socials a:hover{border-color:var(--brand);background:var(--brand)}.copyright{margin-top:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.68);font-size:12px;width:100%}

@media (max-width:1120px){
  .wrap{width:min(calc(100% - 42px),var(--wrap))}
  .primary-nav{gap:22px;font-size:14px}
  .brand__mark{width:52px;height:52px}.brand__words strong{font-size:30px}
  .hero__copy{max-width:570px}.hero h1{font-size:clamp(61px,7.2vw,86px)}
  .hero-card{grid-template-columns:54px minmax(0,1fr);gap:13px;padding:16px}.circle-icon{width:52px;height:52px}.circle-icon .icon{width:25px;height:25px}.hero-card h2{font-size:16px}.hero-card p{font-size:12.5px}
  .services-grid{gap:34px}
  .redactions__left{padding-right:32px;gap:28px}.trust-card{padding-left:32px}
  .footer-grid>div{padding:0 20px}
}

@media (max-width:900px){
  .top-strip__right{display:none}
  .nav-wrap{min-height:72px}
  .mobile-menu-button{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(255,255,255,.14);border-radius:4px}
  body.menu-open .menu-open{display:none}body.menu-open .menu-close{display:block}
  .primary-nav{position:absolute;z-index:120;top:100%;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;padding:14px 21px 24px;background:#070c11;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:0;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;box-shadow:0 20px 40px rgba(0,0,0,.35)}
  body.menu-open .primary-nav{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .primary-nav>a{min-height:52px;border-bottom:1px solid rgba(255,255,255,.08)}.primary-nav>a::after{display:none}.search-button{display:none}
  .hero__bg{inset:0 0 245px;background-position:62% center}.hero__bg::after{background:linear-gradient(90deg,rgba(2,5,8,.96) 0%,rgba(2,5,8,.77) 52%,rgba(2,5,8,.22) 100%)}
  .hero__content{min-height:430px}.hero__copy{max-width:560px}.hero__copy p{font-size:16px}
  .hero-cards{grid-template-columns:1fr;max-width:720px}.hero-card{grid-template-columns:58px minmax(0,1fr)}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 50px}.service p{max-width:360px}
  .productions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}
  .redactions-grid{grid-template-columns:1fr}.redactions__left{border-right:0;border-bottom:1px solid var(--line);padding-right:0}.trust-card{padding-left:0}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.footer-grid>div{padding-left:24px;border-left:1px solid rgba(255,255,255,.11)}.footer-grid>div:nth-child(odd){padding-left:0;border-left:0}.footer-grid>div:last-child{padding-right:0}
}

@media (max-width:620px){
  :root{--radius:5px}
  .wrap{width:min(calc(100% - 32px),var(--wrap))}
  .top-strip__inner{height:34px}.top-strip{font-size:12px}
  .nav-wrap{min-height:68px}.brand{gap:10px}.brand__mark{width:44px;height:44px}.brand__words span{font-size:14px}.brand__words strong{font-size:26px}.primary-nav{top:100%;max-height:calc(100vh - 68px)}
  .hero{padding-bottom:16px}.hero__bg{inset:0 0 324px;background-position:67% center}.hero__bg::after{background:linear-gradient(90deg,rgba(2,5,8,.95) 0%,rgba(2,5,8,.82) 62%,rgba(2,5,8,.32) 100%)}
  .hero__content{min-height:420px;align-items:flex-end;padding-top:48px;padding-bottom:34px}.hero h1{font-size:clamp(50px,15vw,72px);line-height:.9;margin-bottom:16px}.hero__copy p{font-size:15px;line-height:1.45;max-width:470px}
  .hero__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}.button{width:100%;min-width:0;white-space:normal;text-align:center}
  .hero-cards{gap:9px}.hero-card{grid-template-columns:52px minmax(0,1fr);padding:14px 14px;gap:13px}.circle-icon{width:50px;height:50px}.hero-card h2{font-size:16px}.hero-card p{font-size:12px}
  .section{padding:25px 0}.section-heading{margin-bottom:27px}.section-heading h2{font-size:25px}.section-heading h2::after{bottom:-9px}
  .services-grid{grid-template-columns:1fr;gap:29px}.service{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:15px;align-items:start}.service__icon{grid-row:1/3;margin:0;width:38px;height:38px}.service h3{margin:2px 0 5px}.service p{font-size:13.5px;max-width:none}
  .section-heading--row{align-items:flex-end}.section-heading--row .text-link{font-size:0;gap:0}.section-heading--row .text-link::before{content:"Alles";font-size:13px}.section-heading--row .text-link .icon{margin-left:5px}
  .productions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.production-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:42% minmax(0,1fr);column-gap:12px;align-items:start}.production-card:last-child .production-card__image{grid-row:1/3}.production-card:last-child .production-card__meta{margin-top:0}.production-card:last-child h3{font-size:14px}
  .redactions__left{grid-template-columns:1fr;gap:28px}.pers24-card{max-width:280px}.trust-card blockquote{padding-left:40px}
  .footer-grid{grid-template-columns:1fr}.footer-grid>div,.footer-grid>div:nth-child(odd){padding:22px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.11)}.footer-grid>div:first-child{padding-top:0;border-top:0}.footer-column{gap:9px}.footer-social{padding-bottom:4px!important}
}

@media (max-width:390px){
  .wrap{width:min(calc(100% - 24px),var(--wrap))}
  .brand__words strong{font-size:24px}.brand__words span{font-size:13px}.brand__mark{width:41px;height:41px}
  .hero h1{font-size:48px}.hero__copy p{font-size:14px}
  .production-card h3{font-size:13px}.tag{font-size:8px}.production-card__meta{gap:5px}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* WordPress menu compatibility while preserving the exact header geometry. */
.primary-nav>li{list-style:none;display:flex;align-items:stretch;margin:0;padding:0}
.primary-nav>li>a{position:relative;display:flex;align-items:center;white-space:nowrap;opacity:.94;transition:opacity .2s ease,color .2s ease}
.primary-nav>li>a::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.primary-nav>li>a:hover::after,.primary-nav>li.current-menu-item>a::after{transform:scaleX(1)}
.brand__custom-logo{display:block;max-width:190px;max-height:60px;width:auto;height:auto}
@media (max-width:900px){
  .primary-nav>li{display:block}
  .primary-nav>li>a{min-height:52px;border-bottom:1px solid rgba(255,255,255,.08)}
  .primary-nav>li>a::after{display:none}
}


/* --- Premium interaction + editing refinements --- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-actions{display:none;align-items:center;gap:8px;margin-left:auto}
.search-button--mobile{display:none}
.site-search{position:absolute;z-index:115;top:100%;left:0;right:0;background:#0a1016;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px rgba(0,0,0,.32)}
.site-search[hidden]{display:none}
.site-search__inner{padding-top:18px;padding-bottom:18px}
.site-search__form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;max-width:900px;margin-inline:auto;padding:7px 7px 7px 18px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:#111922;color:#fff}
.site-search__icon{width:21px;height:21px;color:rgba(255,255,255,.72)}
.site-search__form input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#fff;font-size:17px;padding:11px 0}
.site-search__form input::placeholder{color:rgba(255,255,255,.5)}
.site-search__submit{min-height:44px;padding-inline:20px}
body.search-open .site-header{box-shadow:0 18px 45px rgba(0,0,0,.22)}

/* SVG geometry stays sharp and does not inherit accidental raster effects. */
.icon{shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}
.circle-icon .icon,.service__icon{filter:none}
.service__icon{color:var(--brand)}
.socials .icon{width:15px;height:15px}
.socials a{line-height:0}

/* Full custom logos may be wider than the fallback mark+text. */
.brand__custom-logo{display:block;max-width:250px;max-height:62px;width:auto;height:auto;object-fit:contain}
.brand__custom-logo--footer{max-width:210px;max-height:54px}

/* Safe button sizing: never allow labels/icons to overlap. */
.button{max-width:100%;line-height:1.15;text-align:center}
.button span{min-width:0}
.button .icon{flex:0 0 auto}
.hero__actions{align-items:stretch}

/* Inner WordPress pages use the same visual language. */
.content-shell{padding:54px 0 70px;background:#fff}
.content-shell__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:58px;align-items:start}
.content-title{font-size:clamp(38px,5vw,66px);line-height:.96;letter-spacing:-.045em;margin:0 0 22px}
.content-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:13px;margin-bottom:20px}
.entry-content{font-size:17px;line-height:1.72;color:#1f2932}
.entry-content>*:first-child{margin-top:0}.entry-content img{height:auto;border-radius:5px}
.entry-content a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
.entry-content h2,.entry-content h3{color:var(--ink);letter-spacing:-.025em;line-height:1.12;margin-top:1.7em}
.post-hero-image{margin:0 0 30px;border-radius:6px;overflow:hidden;background:#e8edf2}.post-hero-image img{width:100%;height:auto}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
.archive-card{min-width:0}.archive-card__image{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:5px;background:#e7ecf1;margin-bottom:12px}.archive-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.archive-card:hover .archive-card__image img{transform:scale(1.025)}
.archive-card h2{font-size:20px;line-height:1.18;letter-spacing:-.025em;margin:7px 0}.archive-card p{color:#56616c;line-height:1.55;margin:0;font-size:14px}
.pagination,.nav-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:36px}.page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:4px}.page-numbers.current,.page-numbers:hover{background:var(--brand);border-color:var(--brand);color:#fff}

@media (max-width:900px){
  .header-actions{display:flex}
  .search-button--mobile{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:4px;color:#fff;background:transparent;cursor:pointer}
  .search-button--desktop{display:none!important}
  .nav-wrap{position:relative}
  .content-shell__grid{grid-template-columns:1fr;gap:35px}
  .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand__custom-logo{max-width:210px;max-height:54px}
}
@media (max-width:620px){
  .header-actions{gap:6px}
  .search-button--mobile,.mobile-menu-button{width:42px;height:42px}
  .site-search__inner{padding-top:12px;padding-bottom:12px}
  .site-search__form{grid-template-columns:auto minmax(0,1fr);padding:8px 12px;gap:10px}
  .site-search__submit{grid-column:1/-1;width:100%;margin-top:2px}
  .site-search__form input{font-size:16px}
  .brand__custom-logo{max-width:175px;max-height:48px}
  .hero__actions .button{min-height:52px;padding:0 18px}
  .archive-grid{grid-template-columns:1fr}
  .content-shell{padding:38px 0 52px}
  .entry-content{font-size:16px}
}
@media (max-width:390px){
  .brand__custom-logo{max-width:150px;max-height:44px}
  .header-actions{gap:4px}
  .search-button--mobile,.mobile-menu-button{width:39px;height:39px;padding:8px}
}


/* v2.2 premium icon geometry */
.circle-icon .icon,.service__icon,.footer-column .icon,.site-search__icon,.search-button .icon{shape-rendering:geometricPrecision}
.service__icon{filter:drop-shadow(0 1px 0 rgba(0,0,0,.03))}
@media (max-width:620px){.service{grid-template-columns:48px minmax(0,1fr)}.service__icon{width:42px;height:42px}}


/* v2.3 approved icon artwork: high-resolution PNG alpha masks, recoloured by currentColor. */
.icon--mask{display:inline-block;background:currentColor;-webkit-mask-image:var(--pbm-icon-mask);mask-image:var(--pbm-icon-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;vertical-align:middle}
/* Mask icons already contain their optical padding; give service artwork a slightly larger box. */
.service__icon.icon--mask{width:52px;height:52px;margin-left:-2px}
.circle-icon .icon--mask{width:38px;height:38px}
.footer-column .icon--mask{width:18px;height:18px}
.search-button .icon--mask{width:22px;height:22px}
.socials .icon--mask{width:17px;height:17px}
@media (max-width:620px){.service__icon.icon--mask{width:44px;height:44px;margin-left:0}.circle-icon .icon--mask{width:30px;height:30px}}


/* v2.4 — icon framing + hard responsive overflow fixes */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* The approved artwork is stored on tightly cropped alpha canvases in v2.4.
   These boxes now show the COMPLETE artwork instead of scaling the old 512px
   transparent margins into the visible icon size. */
.icon--mask{
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
.service__icon.icon--mask{
  width:56px;
  height:48px;
  margin-left:0;
  margin-bottom:13px;
}
.circle-icon .icon--mask{width:38px;height:34px}

/* Grid children must always be allowed to shrink; no title/meta/image is
   permitted to create document-level horizontal scrolling. */
.productions,.productions .wrap,.productions-grid,.production-card,
.production-card__image,.production-card__meta,.production-card h3,
.production-card h3 a{min-width:0;max-width:100%}
.productions-grid{width:100%}
.production-card{overflow:hidden}
.production-card__meta{flex-wrap:wrap;row-gap:5px}
.production-card h3,.production-card h3 a{overflow-wrap:anywhere;word-break:normal}
.production-card__image img{display:block;max-width:none}

/* Switch away from five columns earlier. This is deliberately based on the
   available layout width rather than trying to squeeze five cards into a
   tablet/small-laptop viewport. */
@media (max-width:1180px){
  .productions-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 12px}
  .primary-nav{gap:18px}
  .nav-wrap{gap:24px}
}
@media (max-width:1020px){
  .mobile-menu-button{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(255,255,255,.14);border-radius:4px}
  .header-actions{display:flex}
  .search-button--mobile{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:4px;color:#fff;background:transparent;cursor:pointer}
  .search-button--desktop{display:none!important}
  .nav-wrap{position:relative}
  .primary-nav{position:absolute;z-index:120;top:100%;left:0;right:0;max-height:calc(100vh - 72px);overflow:auto;padding:14px 21px 24px;background:#070c11;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:0;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;box-shadow:0 20px 40px rgba(0,0,0,.35)}
  body.menu-open .primary-nav{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
  .primary-nav>a,.primary-nav>li>a{min-height:52px;border-bottom:1px solid rgba(255,255,255,.08)}
  .primary-nav>a::after,.primary-nav>li>a::after{display:none}
  .primary-nav>li{display:block}
  .primary-nav .search-button--desktop{display:none!important}
  body.menu-open .menu-open{display:none}
  body.menu-open .menu-close{display:block}
  .productions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:720px){
  .productions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
  .production-card:last-child{grid-column:auto;display:block}
  .production-card:last-child .production-card__image{grid-row:auto}
  .production-card:last-child .production-card__meta{margin-top:7px}
}
@media (max-width:620px){
  .service{grid-template-columns:54px minmax(0,1fr)}
  .service__icon.icon--mask{width:48px;height:42px;margin:0}
  .circle-icon .icon--mask{width:31px;height:29px}
}
@media (max-width:430px){
  .productions-grid{grid-template-columns:1fr;gap:24px}
  .production-card h3{font-size:15px}
}


/* v2.5 — clean demo artwork and tighter responsive card behavior */
.production-card__image{isolation:isolate}
.production-card__image img{
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center;
}
/* Never expose pixels from a neighbouring source image or card. */
.production-card__image{clip-path:inset(0 round 2px)}

/* Keep the heading/link comfortably inside the same row on medium screens. */
@media (max-width:760px){
  .section-heading--row{gap:14px}
  .section-heading--row h2{max-width:72%}
}
/* One proper full-width card on phones; two squeezed cards created the false
   impression of content falling out of the layout. */
@media (max-width:560px){
  .productions-grid{grid-template-columns:1fr;gap:26px}
  .production-card:last-child{grid-column:auto;display:block}
  .production-card__image{aspect-ratio:16/9}
  .production-card h3{font-size:16px;line-height:1.28}
  .production-card__meta{margin-top:8px}
}
@media (max-width:430px){
  .section-heading--row h2{max-width:68%}
}

/* v2.6 — icon masks re-extracted from the approved icon sheet with full safe margins to prevent clipping. */
