/* =====================================================================
   Bio Valley · "Innovation playground" theme (concept idea 4)
   Friendly green, rounded cards, photo carousel, domain playground tabs.
   Loads after base.css (shared component layer: dialogs, forms, sub-page blocks).
   1) Tokens & base   2) Header   3) Home   4) Footer & side tab   5) Sub-pages   6) Responsive
   ===================================================================== */

/* ---------- 1) Tokens & base ---------- */
:root{
  --pv-brand:#2e7d3a;--pv-brand-2:#00806a;--pv-lime:#8cc63f;--pv-soft:#e8f4e9;--pv-surface-2:#f3f8f3;
  --pv-ink:#18301f;--pv-muted:#5b6b60;--pv-line:#e1ebe2;--pv-foot:#10241a;
  --pv-shadow:0 14px 40px rgba(24,48,31,.12);--pv-shadow-s:0 4px 16px rgba(24,48,31,.08);
  --accent:var(--pv-lime);--accent-d:var(--pv-brand);--accent-t:var(--pv-soft);--soft:var(--pv-surface-2);--line:var(--pv-line);--ink:var(--pv-ink);--muted:var(--pv-muted);
  --brand:var(--pv-brand);--brand-2:var(--pv-brand-2);--surface-2:var(--pv-surface-2);
  --gut:clamp(16px,4vw,2.5rem);--max:80rem;--hdr:4.75rem;
}
/* bio teal: the same site in Bio Valley's second brand colour */
:root.tone-teal{--pv-brand:#0b6f8f;--pv-brand-2:#1a9a9a;--pv-lime:#5fd0c5;--pv-soft:#e4f3f7;--pv-surface-2:#f1f8fa;--pv-foot:#0d222a;--pv-ink:#13293a}
body.pv{font:400 1.0625rem/1.65 var(--fb);color:var(--pv-ink);background:#fff}
.pv h1,.pv h2,.pv h3,.pv h4{letter-spacing:-.01em;font-weight:900;line-height:1.15}
.pv h2{font-size:clamp(1.75rem,3.4vw,2.75rem);margin:.5rem 0 .75rem}
.pv h2 span,.pv h2 em,.pv .disp em{color:var(--pv-brand);font-style:normal;background:none;-webkit-text-fill-color:currentColor}
.pv .kick{display:inline-block;color:var(--pv-brand-2);font-weight:800;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em}
.pv .lede{color:var(--pv-muted);font-size:1.09rem;max-width:44rem}
.pv .center .lede{margin-inline:auto}
.pv-mut{color:var(--pv-muted)}
.pv-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.25rem}
.pv-sec{padding:5.5rem 0;scroll-margin-top:var(--hdr)}
.pv-sec.alt{background:var(--pv-surface-2)}
.pv-sh{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem;align-items:end;margin-bottom:2.5rem}
.pv-sh .lede{margin:0 0 .75rem}
.pv-g2{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.pv-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.2rem}
.pv-g2>*,.pv-g3>*,.pv-pl>*,.pv-pg>*,.pv-cul>*,.pv-ct>*,.pv-jg>*{min-width:0}
.pv-lnk{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;color:var(--pv-brand);border:0;background:none;padding:.35rem 0;margin-top:1rem;border-bottom:2px solid currentColor}
.pv-lnk:hover{color:var(--pv-brand-2)}

/* buttons: rounded rectangles, solid colours (replaces the base sweep) */
.pv .btn,.pv .pill{--bg:var(--pv-brand);--fg:#fff;min-height:0;padding:.75rem 1.4rem;border-radius:.5rem;border:2px solid var(--bg);background:var(--bg);color:var(--fg);font:800 .95rem/1.2 var(--fb);letter-spacing:0;gap:.5rem;transition:background .2s,color .2s,border-color .2s,transform .2s;overflow:visible}
.pv .btn::before,.pv .pill::before{display:none}
.pv .btn:hover,.pv .pill:hover{--bg:var(--pv-brand-2);color:#fff;border-color:var(--pv-brand-2);transform:translateY(-1px)}
.pv .btn.o,.pv .pill.ol-g,.pv .btn.ghost-d{--bg:transparent;--fg:var(--pv-brand);border-color:var(--pv-brand)}
.pv .btn.o:hover,.pv .pill.ol-g:hover,.pv .btn.ghost-d:hover{background:var(--pv-brand);color:#fff;border-color:var(--pv-brand)}
.pv .btn.w,.pv .pill.w{--bg:#fff;--fg:var(--pv-brand);border-color:#fff}
.pv .btn.w:hover,.pv .pill.w:hover{background:var(--pv-lime);border-color:var(--pv-lime);color:var(--pv-ink)}
.pv .btn.ow,.pv .pill.ol,.pv .btn.ghost{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.7)}
.pv .btn.ow:hover,.pv .pill.ol:hover,.pv .btn.ghost:hover{background:#fff;color:var(--pv-brand);border-color:#fff}
.pv .btn.dark{--bg:var(--pv-ink);--fg:#fff}
.pv .btn.sm,.pv .pill.sm{padding:.55rem 1rem;font-size:.875rem}
.pv .btn.xs{padding:.4rem .8rem;font-size:.8125rem;border-radius:.4rem}
.pv .btn.full{width:100%;justify-content:center}
.pv .x-btn{background:var(--pv-brand);border-radius:.5rem}
.pv .x-btn:hover{background:var(--pv-brand-2)}
.pv :focus-visible{outline:3px solid var(--pv-lime);outline-offset:2px}
.pv .tag,.pv .x-pill.br{background:var(--pv-soft);color:var(--pv-brand)}

/* ---------- 2) Header ---------- */
.pv-hd{position:sticky;top:0;z-index:60;background:#fff;transition:box-shadow .25s}
.pv-hd.scrolled{box-shadow:0 2px 14px rgba(24,48,31,.08)}
.pv-bar{display:flex;align-items:center;gap:1.25rem;height:var(--hdr)}
.pv-logo{display:flex;align-items:center;gap:.75rem;flex:none}
.pv-logo .lg{height:3.1rem;width:auto}
.pv-lt{border-left:2px solid var(--pv-line);padding-left:.75rem;line-height:1.15}
.pv-lt b{display:block;font-weight:900;font-size:1rem}
.pv-lt small{font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--pv-brand-2);text-transform:uppercase}
.pv-menu{display:flex;align-items:center;gap:.1rem;margin-left:auto}
.pv-ni{position:relative}
.pv-nk{display:flex;align-items:center;gap:.3rem;padding:.6rem .7rem;font-weight:700;font-size:.95rem;border:0;background:none;border-radius:.5rem;color:var(--pv-ink);white-space:nowrap}
.pv-nk:hover,.pv-ni.open>.pv-nk{color:var(--pv-brand);background:var(--pv-soft)}
.pv-ni.on>.pv-nk{color:var(--pv-brand);box-shadow:inset 0 -3px 0 var(--pv-lime)}
.pv-nk .car{width:.75rem;height:.75rem;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.pv-ni.open .car{transform:rotate(180deg)}
.pv-dd{position:absolute;top:calc(100% + .5rem);left:50%;min-width:15rem;transform:translate(-50%,8px);opacity:0;visibility:hidden;background:#fff;border-radius:.9rem;box-shadow:var(--pv-shadow);padding:.5rem;display:grid;gap:.15rem;border-top:4px solid var(--pv-brand);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s}
/* invisible bridge over the gap between the button and the panel, so the pointer never drops out on the way down */
.pv-dd::before{content:"";position:absolute;left:0;right:0;top:calc(-.5rem - 4px);height:calc(.5rem + 4px)}
.pv-ni.open .pv-dd{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s}
.pv-dd a{display:flex;gap:.75rem;align-items:center;padding:.6rem .8rem;border-radius:.6rem;white-space:nowrap;transition:background .15s,color .15s}
.pv-dd a:hover,.pv-dd a:focus-visible{color:var(--pv-brand)}
.pv-dd a:hover,.pv-dd a.on{background:var(--pv-soft)}
.pv-dd b{font-size:.95rem;font-weight:700;line-height:1.25}
.pv-ddi{flex:none;width:2.25rem;height:2.25rem;border-radius:.6rem;background:var(--pv-soft);color:var(--pv-brand);display:grid;place-items:center;font-size:1rem}
.pv-ddi .li{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pv-mfoot{display:none}
.pv-tools{display:flex;align-items:center;gap:.6rem;flex:none}
.pv-sw{display:flex;gap:.3rem;padding:.25rem;border:2px solid var(--pv-line);border-radius:2rem}
.pv-sw button{width:1.15rem;height:1.15rem;border-radius:50%;border:0;padding:0;background:radial-gradient(circle at 35% 35%,#8cc63f,#2e7d3a)}
.pv-sw button[data-tone=teal]{background:radial-gradient(circle at 35% 35%,#5fd0c5,#0b6f8f)}
.pv-sw button[aria-pressed=true]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--pv-ink)}
.pv-burger{display:none;width:2.75rem;height:2.75rem;border:2px solid var(--pv-line);background:#fff;border-radius:.5rem;place-items:center}
.pv-burger span{display:grid;gap:4px;width:1.15rem}
.pv-burger i{display:block;height:2px;background:var(--pv-ink);border-radius:2px;transition:.25s}
.pv-burger[aria-expanded=true] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.pv-burger[aria-expanded=true] i:nth-child(2){opacity:0}
.pv-burger[aria-expanded=true] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- 3) Home ---------- */
/* hero carousel */
.pv-hero{position:relative;height:min(42rem,calc(100svh - var(--hdr)));min-height:34rem;overflow:hidden;background:var(--pv-ink);color:#fff}
.pv-hs{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s,visibility 1s}
.pv-hs.on{opacity:1;visibility:visible}
.pv-hm{position:absolute;inset:0}
.pv-hm img,.pv-hm video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 8s linear}
.pv-hs.on .pv-hm img,.pv-hs.on .pv-hm video{transform:scale(1)}
.pv-hm video{opacity:0;transition:opacity .6s,transform 8s linear}
.pv-hm video.ready{opacity:1}
.pv-hm::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,14,.86),rgba(8,26,14,.5) 45%,rgba(8,26,14,.1) 80%)}
:root.tone-teal .pv-hm::after{background:linear-gradient(90deg,rgba(6,24,32,.86),rgba(6,24,32,.5) 45%,rgba(6,24,32,.1) 80%)}
.pv-htx{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;padding-bottom:3rem}
.pv-htx>*{max-width:38rem}
.pv-htx .kick{color:var(--pv-lime)}
.pv .pv-ht{font-size:clamp(2.1rem,5vw,3.6rem);font-weight:900;margin:.6rem 0 1rem;color:#fff}
.pv .pv-ht span{color:var(--pv-lime)}
.pv-htx p{font-size:1.125rem;opacity:.92;margin:0}
.pv-hs:not(.on) .pv-htx>*{opacity:0;transform:translateY(14px)}
.pv-hs.on .pv-htx>*{opacity:1;transform:none;transition:opacity .7s .35s,transform .7s .35s}
.pv-hs.on .pv-htx>:nth-child(2){transition-delay:.45s}.pv-hs.on .pv-htx>:nth-child(3){transition-delay:.55s}.pv-hs.on .pv-htx>:nth-child(4){transition-delay:.65s}
.pv-hctl{position:absolute;z-index:2;left:50%;transform:translateX(-50%);bottom:2rem;display:flex;align-items:center;gap:.5rem}
.pv-hdots{display:flex;gap:.5rem}
.pv-hdots button{width:.65rem;height:.65rem;border-radius:1rem;border:0;padding:0;background:rgba(255,255,255,.45);transition:.3s}
.pv-hdots button.on{background:var(--pv-lime);width:1.75rem}
.pv-hb{width:2.1rem;height:2.1rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:rgba(0,0,0,.15);color:#fff;font-size:1.1rem;line-height:1;display:grid;place-items:center;padding:0}
.pv-hb:hover{background:#fff;color:var(--pv-brand)}
.pv-hpause span{font-size:.6rem;letter-spacing:-1px}
/* pillars */
.pv-pl{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.5rem}
.pv-pil{border-radius:1.1rem;overflow:hidden;position:relative;min-height:25rem;color:#fff;display:flex;align-items:flex-end;isolation:isolate}
.pv-pil img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s;z-index:-2}
.pv-pil:hover img{transform:scale(1.06)}
.pv-pil::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 10%,color-mix(in srgb,var(--pv-brand) 70%,#000) 52%,color-mix(in srgb,var(--pv-brand) 88%,#000))}
.pv-pbd{padding:1.9rem}
.pv .pv-pil h3{font-size:1.85rem;margin:0 0 .5rem;color:#fff}
.pv-pil p{margin:0 0 1rem;opacity:.94}
.pv-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem}
.pv-tags span{background:rgba(255,255,255,.2);backdrop-filter:blur(4px);border-radius:.4rem;padding:.2rem .65rem;font-size:.8rem;font-weight:700}
.pv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:1.5rem}
.pv-stat{border:2px solid var(--pv-line);border-radius:1rem;padding:1.4rem 1.5rem;transition:.25s}
.pv-stat:hover{border-color:var(--pv-brand);box-shadow:var(--pv-shadow-s)}
.pv-stat>b{display:block;font-size:2.4rem;font-weight:900;color:var(--pv-brand);line-height:1.1}
.pv-stat>b small{font-size:1rem;color:var(--pv-brand-2)}
.pv-sl{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--pv-muted);margin:.2rem 0 .5rem}
.pv-stat p{margin:0;font-size:.92rem;color:var(--pv-muted)}
/* domain playground */
.pv-tabs{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:2rem 0}
.pv-tabs button{display:flex;flex-direction:column;align-items:center;gap:.45rem;border:2px solid var(--pv-line);background:#fff;border-radius:.9rem;padding:.9rem 1rem;font-weight:800;font-size:.875rem;min-width:8.5rem;transition:.2s;color:var(--pv-ink)}
.pv-tabs button:hover{border-color:var(--pv-lime)}
.pv-tabs button[aria-selected=true]{border-color:var(--pv-brand);background:var(--pv-soft);color:var(--pv-brand);transform:translateY(-2px);box-shadow:var(--pv-shadow-s)}
.pv-tabs .ico,.pv-ctl .ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.75rem;background:var(--pv-soft);color:var(--pv-brand)}
.pv-tabs button[aria-selected=true] .ico{background:var(--pv-brand);color:#fff}
.pv-tabs .ico svg,.pv-ctl .ico svg{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pv-pg{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;background:#fff;border-radius:1.4rem;padding:2rem;box-shadow:var(--pv-shadow-s);animation:pvIn .45s ease both}
/* hidden panels stay hidden even though .pv-pg sets display */
.pv-pg[hidden]{display:none}
@keyframes pvIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pv-pgim{border-radius:1rem;overflow:hidden;aspect-ratio:4/3}
.pv-pgim img{width:100%;height:100%;object-fit:cover}
.pv .pv-pg h3{font-size:1.75rem;margin:.3rem 0 .6rem}
.pv-labs{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.5rem}
.pv-labs li{display:flex;align-items:center;gap:.75rem;background:var(--pv-surface-2);border-radius:.65rem;padding:.6rem .75rem}
.pv-labs li>span:nth-child(2){flex:1;min-width:0}
.pv-labs b{display:block;font-size:.93rem;line-height:1.3}
.pv-labs small{color:var(--pv-muted);font-size:.8rem}
.pv-li{flex:none;width:2.2rem;height:2.2rem;border-radius:.55rem;background:#fff;color:var(--pv-brand);display:grid;place-items:center}
.pv-li .li{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pv-feat{font-size:.92rem;margin:0}
/* facilities */
.pv-fac{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.pv-fc{display:flex;flex-direction:column;border-radius:1rem;overflow:hidden;background:#fff;border:1px solid var(--pv-line);transition:.25s;transition-delay:0s}
.pv-fc:hover{transform:translateY(-4px);box-shadow:var(--pv-shadow);border-color:transparent}
.pv-fci{position:relative;aspect-ratio:16/10;overflow:hidden;display:block}
.pv-fci>img,.pv-fci picture img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pv-fc:hover .pv-fci>img,.pv-fc:hover .pv-fci picture img{transform:scale(1.05)}
.pv-fcl{position:absolute;left:.75rem;bottom:.75rem;background:#fff;border-radius:.5rem;padding:.35rem .55rem;box-shadow:var(--pv-shadow-s)}
.pv-fcl img{height:1.9rem;width:auto}
.pv-fcb{padding:1.2rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.pv-fcb b{font-size:1.1rem;line-height:1.3}
.pv-fcb>span:not(.pv-more){color:var(--pv-muted);font-size:.93rem}
.pv-more{margin-top:auto;padding-top:.5rem;font-weight:800;color:var(--pv-brand);font-size:.9rem}
/* white card (incubation tools, meeting form) */
.pv-card{background:#fff;border-radius:1.1rem;padding:1.6rem;box-shadow:var(--pv-shadow-s);border:1px solid var(--pv-line)}
.pv .pv-card h3{font-size:1.3rem;margin:0 0 .3rem}
/* incubation journey: step path, readiness bar, tools card + photo call to action */
.pv-path{list-style:none;padding:0;margin:2.75rem 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative;counter-reset:none}
.pv-path::before,.pv-path::after{content:"";position:absolute;top:2.4rem;left:10%;right:10%;height:3px;border-radius:3px}
.pv-path::before{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--pv-brand) 35%,transparent) 0 10px,transparent 10px 18px)}
.pv-path::after{background:linear-gradient(90deg,var(--pv-lime),var(--pv-brand));transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.3,.7,.2,1) .2s}
.pv-path.in::after{transform:none}
.pv-path li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem}
.pv-pi{position:relative;width:4.8rem;height:4.8rem;border-radius:50%;background:#fff;border:3px solid var(--pv-line);display:grid;place-items:center;margin-bottom:.6rem;transition:border-color .4s,background .4s,transform .3s;transition-delay:calc(.25s + var(--i) * .3s)}
.pv-path.in .pv-pi{border-color:var(--pv-brand)}
.pv-path li:hover .pv-pi{transform:translateY(-4px);background:var(--pv-brand)}
.pv-path li:hover .pv-pi .ico{background:transparent;color:#fff}
.pv-pi .ico{width:3.4rem;height:3.4rem;border-radius:50%;display:grid;place-items:center;background:var(--pv-soft);color:var(--pv-brand);transition:.3s}
.pv-pi .ico svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pv-pn{position:absolute;top:-.2rem;right:-.3rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--pv-lime);color:var(--pv-ink);font-weight:900;font-size:.8rem;display:grid;place-items:center;border:2px solid #fff}
.pv-path b{font-size:1.05rem}
.pv-path small{color:var(--pv-muted);font-size:.85rem}
.pv-rail{margin:2.5rem auto 0;max-width:62rem;background:#fff;border-radius:1rem;padding:1rem 1.1rem 1.1rem;box-shadow:var(--pv-shadow-s)}
.pv-rl{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pv-muted);margin:0 0 .65rem .2rem}
.pv-rail ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.pv-rail li{padding:.6rem .7rem;color:#fff;line-height:1.25;background:color-mix(in srgb,var(--pv-brand) calc(55% + var(--k,0) * 11%),var(--pv-lime))}
.pv-rail li:nth-child(1){--k:0;border-radius:.6rem 0 0 .6rem}.pv-rail li:nth-child(2){--k:1}.pv-rail li:nth-child(3){--k:2}.pv-rail li:nth-child(4){--k:3}.pv-rail li:nth-child(5){--k:4;border-radius:0 .6rem .6rem 0}
.pv-rail b{display:block;font-size:.8rem;opacity:.9}
.pv-rail span{font-size:.85rem;font-weight:700}
.pv-ig{display:grid;grid-template-columns:1.25fr .75fr;gap:1.25rem;margin-top:2.5rem;align-items:stretch}
.pv-ig>*{min-width:0}
.pv-tool{padding:1.25rem 1.5rem 1.5rem}
.pv-tt{display:flex;gap:.35rem;background:var(--pv-surface-2);border-radius:.8rem;padding:.3rem;margin-bottom:1.1rem;width:max-content;max-width:100%}
.pv-tt button{display:flex;align-items:center;gap:.5rem;border:0;background:none;border-radius:.6rem;padding:.55rem 1rem .55rem .6rem;font-weight:800;font-size:.92rem;color:var(--pv-muted);transition:.2s}
.pv-tt button[aria-selected=true]{background:#fff;color:var(--pv-brand);box-shadow:var(--pv-shadow-s)}
.pv-tt .ico{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:.5rem;background:var(--pv-soft);color:var(--pv-brand)}
.pv-tt .ico svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv-tool [role=tabpanel]{animation:pvIn .35s ease both}
.pv-tool .pv-mut{margin:0 0 1rem}
.pv-tool .x-quiz{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.5rem}
.pv-tool .x-quiz>button,.pv-tool .x-quiz .x-qout{grid-column:1/-1;justify-self:start}
.pv-tool .x-quiz .x-qout{justify-self:stretch}
.pv .x-quiz fieldset{border:0;padding:0;margin:0 0 .75rem;min-width:0}
.pv .x-quiz legend{font-weight:800;font-size:.85rem;margin-bottom:.35rem}
.pv .x-opt{border-width:2px;border-radius:.55rem;font-weight:600}
.pv .x-opt:has(input:checked){border-color:var(--pv-brand);background:var(--pv-soft);color:var(--pv-brand)}
.pv .inline input{border-radius:.6rem;border-width:2px}
.pv-icta{position:relative;border-radius:1.25rem;overflow:hidden;color:#fff;display:flex;align-items:flex-end;min-height:26rem;isolation:isolate}
.pv-icta>img,.pv-icta picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s}
.pv-icta:hover>img,.pv-icta:hover picture img{transform:scale(1.05)}
.pv-icta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 5%,color-mix(in srgb,var(--pv-brand) 80%,#000) 50%,color-mix(in srgb,var(--pv-brand) 92%,#000))}
.pv-ictx{padding:1.6rem}
.pv-ictx .kick{color:var(--pv-lime)}
.pv .pv-ictx h3{color:#fff;font-size:1.55rem;margin:.3rem 0 0}
.pv-facts{list-style:none;padding:0;margin:1rem 0 1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.pv-facts li{background:rgba(255,255,255,.14);backdrop-filter:blur(4px);border-radius:.6rem;padding:.6rem;font-size:.78rem;line-height:1.3}
.pv-facts b{display:block;font-size:1.1rem}
.pv-ictx .pv-row{margin-top:0}
/* events + news */
.pv-evs{margin:.75rem 0 .25rem}
.pv-ev{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--pv-line);align-items:center}
.pv-evd{flex:none;width:4rem;text-align:center;background:var(--pv-brand);color:#fff;border-radius:.65rem;padding:.5rem 0;line-height:1.1}
.pv-evd b{font-size:1.4rem;display:block}
.pv-evd span{font-size:.75rem;font-weight:800;text-transform:uppercase}
.pv-ev>div:nth-child(2){flex:1;min-width:0}
.pv-ev h4{margin:0 0 .15rem;font-size:1rem;line-height:1.3}
.pv-ev p{margin:0;font-size:.85rem;color:var(--pv-muted)}
.pv-ev .btn{flex:none}
.pv-nws{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem}
.pv-nc{border-radius:.9rem;overflow:hidden;border:1px solid var(--pv-line);background:#fff;display:flex;flex-direction:column;transition:.25s}
.pv-nc:hover{box-shadow:var(--pv-shadow);transform:translateY(-3px)}
.pv-nci{aspect-ratio:16/9;background:var(--pv-soft);overflow:hidden;display:block}
.pv-nci img{width:100%;height:100%;object-fit:cover}
.pv-ncb{padding:1rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;flex:1}
.pv-ncb b{font-size:.95rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pv-ncb small{color:var(--pv-muted);margin-top:auto}
/* testimonials, recognitions, partners */
.pv-tq{margin:0;background:#fff;border-radius:1.1rem;padding:1.75rem;position:relative;display:flex;flex-direction:column;box-shadow:var(--pv-shadow-s)}
.pv-tq::before{content:"“";position:absolute;right:1.25rem;top:-.4rem;font:6.5rem/1 Georgia,serif;color:color-mix(in srgb,var(--pv-brand) 22%,transparent)}
.pv-tq blockquote{margin:0 0 1.25rem;font-size:1rem;position:relative}
.pv-tq figcaption{display:flex;gap:.75rem;align-items:center;margin-top:auto;flex-wrap:wrap}
.pv-av{width:3.25rem;height:3.25rem;border-radius:50%;overflow:hidden;flex:none;border:3px solid var(--pv-soft)}
.pv-av img{width:100%;height:100%;object-fit:cover}
.pv-tq figcaption b{display:block;line-height:1.25}
.pv-tq figcaption small{color:var(--pv-muted);font-size:.85rem}
.pv-rech{margin-top:3.25rem}
.pv-rec{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem;margin-top:1.25rem}
.pv-rec div{background:#fff;border:2px solid var(--pv-line);border-radius:.9rem;padding:1.1rem .6rem;text-align:center;transition:.25s}
.pv-rec div:hover{border-color:var(--pv-brand)}
.pv-rec b{display:block;font-weight:900;color:var(--pv-brand);font-size:1.15rem}
.pv-rec small{color:var(--pv-muted);font-weight:600;font-size:.78rem}
.pv-marq{margin-top:3rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.pv-marq ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem;width:max-content;animation:pvMarq 40s linear infinite}
.pv-marq li{flex:none;width:10rem;height:5.25rem;background:#fff;border-radius:.8rem;display:grid;place-items:center;padding:.8rem 1.1rem;border:1px solid var(--pv-line)}
.pv-marq img{max-height:3.4rem;width:auto;max-width:100%;object-fit:contain}
@keyframes pvMarq{to{transform:translateX(calc(-50% - .5rem))}}
/* values, mission, impact */
.pv-vals{display:grid;grid-template-columns:repeat(5,1fr);gap:.9rem;margin-top:2rem}
.pv-val{border-radius:1rem;padding:1.4rem 1.1rem;background:#fff;border:2px solid var(--pv-line);transition:.25s;text-align:center}
.pv-val:hover{background:var(--pv-brand);color:#fff;border-color:var(--pv-brand);transform:translateY(-4px)}
.pv-val:hover p{color:rgba(255,255,255,.88)}
.pv-val>b{font-size:3.25rem;font-weight:900;color:var(--pv-lime);line-height:1;display:block}
.pv .pv-val h4{margin:.5rem 0 .35rem;font-size:1.05rem}
.pv-val p{margin:0;font-size:.875rem;color:var(--pv-muted)}
.pv-mv{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.25rem}
.pv-mv>div{background:var(--pv-surface-2);border-radius:1rem;padding:1.5rem}
.pv .pv-mv h4{margin:0 0 .35rem;font-size:1.2rem;color:var(--pv-brand)}
.pv-mv p{margin:0}
.pv-impact{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin-top:4rem}
.pv-impim{border-radius:1.2rem;overflow:hidden;aspect-ratio:4/3}
.pv-impim img{width:100%;height:100%;object-fit:cover}
.pv-checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}
.pv-checks li{display:flex;gap:.65rem;align-items:flex-start;font-weight:700}
.pv-checks li::before{content:"✓";flex:none;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--pv-soft);color:var(--pv-brand);display:grid;place-items:center;font-size:.8rem;margin-top:.15rem}
/* careers */
.pv-cul{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.pv-mos{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:9.5rem;gap:.6rem}
.pv-mos figure{margin:0;border-radius:.8rem;overflow:hidden}
.pv-mos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pv-mos figure:hover img{transform:scale(1.06)}
.pv-mos figure:nth-child(1){grid-row:span 2}.pv-mos figure:nth-child(4),.pv-mos figure:nth-child(6){grid-column:span 2}
.pv-culh{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.pv-gptw{width:4.25rem;height:auto;flex:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}
.pv-jobs{display:grid;gap:.5rem;margin:1rem 0 .25rem}
.pv-jobs>div{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--pv-line);border-radius:.65rem;padding:.75rem .9rem}
.pv-jobs b{display:block;font-size:.95rem;line-height:1.3}
.pv-jobs small{font-size:.8rem;color:var(--pv-muted)}
/* contact */
.pv-ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.pv-ctl{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:1rem}
.pv-ctl li{display:flex;gap:.9rem;align-items:flex-start}
.pv-ctl small{display:block;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--pv-brand-2)}
.pv-ctl a:hover{color:var(--pv-brand)}
.pv .mtg h3{font-size:1.35rem;margin:0 0 .25rem}
.pv .mtg .x-f2{margin-top:.25rem}

/* ---------- 4) Footer & side tab ---------- */
.pv-ft{background:var(--pv-foot);color:#a9bcae;padding:3.5rem 0 1.5rem;font-size:.92rem}
:root.tone-teal .pv-ft{color:#a7bec6}
.pv-ftcta{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem 3rem;align-items:center;background:linear-gradient(135deg,var(--pv-brand),var(--pv-brand-2));color:#fff;border-radius:1.25rem;padding:2.25rem 2.5rem;margin-bottom:3.25rem}
.pv-ftcta .kick{color:var(--pv-lime)}
.pv .pv-ftcta h2{color:#fff;margin:.3rem 0 .4rem;font-size:clamp(1.6rem,3vw,2.3rem)}
.pv .pv-ftcta h2 span{color:var(--pv-lime)}
.pv-ftcta p{margin:0;opacity:.92}
.pv-ftcta .pv-row{justify-content:flex-end;margin:0}
.pv-fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:2rem}
.pv-fg>*{min-width:0}
.pv-ft a{overflow-wrap:anywhere}
.pv .pv-ft h4{color:#fff;margin:0 0 .6rem;font-size:1rem}
.pv-fcol h4:not(:first-child){margin-top:1.25rem}
.pv-fcol a{display:block;padding:.18rem 0}
.pv-ft a:hover{color:#fff}
.pv-flogo img{height:4.2rem;width:auto;margin-bottom:.9rem}
.pv-fabout p{margin:0 0 1rem}
.pv-social{display:flex;gap:.5rem}
.pv-social a{width:2.3rem;height:2.3rem;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:.2s}
.pv-social a:hover{background:var(--pv-lime);color:var(--pv-ink)}
.pv-social a.soon{opacity:.45;cursor:default}
.pv-social svg{width:1.05rem;height:1.05rem;fill:currentColor}
.pv-nl{margin-top:1.25rem}
.pv-nl label{display:block;color:#fff;font-weight:800;margin-bottom:.4rem}
.pv-nl div{display:flex;gap:.4rem}
.pv-nl input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;border-radius:.5rem;padding:.55rem .7rem;font:inherit}
.pv-nl input::placeholder{color:rgba(255,255,255,.5)}
.pv-fb{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.82rem}
.pv-side{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:55;background:var(--pv-brand);color:#fff;border:0;writing-mode:vertical-rl;padding:1rem .6rem;border-radius:.6rem 0 0 .6rem;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 20px rgba(0,0,0,.15);transition:padding .2s,background .2s}
.pv-side:hover{background:var(--pv-brand-2);padding-right:.9rem}
.pv .x-fab{background:var(--pv-brand);color:#fff}
.pv-gt .pv-mut{margin-top:0}

/* ---------- 5) Sub-pages: split photo header, icon tabs, framed photos, accent-bar cards ---------- */
/* header: text on a dotted green panel, photo in a leaf-shaped frame */
.pv-ph{background:var(--pv-surface-2) radial-gradient(color-mix(in srgb,var(--pv-brand) 13%,transparent) 1.2px,transparent 1.3px) 0 0/22px 22px;padding:3rem 0 5.75rem;overflow:hidden}
.pv-ph:not(:has(+ .pv-subnav)){padding-bottom:3.5rem}
.pv-phg{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center}
.pv-phg>*{min-width:0}
.pv-crumb{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.85rem;color:var(--pv-muted);margin-bottom:1.1rem}
.pv-crumb a:hover{color:var(--pv-brand)}
.pv-crumb [aria-current]{color:var(--pv-ink);font-weight:700}
.pv-chip{display:inline-flex;align-items:center;gap:.45rem;background:#fff;color:var(--pv-brand);border:2px solid var(--pv-line);border-radius:2rem;padding:.3rem .85rem .3rem .6rem;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.pv-chip::before{content:"";width:.6rem;height:.6rem;border-radius:50% 0;background:var(--pv-lime);transform:rotate(-45deg)}
.pv .pv-ph h1{font-size:clamp(2.1rem,4.2vw,3.5rem);font-weight:900;margin:.9rem 0 .8rem;letter-spacing:-.02em}
.pv .pv-ph h1.long{font-size:clamp(1.8rem,3.2vw,2.7rem)}
.pv-ph h1 em{font-style:normal;color:var(--pv-brand);background:linear-gradient(transparent 68%,color-mix(in srgb,var(--pv-lime) 45%,transparent) 0)}
.pv-phl{color:var(--pv-muted);font-size:1.08rem;max-width:38rem;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pv-ph .acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem;align-items:center}
.pv-ph .acts :is(.pill.w,.btn.w){--bg:var(--pv-brand);--fg:#fff;border-color:var(--pv-brand)}
.pv-ph .acts :is(.pill.w,.btn.w):hover{background:var(--pv-brand-2);border-color:var(--pv-brand-2);color:#fff}
.pv-ph .acts :is(.pill.ol,.btn.ghost){--fg:var(--pv-brand);border-color:var(--pv-brand)}
.pv-phim{position:relative;margin:0;isolation:isolate;padding:0 1rem 1rem 0}
.pv-phf{display:block;border-radius:2.5rem 8rem 2.5rem 8rem;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--pv-shadow);background:var(--pv-soft)}
.pv-phf img{width:100%;height:100%;object-fit:cover;animation:pvZoom 1.4s ease both}
@keyframes pvZoom{from{transform:scale(1.08);opacity:.4}to{transform:none;opacity:1}}
.pv-blob{position:absolute;z-index:-1;width:9rem;height:9rem;border-radius:50%;background:var(--pv-lime);left:-2.25rem;bottom:-1.25rem;opacity:.85}
.pv-dots{position:absolute;z-index:-1;width:7.5rem;height:7.5rem;right:-.5rem;top:-1.25rem;background:radial-gradient(var(--pv-brand) 1.6px,transparent 1.7px) 0 0/14px 14px;opacity:.35}
/* tabs to the section's other pages: icon pills in a white card overlapping the header */
.pv-subnav{position:relative;z-index:5;margin-top:-2.6rem}
.pv-snc{display:flex;gap:.35rem;background:#fff;border-radius:1rem;padding:.5rem;box-shadow:var(--pv-shadow);overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%}
.pv-snc::-webkit-scrollbar{display:none}
.pv-snc a{flex:none;display:flex;align-items:center;gap:.55rem;padding:.55rem .95rem .55rem .55rem;border-radius:.7rem;font-weight:700;font-size:.92rem;color:var(--pv-ink);transition:.2s}
.pv-snc a:hover{background:var(--pv-soft);color:var(--pv-brand)}
.pv-snc a.on{background:var(--pv-brand);color:#fff}
.pv-sni{width:2rem;height:2rem;border-radius:.55rem;background:var(--pv-soft);color:var(--pv-brand);display:grid;place-items:center;flex:none;font-size:.95rem}
.pv-snc a.on .pv-sni{background:rgba(255,255,255,.18);color:#fff}
.pv-sni .li{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* sections */
.pv-sp .ps{padding:clamp(3.75rem,7vw,5.75rem) 0}
.pv-sp .pv-subnav+.ps{padding-top:clamp(3rem,5vw,4.25rem)}
.pv-sp .ps.alt{background:var(--pv-surface-2)}
.pv-sp .ps h2,.pv-sp .ps .big,.pv-sp .partners-sec h2{font:900 clamp(1.75rem,3.1vw,2.6rem)/1.15 var(--fb);letter-spacing:-.015em;margin-bottom:1rem}
.pv-sp .ps h2::before,.pv-sp .partners-sec h2::before{content:"";display:block;width:3rem;height:.35rem;border-radius:1rem;background:linear-gradient(90deg,var(--pv-lime),var(--pv-brand));margin-bottom:.9rem}
.pv-sp .center h2::before{margin-inline:auto}
.pv-sp .ps .lede{color:var(--pv-muted)}
.pv-sp .eb{color:var(--pv-brand-2);font-size:.85rem;letter-spacing:.1em}
.pv-sp .eb::before{width:.6rem;height:.6rem;border-radius:50% 0;background:var(--pv-lime);transform:rotate(-45deg)}
.pv-sp .split{gap:clamp(2rem,5vw,4.5rem)}
/* photos: rounded leaf corner on a dashed offset frame */
.pv-sp .pimg{position:relative;overflow:visible;border-radius:0;box-shadow:none;isolation:isolate;margin:0 1.25rem 1.25rem 0}
.pv-sp .pimg::before{content:"";position:absolute;z-index:-1;inset:1.25rem -1.25rem -1.25rem 1.25rem;border-radius:1.5rem 1.5rem 1.5rem 5rem;border:2px dashed color-mix(in srgb,var(--pv-brand) 40%,transparent);background:var(--pv-soft)}
.pv-sp .pimg img,.pv-sp .pimg picture img{border-radius:1.5rem 1.5rem 1.5rem 5rem;box-shadow:var(--pv-shadow-s);transition:transform .5s}
.pv-sp .pimg:hover img{transform:translate(-4px,-4px)}
.pv-sp :is(.og-gal,.og-stack) .pimg{margin:0}
.pv-sp :is(.og-gal,.og-stack) .pimg::before{display:none}
.pv-sp :is(.og-gal,.og-stack) .pimg img{border-radius:1rem}
.pv-sp .og-gal .pimg:nth-child(odd) img{border-radius:1rem 1rem 1rem 3rem}
.pv-sp .og-gal .pimg:nth-child(even) img{border-radius:1rem 3rem 1rem 1rem}
.pv-sp .pg-logo{border-radius:.9rem;border:2px solid var(--pv-line);box-shadow:none}
/* cards: icon tile, accent bar grows along the bottom on hover */
.pv-sp .fcard{border:2px solid var(--pv-line);border-radius:1.25rem;box-shadow:none;position:relative;overflow:hidden;gap:.4rem}
.pv-sp .fcard::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--pv-lime),var(--pv-brand));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.pv-sp .fcard:hover{border-color:transparent;box-shadow:var(--pv-shadow);transform:translateY(-4px)}
.pv-sp .fcard:hover::after{transform:none}
.pv-sp .fcard .ic{width:3.4rem;height:3.4rem;border-radius:1rem;border:0;background:var(--pv-soft);color:var(--pv-brand);font-size:1.45rem;margin-bottom:.75rem}
.pv-sp .fcard .ic::before{content:none}
.pv-sp .fcard:hover .ic{background:var(--pv-brand);color:#fff}
.pv-sp .fcard .ic .li,.pv-sp .og-t .ic .li,.pv-sp .ico svg{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pv-sp .fcard h3{font:800 1.2rem/1.25 var(--fb)}
.pv-sp .fcard p{color:var(--pv-muted)}
.pv-sp :is(.card,.card.white){border-radius:1.25rem;border:2px solid var(--pv-line)}
.pv-sp .card h3{font:800 1.35rem/1.2 var(--fb)}
.pv-sp .frm{border-radius:1.25rem;border:2px solid var(--pv-line);box-shadow:var(--pv-shadow-s)}
/* call-to-action band: light panel with a leaf mark */
.pv-sp .band2{background:#fff;color:var(--pv-ink);border:2px solid var(--pv-line);border-left:6px solid var(--pv-brand);border-radius:1.25rem;padding:clamp(1.75rem,3.5vw,2.75rem);box-shadow:var(--pv-shadow-s)}
.pv-sp .band2::after{right:-4rem;top:auto;bottom:-6rem;width:16rem;height:16rem;background:radial-gradient(circle,color-mix(in srgb,var(--pv-lime) 35%,transparent),transparent 70%)}
.pv-sp .band2 h3{font:900 clamp(1.4rem,2.3vw,1.9rem)/1.2 var(--fb);color:var(--pv-ink)}
.pv-sp .band2 p{color:var(--pv-muted)}
.pv-sp .band2 :is(.pill.w,.btn.w){--bg:var(--pv-brand);--fg:#fff;border-color:var(--pv-brand)}
.pv-sp .band2 :is(.pill.w,.btn.w):hover{background:var(--pv-brand-2);border-color:var(--pv-brand-2);color:#fff}
.pv-sp .band2 :is(.pill.ol,.btn.ghost){--fg:var(--pv-brand);border-color:var(--pv-brand)}
.pv-sp .band2 :is(.pill.ol,.btn.ghost):hover{background:var(--pv-brand);color:#fff}
.pv .checks li::before{background-color:var(--pv-lime)}
/* passport stages: numbered cards */
.pv-sp .stages{counter-reset:st;gap:1rem}
.pv-sp .stages .stg{counter-increment:st;position:relative;border:2px solid var(--pv-line);border-radius:1.25rem;padding:1.5rem 1.25rem;background:#fff}
.pv-sp .stages .stg::after{content:counter(st);position:absolute;top:1rem;right:1rem;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--pv-lime);color:var(--pv-ink);font-weight:900;display:grid;place-items:center;font-size:.9rem}
.pv-sp .stages h4{font:800 1.1rem/1.25 var(--fb)}
/* milestones timeline */
.pv-sp .tl::before{background:var(--pv-line);width:4px;border-radius:4px}
.pv-sp .tl::after{width:4px;border-radius:4px;background:linear-gradient(180deg,var(--pv-lime),var(--pv-brand));box-shadow:none}
.pv-sp .tl-y{background:var(--pv-lime);color:var(--pv-ink);font-family:var(--fb);font-weight:900;border-radius:.6rem}
.pv-sp .tl-c{border:2px solid var(--pv-line);border-radius:1.25rem;box-shadow:none}
.pv-sp .tl-c h3{font:800 1.15rem/1.3 var(--fb)}
.pv-sp .tl-i.todo .tl-y{background:#fff;color:var(--pv-brand);border-color:var(--pv-brand)}
/* team: photo on a coloured band */
.pv-sp .tm-p{border:2px solid var(--pv-line);border-radius:1.25rem;box-shadow:none;padding:0 1.25rem 1.5rem;overflow:hidden}
.pv-sp .tm-p::before{content:"";align-self:stretch;height:4.75rem;margin:0 -1.25rem;background:linear-gradient(120deg,var(--pv-brand),var(--pv-brand-2))}
.pv-sp .tm-ph{margin-top:-3.25rem;background:var(--pv-lime);border-radius:1.75rem;padding:4px}
.pv-sp .tm-ph img{border-radius:1.5rem}
.pv-sp .tm-p h3{font:800 1.1rem/1.25 var(--fb)}
/* leadership: leaf-shaped portrait on a dashed offset frame */
.pv-sp .lcard-2{background:var(--pv-surface-2)}
.pv-sp .lp-frame{border-radius:2rem 7rem 2rem 7rem;box-shadow:var(--pv-shadow)}
.pv-sp .lphoto::before{-webkit-mask:none;mask:none;padding:0;background:var(--pv-soft);border:2px dashed color-mix(in srgb,var(--pv-brand) 40%,transparent);border-radius:2rem 7rem 2rem 7rem}
.pv-sp .ltext .big{font:900 clamp(1.9rem,3.4vw,2.8rem)/1.1 var(--fb)}
.pv-sp .lrole{color:var(--pv-brand-2)}
.pv-sp .lquote{background:var(--pv-soft);border-left:5px solid var(--pv-lime);border-radius:0 1rem 1rem 0;padding:1.1rem 1.4rem;font:700 1.15rem/1.5 var(--fb)}
/* facility tiles, chips, galleries */
.pv-sp .og-t{border:2px solid var(--pv-line);border-radius:1rem;box-shadow:none}
.pv-sp .og-t:hover{border-color:var(--pv-brand);box-shadow:var(--pv-shadow-s)}
.pv-sp .og-t .ic{background:var(--pv-brand);color:#fff;border-radius:.8rem}
.pv-sp .og-t .ic .li{color:#fff}
.pv-sp .og-d span{background:var(--pv-soft);border:0;color:var(--pv-brand);border-radius:.5rem}
.pv-sp .gal img,.pv-sp .map{border-radius:1rem}
/* events, contact cards, partners, RTI */
.pv-sp .evr{border:2px solid var(--pv-line);border-radius:1rem}
.pv-sp .evr:hover{border-color:var(--pv-brand)}
.pv-sp .evr img{border-radius:.75rem}
.pv-sp .evr h3{font:800 1.15rem/1.3 var(--fb)}
.pv-sp .cc{border:2px solid var(--pv-line);border-radius:1rem}
.pv-sp .cc:hover{border-color:var(--pv-brand)}
.pv-sp .cc .ic{background:var(--pv-soft);color:var(--pv-brand);border-radius:1rem}
.pv-sp .cc b{font:800 1.1rem/1.25 var(--fb)}
.pv-sp .pt{border:2px solid var(--pv-line);border-radius:1rem}
.pv-sp .pt:hover{border-color:var(--pv-brand)}
.pv-sp .pmarq img{filter:none;opacity:1}
.pv-sp .rti-card{border:2px solid var(--pv-line);border-top:0;border-radius:1.25rem;overflow:hidden;position:relative;padding-top:2.25rem}
.pv-sp .rti-card::before{content:"";position:absolute;left:0;right:0;top:0;height:.5rem;background:linear-gradient(90deg,var(--pv-lime),var(--pv-brand))}
.pv-sp .rti-card h2{font:900 1.35rem/1.25 var(--fb)}
.pv-sp .rti-card h2::before{content:none}
.pv-sp .rti-role{color:var(--pv-brand-2)}
/* blog */
.pv-sp .bc{border:2px solid var(--pv-line);border-radius:1.25rem;box-shadow:none;position:relative}
.pv-sp .bc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--pv-lime),var(--pv-brand));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.pv-sp .bc:hover{border-color:transparent;box-shadow:var(--pv-shadow)}
.pv-sp .bc:hover::after{transform:none}
.pv-sp .bc b{font:800 1.15rem/1.35 var(--fb)}
.pv-sp .bc.feat b{font-size:clamp(1.4rem,2vw,1.9rem)}
.pv-sp .bc-cat{background:var(--pv-brand);color:#fff;border-radius:.4rem}
.pv-sp .bc-go{color:var(--pv-brand)}
.pv-sp .bp-im img{border-radius:1.5rem 1.5rem 1.5rem 5rem}
.pv-ph-post .pv-chip{text-transform:none;letter-spacing:0}
.pv .x-dlg{border-radius:1.1rem}
.pv .x-dlg .mh{border-bottom-color:var(--pv-line)}

/* ---------- 6) Responsive ---------- */
@media (max-width:1180px){
  .pv-menu{position:fixed;top:var(--hdr);left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:1rem var(--gut) 2rem;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility .3s;margin:0;z-index:59}
  .pv-menu.open{transform:none;visibility:visible}
  .pv-ni{border-bottom:1px solid var(--pv-line)}
  .pv-nk{width:100%;justify-content:space-between;padding:1rem .25rem;font-size:1.05rem;border-radius:0}
  .pv-nk:hover,.pv-ni.open>.pv-nk{background:none}
  .pv-ni.on>.pv-nk{box-shadow:none}
  .pv-dd{position:static;transform:none;min-width:0;box-shadow:none;border:0;padding:0 0 .75rem;display:none;opacity:1;visibility:visible}
  .pv-ni.open .pv-dd{display:grid;transform:none}
  .pv-mfoot{display:grid;gap:.4rem;padding-top:1.25rem;font-weight:700;color:var(--pv-brand)}
  .pv-burger{display:grid}
  .pv-tools{margin-left:auto}
  body.menu-open{overflow:hidden}
  body.menu-open :is(.x-fab,.pv-side){display:none}
  .pv-fac{grid-template-columns:1fr 1fr}
  .pv-pl,.pv-pg,.pv-g2,.pv-cul,.pv-ct,.pv-impact,.pv-ig,.pv-sh{grid-template-columns:1fr}
  .pv-icta{min-height:22rem}
  .pv-vals{grid-template-columns:repeat(3,1fr)}
  .pv-rec{grid-template-columns:repeat(3,1fr)}
  .pv-g3{grid-template-columns:1fr 1fr}
  .pv-fg{grid-template-columns:1fr 1fr 1fr}
  .pv-fabout{grid-column:1/-1}
  .pv-ftcta{grid-template-columns:1fr}.pv-ftcta .pv-row{justify-content:flex-start}
  .pv-phg{grid-template-columns:1fr;gap:2rem}
  .pv-phim{max-width:34rem}
  .pv-phf{aspect-ratio:16/10}
}
@media (max-width:640px){
  :root{--hdr:4.25rem}
  .pv-sec{padding:4rem 0}
  .pv-lt,.pv-sw,.pv-side{display:none}
  .pv-logo .lg{height:2.7rem}
  .pv-hero{min-height:36rem;height:calc(100svh - var(--hdr))}
  .pv-htx{padding-bottom:5.5rem;justify-content:flex-end}
  .pv-hm::after{background:linear-gradient(0deg,rgba(8,26,14,.9) 30%,rgba(8,26,14,.35))}
  .pv-hctl{bottom:1.5rem}
  .pv-fac,.pv-g3,.pv-nws,.pv-stats,.pv-mv{grid-template-columns:1fr}
  .pv-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin-inline:calc(var(--gut) * -1);padding:0 var(--gut) .5rem;scrollbar-width:none}
  .pv-tabs button{min-width:7.5rem;flex:none}
  .pv-pg{padding:1rem;gap:1.25rem}
  .pv-vals{grid-template-columns:1fr 1fr}
  .pv-vals .pv-val:last-child{grid-column:1/-1}
  .pv-rec{grid-template-columns:1fr 1fr}
  .pv-mos{grid-auto-rows:6.5rem}
  .pv-fg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pv-ftcta{padding:1.6rem}
  .pv-ev{flex-wrap:wrap}.pv-ev>div:nth-child(2){flex:1 1 calc(100% - 5rem)}.pv-ev .btn{margin-left:5rem}
  .pv-pil{min-height:30rem}.pv-pil::after{background:linear-gradient(180deg,rgba(0,0,0,.1),color-mix(in srgb,var(--pv-brand) 78%,#000) 38%,color-mix(in srgb,var(--pv-brand) 90%,#000))}
  .pv-labs li{flex-wrap:wrap}
  .pv-path{grid-template-columns:1fr;gap:0;justify-items:start}
  .pv-path::before,.pv-path::after{top:2.4rem;bottom:2.4rem;left:2.4rem;right:auto;width:3px;height:auto;transform-origin:top}
  .pv-path::before{background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--pv-brand) 35%,transparent) 0 10px,transparent 10px 18px)}
  .pv-path::after{transform:scaleY(0)}.pv-path.in::after{transform:none}
  .pv-path li{display:grid;grid-template-columns:auto 1fr;column-gap:1rem;text-align:left;align-items:center;padding:.4rem 0}
  .pv-path li .pv-pi{grid-row:span 2;margin:0}
  .pv-path li b{align-self:end}.pv-path li small{align-self:start}
  .pv-rail ol{grid-template-columns:1fr}
  .pv-rail li:nth-child(n){border-radius:0}.pv-rail li:first-child{border-radius:.6rem .6rem 0 0}.pv-rail li:last-child{border-radius:0 0 .6rem .6rem}
  .pv-tool .x-quiz{grid-template-columns:1fr}
  .pv-tt{width:100%}.pv-tt button{flex:1;justify-content:center;padding:.55rem .5rem;font-size:.85rem}
  .pv-tool{padding:1rem}
  .pv-icta{min-height:33rem}
  .pv-icta::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 24%,color-mix(in srgb,var(--pv-brand) 90%,#000) 42%,color-mix(in srgb,var(--pv-brand) 94%,#000))}
  .pv-icta>img,.pv-icta picture img{height:50%;bottom:auto}
  .pv-ph{padding:2rem 0 5rem}
  .pv-phf{border-radius:1.5rem 5rem 1.5rem 5rem}
  .pv-blob{width:6rem;height:6rem;left:-1.5rem}
  .pv-snc{width:100%}
  .pv-sp .pimg{margin:0 .75rem .75rem 0}.pv-sp .pimg::before{inset:.75rem -.75rem -.75rem .75rem}
}
@media (prefers-reduced-motion:reduce){
  .pv-hm img,.pv-hm video{transition:none;transform:none}
  .pv-pg{animation:none}
  .pv-phf img{animation:none}
}
