/* Generated from ps.css by scripts/build-dark.php (colours → dark-mode tokens). Edit the source file. */
/* ==========================================================================
   phillipstemann.com design system (Bricks)
   ========================================================================== */

@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin.woff2) format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format("woff2");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:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/inter-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122}

:root{
	--ps-ink:#111013;
	--ps-text:#161519;
	--ps-blue:#3358F5;
	--ps-blue-dark:#2748EB;
	--ps-blue-light:#F3F7FD;
	--ps-blue-medium:#E1E7FD;
	--ps-green:#13B103;
	--ps-red:#EE6A6A;
	--ps-sand:#F7F7F5;
	--ps-grey-bg:#9690A20F;
	--ps-muted:#5B5866;
	--ps-line:#E4E7EE;
	--ps-radius:8px;
	--ps-container:1300px;
	--ps-font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* ---------------------------------------------------------------- base
   Mirrors what the Elementor kit + Hello theme set, so converted pages look identical. */
html{font-size:100%}
body{font-family:var(--ps-font);font-size:1rem;line-height:1.8;color:var(--t-333333,#333333);background:var(--b-ffffff,#ffffff)}
a{color:var(--t-3358f5,#3358f5);text-decoration:none}
img{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--ps-font);color:var(--t-111013,#111013);line-height:1.2;margin:0;text-wrap:balance}
h1{font-size:4.5rem;font-weight:700;letter-spacing:-.045em}
h2{font-size:2rem;font-weight:600;letter-spacing:-.04em}
h3{font-size:1.75rem;font-weight:600;letter-spacing:-.035em}
h4{font-size:1.5rem;font-weight:500;letter-spacing:-.03em}
h5{font-size:1.375rem;font-weight:600;letter-spacing:-.025em}
h6{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}
@media (max-width:1024px){h1{font-size:3.5rem}h2{font-size:1.8rem}h3{font-size:1.6rem}h4{font-size:1.4rem}h5{font-size:1.3rem}h6{font-size:1.2rem}}
@media (max-width:767px){h1{font-size:3rem}h2{font-size:1.6rem}h3{font-size:1.4rem}h4{font-size:1.3rem}h5{font-size:1.2rem}h6{font-size:1.1rem}}
p,li,figcaption,blockquote{text-wrap:pretty}
.brxe-text p,.brxe-text-basic p{margin:0 0 .9rem}
.brxe-text ul,.brxe-text ol{margin:0 0 .9rem}
ul li,ol li{margin:5px 0}

/* ---------------------------------------------------------------- layout
   Elementor flex containers: children stretch, no wrapping, boxed width 1300px. */
.brxe-section{align-items:stretch;flex-wrap:nowrap}
.brxe-container{width:100%;max-width:var(--ps-container);align-items:stretch;flex-wrap:nowrap}
.brxe-block{align-items:stretch;flex-wrap:nowrap}
.brxe-block,.brxe-container,.brxe-section,.brxe-image{min-width:0}

/* ---------------------------------------------------------------- buttons */
.brxe-button{font-family:var(--ps-font);font-size:1rem;font-weight:600;line-height:1.5;letter-spacing:normal;color:var(--t-ffffff,#ffffff);background-color:var(--b-3358f5,#3358f5);border-radius:8px;padding:13px 36px;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s,transform .2s;gap:8px}
.brxe-button:hover{background-color:var(--b-2748eb,#2748eb);color:var(--t-ffffff,#ffffff)}
.brxe-button svg{width:1em;height:1em;fill:currentColor}

/* ---------------------------------------------------------------- icon lists (Elementor icon-list) */
.ps-ilist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ps-ilist li{margin:0}
.ps-ilist .content{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px}
.ps-ilist .icon{line-height:inherit;margin-top:calc((1lh - 1em) / 2)} /* 1lh = the text's line (Bricks sets a small font-size on .icon) */
.ps2 .ps-ilist .icon{font-size:inherit!important;margin-top:calc((1lh - 24px) / 2)} /* text's font-size → 1lh = the text line; the svg has its own size */
.ps-ilist .title{font:inherit;margin:0;color:inherit}
.ps-ilist--inline{flex-direction:row;flex-wrap:wrap;column-gap:24px}
.ps-ilist svg{flex:none}

/* ---------------------------------------------------------------- icon box, counters */
.ps-ibox{text-decoration:none;color:inherit}
svg.brxe-icon{width:1em;height:1em;fill:currentColor;flex:none}
.ps-ibox .brxe-icon{flex:none}
.ps-ibox .brxe-icon svg{width:1em;height:1em;fill:currentColor}
.ps-counter{display:flex;flex-direction:column;width:auto;flex:0 0 auto}
.ps-counter__title{white-space:nowrap}

/* ---------------------------------------------------------------- header
   Overlays the hero; after 400px of scrolling it slides back in as a white sticky bar (assets/header.js). */
#brx-header{position:absolute;top:0;left:0;right:0;z-index:99;transition:background .3s}
.admin-bar #brx-header{top:32px}
#brx-header.stick{opacity:0;transform:translateY(-150%);background-color:var(--b-ffffff,#ffffff);box-shadow:rgba(25,45,100,.08) 0 10px 30px 0}
#brx-header.active{position:fixed;animation:ps-sticky .35s ease forwards;transition:transform .5s cubic-bezier(.645,.045,.355,1) .35s,opacity .2s ease;opacity:1}
@keyframes ps-sticky{from{transform:translateY(-150%)}to{transform:translateY(0)}}
@media print{#brx-header,#brx-footer{display:none!important}}

/* ---------------------------------------------------------------- navigation (Bricks nav-menu) */
.ps-nav .bricks-nav-menu{position:relative;gap:4px;align-items:center}
.ps-nav .bricks-nav-menu>li{position:relative;z-index:1;margin:0}
.ps-nav .bricks-nav-menu>li>a,.ps-nav .bricks-nav-menu>li>.brx-submenu-toggle{border-radius:10px;transition:background .2s,color .2s}
.ps-nav .bricks-nav-menu>li>a,.ps-nav .bricks-nav-menu>li>.brx-submenu-toggle>a{position:relative;display:block;padding:10px 16px;font-size:16px;font-weight:400;line-height:1.6;color:var(--t-111013,#111013);transition:color .2s}
/* hover: soft pill (per item without JS; one gliding pill with header.js) */
.ps-nav .bricks-nav-menu>li>a:hover,.ps-nav .bricks-nav-menu>li>.brx-submenu-toggle:hover{background:var(--b-eef2ff,#eef2ff)}
.ps-nav .bricks-nav-menu.ps-glide>li>a:hover,.ps-nav .bricks-nav-menu.ps-glide>li>.brx-submenu-toggle:hover{background:none}
.ps-nav .bricks-nav-menu>li:hover>a,.ps-nav .bricks-nav-menu>li:hover>.brx-submenu-toggle>a,.ps-nav .bricks-nav-menu>li:hover>.brx-submenu-toggle button{color:var(--t-3358f5,#3358f5)}
.ps-nav .bricks-nav-menu>li.ps-nav-pill{position:absolute;left:0;top:0;z-index:0;margin:0;padding:0;list-style:none;box-sizing:border-box;border-radius:10px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);box-shadow:0 6px 16px -10px rgba(20,33,61,.35);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .32s,opacity .2s ease}
.ps-nav .bricks-nav-menu>li.ps-nav-pill.is-on{opacity:1}
@media (prefers-reduced-motion:reduce){.ps-nav .bricks-nav-menu>li.ps-nav-pill{transition:opacity .15s}}
.ps-nav .bricks-nav-menu>li>a:focus-visible{outline:2px solid var(--d-3358f5,#3358f5);outline-offset:2px}
/* current page: blue text + short bar underneath (never a second background next to the hover pill) */
.ps-nav .bricks-nav-menu>li.current-menu-item>a,.ps-nav .bricks-nav-menu>li.current-menu-ancestor>.brx-submenu-toggle>a{color:var(--t-3358f5,#3358f5);font-weight:500}
.ps-nav .bricks-nav-menu>li.current-menu-ancestor>.brx-submenu-toggle button{color:var(--t-3358f5,#3358f5)}
.ps-nav .bricks-nav-menu>li.current-menu-item>a::after,.ps-nav .bricks-nav-menu>li.current-menu-ancestor>.brx-submenu-toggle>a::after{content:"";position:absolute;left:50%;bottom:3px;width:18px;height:3px;margin-left:-9px;border-radius:3px;background:var(--b-3358f5,#3358f5)}
.ps-nav .bricks-nav-menu>li.current-menu-ancestor>.brx-submenu-toggle>a::after{margin-left:-7px}
.ps-nav .brx-submenu-toggle{gap:0}
.ps-nav .brx-submenu-toggle>a{padding-right:4px!important}
.ps-nav .brx-submenu-toggle button{color:var(--t-111013,#111013);padding:0 14px 0 2px;line-height:0}
.ps-nav .brx-submenu-toggle button svg{width:14px;height:14px;fill:currentColor;transition:transform .2s}
.ps-nav li:hover>.brx-submenu-toggle button svg,.ps-nav .brx-submenu-toggle button[aria-expanded=true] svg{transform:rotate(180deg)}
/* dropdown: card that tilts in */
.ps-nav .bricks-nav-menu .sub-menu{display:block;min-width:180px;width:max-content;margin-top:8px;padding:8px;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:var(--b-ffffff,#ffffff);box-shadow:0 8px 32px -4px rgba(14,14,16,.12);opacity:0;visibility:hidden;transform-origin:50% -50px;transform:perspective(400px) rotateX(-10deg);transition:transform .35s cubic-bezier(.645,.045,.355,1),opacity .35s cubic-bezier(.645,.045,.355,1),visibility .35s}
.ps-nav .bricks-nav-menu>li:hover>.sub-menu,.ps-nav .bricks-nav-menu>li.open>.sub-menu,.ps-nav .bricks-nav-menu>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.ps-nav .sub-menu li{margin:0;padding:0}
.ps-nav .sub-menu a{display:block;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;line-height:1.4;color:var(--t-0e0e10,#0e0e10);white-space:nowrap;transition:all .15s ease}
.ps-nav .sub-menu a:hover{color:var(--t-3358f5,#3358f5);background:var(--b-f3f7fd,#f3f7fd)}
.ps-nav .sub-menu li.current-menu-item a{color:var(--t-3358f5,#3358f5);background:var(--b-f3f7fd,#f3f7fd);font-weight:600}
/* mobile: dropdown card under the header (same as the Elementor menu) */
.ps-nav .bricks-mobile-menu-toggle{color:var(--t-111013,#111013);width:22px}
.ps-nav .bricks-mobile-menu-wrapper{top:62px!important;left:0!important;right:0!important;bottom:auto;width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100vh - 80px);overflow:auto;padding:8px;color:var(--t-111013,#111013);background:var(--b-ffffff,#ffffff);border-radius:12px;box-shadow:0 8px 32px -4px rgba(14,14,16,.12);opacity:0;transform:translateY(-8px) scale(.98)!important;transform-origin:top center;transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility .22s}
.ps-nav.show-mobile-menu .bricks-mobile-menu-wrapper{transform:none!important}
.admin-bar .ps-nav .bricks-mobile-menu-wrapper{top:108px!important}
.ps-nav .bricks-mobile-menu-wrapper::before{display:none}
.ps-nav .bricks-mobile-menu{margin:0;padding:0}
.ps-nav .bricks-mobile-menu li{margin:0}
.ps-nav .bricks-mobile-menu-wrapper li a,.ps-nav .bricks-mobile-menu>li>.brx-submenu-toggle>a{line-height:1.4!important;padding:10px 16px!important;font-size:14px;font-weight:500;color:var(--t-0e0e10,#0e0e10);border-radius:8px}
.ps-nav .bricks-mobile-menu-wrapper li a:hover{background:var(--b-f3f7fd,#f3f7fd);color:var(--t-3358f5,#3358f5)}
.ps-nav .bricks-mobile-menu .brx-submenu-toggle{justify-content:flex-start!important;gap:4px}
.ps-nav .bricks-mobile-menu .brx-submenu-toggle button{padding:0 8px;color:var(--t-111013,#111013)}
.ps-nav .bricks-mobile-menu .brx-submenu-toggle button svg{width:14px;height:14px;fill:currentColor}
.ps-nav .bricks-mobile-menu .sub-menu li a{padding-left:28px!important;font-weight:400;color:var(--t-4b5675,#4b5675)}
.ps-nav .bricks-mobile-menu-overlay{display:none}

/* ---------------------------------------------------------------- iubenda cookie banner on brand */
#iubenda-cs-banner.iubenda-cs-overlay:before{background-color:rgba(17,16,19,.45)!important;backdrop-filter:blur(3px)}
#iubenda-cs-banner .iubenda-cs-container{border-radius:20px!important;overflow:hidden;box-shadow:0 30px 80px -20px rgba(20,33,61,.45)!important;font-family:var(--ps-font)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-content{background:var(--b-ffffff,#ffffff)!important;color:var(--t-111013,#111013)!important;font-family:var(--ps-font)!important}
#iubenda-cs-banner .iubenda-cs-container #iubenda-cs-title{font-family:var(--ps-font)!important;font-size:20px!important;font-weight:700!important;color:var(--t-111013,#111013)!important;letter-spacing:-.01em}
#iubenda-cs-banner .iubenda-cs-container #iubenda-cs-paragraph,#iubenda-cs-banner .iubenda-cs-container #iubenda-cs-paragraph .iub-p{font-family:var(--ps-font)!important;font-size:15px!important;line-height:1.6!important;color:var(--t-4b5675,#4b5675)!important}
#iubenda-cs-banner .iubenda-cs-container #iubenda-cs-paragraph b,#iubenda-cs-banner .iubenda-cs-container #iubenda-cs-paragraph strong{color:var(--t-111013,#111013)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-cookie-policy-lnk{color:var(--t-3358f5,#3358f5)!important;text-decoration:underline!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-granular-controls-container{border-color:var(--d-e1e6f5,#e1e6f5)!important;background:var(--b-f5f7ff,#f5f7ff)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-granular-controls-container *{font-family:var(--ps-font)!important}
#iubenda-cs-banner .iubenda-cs-container .iub-toggle-checkbox input:checked{background-color:var(--b-3358f5,#3358f5)!important;border-color:var(--d-3358f5,#3358f5)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-opt-group button{font-family:var(--ps-font)!important;font-size:15px!important;font-weight:600!important;border-radius:12px!important;padding:14px 22px!important;transition:background .15s,transform .15s!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-opt-group button.iubenda-cs-btn-primary{background:var(--b-3358f5,#3358f5)!important;color:var(--t-ffffff,#ffffff)!important;border:1px solid var(--d-3358f5,#3358f5)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-opt-group button.iubenda-cs-btn-primary:hover{background:var(--b-2645d6,#2645d6)!important;border-color:var(--d-2645d6,#2645d6)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-opt-group button.iubenda-cs-customize-btn{background:var(--b-eef2ff,#eef2ff)!important;color:var(--t-3358f5,#3358f5)!important;border:1px solid var(--d-e1e6f5,#e1e6f5)!important}
#iubenda-cs-banner .iubenda-cs-container .iubenda-cs-opt-group button.iubenda-cs-customize-btn:hover{background:var(--b-e3e9ff,#e3e9ff)!important}
#iubenda-cs-banner .iubenda-cs-brand-badge-outer{display:none!important}

/* ---------------------------------------------------------------- FAQ accordions
   One style for Rank Math FAQ blocks (posts, rendered as <details> by inc/content.php) and the
   page FAQs (Bricks blocks rendered as <details>/<summary>). No JavaScript. */
:root{interpolate-size:allow-keywords}
.ps-faq-item{margin:0 0 10px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.ps-faq-item:hover,.ps-faq-item[open]{border-color:var(--d-c9d3f7,#c9d3f7)}
.ps-faq-item[open]{box-shadow:0 14px 34px -20px rgba(20,33,61,.4)}
.ps-faq-item>summary{display:flex;flex-direction:row;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.ps-faq-item>summary::-webkit-details-marker{display:none}
.ps-faq-item .rank-math-question,.ps-faq-item .ps-faq-question{flex:1;margin:0;font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--t-111013,#111013);transition:color .15s}
.ps-faq-item>summary:hover :is(.rank-math-question,.ps-faq-question){color:var(--t-3358f5,#3358f5)}
.ps-faq-item .rank-math-answer,.ps-faq-item .ps-faq-answer{padding:0 22px 20px;color:var(--t-4b5675,#4b5675);line-height:1.7}
.ps-faq-item :is(.rank-math-answer,.ps-faq-answer)>*:last-child,.ps-faq-answer p:last-child{margin-bottom:0}
.ps-faq-answer .brxe-text{color:var(--t-4b5675,#4b5675);line-height:1.7}
.ps-faq-item::details-content{block-size:0;overflow:hidden;transition:block-size .3s cubic-bezier(.22,1,.36,1),content-visibility .3s allow-discrete}
.ps-faq-item[open]::details-content{block-size:auto}
.ps-faq-icon{position:relative;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--b-eef2ff,#eef2ff);transition:background .2s}
.ps-faq-icon::before,.ps-faq-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--b-3358f5,#3358f5);transition:transform .25s ease,background .2s}
.ps-faq-icon::after{transform:rotate(90deg)}
.ps-faq-item[open]>summary .ps-faq-icon{background:var(--b-3358f5,#3358f5)}
.ps-faq-item[open]>summary .ps-faq-icon::before,.ps-faq-item[open]>summary .ps-faq-icon::after{background:var(--b-ffffff,#ffffff)}
.ps-faq-item[open]>summary .ps-faq-icon::after{transform:rotate(0)}
.ps-faq-item>summary:focus-visible{outline:2px solid var(--d-3358f5,#3358f5);outline-offset:-2px;border-radius:14px}
.rank-math-block .rank-math-list{margin:0}
@media (max-width:767px){
.ps-faq-item>summary{padding:16px}
.ps-faq-item :is(.rank-math-answer,.ps-faq-answer){padding:0 16px 16px}
.ps-faq-item :is(.rank-math-question,.ps-faq-question){font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.ps-faq-item::details-content{transition:none}}

/* ---------------------------------------------------------------- responsive helpers (classes kept from Elementor) */
@media (min-width:768px) and (max-width:1024px){
.ps-tablet-2up{flex-wrap:wrap!important;justify-content:center!important}
.ps-tablet-2up>*{flex:0 0 calc(50% - 12px)!important;max-width:calc(50% - 12px)!important;width:auto!important}
.ps-tablet-stack>*{flex-direction:column!important}
.ps-tablet-stack>*>*{width:100%!important;max-width:100%!important;flex:0 0 auto!important}
.ps-tablet-stack>*>*:has(img){order:-1}
}
@media (max-width:767px){
.ps-logos{gap:22px 28px!important;justify-content:flex-start!important;align-items:center!important;flex-wrap:wrap!important}
.ps-logos>.brxe-image{width:auto!important;max-width:44%!important;flex:0 0 auto!important;height:30px!important;object-fit:contain}
}

/* ---------------------------------------------------------------- page design system v2 (body.ps2)
   Static values (spacing, colours, type sizes) live on the elements; these are the states and
   decorations the elements can't hold: pills, hovers, the dark closing band. */
.ps-pill,.ps2-eyebrow p{display:inline-block;margin:0;padding:7px 13px;border-radius:999px;background:var(--b-eef2ff,#eef2ff);color:var(--t-3358f5,#3358f5);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.2}
.ps-pill{width:fit-content}
.ps2 .brxe-button{transition:background .15s,box-shadow .15s,border-color .15s}
.ps2 .brxe-button:hover{box-shadow:0 12px 26px -14px rgba(51,88,245,.7)}
.ps-card{transition:border-color .2s,box-shadow .2s}
.ps2 .ps-card:hover{border-color:var(--d-c9d3f7,#c9d3f7)!important;box-shadow:0 20px 44px -26px rgba(20,33,61,.4)!important}
.ps2 .ps-card .brxe-icon svg{fill:var(--t-3358f5,#3358f5)}
/* closing band (last section on design-system pages) */
.ps2 .ps-sec--last .ps2-eyebrow p,.ps2 .ps-sec--last .ps-pill{background:rgba(255,255,255,.16)!important;color:var(--t-ffffff,#ffffff)!important}
.ps2 .ps-sec--last .brxe-text a{color:var(--t-ffffff,#ffffff);text-decoration:underline}
.ps2 .ps-sec--last .brxe-button:hover{background:var(--b-eef2ff,#eef2ff)!important;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}

/* ---------------------------------------------------------------- post cards (every post loop on the site) */
.ps-post-grid{gap:30px;align-items:stretch}
.ps-post-card{display:flex;flex-direction:column;min-width:0}
.ps-post-card__media{display:block;overflow:hidden;border-radius:7px;box-shadow:0 5px 15px rgba(17,16,19,.06);line-height:0;transition:box-shadow .25s}
.ps-post-card__img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:5px;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.ps-post-card:hover .ps-post-card__media{box-shadow:0 18px 40px -20px rgba(20,33,61,.35)}
.ps-post-card:hover .ps-post-card__img{transform:scale(1.04)}
.ps-post-card__meta{margin:24px 0 9.6px;font-size:.9rem;line-height:1.8;color:var(--t-635d6f,#635d6f)}
.ps-post-card__meta .ps-dot{margin:0 6px;color:var(--t-ee6a6a,#ee6a6a)}
.ps-post-card__title{margin:0 0 16px;font-size:1.55rem;font-weight:600;line-height:1.226;letter-spacing:-.035em}
.ps-post-card__title a{color:var(--t-111013,#111013);transition:color .15s}
.ps-post-card__title a:hover{color:var(--t-3358f5,#3358f5)}
.ps-post-card__cat{font-size:12px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.ps-post-card__cat a{color:var(--t-3358f5,#3358f5)}
@media (max-width:767px){.ps-post-card__title{font-size:1.4rem}}
/* compact title lists (blog "Recently published", related reading) */
.ps-post-list{counter-reset:psrecent}
.ps-post-list__item{display:flex;flex-direction:row;gap:14px;padding:14px 0;border-bottom:1px solid var(--d-e6eaf4,#e6eaf4)}
.ps-post-list__item:last-child{border-bottom:0}
.ps-post-list__title{margin:0;font-size:1rem;line-height:1.45;font-weight:600;letter-spacing:0}
.ps-post-list__title a{color:var(--t-111013,#111013)}
.ps-post-list__title a:hover{color:var(--t-3358f5,#3358f5)}
.ps-post-list--thumb .ps-post-list__media{flex:0 0 30%;line-height:0}
.ps-post-list--thumb .ps-post-list__media img{border-radius:5px;aspect-ratio:16/10;object-fit:cover;width:100%}
.ps-pagination{margin-top:40px}
.ps-pagination .page-numbers{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0}
.ps-pagination .page-numbers a,.ps-pagination .page-numbers span{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border-radius:999px;border:1px solid var(--d-e1e6f5,#e1e6f5);font-size:.95rem;font-weight:600;color:var(--t-111013,#111013)}
.ps-pagination .page-numbers .current{background:var(--b-111013,#111013);border-color:var(--d-111013,#111013);color:var(--t-ffffff,#ffffff)}
.ps-pagination .page-numbers a:hover{border-color:var(--d-3358f5,#3358f5);color:var(--t-3358f5,#3358f5)}

/* ---------------------------------------------------------------- motion
   Page transitions and a gentle fade-up for sections below the fold (scroll-driven, no JS). */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
#brx-content>.brxe-section:not(:first-child){animation:ps-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
@keyframes ps-reveal{from{opacity:.001;transform:translateY(28px)}to{opacity:1;transform:none}}
}}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------------------------------------------------------------- forms
   Default look (footer, posts, popups) = the old Elementor kit; pages of the design system get the
   softer card fields. */
.ps-form{gap:10px;width:100%}
.ps-form .form-group{padding:0}
.ps-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.ps-form textarea,.ps-form select{width:100%;min-height:40px;padding:12px 16px;font:400 15px/1.4 var(--ps-font);color:var(--t-161519,#161519);background:var(--b-ffffff,#ffffff);border:1px solid rgba(189,189,189,.54);border-radius:6px;box-shadow:0 1px 2px rgba(27,36,44,.14);transition:border-color .15s,box-shadow .15s,background .15s}
.ps-form textarea{min-height:120px;resize:vertical}
.ps-form input::placeholder,.ps-form textarea::placeholder{color:var(--t-8b93a7,#8b93a7)}
.ps-form input:focus,.ps-form textarea:focus{outline:0;border-color:var(--d-3358f5,#3358f5);box-shadow:0 0 0 4px rgba(51,88,245,.12)}
.ps-form .options-wrapper li{display:flex;align-items:flex-start;gap:8px;margin:0}
.ps-form .options-wrapper input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:4px 0 0;accent-color:var(--t-3358f5,#3358f5)}
.ps-form .options-wrapper label{font-size:16px;line-height:1.5;color:var(--t-161519,#161519);text-transform:none;letter-spacing:0;font-weight:400}
.ps-form .options-wrapper label a{color:var(--t-3358f5,#3358f5)}
.ps-form .submit-button-wrapper{width:100%}
.ps-form .submit-button-wrapper .bricks-button{width:100%;min-height:50px;padding:13px 36px;border-radius:8px;background:var(--b-3358f5,#3358f5);color:var(--t-ffffff,#ffffff);font:700 16px/1.5 var(--ps-font);letter-spacing:0;transition:background .15s,box-shadow .15s}
.ps-form .submit-button-wrapper .bricks-button:hover{background:var(--b-2748eb,#2748eb)}
.ps-form .message{margin-top:12px;padding:12px 16px;border-radius:10px;font-size:15px}
.ps-form .message.success{background:var(--b-e9f9ec,#e9f9ec);color:var(--t-146c2e,#146c2e)}
.ps-form .message.danger{background:var(--b-fdecec,#fdecec);color:var(--t-a12a2a,#a12a2a)}
/* design-system pages */
.ps2 #brx-content .ps-form{gap:12px}
.ps2 #brx-content .ps-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.ps2 #brx-content .ps-form textarea{min-height:52px;padding:12px 16px;font-size:16px;color:var(--t-111013,#111013);background:var(--b-f8faff,#f8faff);border-color:var(--d-dde3f3,#dde3f3);border-radius:12px;box-shadow:none}
.ps2 #brx-content .ps-form textarea{min-height:120px}
.ps2 #brx-content .ps-form input:focus,.ps2 #brx-content .ps-form textarea:focus{background:var(--b-ffffff,#ffffff);border-color:var(--d-3358f5,#3358f5);box-shadow:0 0 0 4px rgba(51,88,245,.12)}
.ps2 #brx-content .ps-form .options-wrapper input[type=checkbox]{flex-basis:18px;width:18px;height:18px;margin-top:2px}
.ps2 #brx-content .ps-form .options-wrapper label{font-size:.9rem;line-height:1.45;color:var(--t-4b5675,#4b5675)}
.ps2 #brx-content .ps-form .submit-button-wrapper{margin-top:4px}
.ps2 #brx-content .ps-form .submit-button-wrapper .bricks-button{min-height:52px;padding:15px 24px;border-radius:12px;font-weight:600}
.ps2 #brx-content .ps-form .submit-button-wrapper .bricks-button:hover{box-shadow:0 12px 26px -14px rgba(51,88,245,.7)}
/* form on the dark closing band */
.ps2 .ps-sec--last .ps-form input:not([type=checkbox]):not([type=hidden]),.ps2 .ps-sec--last .ps-form textarea{background:rgba(255,255,255,.96)!important;border-color:transparent!important}
.ps2 .ps-sec--last .ps-form .options-wrapper label,.ps2 .ps-sec--last .ps-form .options-wrapper label *{color:rgba(255,255,255,.8)!important}
.ps2 .ps-sec--last .ps-form .options-wrapper a{color:var(--t-ffffff,#ffffff)!important;text-decoration:underline}
.ps2 .ps-sec--last .ps-form .submit-button-wrapper .bricks-button:hover{background:var(--b-2645d6,#2645d6)}
/* "Get one practical tip every Monday" heading above newsletter forms */
.ps-form-head{margin:0 0 6px;font-size:1.3rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;color:var(--t-111013,#111013)}
.ps-form-sub{margin:0 0 20px;font-size:.95rem;line-height:1.5;color:var(--t-5b6475,#5b6475)}

/* ---------------------------------------------------------------- footer */
.psf-root{--psf-ink:#0B1220;--psf-muted:#5B6575;--psf-blue:#3358F5;--psf-line:#D9E2F1}
.psf-inner{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:56px;padding:0}
.psf-main{display:flex;flex-direction:row;align-items:flex-start;gap:72px;padding:0}
.psf-col{display:flex;flex-direction:column;gap:18px;flex:1 1 0;min-width:0;padding:0}
.psf-col.psf-news{flex:1.35 1 0}
.psf-root .brxe-text,.psf-root .brxe-text p{color:var(--t-5b6575,#5b6575);font-size:15px;line-height:1.65;margin:0}
.psf-root .brxe-text p+p{margin-top:10px}
.psf-name{color:var(--t-0b1220,#0b1220)!important;font-size:22px!important;font-weight:700;letter-spacing:-.01em;line-height:1.2!important}
.psf-h{color:var(--t-0b1220,#0b1220)!important;font-size:13px!important;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2!important}
.psf-brand-text p{max-width:360px}
.psf-root a{color:var(--t-0b1220,#0b1220);transition:color .15s}
.psf-root a:hover{color:var(--t-3358f5,#3358f5)}
.psf-contact a{font-weight:500;color:var(--t-3358f5,#3358f5)}
.psf-contact a:hover{text-decoration:underline}
.psf-social .content{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border:1px solid var(--d-d9e2f1,#d9e2f1);border-radius:12px;background:var(--b-ffffff,#ffffff);transition:border-color .15s}
.psf-social .content:hover{border-color:var(--d-3358f5,#3358f5)}
.psf-social .content a{color:var(--t-0b1220,#0b1220);font-size:14px;font-weight:600}
.psf-social .icon svg{width:18px;height:18px;fill:var(--t-0a66c2,#0a66c2)}
.psf-social .icon{margin-top:0!important;line-height:0;height:auto;align-self:center;display:flex}
.psf-news .ps-form-head{font-size:1.25rem}
.psf-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 32px;padding:26px 0 0;border-top:1px solid var(--d-d9e2f1,#d9e2f1)}
.psf-legal,.psf-legal p{font-size:13.5px!important;color:var(--t-5b6575,#5b6575)}
.psf-legal a{color:var(--t-5b6575,#5b6575)}
.psf-legal a:hover{color:var(--t-3358f5,#3358f5)}
@media (max-width:900px){.psf-main{flex-direction:column;gap:40px}.psf-col,.psf-col.psf-news{flex:none;width:100%}.psf-inner{gap:40px}}
@media (max-width:767px){.psf-bottom{flex-direction:column;align-items:flex-start}}
/* language switcher (Polylang) */
.ps-lang{display:flex;gap:8px;list-style:none;padding:0;margin:0}
.ps-lang li{margin:0;display:flex;border:1px solid var(--d-e2e8f0,#e2e8f0);border-radius:12px;background:var(--b-ffffff,#ffffff);transition:all .15s ease}
.ps-lang li:hover,.ps-lang li.current-lang{border-color:var(--d-3358f5,#3358f5);background:var(--b-f3f7fd,#f3f7fd)}
.ps-lang a{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--t-6b7280,#6b7280)!important;text-decoration:none}
.ps-lang li.current-lang a{color:var(--t-3358f5,#3358f5)!important;font-weight:600}
.ps-lang li:hover a{color:var(--t-3358f5,#3358f5)!important}
.ps-lang img{display:none}
.ps-lang a::before{content:"";width:18px;height:13px;border-radius:2px;background:center/cover no-repeat}
.ps-lang .lang-item-en a::before{background-image:url(/wp-content/uploads/ps-flags/us.svg)}
.ps-lang .lang-item-da a::before{background-image:url(/wp-content/uploads/ps-flags/dk.svg)}
.ps-lang a span{margin-left:0!important}

/* ---------------------------------------------------------------- tabs (pill style) */
.ps-tabs .tab-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:28px}
.ps-tabs .tab-title{padding:10px 18px;border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:999px;background:var(--b-ffffff,#ffffff);color:var(--t-111013,#111013);font-weight:600;font-size:15px;line-height:1.4;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.ps-tabs .tab-title:hover{border-color:var(--d-3358f5,#3358f5)}
.ps-tabs .tab-title.brx-open{background:var(--b-111013,#111013);border-color:var(--d-111013,#111013);color:var(--t-ffffff,#ffffff)}
.ps-tabs .tab-title.brx-open *{color:var(--t-ffffff,#ffffff)}
.ps-tabs .tab-content{width:100%}
.ps-tabs .tab-pane>.brxe-block{width:100%}

/* ================================================================ blog post */
/* hero */
.ps-post-hero{padding:calc(86px + 88px) 40px 40px;background:linear-gradient(180deg,var(--b-eef2ff,#eef2ff) 0%,var(--b-f6f8ff,#f6f8ff) 55%,var(--b-ffffff,#ffffff) 100%)}
.ps-post-hero__inner{max-width:1200px;flex-direction:row;align-items:center;gap:56px}
.ps-post-hero__text{flex:1 1 56%;gap:16px;min-width:0;width:auto}
.ps-post-hero__media{flex:1 1 44%;min-width:0;width:auto}
.ps-crumbs{font-size:.95rem;color:var(--t-4b5675,#4b5675)}
.ps-crumbs a{color:var(--t-111013,#111013);font-weight:600}
.ps-crumbs .separator{margin:0 4px}
.ps-kicker{font-size:1rem;color:var(--t-161519,#161519)}
.ps-kicker a{color:var(--t-161519,#161519)}
.ps-kicker a:hover{color:var(--t-3358f5,#3358f5)}
.ps-dot{margin:0 6px;color:var(--t-ee6a6a,#ee6a6a)}
.ps-post-hero__title{font-size:clamp(2.1rem,3.2vw,3.25rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;text-wrap:balance;view-transition-name:ps-vt-title}
.ps-post-hero__meta{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding-top:20px;margin-top:8px;border-top:1px solid rgba(20,33,61,.08)}
.ps-post-hero__img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:18px;border:1px solid rgba(20,33,61,.06);box-shadow:0 28px 60px -28px rgba(20,33,61,.4);view-transition-name:ps-vt-img}
/* byline */
.ps-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 56px}
.ps-byline__author{display:flex;align-items:center;gap:15px;color:inherit}
.ps-byline__avatar{width:48px;height:48px;border-radius:50%;aspect-ratio:1;object-fit:cover}
.ps-byline__label{display:block;font-size:.9rem;color:var(--t-4b5675,#4b5675);line-height:1.6}
.ps-byline__value{display:block;font-size:.95rem;font-weight:400;color:var(--t-161519,#161519);line-height:1.6}
.ps-byline__author .ps-byline__value{font-weight:600}
.ps-byline__author:hover .ps-byline__value{color:var(--t-3358f5,#3358f5)}
/* share buttons (row in the hero, docked on the right while reading: assets/share-dock.js) */
.ps-share-row{display:flex;flex-wrap:wrap;gap:8px}
.ps-share{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:50%;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);color:var(--t-3358f5,#3358f5);cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.ps-share:hover{background:var(--b-eef2ff,#eef2ff);border-color:var(--d-3358f5,#3358f5);transform:translateY(-1px)}
.ps-share svg{display:block;width:18px;height:18px}
.ps-share-dock{position:fixed;z-index:30;transition:opacity .25s ease,transform .25s ease}
.ps-share-dock .ps-share-row{flex-direction:column;gap:10px}
.ps-share-dock .ps-share{box-shadow:0 10px 24px -12px rgba(20,33,61,.45)}
.ps-share-dock.is-past{opacity:0;transform:translateY(-10px);pointer-events:none}
@media (max-width:1024px){.ps-post-hero{padding:calc(86px + 72px) 32px 40px}.ps-post-hero__inner{flex-direction:column;align-items:stretch;gap:32px}.ps-post-hero__text,.ps-post-hero__media{flex:1 1 auto;width:100%}}
@media (max-width:767px){.ps-post-hero{padding:calc(70px + 56px) 16px 28px}.ps-post-hero__inner{gap:24px}.ps-post-hero__title{font-size:2rem}.ps-post-hero .ps-crumbs{display:none}.ps-post-hero__img{border-radius:14px}.ps-byline{gap:12px 32px}}
/* view transition card → post header */
::view-transition-group(ps-vt-img),::view-transition-group(ps-vt-title){animation-duration:.5s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(ps-vt-img),::view-transition-new(ps-vt-img){height:100%;width:100%;object-fit:cover;overflow:clip}
::view-transition-old(ps-vt-title),::view-transition-new(ps-vt-title){height:100%;width:auto;object-fit:contain;object-position:left top}
::view-transition-image-pair(ps-vt-img){border-radius:16px;overflow:hidden}

/* body + article typography */
.ps-post-body{padding:128px 40px 80px}
@media (max-width:1024px){.ps-post-body{padding-top:100px}}
.ps-post-body__inner{max-width:700px}
.ps-post-content{position:relative;z-index:20}
.brxe-post-content{font-size:1rem;line-height:1.8;color:var(--t-161519,#161519)}
.brxe-post-content>p{margin:0 0 20px}
.brxe-post-content>h2{margin:8px 0 16px;font-size:2rem}
.brxe-post-content>h3{margin:24px 0 14px;font-size:1.75rem;font-weight:700}
.brxe-post-content>h4{margin:20px 0 12px;font-size:1.5rem}
.brxe-post-content>ul,.brxe-post-content>ol{margin:0 0 21.6px;padding-left:32px}
.brxe-post-content li{margin:5px 0}
.brxe-post-content a{color:var(--t-3358f5,#3358f5)}
.brxe-post-content a:hover{text-decoration:underline}
.brxe-post-content strong{font-weight:700;color:var(--t-161519,#161519)}
.brxe-post-content img{height:auto;border-radius:10px}
.brxe-post-content figure{margin:28px 0}
.brxe-post-content figcaption{font-size:.85rem;color:var(--t-5b6475,#5b6475);text-align:center;margin-top:8px}
.brxe-post-content blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:3px solid var(--d-3358f5,#3358f5);color:var(--t-111013,#111013);font-size:1.1rem}
.brxe-post-content code{font-size:.88em;padding:2px 6px;border-radius:6px;background:rgba(62,100,255,.1);border:1px solid rgba(62,100,255,.22);color:var(--t-2748eb,#2748eb)}
.brxe-post-content pre{margin:0 0 20px;padding:16px;border-radius:12px;background:var(--b-0f1424,#0f1424);color:var(--t-e6e9f2,#e6e9f2);font-size:.9rem;overflow-x:auto}
.brxe-post-content pre code{background:none;border:0;color:inherit;padding:0}
.brxe-post-content .wp-block-embed{margin:28px 0}
.brxe-post-content .wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:12px}
@media (max-width:1024px){.brxe-post-content>h2{font-size:1.8rem}.brxe-post-content>h3{font-size:1.6rem}}
@media (max-width:767px){.ps-post-body{padding:100px 16px 56px}.brxe-post-content>h2{font-size:1.6rem}.brxe-post-content>h3{font-size:1.4rem}}
/* author box */
.ps-author-box{display:flex;gap:20px;align-items:flex-start;margin:40px 0 0;padding:28px;background:var(--b-f5f7ff,#f5f7ff);border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:18px}
.ps-author-box__avatar{flex:0 0 auto;width:72px;height:72px;border-radius:50%;object-fit:cover}
.ps-author-box__name{margin:0 0 6px;font-size:1.25rem;font-weight:700;color:var(--t-111013,#111013);line-height:1.3}
.ps-author-box__bio{margin:0;color:var(--t-4b5675,#4b5675);line-height:1.65}
.ps-author-box__link{display:inline-flex;margin-top:14px;color:var(--t-3358f5,#3358f5);font-weight:600;font-size:.95rem}
.ps-author-box__link:hover{text-decoration:underline}
@media (max-width:767px){.ps-author-box{display:grid;grid-template-columns:56px 1fr;column-gap:14px;row-gap:12px;align-items:center;padding:20px}.ps-author-box__text{display:contents}.ps-author-box__avatar{width:56px;height:56px}.ps-author-box__name{margin:0;font-size:1.15rem}.ps-author-box__bio{grid-column:1/-1;font-size:.95rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ps-author-box__link{grid-column:1/-1;margin-top:0}}
/* related */
.ps-related-title{margin:64px 0 24px;font-size:2rem}
.ps-related{gap:30px}
/* AI summary heading follows the summary's own colour */
.psai-summary .psai-summary__title{color:var(--t-14213d,#14213d)!important}

/* TOC: sticky list beside the article on wide screens (assets/post-toc.js) */
.toc_warp{max-height:0;overflow:visible}
.ps-post-content{display:block}
.toc{position:sticky;top:14vh;z-index:99;margin-left:calc(360px - 50vw);float:left;width:290px;max-width:290px;height:0;overflow:visible}
.toc ul{list-style:none;margin:0;padding-left:40px}
.toc ul li{margin:5px 0;color:var(--t-7d8792,#7d8792);transition:all .3s ease}
.toc ul li a{position:relative;color:var(--t-7d8792,#7d8792);font-size:.85em;font-weight:400;line-height:1em;transition:all .2s ease}
.toc ul li a::before{content:"";position:absolute;left:0;top:9px;width:40px;height:1px;transform:translateX(-110%);background:var(--b-93a1b0,#93a1b0);transition:all .3s ease}
.toc ul li.active a{color:var(--t-3358f5,#3358f5)}
.toc ul.ps-toc-glide{position:relative;padding-left:54px}
.toc ul.ps-toc-glide li a::before{transform:translateX(calc(-100% - 14px))}
.toc ul.ps-toc-glide li.active a{font-weight:600}
.ps-toc-ind{position:absolute;left:0;top:0;width:40px;height:2px;border-radius:2px;background:var(--b-3358f5,#3358f5);pointer-events:none;opacity:0;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .2s ease;will-change:transform}
@media (max-width:1400px){.toc{display:none}#post_cont{margin-top:0!important}}
/* reading progress in the header */
.progress-container{position:absolute;bottom:0;left:0;width:100%;height:2px;z-index:0}
.progress-bar{height:100%;background:var(--b-3358f5,#3358f5);width:0}
/* TOC (tablet/mobile): floating button + bottom sheet */
.ps-toc-fab{display:none}
@media (max-width:1024px){
.ps-toc-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:900;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:var(--b-ffffff,#ffffff);color:var(--t-111013,#111013);box-shadow:0 12px 30px -10px rgba(20,33,61,.45),0 0 0 1px rgba(20,33,61,.06);cursor:pointer;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.ps-toc-fab.is-shown{opacity:1;transform:none;pointer-events:auto}
.ps-toc-fab:active{transform:scale(.94)}
.ps-toc-fab>svg{grid-area:1/1}
.ps-toc-fab__ring{width:52px;height:52px;transform:rotate(-90deg)}
.ps-toc-fab__ring circle{fill:none;stroke:var(--t-e1e6f5,#e1e6f5);stroke-width:3}
.ps-toc-fab__ring .ps-toc-fab__bar{stroke:var(--t-3358f5,#3358f5);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;transition:stroke-dashoffset .15s linear}
.ps-toc-fab__icon{width:22px;height:22px;fill:none;stroke:var(--t-111013,#111013);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
}
.ps-toc-sheet{position:fixed;inset:0;z-index:1000}
.ps-toc-sheet[hidden]{display:none}
.ps-toc-sheet__backdrop{position:absolute;inset:0;background:rgba(17,16,19,.4);opacity:0;transition:opacity .22s ease}
.ps-toc-sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:72vh;overflow:auto;overscroll-behavior:contain;background:var(--b-ffffff,#ffffff);border-radius:20px 20px 0 0;padding:0 16px calc(16px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);box-shadow:0 -20px 50px -20px rgba(20,33,61,.35)}
.ps-toc-sheet.is-open .ps-toc-sheet__backdrop{opacity:1}
.ps-toc-sheet.is-open .ps-toc-sheet__panel{transform:none}
.ps-toc-sheet__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:18px 4px 12px;background:var(--b-ffffff,#ffffff);border-bottom:1px solid var(--d-eef1f8,#eef1f8);margin-bottom:8px;font-weight:700;font-size:1.05rem;color:var(--t-111013,#111013)}
.ps-toc-sheet__head::before{content:"";position:absolute;top:7px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:4px;background:var(--b-dde2ee,#dde2ee)}
.ps-toc-sheet__close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--b-f3f5fb,#f3f5fb);color:var(--t-111013,#111013);font-size:22px;line-height:1}
.ps-toc-sheet ul{list-style:none;margin:0;padding:0}
.ps-toc-sheet li{margin:0}
.ps-toc-sheet li a{display:block;padding:12px 12px 12px 14px;border-left:3px solid transparent;border-radius:0 10px 10px 0;color:var(--t-2b3445,#2b3445);font-size:1rem;line-height:1.35}
.ps-toc-sheet li.active a{background:var(--b-eef2ff,#eef2ff);border-left-color:var(--d-3358f5,#3358f5);color:var(--t-3358f5,#3358f5);font-weight:600}
html.ps-toc-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.ps-toc-ind,.ps-toc-fab,.ps-toc-sheet__panel,.ps-toc-sheet__backdrop{transition:none}}
@media print{.ps-toc-fab,.ps-toc-sheet,.ps-share-dock,.ignore-pdf{display:none!important}}

/* tables: card on tablet/desktop, stacked rows on phones (labels from inc/content.php) */
.wp-block-table code{white-space:normal;overflow-wrap:anywhere}
@media (max-width:767px){
.wp-block-table{overflow-x:auto}
.wp-block-table table.ps-stack,.ps-stack tbody,.ps-stack tr,.ps-stack td{display:block;width:100%!important}
.wp-block-table table.ps-stack{border:0!important;table-layout:auto!important}
.ps-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ps-stack tr{margin:0 0 12px;padding:4px 16px;border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:14px;background:var(--b-ffffff,#ffffff)!important}
.ps-stack td{padding:10px 0!important;border:0!important;border-bottom:1px solid var(--d-eef1f8,#eef1f8)!important;background:none!important;text-align:left!important}
.ps-stack td:last-child{border-bottom:0!important}
.ps-stack td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t-5b6475,#5b6475)}
}
@media (min-width:768px){
.wp-block-table{margin-top:28px!important;margin-bottom:28px!important;overflow-x:auto;border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:14px;background:var(--b-ffffff,#ffffff);box-shadow:0 1px 2px rgba(20,33,61,.04)}
.wp-block-table table{width:100%;border:0!important;border-collapse:collapse!important;table-layout:auto!important;font-size:.95rem;margin:0!important}
.wp-block-table thead{border:0!important}
.wp-block-table th{padding:14px 18px!important;border:0!important;border-bottom:1px solid var(--d-e1e6f5,#e1e6f5)!important;background:var(--b-f5f7ff,#f5f7ff)!important;color:var(--t-4b5675,#4b5675)!important;font-size:.72rem!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;text-align:left!important;white-space:nowrap;vertical-align:bottom}
.wp-block-table td{padding:14px 18px!important;border:0!important;border-bottom:1px solid var(--d-eef1f8,#eef1f8)!important;background:none!important;color:var(--t-2b3445,#2b3445);line-height:1.55;text-align:left!important;vertical-align:top}
.wp-block-table tbody tr:last-child td{border-bottom:0!important}
.wp-block-table tbody tr{background:none!important;transition:background .15s}
.wp-block-table tbody tr:hover{background:var(--b-fafbff,#fafbff)!important}
.wp-block-table td:first-child{color:var(--t-111013,#111013);font-weight:500}
.wp-block-table td code{white-space:nowrap}
.wp-block-table figcaption{margin:0;padding:10px 18px;border-top:1px solid var(--d-eef1f8,#eef1f8);font-size:.85rem;color:var(--t-5b6475,#5b6475);text-align:left}
}

/* ---------------------------------------------------------------- popups */
.brx-popup-content{position:relative;overflow-y:auto}
.ps-popup-close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--b-f3f5fb,#f3f5fb);color:var(--t-111013,#111013);font-size:24px;line-height:1;cursor:pointer;transition:background .15s}
.ps-popup-close:hover{background:var(--b-e1e6f5,#e1e6f5)}

/* ================================================================ live search (inc/live-search.php + assets/live-search.js) */
.ps-ls{position:relative;width:100%;max-width:620px;margin:0 auto;text-align:left}
.ps-ls__field{display:flex;align-items:center;gap:0;height:58px;padding-left:18px;background:var(--b-ffffff,#ffffff);border-radius:14px;box-shadow:0 14px 34px -16px rgba(20,33,61,.3),0 0 0 1px #E1E6F5;transition:box-shadow .15s}
.ps-ls__field:focus-within{box-shadow:0 14px 34px -16px rgba(20,33,61,.35),0 0 0 2px #3358F5}
.ps-ls__icon{flex:0 0 auto;color:var(--t-8b93a7,#8b93a7)}
.ps-ls.is-loading .ps-ls__icon{animation:ps-ls-pulse .8s ease-in-out infinite}
@keyframes ps-ls-pulse{50%{opacity:.35}}
.ps-ls input[type=search]{flex:1 1 auto;min-width:0;height:100%!important;padding:0 12px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font:inherit;font-size:1rem!important;color:var(--t-111013,#111013)}
.ps-ls input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.ps-ls__go{flex:0 0 auto;align-self:stretch;margin:6px!important;padding:0 20px!important;border:0!important;border-radius:10px!important;background:var(--b-3358f5,#3358f5)!important;color:var(--t-ffffff,#ffffff)!important;font-weight:600!important;font-size:15px!important;cursor:pointer;transition:background .15s}
.ps-ls__go:hover{background:var(--b-2645d6,#2645d6)!important}
.ps-ls__panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;max-height:min(60vh,520px);overflow:auto;padding:8px;background:var(--b-ffffff,#ffffff);border-radius:14px;box-shadow:0 24px 60px -20px rgba(20,33,61,.4),0 0 0 1px #E1E6F5}
.ps-ls__label{margin:6px 10px 6px!important;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t-5b6475,#5b6475)}
.ps-ls__item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--t-111013,#111013)!important;text-decoration:none!important}
.ps-ls__item:hover,.ps-ls__item[aria-selected=true]{background:var(--b-f3f6ff,#f3f6ff)}
.ps-ls__item img,.ps-ls__noimg{flex:0 0 48px;width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--b-eef2ff,#eef2ff)}
.ps-ls__t{display:block;font-weight:600;font-size:.95rem;line-height:1.35}
.ps-ls__t mark{background:var(--b-e3e9ff,#e3e9ff);color:var(--t-2645d6,#2645d6);border-radius:3px;padding:0 1px}
.ps-ls__c{display:block;margin-top:2px;font-size:.8rem;color:var(--t-5b6475,#5b6475)}
.ps-ls__all{display:block;margin-top:4px;padding:12px 10px 8px;border-top:1px solid var(--d-eef1f8,#eef1f8);color:var(--t-3358f5,#3358f5)!important;font-weight:600;font-size:.92rem;text-decoration:none!important}
.ps-ls__empty{padding:16px 12px;color:var(--t-4b5675,#4b5675);font-size:.95rem;line-height:1.5}
.ps-spot{position:fixed;inset:0;z-index:1200;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:rgba(17,16,19,.45);backdrop-filter:blur(4px)}
.ps-spot[hidden]{display:none}
.ps-spot__box{width:min(640px,100%)}
.ps-spot .ps-ls{max-width:none}
.ps-spot__hint{margin:10px 0 0!important;text-align:center;color:rgba(255,255,255,.85);font-size:.85rem}
@media (max-width:767px){
.ps-ls__field{height:52px;padding-left:14px}
.ps-ls__go{padding:0 14px!important}
.ps-spot{padding-top:10vh}
}

/* ================================================================ search results + empty state ([ps_search_hero], [ps_search_empty]) */
.ps-search-hero{padding:calc(86px + 56px) var(--ps-gutter) 40px!important;background:linear-gradient(180deg,var(--b-eef2ff,#eef2ff) 0%,var(--b-f6f8ff,#f6f8ff) 60%,var(--b-ffffff,#ffffff) 100%);text-align:center}
.ps-search-hero>.e-con-inner>.elementor-widget{width:100%!important}
.ps-search-hero-inner{display:flex;flex-direction:column;align-items:center;gap:12px}
.ps-search-eyebrow{margin:0!important;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t-3358f5,#3358f5)}
.ps-search-title{margin:0!important;font-size:clamp(2.1rem,4vw,3.3rem)!important;line-height:1.08!important;letter-spacing:-.025em;text-wrap:balance}
.ps-search-title span{color:var(--t-3358f5,#3358f5)}
.ps-search-count{margin:0 0 10px!important;color:var(--t-4b5675,#4b5675);font-size:1.02rem}
.ps-search-results{padding:24px var(--ps-gutter) 56px!important}
.ps-empty{max-width:860px;margin:0 auto}
.ps-empty__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 32px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:20px;box-shadow:0 20px 50px -30px rgba(20,33,61,.35)}
.ps-empty__title{margin:6px 0 0!important;font-size:clamp(1.4rem,2.6vw,1.9rem)!important;letter-spacing:-.02em}
.ps-empty__text{margin:0!important;max-width:46ch;color:var(--t-4b5675,#4b5675)}
.ps-empty__label{margin:14px 0 4px!important;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t-5b6475,#5b6475)}
.ps-empty__chips{justify-content:center}
.ps-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.ps-empty__btn{display:inline-flex;align-items:center;padding:13px 20px;border-radius:12px;border:1px solid var(--d-d9dff0,#d9dff0);background:var(--b-ffffff,#ffffff);color:var(--t-111013,#111013)!important;font-weight:600;text-decoration:none!important;transition:border-color .15s,color .15s,transform .15s}
.ps-empty__btn:hover{border-color:var(--d-3358f5,#3358f5);color:var(--t-3358f5,#3358f5)!important;transform:translateY(-1px)}
.ps-empty__btn.is-primary{background:var(--b-3358f5,#3358f5);border-color:var(--d-3358f5,#3358f5);color:var(--t-ffffff,#ffffff)!important}
.ps-empty__btn.is-primary:hover{background:var(--b-2645d6,#2645d6);color:var(--t-ffffff,#ffffff)!important}
.ps-empty__label--latest{margin-top:40px!important;text-align:left}
.ps-empty__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ps-empty-card{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-eef1f8,#eef1f8);color:var(--t-111013,#111013)!important;text-decoration:none!important;transition:box-shadow .2s}
.ps-empty-card:hover{box-shadow:0 18px 40px -22px rgba(20,33,61,.4)}
.ps-empty-card__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--b-eef2ff,#eef2ff)}
.ps-empty-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.ps-empty-card:hover .ps-empty-card__img img{transform:scale(1.04)}
.ps-empty-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 18px}
.ps-empty-card__cat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-3358f5,#3358f5)}
.ps-empty-card__t{font-weight:600;line-height:1.35}
@media (max-width:1024px){.ps-search-hero{padding:calc(86px + 36px) var(--ps-gutter) 32px!important}.ps-search-results{padding:20px var(--ps-gutter) 48px!important}}
@media (max-width:767px){
.ps-search-hero{padding:calc(70px + 28px) var(--ps-gutter) 24px!important}
.ps-search-title{font-size:2rem!important}
.ps-search-results{padding:16px var(--ps-gutter) 40px!important}
.ps-empty__card{padding:28px 18px}
.ps-empty__chips{flex-wrap:wrap!important;overflow:visible!important;margin:0!important;padding:0!important}
.ps-empty__grid{grid-template-columns:1fr;gap:14px}
.ps-empty__actions{width:100%}.ps-empty__btn{flex:1 1 100%;justify-content:center}
}

/* ================================================================ blog page */
.ps-author-eyebrow p,.ps-blog-eyebrow p{margin:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t-3358f5,#3358f5)}
.ps-blog-sub p{max-width:56ch;margin:0 auto;color:var(--t-4b5675,#4b5675);font-size:1.1rem;line-height:1.6}
.ps-blog-search{width:100%;max-width:620px;margin:14px auto 0}
.ps-cat-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}
.ps-cat-chips a{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);color:var(--t-111013,#111013);font-weight:600;font-size:.92rem;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.ps-cat-chips a span{font-weight:500;color:var(--t-5f677a,#5f677a);font-size:.82rem}
.ps-cat-chips a:hover{border-color:var(--d-3358f5,#3358f5);color:var(--t-3358f5,#3358f5)}
.ps-cat-chips a.is-active{background:var(--b-111013,#111013);border-color:var(--d-111013,#111013);color:var(--t-ffffff,#ffffff)}
.ps-cat-chips a.is-active span{color:var(--t-c9cfdd,#c9cfdd)}
.ps-blog-nl p{margin:4px 0 0;font-size:.95rem}
.ps-blog-nl a{color:var(--t-3358f5,#3358f5)!important;font-weight:600}
.ps-blog-nl a:hover{text-decoration:underline}
/* featured row: lead post + numbered "recently published" list */
.ps-blog-lead{flex:1 1 62%;min-width:0}
.ps-blog-lead .ps-post-card__img{aspect-ratio:16/9}
.ps-blog-lead .ps-post-card__title{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.02em}
.ps-blog-recent{flex:1 1 38%;min-width:0;padding:24px 28px;background:var(--b-f7f8fc,#f7f8fc);border:1px solid var(--d-eef1f8,#eef1f8);border-radius:18px;counter-reset:psrecent}
.ps-blog-recent .ps-post-list__item{counter-increment:psrecent;flex-direction:column;gap:8px;padding:14px 0}
.ps-blog-recent .ps-post-list__item::before{content:counter(psrecent,decimal-leading-zero);flex:0 0 auto;font-weight:700;font-size:.9rem;color:var(--t-3358f5,#3358f5);line-height:1.5}
@media (max-width:1024px){.ps-blog-lead,.ps-blog-recent{flex:1 1 auto;width:100%}}
@media (max-width:767px){
.ps-cat-chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin:6px -16px 0;padding:2px 16px 6px;scrollbar-width:none}
.ps-cat-chips a{flex:0 0 auto}
.ps-blog-sub p{font-size:1rem}
.ps-blog-recent{padding:20px}
}

/* ================================================================ author page */
.ps-author-bio p{margin:0 0 .8em;color:var(--t-4b5675,#4b5675);font-size:1.02rem;line-height:1.7}
.ps-author-bio p:last-child{margin-bottom:0}
.ps-author-ctas .brxe-button{transition:background .15s,transform .15s,border-color .15s}
.ps-btn-primary:hover,.ps-btn-secondary:hover{transform:translateY(-1px)}
.ps-btn-secondary:hover{border-color:var(--d-3358f5,#3358f5)!important;color:var(--t-3358f5,#3358f5)!important}
.ps-author-social{flex-direction:row;gap:8px}
.ps-author-social li .content{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);transition:background .15s,border-color .15s,transform .15s}
.ps-author-social li .content:hover{background:var(--b-eef2ff,#eef2ff);border-color:var(--d-3358f5,#3358f5);transform:translateY(-1px)}
.ps-author-social .icon svg{width:16px;height:16px;fill:var(--t-3358f5,#3358f5)}
.ps-author-social a{position:absolute;inset:0}
.ps-author-social .title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ps-author-photo{display:block;width:100%;max-width:440px;margin-left:auto;aspect-ratio:4/5;object-fit:cover;border-radius:24px;border:1px solid rgba(20,33,61,.06);box-shadow:0 30px 70px -30px rgba(20,33,61,.45)}
.ps-author-pods{gap:0!important;width:100%}
.ps-author-pods li{border-bottom:1px solid var(--d-eef1f8,#eef1f8)}
.ps-author-pods li:last-child{border-bottom:0}
.ps-author-pods li .content{position:relative;gap:12px;padding:11px 0}
.ps-author-pods a{flex:1;color:var(--t-111013,#111013);font-weight:500;transition:color .15s}
.ps-author-pods a::before{content:"";position:absolute;inset:0}
.ps-author-pods li .content::after{content:"\2197";margin-left:auto;color:var(--t-9aa3b8,#9aa3b8);transition:transform .15s,color .15s}
.ps-author-pods li .content:hover a,.ps-author-pods li .content:hover::after{color:var(--t-3358f5,#3358f5)}
.ps-author-pods li .content:hover::after{transform:translate(2px,-2px)}
.ps-author-pods .icon svg{width:18px;height:18px;fill:var(--t-3358f5,#3358f5)}
.ps-author-tags ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.ps-author-tags li{margin:0;padding:8px 14px;border-radius:999px;background:var(--b-eef2ff,#eef2ff);color:var(--t-3358f5,#3358f5);font-weight:600;font-size:.92rem;line-height:1.2}
@media (max-width:767px){.ps-author-photo{max-width:none;margin:0;aspect-ratio:4/3;border-radius:18px}.ps-author-ctas>.brxe-button{flex:1 1 100%;justify-content:center}}

/* ================================================================ about page decorations */
.ps2-quote .brxe-text::after{content:"";display:block;width:48px;height:4px;margin:28px auto 0;border-radius:4px;background:var(--b-3358f5,#3358f5)}
.ps2-quote .brxe-text p,.ps2-quote .brxe-text *{margin:0;font-style:normal}
.ps2-timeline .brxe-block:has(> .brxe-heading + .brxe-heading + .brxe-text){position:relative}
.ps2-timeline .brxe-block:has(> .brxe-heading + .brxe-heading + .brxe-text)::before{content:"";position:absolute;left:15px;top:10px;bottom:-10px;width:2px;background:var(--b-dde3f3,#dde3f3)}
.ps2-timeline .brxe-block:has(> .brxe-heading + .brxe-heading + .brxe-text):last-child::before{display:none}
.ps2-timeline .brxe-block:has(> .brxe-heading + .brxe-heading + .brxe-text)::after{content:"";position:absolute;left:7px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--b-ffffff,#ffffff);border:4px solid var(--d-3358f5,#3358f5);box-sizing:border-box}
.ps2-honest .ps-tablet-2up>.brxe-block{position:relative}
.ps2-honest .ps-tablet-2up>.brxe-block::before{content:"\2715";position:absolute;left:22px;top:24px;width:28px;height:28px;border-radius:50%;background:var(--b-fdecec,#fdecec);color:var(--t-d64545,#d64545);font-size:13px;font-weight:700;line-height:28px;text-align:center}
.ps2-timeline>.brxe-container{max-width:820px}
.ps2-timeline .brxe-block:has(> .brxe-heading + .brxe-heading + .brxe-text)>div.brxe-heading:first-child{display:inline-block;width:fit-content;padding:4px 10px;border-radius:999px;background:var(--b-eef2ff,#eef2ff);color:var(--t-3358f5,#3358f5)}
.ps-author-hero>.brxe-container{gap:64px}
.ps-author-hero__text{flex:1 1 58%!important;width:auto!important;min-width:0}
.ps-author-hero__media{flex:0 1 38%!important;width:auto!important;min-width:0}
.ps-author-ctas{flex-direction:row!important;flex-wrap:wrap;gap:12px}
.ps-author-ctas>.brxe-button{width:auto}
@media (max-width:1024px){.ps-author-hero>.brxe-container{gap:40px}.ps-author-hero__media{flex-basis:34%!important}}
@media (max-width:767px){.ps-author-hero>.brxe-container{flex-direction:column-reverse!important;gap:24px}.ps-author-hero__text,.ps-author-hero__media{flex:0 0 auto!important;width:100%!important}.ps-author-ctas>.brxe-button{flex:1 1 100%}}
/* check lists on design-system pages: small blue tick in a light circle */
.ps2 .ps-ilist .icon{width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--b-eef2ff,#eef2ff)}
.ps2 .ps-ilist .icon svg{width:12px!important;height:12px!important;fill:var(--t-3358f5,#3358f5)!important;color:var(--t-3358f5,#3358f5)}
@media (max-width:1024px){.ps-counter .ps-counter__num{text-align:center!important}}
@media (min-width:768px) and (max-width:1024px){.ps-byline{gap:12px 28px}.ps-post-hero__meta{column-gap:16px}}
.ps-post-hero__meta>*{width:auto;flex:0 1 auto}
.ps-post-hero__meta>.ps-share-wrap{flex:0 0 auto}
@media (min-width:1025px){.ps-post-hero__meta{flex-direction:column;align-items:flex-start}}

/* ================================================================ buttons: one height
   Every button carries a 2px border (transparent on filled buttons), so a filled and an
   outline button side by side are exactly the same height. */
.brxe-button{border:2px solid transparent}

/* ================================================================ phones: one content edge (20px) */
:root{--ps-gutter:20px}
@media (max-width:767px){
#brx-header .brxe-container>.brxe-block:first-child{padding-left:0!important}
#brx-header .brxe-container>.brxe-block:last-child{padding-right:0!important}
.ps-post-hero,.ps-post-body{padding-left:var(--ps-gutter);padding-right:var(--ps-gutter)}
.psf-root{padding-left:var(--ps-gutter)!important;padding-right:var(--ps-gutter)!important}
.ps-nav .bricks-mobile-menu-wrapper{left:var(--ps-gutter)!important;right:var(--ps-gutter)!important}
}

/* ================================================================ mobile menu: burger ⇄ cross */
.ps-nav .bricks-mobile-menu-toggle{width:22px;height:16px}
.ps-nav .bricks-mobile-menu-toggle span{width:22px!important;min-width:0!important;height:2px;border-radius:2px;top:7px!important;transform:none!important;
	transition:translate .18s ease .18s,rotate .18s ease,opacity .1s linear .18s,width .2s}
.ps-nav .bricks-mobile-menu-toggle .bar-top{translate:0 -7px}
.ps-nav .bricks-mobile-menu-toggle .bar-bottom{translate:0 7px}
.ps-nav .bricks-mobile-menu-toggle:hover .bar-center{width:16px!important}
.ps-nav.show-mobile-menu .bricks-mobile-menu-toggle span{transition:translate .18s ease,rotate .22s cubic-bezier(.34,1.56,.64,1) .18s,opacity .1s linear}
.ps-nav.show-mobile-menu .bricks-mobile-menu-toggle .bar-top{translate:0 0;rotate:45deg}
.ps-nav.show-mobile-menu .bricks-mobile-menu-toggle .bar-center{opacity:0}
.ps-nav.show-mobile-menu .bricks-mobile-menu-toggle .bar-bottom{translate:0 0;rotate:-45deg}
/* menu items slide in one after another */
.ps-nav .bricks-mobile-menu>li{opacity:0;translate:0 -6px;transition:opacity .2s ease,translate .25s ease}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li{opacity:1;translate:0 0}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(1){transition-delay:.05s}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(2){transition-delay:.09s}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(3){transition-delay:.13s}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(4){transition-delay:.17s}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(5){transition-delay:.21s}
.ps-nav.show-mobile-menu .bricks-mobile-menu>li:nth-child(6){transition-delay:.25s}
@media (prefers-reduced-motion:reduce){.ps-nav .bricks-mobile-menu-toggle span,.ps-nav .bricks-mobile-menu>li,.ps-nav .bricks-mobile-menu-wrapper{transition:none!important}}

/* ================================================================ front page hero, phones */
.ps-hero-chip-wrap{display:none}
@media (max-width:767px){
.home .ps-sec--hero{position:relative;overflow:hidden;padding-top:92px!important;padding-bottom:36px!important;
	background:radial-gradient(90% 55% at 100% 0%,rgba(51,88,245,.20) 0%,rgba(51,88,245,0) 70%),radial-gradient(70% 40% at 0% 35%,rgba(123,92,255,.10) 0%,rgba(123,92,255,0) 70%),linear-gradient(180deg,var(--b-eef2ff,#eef2ff) 0%,var(--b-f6f8ff,#f6f8ff) 60%,var(--b-ffffff,#ffffff) 100%)!important}
.home .ps-sec--hero::before{content:"";position:absolute;inset:0;pointer-events:none;
	background-image:linear-gradient(rgba(51,88,245,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(51,88,245,.07) 1px,transparent 1px);background-size:28px 28px;
	-webkit-mask-image:radial-gradient(80% 50% at 80% 10%,#000 0%,transparent 75%);mask-image:radial-gradient(80% 50% at 80% 10%,#000 0%,transparent 75%)}
.home .ps-sec--hero>.brxe-container{position:relative;padding-top:0!important;padding-bottom:0!important}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child{gap:18px!important}
/* person chip */
.home .ps-hero-chip-wrap{display:block}
.ps-hero-chip{display:inline-flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--d-e1e6f5,#e1e6f5);box-shadow:0 8px 24px -14px rgba(20,33,61,.35);backdrop-filter:blur(6px)}
.ps-hero-chip__img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 18%;flex:none;border:2px solid var(--d-ffffff,#ffffff)}
.ps-hero-chip__text{display:flex;flex-direction:column;line-height:1.25}
.ps-hero-chip__text strong{font-size:14px;font-weight:700;color:var(--t-111013,#111013)}
.ps-hero-chip__text span{font-size:12.5px;color:var(--t-5b6575,#5b6575)}
.home .ps-sec--hero .ps-pill{display:none}
/* headline */
.home .ps-sec--hero h1{font-size:2.55rem!important;line-height:1.04!important;letter-spacing:-.035em!important}
.ps-grad{background:linear-gradient(90deg,var(--b-3358f5,#3358f5) 0%,var(--b-6b5cff,#6b5cff) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .ps-sec--hero h1+.brxe-text{font-size:1.02rem!important}
.home .ps-sec--hero h1+.brxe-text p{margin:0}
/* buttons: full width, same height */
.home .ps-sec--hero .brxe-block:has(>.brxe-button){flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%;margin-top:4px}
.home .ps-sec--hero .brxe-block:has(>.brxe-button)>.brxe-button{width:100%;align-self:stretch!important;justify-content:center;padding:15px 20px!important}
.home .ps-sec--hero .brxe-button:first-child{box-shadow:0 14px 28px -14px rgba(51,88,245,.8)}
/* checklist as a card */
.home .ps-sec--hero .ps-ilist{width:100%;padding:4px 16px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:18px;box-shadow:0 1px 2px rgba(20,33,61,.04);gap:0!important}
.home .ps-sec--hero .ps-ilist li{padding:11px 0;border-bottom:1px solid var(--d-eef1f8,#eef1f8)}
.home .ps-sec--hero .ps-ilist li:last-child{border-bottom:0}
.home .ps-sec--hero .ps-ilist .title{font-size:.95rem}
/* stats strip on every page hero (front page: was hidden on phones) */
.ps2 .ps-sec--hero .brxe-block:has(>.ps-counter){display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;width:100%;padding:14px 4px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:18px}
.ps2 .ps-sec--hero .ps-counter{align-items:center;padding:0 6px!important;border:0!important}
.ps2 .ps-sec--hero .ps-counter+.ps-counter{border-left:1px solid var(--d-eef1f8,#eef1f8)!important}
.ps2 .ps-sec--hero .ps-counter__num{font-size:1.6rem!important;line-height:1.1!important;text-align:center!important}
.ps2 .ps-sec--hero .ps-counter__title{font-size:.75rem!important;line-height:1.3!important;text-align:center;white-space:normal;color:var(--t-5b6575,#5b6575)}
/* entrance */
@media (prefers-reduced-motion:no-preference){
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*{animation:ps-hero-in .6s cubic-bezier(.22,1,.36,1) both}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(2){animation-delay:.04s}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(3){animation-delay:.08s}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(4){animation-delay:.14s}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(5){animation-delay:.2s}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(6){animation-delay:.26s}
.home .ps-sec--hero>.brxe-container>.brxe-block:first-child>*:nth-child(7){animation-delay:.32s}
@keyframes ps-hero-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
}
}

/* stroke icons (check mark) take the text colour */
.ps-ilist .icon svg[stroke]{fill:none!important;stroke:currentColor}
.ps2 .ps-ilist .icon svg[stroke]{stroke:var(--t-3358f5,#3358f5)!important}
.ps2 .ps-ilist .icon svg[fill="none"],.ps-ilist .icon svg[fill="none"]{fill:none!important}
.ps2 .ps-ilist .icon svg[fill="none"] path{stroke:var(--t-3358f5,#3358f5);stroke-width:3}
@media (max-width:767px){.ps2 .ps-sec--hero .brxe-block:has(>.ps-counter):not(:last-child){margin-bottom:12px}}

/* ================================================================ phones: one hero rhythm on every page
   The header overlays the first section, so its top padding = header height + 24px. */
:root{--ps-hdr:70px}
@media (max-width:767px){
#brx-content>.brxe-section:first-child{padding-top:calc(var(--ps-hdr) + 24px)!important;padding-bottom:40px!important}
#brx-content>.brxe-section:first-child>.brxe-container{padding-top:0!important;padding-bottom:0!important}
#brx-content>.brxe-section:first-child{margin-top:0!important}
#brx-content>.brxe-section:first-child>.brxe-container>.brxe-block:first-child:not([class*="ps-"]){padding-top:0!important}
#brx-content>.brxe-section:first-child>.brxe-container>.brxe-block:first-child:not([class*="ps-"]){padding-bottom:0!important}
#brx-content>.brxe-section:first-child .brxe-text>p:last-child,#brx-content>.brxe-section:first-child .brxe-text>*:last-child>p:last-child{margin-bottom:0!important}
}
/* tablets: same rhythm, a little more air (header is 86px here) */
@media (min-width:768px) and (max-width:1024px){
#brx-content>.brxe-section:first-child{padding-top:calc(86px + 40px)!important;padding-bottom:56px!important;margin-top:0!important}
#brx-content>.brxe-section:first-child>.brxe-container{padding-top:0!important;padding-bottom:0!important}
#brx-content>.brxe-section:first-child>.brxe-container>.brxe-block:first-child:not([class*="ps-"]){padding-top:0!important}
#brx-content>.brxe-section:first-child>.brxe-container>.brxe-block:first-child:not([class*="ps-"]){padding-bottom:0!important}
#brx-content>.brxe-section:first-child .brxe-text>p:last-child,#brx-content>.brxe-section:first-child .brxe-text>*:last-child>p:last-child{margin-bottom:0!important}
}
@media (max-width:767px){#brx-content>.brxe-section:first-child>.brxe-container{row-gap:20px!important}}
/* desktop: same rhythm, more air (header is 87px here) */
@media (min-width:1025px){
#brx-content>.brxe-section:first-child{padding-top:calc(87px + 72px)!important;padding-bottom:88px!important;margin-top:0!important}
#brx-content>.brxe-section:first-child>.brxe-container{padding-top:0!important;padding-bottom:0!important}
#brx-content>.brxe-section:first-child>.brxe-container>.brxe-block:first-child:not([class*="ps-"]){padding-top:0!important;padding-bottom:0!important}
#brx-content>.brxe-section:first-child .brxe-text>p:last-child,#brx-content>.brxe-section:first-child .brxe-text>*:last-child>p:last-child{margin-bottom:0!important}
}

/* ================================================================ dark mode
   Follows the device setting. Colours switch through tokens (css/tokens.css); these rules
   cover what tokens can't: form controls, logos, the AI summary. */
html.ps-dark{color-scheme:dark}
html.ps-light{color-scheme:light}
html.ps-dark body{background:var(--b-0e111b,#0e111b)}
/* logos: dark artwork turns white */
html.ps-dark .ps-logo img,html.ps-dark img.ps-logo{filter:invert(1) hue-rotate(180deg) brightness(1.15)}
html.ps-dark .ps-logos img,html.ps-dark #brx-content img[src*="logo" i]:not(.ps-logo){filter:brightness(0) invert(1);opacity:.85}
/* photos and screenshots: a touch dimmer so they don't glare */
html.ps-dark #brx-content img:not([src$=".svg"]):not([src*="logo" i]){filter:brightness(.92)}
/* sticky header bar */
html.ps-dark #brx-header.stick{box-shadow:0 10px 30px rgba(0,0,0,.45)}
/* AI summary: follow the site's mode, not only the system setting */
html.ps-dark .psai-summary{--psai-bg:#161c2e;--psai-bg-soft:#1c2440;--psai-edge:rgba(62,100,255,.30);--psai-text:#e7ecf7;--psai-text-dim:#9aa6c4}
html.ps-dark .psai-summary__body-wrap::after{background:linear-gradient(180deg,rgba(28,36,64,0) 0%,var(--b-1c2440,#1c2440) 95%)}
html.ps-light .psai-summary{--psai-bg:#EEF1FB;--psai-bg-soft:#E3E9F8;--psai-edge:rgba(62,100,255,.18);--psai-text:#14213d;--psai-text-dim:#4b5675}
html.ps-light .psai-summary__body-wrap::after{background:linear-gradient(180deg,rgba(238,241,251,0) 0%,var(--b-e3e9f8,#e3e9f8) 95%)}
/* shadows: softer, darker on dark backgrounds */
html.ps-dark .ps-card,html.ps-dark .ps-faq-item,html.ps-dark .ps-post-card__media{box-shadow:none}
/* header: room for the theme toggle without wrapping */
#brx-header .brxe-container>.brxe-block:last-child{flex:1 1 auto;width:auto;flex-wrap:nowrap!important;column-gap:12px!important}
#brx-header .brxe-button,.ps-nav .bricks-nav-menu>li>a,.ps-nav .bricks-nav-menu>li>.brx-submenu-toggle>a{white-space:nowrap}
@media (min-width:1025px) and (max-width:1280px){.ps-nav .bricks-nav-menu>li>a,.ps-nav .bricks-nav-menu>li>.brx-submenu-toggle>a{padding-left:12px;padding-right:12px}}
html.ps-dark .ps-hero-chip{background:rgba(21,25,38,.85);border-color:var(--d-262b3d,#262b3d)}
html.ps-dark .ps-hero-chip__img{border-color:var(--d-262b3d,#262b3d)}
/* block-editor pages rendered by Bricks' default template (AI crawler checker) */
#brx-content.wordpress h2{margin-bottom:16px}
#brx-content.wordpress p code,#brx-content.wordpress li code{font-size:.88em;padding:2px 6px;border-radius:6px;background:rgba(62,100,255,.1);border:1px solid rgba(62,100,255,.22);color:var(--t-2748eb,#2748eb)}
/* Mailnaptic archive embed (shadow DOM, fixed light colours): invert in dark mode */
html.ps-dark [data-key]{filter:invert(.9) hue-rotate(180deg);background:transparent}
@media (max-width:1024px){#brx-header .brxe-nav-menu{width:auto;flex:0 0 auto}#brx-header .brxe-container>.brxe-block:last-child{justify-content:flex-end!important;column-gap:16px!important}}

/* ================================================================ Listen (AI voice) — inc/listen.php, assets/listen.js */
.ps-share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ps-listen{--p:0%;position:relative;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px 0 5px;border-radius:999px;border:1px solid var(--d-e1e6f5,#e1e6f5);background:var(--b-ffffff,#ffffff);color:var(--t-111013,#111013);font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer;overflow:hidden;isolation:isolate;transition:border-color .15s,transform .15s,box-shadow .15s}
.ps-listen::before{content:"";position:absolute;inset:0;z-index:-1;width:var(--p);background:var(--b-eef2ff,#eef2ff);transition:width .3s linear}
.ps-listen:hover{border-color:var(--d-3358f5,#3358f5);transform:translateY(-1px)}
.ps-listen:focus-visible{outline:2px solid var(--d-3358f5,#3358f5);outline-offset:2px}
.ps-listen__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--b-3358f5,#3358f5);color:var(--t-ffffff,#ffffff);flex:0 0 30px}
.ps-listen__icon svg{display:block;margin-left:1px}
.ps-listen__pause,.ps-listen.is-playing .ps-listen__play{display:none!important}
.ps-listen.is-playing .ps-listen__pause{display:block!important;margin-left:0}
.ps-listen__text{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-variant-numeric:tabular-nums}
.ps-listen__sep,.ps-listen__time{color:var(--t-5b5866,#5b5866);font-weight:500}
.ps-listen__ai{padding:3px 7px;border-radius:999px;background:var(--b-f3f7fd,#f3f7fd);color:var(--t-5b5866,#5b5866);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.ps-listen.is-playing .ps-listen__icon{animation:psListenPulse 1.8s ease-in-out infinite}
@keyframes psListenPulse{0%,100%{box-shadow:0 0 0 0 rgba(51,88,245,.35)}50%{box-shadow:0 0 0 6px rgba(51,88,245,0)}}
@media (prefers-reduced-motion:reduce){.ps-listen.is-playing .ps-listen__icon{animation:none}.ps-listen::before{transition:none}}

.ps-listen-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:950;width:min(720px,calc(100% - 32px));translate:-50% 0;opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.ps-listen-bar.is-open{opacity:1;transform:none;pointer-events:auto}
.ps-listen-bar__inner{display:flex;align-items:center;gap:6px;padding:10px 12px 10px 10px;border-radius:18px;background:var(--b-ffffff,#ffffff);border:1px solid var(--d-e1e6f5,#e1e6f5);color:var(--t-111013,#111013);box-shadow:0 18px 40px -16px rgba(20,33,61,.45),0 2px 6px -2px rgba(20,33,61,.12)}
.ps-listen-bar__btn{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--t-111013,#111013);cursor:pointer;transition:background .15s}
.ps-listen-bar__btn:hover{background:var(--b-f3f7fd,#f3f7fd)}
.ps-listen-bar__toggle{width:44px;height:44px;flex-basis:44px;background:var(--b-3358f5,#3358f5);color:var(--t-ffffff,#ffffff)}
.ps-listen-bar__toggle:hover{background:var(--b-2748eb,#2748eb)}
.ps-listen-bar__btn:focus-visible,.ps-listen-bar__speed:focus-visible,.ps-listen-bar__seek:focus-visible{outline:2px solid var(--d-3358f5,#3358f5);outline-offset:2px}
.ps-listen-bar__main{flex:1 1 auto;min-width:0;padding:0 8px}
.ps-listen-bar__title{display:flex;align-items:baseline;gap:8px;min-width:0;font:600 13px/1.3 Inter,system-ui,sans-serif}
.ps-listen-bar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ps-listen-bar__ai{flex:0 0 auto;color:var(--t-5b5866,#5b5866);font-size:11px;font-weight:500}
.ps-listen-bar__seekrow{display:flex;align-items:center;gap:8px;margin-top:6px;font:500 11px/1 Inter,system-ui,sans-serif;color:var(--t-5b5866,#5b5866);font-variant-numeric:tabular-nums}
.ps-listen-bar__seek{--p:0%;flex:1 1 auto;min-width:0;height:18px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.ps-listen-bar__seek::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--b-3358f5,#3358f5) var(--p),var(--b-e1e6f5,#e1e6f5) var(--p))}
.ps-listen-bar__seek::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--b-3358f5,#3358f5) var(--p),var(--b-e1e6f5,#e1e6f5) var(--p))}
.ps-listen-bar__seek::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--b-3358f5,#3358f5);border:2px solid var(--d-ffffff,#ffffff);box-shadow:0 1px 3px rgba(20,33,61,.3)}
.ps-listen-bar__seek::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--b-3358f5,#3358f5);border:2px solid var(--d-ffffff,#ffffff)}
.ps-listen-bar__speed{flex:0 0 auto;min-width:48px;height:32px;padding:0 10px;border:1px solid var(--d-e1e6f5,#e1e6f5);border-radius:999px;background:transparent;color:var(--t-111013,#111013);font:600 12px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;cursor:pointer}
.ps-listen-bar__speed:hover{border-color:var(--d-3358f5,#3358f5)}
/* keep the TOC button clear of the bar on phones */
html.ps-listening .ps-toc-fab{bottom:calc(104px + env(safe-area-inset-bottom))}
@media (max-width:767px){
.ps-listen-bar{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px)}
.ps-listen-bar__inner{flex-wrap:wrap;gap:4px;padding:10px}
.ps-listen-bar__main{order:-1;flex:1 1 100%;padding:0 4px 4px}
.ps-listen-bar__speed{margin-left:auto}
html.ps-listening .ps-toc-fab{bottom:calc(144px + env(safe-area-inset-bottom))}
}
@media print{.ps-listen,.ps-listen-bar{display:none!important}}

/* ================================================================ form confirmation (successMessage .ps-done, scripts/lib/e2b.php) */
.brxe-form:has(.message.success .ps-done)>:not(.message){display:none!important}
.brxe-form .message.success:has(.ps-done){width:100%;margin:0;padding:0;background:none;border:0;color:inherit}
.brxe-form .message.success:has(.ps-done) .text{width:100%}
.ps-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;text-align:center;border-radius:16px;background:var(--b-f3f7fd,#f3f7fd);border:1px solid var(--d-e1e6f5,#e1e6f5);animation:psDone .45s cubic-bezier(.22,1,.36,1) both}
.ps-done__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--b-3358f5,#3358f5);color:var(--t-ffffff,#ffffff);box-shadow:0 10px 24px -10px rgba(51,88,245,.6)}
.ps-done__icon::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat}
.ps-done__title{font-size:20px;line-height:1.3;font-weight:700;color:var(--t-111013,#111013)}
.ps-done__text{max-width:440px;font-size:15px;line-height:1.6;color:var(--t-5b5866,#5b5866)}
@keyframes psDone{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ps-done{animation:none}}

/* hero: the button row gets the same visual space above (after the paragraph) as below (to the list) */
.home .ps-sec--hero .brxe-text+.brxe-block:has(>.brxe-button){margin-top:12px!important}

/* ================================================================ one content edge on every screen
   Header, page sections, post hero and footer share the same left/right edge: content max 1300px,
   side gutter 20px (phone) / 32px (tablet) / 40px (laptop+). At 1440px that edge is 70px. */
:root{--ps-maxw:1300px}
@media (min-width:768px){:root{--ps-gutter:32px}}
@media (min-width:1025px){:root{--ps-gutter:40px}}
@media (min-width:768px){
#brx-header>.brxe-section,#brx-content>.brxe-section{padding-left:var(--ps-gutter)!important;padding-right:var(--ps-gutter)!important}
#brx-header .brxe-container{width:100%;max-width:var(--ps-maxw)}
#brx-header .brxe-container>.brxe-block:first-child{padding-left:0!important}
#brx-header .brxe-container>.brxe-block:last-child{padding-right:0!important}
#brx-content>.brxe-section>.brxe-container{padding-left:0!important;padding-right:0!important}
.ps-post-hero,.ps-post-body{padding-left:var(--ps-gutter)!important;padding-right:var(--ps-gutter)!important}
.ps-post-hero__inner{max-width:var(--ps-maxw)}
.psf-root{padding-left:var(--ps-gutter)!important;padding-right:var(--ps-gutter)!important}
.psf-inner{max-width:var(--ps-maxw)}
}
/* the dark AI-checker band (homepage HTML block) uses the same content width as everything else */
.acx{max-width:var(--ps-maxw)!important}

/* ================================================================ author page in the blog design (build-archive-templates.php) */
.ps-author-hero2 .ps-author-avatar{display:block;width:120px;height:120px;margin:8px auto 4px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:4px solid var(--d-ffffff,#ffffff);box-shadow:0 14px 30px -14px rgba(20,33,61,.45)}
.ps-author-hero2 .ps-author-ctas{justify-content:center;margin-top:14px}
.ps-author-hero2 .ps-author-social{justify-content:center;margin:2px 0 0}
.ps-author-cards--3>.brxe-container{display:grid!important;grid-template-columns:1.35fr 1fr 1fr;gap:24px;align-items:stretch}
.ps-author-cards--3 .ps-author-card{width:auto!important;min-width:0;margin:0!important}
.ps-author-about h2,.ps-author-cards--3 .ps-author-card h2{margin:0 0 14px}
@media (max-width:1024px){.ps-author-cards--3>.brxe-container{grid-template-columns:1fr 1fr}.ps-author-about{grid-column:1/-1}}
@media (max-width:767px){.ps-author-cards--3>.brxe-container{grid-template-columns:1fr}.ps-author-hero2 .ps-author-ctas>.brxe-button{flex:1 1 100%}}

/* accessibility: links inside running text are underlined (not colour alone); visually hidden headings */
.brxe-post-content :is(p,li,td,figcaption,blockquote) a:not(.wp-element-button),#brx-content.wordpress :is(p,li) a,.ps-form label a,.brxe-form label a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ps-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
/* mobile menu on tablets: same 32px edge as the header/content, opening just below the (taller) tablet header */
@media (min-width:768px) and (max-width:1024px){
.ps-nav .bricks-mobile-menu-wrapper{left:var(--ps-gutter)!important;right:var(--ps-gutter)!important;top:78px!important}
.admin-bar .ps-nav .bricks-mobile-menu-wrapper{top:110px!important}
}
/* desktop dropdown: item text lines up with the parent item's text (16px from the pill edge); an invisible
   bridge covers the 8px gap so the menu never closes while the mouse moves down to it */
.ps-nav .bricks-nav-menu .sub-menu{padding:6px}
.ps-nav .sub-menu a{padding:10px}
.ps-nav .bricks-nav-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
@media (min-width:1025px) and (max-width:1280px){.ps-nav .sub-menu a{padding-left:6px;padding-right:6px}} /* items padded 12px here */
/* footer on tablets: intro + contact side by side, newsletter full width below with name + email in one row */
@media (min-width:768px) and (max-width:1024px){
.psf-main{display:grid!important;grid-template-columns:1fr 1fr;gap:44px 48px}
.psf-main>.psf-col{width:auto!important;flex:none!important;min-width:0}
.psf-main>.psf-news{grid-column:1/-1}
.psf-news .brxe-form{display:flex;flex-wrap:wrap;column-gap:12px}
.psf-news .brxe-form>*{flex:1 1 100%}
.psf-news .brxe-form>.form-group:nth-child(-n+2){flex:1 1 calc(50% - 6px);width:auto}
}
/* header logo: no text-line gap under the image, so it is centred exactly like the burger and button */
#brx-header .ps-logo{display:flex;align-items:center;line-height:0}
#brx-header .ps-logo img{display:block}
@media (max-width:767px){#brx-header .brxe-container{min-height:70px;align-items:center}} /* phone header stays 70px (--ps-hdr) */
/* hero on tablets: the stacked second column (illustration, portrait or form card) uses the full content width
   like the text above it; images become a banner of capped height, forms get name + email side by side */
@media (min-width:768px) and (max-width:1024px){
.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2){width:100%!important;max-width:none!important;flex-basis:auto!important;margin-left:0!important;margin-right:0!important;align-self:stretch!important}
.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2)>picture{display:block;width:100%}
.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2)>img,.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2)>picture>img{display:block;width:100%!important;max-width:none!important;height:clamp(300px,42vw,420px)!important;object-fit:cover;margin:0!important} /* live images are wrapped in <picture> by ShortPixel */
.ps-sec--hero .ps-hero-portrait{object-position:50% 16%}
.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2) .brxe-template,.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2) .brxe-template>.brxe-block{width:100%!important;max-width:none!important}
.ps-sec--hero .brxe-form{display:flex;flex-wrap:wrap;column-gap:12px}
.ps-sec--hero .brxe-form>*{flex:1 1 100%}
.ps-sec--hero .brxe-form>.form-group:nth-child(-n+2){flex:1 1 calc(50% - 6px);width:auto}
}
@media (min-width:768px) and (max-width:1024px){.ps-sec--hero>.brxe-container>.brxe-block:nth-child(2):has(.ps-seo-hero-visual){display:none!important}} /* decorative service art: hidden like on phones */
