:root{color-scheme:only light}
html{color-scheme:only light}


:root{
  color-scheme:only light;
  --green:#21B784;
  --green-ink:#1A1C1E;
  --yellow:#FFD64F;
  --brand-yellow:#F5BE28;   /* the logo yellow, for type and marks */
  --ink:#1A1C1E;
  --grey:#6D6E71;
  --line:#E7E7E4;
  --wash:#F7F8F6;
  --max:1200px;
  --sans:"Helvetica Neue",Helvetica,Arial,"PingFang TC","Microsoft JhengHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:only light}
html,body{background:#fff}
img,canvas{forced-color-adjust:none}
body{font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

/* ---------- eyebrow / shared type ---------- */
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:18px}
.h2{font-size:clamp(28px,4vw,40px);line-height:1.15;font-weight:700;letter-spacing:-.02em}
.h2 .alt{color:var(--green)}
.band-dark .h2 .alt{color:var(--yellow)}
.h2 .grn{color:var(--green)}
.lede{color:var(--grey);font-size:16px;max-width:46ch}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{max-width:var(--max);margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:28px}
.head-logo img{width:150px}
.head-nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.head-nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);padding-bottom:3px;border-bottom:2px solid transparent}
.head-nav a:hover{color:var(--green);border-bottom-color:var(--green)}
.head-cta{border:1.5px solid var(--ink);border-radius:999px;padding:9px 20px !important}
.head-cta:hover{background:var(--ink);color:#fff !important;border-bottom-color:var(--ink) !important}
.head-lang{font-size:12px;color:var(--grey);letter-spacing:.06em}
.head-lang b{color:var(--ink)}
.burger{display:none;margin-left:auto;font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}

/* ---------- hero ---------- */
.hero{padding:76px 0 64px}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;align-items:center;gap:20px}
.hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.08;font-weight:700;letter-spacing:-.025em}
.hero h1 .grn{color:var(--green)}
.hero p{margin:22px 0 30px;color:var(--grey);font-size:16px;max-width:34ch}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 26px;border-radius:999px}
.btn:hover{background:var(--green);color:var(--ink)}
.btn-y{background:var(--yellow);color:var(--ink)}
.btn-y:hover{background:#fff}

.hero-tag{font-size:clamp(20px,2.4vw,30px);line-height:1.3;font-weight:600;color:var(--grey);text-align:left}
.hero-tag .m{color:var(--yellow)}
.hero-tag .l{color:var(--green)}

/* ---------- section frame ---------- */
.band{border-top:1px solid var(--line);padding:72px 0}
.band-wash{background:var(--wash)}
.band-dark{background:var(--ink);color:#fff;border-top:none}
.band-dark .eyebrow{color:var(--green)}
.band-dark .lede{color:rgba(255,255,255,.66)}
.band-dark .more{color:var(--yellow);border-bottom-color:var(--yellow)}
.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px}

/* ---------- capabilities ---------- */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cap{background:#fff;padding:26px 22px}
.cap h3{font-size:15px;font-weight:700;margin-bottom:8px}
.cap p{font-size:13.5px;color:var(--grey);line-height:1.6}
.cap .dot{width:26px;height:2px;background:var(--green);margin-bottom:16px}

/* ---------- frameworks ---------- */
.fw{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.fw-card{border:1px solid var(--line);padding:34px 30px;display:flex;flex-direction:column;gap:16px;background:#fff}
.fw-card img{height:74px;width:auto;object-fit:contain;align-self:flex-start}
.fw-card h3{font-size:17px;font-weight:700}
.fw-card p{font-size:14px;color:var(--grey)}
.fw-card .ask{font-size:13px;color:var(--green);font-weight:700;margin-top:auto;padding-top:8px}

/* ---------- solutions ---------- */
.sol{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sol-card{background:#fff;padding:32px 26px;display:flex;flex-direction:column;gap:14px}
.sol-card .mark{height:52px;display:flex;align-items:center}
.sol-card .mark img{max-height:52px;width:auto}
.sol-card .kicker{font-size:12px;font-weight:700;color:var(--green);letter-spacing:.04em}
.sol-card p{font-size:13.5px;color:var(--grey);line-height:1.6}

/* ---------- work ---------- */
.work{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.work-card{background:var(--ink);color:#fff;aspect-ratio:3/4;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.work-card:nth-child(2){background:#2E3A34}
.work-card:nth-child(3){background:#243027}
.work-card:nth-child(4){background:#31352F}
.work-card .sector{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);font-weight:700;margin-bottom:8px}
.work-card h3{font-size:16px;font-weight:600;line-height:1.35}
.work-card .ph{position:absolute;inset:0;background:
   radial-gradient(120% 80% at 20% 10%, rgba(33,183,132,.35), transparent 60%),
   radial-gradient(100% 70% at 90% 90%, rgba(255,214,79,.28), transparent 60%)}
.work-card>*{position:relative}

/* ---------- quote ---------- */
.quote{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:center}
.quote blockquote{font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:600;letter-spacing:-.015em}
.quote .mark{color:var(--yellow);font-size:46px;line-height:.6;display:block;margin-bottom:14px}
.quote cite{display:block;margin-top:22px;font-style:normal;font-size:13px;color:var(--grey)}
.quote cite b{display:block;color:var(--ink)}

/* ---------- two col: team + insights ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.face{aspect-ratio:1/1;background:linear-gradient(140deg,#EDF3EF,#F7F5EC);border:1px solid var(--line)}
.team-grid figcaption{font-size:11.5px;line-height:1.4;margin-top:8px;color:var(--grey)}
.team-grid figcaption b{display:block;color:var(--ink);font-size:12.5px}
.ins-item{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.ins-item .thumb{width:78px;height:56px;flex:none;background:linear-gradient(140deg,#EDF3EF,#F7F5EC);border:1px solid var(--line)}
.ins-item h4{font-size:14.5px;font-weight:600;line-height:1.35}
.ins-item span{font-size:12.5px;color:var(--grey)}
.more{display:inline-block;margin-top:22px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);border-bottom:1px solid var(--green)}

/* ---------- trust strip ---------- */
.trust{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.trust span{border:1px dashed var(--line);color:#B9B9B4;font-size:12px;letter-spacing:.1em;padding:16px 22px;text-transform:uppercase}

/* ---------- cta banner ---------- */
.cta-band{background:var(--ink);color:#fff;padding:48px 0;border-top:3px solid var(--green)}
.cta-in{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.cta-in h3{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.015em}
.cta-in p{color:rgba(255,255,255,.8);font-size:14.5px;margin-top:6px}
.cta-in .btn{margin-left:auto}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:rgba(255,255,255,.7);padding:56px 0 30px;font-size:13px}
.foot-top{display:grid;grid-template-columns:260px repeat(3,1fr);gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.13)}
.foot-logo{width:190px;margin-bottom:16px}
.foot-col h5{color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-weight:700}
.foot-col a{display:block;padding:5px 0;color:rgba(255,255,255,.7)}
.foot-col a:hover{color:var(--green)}
.foot-bot{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding-top:22px;font-size:12px;color:rgba(255,255,255,.5)}
.foot-bot .right{margin-left:auto;display:flex;gap:20px}

/* ---------- responsive ---------- */
.mob-nav{display:none;border-top:1px solid var(--line);background:#fff;padding:8px 28px 20px}
.mob-nav[hidden]{display:none}
.mob-nav.open{display:block}
.mob-nav a{display:block;padding:11px 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.mob-nav a:hover{color:var(--green)}
.mob-lang{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px}
.mob-lang b{color:var(--ink);font-weight:700}
.mob-lang span{color:var(--grey);cursor:pointer}
.mob-lang i{font-style:normal;color:var(--line)}
.head-lang{display:inline-flex;align-items:center;gap:7px}
.head-lang i{font-style:normal;color:var(--line)}
.head-lang span{cursor:pointer}

@media(max-width:1120px){
  .head-nav{display:none}
  .burger{display:block;cursor:pointer}
}
@media(max-width:1000px){
  .hero-in{grid-template-columns:1fr;gap:32px}
  .hero-tag{text-align:center}
  .split{grid-template-columns:1fr;gap:28px}
  .caps,.sol{grid-template-columns:1fr 1fr}
  .work{grid-template-columns:1fr 1fr}
  .duo,.quote{grid-template-columns:1fr;gap:36px}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .mob-nav{padding-left:20px;padding-right:20px}
  .wrap,.head-in{padding-left:20px;padding-right:20px}
  .hero{padding:44px 0 40px}
  .band{padding:52px 0}
  .caps,.sol,.fw,.work{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .cta-in .btn{margin-left:0}
  .foot-top{grid-template-columns:1fr}
}
/* ---- opt out of forced dark mode in mobile in-app browsers ----
   Declaring our own dark-scheme rules (that keep the page light) stops
   WeChat / Chrome / Samsung from auto-inverting the page themselves. */
@media (prefers-color-scheme: dark){
  :root{color-scheme:only light}
  html,body{background:#fff !important;color:var(--ink) !important}
  .site-head{background:rgba(255,255,255,.95) !important;border-bottom-color:var(--line) !important}
  .head-nav a,.head-cta,.burger{color:var(--ink) !important}
  .head-lang{color:var(--grey) !important}
  .head-lang b{color:var(--ink) !important}
  .mob-nav{background:#fff !important;border-top-color:var(--line) !important}
  .mob-nav a{color:var(--ink) !important;border-bottom-color:var(--line) !important}
  .mob-lang b{color:var(--ink) !important}
  .mob-lang span,.head-lang span{color:var(--grey) !important}
  .mob-lang i,.head-lang i{color:var(--line) !important}
  .band{background:#fff !important}
  .band-wash{background:var(--wash) !important}
  .hero,.hero-viz{background-color:#fff !important}
  .hero h1,.h2,.cap h3,.fw-card h3,.ins-item h4,.quote blockquote,.team-grid figcaption b,.cta-in h3{color:var(--ink) !important}
  .hero h1 .grn,.h2 .grn,.h2 .alt,.eyebrow,.more,.fw-card .ask,.sol-card .kicker{color:var(--green) !important}
  .hero p,.lede,.cap p,.fw-card p,.sol-card p,.ins-item span,.quote cite,.team-grid figcaption{color:var(--grey) !important}
  .cap,.fw-card,.sol-card,.face,.ins-item .thumb{background:#fff !important}
  .caps,.sol{background:var(--line) !important}
  .btn{background:var(--ink) !important;color:#fff !important}
  .btn-y{background:var(--yellow) !important;color:var(--ink) !important}
  .work-card,.work-card h3{color:#fff !important}
  .cta-band{background:var(--ink) !important}
  .cta-in h3{color:#fff !important}
  .cta-in p{color:rgba(255,255,255,.8) !important}
  .site-foot{background:var(--ink) !important;color:rgba(255,255,255,.7) !important}
  .foot-col h5,.foot-col a:hover{color:#fff !important}
  .foot-col a,.site-foot p{color:rgba(255,255,255,.7) !important}
  .foot-bot,.foot-bot a{color:rgba(255,255,255,.5) !important}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.hero-viz{position:relative;width:100%;aspect-ratio:900/420;background:radial-gradient(48% 60% at 27% 50%, rgba(255,214,79,.07), rgba(255,255,255,0) 70%),radial-gradient(48% 60% at 73% 50%, rgba(33,183,132,.06), rgba(255,255,255,0) 70%)}
.hero-viz canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
.hero-viz.ready canvas{display:block}
.hero-viz.ready .hero-fallback{display:none}
.hero-fallback{width:100%;height:100%;object-fit:contain}

/* ---- home ---- */

:root{
  color-scheme:only light;
  --green:#21B784;
  --green-ink:#1A1C1E;
  --yellow:#FFD64F;
  --ink:#1A1C1E;
  --grey:#6D6E71;
  --line:#E7E7E4;
  --wash:#F7F8F6;
  --max:1200px;
  --sans:"Helvetica Neue",Helvetica,Arial,"PingFang TC","Microsoft JhengHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:only light}
html, body{background:#fff}
#page-home img, #page-home canvas{forced-color-adjust:none}
body{font-family:var(--sans);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;line-height:1.55}
#page-home img{max-width:100%;display:block}
#page-home a{color:inherit;text-decoration:none}
#page-home .wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
#page-home .eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:18px}
#page-home .h2{font-size:clamp(28px,4vw,40px);line-height:1.15;font-weight:700;letter-spacing:-.02em}
#page-home .h2 .alt{color:var(--green)}
#page-home .band-dark .h2 .alt{color:var(--yellow)}
#page-home .h2 .grn{color:var(--green)}
#page-home .lede{color:var(--grey);font-size:16px;max-width:46ch}
#page-home .site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
#page-home .head-in{max-width:var(--max);margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:28px}
#page-home .head-logo img{width:150px}
#page-home .head-nav{margin-left:auto;display:flex;align-items:center;gap:26px}
#page-home .head-nav a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);padding-bottom:3px;border-bottom:2px solid transparent}
#page-home .head-nav a:hover{color:var(--green);border-bottom-color:var(--green)}
#page-home .head-cta{border:1.5px solid var(--ink);border-radius:999px;padding:9px 20px !important}
#page-home .head-cta:hover{background:var(--ink);color:#fff !important;border-bottom-color:var(--ink) !important}
#page-home .head-lang{font-size:12px;color:var(--grey);letter-spacing:.06em}
#page-home .head-lang b{color:var(--ink)}
#page-home .burger{display:none;margin-left:auto;font-size:12px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
#page-home .hero{padding:86px 0 74px;position:relative;overflow:hidden}
#page-home .hero-bg{position:absolute;inset:0;z-index:0}
#page-home .hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-home .hero-bg.ready canvas{display:block}
#page-home .hero-bg.ready .hero-fallback{display:none}
#page-home .hero-bg .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#page-home .hero-in{position:relative;z-index:1}
#page-home .hero-in>div:first-child{position:relative}
#page-home .hero-in>div:first-child:before{content:"";position:absolute;left:-8%;right:-16%;top:-18%;bottom:-18%;
  background:radial-gradient(72% 64% at 32% 50%, rgba(255,255,255,.88), rgba(255,255,255,.52) 56%, rgba(255,255,255,0) 84%);
  z-index:-1}
#page-home .hero-tag{position:relative}
#page-home .hero-mid{min-height:360px}
#page-home .hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.10fr) auto;align-items:center;gap:20px}
#page-home .hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.08;font-weight:700;letter-spacing:-.025em}
#page-home .hero h1 .grn{color:var(--green)}
#page-home .hero p{margin:22px 0 30px;color:var(--grey);font-size:16px;max-width:34ch}
#page-home .btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:14px 26px;border-radius:999px}
#page-home .btn:hover{background:var(--green);color:var(--ink)}
#page-home .btn-y{background:var(--yellow);color:var(--ink)}
#page-home .btn-y:hover{background:#fff}
#page-home .hero-tag{font-size:clamp(24px,3.0vw,38px);line-height:1.28;font-weight:600;color:var(--grey);text-align:left;letter-spacing:-.01em}
#page-home .hero-tag .m{color:var(--yellow)}
#page-home .hero-tag .l{color:var(--green)}
#page-home .band{border-top:1px solid var(--line);padding:72px 0}
#page-home .band-wash{background:var(--wash)}
#page-home .band-dark{background:var(--ink);color:#fff;border-top:none}
#page-home .band-dark .eyebrow{color:var(--green)}
#page-home .band-dark .lede{color:rgba(255,255,255,.66)}
#page-home .band-dark .more{color:var(--yellow);border-bottom-color:var(--yellow)}
#page-home .split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px}
#page-home .caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
#page-home .cap{background:#fff;padding:30px 22px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;gap:14px;min-height:150px;transition:background .2s}
#page-home .cap:hover{background:var(--wash)}
#page-home .cap .capico{width:58px;height:58px;border-radius:50%;background:#EFF5F1;color:var(--green);
  display:flex;align-items:center;justify-content:center}
#page-home .cap .capico .ico{width:30px;height:30px}
#page-home .capname{font-size:15px;font-weight:700;line-height:1.3}
#page-home .fw{display:grid;grid-template-columns:1fr 1fr;gap:28px}
#page-home .fw-card{border:1px solid var(--line);padding:34px 30px;display:flex;flex-direction:column;gap:16px;background:#fff}
#page-home .fw-card img{height:74px;width:auto;object-fit:contain;align-self:flex-start}
#page-home .fw-card h3{font-size:17px;font-weight:700}
#page-home .fw-card p{font-size:14px;color:var(--grey)}
#page-home .fw-card .ask{font-size:13px;color:var(--green);font-weight:700;margin-top:auto;padding-top:8px}
#page-home .sol{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
#page-home .sol-card{background:#fff;padding:32px 26px;display:flex;flex-direction:column;gap:14px}
#page-home .sol-card .mark{height:60px;display:flex;align-items:center}
#page-home .sol-card .mark img{max-height:60px;width:auto}
#page-home .sol-card .kicker{font-size:12px;font-weight:700;color:var(--green);letter-spacing:.04em}
#page-home .sol-card p{font-size:13.5px;color:var(--grey);line-height:1.6}
#page-home .work{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#page-home .work-card{background:var(--ink);color:#fff;aspect-ratio:3/4;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:transform .2s}
#page-home .work-card:hover{transform:translateY(-3px)}
#page-home .work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.18) brightness(.72)}
#page-home .work-card:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,14,12,.10) 30%,rgba(10,14,12,.86) 100%)}
#page-home .work-card .sector{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);font-weight:700;margin-bottom:8px}
#page-home .work-card h3{font-size:16px;font-weight:600;line-height:1.35}
#page-home .work-card>*{position:relative;z-index:2}
#page-home .vid-wrap{max-width:900px;margin:0 auto 34px;text-align:center}
#page-home .vid-wrap h2{font-size:clamp(24px,3.2vw,36px);line-height:1.15;font-weight:700;letter-spacing:-.022em}
#page-home .vid-wrap p{margin-top:16px;color:var(--grey);font-size:16px}
#page-home .player{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0E1512;
  border:1px solid var(--line);cursor:pointer}
#page-home .player img{width:100%;height:100%;object-fit:cover;display:block}
#page-home .player video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0E1512}
#page-home .player.vfail .play .label:after{content:" \2014 video unavailable"}
#page-home .player.vfail .disc{opacity:.35}
#page-home .player .play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:16px;transition:opacity .25s}
#page-home .player .disc{width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(10,20,15,.18);
  transition:transform .22s,background .22s}
#page-home .player:hover .disc{transform:scale(1.06);background:#fff}
#page-home .player .disc svg{width:30px;height:30px;margin-left:5px;fill:var(--green)}
#page-home .player .label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:rgba(255,255,255,.9);padding:9px 16px}
#page-home .player .dur{position:absolute;right:14px;bottom:14px;font-size:12px;color:#fff;
  background:rgba(14,21,18,.66);padding:6px 10px;letter-spacing:.04em}
#page-home .player.on .play, #page-home .player.on .dur{opacity:0;pointer-events:none}
#page-home .vid-note{margin-top:16px;font-size:12.5px;color:var(--grey);text-align:center}
#page-home .work-head{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:48px;
  align-items:end;margin-bottom:34px}
#page-home .hsol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
#page-home .hsol-i{display:block;min-width:0;padding:20px 22px 22px 0;border-right:1px solid var(--line)}
#page-home .hsol-i:last-child{border-right:0;padding-right:0}
#page-home .hsol-i+.hsol-i{padding-left:22px}
#page-home .hsol-i b{display:block;font-size:clamp(16px,1.5vw,19px);font-weight:800;letter-spacing:-.025em;
  color:var(--green);line-height:1;margin-bottom:9px}
#page-home .hsol-i span{display:block;font-size:12.5px;line-height:1.5;color:var(--grey)}
#page-home .hsol-i:hover span{color:var(--ink)}
#page-home .hsol-tools{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--grey)}
#page-home .hsol-tools a{font-weight:700;color:var(--ink)}
#page-home .hsol-tools a:hover{color:var(--green)}
#page-home .hsol-tools i{font-style:normal;color:var(--line);padding:0 4px}
#page-home .work-head>*{min-width:0}
#page-home .work-head .h2{margin-bottom:0}
#page-home .work-head .lede{margin-bottom:0}
#page-home .work-head .sub{font-size:15.5px;color:var(--grey);margin-top:12px;max-width:58ch}
#page-home .quote{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:center}
#page-home .quote{--qy:var(--brand-yellow);--qg:var(--green)}
#page-home .quote .el{color:var(--green);font-weight:700;padding:0 2px}
#page-home .qm{display:inline-block;width:.58em;height:.895em}
#page-home .qm-o{vertical-align:.20em;margin-right:.14em}
#page-home .qm-c{vertical-align:-.26em;margin-left:.14em}
#page-home .quote .nb{white-space:nowrap}
#page-home .quote blockquote{font-size:clamp(20px,2.6vw,28px);line-height:1.4;font-weight:600;letter-spacing:-.015em}
#page-home .quote cite{display:block;margin-top:22px;font-style:normal;font-size:13px;color:var(--grey)}
#page-home .quote cite b{display:block;color:var(--ink)}
#page-home .duo{display:grid;grid-template-columns:1fr 1fr;gap:56px}
#page-home .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
#page-home .tmember{display:block}
#page-home .tmember:hover .tcap b{color:var(--green)}
#page-home .face{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;
  background:linear-gradient(140deg,#EDF3EF,#F7F5EC);border:1px solid var(--line)}
#page-home .face i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-style:normal;font-weight:700;font-size:20px;letter-spacing:.06em;color:var(--green)}
#page-home .face img{position:relative;width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
#page-home .tcap{display:block;font-size:11.5px;line-height:1.4;margin-top:8px;color:var(--grey)}
#page-home .tcap b{display:block;color:var(--ink);font-size:12.5px;transition:color .18s}
#page-home .ins-item{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);align-items:flex-start}
#page-home .ins-item:hover h4{color:var(--green)}
#page-home .ins-item .thumb{width:96px;height:66px;flex:none;overflow:hidden;border:1px solid var(--line);background:var(--wash)}
#page-home .ins-item .thumb img{width:100%;height:100%;object-fit:cover;display:block}
#page-home .ins-txt{display:block}
#page-home .ins-flag{display:inline-block;background:var(--yellow);color:var(--ink) !important;font-size:10px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;margin-bottom:7px}
#page-home .ins-item h4{font-size:14.5px;font-weight:600;line-height:1.35;transition:color .18s}
#page-home .ins-item span{font-size:12.5px;color:var(--grey);display:block;margin-top:5px;line-height:1.5}
#page-home .more{display:inline-block;margin-top:22px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green);border-bottom:1px solid var(--green)}
#page-home .trust{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
#page-home .trust span{border:1px dashed var(--line);color:#B9B9B4;font-size:12px;letter-spacing:.1em;padding:16px 22px;text-transform:uppercase}
#page-home .cta-band{background:var(--ink);color:#fff;padding:48px 0;border-top:3px solid var(--green)}
#page-home .cta-in{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
#page-home .cta-in h3{font-size:clamp(20px,2.6vw,26px);font-weight:700;letter-spacing:-.015em}
#page-home .cta-in p{color:rgba(255,255,255,.8);font-size:14.5px;margin-top:6px}
#page-home .cta-in .btn{margin-left:auto}
#page-home .site-foot{background:var(--ink);color:rgba(255,255,255,.7);padding:56px 0 30px;font-size:13px}
#page-home .foot-top{display:grid;grid-template-columns:260px repeat(3,1fr);gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.13)}
#page-home .foot-logo{width:190px;margin-bottom:16px}
#page-home .foot-col h5{color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-weight:700}
#page-home .foot-col a{display:block;padding:5px 0;color:rgba(255,255,255,.7)}
#page-home .foot-col a:hover{color:var(--green)}
#page-home .foot-bot{display:flex;gap:22px;flex-wrap:wrap;align-items:center;padding-top:22px;font-size:12px;color:rgba(255,255,255,.5)}
#page-home .foot-bot .right{margin-left:auto;display:flex;gap:20px}


@media(max-width:1000px){
#page-home .head-nav{display:none}
#page-home .burger{display:block}
#page-home .hero-in{grid-template-columns:1fr;gap:32px}
#page-home .hero-tag{text-align:center}
#page-home .split{grid-template-columns:1fr;gap:28px}
#page-home .caps, #page-home .sol{grid-template-columns:1fr 1fr}
#page-home .work{grid-template-columns:1fr 1fr}
#page-home .duo, #page-home .quote, #page-home .work-head{grid-template-columns:1fr;gap:26px}
#page-home .hsol{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-home .hsol-i{border-bottom:1px solid var(--line);padding:18px 0}
#page-home .hsol-i+.hsol-i{padding-left:0}
#page-home .hsol-i:nth-child(odd){padding-right:18px}
#page-home .work-head{align-items:start}
#page-home .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
#page-home .wrap, #page-home .head-in{padding-left:20px;padding-right:20px}
#page-home .hero{padding:44px 0 40px}
#page-home .band{padding:52px 0}
#page-home .caps, #page-home .sol, #page-home .fw, #page-home .work{grid-template-columns:1fr}
#page-home .team-grid{grid-template-columns:repeat(2,1fr)}
#page-home .cta-in .btn{margin-left:0}
#page-home .foot-top{grid-template-columns:1fr}
}

@media (prefers-color-scheme: dark){
:root{color-scheme:only light}
html, body{background:#fff !important;color:var(--ink) !important}
#page-home .site-head{background:rgba(255,255,255,.95) !important;border-bottom-color:var(--line) !important}
#page-home .head-nav a, #page-home .head-cta, #page-home .burger{color:var(--ink) !important}
#page-home .head-lang{color:var(--grey) !important}
#page-home .head-lang b{color:var(--ink) !important}
#page-home .band{background:#fff !important}
#page-home .band-wash{background:var(--wash) !important}
#page-home .hero, #page-home .hero-viz{background-color:#fff !important}
#page-home .hero h1, #page-home .h2, #page-home .cap h3, #page-home .fw-card h3, #page-home .ins-item h4, #page-home .quote blockquote, #page-home .tcap b, #page-home .cta-in h3, #page-home .vid-wrap h2, #page-home .player .label{color:var(--ink) !important}
#page-home .quote{--qy:var(--brand-yellow) !important;--qg:var(--green) !important}
#page-home .hero h1 .grn, #page-home .h2 .grn, #page-home .h2 .alt, #page-home .eyebrow, #page-home .more, #page-home .fw-card .ask, #page-home .sol-card .kicker{color:var(--green) !important}
#page-home .hero p, #page-home .lede, #page-home .cap p, #page-home .fw-card p, #page-home .sol-card p, #page-home .ins-item span, #page-home .quote cite, #page-home .tcap, #page-home .hsol-i span, #page-home .hsol-tools{color:var(--grey) !important}
#page-home .hsol-tools a{color:var(--ink) !important}
#page-home .cap, #page-home .fw-card, #page-home .sol-card, #page-home .face, #page-home .ins-item .thumb{background:#fff !important}
#page-home .caps, #page-home .sol{background:var(--line) !important}
#page-home .btn{background:var(--ink) !important;color:#fff !important}
#page-home .btn-y{background:var(--yellow) !important;color:var(--ink) !important}
#page-home .work-card, #page-home .work-card h3{color:#fff !important}
#page-home .cta-band{background:var(--ink) !important}
#page-home .cta-in h3{color:#fff !important}
#page-home .cta-in p{color:rgba(255,255,255,.8) !important}
#page-home .site-foot{background:var(--ink) !important;color:rgba(255,255,255,.7) !important}
#page-home .foot-col h5, #page-home .foot-col a:hover{color:#fff !important}
#page-home .foot-col a, #page-home .site-foot p{color:rgba(255,255,255,.7) !important}
#page-home .foot-bot, #page-home .foot-bot a{color:rgba(255,255,255,.5) !important}
}
@media(prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important}}
#page-home .hero-viz{position:relative;width:100%;aspect-ratio:900/420;background:radial-gradient(48% 60% at 27% 50%, rgba(255,214,79,.07), rgba(255,255,255,0) 70%),radial-gradient(48% 60% at 73% 50%, rgba(33,183,132,.06), rgba(255,255,255,0) 70%)}
#page-home .hero-viz canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-home .hero-viz.ready canvas{display:block}
#page-home .hero-viz.ready .hero-fallback{display:none}
#page-home .hero-fallback{width:100%;height:100%;object-fit:contain}

/* ---- what ---- */

#page-what .wwd-hero{position:relative;margin-bottom:8px}
#page-what .wwd-hero .stage{position:relative;width:100%;aspect-ratio:1881/500;
  background:radial-gradient(125% 155% at 56% 44%, #FAFBFC 0%, #F1F2F4 52%, #E8EAEC 100%)}
#page-what .wwd-hero canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-what .wwd-hero .stage.ready canvas{display:block}
#page-what .wwd-hero .stage.ready .art{display:none}
#page-what .wwd-hero .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
#page-what .wwd-hero .over{position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;pointer-events:none;z-index:2}
#page-what .wwd-hero .inner{max-width:var(--max);margin:0 auto;padding:0 28px;width:100vw}
#page-what .wwd-hero h1{font-size:clamp(30px,4.4vw,56px);line-height:1.05;font-weight:700;letter-spacing:-.03em;color:var(--ink)}
#page-what .wwd-hero h1 .grn{color:var(--green)}
#page-what .wwd-hero p{margin-top:18px;color:var(--grey);font-size:16px;max-width:34ch}
#page-what .wwd-hero .eyebrow{margin-bottom:14px}
#page-what .secline{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:36px}
#page-what .secline:before, #page-what .secline:after{content:"";height:1px;background:var(--line);flex:1;max-width:180px}
#page-what .secline span{font-size:clamp(17px,2.1vw,23px);font-weight:700;letter-spacing:.10em;
  text-transform:uppercase;color:var(--green);white-space:nowrap}
#page-what .secline:before, #page-what .secline:after{max-width:220px}
#page-what .comb{--hw:330px;--hh:381px;--hgap:18px;display:flex;flex-direction:column;align-items:center;
  overflow:hidden;padding:2px 0}
#page-what .comb-row{display:flex;gap:var(--hgap)}
#page-what .comb-row:nth-child(1){transform:translateX(calc((var(--hw) + var(--hgap)) / -4))}
#page-what .comb-row:nth-child(2){transform:translateX(calc((var(--hw) + var(--hgap)) / 4));
  margin-top:calc(var(--hh) * -0.25 + 14px)}
#page-what .hex{position:relative;width:var(--hw);height:var(--hh);flex:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 44px;background:#CFE4DA;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  transition:background .22s,transform .22s}
#page-what .hex:before{content:"";position:absolute;inset:2px;background:#F4F9F6;
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
#page-what .hex:hover{background:var(--green);transform:translateY(-3px)}
#page-what .hex:hover:before{background:#EBF5F0}
#page-what .hex>*{position:relative;z-index:1}
#page-what .hex .capico{width:74px;height:74px;border-radius:50%;background:#fff;color:var(--green);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
  box-shadow:0 0 0 1px rgba(33,183,132,.18)}
#page-what .hex .capico .ico{width:42px;height:42px;stroke-width:1.5}
#page-what .hex h3{font-size:18px;font-weight:700;letter-spacing:-.012em;line-height:1.25}
#page-what .hex .rule{width:32px;height:2px;background:var(--green);margin:10px auto 10px}
#page-what .hex p{font-size:12.8px;color:var(--grey);line-height:1.55;max-width:23ch}
#page-what .prin{background:var(--wash);border:1px solid var(--line);padding:40px 34px}
#page-what .pringrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
#page-what .pringrid>div{background:var(--wash);padding:0 26px}
#page-what .pringrid>div:first-child{padding-left:0}
#page-what .pringrid>div:last-child{padding-right:0}
#page-what .prinhead{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
#page-what .prinhead .ico{width:34px;height:34px;flex:none;color:var(--green)}
#page-what .prinhead b{font-size:15px;font-weight:700;line-height:1.35}
#page-what .pringrid p{font-size:13.5px;color:var(--grey);line-height:1.7}
#page-what .impgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
#page-what .impgrid>div{background:#fff;padding:0 26px}
#page-what .impgrid>div:first-child{padding-left:0}
#page-what .impgrid>div:last-child{padding-right:0}
#page-what .impico{width:52px;height:52px;border-radius:50%;background:#FDF6E3;color:#D89A08;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px}
#page-what .impico .ico{width:28px;height:28px}
#page-what .impgrid b{display:block;font-size:15.5px;font-weight:700;line-height:1.35;margin-bottom:8px}
#page-what .impgrid p{font-size:13.5px;color:var(--grey);line-height:1.65}
#page-what .vid-wrap{max-width:900px;margin:0 auto 34px;text-align:center}
#page-what .vid-wrap h2{font-size:clamp(24px,3.2vw,36px);line-height:1.15;font-weight:700;letter-spacing:-.022em}
#page-what .vid-wrap p{margin-top:16px;color:var(--grey);font-size:16px}
#page-what .player{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#0E1512;
  border:1px solid var(--line);cursor:pointer}
#page-what .player img{width:100%;height:100%;object-fit:cover;display:block}
#page-what .player video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0E1512}
#page-what .player.vfail .play .label:after{content:" 4 video unavailable"}
#page-what .player.vfail .disc{opacity:.35}
#page-what .player .play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:16px;transition:opacity .25s}
#page-what .player .disc{width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.92);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(10,20,15,.18);
  transition:transform .22s,background .22s}
#page-what .player:hover .disc{transform:scale(1.06);background:#fff}
#page-what .player .disc svg{width:30px;height:30px;margin-left:5px;fill:var(--green)}
#page-what .player .label{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:rgba(255,255,255,.9);padding:9px 16px}
#page-what .player .dur{position:absolute;right:14px;bottom:14px;font-size:12px;color:#fff;
  background:rgba(14,21,18,.66);padding:6px 10px;letter-spacing:.04em}
#page-what .player.on .play, #page-what .player.on .dur{opacity:0;pointer-events:none}
#page-what .vid-note{margin-top:16px;font-size:12.5px;color:var(--grey);text-align:center}

@media(max-width:1000px){
#page-what .comb{--hw:262px;--hh:303px;--hgap:14px}
#page-what .pringrid, #page-what .impgrid{grid-template-columns:1fr;gap:26px;background:none}
#page-what .pringrid>div, #page-what .impgrid>div{padding:0}
#page-what .wwd-hero .over{position:static;padding:24px 0 8px}
#page-what .wwd-hero .inner{width:auto}
#page-what .wwd-hero .stage{aspect-ratio:1200/560}
}
@media(max-width:640px){
#page-what .wwd-hero .stage{aspect-ratio:1000/620} }
@media(max-width:760px){
#page-what .comb{--hw:100%;--hh:auto;overflow:visible}
#page-what .comb-row{flex-direction:column;gap:14px;width:100%;transform:none !important;margin-top:0 !important}
#page-what .hex{clip-path:none;background:#fff;border:1px solid var(--line);
    padding:30px 26px;height:auto;width:100%}
#page-what .hex:before{display:none}
#page-what .hex:hover{background:var(--wash)}
#page-what .hex p{max-width:none}
}
@media (prefers-color-scheme: dark){
#page-what .hex{background:#CFE4DA !important}
#page-what .hex:before{background:#F4F9F6 !important}
#page-what .impgrid>div{background:#fff !important}
#page-what .prin, #page-what .pringrid>div{background:var(--wash) !important}
#page-what .wwd-hero h1, #page-what .hex h3, #page-what .prinhead b, #page-what .impgrid b, #page-what .vid-wrap h2, #page-what .player .label{color:var(--ink) !important}
#page-what .wwd-hero h1 .grn, #page-what .secline span, #page-what .capico, #page-what .prinhead .ico{color:var(--green) !important}
#page-what .wwd-hero p, #page-what .hex p, #page-what .pringrid p, #page-what .impgrid p, #page-what .vid-wrap p, #page-what .vid-note{color:var(--grey) !important}
#page-what .player .label{background:rgba(255,255,255,.9) !important}
}


/* ---- frameworks ---- */

#page-frameworks .sc-weight{margin-top:26px;padding:20px 24px;background:var(--ink);color:#fff}
#page-frameworks .sc-weight b{display:block;font-size:16.5px;font-weight:700;line-height:1.4;color:var(--yellow);margin-bottom:9px}
#page-frameworks .sc-weight p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.88);margin:0;max-width:84ch}
#page-frameworks .case-link.is-soon{opacity:.62}
#page-frameworks .case-link.is-soon .case-sub{color:var(--grey)}
@media(max-width:900px){
#page-frameworks .sc-apps, #page-frameworks .case-trio{grid-template-columns:1fr} }
@media (prefers-color-scheme: dark){
#page-frameworks .sc-weight{background:var(--ink) !important}
#page-frameworks .sc-weight p{color:rgba(255,255,255,.88) !important}
}
#page-frameworks .case-pair-h{margin-top:38px}
#page-frameworks .case-pair-h .case-eyebrow{margin-bottom:14px}
#page-frameworks .case-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#page-frameworks .case-pair.case-trio{grid-template-columns:repeat(3,minmax(0,1fr))}
#page-frameworks .case-pair .case-link{margin-top:0}
#page-frameworks .case-pair>*{min-width:0}
@media(max-width:820px){
#page-frameworks .case-pair{grid-template-columns:1fr} }
#page-frameworks .sc-calib{margin-top:34px}
#page-frameworks .sc-calib-h{margin-bottom:16px}
#page-frameworks .sc-calib-h b{display:block;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.015em;margin-bottom:7px}
#page-frameworks .sc-calib-h span{display:block;font-size:13.5px;color:var(--grey);line-height:1.6}
#page-frameworks .sc-calib .tblwrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#fff}
#page-frameworks .sc-calib table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.45}
#page-frameworks .sc-calib th{text-align:left;background:var(--wash);font-weight:700;padding:11px 14px;
  border-bottom:1px solid var(--line);color:var(--ink);white-space:normal}
#page-frameworks .sc-calib td{padding:10px 14px;border-bottom:1px solid var(--line);color:var(--grey);vertical-align:top}
#page-frameworks .sc-calib td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
#page-frameworks .sc-calib td b{display:inline-block;width:15px;color:var(--green);font-weight:800}
#page-frameworks .sc-calib .sc-row-h td{background:#F3F6F4;color:var(--green);font-weight:700;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;white-space:normal}
#page-frameworks .sc-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}
#page-frameworks .sc-app{display:block;padding:16px 20px;border:1px solid var(--line);background:var(--wash);
  transition:border-color .18s,background .18s}
#page-frameworks a.sc-app:hover{border-color:var(--green);background:#EEF4F0}
#page-frameworks .sc-app em{display:block;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--grey);margin-bottom:6px}
#page-frameworks .sc-app b{display:block;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.015em}
#page-frameworks .sc-app-em{display:block;font-size:13px;color:var(--grey);line-height:1.5;margin-top:6px}
#page-frameworks .sc-app i{display:block;font-style:normal;font-size:13px;color:var(--green);font-weight:600;margin-top:7px}
#page-frameworks .sc-app.is-soon{opacity:.62}
#page-frameworks .sc-app.is-soon i{color:var(--grey)}
@media(max-width:760px){
#page-frameworks .sc-apps{grid-template-columns:1fr}
#page-frameworks .sc-calib table{min-width:520px} }
@media (prefers-color-scheme: dark){
#page-frameworks .sc-calib .tblwrap{background:#fff !important}
#page-frameworks .sc-calib th{background:var(--wash) !important;color:var(--ink) !important}
#page-frameworks .sc-calib td{color:var(--grey) !important}
#page-frameworks .sc-calib td:first-child, #page-frameworks .sc-calib-h b, #page-frameworks .sc-app b{color:var(--ink) !important}
#page-frameworks .sc-app{background:var(--wash) !important}
}
#page-frameworks .sc-adapt{margin-top:20px;padding:18px 22px;background:var(--wash);border-left:3px solid var(--green)}
#page-frameworks .sc-adapt b{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:1.45;margin-bottom:10px}
#page-frameworks .sc-adapt p{font-size:14px;color:var(--grey);line-height:1.65;margin-bottom:10px;max-width:64ch}
#page-frameworks .sc-adapt p:last-child{margin-bottom:0}
#page-frameworks .illus-h{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey);margin:16px 0 6px}
#page-frameworks .fw-def{font-size:17px;line-height:1.45;font-weight:700;color:var(--ink);letter-spacing:-.012em;
  margin-bottom:14px;max-width:46ch}
#page-frameworks .sc-head .fw-def, #page-frameworks .icic .fw-def{font-size:17px;max-width:44ch;margin-top:18px}
#page-frameworks .hero{position:relative;overflow:hidden}
#page-frameworks .fw-hero-bg{position:absolute;inset:0;z-index:0}
#page-frameworks .fw-hero-bg canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-frameworks .fw-hero-bg.ready canvas{display:block}
#page-frameworks .fw-hero-bg.ready .hero-fallback{display:none}
#page-frameworks .fw-hero-bg .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#page-frameworks .fw-hero-mid{min-height:360px}
#page-frameworks .fw-hero{display:grid;grid-template-columns:minmax(0,.80fr) minmax(0,1.20fr);align-items:center;gap:40px;
  position:relative;z-index:1}
#page-frameworks .fw-hero>div:first-child{position:relative}
#page-frameworks .fw-hero>div:first-child:before{content:"";position:absolute;left:-8%;right:-16%;top:-20%;bottom:-20%;
  background:radial-gradient(72% 64% at 32% 50%, rgba(255,255,255,.90), rgba(255,255,255,.55) 56%, rgba(255,255,255,0) 84%);
  z-index:-1}
#page-frameworks .steps-row{position:relative;z-index:1}
#page-frameworks .fw-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.06;font-weight:700;letter-spacing:-.025em;margin-top:4px}
#page-frameworks .fw-hero h1 .grn{color:var(--green)}
#page-frameworks .fw-hero p{margin:22px 0 30px;color:var(--grey);font-size:16.5px;max-width:38ch}
#page-frameworks .steps-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px;margin-top:22px}
#page-frameworks .steps{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:nowrap}
#page-frameworks .step{position:relative;padding-left:16px;transition:opacity .35s}
#page-frameworks .step:before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .35s,transform .35s}
#page-frameworks .step.on:before{background:var(--green);transform:scale(1.35)}
#page-frameworks .step b{display:block;font-size:15px;font-weight:700;transition:color .35s}
#page-frameworks .step.on b{color:var(--green)}
#page-frameworks .step span{font-size:13.5px;color:var(--grey)}
#page-frameworks .step-arrow{color:var(--green);font-size:22px;line-height:1}
#page-frameworks .fw-intro{text-align:center;max-width:660px;margin:0 auto 48px}
#page-frameworks .fw-intro .lede{margin:16px auto 0}
#page-frameworks .fw-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
#page-frameworks .fw-panel{background:#fff;border:1px solid var(--line);padding:34px 30px 30px}
#page-frameworks .fw-logo{height:78px;width:auto;margin-bottom:22px}
#page-frameworks .fw-blurb{font-size:14.5px;color:var(--grey);line-height:1.65}
#page-frameworks .ask-q{margin-top:18px;font-size:14.5px;border-left:2px solid var(--green);padding-left:14px}
#page-frameworks .cycle, #page-frameworks .radial{position:relative;max-width:340px;margin:30px auto 26px}
#page-frameworks .cycle svg, #page-frameworks .radial svg{width:100%;height:auto;display:block}
#page-frameworks .c-mid{text-anchor:middle;font:700 13px/1 var(--sans);fill:var(--grey)}
#page-frameworks .seg{cursor:pointer}
#page-frameworks .cycle-labels button{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:0;cursor:pointer;width:104px;text-align:center;font:700 9.5px/1.2 var(--sans);letter-spacing:.12em;color:rgba(26,28,30,.5)}
#page-frameworks .cycle-labels button b{display:block;font-size:12.5px;letter-spacing:.01em;color:var(--ink);margin-top:3px}
#page-frameworks .cycle-labels button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#page-frameworks .radial-labels .rl{position:absolute;transform:translate(-50%,-50%);width:150px;text-align:center}
#page-frameworks .radial-labels b{display:block;font-size:12px;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
#page-frameworks .radial-labels span{font-size:11.5px;color:var(--grey);line-height:1.35;display:block;margin-top:3px}
#page-frameworks .rl-t{left:50%;top:2%}
#page-frameworks .rl-b{left:50%;top:98%}
#page-frameworks .rl-l{left:8%;top:50%}
#page-frameworks .rl-r{left:92%;top:50%}
#page-frameworks .phases{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}
#page-frameworks .ph b, #page-frameworks .phases .ph b{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
#page-frameworks .ph .num{color:var(--green);font-size:10.5px;letter-spacing:.14em;display:block;margin-bottom:3px}
#page-frameworks .ph p{font-size:13px;color:var(--grey);line-height:1.6}
#page-frameworks .fw-foot{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink)}
#page-frameworks .sci-art{max-width:720px}
#page-frameworks .sci-art blockquote{font-size:clamp(26px,3.6vw,38px);line-height:1.22;font-weight:700;letter-spacing:-.02em;margin-bottom:22px}
#page-frameworks .sci-art .mg{color:var(--yellow)}
#page-frameworks .sci-art .lg{color:var(--green)}
#page-frameworks .sci-art p{color:var(--grey);font-size:15.5px;max-width:58ch}
#page-frameworks .sc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:34px}
#page-frameworks .sc-head>*{min-width:0}
#page-frameworks .sc-head>div:last-child{padding-top:30px}
#page-frameworks .sc-intro{color:var(--grey);font-size:15px}
#page-frameworks .sc-lockup{width:100%;max-width:980px;height:auto;display:block;margin:4px auto 40px}
@media(max-width:700px){
#page-frameworks .sc-lockup{margin-bottom:28px} }
#page-frameworks .sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
#page-frameworks .sc-lens{border:1px solid var(--line);border-top:3px solid var(--green);background:#fff;padding:30px 28px}
#page-frameworks .sc-lens.gold{border-top-color:var(--yellow)}
#page-frameworks .sc-kick{font-size:13px;font-weight:700;letter-spacing:.22em;color:var(--green)}
#page-frameworks .sc-lens.gold .sc-kick{color:#D89A08}
#page-frameworks .sc-sub{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);margin:6px 0 16px}
#page-frameworks .sc-lens h3{font-size:clamp(19px,2.3vw,24px);font-weight:700;letter-spacing:-.018em;margin-bottom:14px}
#page-frameworks .sc-lens p{font-size:14.5px;color:var(--grey);line-height:1.65}
#page-frameworks .sc-ask{color:var(--ink) !important;font-weight:600;margin-top:12px}
#page-frameworks .sc-letters{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
#page-frameworks .sc-letters>div{padding:11px 0;border-top:1px solid var(--line)}
#page-frameworks .sc-letters>div:first-child{border-top:0;padding-top:0}
#page-frameworks .sc-letters dt{font-size:13.5px;font-weight:700;margin-bottom:4px}
#page-frameworks .sc-letters dt b{display:inline-block;min-width:22px;color:var(--green);font-size:15px}
#page-frameworks .sc-lens.gold .sc-letters dt b{color:#D89A08}
#page-frameworks .sc-letters dd{font-size:13px;color:var(--grey);line-height:1.55;margin-left:22px}
#page-frameworks .sc-why{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:44px;padding-top:34px;border-top:1px solid var(--line)}
#page-frameworks .sc-why h3{font-size:19px;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}
#page-frameworks .sc-why p{font-size:15px;color:var(--grey);line-height:1.7;margin-bottom:12px}
#page-frameworks .sc-belief{margin-top:18px;font-size:18px !important;font-weight:700;color:var(--ink) !important;line-height:1.45;letter-spacing:-.012em}
#page-frameworks .sc-belief .lg{color:var(--green)}
#page-frameworks .sc-belief .mg{color:var(--brand-yellow)}
#page-frameworks .icic-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:48px;align-items:start;margin-top:34px}
#page-frameworks .icic-art img{width:100%;height:auto;display:block;border:1px solid var(--line)}
#page-frameworks .icic-body p{font-size:15px;color:var(--grey);line-height:1.7;margin-bottom:14px}
#page-frameworks .icic-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:10px;
  border-top:2px solid var(--ink)}
#page-frameworks .icic-list>div{min-width:0;padding:16px 20px 18px 0;border-right:1px solid var(--line);border-bottom:0}
#page-frameworks .icic-list>div:last-child{border-right:0;padding-right:0}
#page-frameworks .icic-list>div+div{padding-left:20px}
#page-frameworks .icic-list dt{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:6px}
#page-frameworks .icic-list dd{margin-left:0;font-size:12.5px;line-height:1.55;color:var(--grey)}
@media(max-width:900px){
#page-frameworks .icic-list{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-frameworks .icic-list>div{border-bottom:1px solid var(--line);padding:14px 16px 14px 0}
#page-frameworks .icic-list>div+div{padding-left:16px} }
@media(max-width:560px){
#page-frameworks .icic-list{grid-template-columns:1fr}
#page-frameworks .icic-list>div, #page-frameworks .icic-list>div+div{border-right:0;padding:14px 0} }
#page-frameworks .sc-when{margin-top:38px;background:var(--wash);border:1px solid var(--line);padding:26px 28px}
#page-frameworks .sc-when>b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
#page-frameworks .sc-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
#page-frameworks .sc-tags span{background:#fff;border:1px solid var(--line);padding:8px 13px;font-size:13px}
#page-frameworks .sc-when p{font-size:14px;color:var(--grey);line-height:1.65;max-width:78ch}
#page-frameworks .case-link{display:block;margin-top:34px;border:1px solid var(--line);padding:22px 24px;background:#fff}
#page-frameworks .case-link:hover{border-color:var(--green)}
#page-frameworks .case-eyebrow{display:block;font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
#page-frameworks .case-title{display:block;font-size:17px;font-weight:700;line-height:1.35;margin-bottom:6px}
#page-frameworks .case-sub{display:block;font-size:13.5px;color:var(--grey);line-height:1.55}

@media(max-width:1000px){
#page-frameworks .fw-hero{grid-template-columns:1fr;gap:26px}
#page-frameworks .steps-row{grid-template-columns:1fr;gap:0;margin-top:26px}
#page-frameworks .steps-spacer{display:none}
#page-frameworks .fw-grid{grid-template-columns:1fr}
#page-frameworks .sc-head, #page-frameworks .sc-grid, #page-frameworks .sc-why, #page-frameworks .icic-grid{grid-template-columns:1fr;gap:24px}
#page-frameworks .steps{gap:16px}
#page-frameworks .step-arrow{display:none}
#page-frameworks .step{flex:1 1 44%}
}
@media(max-width:600px){
#page-frameworks .phases{grid-template-columns:1fr}
#page-frameworks .radial-labels span{display:none}
#page-frameworks .rl-l{left:12%}
#page-frameworks .rl-r{left:88%}
#page-frameworks .radial-labels .rl{width:96px}
}
@media (prefers-color-scheme: dark){
#page-frameworks .fw-panel, #page-frameworks .sc-lens, #page-frameworks .sc-tags span, #page-frameworks .case-link{background:#fff !important}
#page-frameworks .sc-when{background:var(--wash) !important}
#page-frameworks .sc-lens h3, #page-frameworks .sc-why h3, #page-frameworks .sc-ask, #page-frameworks .sc-belief, #page-frameworks .sc-letters dt, #page-frameworks .case-title, #page-frameworks .why-lead{color:var(--ink) !important}
#page-frameworks .sc-kick, #page-frameworks .case-eyebrow, #page-frameworks .sc-when>b, #page-frameworks .sc-belief .lg{color:var(--green) !important}
#page-frameworks .fw-def, #page-frameworks .sc-adapt b{color:var(--ink) !important}
#page-frameworks .sc-adapt{background:var(--wash) !important}
#page-frameworks .sc-adapt p, #page-frameworks .illus-h{color:var(--grey) !important}
#page-frameworks .sc-lens p, #page-frameworks .sc-why p, #page-frameworks .sc-letters dd, #page-frameworks .sc-when p, #page-frameworks .sc-intro, #page-frameworks .case-sub, #page-frameworks .sc-sub, #page-frameworks .icic-body p{color:var(--grey) !important}
#page-frameworks .fw-hero h1, #page-frameworks .sci-art blockquote, #page-frameworks .ask-q, #page-frameworks .fw-foot, #page-frameworks .step b, #page-frameworks .cycle-labels button b, #page-frameworks .radial-labels b, #page-frameworks .ph b{color:var(--ink) !important}
#page-frameworks .fw-hero h1 .grn, #page-frameworks .sci-art .lg{color:var(--green) !important}
#page-frameworks .sci-art .mg{color:var(--yellow) !important}
#page-frameworks .fw-hero p, #page-frameworks .fw-blurb, #page-frameworks .ph p, #page-frameworks .sci-art p, #page-frameworks .step span, #page-frameworks .radial-labels span, #page-frameworks .c-mid{color:var(--grey) !important}
}

/* ---- solutions ---- */

#page-solutions .plat-principle{margin:18px 0 0;font-size:15px;font-weight:600;color:var(--ink);line-height:1.6;max-width:44ch}
#page-solutions .plat{border:1px solid var(--green);border-radius:3px;background:linear-gradient(180deg,#F6FAF8,#FBFCFB)}
#page-solutions .plat-top{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;
  gap:2px 12px;align-items:center;padding:20px 24px 18px;text-align:left}
#page-solutions .plat-top .arch-ico{grid-row:1/3;color:var(--green);width:30px;height:30px}
#page-solutions .plat-top b{font-size:16px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--green)}
#page-solutions .plat-top span{font-size:13.5px;color:var(--grey);line-height:1.5}
#page-solutions .plat-layer{margin:0 16px 16px;padding:16px 18px 18px;background:#fff;border:1px solid var(--line)}
#page-solutions .plat-h{display:block;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--green);margin-bottom:14px}
#page-solutions .plat-caps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
#page-solutions .plat-caps>div{min-width:0;padding:0 14px;border-right:1px solid var(--line);text-align:center}
#page-solutions .plat-caps>div:last-child{border-right:0}
#page-solutions .plat-caps b{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:5px}
#page-solutions .plat-caps span{display:block;font-size:11.5px;line-height:1.45;color:var(--grey)}
#page-solutions .plat-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#page-solutions .plat-tools>*{min-width:0;padding:0 16px;border-right:1px solid var(--line);text-align:center}
#page-solutions .plat-tools>*:last-child{border-right:0}
#page-solutions .plat-tools b{display:block;font-size:16px;font-weight:800;letter-spacing:-.015em;color:var(--green);margin-bottom:6px}
#page-solutions .plat-tools span{display:block;font-size:11.5px;line-height:1.45;color:var(--grey)}
#page-solutions .plat-more b{font-size:12.5px !important;font-weight:700 !important;color:var(--grey) !important;line-height:1.35}
@media(max-width:1000px){
#page-solutions .plat-caps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 0}
#page-solutions .plat-caps>div:nth-child(3n){border-right:0}
#page-solutions .plat-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}
#page-solutions .plat-tools>*:nth-child(2n){border-right:0}
}
@media(max-width:600px){
#page-solutions .plat-caps, #page-solutions .plat-tools{grid-template-columns:1fr}
#page-solutions .plat-caps>div, #page-solutions .plat-tools>*{border-right:0;padding:0}
#page-solutions .plat-layer{margin:0 10px 10px}
}
@media (prefers-color-scheme: dark){
#page-solutions .plat{background:#FBFCFB !important}
#page-solutions .plat-layer{background:#fff !important}
#page-solutions .plat-principle, #page-solutions .plat-caps b{color:var(--ink) !important}
#page-solutions .plat-top span, #page-solutions .plat-caps span, #page-solutions .plat-tools span{color:var(--grey) !important}
}
#page-solutions .arch-hero{display:grid;grid-template-columns:minmax(0,.58fr) minmax(0,1fr);gap:52px;align-items:center}
#page-solutions .arch-hero>*{min-width:0}
#page-solutions .arch-copy h1{font-size:clamp(28px,3.2vw,44px);line-height:1.1;font-weight:700;letter-spacing:-.028em}
#page-solutions .arch-copy h1 .grn{color:var(--green)}
#page-solutions .arch-copy p{margin:20px 0 26px;color:var(--grey);font-size:15.5px;line-height:1.7;max-width:46ch}
#page-solutions .arch{--dim:#C9CDCB}
#page-solutions .arch-ico{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
#page-solutions .arch [data-lay]{color:var(--dim);transition:color .7s ease, background-color .7s ease,
  border-color .7s ease, opacity .7s ease}
#page-solutions .arch [data-lay]{opacity:.55}
#page-solutions .arch [data-lay].lit{opacity:1}
#page-solutions .arch-roof{position:relative;height:138px;display:flex;align-items:flex-end;justify-content:center}
#page-solutions .arch-ped{position:absolute;inset:0;width:100%;height:100%}
#page-solutions .arch-ped polygon{fill:#E6E9E7;transition:fill .7s ease}
#page-solutions .arch-roof.lit .arch-ped polygon{fill:#0F6B4C}
#page-solutions .arch-roof-in{position:relative;z-index:1;text-align:center;padding:0 15% 11px;color:var(--grey);
  transition:color .7s ease}
#page-solutions .arch-roof.lit .arch-roof-in{color:#fff}
#page-solutions .arch-roof-in .arch-ico{margin:0 auto 2px;display:block;width:21px;height:21px}
#page-solutions .arch-roof-in b{display:block;font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
#page-solutions .arch-roof-in i{display:block;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;margin-top:1px;opacity:.9}
#page-solutions .arch-roof-in span{display:block;font-size:10.5px;line-height:1.4;margin-top:5px;opacity:.85;
  max-width:44ch;margin-inline:auto}
#page-solutions .arch-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px;background:#F1F3F1}
#page-solutions .arch-col{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;
  padding:16px 10px 18px;background:#fff;border-bottom:3px solid #E6E9E7}
#page-solutions .arch-col.lit{border-bottom-color:var(--green)}
#page-solutions .arch-col .arch-ico{margin-bottom:3px}
#page-solutions .arch-col b{font-size:14.5px;font-weight:800;letter-spacing:-.02em;color:inherit}
#page-solutions .arch-col.lit b{color:var(--green)}
#page-solutions .arch-when{font-size:10.5px;line-height:1.35;color:var(--grey)}
#page-solutions .arch-col em{font-style:italic;font-size:11px;line-height:1.35;color:var(--grey);
  padding-top:7px;border-top:1px solid var(--line);width:100%;margin-top:auto}
#page-solutions .arch-strip{padding:10px 16px;background:#EFF1EF;text-align:center;
  font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:inherit}
#page-solutions .arch-strip.lit{background:var(--yellow);color:var(--ink)}
#page-solutions .arch-strip i{font-style:normal;padding:0 8px}
#page-solutions .arch-plat{margin-top:9px;border:1px solid var(--line);background:#F7F8F6}
#page-solutions .arch-plat.lit{border-color:var(--green)}
#page-solutions .arch-plat-h{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;color:inherit}
#page-solutions .arch-plat.lit .arch-plat-h{color:var(--ink)}
#page-solutions .arch-plat-h b{display:block;font-size:14px;font-weight:800;letter-spacing:-.015em}
#page-solutions .arch-plat-h i{display:block;font-style:normal;font-size:11.5px;line-height:1.5;color:var(--grey);margin-top:3px}
#page-solutions .arch-eco{margin:0 12px 12px;padding:11px 14px;border:1px dashed var(--line);text-align:center}
#page-solutions .arch-caps{font-size:11.5px;font-weight:600;color:var(--ink);line-height:1.5}
#page-solutions .arch-caps i, #page-solutions .arch-named i{font-style:normal;color:var(--line);padding:0 5px}
#page-solutions .arch-named{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.6}
#page-solutions .arch-named>span{color:var(--grey);margin-right:6px}
#page-solutions .arch-named a{font-weight:700;color:inherit}
#page-solutions .arch-eco.lit .arch-named a{color:var(--green)}
#page-solutions .arch-named b{font-weight:600;color:var(--grey)}
#page-solutions .arch-note{margin-top:12px;font-size:12px;color:var(--grey);line-height:1.55;font-style:italic;max-width:none}
#page-solutions .arch-gains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:44px;
  border-top:1px solid var(--line)}
#page-solutions .arch-gains>div{padding:18px 22px 4px 0;border-right:1px solid var(--line);min-width:0}
#page-solutions .arch-gains>div:last-child{border-right:0}
#page-solutions .arch-gains>div+div{padding-left:22px}
#page-solutions .arch-gains b{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:5px}
#page-solutions .arch-gains span{display:block;font-size:12.5px;line-height:1.5;color:var(--grey)}

@media(max-width:1100px){
#page-solutions .arch-hero{grid-template-columns:1fr;gap:34px}
#page-solutions .arch-copy p{max-width:62ch}
}
@media(max-width:820px){
#page-solutions .arch-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-solutions .arch-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-solutions .arch-gains{grid-template-columns:1fr}
#page-solutions .arch-gains>div{border-right:0;border-bottom:1px solid var(--line);padding:16px 0}
#page-solutions .arch-gains>div+div{padding-left:0}
#page-solutions .arch-roof{height:120px}
}
@media(max-width:560px){
#page-solutions .arch-cols, #page-solutions .arch-tools, #page-solutions .arch-gains{grid-template-columns:1fr}
#page-solutions .arch-roof-in span{display:none}
}
@media (prefers-reduced-motion: reduce){
#page-solutions .arch [data-lay]{opacity:1 !important;transition:none !important}
}
@media (prefers-color-scheme: dark){
#page-solutions .arch-col, #page-solutions .arch-tools>*{background:#fff !important}
#page-solutions .arch-plat{background:#F7F8F6 !important}
#page-solutions .arch-strip.lit{background:var(--yellow) !important;color:var(--ink) !important}
#page-solutions .arch-copy h1, #page-solutions .arch-gains b, #page-solutions .arch-plat.lit .arch-plat-h{color:var(--ink) !important}
#page-solutions .arch-copy p, #page-solutions .arch-when, #page-solutions .arch-note, #page-solutions .arch-gains span, #page-solutions .arch-plat-h i, #page-solutions .arch-tools span{color:var(--grey) !important}
}
#page-solutions .lens-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
#page-solutions .lens{min-width:0;padding:22px 26px 26px 0;border-right:1px solid var(--line)}
#page-solutions .lens:last-child{border-right:0;padding-right:0}
#page-solutions .lens+.lens{padding-left:26px}
#page-solutions .lens-when{display:block;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--grey);margin-bottom:12px}
#page-solutions .lens-name{display:inline-block;font-size:clamp(18px,2vw,24px);font-weight:800;letter-spacing:-.028em;
  color:var(--green);line-height:1;margin-bottom:11px;border-bottom:2px solid transparent;transition:border-color .18s}
#page-solutions .lens-name:hover{border-bottom-color:var(--green)}
#page-solutions .lens-q{display:block;font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.45;margin-bottom:8px}
#page-solutions .lens-role{display:block;font-size:13px;color:var(--grey);line-height:1.6}
#page-solutions .role-line{margin-top:9px;font-size:13px;font-weight:600;color:var(--ink);line-height:1.5}
#page-solutions .scope-note{margin-top:18px;padding:14px 18px;background:var(--wash);border-left:3px solid var(--line);
  font-size:13px;color:var(--grey);line-height:1.6}
#page-solutions .del-note{margin-top:20px;font-size:14px;color:var(--grey);line-height:1.7;max-width:74ch}

@media(max-width:1000px){
#page-solutions .arch-lenses{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-solutions .lens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#page-solutions .lens{border-bottom:1px solid var(--line)}
#page-solutions .lens:nth-child(2n){border-right:0;padding-right:0}
#page-solutions .lens:nth-child(2n+1){padding-left:0}
#page-solutions .lens+.lens{padding-left:26px}
}
@media(max-width:700px){
#page-solutions .arch{padding:14px}
#page-solutions .arch-lenses, #page-solutions .lens-grid{grid-template-columns:1fr}
#page-solutions .lens, #page-solutions .lens+.lens{border-right:0;padding:20px 0}
#page-solutions .lens:last-child{border-bottom:0}
}
@media (prefers-color-scheme: dark){
#page-solutions .arch{background:#fff !important}
#page-solutions .arch-guide{background:var(--ink) !important}
#page-solutions .arch-lenses a, #page-solutions .arch-delivery{background:var(--wash) !important}
#page-solutions .arch-plat b, #page-solutions .lens-q, #page-solutions .role-line{color:var(--ink) !important}
#page-solutions .arch-plat span, #page-solutions .lens-role, #page-solutions .arch-note, #page-solutions .scope-note, #page-solutions .del-note{color:var(--grey) !important}
#page-solutions .arch-tools a{background:#fff !important}
#page-solutions .arch-strip{background:var(--yellow) !important;color:var(--ink) !important}
}
#page-solutions .pw-head{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:start;margin-bottom:34px}
#page-solutions .pw-head>div:last-child{padding-top:30px}
#page-solutions .pw-head>*{min-width:0}
#page-solutions .pw-lede{color:var(--grey);font-size:16px;line-height:1.7;max-width:56ch}
#page-solutions .pw-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;
  border-top:2px solid var(--ink);counter-reset:pw}
#page-solutions .pw-flow>li{min-width:0;position:relative;padding:22px 30px 26px 0;border-right:1px solid var(--line)}
#page-solutions .pw-flow>li:last-child{border-right:0;padding-right:0}
#page-solutions .pw-flow>li+li{padding-left:30px}
#page-solutions .pw-when{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--grey);margin-bottom:12px}
#page-solutions .pw-name{display:inline-block;font-size:clamp(20px,2.3vw,27px);font-weight:800;letter-spacing:-.028em;
  color:var(--green);line-height:1;margin-bottom:12px;border-bottom:2px solid transparent;transition:border-color .18s}
#page-solutions .pw-name:hover{border-bottom-color:var(--green)}
#page-solutions .pw-q{display:block;font-size:15px;font-weight:600;color:var(--ink);line-height:1.45;margin-bottom:9px}
#page-solutions .pw-role{display:block;font-size:13.5px;color:var(--grey);line-height:1.6}
#page-solutions .pw-outcome{display:flex;gap:18px;align-items:baseline;margin-top:22px;padding:18px 22px;
  background:var(--ink);color:#fff}
#page-solutions .pw-outcome b{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow)}
#page-solutions .pw-outcome span{font-size:14px;line-height:1.55;color:rgba(255,255,255,.88)}
#page-solutions .pw-note{margin-top:14px;font-size:13px;color:var(--grey);font-style:italic}
#page-solutions .outcome-band{display:flex;gap:16px;align-items:baseline;margin-top:22px;padding:15px 18px;
  background:var(--wash);border-left:3px solid var(--yellow)}
#page-solutions .outcome-band b{flex:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
#page-solutions .outcome-band span{font-size:13.5px;line-height:1.6;color:var(--grey)}
#page-solutions .sol-word-p{color:var(--green)}

@media(max-width:900px){
#page-solutions .pw-head{grid-template-columns:1fr;gap:20px}
#page-solutions .pw-flow{grid-template-columns:1fr}
#page-solutions .pw-flow>li{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}
#page-solutions .pw-flow>li+li{padding-left:0}
#page-solutions .pw-flow>li:last-child{border-bottom:0}
#page-solutions .pw-outcome, #page-solutions .outcome-band{flex-direction:column;gap:8px}
}
@media (prefers-color-scheme: dark){
#page-solutions .pw-q{color:var(--ink) !important}
#page-solutions .pw-role, #page-solutions .pw-lede, #page-solutions .pw-note, #page-solutions .outcome-band span{color:var(--grey) !important}
#page-solutions .outcome-band{background:var(--wash) !important}
#page-solutions .outcome-band b{color:var(--ink) !important}
#page-solutions .pw-outcome{background:var(--ink) !important}
#page-solutions .pw-outcome span{color:rgba(255,255,255,.88) !important}
}
#page-solutions .sol-word{font-size:clamp(26px,3.2vw,38px);font-weight:800;letter-spacing:-.03em;line-height:1;
  color:var(--green);margin-bottom:16px}
#page-solutions .sol-word-a{color:var(--green)}
#page-solutions .sol-word-l{color:var(--ink)}
#page-solutions .sol-word-l::first-letter{color:var(--green)}
#page-solutions .sol-word-b{color:var(--ink)}
#page-solutions .sol-word-b span{color:var(--green);font-weight:700}
#page-solutions .sol-close{margin-top:20px;font-size:16px;color:var(--ink);font-weight:600;line-height:1.55;max-width:56ch}
#page-solutions .bc-dims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin-top:14px}
#page-solutions .bc-dims>div{padding:11px 0;border-top:1px solid var(--line)}
#page-solutions .bc-dims dt{display:flex;align-items:baseline;gap:9px;font-size:14.5px;font-weight:700;color:var(--ink)}
#page-solutions .bc-dims dt i{font-style:normal;font-weight:800;color:var(--green);font-size:15px;width:14px;flex:none}
#page-solutions .bc-dims dd{margin:7px 0 0 23px;font-size:13.5px;color:var(--grey);line-height:1.5}
@media(max-width:760px){
#page-solutions .bc-dims{grid-template-columns:1fr} }
@media (prefers-color-scheme: dark){
#page-solutions .sol-word-l, #page-solutions .sol-word-b{color:var(--ink) !important}
#page-solutions .sol-close{color:var(--ink) !important}
#page-solutions .bc-dims dt{color:var(--ink) !important}
#page-solutions .bc-dims dd{color:var(--grey) !important}
}
#page-solutions .sol{display:grid;grid-template-columns:310px minmax(0,1fr);gap:60px;align-items:start;
  padding:48px 0;border-top:1px solid var(--line)}
#page-solutions .sol-head{position:sticky;top:96px;padding-left:26px}
#page-solutions .sol-logo{display:block;width:auto;height:auto;max-width:100%;max-height:210px;margin-bottom:18px}
#page-solutions .sol-logo.wide{max-height:150px}
#page-solutions .sol-head .kick{padding-right:8px}
#page-solutions .kick{font-size:12.5px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--grey);line-height:1.55}
@media(max-width:1000px){
#page-solutions .sol{grid-template-columns:1fr;gap:22px;padding:34px 0}
#page-solutions .sol-head{position:static;padding-left:0}
#page-solutions .sol-logo{max-height:150px}
#page-solutions .sol-logo.wide{max-height:104px}
}
#page-solutions .sol-intro-band{padding:64px 0 40px}
#page-solutions .sol-intro{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:48px;align-items:center}
#page-solutions .sol-intro h1{font-size:clamp(32px,4.4vw,52px);line-height:1.10;font-weight:700;letter-spacing:-.028em;margin-top:2px}
#page-solutions .sol-intro h1 .grn{color:var(--green)}
#page-solutions .sol-lede{padding-top:0}
#page-solutions .sol-lede:before{content:"";display:block;width:56px;height:3px;background:var(--yellow);margin-bottom:22px}
#page-solutions .sol-lede p{margin:0 0 26px;color:var(--grey);font-size:16px;line-height:1.7;max-width:46ch}
#page-solutions .sol-hero{position:relative;width:100%;overflow:hidden}
#page-solutions .sol-hero .stage{position:relative;width:100%;aspect-ratio:1881/430;background:
  radial-gradient(38% 70% at 42% 50%, rgba(33,183,132,.05), rgba(255,255,255,0) 72%),
  radial-gradient(26% 70% at 88% 50%, rgba(245,190,40,.06), rgba(255,255,255,0) 72%)}
#page-solutions .sol-hero canvas{position:absolute;inset:0;width:100%;height:100%;display:none;forced-color-adjust:none}
#page-solutions .sol-hero .stage.ready canvas{display:block}
#page-solutions .sol-hero .capbox{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;z-index:2}
#page-solutions .sol-hero .lanes{position:absolute;inset:0}
#page-solutions .sol-hero .lane{position:absolute;left:1.5%;height:33.34%;
  display:flex;align-items:center;gap:min(0.95vw,14px);width:15.5%;color:var(--green);transition:color .7s ease}
#page-solutions .sol-hero .lane.gold{color:#E0A800}
#page-solutions .sol-hero.dk .lane{color:#4FD6A0}
#page-solutions .sol-hero.dk .lane.gold{color:#F5BE28}
#page-solutions .sol-hero .lane .ic{flex:none;width:clamp(30px,3.4vw,50px);height:clamp(30px,3.4vw,50px);
  border:1.6px solid currentColor;border-radius:50%;padding:clamp(5px,0.6vw,9px);box-sizing:border-box}
#page-solutions .sol-hero .lb{position:relative;flex:1;min-width:0;align-self:stretch}
#page-solutions .sol-hero .ls{position:absolute;left:0;top:0;bottom:0;width:100%;
  display:flex;flex-direction:column;justify-content:center;
  color:transparent;-webkit-font-smoothing:antialiased;
  visibility:hidden;z-index:0;transition:color .7s ease,visibility 0s linear .78s}
#page-solutions .sol-hero .ls.on{color:inherit;visibility:visible;z-index:1;
  transition:color .7s ease,visibility 0s linear 0s}
#page-solutions .sol-hero .ls b{display:block;font-size:clamp(11px,1.08vw,16px);font-weight:700;
  line-height:1.15;color:currentColor;letter-spacing:-.005em}
#page-solutions .sol-hero .ls em{display:block;font-style:normal;font-size:clamp(9px,0.8vw,11.5px);
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;color:currentColor}
#page-solutions .sol-hero .ls span{display:block;margin-top:4px;font-size:clamp(9.5px,0.82vw,12px);
  line-height:1.4;color:rgba(58,60,62,0);transition:color .7s ease}
#page-solutions .sol-hero .ls.on span{color:#3A3C3E}
#page-solutions .sol-hero.dk .ls.on span{color:#D6DBD7}
#page-solutions .sol-hero .sols{position:absolute;left:77.5%;right:1.5%;top:0;bottom:0;
  visibility:hidden;transition:visibility 0s linear .78s}
#page-solutions .sol-hero .sols.on{visibility:visible;transition:visibility 0s linear 0s}
#page-solutions .sol-hero .sh{position:absolute;left:0;top:8%;font-size:clamp(10px,0.84vw,12.5px);
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(26,28,30,0);transition:color .7s ease}
#page-solutions .sol-hero .sols.on .sh{color:var(--ink)}
#page-solutions .sol-hero .solr{position:absolute;left:0;right:0;height:33.34%;
  display:flex;flex-direction:column;justify-content:center;text-decoration:none;
  padding-right:clamp(36px,3.6vw,52px);pointer-events:none;-webkit-font-smoothing:antialiased}
#page-solutions .sol-hero .sols.on .solr{pointer-events:auto}
#page-solutions .sol-hero .st{display:block;font-size:clamp(11px,1.06vw,16px);font-weight:700;
  line-height:1.2;color:rgba(26,150,104,0);transition:color .7s ease}
#page-solutions .sol-hero .sols.on .st{color:#1A9668}
#page-solutions .sol-hero .sols.on .solr.lime .st{color:#69A62E}
#page-solutions .sol-hero .sols.on .solr.gold .st{color:#DFA400}
#page-solutions .sol-hero .ss{display:block;margin-top:4px;font-size:clamp(9.5px,0.8vw,12px);
  line-height:1.4;color:rgba(58,60,62,0);transition:color .7s ease}
#page-solutions .sol-hero .sols.on .ss{color:#3A3C3E}
#page-solutions .sol-hero .sa{position:absolute;right:0;top:50%;margin-top:-17px;
  width:clamp(26px,2.3vw,34px);height:clamp(26px,2.3vw,34px);
  color:rgba(26,150,104,0);transition:color .7s ease}
#page-solutions .sol-hero .sols.on .sa{color:#1A9668}
#page-solutions .sol-hero .sols.on .solr.lime .sa{color:#69A62E}
#page-solutions .sol-hero .sols.on .solr.gold .sa{color:#DFA400}
@media(max-width:900px){
#page-solutions .sol-hero .sols{display:none} }
#page-solutions .capbar{position:relative;z-index:3;border-bottom:1px solid var(--line);background:#fff}
#page-solutions .capstack{position:relative;min-height:74px}
#page-solutions .capstack .cap{position:absolute;left:0;right:150px;top:0;bottom:0;
  display:flex;align-items:center;gap:14px;-webkit-font-smoothing:antialiased;
  visibility:hidden;z-index:0;transition:visibility 0s linear .78s}
#page-solutions .capstack .cap.on{visibility:visible;z-index:1;transition:visibility 0s linear 0s}
#page-solutions .capstack .cap b{flex:none;font-size:15px;font-weight:700;letter-spacing:.04em;
  color:rgba(33,183,132,0);transition:color .7s ease}
#page-solutions .capstack .cap.on b{color:var(--green)}
#page-solutions .capstack .cap strong{flex:none;font-size:clamp(16px,1.7vw,23px);font-weight:700;
  letter-spacing:-.02em;text-transform:uppercase;color:rgba(26,28,30,0);transition:color .7s ease}
#page-solutions .capstack .cap.on strong{color:var(--ink)}
#page-solutions .capstack .cap i{flex:none;width:30px;height:3px;
  background:rgba(33,183,132,0);transition:background-color .7s ease}
#page-solutions .capstack .cap.on i{background:var(--green)}
#page-solutions .capstack .cap span{flex:1;min-width:0;font-size:14.5px;line-height:1.5;overflow-wrap:break-word;
  color:rgba(58,60,62,0);transition:color .7s ease}
#page-solutions .capstack .cap.on span{color:#4A4C4E}
#page-solutions .capstack .ticks{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;gap:7px}
#page-solutions .capstack .ticks i{display:block;width:26px;height:3px;background:#D9DBD7;transition:background-color .5s ease}
#page-solutions .capstack .ticks i.on{background:var(--green)}

@media(max-width:900px){
#page-solutions .sol-hero .stage{aspect-ratio:1200/520}
#page-solutions .sol-hero .capbox{position:static;height:auto}
#page-solutions .sol-hero .cap{position:absolute;left:28px;right:28px;width:auto;top:22px;transform:none}
#page-solutions .sol-hero .ticks{left:28px;bottom:auto;top:0;display:none}
#page-solutions .sol-intro{grid-template-columns:1fr;gap:20px}
#page-solutions .sol-intro-band{padding:36px 0 26px}
#page-solutions .sol-lede:before{margin-bottom:16px}
}
@media (prefers-color-scheme: dark){
#page-solutions .sol-intro h1{color:var(--ink) !important}
#page-solutions .sol-intro h1 .grn{color:var(--green) !important}
#page-solutions .sol-lede p{color:var(--grey) !important}
#page-solutions .sol-hero .cap strong{color:var(--ink) !important}
#page-solutions .sol-hero .cap b{color:var(--green) !important}
#page-solutions .sol-hero .cap span{color:#3A3C3E !important}
}

@media(max-width:900px){
#page-solutions .sol-hero .lanes{display:none}
#page-solutions .capstack{min-height:0;padding:16px 0}
#page-solutions .capstack .cap{position:relative;inset:auto;flex-wrap:wrap;width:100%;max-width:100%;gap:10px}
#page-solutions .capstack .cap strong{font-size:19px}
#page-solutions .capstack .cap:not(.on){display:none}
#page-solutions .capstack .cap span{flex:0 0 100%;font-size:13.5px}
#page-solutions .capstack .ticks{position:relative;inset:auto;margin-top:14px}
}
#page-solutions .pageview{display:block}  /* each page stands alone now */
#page-solutions .sol-body h3{font-size:clamp(21px,2.6vw,27px);line-height:1.25;font-weight:700;letter-spacing:-.018em;margin-bottom:14px}
#page-solutions .sol-body p{font-size:15px;color:var(--grey);line-height:1.65;max-width:56ch}
#page-solutions .inuse{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink) !important}
#page-solutions .inuse b{color:var(--green)}
#page-solutions .hero-line{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);
  font-size:clamp(18px,2.3vw,24px);font-weight:700;letter-spacing:-.015em}
#page-solutions .hero-line .grn{color:var(--green)}
#page-solutions .does-h{margin-top:30px;margin-bottom:16px;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink)}
#page-solutions .does{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
#page-solutions .does>div{background:#fff;padding:18px 20px}
#page-solutions .does b{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
#page-solutions .does b:before{content:"";display:block;width:20px;height:2px;background:var(--green);margin-bottom:10px}
#page-solutions .does span{font-size:13px;color:var(--grey);line-height:1.6}
#page-solutions .where{margin-top:22px;font-size:14px;color:var(--grey);line-height:1.65;border-left:2px solid var(--yellow);padding-left:14px}
#page-solutions .where b{display:block;color:var(--ink);font-size:11.5px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:7px}
#page-solutions .turn{margin-top:30px;background:var(--wash);border:1px solid var(--line);padding:26px 28px}
#page-solutions .turn>b{display:block;font-size:18px;font-weight:700;letter-spacing:-.015em;margin-bottom:12px}
#page-solutions .turn p{font-size:14.5px;color:var(--grey);margin-bottom:10px;max-width:58ch}
#page-solutions .turn .punch{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.012em;line-height:1.4}
#page-solutions .turn .punch .grn{color:var(--green)}
#page-solutions .sol-body .more{margin-top:22px}
#page-solutions .case-link{display:block;margin-top:24px;border:1px solid var(--line);padding:20px 22px;background:#fff}
#page-solutions .case-link:hover{border-color:var(--green)}
#page-solutions .case-eyebrow{display:block;font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
#page-solutions .case-title{display:block;font-size:16px;font-weight:700;line-height:1.35;margin-bottom:6px}
#page-solutions .case-sub{display:block;font-size:13.5px;color:var(--grey);line-height:1.55}
#page-solutions .closer-line{margin-top:18px;font-size:17px;font-weight:700;color:var(--ink) !important;letter-spacing:-.012em}
#page-solutions .sci-art{max-width:720px}
#page-solutions .sci-art blockquote{font-size:clamp(24px,3.4vw,36px);line-height:1.24;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}
#page-solutions .sci-art .lg{color:var(--green)}
#page-solutions .sci-art p{color:var(--grey);font-size:15.5px;max-width:58ch}

@media(max-width:1000px){
#page-solutions .sol-hero{grid-template-columns:1fr;gap:26px}
#page-solutions .sol{grid-template-columns:1fr;gap:20px;padding:32px 0}
#page-solutions .sol-head{position:static}
#page-solutions .sol-logo{max-height:58px}
}
@media(max-width:600px){
#page-solutions .does{grid-template-columns:1fr} }
@media (prefers-color-scheme: dark){
#page-solutions .sol-hero{background:#fff !important}
#page-solutions .sol-hero h1, #page-solutions .sol-body h3, #page-solutions .hero-line, #page-solutions .does-h, #page-solutions .does b, #page-solutions .where b, #page-solutions .turn>b, #page-solutions .turn .punch, #page-solutions .closer-line, #page-solutions .case-title, #page-solutions .sci-art blockquote{color:var(--ink) !important}
#page-solutions .sol-hero h1 .grn, #page-solutions .hero-line .grn, #page-solutions .kick, #page-solutions .sci-art .lg, #page-solutions .turn .punch .grn, #page-solutions .case-eyebrow{color:var(--green) !important}
#page-solutions .sol-hero p, #page-solutions .sol-body p, #page-solutions .does span, #page-solutions .where, #page-solutions .turn p, #page-solutions .case-sub, #page-solutions .sci-art p{color:var(--grey) !important}
#page-solutions .case-link{background:#fff !important}
#page-solutions .does>div{background:#fff !important}
#page-solutions .turn{background:var(--wash) !important}
}

/* ---- work ---- */

#page-work .ows-top{padding:58px 0 38px}
#page-work .ows-head{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:48px;align-items:end}
#page-work .ows-head .rule{width:56px;height:3px;background:var(--yellow);margin-bottom:18px}
#page-work .ows-head p{color:var(--grey);font-size:16px;max-width:46ch;line-height:1.7}
#page-work .ow-intro{color:var(--grey);font-size:15.5px;line-height:1.7;max-width:74ch;margin-bottom:30px}
#page-work .ows-wrap{position:relative;width:100%}
#page-work .ows-band{position:relative;width:100%;aspect-ratio:5/1;overflow:hidden;background:#0D1012}
#page-work .ows-band canvas, #page-work .ows-band .ows-fb{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
#page-work .ows-band.ready .ows-fb{display:none}
#page-work .ows-panel{position:absolute;left:0;top:0;bottom:0;width:34%;max-width:500px;z-index:2;
  display:flex;flex-direction:column;justify-content:center;
  padding-left:max(28px,calc((100vw - var(--max))/2 + 28px));padding-right:26px;
  background:linear-gradient(to right,#fff 0%,#fff 52%,rgba(255,255,255,.90) 72%,rgba(255,255,255,0) 100%)}
#page-work .ows-cap .n{display:block;font-size:22px;font-weight:700;color:var(--green);line-height:1}
#page-work .ows-cap .t{display:block;margin-top:6px;font-size:clamp(19px,2.1vw,27px);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);line-height:1.1}
#page-work .ows-cap .bar{display:block;width:46px;height:3px;background:var(--green);margin:12px 0 13px}
#page-work .ows-cap .d{display:block;font-size:13.5px;line-height:1.55;color:var(--grey);max-width:30ch}
#page-work .ows-cap .fade{opacity:0;transform:translateY(5px);transition:opacity .45s ease,transform .45s ease}
#page-work .ows-cap.on .fade{opacity:1;transform:none}
#page-work .ows-steps{display:flex;gap:6px;margin-top:20px;max-width:230px}
#page-work .ows-steps button{flex:1;height:3px;padding:0;border:0;border-radius:3px;cursor:pointer;background:var(--line);position:relative;overflow:hidden;-webkit-appearance:none;appearance:none}
#page-work .ows-steps button i{position:absolute;left:0;top:0;bottom:0;width:0;display:block;background:var(--green)}
@media(max-width:1000px){
#page-work .ows-head{grid-template-columns:1fr;gap:22px;align-items:start}
#page-work .ows-band{aspect-ratio:13/5}
#page-work .ows-panel{position:static;width:100%;max-width:none;background:#fff;
    padding:20px 28px 24px;border-bottom:1px solid var(--line)}
#page-work .ows-cap .d{max-width:52ch}
#page-work .ows-top{padding:44px 0 24px}
}
@media (prefers-color-scheme: dark){
#page-work .ows-panel{background:linear-gradient(to right,#fff 0%,#fff 52%,rgba(255,255,255,.90) 72%,rgba(255,255,255,0) 100%) !important}
#page-work .ows-cap .t{color:var(--ink) !important}
#page-work .ows-cap .d{color:var(--grey) !important}
#page-work .ows-cap .n{color:var(--green) !important}
}
#page-work .ow-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:44px;align-items:center}
#page-work .ow-hero h1{font-size:clamp(34px,4.6vw,52px);line-height:1.1;font-weight:700;letter-spacing:-.025em}
#page-work .ow-hero h1 .grn{color:var(--green)}
#page-work .ow-hero .rule{width:56px;height:3px;background:var(--yellow);margin:22px 0}
#page-work .ow-hero p{color:var(--grey);font-size:16px;max-width:44ch}
#page-work .ow-viz{position:relative;width:100%}
#page-work .ow-viz img{width:100%;height:auto;display:block}
#page-work .ow-band{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
#page-work .ow-half{position:relative;overflow:hidden;background:#fff}
#page-work .ow-half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.62) contrast(1.02) brightness(1.16);opacity:.40}
#page-work .ow-half.has-photo:after{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:multiply;
  background:linear-gradient(110deg,rgba(33,183,132,.22),rgba(33,183,132,.03))}
#page-work .ow-half.has-photo.gold:after{background:linear-gradient(110deg,rgba(245,190,40,.04),rgba(240,175,20,.24))}
#page-work .ow-seam{position:absolute;top:0;bottom:0;left:50%;width:22%;transform:translateX(-50%);z-index:2;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.85) 50%,rgba(255,255,255,0));opacity:0}
#page-work .ow-band.has-photo .ow-seam{opacity:1}
#page-work .ow-base{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;mix-blend-mode:multiply}
#page-work .ow-slot{position:absolute;left:10px;bottom:10px;z-index:4;color:#C7C9C4;
  font:600 9px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:4px 6px;border:1px dashed #E4E6E2}
#page-work .ow-slot.r{left:auto;right:10px}
#page-work .catrow{display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px;padding:34px 0;border-top:1px solid var(--line)}
#page-work .catrow:first-of-type{border-top:0}
#page-work .cat-h{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--green);line-height:1.5}
#page-work .cat-h p{margin-top:10px;font-size:13px;color:var(--grey);letter-spacing:0;text-transform:none;font-weight:400;line-height:1.6}
#page-work .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
#page-work .ccard{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;position:relative;transition:border-color .2s,transform .2s}
#page-work .ccard:hover{border-color:var(--green);transform:translateY(-2px)}
#page-work .ccard .thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:#EEF2EF}
#page-work .ccard .thumb canvas{width:100%;height:100%;display:block;position:relative;z-index:2;opacity:.30}
#page-work .ph{position:relative;overflow:hidden;background:linear-gradient(135deg,#EDF2EF,#F6F3E8)}
#page-work .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.14) contrast(1.03) saturate(.94)}
#page-work .ph:after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(115deg,rgba(33,183,132,.20) 0%,rgba(33,183,132,.04) 45%,rgba(245,190,40,.05) 66%,rgba(245,190,40,.22) 100%);
  mix-blend-mode:multiply}
#page-work .ph .veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0) 45%)}
#page-work .ph.raw{background:#0B1418}
#page-work .ph.raw img{filter:none}
#page-work .ph.raw:after, #page-work .ph.raw .veil{display:none}
#page-work .ph.raw canvas{display:none}
#page-work .ph .slotnote{position:absolute;left:0;bottom:0;z-index:3;background:rgba(255,255,255,.86);color:var(--grey);
  font:600 9.5px/1 var(--sans);letter-spacing:.10em;text-transform:uppercase;padding:5px 8px}
#page-work .ccard .body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
#page-work .ccard h3{font-size:15px;font-weight:700;line-height:1.3}
#page-work .ccard .cl{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--grey);margin-bottom:7px}
#page-work .ccard p{font-size:13px;color:var(--grey);margin-top:8px;line-height:1.55}
#page-work .ccard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
#page-work .ccard .tag{font-size:11px;letter-spacing:.06em;color:var(--grey);border:1px solid var(--line);padding:4px 9px}
#page-work .ccard .go{color:var(--green);font-size:15px}
#page-work .ccard .new{position:absolute;top:10px;right:10px;background:var(--yellow);color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.12em;padding:4px 8px;z-index:2}
#page-work .filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 34px}
#page-work .filters button{border:1px solid var(--line);background:#fff;padding:9px 16px;font:600 12px/1 var(--sans);letter-spacing:.05em;cursor:pointer;color:var(--grey)}
#page-work .filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}
#page-work .count{font-size:13px;color:var(--grey);margin-bottom:18px}
#page-work .crumb{font-size:12px;color:var(--grey);padding:18px 0}
#page-work .crumb a{color:var(--grey)}
#page-work .crumb a:hover{color:var(--green)}
#page-work .crumb b{color:var(--ink);font-weight:400}
#page-work .case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center;padding-bottom:16px}
#page-work .case-hero h1{font-size:clamp(28px,3.8vw,42px);line-height:1.14;font-weight:700;letter-spacing:-.022em;margin:10px 0 14px}
#page-work .case-hero .sub{font-size:18px;color:var(--green);font-weight:600;margin-bottom:16px}
#page-work .case-hero p{color:var(--grey);font-size:15px;max-width:52ch}
#page-work .case-viz{width:100%;aspect-ratio:4/3;border:1px solid var(--line)}
#page-work .case-viz canvas{width:100%;height:100%;display:block;position:relative;z-index:2;opacity:.28}
#page-work .facts{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0 8px}
#page-work .facts .f{background:#fff;padding:18px 20px}
#page-work .facts .f b{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
#page-work .facts .f span{font-size:12.5px;color:var(--grey);line-height:1.5}
#page-work .sec{display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;padding:30px 0;border-top:1px solid var(--line)}
#page-work .sec .n{font-size:26px;font-weight:700;color:var(--green);line-height:1;margin-bottom:10px}
#page-work .sec .t{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
#page-work .sec ul{list-style:none}
#page-work .sec li{position:relative;padding-left:18px;margin-bottom:11px;font-size:15px;color:var(--grey);line-height:1.6}
#page-work .sec li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--green)}
#page-work .sec .para{font-size:15px;color:var(--grey);line-height:1.65;max-width:62ch}
#page-work .chips{display:flex;flex-wrap:wrap;gap:9px}
#page-work .sol-back{display:inline-flex;flex-direction:column;gap:5px;padding:15px 20px;
  background:var(--wash);border-left:3px solid var(--green);transition:background .18s}
#page-work .sol-back:hover{background:#EEF4F0}
#page-work .sol-back b{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--green)}
#page-work .sol-back span{font-size:13.5px;color:var(--grey)}
#page-work .chips span{border:1px solid var(--line);background:var(--wash);padding:9px 14px;font-size:13px}
#page-work .closer{background:var(--wash);border:1px solid var(--line);padding:26px 30px;margin-top:34px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
#page-work .closer b{font-size:19px;display:block}
#page-work .closer span{font-size:14px;color:var(--grey)}
#page-work .closer .btn{margin-left:auto}
#page-work .related{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
#page-work .switcher{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
#page-work .switcher button{border:1px solid var(--line);background:#fff;width:34px;height:34px;font:700 12px/1 var(--sans);cursor:pointer;color:var(--grey)}
#page-work .switcher button.on{background:var(--green);border-color:var(--green);color:#fff}
#page-work .wipbar{background:var(--wash);border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--grey)}

@media(max-width:1000px){
#page-work .ow-hero, #page-work .case-hero{grid-template-columns:1fr;gap:26px}
#page-work .catrow{grid-template-columns:1fr;gap:18px}
#page-work .cards{grid-template-columns:1fr 1fr}
#page-work .sec{grid-template-columns:1fr;gap:14px}
#page-work .facts{grid-auto-flow:row;grid-auto-columns:auto}
#page-work .related{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
#page-work .cards, #page-work .related{grid-template-columns:1fr} }
@media (prefers-color-scheme: dark){
#page-work .ccard, #page-work .facts .f, #page-work .filters button, #page-work .switcher button{background:#fff !important}
#page-work .ow-hero h1, #page-work .case-hero h1, #page-work .ccard h3, #page-work .facts .f b, #page-work .closer b, #page-work .sec .t{color:var(--ink) !important}
#page-work .ow-hero h1 .grn, #page-work .cat-h, #page-work .sec .n, #page-work .case-hero .sub, #page-work .ccard .go{color:var(--green) !important}
#page-work .ow-hero p, #page-work .ccard p, #page-work .ccard .cl, #page-work .sec li, #page-work .sec .para, #page-work .facts .f span, #page-work .closer span, #page-work .count, #page-work .crumb{color:var(--grey) !important}
#page-work .chips span, #page-work .closer, #page-work .sol-back{background:var(--wash) !important}
#page-work .filters button.on{background:var(--ink) !important;color:#fff !important}
#page-work .switcher button.on{background:var(--green) !important;color:#fff !important}
}


/* ---- clients ---- */

#page-clients .cl-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center}
#page-clients .cl-hero h1{font-size:clamp(32px,4.4vw,50px);line-height:1.1;font-weight:700;letter-spacing:-.025em}
#page-clients .cl-hero h1 .grn{color:var(--green)}
#page-clients .cl-hero .rule{width:56px;height:3px;background:var(--yellow);margin:22px 0}
#page-clients .cl-hero p{color:var(--grey);font-size:16px;max-width:46ch}
#page-clients .twrap{display:block}
#page-clients .tstack{display:grid;align-items:stretch}
#page-clients .tcard{grid-area:1/1;position:relative;background:#fff;border:1px solid var(--line);
  border-left:3px solid var(--green);padding:30px 34px 26px;margin:0;
  display:flex;flex-direction:column;
  opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;
  pointer-events:none;visibility:hidden}
#page-clients .tcard.acc-y{border-left-color:var(--yellow)}
#page-clients .tcard.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
#page-clients .twrap, #page-clients .cl-wall, #page-clients .tcard{--qy:var(--brand-yellow);--qg:var(--green)}
#page-clients .qm{display:inline-block;width:.58em;height:.895em}
#page-clients .qm-o{vertical-align:.20em;margin-right:.14em}
#page-clients .qm-c{vertical-align:-.26em;margin-left:.14em}
#page-clients .nb{white-space:nowrap}
#page-clients .el{color:var(--grey)}
#page-clients .tcard blockquote{margin:0;padding:0;position:relative;z-index:1}
#page-clients .tq{font-size:clamp(18px,2vw,23px);line-height:1.45;font-weight:600;color:var(--ink);
  letter-spacing:-.015em;text-wrap:pretty}
#page-clients .tcard figcaption{margin-top:auto;padding-top:16px;border-top:2px solid var(--ink)}
#page-clients .tcard .tn{display:block;font-size:13.5px;font-weight:700;color:var(--ink)}
#page-clients .tcard .tr{display:block;font-size:12px;color:var(--grey);line-height:1.5;margin-top:3px}
#page-clients .tcard .to{display:block;font-size:12px;font-weight:700;color:var(--green);
  letter-spacing:.02em;margin-top:4px}
#page-clients .tcard.acc-y .to{color:var(--brand-yellow)}
#page-clients .tdots{display:flex;gap:7px;margin-top:16px}
#page-clients .tdots button{width:26px;height:4px;padding:0;border:0;cursor:pointer;
  background:var(--line);transition:background .25s,width .25s}
#page-clients .tdots button:hover{background:#BFC4BE}
#page-clients .tdots button.on{width:44px;background:var(--green)}
@media (prefers-reduced-motion: reduce){
#page-clients .tcard{transition:none}
}
#page-clients .proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
#page-clients .proof div{background:#fff;padding:26px 24px}
#page-clients .proof b{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:8px}
#page-clients .proof b .grn{color:var(--green)}
#page-clients .proof b .grn{font-size:inherit;color:var(--green);display:inline}
#page-clients .proof div > span{font-size:13px;color:var(--grey);line-height:1.6;display:block}
#page-clients .filters{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 22px}
#page-clients .filters button{border:1px solid var(--line);background:#fff;padding:9px 15px;font:600 12px/1 var(--sans);letter-spacing:.04em;cursor:pointer;color:var(--grey)}
#page-clients .filters button:hover{border-color:var(--green);color:var(--green)}
#page-clients .filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}
#page-clients .count{font-size:13px;color:var(--grey);margin-bottom:20px}
#page-clients .wall{display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);border-left:1px solid var(--line)}
#page-clients .ctile{background:#fff;padding:22px 20px 20px;display:flex;flex-direction:column;gap:14px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}
#page-clients .ctile:hover{background:var(--wash)}
#page-clients .ctile .lock{display:flex;align-items:center;justify-content:flex-start}
#page-clients .ctile .lock.has{height:58px}
#page-clients .ctile .lock img{max-height:52px;max-width:100%;width:auto;object-fit:contain;
  filter:grayscale(1) contrast(.95);opacity:.72;transition:filter .18s,opacity .18s}
#page-clients .ctile:hover .lock img{filter:none;opacity:1}
#page-clients .ctile .wm{display:flex;align-items:center;width:100%;min-height:58px;padding:10px 14px;
  border:1px dashed var(--line);color:#8E908B;font-weight:700;letter-spacing:-.012em;line-height:1.2;
  transition:border-color .18s,color .18s}
#page-clients .ctile:hover .wm{border-color:#C6CBC5;color:var(--ink)}
#page-clients .ctile .nm{font-size:12.5px;font-weight:700;line-height:1.35;color:var(--ink)}
#page-clients .ctile .did{font-size:12.5px;color:var(--grey);line-height:1.6}
#page-clients .ctile .nm + .did{margin-top:-8px}
#page-clients .ctile .did.pend{color:#B0B2AD;font-style:italic}
#page-clients .ctile .brands{font-size:11px;line-height:1.5;color:#96988F;margin-top:-8px}
#page-clients .ctile .brands b{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:#B0B2AD;font-weight:700;margin-bottom:3px}
#page-clients .ctile .sec{margin-top:auto;padding-top:12px;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--green)}
#page-clients .empty{background:#fff;padding:40px 24px;font-size:14px;color:var(--grey);border:1px solid var(--line)}
#page-clients .named{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:center}
#page-clients .named h2{margin-bottom:14px}
#page-clients .named p{color:var(--grey);font-size:15px;line-height:1.7;max-width:56ch}
#page-clients .named p + p{margin-top:12px}
#page-clients .twocol{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
#page-clients .twocol div{background:#fff;padding:22px 20px}
#page-clients .twocol h4{font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px}
#page-clients .twocol .a h4{color:var(--green)}
#page-clients .twocol .b h4{color:var(--grey)}
#page-clients .twocol p{font-size:13px;color:var(--grey);line-height:1.6}
#page-clients .wipbar{background:var(--wash);border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--grey)}
#page-clients .wipbar b{color:var(--ink);font-weight:700}

@media(max-width:1000px){
#page-clients .cl-hero{grid-template-columns:1fr;gap:28px}
#page-clients .proof{grid-template-columns:1fr}
#page-clients .wall{grid-template-columns:repeat(3,1fr)}
#page-clients .named{grid-template-columns:1fr;gap:28px}
}
@media(max-width:600px){
#page-clients .wall{grid-template-columns:repeat(2,1fr)}
#page-clients .ctile{padding:16px 14px}
#page-clients .ctile .lock{height:46px}
#page-clients .ctile .lock img{max-height:40px}
#page-clients .ctile .did{font-size:12px}
#page-clients .twocol{grid-template-columns:1fr}
}


@media (prefers-color-scheme: dark){
#page-clients .proof div, #page-clients .ctile, #page-clients .twocol div, #page-clients .filters button, #page-clients .empty{background:#fff !important}
#page-clients .ctile:hover{background:var(--wash) !important}
#page-clients .proof, #page-clients .twocol{background:var(--line) !important}
#page-clients .wall{background:#fff !important}
#page-clients .cl-hero h1, #page-clients .proof b, #page-clients .ctile .nm, #page-clients .twocol h4, #page-clients .wipbar b{color:var(--ink) !important}
#page-clients .cl-hero h1 .grn, #page-clients .proof b .grn, #page-clients .ctile .sec, #page-clients .twocol .a h4{color:var(--green) !important}
#page-clients .cl-hero p, #page-clients .proof span, #page-clients .ctile .did, #page-clients .named p, #page-clients .twocol p, #page-clients .count, #page-clients .empty, #page-clients .wipbar, #page-clients .twocol .b h4{color:var(--grey) !important}
#page-clients .ctile .wm{color:#8E908B !important;border-color:var(--line) !important}
#page-clients .tcard{background:#fff !important;border-color:var(--line) !important;border-left-color:var(--green) !important}
#page-clients .tcard.acc-y{border-left-color:var(--yellow) !important}
#page-clients .tq{color:var(--ink) !important}
#page-clients .el{color:var(--grey) !important}
#page-clients .twrap, #page-clients .cl-wall, #page-clients .tcard{--qy:var(--brand-yellow) !important;--qg:var(--green) !important}
#page-clients .tcard .tn{color:var(--ink) !important}
#page-clients .tcard .tr{color:var(--grey) !important}
#page-clients .tcard .to{color:var(--green) !important}
#page-clients .tcard.acc-y .to{color:var(--brand-yellow) !important}
#page-clients .tcard figcaption{border-top-color:var(--ink) !important}
#page-clients .tdots button{background:var(--line) !important}
#page-clients .tdots button.on{background:var(--green) !important}
#page-clients .ctile .did.pend{color:#B0B2AD !important}
#page-clients .ctile .brands{color:#96988F !important}
#page-clients .ctile .brands b{color:#B0B2AD !important}
#page-clients .filters button.on{background:var(--ink) !important;color:#fff !important}
#page-clients .wipbar{background:var(--wash) !important}
}



/* ---- team ---- */

#page-team .ab-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:56px;align-items:start;padding:70px 0 58px}
#page-team .ab-hero h1{font-size:clamp(36px,5.2vw,58px);line-height:1.04;font-weight:700;letter-spacing:-.03em}
#page-team .ab-hero h1 .grn{color:var(--green)}
#page-team .ab-hero h1 .ylw{color:#E0A414}
#page-team .ab-hero p{color:var(--grey);font-size:16.5px;line-height:1.65;margin-top:22px;max-width:44ch}
#page-team .quotes{border-left:2px solid var(--yellow);padding-left:34px;margin-top:14px}
#page-team .qs{display:grid;align-items:start}
#page-team .q{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s ease;margin:0}
#page-team .q.on{opacity:1;visibility:visible}
#page-team .q blockquote{font-size:clamp(18px,2vw,23px);line-height:1.45;font-weight:600;letter-spacing:-.015em;margin:0}
#page-team .q blockquote:before, #page-team .q blockquote:after{content:"";display:inline-block;
  width:.58em;height:.895em;background-repeat:no-repeat;background-size:contain}
#page-team .q blockquote:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20154%27%3E%3Cpath%20d%3D%27M0%20138%20V77%20C0%2062%203%2047%2012%2034%20C20%2022%2034%208%2050%202.5%20C60%200.5%2072%200%2080%200.8%20C88%202.6%2092.5%205.5%2092%2011%20C89%2018%2080%2021.5%2071%2030%20C63%2038%2057%2045%2053%2055%20C51.5%2061%2051%2068%2051%2075%20H87%20A13%2013%200%200%201%20100%2088%20V138%20A15.5%2015.5%200%200%201%2084.5%20153.5%20H15.5%20A15.5%2015.5%200%200%201%200%20138%20Z%27%20fill%3D%27%23F5BE28%27%2F%3E%3C%2Fsvg%3E");vertical-align:.20em;margin-right:.14em}
#page-team .q blockquote:after{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20154%27%3E%3Cg%20transform%3D%27rotate%28180%2050%2077%29%27%3E%3Cpath%20d%3D%27M0%20138%20V77%20C0%2062%203%2047%2012%2034%20C20%2022%2034%208%2050%202.5%20C60%200.5%2072%200%2080%200.8%20C88%202.6%2092.5%205.5%2092%2011%20C89%2018%2080%2021.5%2071%2030%20C63%2038%2057%2045%2053%2055%20C51.5%2061%2051%2068%2051%2075%20H87%20A13%2013%200%200%201%20100%2088%20V138%20A15.5%2015.5%200%200%201%2084.5%20153.5%20H15.5%20A15.5%2015.5%200%200%201%200%20138%20Z%27%20fill%3D%27%2321B784%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");vertical-align:-.26em;margin-left:.14em}
#page-team .q figcaption{display:flex;align-items:center;gap:16px;margin-top:26px}
#page-team .q .disc{position:relative;width:78px;height:78px;flex:none;border-radius:50%;overflow:hidden;
  background:var(--yellow);box-shadow:0 0 0 4px var(--yellow)}
#page-team .q .disc i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:700 24px/1 var(--sans);font-style:normal;color:rgba(26,28,30,.55)}
#page-team .q .disc img{position:relative}
#page-team .q .disc img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
#page-team .q .who{min-width:0}
#page-team .q figcaption b{display:block;font-size:15.5px;font-weight:700;color:var(--green)}
#page-team .q figcaption span{display:block;font-size:12.5px;color:var(--grey);margin-top:3px;line-height:1.45}
#page-team .qdots{display:flex;gap:9px;margin-top:26px}
#page-team .qdots button{width:9px;height:9px;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid #CFD3CE;background:transparent;transition:background .2s,border-color .2s}
#page-team .qdots button.on{background:var(--green);border-color:var(--green)}
#page-team .qdots button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#page-team .ab-story{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:start}
#page-team .ab-story h2{font-size:clamp(26px,3.4vw,36px);line-height:1.14;font-weight:700;letter-spacing:-.022em}
#page-team .ab-story p{font-size:16px;color:var(--grey);line-height:1.72;margin-bottom:15px;max-width:62ch}
#page-team .ab-story p:last-child{margin-bottom:0}
#page-team .ab-story b{color:var(--ink);font-weight:600}
#page-team .ab-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:6px}
#page-team .ab-facts .f{background:#fff;padding:28px 24px}
#page-team .ab-facts .f b{display:block;font-size:clamp(30px,3.6vw,42px);line-height:1;font-weight:700;letter-spacing:-.03em}
#page-team .ab-facts .f b em{font-style:normal;color:var(--green)}
#page-team .ab-facts .f span{display:block;margin-top:12px;font-size:13.5px;color:var(--grey);line-height:1.5}
#page-team .ab-filt{margin-top:26px}
#page-team .ab-filt .row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
#page-team .ab-filt .lab{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);width:74px;flex:none}
#page-team .ab-filt button{border:1px solid var(--line);background:#fff;color:var(--grey);cursor:pointer;
  font:600 12.5px/1 var(--sans);padding:9px 14px;letter-spacing:.01em}
#page-team .ab-filt button:hover{border-color:var(--green);color:var(--green)}
#page-team .ab-filt button.on{background:var(--ink);border-color:var(--ink);color:#fff}
#page-team .ab-filt button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#page-team .ab-count{font-size:12.5px;color:var(--grey);padding:16px 0 0;border-top:1px solid var(--line)}
#page-team .team{display:grid;grid-template-columns:repeat(5,1fr);gap:26px 18px;margin-top:26px}
#page-team .tc{display:flex;flex-direction:column;text-align:left;background:none;border:0;padding:0;
  font:inherit;color:inherit;cursor:pointer}
#page-team .tc:focus-visible{outline:2px solid var(--green);outline-offset:4px}
#page-team .tc.lead .tph{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
#page-team .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
#page-team .tags em{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.02em;
  color:var(--grey);border:1px solid var(--line);padding:3px 7px;white-space:nowrap}
#page-team .tc:hover .tags em{border-color:var(--green);color:var(--green)}
#page-team .tc.hide{display:none}
#page-team .tph{position:relative;width:100%;max-width:210px;aspect-ratio:1/1;overflow:hidden;background:var(--wash);border:1px solid var(--line)}
#page-team .tph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  filter:grayscale(1) contrast(1.04);transition:filter .35s ease}
#page-team .tc:hover .tph img{filter:grayscale(0) contrast(1)}
#page-team .tph i{font-style:normal;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:700 26px/1 var(--sans);letter-spacing:.04em;color:#C9CFC9}
#page-team .tinfo{padding-top:13px;display:flex;flex-direction:column;flex:1}
#page-team .tc b{display:block;font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
#page-team .tc b i{font-style:normal;font-weight:400;color:var(--grey);margin-left:7px;font-size:13px}
#page-team .tc .role[data-x], #page-team .tpanel .role[data-x]{color:#C0BFB6;letter-spacing:.14em}
#page-team .tc .role, #page-team .tpanel .role{display:block;font-size:11.5px;font-weight:700;color:var(--green);letter-spacing:.02em;margin-top:5px}
#page-team .tc p{font-size:12.5px;color:var(--grey);line-height:1.5;margin-top:8px}
#page-team .tc .city{align-self:flex-start;margin-top:auto;padding-top:11px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey)}
#page-team .tc .city:before{content:"";display:block;width:26px;height:1px;background:var(--line);margin-bottom:9px}
#page-team .tmodal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
#page-team .tmodal[hidden]{display:none}
#page-team .tmask{position:absolute;inset:0;background:rgba(26,28,30,.5)}
#page-team .tpanel{position:relative;background:#fff;border:1px solid var(--line);width:min(680px,100%);
  max-height:86vh;overflow:auto;padding:40px 44px 44px}
#page-team .tclose{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;background:none;
  font:300 26px/1 var(--sans);color:var(--grey);cursor:pointer}
#page-team .tclose:hover{color:var(--ink)}
#page-team .tclose:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#page-team .thead{display:flex;gap:24px;align-items:flex-start}
#page-team .thead .tph{width:132px;max-width:132px;flex:none}
#page-team .tpanel b{display:block;font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.2}
#page-team .tpanel .city{display:block;margin-top:14px;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--grey)}
#page-team .tbio{margin-top:24px}
#page-team .tbio p{font-size:14.5px;line-height:1.7;color:var(--grey);margin-bottom:14px}
#page-team .tbio p:last-child{margin-bottom:0}
#page-team .offs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}
#page-team .off{background:#fff;padding:22px 22px 24px;position:relative;display:block;transition:background .2s}
#page-team .off:hover{background:var(--wash)}
#page-team .off:hover .n{color:var(--ink)}
#page-team .off b{font-size:16px;font-weight:700;display:block}
#page-team .off .n{position:absolute;right:20px;top:22px;font-size:11px;font-weight:700;color:var(--green);
  letter-spacing:.06em}
#page-team .off p{margin-top:10px;font-size:12.5px;color:var(--grey);line-height:1.6}
#page-team .off p:empty{display:none}
#page-team .offlab{margin-top:30px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
#page-team .offs-v{margin-top:12px;grid-template-columns:repeat(5,1fr)}
#page-team .offs-v .off{padding:20px 18px 22px}
#page-team .offs-v .off b{font-size:14px}
#page-team .offs-v .off .n{right:16px;top:20px}
#page-team .ab-reg{margin-top:22px;font-size:12px;color:var(--grey);line-height:1.6}
#page-team .ab-note{margin-top:14px;font-size:12.5px;color:var(--grey);border-left:2px solid var(--yellow);padding-left:12px;line-height:1.6}

@media(max-width:1000px){
#page-team .ab-hero{grid-template-columns:1fr;gap:34px;padding:44px 0 42px}
#page-team .quotes{padding-left:24px}
#page-team .ab-story{grid-template-columns:1fr;gap:22px}
#page-team .ab-facts, #page-team .offs{grid-template-columns:1fr 1fr}
#page-team .offs-v{grid-template-columns:repeat(3,1fr)}
#page-team .team{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:820px){
#page-team .team{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
#page-team .ab-facts, #page-team .offs, #page-team .offs-v{grid-template-columns:1fr}
#page-team .team{grid-template-columns:repeat(2,1fr);gap:22px 14px}
#page-team .tph{max-width:162px}
#page-team .ab-filt .lab{width:100%}
}
@media (prefers-color-scheme: dark){
#page-team .ab-facts .f, #page-team .off, #page-team .offlab, #page-team .tpanel, #page-team .ab-filt button{background:#fff !important}
#page-team .tph{background:var(--wash) !important}
#page-team .ab-hero h1, #page-team .ab-story h2, #page-team .ab-facts .f b, #page-team .tc b, #page-team .tpanel b, #page-team .off b, #page-team .ab-story b{color:var(--ink) !important}
#page-team .ab-hero h1 .grn, #page-team .tc .role, #page-team .tpanel .role, #page-team .ab-facts .f b em, #page-team .off .n{color:var(--green) !important}
#page-team .ab-hero h1 .ylw{color:#E0A414 !important}
#page-team .ab-hero p, #page-team .ab-story p, #page-team .ab-facts .f span, #page-team .tbio p, #page-team .tags em, #page-team .tpanel .city, #page-team .tc .city, #page-team .off p, #page-team .ab-count, #page-team .ab-note, #page-team .ab-reg, #page-team .ab-filt button.on{background:var(--ink) !important;color:#fff !important}
}
#page-team .pageview{display:block}  /* each page stands alone now */
#page-team .head-in{gap:20px}
#page-team .head-logo img{width:132px}
#page-team .head-nav{gap:14px}
#page-team .head-nav a{font-size:11px;letter-spacing:.05em;white-space:nowrap}
#page-team .head-cta{padding:8px 16px !important}
#page-team .head-lang{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px}
#page-team .head-lang b, #page-team .head-lang span{cursor:pointer}
#page-team .head-lang b{color:var(--ink);font-weight:700}
#page-team .head-lang span{color:var(--grey)}
#page-team .head-lang span:hover{color:var(--green)}
#page-team .head-lang i{font-style:normal;color:var(--line)}
@media(max-width:1280px){
#page-team .head-nav{display:none}
#page-team .burger{display:block;cursor:pointer}
}
#page-team .mob-nav{display:none;border-top:1px solid var(--line);background:#fff;padding:8px 28px 20px}
#page-team .mob-nav[hidden]{display:none}
#page-team .mob-nav.open{display:block}
#page-team .mob-nav a{display:block;padding:11px 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
#page-team .mob-nav a:hover{color:var(--green)}
#page-team .mob-lang{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px}
#page-team .mob-lang b{color:var(--ink);font-weight:700}
#page-team .mob-lang span{color:var(--grey);cursor:pointer}
#page-team .mob-lang i{font-style:normal;color:var(--line)}
@media(max-width:600px){
#page-team .mob-nav{padding-left:20px;padding-right:20px} }
@media (prefers-color-scheme: dark){
#page-team .mob-nav{background:#fff !important;border-top-color:var(--line) !important}
#page-team .mob-nav a{color:var(--ink) !important;border-bottom-color:var(--line) !important}
#page-team .mob-lang b, #page-team .head-lang b{color:var(--ink) !important}
#page-team .mob-lang span, #page-team .head-lang span{color:var(--grey) !important}
#page-team .mob-lang i, #page-team .head-lang i{color:var(--line) !important}
}


/* ---- news ---- */

#page-news .nw-hero{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:40px;align-items:center}
#page-news .nw-hero h1{font-size:clamp(38px,5.4vw,62px);line-height:1.02;font-weight:700;letter-spacing:-.03em}
#page-news .nw-hero h1 .grn{color:var(--green)}
#page-news .nw-hero .rule{width:56px;height:3px;background:var(--yellow);margin:20px 0 24px}
#page-news .nw-hero p{color:var(--grey);font-size:15.5px;margin-bottom:26px;max-width:46ch;line-height:1.7}
#page-news .nw-viz{position:relative;aspect-ratio:16/9;overflow:hidden;
  background:radial-gradient(120% 92% at 50% 50%,#FFFFFF 0%,#FAFCFA 52%,#F3F8F4 100%)}
#page-news .nw-viz canvas{width:100%;height:100%;display:block}
#page-news .nw-viz .cap{position:absolute;left:0;bottom:0;z-index:3;background:rgba(255,255,255,.9);
  color:var(--grey);font:600 10.5px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px}
#page-news .nw-stats{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:30px;flex-wrap:wrap}
#page-news .nw-stats .s{background:#fff;padding:16px 20px;flex:1 1 150px}
#page-news .nw-stats .s b{display:block;font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--green)}
#page-news .nw-stats .s span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-top:5px}
#page-news .nw-feat{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
#page-news .nw-feat .badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--green);color:var(--green);
  font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;margin-bottom:20px}
#page-news .nw-feat h2{font-size:clamp(28px,3.8vw,42px);line-height:1.1;font-weight:700;letter-spacing:-.025em}
#page-news .nw-feat .sub{font-size:18px;color:var(--green);font-weight:600;margin:12px 0 14px;line-height:1.35}
#page-news .nw-feat p{color:var(--grey);font-size:15.5px;margin-bottom:14px;max-width:58ch}
#page-news .nw-feat .side{border:1px solid var(--line);padding:0 0 22px;background:#fff}
#page-news .nw-feat .side .shot{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(130deg,#F2F7F4,#FBF7EA);position:relative}
#page-news .nw-feat .side .shot canvas, #page-news .nw-feat .side .shot img{width:100%;height:100%;object-fit:cover;display:block}
#page-news .nw-feat .side .shot .slot{position:absolute;left:0;bottom:0;z-index:3;background:rgba(255,255,255,.86);
  color:var(--grey);font:600 10px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px}
#page-news .nw-feat .side h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:20px 24px 12px}
#page-news .nw-feat .side dl{margin:0 24px}
#page-news .nw-feat .side dt{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--grey);
  border-top:1px solid var(--line);padding-top:11px;margin-top:11px}
#page-news .nw-feat .side dl>div:first-child dt{border-top:0;padding-top:0;margin-top:0}
#page-news .nw-feat .side dd{font-size:14px;font-weight:600;margin-top:3px}
#page-news .nw-bar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
#page-news .nw-filters{display:flex;gap:8px;flex-wrap:wrap}
#page-news .nw-filters button{border:1px solid var(--line);background:#fff;color:var(--grey);cursor:pointer;
  font:700 11px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;padding:10px 14px;transition:.18s}
#page-news .nw-filters button:hover{border-color:var(--green);color:var(--green)}
#page-news .nw-filters button.on{background:var(--green);border-color:var(--green);color:#fff}
#page-news .nw-count{margin-left:auto;font-size:12.5px;color:var(--grey)}
#page-news .nw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
#page-news .ncard{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;
  transition:border-color .2s,transform .2s}
#page-news .ncard:hover{border-color:var(--green);transform:translateY(-2px)}
#page-news .ncard .top{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(130deg,#F2F7F4,#FBF7EA)}
#page-news .ncard .top canvas, #page-news .ncard .top img{width:100%;height:100%;object-fit:cover;display:block}
#page-news .ncard .yr{position:absolute;left:0;top:0;z-index:2;background:var(--ink);color:#fff;
  font:700 11px/1 var(--sans);letter-spacing:.09em;padding:8px 11px}
#page-news .ncard .flag{position:absolute;right:0;top:0;z-index:2;background:var(--yellow);color:var(--ink);
  font:700 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:8px 10px}
#page-news .ncard .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
#page-news .ncard .ncat{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:8px}
#page-news .ncard h3{font-size:16.5px;font-weight:700;letter-spacing:-.015em;line-height:1.3}
#page-news .ncard p{font-size:13.5px;color:var(--grey);margin-top:9px;line-height:1.55}
#page-news .ncard .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;
  border-top:1px solid var(--line);font-size:12.5px;color:var(--grey)}
#page-news .ncard .foot .go{color:var(--green);font-weight:700;white-space:nowrap}
#page-news .nw-serieshead{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}
#page-news .pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--wash);
  font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);padding:8px 13px}
#page-news .nw-series{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start;margin-top:26px;
  border:1px solid var(--line);padding:30px 32px;background:var(--wash)}
#page-news .nw-series h3{font-size:21px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}
#page-news .nw-series p{font-size:15px;color:var(--grey);margin-bottom:12px;max-width:58ch}
#page-news .nw-eps{list-style:none;margin-top:16px}
#page-news .nw-eps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:11px 0;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--grey);line-height:1.5}
#page-news .nw-eps li:first-child{border-top:0}
#page-news .nw-eps .no{font:700 11px/1.5 var(--sans);color:var(--green);letter-spacing:.06em}
#page-news .nw-eps b{color:var(--ink);font-weight:700;display:block;font-size:14px}
#page-news .nw-note{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);
  border-left:3px solid var(--yellow);background:#fff;padding:22px 26px;margin-top:32px}
#page-news .nw-note b{font-size:16px;display:block;margin-bottom:4px}
#page-news .nw-note span{font-size:13.5px;color:var(--grey);line-height:1.6}
#page-news .crumb{font-size:12px;color:var(--grey);padding:18px 0}
#page-news .crumb a{color:var(--grey)}
#page-news .crumb a:hover{color:var(--green)}
#page-news .crumb b{color:var(--ink);font-weight:400}
#page-news .nw-switch{background:var(--wash);border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--grey)}
#page-news .nw-switch button{border:1px solid var(--line);background:#fff;padding:6px 10px;font:700 10.5px/1 var(--sans);
  cursor:pointer;color:var(--grey);margin:3px 0 3px 5px}
#page-news .nw-switch button.on{background:var(--green);border-color:var(--green);color:#fff}
#page-news .nw-head{padding:30px 0 8px}
#page-news .nw-head .meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:700}
#page-news .nw-head h1{font-size:clamp(30px,4.2vw,48px);line-height:1.06;font-weight:700;letter-spacing:-.028em;margin:14px 0 12px}
#page-news .nw-head .sub{font-size:clamp(16px,2vw,21px);color:var(--grey);font-weight:600;max-width:50ch;line-height:1.35}
#page-news .nw-facts{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0;flex-wrap:wrap}
#page-news .nw-facts .f{background:#fff;padding:16px 20px;flex:1 1 160px}
#page-news .nw-facts .f b{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
#page-news .nw-facts .f span{font-size:14.5px;font-weight:600}
#page-news .nw-cover{margin:4px 0 8px;border:1px solid var(--line);overflow:hidden;aspect-ratio:16/6.4;position:relative;
  background:linear-gradient(130deg,#F2F7F4,#FBF7EA)}
#page-news .nw-cover canvas, #page-news .nw-cover img{width:100%;height:100%;object-fit:cover;display:block}
#page-news .nw-cover .slot{position:absolute;left:0;bottom:0;z-index:3;background:rgba(255,255,255,.88);color:var(--grey);
  font:600 10.5px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase;padding:7px 12px}
#page-news .nw-body{max-width:66ch;margin-top:26px}
#page-news .nw-body p{font-size:16px;color:var(--grey);line-height:1.75;margin-bottom:15px}
#page-news .nw-body h3{font-size:17.5px;font-weight:700;color:var(--ink);margin:26px 0 10px}
#page-news .nw-body ul{list-style:none;margin:6px 0 18px}
#page-news .nw-body li{position:relative;padding-left:20px;margin-bottom:9px;font-size:15.5px;color:var(--grey);line-height:1.65}
#page-news .nw-body li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--green)}
#page-news .nw-body blockquote{border-left:3px solid var(--yellow);padding:4px 0 4px 18px;margin:20px 0;
  font-size:16px;line-height:1.7;color:var(--ink)}
#page-news .nw-body blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:13px;color:var(--grey)}
#page-news .nw-body a.ext{color:var(--green);font-weight:600;border-bottom:1px solid var(--green)}
#page-news .nw-flagbox{border:1px solid var(--line);border-left:3px solid var(--yellow);background:var(--wash);
  padding:16px 20px;margin:22px 0;font-size:13.5px;color:var(--grey);line-height:1.6;max-width:66ch}
#page-news .nw-flagbox b{display:block;color:var(--ink);font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}
#page-news .nw-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}

@media(max-width:1000px){
#page-news .nw-hero, #page-news .nw-feat, #page-news .nw-series{grid-template-columns:1fr;gap:26px}
#page-news .nw-grid, #page-news .nw-rel{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
#page-news .nw-grid, #page-news .nw-rel{grid-template-columns:1fr}
#page-news .nw-count{margin-left:0}
#page-news .nw-series{padding:24px 20px}
}
@media (prefers-color-scheme: dark){
#page-news .ncard, #page-news .nw-feat .side, #page-news .nw-stats .s, #page-news .nw-facts .f, #page-news .nw-switch button, #page-news .nw-filters button, #page-news .nw-note{background:#fff !important}
#page-news .nw-filters button.on{background:var(--green) !important;color:#fff !important}
#page-news .nw-hero h1, #page-news .nw-feat h2, #page-news .ncard h3, #page-news .nw-head h1, #page-news .nw-series h3, #page-news .nw-eps b, #page-news .nw-note b, #page-news .nw-facts .f span, #page-news .nw-feat .side dd, #page-news .nw-body h3, #page-news .nw-body blockquote, #page-news .nw-flagbox b{color:var(--ink) !important}
#page-news .nw-feat .sub, #page-news .nw-feat .side h4, #page-news .nw-head .meta, #page-news .ncard .ncat, #page-news .ncard .foot .go, #page-news .nw-feat .badge, #page-news .nw-stats .s b, #page-news .nw-eps .no, #page-news .nw-body a.ext{color:var(--green) !important}
#page-news .nw-hero p, #page-news .nw-feat p, #page-news .ncard p, #page-news .ncard .foot, #page-news .nw-series p, #page-news .nw-eps li, #page-news .nw-note span, #page-news .nw-head .sub, #page-news .nw-body p, #page-news .nw-body li, #page-news .crumb, #page-news .nw-count, #page-news .nw-stats .s span, #page-news .nw-feat .side dt, #page-news .nw-flagbox, #page-news .nw-body blockquote cite{color:var(--grey) !important}
#page-news .pill, #page-news .nw-series, #page-news .nw-flagbox{background:var(--wash) !important}
#page-news .ncard .yr{background:var(--ink) !important;color:#fff !important}
#page-news .ncard .flag{background:var(--yellow) !important;color:var(--ink) !important}
#page-news .nw-cover .slot, #page-news .nw-feat .side .shot .slot{background:rgba(255,255,255,.88) !important;color:var(--grey) !important}
#page-news .nw-viz{background:radial-gradient(120% 92% at 50% 50%,#FFFFFF 0%,#FAFCFA 52%,#F3F8F4 100%) !important}
}
#page-news .pageview{display:block}  /* each page stands alone now */
#page-news .head-in{gap:20px}
#page-news .head-logo img{width:132px}
#page-news .head-nav{gap:14px}
#page-news .head-nav a{font-size:11px;letter-spacing:.05em;white-space:nowrap}
#page-news .head-cta{padding:8px 16px !important}
#page-news .head-lang{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px}
#page-news .head-lang b, #page-news .head-lang span{cursor:pointer}
#page-news .head-lang b{color:var(--ink);font-weight:700}
#page-news .head-lang span{color:var(--grey)}
#page-news .head-lang span:hover{color:var(--green)}
#page-news .head-lang i{font-style:normal;color:var(--line)}
@media(max-width:1280px){
#page-news .head-nav{display:none}
#page-news .burger{display:block;cursor:pointer}
}
#page-news .mob-nav{display:none;border-top:1px solid var(--line);background:#fff;padding:8px 28px 20px}
#page-news .mob-nav[hidden]{display:none}
#page-news .mob-nav.open{display:block}
#page-news .mob-nav a{display:block;padding:11px 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
#page-news .mob-nav a:hover{color:var(--green)}
#page-news .mob-lang{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px}
#page-news .mob-lang b{color:var(--ink);font-weight:700}
#page-news .mob-lang span{color:var(--grey);cursor:pointer}
#page-news .mob-lang i{font-style:normal;color:var(--line)}
@media(max-width:600px){
#page-news .mob-nav{padding-left:20px;padding-right:20px} }
@media (prefers-color-scheme: dark){
#page-news .mob-nav{background:#fff !important;border-top-color:var(--line) !important}
#page-news .mob-nav a{color:var(--ink) !important;border-bottom-color:var(--line) !important}
#page-news .mob-lang b, #page-news .head-lang b{color:var(--ink) !important}
#page-news .mob-lang span, #page-news .head-lang span{color:var(--grey) !important}
#page-news .mob-lang i, #page-news .head-lang i{color:var(--line) !important}
}
#page-news .nw-hero-full{position:relative;width:100%}
#page-news .nw-band{position:relative;width:100%;aspect-ratio:1880/620;overflow:hidden;
  background:radial-gradient(120% 130% at 58% 48%, #FFFFFF 0%, #FAFCFA 54%, #F2F7F3 100%)}
#page-news .nw-band canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#page-news .nw-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to right, #F7F8F6 0%, rgba(247,248,246,.94) 20%, rgba(247,248,246,.55) 34%, rgba(247,248,246,0) 48%)}
#page-news .nw-over{position:absolute;inset:0;display:flex;align-items:center}
#page-news .nw-over .wrap{width:100%}
#page-news .nw-over .eyebrow{margin-bottom:0}
#page-news .nw-over .rule{width:44px;height:3px;background:var(--yellow);margin:14px 0}
#page-news .nw-over h1{font-size:clamp(30px,3.5vw,52px);line-height:1.06;font-weight:700;letter-spacing:-.028em;max-width:15ch}
#page-news .nw-over h1 .grn{color:var(--green)}
#page-news .nw-lede{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;align-items:start}
#page-news .nw-lede>*{min-width:0}
#page-news .nw-lede p{color:var(--grey);font-size:15.5px;line-height:1.7;margin-bottom:22px;max-width:52ch}
#page-news .nw-lede .nw-stats{margin-top:0}
@media(max-width:900px){
#page-news .nw-band{aspect-ratio:1000/760}
#page-news .nw-scrim{background:linear-gradient(to bottom, #F7F8F6 0%, rgba(247,248,246,.93) 34%, rgba(247,248,246,.30) 58%, rgba(247,248,246,0) 78%)}
#page-news .nw-over{align-items:flex-start;padding-top:26px}
#page-news .nw-lede{grid-template-columns:1fr;gap:26px}
}
@media (prefers-color-scheme: dark){
#page-news .nw-band{background:#F5F7F5 !important}
#page-news .nw-over h1{color:var(--ink) !important}
#page-news .nw-lede p{color:var(--grey) !important}
}


/* ---- contact ---- */

#page-contact .wipbar{background:var(--wash);border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;color:var(--grey)}
#page-contact .wipbar b{color:var(--ink);font-weight:700}
#page-contact .wipbar ol{margin:6px 0 0 18px;padding:0}
#page-contact .wipbar li{margin:2px 0;line-height:1.55}
#page-contact .hero{padding:0 0 56px}
#page-contact .ct-head{padding:54px 0 30px}
#page-contact .ct-head h1{font-size:clamp(30px,3.8vw,50px);line-height:1.08;font-weight:700;letter-spacing:-.028em;max-width:46ch}
#page-contact .ct-head h1 .grn{color:var(--green)}
#page-contact .ct-head .rule{width:56px;height:3px;background:var(--yellow);margin:22px 0 0}

#page-contact .ct-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:36px}
#page-contact .ct-intro p{color:var(--grey);font-size:15.5px;line-height:1.72;margin:0;max-width:none}
#page-contact .ct-cap{margin:20px auto 0;font-size:13.5px;line-height:1.8;color:var(--grey);
  text-align:center;max-width:none}
#page-contact .ct-cap b{color:var(--ink);font-weight:700}
#page-contact .ct-cap span{font-size:12.5px}



#page-contact .routes{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
#page-contact .route{background:#fff;padding:26px 22px 24px;display:flex;flex-direction:column;gap:10px;
  transition:background .2s}
#page-contact .route:hover{background:var(--wash)}
#page-contact .route .dot{width:26px;height:2px;background:var(--green)}
#page-contact .route h3{font-size:15px;font-weight:700;line-height:1.3}
#page-contact .route p{font-size:13px;color:var(--grey);line-height:1.6}
#page-contact .route .addr{margin-top:auto;padding-top:12px;font-size:12.5px;font-weight:700;color:var(--green);
  border-bottom:1px solid transparent;align-self:flex-start;word-break:break-word}
#page-contact .route:hover .addr{border-bottom-color:var(--green)}
#page-contact .ct-form{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:52px;align-items:start}
#page-contact .ct-form .aside h2{font-size:clamp(26px,3.4vw,36px);line-height:1.14;font-weight:700;letter-spacing:-.022em}
#page-contact .ct-form .aside h2 .grn{color:var(--green)}
#page-contact .ct-form .aside p{font-size:15px;color:var(--grey);line-height:1.7;margin-top:18px}
#page-contact .ct-form .aside .rule{width:56px;height:3px;background:var(--yellow);margin:20px 0 0}
#page-contact .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
#page-contact .chips .lab{width:100%;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--grey);margin-bottom:4px}
#page-contact .chips button{border:1px solid var(--line);background:#fff;color:var(--grey);cursor:pointer;
  font:600 12.5px/1 var(--sans);padding:9px 14px;border-radius:999px;transition:border-color .18s,color .18s,background .18s}
#page-contact .chips button:hover{border-color:var(--green);color:var(--green)}
#page-contact .chips button.on{background:var(--ink);border-color:var(--ink);color:#fff}
#page-contact .chips button:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#page-contact .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#page-contact .f{display:flex;flex-direction:column;gap:7px;min-width:0}
#page-contact .f.wide{grid-column:1/-1}
#page-contact .f label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
#page-contact .f label em{font-style:normal;color:var(--green)}
#page-contact .f input, #page-contact .f select, #page-contact .f textarea{
  font:400 15px/1.5 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:0;padding:13px 14px;width:100%;transition:border-color .18s}
#page-contact .f textarea{min-height:150px;resize:vertical}
#page-contact .f select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--grey) 50%),linear-gradient(135deg,var(--grey) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px),calc(100% - 14px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}
#page-contact .f input:focus, #page-contact .f select:focus, #page-contact .f textarea:focus{
  outline:none;border-color:var(--green)}
#page-contact .f.err input, #page-contact .f.err select, #page-contact .f.err textarea{border-color:#C7452F}
#page-contact .f .msg{font-size:12px;color:#C7452F;min-height:0}
#page-contact .f .hint{font-size:12px;color:var(--grey);line-height:1.5}
#page-contact .fcheck{grid-column:1/-1;display:flex;gap:11px;align-items:flex-start;padding-top:2px}
#page-contact .fcheck input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--green)}
#page-contact .fcheck span{font-size:13px;color:var(--grey);line-height:1.6}
#page-contact .fcheck a{color:var(--green);border-bottom:1px solid var(--green)}
#page-contact .fsend{grid-column:1/-1;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:6px}
#page-contact .fsend .btn{border:0;cursor:pointer;font-family:var(--sans)}
#page-contact .fsend .note{font-size:12.5px;color:var(--grey);line-height:1.6;max-width:44ch}
#page-contact .fdone{grid-column:1/-1;border-left:3px solid var(--green);background:var(--wash);
  padding:16px 20px;font-size:13.5px;color:var(--ink);line-height:1.65;display:none}
#page-contact .fdone.on{display:block}
#page-contact .fdone b{font-weight:700}
#page-contact .offs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
#page-contact .off{background:#fff;padding:24px 22px 26px;position:relative;display:block;transition:background .2s}
#page-contact .off:hover{background:var(--wash)}
#page-contact .off b{font-size:16px;font-weight:700;display:block;padding-right:64px}
#page-contact .off .n{position:absolute;right:20px;top:24px;font-size:10.5px;font-weight:700;color:var(--green);
  letter-spacing:.06em;white-space:nowrap}
#page-contact .off p{margin-top:11px;font-size:12.5px;color:var(--grey);line-height:1.65}
#page-contact .off p:empty{display:none}
#page-contact .off .em{display:inline-block;margin-top:12px;font-size:12px;font-weight:700;color:var(--green)}
#page-contact .offlab{margin-top:32px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}
#page-contact .offs-v{margin-top:12px;grid-template-columns:repeat(4,1fr)}
#page-contact .offs-v .off{padding:20px 18px 22px}
#page-contact .offs-v .off b{font-size:14px;padding-right:58px}
#page-contact .offs-v .off .n{right:16px;top:20px}
#page-contact .ct-reg{margin-top:26px;font-size:12.5px;color:var(--grey);line-height:1.7;max-width:78ch}
#page-contact .ct-note{margin-top:10px;font-size:12px;color:var(--grey);line-height:1.65;max-width:78ch;
  border-left:2px solid var(--line);padding-left:14px}
#page-contact .soc{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);margin-top:28px}
#page-contact .soc a{background:var(--ink);padding:26px 20px 24px;display:flex;flex-direction:column;gap:9px;
  transition:background .2s}
#page-contact .soc a:hover{background:#242729}
#page-contact .soc b{font-size:14.5px;font-weight:700;color:#fff}
#page-contact .soc span{font-size:12.5px;color:rgba(255,255,255,.62);line-height:1.6}
#page-contact .soc .go{margin-top:auto;padding-top:10px;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--yellow)}


@media(max-width:1000px){
#page-contact .ct-head{padding:48px 0 28px}

#page-contact .ct-intro{grid-template-columns:1fr 1fr;gap:30px;margin-top:34px}
#page-contact .routes{grid-template-columns:1fr 1fr}
#page-contact .ct-form{grid-template-columns:1fr;gap:34px}
#page-contact .offs{grid-template-columns:1fr 1fr}
#page-contact .offs-v{grid-template-columns:1fr 1fr}
#page-contact .soc{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
#page-contact .routes, #page-contact .offs, #page-contact .offs-v, #page-contact .soc{grid-template-columns:1fr}
#page-contact .fgrid{grid-template-columns:1fr}

#page-contact .ct-intro{grid-template-columns:1fr;gap:20px}
#page-contact .ct-cap{font-size:12.5px}
}


@media (prefers-color-scheme: dark){
#page-contact .route, #page-contact .off, #page-contact .offlab{background:#fff !important}
#page-contact .wipbar, #page-contact .fdone{background:var(--wash) !important}
#page-contact .f input, #page-contact .f select, #page-contact .f textarea, #page-contact .chips button{
    background:#fff !important;color:var(--ink) !important;border-color:var(--line) !important}
#page-contact .chips button.on{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important}
#page-contact .ct-hero h1, #page-contact .route h3, #page-contact .off b, #page-contact .ct-form .aside h2, #page-contact .wipbar b, #page-contact .fdone, #page-contact .fdone b{color:var(--ink) !important}
#page-contact .ct-hero h1 .grn, #page-contact .ct-form .aside h2 .grn, #page-contact .off .n, #page-contact .route .addr, #page-contact .off .em, #page-contact .eyebrow{color:var(--green) !important}
#page-contact .ct-hero p, #page-contact .route p, #page-contact .off p, #page-contact .ct-form .aside p, #page-contact .wipbar, #page-contact .ct-reg, #page-contact .ct-note, #page-contact .f label, #page-contact .f .hint, #page-contact .fcheck span, #page-contact .fsend .note, #page-contact .chips .lab, #page-contact .chips button{color:var(--grey) !important}

#page-contact .ct-cap b{color:var(--ink) !important}
#page-contact .ct-cap{color:var(--grey) !important}
#page-contact .soc a{background:var(--ink) !important}
#page-contact .soc b{color:#fff !important}
#page-contact .soc span{color:rgba(255,255,255,.62) !important}
#page-contact .soc .go{color:var(--yellow) !important}
}


/* ---- insights ---- */

#page-insights .ins-viz{min-width:0}
#page-insights .ins-band{position:relative;width:100%;aspect-ratio:1180/640;
  background:radial-gradient(120% 130% at 62% 46%, #FCFDFC 0%, #F4F6F4 58%, #EDEFEC 100%)}
#page-insights .ins-band canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-insights .ins-band.ready canvas{display:block}
#page-insights .ins-band.ready .ins-fb{display:none}
#page-insights .ins-fb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
#page-insights .ins-hero-full{position:relative;width:100%}
#page-insights .ins-band{position:relative;width:100%;aspect-ratio:1880/620;overflow:hidden;
  background:radial-gradient(120% 140% at 58% 48%, #FCFDFC 0%, #F5F7F5 56%, #EEF0ED 100%)}
#page-insights .ins-band canvas{position:absolute;inset:0;width:100%;height:100%;display:none}
#page-insights .ins-band.ready canvas{display:block}
#page-insights .ins-band.ready .ins-fb{display:none}
#page-insights .ins-fb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
#page-insights .ins-scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to right, #F7F8F6 0%, rgba(247,248,246,.94) 20%, rgba(247,248,246,.55) 34%, rgba(247,248,246,0) 48%)}
#page-insights .ins-over{position:absolute;inset:0;display:flex;align-items:center}
#page-insights .ins-over .wrap{width:100%}
#page-insights .ins-over .eyebrow{margin-bottom:0}
#page-insights .ins-over .rule{width:44px;height:3px;background:var(--yellow);margin:14px 0}
#page-insights .ins-over h1{font-size:clamp(30px,3.5vw,52px);line-height:1.06;font-weight:700;letter-spacing:-.028em;
  max-width:15ch}
#page-insights .ins-over h1 .grn{color:var(--green)}
#page-insights .ins-lede{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;align-items:start}
#page-insights .ins-lede p{color:var(--grey);font-size:15.5px;line-height:1.7;margin-bottom:14px;max-width:52ch}
#page-insights .ins-lede .btn{margin-top:6px}
#page-insights .ins-hero{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:44px;align-items:center}
#page-insights .ins-hero h1{font-size:clamp(38px,5.4vw,62px);line-height:1.02;font-weight:700;letter-spacing:-.03em}
#page-insights .ins-hero .rule{width:56px;height:3px;background:var(--yellow);margin:20px 0 24px}
#page-insights .ins-hero h2{font-size:clamp(19px,2.4vw,25px);font-weight:700;letter-spacing:-.015em;margin-bottom:14px}
#page-insights .ins-hero p{color:var(--grey);font-size:15.5px;margin-bottom:12px;max-width:52ch}
#page-insights .ins-viz img{width:100%;height:auto;display:block}
#page-insights .feat{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
#page-insights .feat .badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--green);color:var(--green);
  font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:7px 12px;margin-bottom:20px}
#page-insights .feat h2{font-size:clamp(28px,3.8vw,42px);line-height:1.1;font-weight:700;letter-spacing:-.025em}
#page-insights .feat .sub{font-size:18px;color:var(--green);font-weight:600;margin:12px 0 10px;line-height:1.35}
#page-insights .fwline{display:inline-block;border:1px solid var(--line);background:var(--wash);color:var(--grey);
  font:600 11.5px/1 var(--sans);letter-spacing:.06em;padding:8px 12px;margin-bottom:18px}
#page-insights .feat p{color:var(--grey);font-size:15.5px;margin-bottom:14px;max-width:58ch}
#page-insights .feat .side{border:1px solid var(--line);padding:22px 24px;background:#fff}
#page-insights .feat .side h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:14px}
#page-insights .feat .side li{list-style:none;font-size:13.5px;color:var(--grey);line-height:1.55;padding:9px 0 9px 16px;position:relative;border-top:1px solid var(--line)}
#page-insights .feat .side li:first-child{border-top:0;padding-top:0}
#page-insights .feat .side li:before{content:"";position:absolute;left:0;top:16px;width:5px;height:5px;border-radius:50%;background:var(--green)}
#page-insights .feat .side li:first-child:before{top:7px}
#page-insights .feat .side li b{display:block;color:var(--ink);font-size:12.5px;font-weight:700;margin-bottom:3px}
#page-insights .draftnote{margin-top:18px;font-size:12.5px;color:var(--grey);border-left:2px solid var(--yellow);padding-left:12px}
#page-insights .series-h{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:8px}
#page-insights .pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--wash);
  font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);padding:8px 13px}
#page-insights .papers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}
#page-insights .pcard{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}
#page-insights .pcard:hover{border-color:var(--green);transform:translateY(-2px)}
#page-insights .pcard .top{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(130deg,#F2F7F4,#FBF7EA)}
#page-insights .pcard .top img{width:100%;height:100%;object-fit:cover;display:block}
#page-insights .feat .side .featphoto{width:100%;height:auto;display:block;margin:-22px -24px 20px;width:calc(100% + 48px);max-width:none}
#page-insights .pcard .no{position:absolute;left:0;top:0;z-index:2;background:var(--green);color:#fff;
  font:700 12px/1 var(--sans);letter-spacing:.06em;padding:8px 11px}
#page-insights .pcard .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
#page-insights .pcard .pcat{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:8px}
#page-insights .pcard h3{font-size:17px;font-weight:700;letter-spacing:-.015em}
#page-insights .newflag{position:absolute;left:0;top:0;z-index:2;background:var(--yellow);color:var(--ink);
  font:700 10.5px/1 var(--sans);letter-spacing:.14em;padding:8px 11px}
#page-insights .pcard p{font-size:13.5px;color:var(--grey);margin-top:8px;line-height:1.5}
#page-insights .pcard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;
  border-top:1px solid var(--line);font-size:12.5px;color:var(--grey)}
#page-insights .pcard .foot .go{color:var(--green);font-weight:700}
#page-insights .dl{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:var(--wash);border:1px solid var(--line);padding:24px 28px;margin-top:32px}
#page-insights .dl b{font-size:17px;display:block}
#page-insights .dl span{font-size:14px;color:var(--grey)}
#page-insights .dl .btn{margin-left:auto}
#page-insights .wp-wpwpswitch{background:var(--wash);border-bottom:1px solid var(--line);padding:10px 0;font-size:12px;color:var(--grey)}
#page-insights .wp-wpwpswitch button{border:1px solid var(--line);background:#fff;padding:6px 11px;font:700 11px/1 var(--sans);
  cursor:pointer;color:var(--grey);margin-left:5px}
#page-insights .wp-wpwpswitch button.on{background:var(--green);border-color:var(--green);color:#fff}
#page-insights .wp-head{padding:34px 0 10px}
#page-insights .wp-head .meta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:700}
#page-insights .wp-head h1{font-size:clamp(32px,4.4vw,50px);line-height:1.06;font-weight:700;letter-spacing:-.028em;margin:14px 0 12px}
#page-insights .wp-head .sub{font-size:clamp(17px,2.1vw,22px);color:var(--grey);font-weight:600;max-width:46ch;line-height:1.35}
#page-insights .wp-facts{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0;flex-wrap:wrap}
#page-insights .wp-facts .f{background:#fff;padding:16px 20px;flex:1 1 160px}
#page-insights .wp-facts .f b{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
#page-insights .wp-facts .f span{font-size:14.5px;font-weight:600}
#page-insights .wp-cover{margin:6px 0 8px;border:1px solid var(--line);overflow:hidden;aspect-ratio:16/7.6}
#page-insights .wp-cover img{width:100%;height:100%;object-fit:cover;display:block}
#page-insights .wp-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(0,1fr);gap:52px;align-items:start}
#page-insights .wp-layout>*{min-width:0}
#page-insights #wpsecs{min-width:0}
#page-insights .wp-rail{position:sticky;top:96px;min-width:0}
#page-insights .wp-sec{padding:30px 0 6px;border-top:1px solid var(--line);min-width:0}
#page-insights .wp-sec .t{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--green);margin-bottom:14px}
#page-insights .wp-sec .t span{display:block;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;
  color:var(--grey);margin-top:6px}
#page-insights .wp-sec p{font-size:16px;color:var(--grey);line-height:1.7;margin-bottom:14px}
#page-insights .wp-sec ul{list-style:none}
#page-insights .wp-sec li{position:relative;padding-left:20px;margin-bottom:12px;font-size:15.5px;line-height:1.6}
#page-insights .wp-sec li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--green)}
#page-insights .wp-charts figure{margin-bottom:26px}
#page-insights .wp-charts img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff}
#page-insights .wp-charts figcaption{margin-top:10px;font-size:13.5px;color:var(--grey);line-height:1.6;max-width:62ch}
#page-insights .wp-full{max-width:none;min-width:0}
#page-insights .wp-full>*{max-width:100%}
#page-insights .wp-full pre, #page-insights .wp-full code{white-space:pre-wrap;word-break:break-word}
#page-insights .wp-full figure{margin:22px 0 26px}
#page-insights .wp-full figure img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff}
#page-insights .wp-full h2{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--grey);margin:46px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
#page-insights .wp-full h2:first-child{margin-top:0;padding-top:0;border-top:0}
#page-insights .wp-full h3{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.02em;
  color:var(--green);line-height:1.25;margin:6px 0 16px}
#page-insights .wp-full h4{font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;margin:26px 0 8px}
#page-insights .wp-full table.lt{border:1px solid #D9D9D9}
#page-insights .wp-full table.lt td{border-bottom:1px solid #D9D9D9;vertical-align:top;padding:12px 14px}
#page-insights .wp-full table.lt tr:last-child td{border-bottom:0}
#page-insights .wp-full td.lt-k{width:52px;text-align:center;background:#EAF7F2;color:var(--green);
  font-weight:800;font-size:19px;line-height:1.2;border-right:1px solid #D9D9D9}
#page-insights .wp-full table.lt b{display:block;color:var(--ink);font-weight:600;font-size:14px;margin-bottom:3px}
#page-insights .wp-full table.lt span{display:block;color:var(--grey);font-size:13.5px;line-height:1.5}
#page-insights .wp-full table.hd thead th{background:#1FB584;color:#fff;font-weight:700;font-size:12.5px;
  border-bottom:0;vertical-align:middle;text-align:center}
#page-insights .wp-full table.hd thead th:first-child{text-align:left}
#page-insights .wp-full table.hd td{border-bottom:1px solid #E4E7E5}
#page-insights .wp-full td.r-s{background:#EAF7F2;color:#127A57;font-weight:600;text-align:center}
#page-insights .wp-full td.r-m{background:#F1F1F1;text-align:center}
#page-insights .wp-full td.r-l{background:#FDF3E3;color:#8A6A1E;text-align:center}
#page-insights .wp-full table.strip th{background:#F4F4F4;color:var(--ink);font-weight:600;vertical-align:top}
#page-insights .wp-full .lead-note{background:#FFF9E6;border:1px solid #F0E4B8;padding:16px 20px;margin:20px 0;
  font-size:14px;line-height:1.65;color:var(--ink)}
#page-insights .wp-full .lead-note b{display:block;font-weight:700;margin-bottom:6px}
#page-insights .wp-full .rule-note{background:#1FB584;color:#fff;padding:15px 20px;margin:20px 0;
  font-size:13.5px;line-height:1.6}
#page-insights .wp-full .rule-note b{display:block;font-weight:700;margin-bottom:4px}
#page-insights .wp-full .tw{border-color:#D9D9D9}
#page-insights .wp-full p{font-size:16px;color:var(--grey);line-height:1.75;margin-bottom:14px}
#page-insights .wp-full ul{list-style:none;margin:4px 0 16px}
#page-insights .wp-full li{position:relative;padding-left:20px;margin-bottom:9px;font-size:15.5px;color:var(--grey);line-height:1.65}
#page-insights .wp-full li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--green)}
#page-insights .tblwrap{overflow-x:auto;margin:18px 0 22px;border:1px solid var(--line)}
#page-insights .wp-full .tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:6px 0 18px;
  border:1px solid var(--line);background:#fff}
#page-insights .wp-full table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.45;background:#fff}
#page-insights .wp-full .tw table{border:0}
#page-insights .wp-full th{text-align:left;background:var(--wash);font-weight:700;padding:10px 12px;
  border-bottom:1px solid var(--line);vertical-align:bottom;
  white-space:normal;overflow-wrap:break-word;hyphens:auto}
#page-insights .wp-full td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--grey);vertical-align:top;
  white-space:normal;overflow-wrap:break-word;hyphens:auto}
#page-insights .wp-full .tw table{table-layout:auto;min-width:0}
#page-insights .wp-full .tw table th, #page-insights .wp-full .tw table td{min-width:0}
#page-insights .fw-back{display:inline-flex;flex-direction:column;gap:5px;padding:15px 20px;background:var(--wash);
  border-left:3px solid var(--green);transition:background .18s;max-width:62ch}
#page-insights .fw-back:hover{background:#EEF4F0}
#page-insights .fw-back b{font-size:16px;font-weight:800;letter-spacing:-.015em;color:var(--green)}
#page-insights .fw-back span{font-size:13.5px;color:var(--grey);line-height:1.5}
#page-insights .wp-toc{border:1px solid var(--line);background:var(--wash);padding:18px 20px;
  max-height:calc(100vh - 140px);overflow-y:auto}
#page-insights .wp-toc b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
#page-insights .wp-toc a{display:block;padding:6px 0;font-size:13px;line-height:1.4;color:var(--ink);border-top:1px solid var(--line)}
#page-insights .wp-toc a:first-of-type{border-top:0}
#page-insights .wp-toc a:hover{color:var(--green)}
#page-insights .wp-tags{display:flex;gap:9px;flex-wrap:wrap}
#page-insights .wp-tags span{border:1px solid var(--line);background:var(--wash);padding:8px 13px;font-size:13px}
#page-insights .dl-links{display:flex;gap:10px;flex-wrap:wrap}
#page-insights .dl-soon{font-size:13px;color:var(--grey);font-style:italic}
#page-insights .wp-dl.soon{opacity:.75}
#page-insights .wp-dl{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border:1px solid var(--line);padding:22px 26px;margin-top:30px}
#page-insights .wp-dl b{font-size:16px;display:block}
#page-insights .wp-dl span{font-size:13.5px;color:var(--grey)}
#page-insights .wp-dl .btn{margin-left:auto}
#page-insights .wp-more{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}

@media(max-width:1000px){
#page-insights .ins-hero, #page-insights .feat, #page-insights .ins-lede{grid-template-columns:1fr;gap:26px}
#page-insights .ins-band{aspect-ratio:1000/760}
#page-insights .ins-scrim{background:linear-gradient(to bottom, #F7F8F6 0%, rgba(247,248,246,.93) 34%, rgba(247,248,246,.30) 58%, rgba(247,248,246,0) 78%)}
#page-insights .ins-over{align-items:flex-start;padding-top:26px}
#page-insights .ins-band{aspect-ratio:1000/760}
#page-insights .papers, #page-insights .wp-more{grid-template-columns:1fr 1fr}
#page-insights .wp-layout{grid-template-columns:1fr;gap:0}
#page-insights .wp-rail{position:static;order:-1;margin-bottom:22px;width:100%}
#page-insights .wp-full table{font-size:12.5px}
#page-insights .wp-full th, #page-insights .wp-full td{padding:8px 9px}
}
@media(max-width:600px){
#page-insights .papers, #page-insights .wp-more{grid-template-columns:1fr}
#page-insights .dl .btn, #page-insights .wp-dl .btn{margin-left:0} }
@media (prefers-color-scheme: dark){
#page-insights .pcard, #page-insights .feat .side, #page-insights .wp-facts .f, #page-insights .wp-wpwpswitch button{background:#fff !important}
#page-insights .ins-over h1, #page-insights .ins-hero h1, #page-insights .ins-hero h2, #page-insights .feat h2, #page-insights .pcard h3, #page-insights .dl b, #page-insights .wp-head h1, #page-insights .wp-sec .t, #page-insights .wp-sec li, #page-insights .wp-dl b, #page-insights .wp-facts .f span{color:var(--ink) !important}
#page-insights .feat .sub, #page-insights .feat .side h4, #page-insights .wp-head .meta, #page-insights .pcard .foot .go, #page-insights .pcard .pcat, #page-insights .feat .badge{color:var(--green) !important}
#page-insights .ins-band{background:#F4F6F4 !important}
#page-insights .ins-band{background:#F5F7F5 !important}
#page-insights .ins-over h1{color:var(--ink) !important}
#page-insights .ins-lede p{color:var(--grey) !important}
#page-insights .ins-hero p, #page-insights .feat p, #page-insights .pcard p, #page-insights .dl span, #page-insights .wp-sec p, #page-insights .wp-head .sub, #page-insights .wp-dl span, #page-insights .pcard .foot, #page-insights .draftnote{color:var(--grey) !important}
#page-insights .dl, #page-insights .wp-tags span, #page-insights .pill, #page-insights .wp-toc, #page-insights .wp-full th, #page-insights .fwline{background:var(--wash) !important}
#page-insights .wp-full .tw{background:#fff !important;border-color:var(--line) !important}
#page-insights .wp-full h2, #page-insights .wp-full h3, #page-insights .wp-toc a, #page-insights .wp-full th{color:var(--ink) !important}
#page-insights .wp-full p, #page-insights .wp-full li, #page-insights .wp-full td{color:var(--grey) !important}
#page-insights .wp-full table{background:#fff !important}
#page-insights .wp-charts img{background:#fff !important}
#page-insights .wp-charts figcaption{color:var(--grey) !important}
}


.pageview{display:block}  /* each page stands alone now */

/* ---- team: four profiles read in place, no click required ---- */
#page-team .people{display:grid;gap:34px;margin-top:34px}
#page-team .pcard{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;
  align-items:start;padding-top:30px;border-top:1px solid var(--line)}
#page-team .pcard:first-child{padding-top:0;border-top:0}
#page-team .pph{border:1px solid var(--line);background:#fff;overflow:hidden}
#page-team .pph img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
#page-team .pbody h3{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0}
#page-team .prole{font-size:14px;font-weight:600;color:var(--green);margin-top:4px}
#page-team .ploc{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-top:6px}
#page-team .pbio{margin-top:14px;max-width:70ch}
#page-team .pbio p{font-size:14.5px;line-height:1.72;color:var(--grey);margin-bottom:11px}
#page-team .pbio p:last-child{margin-bottom:0}
@media(max-width:760px){
  #page-team .pcard{grid-template-columns:1fr;gap:18px}
  #page-team .pph{max-width:190px}
}
@media (prefers-color-scheme: dark){
  #page-team .pbody h3{color:var(--ink) !important}
  #page-team .pbio p,#page-team .ploc{color:var(--grey) !important}
  #page-team .pph{background:#fff !important}
}

/* ---- Chinese: the navigation needs no letter-spacing and no wrapping ---- */
html[lang^="zh"] .head-nav a{font-size:14px;letter-spacing:0;text-transform:none;
  font-weight:500;white-space:nowrap}
html[lang^="zh"] .head-nav{gap:18px}
html[lang^="zh"] .head-lang{font-size:12px;letter-spacing:0}
html[lang^="zh"] .eyebrow,html[lang^="zh"] .kick,html[lang^="zh"] .lab,
html[lang^="zh"] .case-eyebrow,html[lang^="zh"] .series-h .pill{letter-spacing:.04em}
/* Chinese sets more densely than Latin at the same size */
html[lang^="zh"] body{font-size:15px;line-height:1.85}
html[lang^="zh"] p{line-height:1.85}
html[lang^="zh"] h1,html[lang^="zh"] .h2,html[lang^="zh"] h2{letter-spacing:.01em;line-height:1.3}
html[lang^="zh"] .btn{letter-spacing:.04em}
@media(max-width:1240px){
  html[lang^="zh"] .head-nav{display:none}
  html[lang^="zh"] .burger{display:block;cursor:pointer}
}

#page-team .pbody h3 .en{display:block;font-size:14px;font-weight:600;color:var(--grey);
  letter-spacing:0;margin-top:3px}
html[lang^="zh"] #page-team .ploc{letter-spacing:.06em}

/* ---- a section heading and its opening paragraph read side by side ---- */
.sec-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:48px;align-items:end;margin-bottom:34px}
.sec-head>*{min-width:0}
.sec-head .h2{margin-bottom:0}
.sec-head .lede{margin:0 0 12px}
.sec-head .lede:last-child{margin-bottom:0}
@media(max-width:900px){ .sec-head{grid-template-columns:1fr;gap:18px;align-items:start} }

/* Chinese solution names: the English mark on one line, the descriptor beneath */
html[lang^="zh"] .arch-roof-in b .zh,
html[lang^="zh"] .arch-col b .zh,
html[lang^="zh"] .arch-tools b .zh{display:block;font-size:.72em;font-weight:600;
  letter-spacing:.02em;margin-top:2px;opacity:.92}
html[lang^="zh"] .arch-roof-in b{line-height:1.2}
html[lang^="zh"] .arch-roof{height:152px}
html[lang^="zh"] .arch-roof-in{padding:0 20% 10px}
html[lang^="zh"] .arch-roof-in span{font-size:10px;line-height:1.4}
html[lang^="zh"] .sol-word .zh{display:block;font-size:.42em;font-weight:600;margin-top:4px;
  letter-spacing:.02em;color:var(--grey)}
html[lang^="zh"] .lens-name .zh,html[lang^="zh"] .plat-tools b .zh{display:block;
  font-size:.76em;font-weight:600;margin-top:2px}

/* Chinese sets these three clauses as one flowing line */
html[lang^="zh"] .sc-belief br{display:none}
html[lang^="zh"] .sc-belief .lg:after,html[lang^="zh"] .sc-belief .mg:after{content:"\2002"}

/* ---- homepage: the four partners ---- */
#page-home .hteam{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:30px}
#page-home .hteam-i{display:block;min-width:0}
#page-home .hph{display:block;border:1px solid var(--line);background:#fff;overflow:hidden;margin-bottom:12px}
#page-home .hph img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
  filter:grayscale(1);transition:filter .25s}
#page-home .hteam-i:hover .hph img{filter:grayscale(0)}
#page-home .hteam-i b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
#page-home .hteam-i .r{display:block;font-size:12.5px;color:var(--green);margin-top:3px}
@media(max-width:820px){ #page-home .hteam{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px} }
@media (prefers-color-scheme: dark){
  #page-home .hteam-i b{color:var(--ink) !important}
  #page-home .hph{background:#fff !important}
}

/* Chinese headings are short; the column must not shrink to fit them */
.sec-head{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}
html[lang^="zh"] .sec-head>div:first-child .h2,
html[lang^="zh"] .split .h2{white-space:nowrap}
@media(max-width:900px){ html[lang^="zh"] .sec-head>div:first-child .h2,
  html[lang^="zh"] .split .h2{white-space:normal} }

/* a framework dimension: the English name carries the letter, Chinese beneath */
/* a framework dimension: the English name carries the letter, the Chinese
   translation sits on the line beneath it */
/* the translation belongs to the dimension name, so it is set bold and sits
   tight under it — the description below is lighter and further away */
.zh-term{display:block;font-size:.92em;font-weight:600;color:var(--ink);margin-top:0;
  font-style:normal;letter-spacing:.02em;line-height:1.45}
/* in a table the dimension stays on one line: the letter, the English name
   and the Chinese read across, so the column does not tower over the others */
td .zh-term{display:inline;margin-left:7px;font-size:.92em;font-weight:600;color:var(--ink)}

/* Chinese dimension names run long, so the list drops to one column */

/* Chinese: the dimension name keeps its two-column place, with the translation
   wrapping onto the line below rather than sitting beside it */
html[lang^="zh"] #page-solutions .bc-dims dt{flex-wrap:wrap}
html[lang^="zh"] #page-solutions .bc-dims dt .zh-term{flex:0 0 100%;margin-left:23px}
html[lang^="zh"] .sc-calib td .zh-term{display:inline;margin-left:7px}

html[lang^="zh"] #page-solutions .bc-dims dd{margin-top:8px}

/* the dimension column carries two languages, so it takes a wider share */
html[lang^="zh"] .sc-calib table{table-layout:fixed}
html[lang^="zh"] .sc-calib th:first-child,
html[lang^="zh"] .sc-calib td:first-child{width:38%}
html[lang^="zh"] .sc-calib th:nth-child(2),
html[lang^="zh"] .sc-calib td:nth-child(2),
html[lang^="zh"] .sc-calib th:nth-child(3),
html[lang^="zh"] .sc-calib td:nth-child(3){width:31%}

/* dark-mode safety net.
   The site is light-only, but some browsers still recolour text they think is
   unstyled. Pinning body text stops a paragraph turning white on a pale
   background, which made the founding story unreadable on a phone. */
@media (prefers-color-scheme: dark){
  p, li, dd, span, div, td, th, blockquote, figcaption{color:inherit}
  body, .band, .band-wash, section, article{color:var(--ink) !important}
  .ab-story p, .lede, .pbio p, .sec-head p{color:var(--grey) !important}
  .ab-story b, .pbody h3, h1, h2, h3, h4{color:var(--ink) !important}
  .cta-band *, .site-foot *, .sc-weight *{color:inherit !important}
  .cta-band h3, .site-foot h5{color:#fff !important}
}

/* a detail view inherits the page heading style without adding a second h1 */
.view-h{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;margin:0}

/* the client logo wall, awaiting confirmed permissions */
#page-home .logo-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:22px}
#page-home .lw{border:1px solid var(--line);background:#fff;aspect-ratio:3/2;
  display:flex;align-items:center;justify-content:center}
#page-home .lw span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#B9BBB7}
#page-home .lw img{max-width:72%;max-height:60%;object-fit:contain}
#page-home .lw-note{margin-top:14px;font-size:12px;color:var(--grey);font-style:italic}
@media(max-width:820px){ #page-home .logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* external coverage on a news entry */
#page-news .nw-srcs{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
#page-news .nw-srcs-k{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey);margin-bottom:8px}
#page-news .nw-src{display:inline-block;margin-right:18px;font-size:14px;font-weight:600;
  color:var(--green);border-bottom:1px solid transparent}
#page-news .nw-src:hover{border-bottom-color:var(--green)}

/* Chinese characters are far wider than Latin ones, so a 66ch measure that
   reads well in English leaves a Chinese article at about 34 characters a line
   — too narrow, and it strands the right half of the page. */
html[lang^="zh"] #page-news .nw-body{max-width:46em}
html[lang^="zh"] #page-news .nw-body p,
html[lang^="zh"] #page-news .nw-body li{line-height:1.95}

/* Chinese headings run longer than their English source, so the left column of
   a two-column section head needs more room and the heading must not spill
   past it into the paragraph alongside. */
html[lang^="zh"] .sec-head{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
html[lang^="zh"] .sec-head .h2{overflow-wrap:anywhere;max-width:100%}

/* the article reads as one column: the headline, the fact strip, the cover and
   the body share a measure rather than the body sitting narrow under a
   full-width strip */
#page-news #viewArticle > .wrap,
#page-news #viewArticle > .wrap.nw-head{max-width:760px;margin-left:auto;margin-right:auto}
#page-news #viewArticle .nw-body{max-width:100%}
html[lang^="zh"] #page-news #viewArticle > .wrap,
html[lang^="zh"] #page-news #viewArticle > .wrap.nw-head{max-width:820px}
html[lang^="zh"] #page-news .nw-body{max-width:100%}

@media(max-width:940px){
  #page-news #viewArticle > .wrap,
  #page-news #viewArticle > .wrap.nw-head{max-width:100%}
}

/* the shared vocabulary under a case study: clickable, quieter than the
   evidence chips above it */
#page-work .tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)}
#page-work .tagrow-k{font-size:11px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--grey);margin-right:4px}
#page-work .etag{font-size:12.5px;color:var(--green);border:1px solid var(--line);
  padding:5px 11px;border-radius:2px;background:#fff;transition:border-color .15s}
#page-work .etag:hover{border-color:var(--green)}
#page-work .etag.on{background:var(--green);color:#fff;border-color:var(--green)}

/* shows which standard tag is filtering the list, with a way out */
#page-work .tag-active{display:inline-flex;align-items:center;gap:9px;margin-top:14px;
  padding:7px 8px 7px 14px;border:1px solid var(--green);background:#fff;font-size:13px}
#page-work .tag-active .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
#page-work .tag-active b{font-weight:700;color:var(--ink)}
#page-work .tag-active button{border:0;background:transparent;font-size:17px;line-height:1;
  color:var(--grey);cursor:pointer;padding:0 4px}
#page-work .tag-active button:hover{color:var(--ink)}

/* the WeChat account has no web address, so the tile shows the account ID
   rather than pretending to be a link */
#page-contact .soc-wechat{display:flex;flex-direction:column;gap:7px;padding:22px 24px;
  border:1px solid rgba(255,255,255,.14);background:none;background-color:transparent;
  text-align:left;font:inherit;color:inherit;cursor:pointer;
  -webkit-appearance:none;appearance:none;transition:border-color .15s}
#page-contact .soc-wechat:hover{border-color:rgba(255,255,255,.4)}
#page-contact .soc-wechat b{font-size:15px;font-weight:700;color:#fff}
#page-contact .soc-wechat span{font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.6}
#page-contact .soc-wechat .wx-id{font-family:Consolas,Menlo,monospace;font-size:14px;
  color:var(--qy,#F5BE28);letter-spacing:.04em;margin-top:4px;text-transform:none}

/* a long email address has no break point, so it pushes a narrow screen sideways */
.lede b, .lede a[href^="mailto"], .soc .go{overflow-wrap:anywhere;word-break:break-word}

/* a grid child defaults to its content width, which lets a long line push a
   narrow screen sideways even when the grid itself is one column */
#page-clients .cl-hero > div{min-width:0}
#page-clients .cl-hero .eyebrow{overflow-wrap:anywhere}

/* a grid item keeps its content width unless told otherwise, which let the
   testimonial card overflow a narrow screen */
.tstack{min-width:0}
.tstack > *{min-width:0;max-width:100%}
.tcard{max-width:100%}
.tcard .tq{overflow-wrap:anywhere}

/* .nb keeps the closing quote mark attached to the last words, but on a narrow
   screen that phrase can be wider than the viewport */
@media(max-width:700px){.nb{white-space:normal}}

/* a stray few pixels from a transformed or absolutely placed element should
   never let the whole page slide sideways on a phone */
html{overflow-x:clip}
body{overflow-x:clip}

/* the WeChat entry in the footer copies the account ID instead of navigating,
   so it is a button but has to look like its neighbours */
.foot-col .wx-copy{display:block;background:none;border:0;padding:0;margin:0;
  font:inherit;color:inherit;cursor:pointer;text-align:left;
  -webkit-appearance:none;appearance:none}
.foot-col .wx-copy:hover{color:#fff}
.foot-col .wx-copy.on{color:var(--brand-yellow,#F5BE28)}



/* White-paper body and tables, as checked paper by paper on 6 September.
   Restored verbatim rather than re-derived, so the layout matches what was
   signed off. */
#page-frameworks .sc-calib .tblwrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#fff}
#page-frameworks .sc-calib .tblwrap{background:#fff !important}
#page-insights .wp-full{max-width:none;min-width:0}
#page-insights .wp-full>*{max-width:100%}
#page-insights .wp-full pre, #page-insights .wp-full code{white-space:pre-wrap;word-break:break-word}
#page-insights .wp-full figure{margin:22px 0 26px}
#page-insights .wp-full figure img{width:100%;height:auto;display:block;border:1px solid var(--line);background:#fff}
#page-insights .wp-full h2{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--grey);margin:46px 0 6px;padding-top:22px;border-top:1px solid var(--line)}
#page-insights .wp-full h2:first-child{margin-top:0;padding-top:0;border-top:0}
#page-insights .wp-full h3{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.02em;
  color:var(--green);line-height:1.25;margin:6px 0 16px}
#page-insights .wp-full h4{font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;margin:26px 0 8px}
#page-insights .wp-full table.lt{border:1px solid #D9D9D9}
#page-insights .wp-full table.lt td{border-bottom:1px solid #D9D9D9;vertical-align:top;padding:12px 14px}
#page-insights .wp-full table.lt tr:last-child td{border-bottom:0}
#page-insights .wp-full td.lt-k{width:52px;text-align:center;background:#EAF7F2;color:var(--green);
  font-weight:800;font-size:19px;line-height:1.2;border-right:1px solid #D9D9D9}
#page-insights .wp-full table.lt b{display:block;color:var(--ink);font-weight:600;font-size:14px;margin-bottom:3px}
#page-insights .wp-full table.lt span{display:block;color:var(--grey);font-size:13.5px;line-height:1.5}
#page-insights .wp-full table.hd thead th{background:#1FB584;color:#fff;font-weight:700;font-size:12.5px;
  border-bottom:0;vertical-align:middle;text-align:center}
#page-insights .wp-full table.hd thead th:first-child{text-align:left}
#page-insights .wp-full table.hd td{border-bottom:1px solid #E4E7E5}
#page-insights .wp-full td.r-s{background:#EAF7F2;color:#127A57;font-weight:600;text-align:center}
#page-insights .wp-full td.r-m{background:#F1F1F1;text-align:center}
#page-insights .wp-full td.r-l{background:#FDF3E3;color:#8A6A1E;text-align:center}
#page-insights .wp-full table.strip th{background:#F4F4F4;color:var(--ink);font-weight:600;vertical-align:top}
#page-insights .wp-full .lead-note{background:#FFF9E6;border:1px solid #F0E4B8;padding:16px 20px;margin:20px 0;
  font-size:14px;line-height:1.65;color:var(--ink)}
#page-insights .wp-full .lead-note b{display:block;font-weight:700;margin-bottom:6px}
#page-insights .wp-full .rule-note{background:#1FB584;color:#fff;padding:15px 20px;margin:20px 0;
  font-size:13.5px;line-height:1.6}
#page-insights .wp-full .rule-note b{display:block;font-weight:700;margin-bottom:4px}
#page-insights .wp-full .tw{border-color:#D9D9D9}
#page-insights .wp-full p{font-size:16px;color:var(--grey);line-height:1.75;margin-bottom:14px}
#page-insights .wp-full ul{list-style:none;margin:4px 0 16px}
#page-insights .wp-full li{position:relative;padding-left:20px;margin-bottom:9px;font-size:15.5px;color:var(--grey);line-height:1.65}
#page-insights .wp-full li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;background:var(--green)}
#page-insights .tblwrap{overflow-x:auto;margin:18px 0 22px;border:1px solid var(--line)}
#page-insights .wp-full .tw{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:6px 0 18px;
  border:1px solid var(--line);background:#fff}
#page-insights .wp-full table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.45;background:#fff}
#page-insights .wp-full .tw table{border:0}
#page-insights .wp-full th{text-align:left;background:var(--wash);font-weight:700;padding:10px 12px;
  border-bottom:1px solid var(--line);vertical-align:bottom;
  white-space:normal;overflow-wrap:break-word;hyphens:auto}
#page-insights .wp-full td{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--grey);vertical-align:top;
  white-space:normal;overflow-wrap:break-word;hyphens:auto}
#page-insights .wp-full .tw table{table-layout:auto;min-width:0}
#page-insights .wp-full .tw table th, #page-insights .wp-full .tw table td{min-width:0}
#page-insights .wp-toc{border:1px solid var(--line);background:var(--wash);padding:18px 20px;
  max-height:calc(100vh - 140px);overflow-y:auto}
#page-insights .wp-toc b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:12px}
#page-insights .wp-toc a{display:block;padding:6px 0;font-size:13px;line-height:1.4;color:var(--ink);border-top:1px solid var(--line)}
#page-insights .wp-toc a:first-of-type{border-top:0}
#page-insights .wp-toc a:hover{color:var(--green)}
#page-insights .wp-full table{font-size:12.5px}
#page-insights .wp-full th, #page-insights .wp-full td{padding:8px 9px}
#page-insights .dl, #page-insights .wp-tags span, #page-insights .pill, #page-insights .wp-toc, #page-insights .wp-full th, #page-insights .fwline{background:var(--wash) !important}
#page-insights .wp-full .tw{background:#fff !important;border-color:var(--line) !important}
#page-insights .wp-full h2, #page-insights .wp-full h3, #page-insights .wp-toc a, #page-insights .wp-full th{color:var(--ink) !important}
#page-insights .wp-full p, #page-insights .wp-full li, #page-insights .wp-full td{color:var(--grey) !important}
#page-insights .wp-full table{background:#fff !important}

/* A white-paper table as Word recorded it: the column widths come from the
   document, and a row that is one merged cell spans the table rather than
   being squeezed into the first column. */
#page-insights .wp-t{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px;background:#fff}
#page-insights .wp-t th{text-align:left;background:var(--wash);color:var(--ink);font-weight:600;
  padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
#page-insights .wp-t td{padding:11px 14px;border-bottom:1px solid var(--line);
  color:var(--grey);vertical-align:top;line-height:1.6}
#page-insights .wp-t tr:last-child td{border-bottom:0}
#page-insights .wp-t td.tfoot{background:var(--wash);color:var(--ink);border-top:1px solid var(--line)}
#page-insights .wp-t b{color:var(--ink);font-weight:600}
#page-insights .wp-t p{margin:0 0 7px;font-size:inherit;color:inherit;line-height:inherit}
#page-insights .wp-t p:last-child{margin-bottom:0}
#page-insights .wp-t ul{margin:4px 0 0;padding-left:0;list-style:none}
#page-insights .wp-t li{padding-left:14px;margin-bottom:4px;position:relative;font-size:13.5px}
#page-insights .wp-t li:before{content:"";position:absolute;left:0;top:8px;width:4px;height:4px;background:var(--green)}
#page-insights .wp-full h4{font-size:15px;font-weight:600;margin:20px 0 8px;color:var(--ink)}
