/*
Theme Name: Pen en Power
Description: Eigen theme voor secretaressenetwerk.nl (De Pen & De Power): weekagenda-hero, prioriteitenmatrix, agendablad per pagina.
Version: 1.0.3
Author: De Pen & De Power
Text Domain: penenpower
*/

@font-face{font-family:"Schibsted Grotesk";src:url(assets/fonts/schibsted-500-900-latin.woff2) format("woff2");font-weight:500 900;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:"Schibsted Grotesk";src:url(assets/fonts/schibsted-500-900-latin-ext.woff2) format("woff2");font-weight:500 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";src:url(assets/fonts/atkinson-400-latin.woff2) format("woff2");font-weight:400;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:"Atkinson Hyperlegible";src:url(assets/fonts/atkinson-400-latin-ext.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";src:url(assets/fonts/atkinson-700-latin.woff2) format("woff2");font-weight:700;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:"Atkinson Hyperlegible";src:url(assets/fonts/atkinson-700-latin-ext.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Mono";src:url(assets/fonts/dmmono-400-latin.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"DM Mono";src:url(assets/fonts/dmmono-500-latin.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  --papier:#faf8f3; --papier-2:#f1ede4; --grafiet:#1f1e1c; --grafiet-2:#4a4843; --stift:#ffe14d; --pruim:#5b2b5e; --pruim-2:#3f1d42; --lijn:rgba(31,30,28,.14); --blauwlijn:#8fb0cf;
  --kop:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif; --tekst:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --zacht:cubic-bezier(.22,.8,.24,1); --veer:cubic-bezier(.3,1.4,.5,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--papier);color:var(--grafiet);font:400 18px/1.7 var(--tekst)}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--pruim);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--grafiet)}
:focus-visible{outline:3px solid var(--pruim);outline-offset:3px}
.pruim :focus-visible{outline-color:var(--stift)}
h1,h2,h3,h4{font-family:var(--kop);font-weight:800;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em;color:var(--grafiet)}
h1{font-size:clamp(38px,5.2vw,68px)}
h2{font-size:clamp(28px,3.4vw,44px)}
h3{font-size:22px}
p{margin:0 0 1em}
mark,.streep{background:linear-gradient(transparent 58%,var(--stift) 58%) 0 0/0% 100% no-repeat;color:inherit;padding:0 .08em}
.overslaan{position:absolute;left:-999px;top:8px;background:var(--grafiet);color:var(--papier);padding:10px 14px;z-index:99}
.overslaan:focus{left:8px}
.kolom{max-width:1200px;margin:0 auto;padding-inline:max(18px,4vw)}
.bovenregel{font:500 12.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--grafiet-2);margin-bottom:12px}
.bovenregel a{color:inherit;text-decoration:none}
.inleiding{font-size:clamp(19px,1.5vw,21px);line-height:1.6;color:var(--grafiet-2);max-width:58ch}
.acties{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.actie{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;background:var(--pruim);color:#fff;font:700 16px var(--tekst);text-decoration:none;border-radius:8px;border:0;cursor:pointer;transition:background .2s var(--zacht),transform .2s var(--zacht)}
.actie:hover{background:var(--grafiet);color:#fff;transform:translateY(-1px)}
.actie-lijn{background:transparent;color:var(--grafiet);box-shadow:inset 0 0 0 2px var(--grafiet)}
.actie-lijn:hover{background:var(--stift);color:var(--grafiet)}

/* balk */
.balk{position:sticky;top:0;z-index:40;background:rgba(250,248,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--lijn)}
.balk .kolom{display:flex;align-items:center;justify-content:space-between;min-height:66px}
.merk{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--grafiet);font:800 20px var(--kop);letter-spacing:-.01em}
.merkje{width:32px}
.navigatie ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.navigatie a{color:var(--grafiet);font:700 15px var(--tekst);text-decoration:none;padding:6px 0;background:linear-gradient(transparent 62%,var(--stift) 62%) 0 0/0% 100% no-repeat;transition:background-size .3s var(--zacht)}
.navigatie a:hover{background-size:100% 100%}
.nav-knop{display:none;width:44px;height:44px;border:0;background:none;padding:10px;cursor:pointer}
.nav-knop span{display:block;height:2px;background:var(--grafiet);margin:7px 0;transition:transform .25s var(--zacht)}
.voortgang{position:fixed;top:0;left:0;height:4px;width:100%;background:var(--stift);transform-origin:0 50%;transform:scaleX(var(--gelezen,0));z-index:60}

/* opening */
.opening h1{font-size:clamp(34px,4.2vw,56px)}
.opening{padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,96px)}
.opening-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}
.opening-beeld svg{width:100%}
.js .agenda .afspraak{transform:translateY(-26px);opacity:0}
.speelt .agenda .afspraak{animation:valt .55s var(--veer) forwards;animation-delay:var(--d)}
@keyframes valt{from{transform:translateY(-26px);opacity:0}to{transform:none;opacity:1}}
.speelt .agenda .clip{animation:klem .6s var(--veer) 1.6s both}
@keyframes klem{from{transform:translateY(-14px)}to{transform:none}}
.speelt .streep,.verschijn.in mark{background-size:100% 100%;transition:background-size .8s var(--zacht) .5s}

/* secties */
.sectie{padding-block:clamp(56px,8vw,112px)}
.sectie.papier{background:var(--papier-2)}
.papier .onderwerpen a,.verder-lezen .onderwerpen a{background:var(--papier)}
.sectie.pruim{background:var(--pruim-2);color:#f4eef4}
.pruim h2,.pruim h3{color:#fff}
.pruim .bovenregel{color:#d9c8da}
.pruim a{color:var(--stift)}
.duo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.meer{margin-top:30px}
ol.genummerd{list-style:none;counter-reset:n;margin:1.4em 0;padding:0}
ol.genummerd li{counter-increment:n;position:relative;padding:0 0 16px 50px;margin:0}
ol.genummerd li::before{content:counter(n);position:absolute;left:0;top:0;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font:500 14px var(--mono);background:var(--stift);color:var(--grafiet)}

/* matrix */
.matrix{background:var(--papier);color:var(--grafiet);border-radius:14px;padding:clamp(18px,2.6vw,30px)}
.mx-in label{display:block;font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--grafiet-2);margin-bottom:8px}
.mx-rij{display:flex;flex-wrap:wrap;gap:8px}
.mx-rij input{flex:1 1 220px;min-height:48px;font:400 17px var(--tekst);border:2px solid var(--grafiet);border-radius:8px;padding:0 12px;background:#fff;color:var(--grafiet)}
.mx-vraag{min-height:48px;padding:0 14px;border-radius:8px;border:2px solid var(--grafiet);background:#fff;color:var(--grafiet);font:700 15px var(--tekst);cursor:pointer;transition:background .2s var(--zacht)}
.mx-vraag[aria-pressed=true]{background:var(--stift)}
.mx-hint{font-size:14px;color:var(--grafiet-2);margin:10px 0 0}
.mx-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:18px;background:linear-gradient(var(--blauwlijn),var(--blauwlijn)) 50% 0/2px 100% no-repeat,linear-gradient(var(--blauwlijn),var(--blauwlijn)) 0 50%/100% 2px no-repeat}
.mx-vak{padding:14px;min-height:150px}
.matrix h3{color:var(--grafiet)}
.mx-vak h3{font-size:20px;margin:0 0 8px}
.mx-vak h3 span{display:block;font:500 11.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grafiet-2);margin-bottom:2px}
.v1 h3{box-shadow:inset 0 -.35em 0 var(--stift)}
.mx-vak ul{list-style:none;margin:0;padding:0}
.mx-vak li{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--lijn);font-size:16px;line-height:1.4}
.mx-vak li button{border:0;background:none;color:var(--grafiet-2);font:500 18px var(--mono);cursor:pointer;min-width:32px;min-height:32px}
.mx-vak li.nieuw{animation:schuif .45s var(--zacht)}
@keyframes schuif{from{transform:translate(var(--vx,0),var(--vy,-20px));opacity:.2}to{transform:none;opacity:1}}
.mx-noot{font-size:13.5px;color:var(--grafiet-2);margin:14px 0 0}

/* tabellen */
.tabelvak{overflow-x:auto;margin:1.4em 0}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:16px}
th,td{text-align:left;vertical-align:top;padding:13px 16px 13px 0;border-bottom:1px solid var(--lijn)}
thead th{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--grafiet-2)}
tbody th{font:800 18px var(--kop)}

/* regels (overzichten) */
.regels{list-style:none;margin:0;padding:0}
.regel a{display:grid;grid-template-columns:40px 180px minmax(0,1fr);gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--lijn);text-decoration:none;color:var(--grafiet)}
.regel:last-child a{border-bottom:1px solid var(--lijn)}
.regel-nr{font:500 13px var(--mono);color:var(--grafiet-2)}
.regel-blad{border-radius:8px;overflow:hidden;transition:transform .35s var(--zacht)}
.regel a:hover .regel-blad{transform:translateY(-3px) rotate(-1deg)}
.regel-tekst{display:flex;flex-direction:column;gap:5px}
.regel-rubriek{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--grafiet-2)}
.regel-titel{font:800 clamp(20px,2vw,25px)/1.2 var(--kop)}
.regel a:hover .regel-titel{background:linear-gradient(transparent 60%,var(--stift) 60%)}
.regel-samenvatting{color:var(--grafiet-2);font-size:16px;max-width:70ch}
.onderwerpen{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.onderwerpen a{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;background:var(--papier-2);color:var(--grafiet);text-decoration:none;font-weight:700}
.onderwerpen a:hover{background:var(--stift)}
.onderwerpen small{font:500 11px var(--mono)}

/* pagina's */
.paginakop{padding-block:clamp(44px,6vw,88px) clamp(20px,3vw,40px)}
.pagina-inhoud,.overzichtpagina{padding-bottom:clamp(56px,8vw,104px)}
.filters{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0}
.filters a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;text-decoration:none;color:var(--grafiet);font:700 14px var(--tekst);background:var(--papier-2)}
.filters .actief a,.filters a:hover{background:var(--grafiet);color:var(--papier)}
.bladeren{display:flex;justify-content:space-between;margin-top:26px;font-weight:700}
.leeg{min-height:60vh}

/* artikel */
.artikel-kop{padding-top:clamp(36px,5vw,80px)}
.artikel-kop h1{max-width:22ch}
.meta-regel{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--grafiet-2);margin-top:18px}
.blad-figuur{margin:clamp(24px,4vw,44px) 0 0}
.blad-figuur svg{width:100%;border-radius:12px}
.artikel-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(28px,5vw,72px);padding-block:clamp(36px,5vw,64px)}
.lopende-tekst{max-width:70ch}
.lopende-tekst.smal{margin:clamp(28px,4vw,56px) auto clamp(52px,7vw,92px)}
.lopende-tekst h2{font-size:clamp(26px,2.8vw,34px);margin-top:1.6em;scroll-margin-top:90px}
.lopende-tekst h3{margin-top:1.4em}
.lopende-tekst ul,.lopende-tekst ol:not(.genummerd){padding-left:1.2em}
.lopende-tekst li{margin-bottom:.4em}
.lopende-tekst li::marker{color:var(--pruim)}
.lopende-tekst a:hover{background:var(--stift);color:var(--grafiet)}
.lopende-tekst blockquote{margin:1.6em 0;padding-left:18px;border-left:4px solid var(--stift);font-size:20px}
.kernpunten{list-style:none;padding:16px 0 16px!important;margin:0 0 28px;border-top:2px solid var(--grafiet);border-bottom:1px solid var(--lijn)}
.kernpunten li{position:relative;padding-left:26px;font-weight:700}
.kernpunten li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:10px;background:var(--stift)}
aside.kanttekening{margin:1.6em 0;padding:2px 0 2px 18px;border-left:4px solid var(--pruim)}
aside.kanttekening .kanttekening-kop{display:block;font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--grafiet-2);margin-bottom:4px}
aside.kanttekening.let-op{border-left-color:var(--stift)}
.voorentegen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:1.6em 0}
.voorentegen h4{font-size:19px}
section.faq-lijst{margin-top:2.4em}
section.faq-lijst details{border-top:1px solid var(--lijn);padding:13px 0}
section.faq-lijst details:last-child{border-bottom:1px solid var(--lijn)}
section.faq-lijst summary{cursor:pointer;font-weight:700;font-size:19px;list-style:none;display:flex;justify-content:space-between;gap:16px}
section.faq-lijst summary::after{content:"+";font:500 20px var(--mono);transition:transform .25s var(--zacht)}
section.faq-lijst details[open] summary::after{transform:rotate(45deg)}
section.faq-lijst .a{padding-top:8px;color:var(--grafiet-2)}
.zijbalk .plak{position:sticky;top:96px;font-size:15px}
.zijbalk-kop{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--grafiet-2);margin:0 0 10px}
.zijbalk ol{list-style:none;padding:0;margin:0 0 26px}
.zijbalk li{margin-bottom:8px;line-height:1.35}
.zijbalk a{text-decoration:none}
.zijbalk a:hover{text-decoration:underline}
.verder-lezen{padding-block:clamp(44px,6vw,88px);background:var(--papier-2)}
.partner-list{list-style:none;padding:0!important}
.partner-list li{border-top:1px solid var(--lijn);padding:12px 0;margin:0}
.partner-list a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;text-decoration:none}
.partner-list span{font:500 12.5px var(--mono);color:var(--grafiet-2)}

/* onderkant */
.onderkant{background:var(--grafiet);color:#e9e6de;padding-block:60px 30px}
.onderkant-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:30px}
.onderkant-merk{font:800 24px var(--kop);color:#fff;margin:0 0 10px}
.onderkant-zin{color:#bdb9af;max-width:36ch}
.onderkant h2{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#bdb9af;margin:0 0 12px}
.onderkant ul{list-style:none;margin:0;padding:0}
.onderkant li{margin-bottom:8px}
.onderkant a{color:#fff}
.onderkant-regel{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(233,230,222,.2);margin-top:40px;padding-top:20px;font-size:14px;color:#bdb9af}

/* verschijnen */
.js .verschijn{opacity:0;transform:translateY(12px);transition:opacity .6s var(--zacht),transform .6s var(--zacht)}
.js .verschijn.in{opacity:1;transform:none}

@media (max-width:960px){
  .opening-grid,.duo,.artikel-grid{grid-template-columns:minmax(0,1fr)}
  .zijbalk{display:none}
  .onderkant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:17px}
  .nav-knop{display:block}
  .navigatie{position:fixed;inset:66px 0 auto 0;background:var(--papier);padding:14px max(18px,4vw) 22px;border-bottom:1px solid var(--lijn);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s var(--zacht),transform .2s var(--zacht),visibility .2s}
  .navigatie.open{opacity:1;transform:none;visibility:visible}
  .navigatie ul{flex-direction:column;gap:2px}
  .navigatie a{display:block;padding:12px 0}
  .nav-knop[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .nav-knop[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .regel a{grid-template-columns:minmax(0,1fr);gap:12px}
  .regel-nr{display:none}
  .mx-raster{grid-template-columns:minmax(0,1fr);background:none}
  .mx-vak{border-top:2px solid var(--blauwlijn)}
  .voorentegen,.onderkant-grid{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .agenda .afspraak{transform:none;opacity:1}
  .js .verschijn{opacity:1;transform:none}
  mark,.streep{background-size:100% 100%}
}
