/* PeopleCore · system defined in design.md
   Layout: one 1160px column; page families (home, service, catalog, company, utility) vary section shapes, not tokens. */
:root{
  /* colour */
  --bg:#f6f8f7;
  --surface:#fcfdfd;
  --fg:#10201f;
  --muted:#4b5c5b;
  --line:#d9e2e0;
  --brand:#006b6e;
  --brand-ink:#fcfdfd;
  --brand-deep:#003435;
  --signal:#ffc200;
  --signal-ink:#1d1a05;
  --tint:#e3efee;
  --error:#a3261b;
  --screen:#ffffff; /* backdrop for screenshots and client logos */
  --screen-ink:#10201f; /* text on --screen, same in both themes */
  --map-dot:#c7d7d5;
  --on-dark:#f7fbfa;
  --on-dark-muted:#a9c6c4;
  --rule-on-dark:rgba(247,251,250,.16);
  --glass-on-dark:rgba(0,52,53,.72);
  --overlay:linear-gradient(90deg,rgba(0,28,29,.88) 0%,rgba(0,28,29,.62) 45%,rgba(0,28,29,.12) 100%),linear-gradient(0deg,rgba(0,28,29,.45) 0%,transparent 32%);
  --overlay-flat:rgba(0,28,29,.76);
  --shadow:0 24px 48px -28px rgba(0,52,53,.38);
  /* type */
  --display:"Schibsted Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Figtree",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --text-sm:14px; --text-md:15.5px; --text-base:17px; --text-lg:20px; --text-xl:24px;
  --text-2xl:clamp(28px,3.6vw,42px); --text-3xl:clamp(36px,5.2vw,60px); --text-4xl:clamp(40px,6vw,72px);
  /* space */
  --space-2xs:4px; --space-xs:8px; --space-sm:12px; --space-md:16px; --space-lg:24px;
  --space-xl:32px; --space-2xl:48px; --space-3xl:64px; --space-4xl:96px; --space-5xl:128px;
  --section-y:clamp(64px,9vw,112px);
  --gutter:clamp(16px,4vw,32px);
  /* shape */
  --radius-sm:8px; --radius:10px; --radius-lg:16px;
  --control-h:46px;
  /* layers */
  --z-dropdown:30; --z-header:40; --z-skip:50;
}


/* ---------- base ---------- */
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:var(--text-base);line-height:1.6}
img{max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{font-family:var(--display);font-style:normal;line-height:1.1;letter-spacing:-0.02em;text-wrap:balance;margin:0;overflow-wrap:anywhere;min-width:0}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:var(--space-md);top:-100px;z-index:var(--z-skip);background:var(--signal);color:var(--signal-ink);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:600;text-decoration:none}
.skip:focus{top:var(--space-md)}
.label{font-family:var(--body);font-weight:600;font-size:var(--text-sm);color:var(--brand);letter-spacing:0}
.lede{font-size:clamp(17px,1.9vw,var(--text-lg));color:var(--muted);max-width:40em}

/* ---------- mockup notice ---------- */
.notice{background:var(--signal);color:var(--signal-ink);font-size:13.5px;text-align:center;padding:var(--space-xs) var(--space-md);font-weight:500}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--control-h);font-family:var(--body);font-weight:600;font-size:var(--text-md);line-height:1;padding:0 var(--space-lg);border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary{background:var(--brand);color:var(--brand-ink)}
.btn-primary:hover{background:color-mix(in srgb,var(--brand) 86%,var(--fg))}
.btn-ghost{border-color:var(--line);color:var(--fg);background:var(--surface)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-signal{background:var(--signal);color:var(--signal-ink)}
.btn-signal:hover{background:color-mix(in srgb,var(--signal) 85%,var(--on-dark))}
.text-link{font-weight:600;color:var(--brand);text-decoration:none;white-space:nowrap}
.text-link::after{content:" →"}
.text-link:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- header ---------- */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:var(--z-header);border-bottom:1px solid var(--line)}
/* the frosted glass lives on a pseudo-layer: a blur on the header itself would trap the fixed mobile menu inside the bar */
header.site::before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);height:68px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-img{display:block;height:30px;width:auto}
.logo-on-dark{display:none}

.links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;font-weight:500;font-size:var(--text-md)}
.links > li{position:relative}
.links > li > a{display:inline-flex;align-items:center;gap:5px;padding-block:22px;white-space:nowrap;text-decoration:none;color:var(--muted);line-height:1}
.links > li > a:hover{color:var(--fg)}
.links > li > a[aria-current="page"]{color:var(--fg)}
.links > li > a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;background:var(--signal);border-radius:2px}
.caret{font-size:10px;opacity:.6}
.dropdown{position:absolute;top:100%;left:-14px;min-width:250px;list-style:none;margin:0;padding:var(--space-xs);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:none;z-index:var(--z-dropdown)}
.links > li:hover .dropdown,.links > li:focus-within .dropdown{display:block}
.dropdown a{display:block;padding:9px var(--space-sm);border-radius:var(--radius-sm);color:var(--fg);font-size:var(--text-md);text-decoration:none;white-space:nowrap}
.dropdown a:hover,.dropdown a[aria-current="page"]{background:var(--tint);color:var(--brand)}
.menu-btn{display:none;min-height:40px;background:none;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:0 var(--space-sm);color:var(--fg);font:inherit;font-size:var(--text-sm);cursor:pointer}
.menu-btn:active{transform:translateY(1px)}
.mobile-menu{border-top:1px solid var(--line);padding-block:var(--space-sm) var(--space-lg)}
.mobile-menu h4{font-family:var(--body);font-size:var(--text-sm);font-weight:600;color:var(--brand);margin:var(--space-md) 0 2px;letter-spacing:0}
.mobile-menu a{display:block;padding:7px 0;text-decoration:none;font-weight:500}
@media (max-width:940px){.links,.nav > .btn{display:none}.menu-btn{display:block}}

/* ---------- home hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--brand-deep);color:var(--on-dark);min-height:clamp(560px,78vh,760px);display:flex;align-items:center;padding-block:clamp(64px,8vw,96px) clamp(96px,12vw,136px)}
.hero .wrap{width:100%}
.hero-copy{position:relative;z-index:2;max-width:780px}
.hero .crumbs{color:var(--signal)}
.hero h1{font-size:var(--text-4xl);font-weight:800;line-height:1.04;margin-block:0 22px;color:var(--on-dark)}
.hero h1 em{font-style:normal;color:var(--on-dark);background:linear-gradient(180deg,transparent 52%,color-mix(in srgb,var(--signal) 70%,transparent) 52%,color-mix(in srgb,var(--signal) 70%,transparent) 90%,transparent 90%);padding-inline:2px}
.hero .lede{color:color-mix(in srgb,var(--on-dark) 86%,transparent);max-width:36em}
.hero .ctas,.page-hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);margin-top:var(--space-xl)}
.hero .btn-primary,.page-hero .btn-primary{background:var(--signal);color:var(--signal-ink)}
.hero .btn-primary:hover,.page-hero .btn-primary:hover{background:color-mix(in srgb,var(--signal) 85%,var(--on-dark))}
.hero .btn-ghost,.page-hero .btn-ghost{background:transparent;border-color:color-mix(in srgb,var(--on-dark) 50%,transparent);color:var(--on-dark)}
.hero .btn-ghost:hover,.page-hero .btn-ghost:hover{border-color:var(--on-dark)}
.ticks{display:flex;flex-wrap:wrap;gap:var(--space-xs) 22px;margin-top:var(--space-xl);font-size:14.5px;color:color-mix(in srgb,var(--on-dark) 82%,transparent);list-style:none;padding:0}
.ticks li::before{content:"✓";color:var(--signal);font-weight:700;margin-right:7px}
.stage,.photos{position:absolute;inset:0}
.stage{z-index:1}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform 8s ease-out}
.slide.on img{transform:scale(1.06)}
.slide::after{content:"";position:absolute;inset:0;background:var(--overlay)}
.slide figcaption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0} /* kept for screen readers and the photo dots, not shown */
.photo-ctrl{position:absolute;z-index:3;right:var(--gutter);bottom:var(--space-lg);display:flex;align-items:center;gap:10px;background:var(--glass-on-dark);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px var(--space-xs) 6px var(--space-sm);border-radius:999px}
@media (max-width:700px){.slide::after{background:var(--overlay-flat)}.slide figcaption{display:none}}
.dots,.qdots{display:flex;gap:6px}
.dots button{width:8px;height:8px;border-radius:999px;border:0;padding:0;background:color-mix(in srgb,var(--on-dark) 45%,transparent);cursor:pointer;transition:width .3s ease,background-color .3s ease}
.dots button[aria-current="true"]{width:22px;background:var(--signal)}
.pause{background:none;border:0;color:var(--on-dark);font-size:10px;letter-spacing:-1px;cursor:pointer;padding:2px 4px;line-height:1}

/* ---------- page hero (service, catalog, company) ---------- */
.page-hero{position:relative;overflow:hidden;background:var(--brand-deep);color:var(--on-dark);padding-block:clamp(56px,7vw,88px) clamp(80px,10vw,124px)}
.page-hero:not(.solid){min-height:clamp(460px,44vw,700px);display:flex;align-items:center}
.page-hero:not(.solid) > .wrap{width:100%}
.page-hero:not(.solid) h1{max-width:12.5em}
.page-hero:not(.solid) .lede{max-width:32em}
.page-hero .bg{position:absolute;inset:0;margin:0}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;display:block}
.page-hero .bg img[src*="pumpjack-prairie"]{object-position:center 85%}
.page-hero .bg img[src*="lng-tanker"]{object-position:65% center}
.page-hero .bg img[src*="workshop-presenter"]{object-position:center 30%}
.page-hero .bg img[src*="trainer-crew"]{object-position:center 28%}
.page-hero .bg::after{content:"";position:absolute;inset:0;background:var(--overlay)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{font-size:var(--text-3xl);font-weight:800;line-height:1.05;color:var(--on-dark);margin-block:14px 18px;max-width:18em}
.page-hero h1:first-child{margin-top:0}
.page-hero .lede{color:color-mix(in srgb,var(--on-dark) 86%,transparent)}
.page-hero.solid{padding-block:clamp(48px,6vw,72px) clamp(64px,8vw,96px)}
.page-hero.solid h1{font-size:clamp(34px,4.6vw,52px)}
.crumbs{font-size:var(--text-sm);font-weight:600;color:var(--signal);display:flex;flex-wrap:wrap;gap:var(--space-xs)}
.crumbs a{color:color-mix(in srgb,var(--on-dark) 75%,transparent);text-decoration:none;white-space:nowrap}
.crumbs a:hover{color:var(--on-dark)}
.crumbs [aria-hidden]{color:color-mix(in srgb,var(--on-dark) 40%,transparent)}

/* ---------- section tabs ---------- */
.subnav{background:var(--surface);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:none}
.subnav a{padding:var(--space-xs) 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:500;white-space:nowrap;font-size:var(--text-md)}
.subnav a:hover{color:var(--fg)}
.subnav a[aria-current="page"]{background:var(--tint);color:var(--brand)}

/* ---------- sections ---------- */
section.block{padding-block:var(--section-y)}
section.block.tight-top{padding-top:0}
.alt-bg{background:var(--surface);border-block:1px solid var(--line)}
.sec-head{display:grid;gap:var(--space-md);max-width:46rem;margin-bottom:var(--space-2xl)}
.sec-head h2{font-size:var(--text-2xl);font-weight:700}
.sec-head p{color:var(--muted)}
.sec-head.row{max-width:none;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--space-md) var(--space-xl)}
.sec-head.row > div{display:grid;gap:var(--space-md);max-width:46rem;min-width:0}
.h2{font-size:var(--text-2xl);font-weight:700}
.h3{font-size:22px;font-weight:700}
.prose{color:var(--muted);max-width:66ch;display:grid;gap:1em}
.prose strong{color:var(--fg);font-weight:600}
.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;align-content:start}
.stack.narrow{max-width:46rem}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.split.rev > .media{order:-1}
.media{margin:0;min-width:0}
.media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg)}
.media.contain img{aspect-ratio:auto;object-fit:contain;background:var(--screen);border:1px solid var(--line);padding:10px}
.media figcaption{font-size:13.5px;color:var(--muted);margin-top:10px}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}.split.rev > .media{order:0}}

.checks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.checks li{position:relative;padding-left:30px}
.checks li::before{content:"";position:absolute;left:0;top:.3em;width:19px;height:19px;border-radius:6px;background:var(--tint)}
.checks li::after{content:"";position:absolute;left:7px;top:calc(.3em + 4px);width:5px;height:9px;border:solid var(--brand);border-width:0 2px 2px 0;transform:rotate(45deg)}
.checks.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
@media (max-width:640px){.checks.two{grid-template-columns:minmax(0,1fr)}}

/* index rows: destinations and deliverables */
.index{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.index li{border-bottom:1px solid var(--line)}
.index a,.index .row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) 9.5em;gap:var(--space-xs) var(--space-xl);align-items:baseline;padding-block:22px;text-decoration:none;transition:background-color .2s ease}
.index h3{font-size:var(--text-xl);font-weight:700;transition:color .2s ease}
.index p{color:var(--muted)}
.index .go{font-weight:600;color:var(--brand);white-space:nowrap;font-size:var(--text-md);justify-self:end}
.index .go::after{content:" →";display:inline-block;transition:transform .2s ease}
.index a:hover h3{color:var(--brand)}
.index a:hover .go::after{transform:translateX(3px)}
.index .kind{display:block;font-size:var(--text-sm);font-weight:600;color:var(--brand);margin-bottom:var(--space-2xs)}
@media (max-width:760px){.index a,.index .row{grid-template-columns:minmax(0,1fr)}.index .go{justify-self:start}}

/* definition rows: causes, steps, models, Q&A */
.defs{margin:0;border-top:1px solid var(--line)}
.defs > div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-xs) var(--space-xl);padding-block:20px;border-bottom:1px solid var(--line)}
.defs dt{font-family:var(--display);font-weight:700;font-size:var(--text-lg);letter-spacing:-0.01em}
.defs dd{margin:0;color:var(--muted)}
.defs dd + dd{margin-top:.8em;grid-column:2}
@media (max-width:700px){.defs dd + dd{grid-column:1}}
.why .defs{border-color:var(--rule-on-dark)}
.why .defs > div{border-color:var(--rule-on-dark)}
.why .defs dt{color:var(--on-dark)}
.why .defs dd{color:var(--on-dark-muted)}
@media (max-width:700px){.defs > div{grid-template-columns:minmax(0,1fr)}}

/* cards: only for choices */
.grid{display:grid;gap:20px}
.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.grid.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:minmax(0,1fr)}}
.card-list{list-style:none;margin:0;padding:0}
.card-list > li{display:flex;min-width:0}
.card-list .card{flex:1}
.card-list .card h3{font-size:21px}
.course-group + .course-group{margin-top:var(--space-2xl)}
.course-group .sec-head{margin-bottom:var(--space-lg)}
.card .ico{width:44px;height:44px;border-radius:var(--radius);background:var(--tint);color:var(--brand);display:grid;place-items:center;margin-bottom:var(--space-xs)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card h3{font-size:var(--text-lg);font-weight:700}
.card p{color:var(--muted);font-size:var(--text-md)}
.card .label{margin-bottom:-2px}
a.card{text-decoration:none;transition:border-color .2s ease,transform .2s ease}
a.card:hover{border-color:var(--brand);transform:translateY(-2px)}
a.card:active{transform:translateY(0)}
.card .go{font-weight:600;color:var(--brand);font-size:var(--text-md);margin-top:auto;padding-top:6px}
.card .go::after{content:" →"}
.card.photo{padding:0;overflow:hidden}
.card.photo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.card.photo .body{padding:22px var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.bento > *{grid-column:span 2}
.bento > *:nth-child(-n+2){grid-column:span 3}
.bento > *:nth-child(-n+2) img{aspect-ratio:16/8}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento > *,.bento > *:nth-child(-n+2){grid-column:span 1}}
@media (max-width:600px){.bento{grid-template-columns:minmax(0,1fr)}}

/* statement */
.statement{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.18;letter-spacing:-0.02em;max-width:30em;border-left:4px solid var(--signal);padding-left:clamp(18px,3vw,28px);text-wrap:balance}
.statement cite{display:block;font-family:var(--body);font-style:normal;font-size:var(--text-md);font-weight:500;color:var(--muted);margin-top:var(--space-md);letter-spacing:0}

.facts{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.facts > div{padding:20px var(--space-lg) 0 0}
.facts > div + div{padding-left:var(--space-lg);border-left:1px solid var(--line)}
.facts dt{font-size:var(--text-sm);font-weight:600;color:var(--brand)}
.facts dd{margin:4px 0 0;font-family:var(--display);font-weight:700;font-size:var(--text-lg);letter-spacing:-0.01em}
@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts > div:nth-child(3){padding-left:0;border-left:0}.facts > div:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.stat{padding:28px var(--space-lg) var(--space-xs) 0}
.stat + .stat{padding-left:var(--space-lg);border-left:1px solid var(--line)}
.stat b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(44px,6vw,72px);line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.stat span{display:block;color:var(--muted);margin-top:10px;max-width:16em}
.source{font-size:var(--text-sm);color:var(--muted);margin-top:18px}
@media (max-width:640px){.stats{grid-template-columns:minmax(0,1fr)}.stat + .stat{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* timeline */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--space-xs) 28px;padding-block:22px;border-top:1px solid var(--line)}
.timeline time{font-family:var(--mono);font-size:13px;color:var(--brand);padding-top:3px;font-variant-numeric:tabular-nums}
.timeline h3{font-size:19px;font-weight:700;margin-bottom:var(--space-2xs)}
.timeline p{color:var(--muted)}
@media (max-width:620px){.timeline li{grid-template-columns:minmax(0,1fr)}}

/* course cards */
.courses{display:grid;gap:var(--space-lg)}
.course{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(20px,4vw,40px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,3vw,32px);align-items:start}
.course img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);display:block}
.course h3{font-size:clamp(22px,2.4vw,28px);font-weight:700;margin-block:6px var(--space-sm)}
.course .desc{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:14px;list-style:none;padding:0}
.chip{font-family:var(--mono);font-size:12px;padding:5px 10px;border-radius:999px;background:var(--tint);color:var(--brand)}
.chip.warn{font-family:var(--body);font-weight:600;background:color-mix(in srgb,var(--signal) 25%,var(--surface));color:var(--fg)}
.course details{border-top:1px solid var(--line);margin-top:var(--space-md);padding-top:14px}
.course details + details{margin-top:0}
.course summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:var(--space-md);min-height:28px;align-items:center}
.course summary::-webkit-details-marker{display:none}
.course summary::after{content:"+";color:var(--brand);font-size:20px;line-height:1}
.course details[open] summary::after{content:"–"}
.course summary:hover{color:var(--brand)}
.course details > *:not(summary){margin-top:var(--space-sm)}
.course ol{margin:var(--space-sm) 0 0;padding-left:22px;color:var(--muted);display:grid;gap:var(--space-2xs)}
.course .aud{color:var(--muted)}
@media (max-width:760px){.course{grid-template-columns:minmax(0,1fr)}.course img{aspect-ratio:16/9}}

/* before / after */
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.compare figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}
.compare img{width:100%;border-radius:var(--radius-sm);display:block;background:var(--screen)}
.compare figcaption{font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.compare figure.good{border-color:var(--brand);box-shadow:0 0 0 3px var(--tint)}
.compare figure.good figcaption{color:var(--brand)}
@media (max-width:700px){.compare{grid-template-columns:minmax(0,1fr)}}

/* dark band */
.why{background:var(--brand-deep);color:var(--on-dark)}
.why h2,.why h3{color:var(--on-dark)}
.why .sec-head p,.why .lede{color:var(--on-dark-muted)}
.why .label{color:var(--signal)}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule-on-dark)}
.pillars.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.pillar{padding:28px 28px var(--space-xs) 0}
.pillar + .pillar{padding-left:28px;border-left:1px solid var(--rule-on-dark)}
.pillar h3{font-size:var(--text-lg);margin-bottom:10px}
.pillar p{color:var(--on-dark-muted);font-size:var(--text-md)}
/* five pillars: a yellow number on each, and titles and text lined up across the row */
.pillars.five{counter-reset:pillar}
.pillars.five .pillar{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:10px;align-content:start;counter-increment:pillar}
.pillars.five .pillar::before{content:counter(pillar,decimal-leading-zero);font-family:var(--display);font-weight:700;font-size:var(--text-md);color:var(--signal)}
.pillars.five .pillar h3{margin:0;text-wrap:balance}
@media (max-width:1000px){.pillars,.pillars.five{grid-template-columns:repeat(2,minmax(0,1fr))}.pillar,.pillar + .pillar{padding-left:0;border-left:0;border-top:1px solid var(--rule-on-dark)}.pillar:nth-child(even){padding-left:28px;border-left:1px solid var(--rule-on-dark)}.pillar:nth-child(-n+2){border-top:0}}
@media (max-width:560px){.pillars,.pillars.five{grid-template-columns:minmax(0,1fr)}.pillar:nth-child(even){padding-left:0;border-left:0}.pillar:nth-child(2){border-top:1px solid var(--rule-on-dark)}}

/* CTA band and next-page link */
.cta-band{background:var(--brand-deep);color:var(--on-dark);border-radius:18px;padding:clamp(28px,5vw,56px);display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg) 40px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;color:var(--on-dark);max-width:18em}
.cta-band p{color:var(--on-dark-muted);margin-top:10px;max-width:36em}
.next-page{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-md);border-top:1px solid var(--line);padding-top:var(--space-xl)}
.next-page a{display:grid;gap:var(--space-2xs);text-decoration:none}
.next-page a span{font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.next-page a b{font-family:var(--display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-0.02em}
.next-page a b::after{content:" →";color:var(--brand)}
.next-page a:hover b{color:var(--brand)}

/* client logos: colour tiles in a continuous scroll; pauses on hover, focus or the pause button */
.band{border-block:1px solid var(--line);background:var(--surface)}
.band .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-md);padding-block:28px}
.band p{grid-column:1/-1;font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.marquee{overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 70s linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.clients{list-style:none;margin:0;padding:0 10px 0 0;display:flex;gap:10px}
.client{flex:0 0 168px;height:72px;background:var(--screen);border:1px solid var(--line);border-radius:var(--radius-sm);display:grid;place-items:center;padding:10px 14px;min-width:0}
.client img{max-width:100%;max-height:36px;width:auto;height:auto;object-fit:contain}
.client.tall img{max-height:48px}
.client.solid{background:var(--brand-deep);border-color:var(--brand-deep)}
.client.word span{font-family:var(--display);font-weight:700;font-size:12.5px;line-height:1.15;text-align:center;color:var(--screen-ink);letter-spacing:-0.01em}
.marquee-pause{margin-left:0}
@media (prefers-reduced-motion:reduce){
  .marquee{-webkit-mask-image:none;mask-image:none}
  .marquee-track{width:auto}
  .marquee-track .clients{flex-wrap:wrap;padding:0}
  .marquee-track .clients[aria-hidden]{display:none}
  .marquee-pause{display:none}
}
.logos{display:flex;flex-wrap:wrap;gap:var(--space-sm);flex:1}
.slot{flex:1 1 110px;min-height:40px;border:1.5px dashed var(--line);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:12.5px;color:var(--muted);padding:var(--space-xs)}
.slot.tall{min-height:120px}
.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}

/* testimonials */
.quotes{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
@media (max-width:900px){.quotes{grid-template-columns:minmax(0,1fr)}}
.quote-rotator{display:grid}
.quote-page{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease,visibility 0s .6s}
.quote-page.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease,transform .6s ease}
.quote-ctrl{display:flex;align-items:center;gap:var(--space-sm);margin-top:28px}
.qdots{gap:var(--space-xs)}
.qdots button{width:9px;height:9px;border-radius:999px;border:0;padding:0;background:var(--line);cursor:pointer;transition:width .3s ease,background-color .3s ease}
.qdots button[aria-current="true"]{width:26px;background:var(--brand)}
.qnav{width:40px;height:40px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font-size:16px;cursor:pointer;display:grid;place-items:center;transition:border-color .2s ease,color .2s ease}
.qnav:hover{border-color:var(--brand);color:var(--brand)}
.qnav:active{transform:translateY(1px)}
.qpause{font-size:10px;letter-spacing:-1px;margin-left:auto}
figure.q{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
figure.q blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:21px;line-height:1.3;letter-spacing:-0.01em}
figure.q.lead{background:var(--tint);border-color:transparent}
figure.q.lead blockquote{font-size:clamp(24px,2.6vw,30px)}
.tquotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:760px){.tquotes{grid-template-columns:minmax(0,1fr)}}
.tq{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:22px}
.tq h3{font-size:var(--text-lg);font-weight:700;margin-top:6px}
.tq blockquote{margin:0;color:var(--muted);font-size:16.5px}
.tq figcaption{display:flex;align-items:center;gap:14px;margin-top:auto}
.tq .av{width:52px;height:52px;border-radius:14px;object-fit:cover;flex:none;background:var(--tint);display:grid;place-items:center;font-family:var(--display);font-weight:700;color:var(--brand)}
.tq .who b{display:block}
.tq .who span{font-size:var(--text-sm);color:var(--muted)}

/* posts and filters */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.posts{grid-template-columns:minmax(0,1fr)}}
.post{text-decoration:none;display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}
.thumb{aspect-ratio:16/9;max-width:100%;border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.thumb.empty{display:grid;place-items:center;font-family:var(--display);font-weight:700;color:var(--brand);font-size:var(--text-lg);padding:20px;text-align:center}
.post:hover .thumb img{transform:scale(1.04)}
.post h3{font-size:var(--text-lg);font-weight:700;transition:color .2s ease}
.post:hover h3{color:var(--brand)}
.post .meta{font-size:13.5px;color:var(--muted)}
.post .go{font-weight:600;color:var(--brand);font-size:var(--text-md);margin-top:auto}
.post .go::after{content:" →"}
.filters{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-xl)}
.filters button,.filters a{display:inline-flex;align-items:center;text-decoration:none;font:inherit;font-size:14.5px;font-weight:500;min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;transition:border-color .2s ease,color .2s ease,background-color .2s ease}
.filters button:hover,.filters a:hover{border-color:var(--brand);color:var(--brand)}
.filters button[aria-pressed="true"],.filters a[aria-current]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}

/* forms */
.contact{background:var(--surface);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,80px)}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.contact h2{font-size:clamp(32px,4.4vw,48px);font-weight:800;margin-block:var(--space-sm) 18px}
.info-list{display:grid;gap:18px;margin-top:28px}
.info-list div{display:flex;flex-direction:column}
.info-list small{font-size:var(--text-sm);font-weight:600;color:var(--muted)}
.info-list span{font-weight:600;font-size:18px;user-select:all}
form.form-card{display:grid;gap:var(--space-xs);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(20px,3vw,32px);align-content:start}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
@media (max-width:520px){.row2{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:6px;min-width:0}
.field label{font-size:var(--text-sm);font-weight:600}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;min-height:var(--control-h);padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--fg);width:100%;outline:2px solid transparent;outline-offset:1px;transition:border-color .2s ease,background-color .2s ease}
.field textarea{min-height:120px;padding:12px 14px;resize:vertical}
.field input[type=file]{padding:10px 14px;line-height:1.4}
.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in srgb,var(--line) 50%,var(--brand))}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-radius:var(--radius-sm)}
.field [aria-invalid="true"]{border-color:var(--error);background:color-mix(in srgb,var(--error) 5%,var(--surface))}
.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.55;cursor:not-allowed}
.hint{min-height:1lh;font-size:13.5px;color:var(--muted);line-height:1.4}
.hint.err{color:var(--error);font-weight:500}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm) var(--space-lg);margin-top:var(--space-xs)}
.sent{background:var(--tint);border-radius:var(--radius-sm);padding:var(--space-sm) 14px;font-weight:500}

/* misc */
.note{font-size:var(--text-sm);color:var(--muted)}
.video-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--brand);text-decoration:none;white-space:nowrap}
.video-link::before{content:"▶";display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-size:12px}
.video-link:hover{text-decoration:underline;text-underline-offset:3px}

/* client map */
.client-map{display:grid;gap:var(--space-lg)}
.map-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding-block:12px}
.map{position:relative;width:100%;aspect-ratio:1760/680}
.map-dots{position:absolute;inset:0;background:var(--map-dot);-webkit-mask:url(../img/world-dots.svg) center/100% 100% no-repeat;mask:url(../img/world-dots.svg) center/100% 100% no-repeat}
.pin{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:3px solid var(--surface);background:var(--brand);padding:0;cursor:pointer;box-shadow:var(--shadow);transition:transform .2s ease}
.pin::before{content:"";position:absolute;inset:-10px;border-radius:50%}
.pin-office{background:var(--signal);z-index:2}
.pin-client::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--brand);animation:pin-pulse 2.4s ease-out infinite}
.pin:hover,.pin[aria-pressed="true"]{transform:scale(1.35)}
.pin[aria-pressed="true"]{border-color:var(--fg)}
@keyframes pin-pulse{from{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}
.map-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-xs) var(--space-xl);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;min-height:112px;align-items:start}
.map-panel h3{font-size:var(--text-lg);font-weight:700;margin-top:4px}
#map-lines{display:grid;gap:var(--space-xs)}
#map-lines p{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.8vw,20px);line-height:1.35;letter-spacing:-0.01em}
.map-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg);font-size:var(--text-sm);color:var(--muted)}
.map-legend li{display:flex;align-items:center;gap:8px}
.map-legend .key{width:12px;height:12px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.map-legend .key-office{background:var(--signal)}
.map-legend .key-client{background:var(--brand)}
.map-legend .hint-text{margin-left:auto}
@media (max-width:700px){.map{width:760px}.map-panel{grid-template-columns:minmax(0,1fr)}.map-legend .hint-text{margin-left:0}.pin{width:14px;height:14px;margin:-7px 0 0 -7px;border-width:2px}}

/* video poster with play button, and the media dialog */
.player{position:relative;display:block;width:100%;aspect-ratio:16/9;max-width:100%;border:0;padding:0;margin:0;background:var(--brand-deep);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;font:inherit;color:var(--on-dark)}
.player img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.player::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,28,29,.75) 0%,transparent 45%)}
.player:hover img{transform:scale(1.03)}
.player .play{position:absolute;z-index:1;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--signal);color:var(--signal-ink);display:grid;place-items:center;box-shadow:var(--shadow);transition:transform .2s ease}
.player .play svg{margin-left:3px}
.player:hover .play{transform:scale(1.06)}
.player:active .play{transform:scale(.97)}
.player .cap{position:absolute;z-index:1;left:18px;right:18px;bottom:14px;text-align:left;font-weight:600;font-size:var(--text-md)}
button.video-link{background:none;border:0;padding:0;font:inherit;font-weight:600;cursor:pointer}
.linkbtn{background:none;border:0;padding:6px 0 0;font:inherit;font-weight:600;color:var(--brand);cursor:pointer;text-align:left;margin-top:auto}
.linkbtn::after{content:" →"}
.linkbtn:hover{text-decoration:underline;text-underline-offset:3px}
.media-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow);overflow:auto}
.media-dialog::backdrop{background:rgba(0,28,29,.72)}
.md-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:14px 18px}
.md-head h2{font-size:var(--text-lg);font-weight:700}
.md-frame{position:relative;aspect-ratio:16/9;background:var(--brand-deep)}
.md-frame.demo{aspect-ratio:16/10}
.md-frame img{width:100%;height:100%;object-fit:cover;display:block;opacity:.4}
.md-frame p{position:absolute;inset:0;display:grid;place-items:center;padding:var(--space-xl);text-align:center;color:var(--on-dark);font-family:var(--display);font-weight:700;font-size:clamp(18px,2.4vw,24px);line-height:1.3;text-wrap:balance}
.md-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-lg);padding:14px 18px}

/* ---------- footer: original 4-column layout ---------- */
footer{background:var(--brand-deep);color:var(--on-dark-muted);font-size:var(--text-md)}
footer a{text-decoration:none}
footer a:hover{color:var(--on-dark)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr));gap:var(--space-xl);padding-block:56px var(--space-xl)}
.foot-brand{display:grid;gap:var(--space-md);align-content:start}
.foot-brand .logo{margin-bottom:2px}
footer h3{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark);margin:0 0 14px;font-weight:500}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-xs)}
.foot-info{gap:10px}
.foot-info li{display:flex;align-items:center;gap:10px;min-width:0}
.foot-info svg{flex:none;color:var(--signal)}
.foot-info b{color:var(--on-dark);font-weight:500;user-select:all;overflow-wrap:anywhere}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.social{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1.5px solid var(--rule-on-dark);color:var(--on-dark);transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.social:hover{background:var(--on-dark);border-color:var(--on-dark);color:var(--brand-deep)}
.social:active{transform:translateY(1px)}
.legal{grid-column:1/-1;border-top:1px solid var(--rule-on-dark);padding-top:22px;font-size:13.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}
.legal nav{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}
@media (max-width:1060px){.foot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}
@media (max-width:760px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}

/* =====================================================================
   WordPress integration: maps block markup onto the design system.
   ===================================================================== */
html{padding-top:0;padding-bottom:0}
.wp-site-blocks{padding:0}
.wp-site-blocks > *{margin-block-start:0}
header.site{top:var(--wp-admin--admin-bar--height,0px)}
.logo-on-dark{display:none!important}
.wp-block-group{box-sizing:border-box}
.wp-block-image{margin:0}
.wp-block-image.media img,.wp-block-image.bg img{max-width:none}
.wp-block-image.bg{position:absolute;inset:0}
.wp-block-image.bg img{width:100%;height:100%;object-fit:cover}
.wp-block-list.checks{padding-left:0}
.wp-block-heading{margin:0}

/* buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}
.wp-block-button{margin:0}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--control-h);font-family:var(--body);font-weight:600;font-size:var(--text-md);line-height:1;padding:0 var(--space-lg);border-radius:999px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease;background:var(--brand);color:var(--brand-ink)}
.wp-block-button__link:active{transform:translateY(1px)}
.wp-block-button.btn-primary .wp-block-button__link{background:var(--brand);color:var(--brand-ink)}
.wp-block-button.btn-primary .wp-block-button__link:hover{background:color-mix(in srgb,var(--brand) 86%,var(--fg))}
.wp-block-button.btn-ghost .wp-block-button__link{border-color:var(--line);color:var(--fg);background:var(--surface)}
.wp-block-button.btn-ghost .wp-block-button__link:hover{border-color:var(--brand);color:var(--brand)}
.wp-block-button.btn-signal .wp-block-button__link{background:var(--signal);color:var(--signal-ink)}
.page-hero .wp-block-button.btn-primary .wp-block-button__link{background:var(--signal);color:var(--signal-ink)}
.page-hero .wp-block-button.btn-ghost .wp-block-button__link{background:transparent;border-color:color-mix(in srgb,var(--on-dark) 50%,transparent);color:var(--on-dark)}
.page-hero .wp-block-button.btn-ghost .wp-block-button__link:hover{border-color:var(--on-dark)}
.cta-band .wp-block-button .wp-block-button__link{background:var(--signal);color:var(--signal-ink)}

/* embedded videos */
.wp-block-embed{margin:0}
.wp-block-embed iframe{border-radius:var(--radius-lg)}
.watch-list{display:grid;gap:var(--space-2xl)}
.watch-item{display:grid;gap:var(--space-md);scroll-margin-top:96px}
.demo-frame{position:relative;padding-top:62.5%;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}
.demo-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* header navigation (Navigation block) */
.site-nav{font-weight:500;font-size:var(--text-md)}
.site-nav .wp-block-navigation__container{gap:26px}
.site-nav .wp-block-navigation-item__content{color:var(--muted);text-decoration:none;padding-block:22px}
.site-nav .wp-block-navigation-item__content:hover,.site-nav .current-menu-item > .wp-block-navigation-item__content{color:var(--fg)}
.site-nav .wp-block-navigation__submenu-container{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-xs)!important;min-width:250px!important}
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{color:var(--fg);padding:9px var(--space-sm)!important;border-radius:var(--radius-sm)}
.site-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:var(--tint);color:var(--brand)}
.site-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--bg)!important;padding:var(--space-xl) var(--gutter)!important}
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding-block:8px}
.header-cta .wp-block-button__link{min-height:42px}
/* mobile menu: full-screen overlay above everything, scrolls on its own */
html.has-modal-open header.site,header.site:has(.is-menu-open){z-index:100000}
.site-nav .wp-block-navigation__responsive-container.is-menu-open{height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
@media (max-width:940px){.header-cta{display:none!important}}

/* blog: Query Loop */
.posts-query .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.posts-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.posts-query .wp-block-post-template{grid-template-columns:minmax(0,1fr)}}
.posts-query .wp-block-post{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}
.posts-query .wp-block-post-featured-image{margin:0;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--tint)}
.posts-query .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}
.posts-query .post-meta{display:flex;gap:6px;font-size:13.5px;color:var(--muted)}
.posts-query .post-meta a{color:inherit;text-decoration:none}
.posts-query .wp-block-post-title{font-size:var(--text-lg);font-weight:700;margin:0}
.posts-query .wp-block-post-title a{text-decoration:none}
.posts-query .wp-block-post-title a:hover{color:var(--brand)}
.wp-block-query-pagination{margin-top:var(--space-2xl);display:flex;gap:var(--space-md);font-weight:600}
.wp-block-query-pagination a{color:var(--brand);text-decoration:none}

/* single blog post */
.post-body{max-width:720px}
.post-body > * + *{margin-top:1.1em}
.post-body h2{font-size:var(--text-xl);margin-top:1.6em}
.post-body h3{font-size:var(--text-lg);margin-top:1.4em}
.post-body img{height:auto;border-radius:var(--radius)}
/* tables in articles and policies: hairline grid, tinted header; scroll sideways on narrow screens */
.post-body .wp-block-table{margin:1.4em 0;overflow-x:auto}
.post-body table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px;line-height:1.5}
.post-body th,.post-body td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.post-body thead th{background:var(--tint);color:var(--fg);font-weight:600}
/* long policies: two-column contents list, "back to top" links, headings clear the sticky header */
.post-body h2,.post-body h3{scroll-margin-top:96px}
.post-body #contents + ol{columns:2;column-gap:32px;padding:20px 20px 20px 44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.post-body #contents + ol li{break-inside:avoid;margin-bottom:4px}
.post-body .back-top{font-size:14px;margin-top:.8em}
.post-body .back-top a{color:var(--muted);text-decoration:none}
.post-body .back-top a::before{content:"\2191\00a0"}
.post-body .back-top a:hover{color:var(--brand)}
@media (max-width:640px){.post-body #contents + ol{columns:1}}
.post-body a{color:var(--brand)}
.post-featured{margin:0 0 var(--space-2xl)}
.post-featured img{width:100%;max-height:520px;object-fit:cover;border-radius:var(--radius-lg)}

/* Contact Form 7 */
.wpcf7 form.form-card .field{display:grid;gap:6px}
.wpcf7-form-control-wrap{display:block}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 select,.wpcf7 textarea{font:inherit;font-size:16px;min-height:var(--control-h);padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--fg);width:100%}
.wpcf7 textarea{min-height:120px;padding:12px 14px}
.wpcf7 input[type=file]{padding:10px 0}
.wpcf7 input:focus-visible,.wpcf7 select:focus-visible,.wpcf7 textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px}
.wpcf7-not-valid{border-color:var(--error)!important}
.wpcf7-not-valid-tip{color:var(--error);font-size:13.5px;font-weight:500;margin-top:4px}
.wpcf7 input.wpcf7-submit{min-height:var(--control-h);padding:0 var(--space-lg);border-radius:999px;border:0;background:var(--brand);color:var(--brand-ink);font:inherit;font-weight:600;cursor:pointer}
.wpcf7 input.wpcf7-submit:hover{background:color-mix(in srgb,var(--brand) 86%,var(--fg))}
.wpcf7 form .wpcf7-response-output{margin:var(--space-sm) 0 0;padding:var(--space-sm) 14px;border-radius:var(--radius-sm);border-width:1px}
.wpcf7-spinner{margin:0 0 0 8px}

/* ---------- buttons: one standard everywhere — logo yellow, rounded corners ---------- */
.btn,.wp-block-button__link,.wpcf7 input.wpcf7-submit,.wpforms-submit,button.wpforms-submit,
.hero .btn,.page-hero .btn,.page-hero .wp-block-button .wp-block-button__link,.cta-band .wp-block-button .wp-block-button__link,
.wp-block-button.btn-primary .wp-block-button__link,.wp-block-button.btn-ghost .wp-block-button__link,.wp-block-button.btn-signal .wp-block-button__link{
  background:var(--signal)!important;color:var(--signal-ink)!important;border:1.5px solid var(--signal)!important;border-radius:var(--radius)!important;font-weight:600}
.btn:hover,.wp-block-button__link:hover,.wpcf7 input.wpcf7-submit:hover,.wpforms-submit:hover,
.hero .btn:hover,.page-hero .btn:hover,.page-hero .wp-block-button .wp-block-button__link:hover,.cta-band .wp-block-button .wp-block-button__link:hover,
.wp-block-button.btn-primary .wp-block-button__link:hover,.wp-block-button.btn-ghost .wp-block-button__link:hover{
  background:#e6af00!important;border-color:#e6af00!important;color:var(--signal-ink)!important}
.btn:focus-visible,.wp-block-button__link:focus-visible,.wpcf7 input.wpcf7-submit:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
/* iOS Safari paints native submit buttons unless appearance is reset */
.wpcf7 input.wpcf7-submit,.wpforms-submit,input[type=submit],button[type=submit]{-webkit-appearance:none;appearance:none}
.wpcf7 input.wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);padding:0 var(--space-lg);font:inherit;font-weight:600;cursor:pointer}
/* the button classes sit on the block wrapper too; keep the wrapper transparent so no colour shows past the rounded corners */
.wp-block-button.btn-primary,.wp-block-button.btn-ghost,.wp-block-button.btn-signal{background:none!important;border:0!important;padding:0;min-height:0}
/* header: menu sits beside the Contact Us button, not centred in the bar */
.nav > .site-nav{margin-left:auto}
/* demo pages: framed viewer with a full-screen option */
.demo-viewer{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-sm);overflow:hidden;scroll-margin-top:96px}
.demo-viewer .pdfemb-viewer{max-width:100%!important;margin:0 auto}
.demo-viewer:fullscreen{padding:var(--space-sm);border-radius:0;overflow:auto;background:var(--surface)}
.demo-viewer:-webkit-full-screen{padding:var(--space-sm);border-radius:0;overflow:auto;background:var(--surface)}
.demo-frame:fullscreen{padding-top:0;border:0;border-radius:0}
.demo-frame:-webkit-full-screen{padding-top:0;border:0;border-radius:0}
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--muted)}
.demo-image{margin:0;text-align:center;background:var(--screen)}
.demo-image img{display:block;width:100%;max-width:780px;height:auto;margin:0 auto}
.demo-image:fullscreen{display:grid;place-items:center}
.demo-image:fullscreen img{max-width:100%;max-height:100vh;width:auto;object-fit:contain}
/* job application: numbered sections, choice lists and consents */
.form-section{border:0;margin:0;padding:var(--space-lg) 0 0;display:grid;gap:var(--space-md);min-width:0}
.form-section + .form-section{border-top:1px solid var(--line);margin-top:var(--space-lg)}
.form-section:first-child{padding-top:0}
.form-section legend{float:left;width:100%;padding:0;margin-bottom:var(--space-xs);display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-0.01em;color:var(--fg)}
.form-section legend + *{clear:both}
.form-section .step{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:var(--tint);color:var(--brand);font-family:var(--body);font-size:14px;font-weight:700}
.form-section > .note{margin:0}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}
.group-label{font-size:var(--text-sm);font-weight:600}
.wpcf7-radio,.wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.wpcf7-list-item{margin:0}
.wpcf7-radio .wpcf7-list-item label,.wpcf7-checkbox .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:15px;font-weight:500;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
.wpcf7-radio .wpcf7-list-item label:hover,.wpcf7-checkbox .wpcf7-list-item label:hover{border-color:var(--brand)}
.wpcf7-list-item label:has(input:checked){border-color:var(--brand);background:var(--tint);color:var(--brand)}
.wpcf7-list-item input[type=radio],.wpcf7-list-item input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--brand)}
.choices-grid .wpcf7-checkbox{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.choices-grid .wpcf7-list-item label{width:100%}
.consents{display:grid;gap:var(--space-sm)}
.consents .wpcf7-acceptance .wpcf7-list-item label,.consents .wpcf7-checkbox .wpcf7-list-item label{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:15px;font-weight:400;line-height:1.5;cursor:pointer}
.consents input[type=checkbox]{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--brand)}
.consents .wpcf7-checkbox,.consents .wpcf7-acceptance,.consents .wpcf7-list-item{display:block}
.consents .wpcf7-list-item label{width:100%}
.apply-intro{max-width:46em;margin-bottom:var(--space-xl)}
.apply-form{max-width:920px}
@media (max-width:760px){.row3,.choices-grid .wpcf7-checkbox{grid-template-columns:minmax(0,1fr)}.row2{grid-template-columns:minmax(0,1fr)}}
.wpcf7 input.wpcf7-submit:disabled{opacity:.5;cursor:not-allowed}
/* resume autofill: status line and highlighted fields to review */
.autofill-status{margin:0;font-size:var(--text-sm);color:var(--brand);font-weight:500}
.autofill-status:empty{display:none}
.autofilled input:not([type=checkbox]):not([type=radio]),.autofilled select,.autofilled textarea{background:color-mix(in srgb,var(--signal) 14%,var(--surface));border-color:color-mix(in srgb,var(--signal) 60%,var(--line))}
.autofilled .wpcf7-list-item label:has(input:checked){box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 55%,transparent)}
/* careers: numbered hiring steps (four across, same look as the five pillars) */
.pillars.steps{counter-reset:pillar}
.pillars.steps .pillar{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:10px;align-content:start;counter-increment:pillar}
.pillars.steps .pillar::before{content:counter(pillar,decimal-leading-zero);font-family:var(--display);font-weight:700;font-size:var(--text-md);color:var(--signal)}
.pillars.steps .pillar h3{margin:0}
/* careers: application beside a sticky help panel */
.apply-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,48px);align-items:start}
.apply-layout .apply-form{max-width:none}
.apply-aside{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 96px);display:grid;gap:var(--space-md)}
.aside-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;display:grid;gap:10px}
.aside-card h3{font-size:var(--text-lg);margin:0}
.aside-card p{margin:0;color:var(--muted);font-size:var(--text-md)}
.aside-card .checks{font-size:var(--text-md)}
.apply-aside > .note{margin:0;font-size:13px;line-height:1.5}
@media (max-width:960px){.apply-layout{grid-template-columns:minmax(0,1fr)}.apply-aside{position:static;order:-1;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.apply-aside > .note{grid-column:1/-1}}
/* application form: card on the light band, resume drop zone, file buttons, messages */
.apply-form form.form-card{background:var(--surface);box-shadow:var(--shadow);padding:clamp(22px,3.5vw,40px)}
.wpcf7 input[type=file]{width:100%;font-size:15px;color:var(--muted)}
.wpcf7 input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:14.5px;margin-right:14px;min-height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;transition:border-color .2s ease,color .2s ease}
.wpcf7 input[type=file]::file-selector-button:hover{border-color:var(--brand);color:var(--brand)}
.dropzone .wpcf7-form-control-wrap{display:block;border:2px dashed color-mix(in srgb,var(--brand) 35%,var(--line));border-radius:var(--radius-lg);background:var(--tint);padding:clamp(18px,3vw,28px);transition:border-color .2s ease,background-color .2s ease}
.dropzone .wpcf7-form-control-wrap:hover,.dropzone .wpcf7-form-control-wrap:focus-within{border-color:var(--brand)}
.dropzone input[type=file]{padding:0;border:0;background:none;min-height:0}
.dropzone input[type=file]::file-selector-button{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}
.dropzone input[type=file]::file-selector-button:hover{background:#e6af00;border-color:#e6af00;color:var(--signal-ink)}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--brand);background:var(--tint);color:var(--brand)}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border-color:var(--error);background:color-mix(in srgb,var(--error) 6%,var(--surface));color:var(--error)}
.wpcf7 input[type=date]{font:inherit;font-size:16px}
/* PDF preview pop-up */
html.pdf-open{overflow:hidden}
.pdf-dialog{width:min(1040px,calc(100vw - 24px));height:calc(100dvh - 24px);max-height:none;padding:0;border:0;border-radius:var(--radius-lg);background:var(--bg);color:var(--fg);box-shadow:var(--shadow);overflow:hidden}
.pdf-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.pdf-dialog::backdrop{background:rgba(0,28,29,.78)}
.pdf-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.pdf-head h2{font-size:var(--text-lg);margin:2px 0 0}
.pdf-close{width:40px;height:40px;flex:none;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font-size:24px;line-height:1;cursor:pointer}
.pdf-close:hover{border-color:var(--brand);color:var(--brand)}
.pdf-pages{overflow-y:auto;overscroll-behavior:contain;padding:clamp(12px,2.5vw,24px);-webkit-user-select:none;user-select:none}
.pdf-page + .pdf-page{margin-top:clamp(12px,2vw,20px)}
.pdf-page{width:100%;max-width:900px;margin-inline:auto;background:var(--surface);border-radius:var(--radius-sm);box-shadow:0 8px 24px -16px rgba(0,52,53,.45);overflow:hidden}
.pdf-page canvas{display:block;width:100%;height:auto;pointer-events:none}
.pdf-status{padding:var(--space-xl);text-align:center;color:var(--muted)}
.pdf-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-lg);padding:12px 18px;background:var(--surface);border-top:1px solid var(--line)}
.pdf-foot p{margin:0;font-size:var(--text-sm);color:var(--muted)}
@media print{.pdf-dialog{display:none!important}}
.board-sample img{max-width:1200px}
.media.natural img{aspect-ratio:auto;height:auto}
/* embedded video players (Brightcove and similar): 16:9 frame */
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#000;border:1px solid var(--line)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Mobile and tablet menu =====
   Hamburger below 1080px (the desktop menu does not fit under that width),
   and a full-screen panel styled like the rest of the site. */
.site-nav .nav-mobile-cta{display:none!important}
@media (max-width:1080px){
  .site-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
  .site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none!important}
  .header-cta{display:none!important}
}
.site-nav .wp-block-navigation__responsive-container-open{width:44px;height:44px;align-items:center;justify-content:center;margin-right:-10px;color:var(--fg)}
.site-nav .wp-block-navigation__responsive-container-open svg{width:28px;height:28px}
.site-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--surface)!important;color:var(--fg)!important;padding:0!important;font-family:var(--body);text-align:left}
.site-nav .is-menu-open .wp-block-navigation__responsive-close{max-width:none;width:100%;min-height:100%}
.site-nav .is-menu-open .wp-block-navigation__responsive-dialog{position:relative;min-height:100%;padding:68px var(--gutter) calc(var(--space-2xl) + env(safe-area-inset-bottom,0px))}
.site-nav .is-menu-open .wp-block-navigation__responsive-dialog::before{content:"";position:absolute;left:0;right:0;top:0;height:68px;border-bottom:1px solid var(--line);background:url(../img/logo.png) no-repeat var(--gutter) 50%/190px auto}
.site-nav .is-menu-open .wp-block-navigation__responsive-container-close{position:absolute;top:12px;right:calc(var(--gutter) - 10px);width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--fg);border-radius:var(--radius-sm)}
.site-nav .is-menu-open .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
.site-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:var(--space-xs)!important;align-items:stretch!important;gap:0!important}
.site-nav .is-menu-open .wp-block-navigation__container{flex-direction:column;align-items:stretch!important;gap:0!important;width:100%}
.site-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item{display:block!important;width:100%;border-bottom:1px solid var(--line)}
.site-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{display:flex!important;align-items:center;justify-content:space-between;width:100%;padding:18px 0!important;font-family:var(--display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em;color:var(--fg)!important;cursor:pointer}
.site-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content::after{content:"";flex:none;width:9px;height:9px;margin-right:6px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:translateY(-3px) rotate(45deg);transition:transform .2s ease}
.site-nav .is-menu-open .wp-block-navigation-submenu.is-expanded > .wp-block-navigation-item__content::after{transform:translateY(3px) rotate(-135deg)}
.site-nav .is-menu-open .wp-block-navigation__submenu-icon,.site-nav .is-menu-open .wp-block-navigation-submenu__toggle{display:none!important}
.site-nav .is-menu-open .wp-block-navigation__submenu-container{position:static!important;display:none!important;flex-direction:column;gap:0!important;width:100%!important;min-width:0!important;height:auto!important;padding:0 0 var(--space-md)!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;overflow:visible!important}
.site-nav .is-menu-open .wp-block-navigation-submenu.is-expanded > .wp-block-navigation__submenu-container{display:flex!important}
.site-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%}
.site-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block!important;width:100%;padding:11px 0 11px var(--space-md)!important;border-left:2px solid var(--line);border-radius:0!important;background:none!important;font-family:var(--body);font-size:var(--text-base);font-weight:500;color:var(--muted)!important}
.site-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,.site-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"]{color:var(--brand)!important;border-left-color:var(--brand)}
.site-nav .is-menu-open .wp-block-navigation__container > .nav-mobile-cta{display:block!important;border-bottom:0!important}
.site-nav .is-menu-open .wp-block-navigation__container > .nav-mobile-cta.nav-mobile-contact{margin-top:var(--space-xl)}
.site-nav .is-menu-open .wp-block-navigation__container > .nav-mobile-contact > .wp-block-navigation-item__content{justify-content:center!important;min-height:var(--control-h);padding:13px 20px!important;border-radius:var(--radius);background:var(--signal);color:var(--signal-ink)!important;font-family:var(--body);font-size:var(--text-base);font-weight:600;letter-spacing:0}
.site-nav .is-menu-open .wp-block-navigation__container > .nav-mobile-phone > .wp-block-navigation-item__content{justify-content:center!important;padding:14px 0 0!important;font-family:var(--body);font-size:var(--text-md);font-weight:500;color:var(--brand)!important}

/* Products and Services: one dropdown with Training, Procedures and Workshops as columns (desktop)
   and as labelled groups inside one section (mobile menu) */
@media (min-width:1081px){
  .site-nav li.menu-products > .wp-block-navigation__submenu-container{display:grid!important;grid-template-columns:repeat(3,minmax(200px,1fr));gap:var(--space-md) var(--space-lg);min-width:700px!important;padding:var(--space-lg)!important;left:50%!important;right:auto!important;transform:translateX(-50%)}
  .site-nav li.menu-products li.has-child{display:block}
  .site-nav li.menu-products li.has-child > .wp-block-navigation__submenu-container{position:static!important;display:flex!important;flex-direction:column;visibility:inherit!important;opacity:1!important;width:auto!important;height:auto!important;min-width:0!important;overflow:visible!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;left:auto!important;top:auto!important;transform:none!important}
  .site-nav li.menu-products li.has-child > .wp-block-navigation-item__content{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)!important;padding:4px var(--space-sm) 10px!important;margin-bottom:4px;border-bottom:1px solid var(--line);border-radius:0!important;background:none!important}
  .site-nav li.menu-products li.has-child > .wp-block-navigation__submenu-icon{display:none!important}
}
.site-nav .is-menu-open li.menu-products .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{display:flex!important;padding:0 0 var(--space-xs)!important}
.site-nav .is-menu-open li.menu-products li.has-child > .wp-block-navigation-item__content{border-left:0!important;padding:14px 0 6px!important;font-family:var(--mono)!important;font-size:12px!important;font-weight:500!important;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)!important}
.site-nav .is-menu-open li.menu-products li.has-child > .wp-block-navigation-item__content::after{content:none!important}

/* ===== Menu polish (desktop) ===== */
@media (min-width:1081px){
  .site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content{position:relative}
  .site-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::before{content:"";position:absolute;left:0;right:0;bottom:14px;height:2px;border-radius:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
  .site-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::before,
  .site-nav .wp-block-navigation__container > .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content::before,
  .site-nav .wp-block-navigation__container > .is-current-section > .wp-block-navigation-item__content::before{transform:scaleX(1)}
  .site-nav .wp-block-navigation__container > .is-current-section > .wp-block-navigation-item__content{color:var(--fg)}
  .site-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon{color:var(--muted);margin-left:4px}
  .site-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg{transition:transform .2s ease}
  .site-nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-icon svg,
  .site-nav .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-icon svg{transform:rotate(180deg)}
  .site-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container{border-top:3px solid var(--signal)!important;border-radius:0 0 var(--radius-lg) var(--radius-lg)!important;margin-top:-1px}
  .site-nav .wp-block-navigation__container > .has-child:not(.menu-products) > .wp-block-navigation__submenu-container{padding:var(--space-xs)!important;min-width:230px!important}
  .site-nav .wp-block-navigation__submenu-container a[aria-current="page"]{color:var(--brand)!important;background:var(--tint)}
}

/* ===== Footer polish ===== */
.foot-info a{color:var(--on-dark);font-weight:500;overflow-wrap:anywhere}
.foot-info a:hover{color:var(--signal)}
.foot-actions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-2xs)}
.foot-actions .btn{min-height:42px;padding:0 var(--space-lg)}
footer .foot-grid ul:not(.foot-info) a{display:inline-block;padding-block:2px;transition:color .15s ease}
footer .foot-grid ul:not(.foot-info) a[aria-current="page"]{color:var(--signal)}
@media (max-width:760px){
  .foot-grid{gap:var(--space-xl) var(--space-lg);padding-block:var(--space-2xl) var(--space-lg)}
  footer .foot-grid ul:not(.foot-info){gap:0}
  footer .foot-grid ul:not(.foot-info) a{padding-block:7px}
  footer h3{margin-bottom:6px}
  .legal{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}
}

/* ===== Footer laid out like the menu: About · Products and Services · Resources · Careers ===== */
.foot-grid{grid-template-columns:minmax(240px,1.3fr) minmax(0,.9fr) minmax(0,3fr) minmax(0,.9fr)}
.foot-info{font-size:14.5px}
.foot-sub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md) var(--space-lg)}
footer h4{font-family:var(--mono);font-size:11.5px;font-weight:500;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--rule-on-dark)}
footer .foot-col h3{padding-bottom:8px;border-bottom:1px solid var(--rule-on-dark)}
footer .foot-products > h3{margin-bottom:14px}
footer .foot-h-gap{margin-top:var(--space-lg)}
footer .foot-col ul a{font-size:14.5px;line-height:1.35}
@media (max-width:1060px){
  .foot-grid{grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1fr)}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:760px){
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-brand,.foot-products{grid-column:1/-1}
  .foot-products{order:1}
  .foot-about{order:2}
  .foot-more{order:3}
  .legal{order:4}
  .foot-sub{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg) var(--space-lg)}
}

/* ===== Footer: condensed ===== */
.foot-grid{padding-block:40px 20px;gap:var(--space-lg) var(--space-xl)}
.foot-brand{gap:var(--space-sm)}
.foot-brand p{margin:0;font-size:14px}
.foot-info{gap:6px;font-size:14px}
.foot-actions{margin-top:2px}
.foot-actions .btn{min-height:38px}
.social{width:38px;height:38px}
footer h3,footer .foot-col h3{font-size:11.5px;margin:0 0 10px;padding-bottom:6px}
footer h4{font-size:11px;margin:0 0 8px;padding-bottom:6px}
footer .foot-products > h3{margin-bottom:10px}
footer .foot-col ul{gap:5px}
footer .foot-col ul a{font-size:14px;line-height:1.3;padding-block:0}
.foot-sub{gap:var(--space-sm) var(--space-lg)}
.legal{padding-top:14px;font-size:13px}
@media (max-width:760px){
  .foot-grid{padding-block:32px 18px;gap:var(--space-lg) var(--space-md)}
  footer .foot-grid ul:not(.foot-info){gap:0}
  footer .foot-col ul a{padding-block:4px}
  footer h3,footer .foot-col h3{margin-bottom:6px}
  .foot-sub{gap:var(--space-md) var(--space-md)}
  .legal{gap:6px}
}

/* Related service panel at the end of blog posts */
.related-service{margin-top:var(--space-2xl);padding:var(--space-lg) var(--space-xl);background:var(--tint);border-left:4px solid var(--signal);border-radius:var(--radius)}
.related-service .rs-label{margin:0 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}
.related-service .rs-name{margin:0 0 6px;font-family:var(--display);font-size:var(--text-lg);font-weight:700;line-height:1.2;color:var(--fg)}
.related-service .rs-text{margin:0 0 var(--space-md);color:var(--muted);max-width:40em}
.related-service .rs-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}
.related-service .btn{text-decoration:none}
.related-service.related-service{margin-bottom:var(--space-xl)}
@media (max-width:600px){.related-service{padding:var(--space-md) var(--space-lg)}.related-service .rs-actions .btn{flex:1 1 auto}}

/* Single post polish */
.page-hero .post-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:16px;color:color-mix(in srgb,var(--on-dark) 86%,transparent)}
.page-hero .post-hero-meta a{color:inherit;text-decoration:none;font-weight:600}
.page-hero .post-hero-meta a:hover{text-decoration:underline;text-underline-offset:3px}
.page-hero .post-hero-meta > * + *::before,.page-hero .post-hero-meta .read-time::before{content:"·";margin-right:10px;opacity:.7}
.page-hero .post-hero-meta .wp-block-post-date{display:flex;gap:10px}
.post-featured{max-width:720px}
.post-featured img{aspect-ratio:16/9;height:auto;max-height:none}
.post-body ul,.post-body ol{padding-left:1.3em}
.post-body li + li{margin-top:.4em}
.post-body a:not(.btn){color:var(--brand);text-underline-offset:3px}
.post-body blockquote{margin-inline:0;padding:4px 0 4px 20px;border-left:3px solid var(--signal);color:var(--fg);font-size:var(--text-lg)}
.more-posts{margin-block:var(--space-3xl) var(--space-xl);padding-top:var(--space-2xl);border-top:1px solid var(--line)}
.more-posts > h2{font-size:var(--text-xl);margin:0 0 var(--space-lg)}
.more-posts .wp-block-post-title{font-size:var(--text-md)}

/* Older Safari (iOS 15 to 16.1) has no color-mix(): give the sticky header a solid background so text never shows through it. */
@supports not (color:color-mix(in srgb,red 50%,blue)){header.site::before{background:var(--bg)}}

/* eLearning demos: on phones the in-page player is too small to use, so the button opens the demo full screen instead. */
.h2 + .watch-list{margin-top:var(--space-xl)}
@media (max-width:600px){.watch-item .demo-frame,.watch-item .demo-bar > span:first-child{display:none}.watch-item .demo-actions,.watch-item .demo-actions .btn{width:100%}}
