
/* ================= INSIGHTS ================= */
/* motion tokens (transitions-polish scale) */
:root{--duration-stagger:40ms;--duration-micro:80ms;--duration-quick:150ms;--duration-fast:250ms;--duration-medium:350ms;--duration-slow:400ms;--duration-very-slow:500ms;--ease-smooth-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:ease-in-out;--distance-base:8px;--scale-large:0.96;--blur-small:2px;--blur-medium:3px}
/* generation overlay tinted to the brand, light bands only */
:root:root{--gen-line:#9aa3c7;--gen-strong:#132EA1;--gen-ink:rgba(19,46,161,.26);--gen-surface:#fff;--gen-text:#0b0d16;--gen-muted:#6b7290}

.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ins-hero .sv-copy{max-width:none}
.counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:44px 0 0;padding:0;list-style:none;max-width:880px}
.counts a{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:20px;text-decoration:none;color:#fff;background:rgba(5,6,9,.38);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color var(--duration-medium),transform var(--duration-medium) var(--ease-smooth-out),background var(--duration-medium)}
.counts a:hover,.counts a:focus-visible{transition-duration:var(--duration-fast);transform:translateY(-4px);border-color:transparent;background:linear-gradient(rgba(5,6,9,.55),rgba(5,6,9,.55)) padding-box,var(--g-bright) border-box;border:1px solid transparent}
.counts b{font-family:var(--f-display);font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1;letter-spacing:-.03em}
.counts span{font-family:var(--f-label);font-weight:700;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#d5d9ea}
.counts svg{position:absolute;right:18px;top:20px;width:20px;height:20px;transition:transform var(--duration-medium) var(--ease-smooth-out)}
.counts a:hover svg{transition-duration:var(--duration-fast)}
.counts a:hover svg{transform:rotate(-45deg)}
/* sticky switcher */
.hub-bar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line-l);transition:top var(--duration-fast) var(--ease-smooth-out)}
body.hdr-in .hub-bar{top:var(--hdr-h)}
.hub-bar .wrap{display:flex;align-items:center;gap:16px 24px;justify-content:space-between;padding-block:14px;flex-wrap:wrap}
.hseg{position:relative;display:inline-flex;padding:5px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line-l);isolation:isolate;max-width:100%}
.hseg button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border:0;background:none;border-radius:999px;font:700 .76rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--on-l);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-smooth-out)}
.hseg button .ct{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;font:600 .72rem/1 var(--f-display);letter-spacing:0;background:#fff;color:var(--hvt-navy);border:1px solid var(--line-l);transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}
.hseg button[aria-selected=true]{color:#fff}
.hseg button[aria-selected=true] .ct{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}
.hseg .hpill{position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:0;border-radius:999px;background:var(--g-logo);box-shadow:0 10px 24px -12px rgba(19,46,161,.7)}
.find{position:relative;flex:1 1 260px;max-width:380px}
.find input{width:100%;min-height:48px;border-radius:999px;border:1px solid var(--line-l);background:#fff;padding:0 44px 0 46px;font:500 .95rem var(--f-body);color:var(--on-l);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.find input:focus{outline:none;border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;border:1px solid transparent;box-shadow:0 0 0 4px rgba(8,158,243,.14)}
.find>svg{position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted-l);pointer-events:none}
.find .clr{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:var(--paper-2);display:grid;place-items:center;cursor:pointer;color:var(--on-l)}
.find .clr svg{width:14px;height:14px}
@media (max-width:760px){.hub-bar .wrap{padding-block:10px;gap:10px}.find{order:-1}.hub-bar{top:-58px}body.hdr-in .hub-bar{top:calc(var(--hdr-h) - 58px)}.hseg{width:100%}.hseg button{flex:1;justify-content:center;padding:0 10px;letter-spacing:.1em;font-size:.68rem;gap:6px}.find{max-width:none}}
@media (max-width:420px){.hseg button .ct{display:none}}
/* panels */
.hub{padding-block:clamp(56px,7vw,96px) clamp(72px,9vw,128px)}
.view[hidden]{display:none!important}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 clamp(28px,4vw,44px);padding:0;list-style:none}
.chips button{min-height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line-l);background:#fff;font:600 .88rem var(--f-body);color:var(--on-l);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast) var(--ease)}
.chips button small{font:600 .72rem var(--f-display);color:var(--muted-l)}
.chips button:hover{transform:translateY(-2px);border-color:#c7cde0}
.chips button[aria-pressed=true]{color:#fff;border-color:transparent;background:var(--ink)}
.chips button[aria-pressed=true] small{color:#c9cee0}
.meta-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-12px 0 24px;font:600 .82rem var(--f-body);color:var(--muted-l)}
.live{min-height:1.2em}
/* article + case cards */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.icard{position:relative;display:flex;flex-direction:column;border-radius:22px;background:#fff;border:1px solid var(--line-l);overflow:hidden;text-decoration:none;color:inherit;isolation:isolate;transition:border-color var(--duration-medium) var(--ease-smooth-out),box-shadow var(--duration-medium) var(--ease-smooth-out),transform var(--duration-medium) var(--ease-smooth-out)}
.icard:hover,.icard:focus-visible{transition-duration:var(--duration-fast);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;box-shadow:0 30px 60px -34px rgba(19,46,161,.55);transform:translateY(-6px)}
.icard .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e9ebf2}
.icard .ph img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-very-slow) var(--ease-smooth-out)}
.icard:hover .ph img{transform:scale(1.07)}
.icard .bd{display:flex;flex-direction:column;gap:14px;padding:clamp(20px,2.2vw,28px);flex:1}
.icard .itop{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font:700 .66rem/1.4 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted-l)}
.icard .itop .tg{background:var(--g-logo);-webkit-background-clip:text;background-clip:text;color:transparent}
.icard .itop .dot{width:4px;height:4px;border-radius:50%;background:#c3c8d8}
.icard h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.12rem,1.45vw,1.3rem);line-height:1.3;margin:0;text-wrap:balance}
.icard p{margin:0;color:var(--muted-l);font-size:.96rem}
.icard .igo{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;font:600 .86rem var(--f-body);color:var(--muted-l)}
.icard .igo i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;border:1.5px solid transparent;color:var(--on-l);transition:transform var(--duration-medium) var(--ease-smooth-out),background var(--duration-fast),color var(--duration-fast)}
.icard .igo i svg{width:18px;height:18px}
.icard:hover .igo i{transform:rotate(-45deg);background:var(--g-logo);color:#fff}
/* featured article spans the row */
.icard.feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.icard.feat .ph{aspect-ratio:auto;min-height:100%}
.icard.feat .bd{padding:clamp(28px,4vw,56px);justify-content:center;gap:18px}
.icard.feat h3{font-weight:400;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.02em}
.icard.feat p{font-size:1.05rem}
.icard .badge-new{position:absolute;left:18px;top:18px;padding:8px 14px;border-radius:999px;font:700 .64rem/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:#fff;background:rgba(5,6,9,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3)}
/* case-study specifics */
.icard .cat{position:absolute;left:16px;top:16px;z-index:2;padding:8px 13px;border-radius:999px;font:700 .62rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(5,6,9,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28)}
.icard .mets{position:absolute;inset:auto 12px 12px;z-index:2;display:grid;gap:9px;padding:16px;border-radius:16px;color:#fff;background:rgba(8,12,30,.6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.22);transform:translateY(calc(100% + 16px));transition:transform var(--duration-medium) var(--ease-smooth-out)}
.icard:hover .mets,.icard:focus-visible .mets{transform:none;transition-duration:var(--duration-slow)}
.mets li{list-style:none;display:grid;grid-template-columns:1fr auto;gap:4px 10px;font:600 .74rem/1.3 var(--f-body)}
.mets b{font:600 .78rem var(--f-display)}
.mets .tk{grid-column:1/-1;height:4px;border-radius:4px;background:rgba(255,255,255,.18);overflow:hidden}
.mets .tk i{display:block;height:100%;width:var(--w);transform:scaleX(0);transform-origin:left;background:var(--g-bright);border-radius:inherit;transition:transform var(--duration-quick) var(--ease-smooth-out)}
.icard:hover .mets .tk i,.icard:focus-visible .mets .tk i{transform:none;transition-duration:var(--duration-very-slow);transition-delay:var(--duration-micro)}
.cstat{display:flex;align-items:baseline;gap:12px;padding-top:14px;border-top:1px solid var(--line-l)}
.cstat b{font-family:var(--f-display);font-weight:600;font-size:2.2rem;line-height:1;letter-spacing:-.03em;background:var(--g-logo);-webkit-background-clip:text;background-clip:text;color:transparent;flex:none}
.cstat span{font-size:.88rem;line-height:1.35;color:var(--muted-l)}
.cstat span em{display:block;font-style:normal;font-weight:700;color:var(--on-l)}
@media (hover:none){.icard .mets{position:static;transform:none;margin:0 0 4px;background:var(--paper-2);color:var(--on-l);border-color:var(--line-l);backdrop-filter:none;-webkit-backdrop-filter:none}.mets .tk{background:#dfe3ee}.mets .tk i{transform:none}.icard .mets{order:3}}
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.icard.feat{grid-template-columns:1fr}.icard.feat .ph{aspect-ratio:16/9}}
@media (max-width:640px){.grid{grid-template-columns:1fr}}
.empty{display:grid;place-items:center;text-align:center;gap:10px;padding:64px 16px;border:1px dashed #cdd2e1;border-radius:22px;color:var(--muted-l)}
.empty b{font-family:var(--f-display);font-weight:600;font-size:1.3rem;color:var(--on-l)}
.empty button{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line-l);background:#fff;font:600 .9rem var(--f-body);cursor:pointer}

/* empty state only when a search or filter is active */
.empty[hidden],.pager[hidden],.more-row[hidden]{display:none!important}
/* link version of the switcher (Articles / Case Studies pages) */
.hseg a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;font:700 .76rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--on-l);text-decoration:none;white-space:nowrap;transition:color var(--duration-medium) var(--ease-smooth-out),background var(--duration-medium) var(--ease-smooth-out)}
.hseg a:hover{background:#fff;transition-duration:var(--duration-fast)}
.hseg a .ct{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;font:600 .72rem/1 var(--f-display);letter-spacing:0;background:#fff;color:var(--hvt-navy);border:1px solid var(--line-l)}
.hseg a[aria-current=page]{color:#fff;background:var(--g-logo);box-shadow:0 10px 24px -12px rgba(19,46,161,.7)}
.hseg a[aria-current=page] .ct{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}
@media (max-width:760px){.hseg a{flex:1;justify-content:center;padding:0 10px;letter-spacing:.1em;font-size:.68rem;gap:6px}}
@media (max-width:420px){.hseg a .ct{display:none}}
.hub.lst-band{padding-top:clamp(36px,4vw,56px)}
.lst-hero{min-height:clamp(460px,62vh,640px);min-height:clamp(460px,62svh,640px)}
.lst-hero .sv-h1{max-width:22ch;font-size:clamp(2.2rem,4.4vw,4.2rem)!important;line-height:1.08;text-wrap:balance}
.lst-hero .lede{color:#d7dcee;max-width:56ch;margin-top:20px}
/* view-all row under the hub previews */
.more-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:clamp(36px,4vw,56px);padding:22px clamp(20px,2.4vw,28px);border-radius:22px;background:var(--paper-2);border:1px solid var(--line-l)}
.more-row p{margin:0;font:600 .95rem var(--f-body);color:var(--muted-l)}
.more-row p b{font-family:var(--f-display);color:var(--on-l)}
/* pagination */
.pager{display:flex;align-items:center;justify-content:center;gap:10px 14px;flex-wrap:wrap;margin-top:clamp(44px,5vw,72px)}
.pager ol{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.pager .pn,.pager .pg-step{min-width:48px;height:48px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line-l);background:#fff;font:600 .95rem/1 var(--f-display);color:var(--on-l);text-decoration:none;cursor:pointer;transition:border-color var(--duration-medium) var(--ease-smooth-out),background var(--duration-medium) var(--ease-smooth-out),color var(--duration-medium),transform var(--duration-medium) var(--ease-smooth-out)}
.pager .pg-step{padding:0 20px;font:700 .72rem/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase}
.pager .pg-step svg{width:16px;height:16px}
.pager .pg-step.prev svg{transform:rotate(180deg)}
.pager .pn:hover,.pager .pg-step:hover{transition-duration:var(--duration-fast);transform:translateY(-2px);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box}
.pager .pn[aria-current=page]{color:#fff;border-color:transparent;background:var(--g-logo);box-shadow:0 10px 24px -12px rgba(19,46,161,.7);transform:none;cursor:default}
.pager .pg-step[aria-disabled=true]{opacity:.38;pointer-events:none}
.pager .gap{display:inline-grid;place-items:end center;min-width:20px;height:48px;padding-bottom:14px;color:var(--muted-l)}
.pager .pg-of{flex-basis:100%;text-align:center;margin:0;font:600 .82rem var(--f-body);color:var(--muted-l)}
@media (max-width:640px){.pager .pg-step span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.pager .pg-step{padding:0;width:48px}.pager .pn{min-width:42px;height:42px}.pager{gap:8px}}
/* FAQs */
.fq{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr);gap:40px clamp(40px,6vw,96px);align-items:start}
.fq-side{min-width:0;position:sticky;top:calc(var(--hdr-h) + 110px)}
.fq-side .lede{margin-top:18px}
.fq-side .note{color:var(--muted-l);margin:14px 0 24px}
.groups{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:4px}
.groups button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 16px;border-radius:12px;border:0;background:none;font:600 .95rem var(--f-body);color:var(--on-l);cursor:pointer;text-align:left;position:relative;transition:background var(--duration-fast)}
.groups button small{font:600 .74rem var(--f-display);color:var(--muted-l);min-width:24px;text-align:right}
.groups button:hover{background:var(--paper-2)}
.groups button[aria-pressed=true]{background:var(--paper-2)}
.groups button[aria-pressed=true]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--g-h)}
.fq-group+.fq-group{margin-top:44px}
.fq-group h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px;font:700 .72rem var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--muted-l)}
.fq-group h3 a{font:600 .86rem var(--f-body);letter-spacing:0;text-transform:none;color:var(--hvt-navy);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.fq-group h3 a svg{width:16px;height:16px}
.fq-group h3 a:hover{text-decoration:underline}
mark{background:linear-gradient(transparent 55%,rgba(8,158,243,.28) 0);color:inherit;padding:0 1px}
@media (max-width:900px){.fq{grid-template-columns:1fr}.fq-side{position:static}.groups{display:flex;overflow-x:auto;gap:8px;padding-bottom:6px;margin-inline:calc(-1*var(--gl)) calc(-1*var(--gr));padding-inline:var(--gl) var(--gr);scrollbar-width:none}.groups::-webkit-scrollbar{display:none}.groups li{flex:none}.groups button{border:1px solid var(--line-l);border-radius:999px;white-space:nowrap}.groups button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.groups button[aria-pressed=true] small{color:#c9cee0}.groups button[aria-pressed=true]::before{display:none}}
@media (max-width:760px){.chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1*var(--gl)) calc(-1*var(--gr));padding-inline:var(--gl) var(--gr);padding-bottom:4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips li{flex:none}}
@media (prefers-reduced-motion:reduce){.icard,.icard .ph img,.icard .mets,.mets .tk i{transition:none}}

/* ================= POST DETAIL (article + case study templates) ================= */
.pd-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:200;pointer-events:none}
.pd-progress i{display:block;height:100%;background:var(--g-bright);transform:scaleX(0);transform-origin:left}
.pd-hero{min-height:auto}
.pd-hero .hero-inner{padding-block:calc(var(--hdr-h) + clamp(56px,8vw,112px)) clamp(120px,14vw,190px)}
.pd-hero .crumbs{flex-wrap:wrap}
.pd-hero .crumbs [aria-current]{display:inline-block;max-width:min(46ch,70vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.pd-h1{font-family:var(--f-display);font-weight:300;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.035em;margin:0;max-width:20ch;text-wrap:balance;overflow-wrap:anywhere}
.pd-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.pd-tags a,.pd-tags span{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;font:700 .64rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:#fff;text-decoration:none;background:rgba(5,6,9,.4);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color var(--duration-fast),background var(--duration-fast)}
.pd-tags a:hover{border-color:transparent;background:linear-gradient(rgba(5,6,9,.6),rgba(5,6,9,.6)) padding-box,var(--g-bright) border-box;border:1px solid transparent}
.pd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:28px 0 0;font:600 .9rem var(--f-body);color:#d5d9ea}
.pd-meta .av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:700 .66rem var(--f-label);letter-spacing:.08em;color:#fff;background:var(--g-logo)}
.pd-meta .dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.45)}
/* cover image overlaps the hero */
.pd-cover-band{padding:0!important;background:var(--paper);z-index:10;display:flow-root}
[data-read]{display:flow-root}
.pd-cover{position:relative;margin:calc(-1 * clamp(96px,11vw,150px)) 0 0;aspect-ratio:16/8;border-radius:clamp(18px,2.4vw,30px);overflow:hidden;background:#e9ebf2;box-shadow:0 40px 80px -48px rgba(5,6,9,.65);z-index:2}
.pd-cover img{width:100%;height:116%;object-fit:cover;display:block}
@media (max-width:700px){.pd-cover{aspect-ratio:4/3}}
/* reading layout */
.pd-main{padding-block:clamp(56px,7vw,96px) clamp(64px,8vw,112px)!important}
.pd-grid{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:40px clamp(40px,6vw,96px);align-items:start}
.pd-body{min-width:0;max-width:72ch}
.pd-toc{position:sticky;top:calc(var(--hdr-h) + 32px);min-width:0}
.pd-toc .eyebrow{margin-bottom:16px}
.pd-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-l);counter-reset:t}
.pd-toc li{counter-increment:t}
.pd-toc ol a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:4px;padding:10px 0 10px 16px;font:600 .9rem/1.4 var(--f-body);color:var(--muted-l);text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth-out)}
.pd-toc ol a::before{content:counter(t,decimal-leading-zero);font:600 .72rem/1.9 var(--f-display);color:#a8aec4}
.pd-toc ol a::after{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--g-h);transform:scaleY(0);transition:transform var(--duration-fast) var(--ease-smooth-out)}
.pd-toc ol a:hover{color:var(--on-l)}
.pd-toc ol a[aria-current=true]{color:var(--on-l)}
.pd-toc ol a[aria-current=true]::after{transform:none}
.pd-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.pd-share a,.pd-share button{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid var(--line-l);background:#fff;font:600 .8rem var(--f-body);color:var(--on-l);text-decoration:none;cursor:pointer;transition:border-color var(--duration-fast),transform var(--duration-medium) var(--ease-smooth-out)}
.pd-share a:hover,.pd-share button:hover{transform:translateY(-2px);transition-duration:var(--duration-fast);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;border:1px solid transparent}
.pd-share-l{display:block;width:100%;font:700 .66rem var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--muted-l);margin-bottom:2px}
.pd-standfirst{font-family:var(--f-display);font-weight:300;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.45;letter-spacing:-.01em;margin:0 0 36px;padding-bottom:36px;border-bottom:1px solid var(--line-l);color:var(--on-l)}
.pd-body p{font-size:1.08rem;line-height:1.8;color:#2d3347;margin:0 0 22px}
.pd-body h2.pd-h,.pd-body h3.pd-h{font-family:var(--f-display);font-weight:600;font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.22;letter-spacing:-.015em;margin:52px 0 18px;color:var(--on-l);scroll-margin-top:calc(var(--hdr-h) + 24px);text-wrap:balance}
.pd-body ul{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:10px}
.pd-body ul li{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem;line-height:1.6}
.pd-body ul li svg{width:22px;height:22px;flex:none;margin-top:2px}
.pd-body img{max-width:100%;height:auto;border-radius:18px;margin:12px 0 28px}
.pd-body blockquote{margin:36px 0;padding:0 0 0 24px;border-left:2px solid;border-image:var(--g-bright) 1;font-family:var(--f-display);font-weight:300;font-size:1.45rem;line-height:1.45}
/* highlight card (article) — a stat the editor can fill or leave empty */
.pd-hl{position:relative;margin:48px 0;padding:clamp(28px,3.6vw,44px);border-radius:26px;background:var(--ink-2);color:#fff;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px 36px;align-items:end}
.pd-hl::before{content:"";position:absolute;width:520px;height:520px;right:-200px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(153,52,236,.45),transparent 65%);z-index:-1}
.pd-hl blockquote{grid-column:1/-1;margin:0;padding:0;border:0;font-size:clamp(1.25rem,2.1vw,1.7rem);line-height:1.38;color:#fff}
.pd-hl .num{display:block;font-family:var(--f-display);font-weight:200;font-size:clamp(3.4rem,7vw,5.6rem);line-height:.95;letter-spacing:-.05em;background:var(--g-bright);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.pd-hl .cap{display:block;margin-top:10px;color:#c7ccdc;max-width:30ch}
.pd-hl .lbl{display:inline-flex;margin-top:18px;padding:8px 14px;border-radius:999px;font:700 .64rem/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(var(--ink-2),var(--ink-2)) padding-box,var(--g-bright) border-box;border:1px solid transparent}
.bars{display:flex;align-items:flex-end;gap:10px;height:clamp(110px,14vw,160px);justify-self:end;width:100%;max-width:260px}
.bars i{flex:1;height:var(--h);border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#089EF3,#132EA1 60%,#9934EC);transform-origin:bottom;transform:scaleY(.06);opacity:.35;transition:transform var(--duration-very-slow) var(--ease-smooth-out),opacity var(--duration-very-slow)}
.bars.in i{transform:none;opacity:1}
.bars i:nth-child(2){transition-delay:var(--duration-stagger)}.bars i:nth-child(3){transition-delay:calc(2*var(--duration-stagger))}.bars i:nth-child(4){transition-delay:calc(3*var(--duration-stagger))}.bars i:nth-child(5){transition-delay:calc(4*var(--duration-stagger))}
@media (max-width:640px){.pd-hl{grid-template-columns:1fr}.bars{justify-self:start}}
/* author + foot */
.pd-foot{margin-top:48px;padding-top:32px;border-top:1px solid var(--line-l);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.pd-author{display:flex;align-items:center;gap:14px}
.pd-author .av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:700 .8rem var(--f-label);letter-spacing:.08em;color:#fff;background:var(--g-logo)}
.pd-author b{display:block;font-family:var(--f-display);font-weight:600;font-size:1.1rem}
.pd-author a{font:600 .9rem var(--f-body);color:var(--hvt-navy)}
/* prev / next */
.pd-pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pd-pn a{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center;padding:16px;border-radius:22px;border:1px solid var(--line-l);background:#fff;text-decoration:none;color:inherit;transition:border-color var(--duration-medium) var(--ease-smooth-out),transform var(--duration-medium) var(--ease-smooth-out),box-shadow var(--duration-medium) var(--ease-smooth-out)}
.pd-pn a:hover{transition-duration:var(--duration-fast);transform:translateY(-4px);border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;box-shadow:0 24px 50px -30px rgba(19,46,161,.5)}
.pd-pn a.nx{grid-template-columns:minmax(0,1fr) 120px;text-align:right}
.pd-pn a.nx .ph{order:2}
.pd-pn .ph{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#e9ebf2}
.pd-pn .ph img{width:100%;height:100%;object-fit:cover}
.pd-pn small{display:flex;align-items:center;gap:8px;font:700 .66rem var(--f-label);letter-spacing:.22em;text-transform:uppercase;color:var(--muted-l)}
.pd-pn a.nx small{justify-content:flex-end}
.pd-pn small svg{width:16px;height:16px}
.pd-pn b{display:block;margin-top:8px;font-family:var(--f-display);font-weight:600;font-size:1.06rem;line-height:1.3;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pd-pn .only{grid-column:1/-1}
@media (max-width:760px){.pd-pn{grid-template-columns:1fr}.pd-pn a,.pd-pn a.nx{grid-template-columns:96px minmax(0,1fr);text-align:left}.pd-pn a.nx .ph{order:0}.pd-pn a.nx small{justify-content:flex-start}}
.pd-more .sv-head{margin-bottom:clamp(32px,4vw,48px)}
.pd-more .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.pd-more .head-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:clamp(32px,4vw,48px)}
.band.dark .icard{background:var(--ink-3);border-color:var(--line-d);color:#fff}
.band.dark .icard:hover,.band.dark .icard:focus-visible{background:linear-gradient(var(--ink-3),var(--ink-3)) padding-box,var(--g-bright) border-box}
.band.dark .icard p,.band.dark .icard .itop,.band.dark .icard .igo,.band.dark .icard .cstat span{color:var(--muted-d)}
.band.dark .icard .cstat{border-color:var(--line-d)}
.band.dark .icard .cstat span em{color:#fff}
.band.dark .icard .igo i{background:linear-gradient(var(--ink-3),var(--ink-3)) padding-box,var(--g-bright) border-box;color:#fff}
/* ---------- case study ---------- */
.cs-ov{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(40px,6vw,96px);align-items:start}
.cs-proj{padding-top:clamp(48px,6vw,80px)}
.cs-proj{min-width:0}
.cs-proj h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance}
.cs-proj ul{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px}
.cs-proj li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.cs-proj li svg{width:24px;height:24px;flex:none}
.cs-ov .pd-cover{margin:0;aspect-ratio:4/3}
.cs-lede{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px clamp(40px,6vw,96px);padding-block:clamp(40px,5vw,72px);border-block:1px solid var(--line-l);margin:clamp(48px,6vw,88px) 0}
.cs-lede h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.15;letter-spacing:-.02em;margin:0;text-wrap:balance}
.cs-lede p{margin:0;font-size:1.12rem;line-height:1.8;color:#2d3347}
.cs-sec{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px clamp(40px,6vw,96px);align-items:start}
.cs-sec h3{position:sticky;top:calc(var(--hdr-h) + 32px);font-family:var(--f-display);font-weight:600;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.2;margin:0;text-wrap:balance}
.cs-sec p{font-size:1.06rem;line-height:1.8;color:#2d3347;margin:0 0 22px}
.cs-sec p:first-of-type{font-weight:600;color:var(--on-l)}
/* results panel (custom fields: headline stat + up to three result bars) */
.cs-res{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px clamp(40px,6vw,96px);align-items:center}
.cs-big{position:relative}
.cs-big .num{display:block;font-family:var(--f-display);font-weight:200;font-size:clamp(5rem,12vw,10rem);line-height:.9;letter-spacing:-.06em;background:var(--g-bright);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.cs-big .lbl{display:block;margin-top:14px;font-family:var(--f-display);font-weight:600;font-size:1.4rem}
.cs-big .cap{display:block;margin-top:8px;color:var(--muted-d);max-width:34ch;font-size:1.05rem}
.cs-mets{list-style:none;margin:0;padding:clamp(24px,3vw,36px);display:grid;gap:26px;border-radius:26px;background:var(--ink-3);border:1px solid var(--line-d)}
.cs-mets li{display:grid;grid-template-columns:1fr auto;gap:12px 16px;align-items:end}
.cs-mets span{font-weight:600;color:#dfe3f2}
.cs-mets b{font-family:var(--f-display);font-weight:300;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cs-mets .tk{grid-column:1/-1;height:6px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}
.cs-mets .tk i{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--g-bright);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-very-slow) var(--ease-smooth-out)}
.cs-mets.in .tk i{transform:none}
.cs-mets li:nth-child(2) .tk i{transition-delay:var(--duration-micro)}.cs-mets li:nth-child(3) .tk i{transition-delay:calc(2*var(--duration-micro))}
.cs-close p{font-size:1.1rem;line-height:1.8;color:#2d3347;margin:0 0 22px;max-width:72ch}
.cs-close p:first-child{font-family:var(--f-display);font-weight:300;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.5;color:var(--on-l)}
.cs-close .pd-foot{max-width:72ch}
@media (max-width:1000px){.cs-ov .pd-cover{order:-1}.cs-proj{padding-top:0}.pd-grid{grid-template-columns:1fr}.pd-toc{position:static;padding:20px;border-radius:20px;background:var(--paper-2)}.pd-toc ol{border-left:0}.pd-toc a{padding-left:0}.pd-toc ol a::after{display:none}.cs-ov,.cs-lede,.cs-sec,.cs-res{grid-template-columns:1fr}.cs-sec h3{position:static}}
@media (prefers-reduced-motion:reduce){.bars i,.cs-mets .tk i{transition:none;transform:none;opacity:1}}
