/* BIEPE - shared layout & components (nav, buttons, sections, footer) */

.nav-bar { --nav-btn-bg: var(--color-primary); --nav-btn-fg: var(--white); --nav-show-light: none; --nav-show-color: block; --nav-burger: var(--color-text);
  position: fixed; inset: 0 0 auto 0; z-index: 50; background-color: rgb(255 255 255 / 0.95); color: var(--color-text-muted);
  border-block-end: var(--border-width) solid var(--color-border); backdrop-filter: blur(2px); }
.wrap { --gx: 1rem; inline-size: 100%; max-inline-size: var(--content-width); margin-inline: auto; padding-inline: var(--gx); box-sizing: border-box; @media (width >= 640px) { --gx: 1.5rem; } @media (width >= 1024px) { --gx: 2rem; } }
/* Header height and logo size: the fixed header, page offsets and scroll padding all follow these */
:root { --nav-h: 4.75rem; --logo-h: 3.5rem; @media (width >= 768px) { --nav-h: 5.875rem; --logo-h: 4.5rem; } }
.nav-bar__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; block-size: var(--nav-h); }
.logo-lockup { --logo-height: 2.5rem; display: inline-flex; align-items: center; min-block-size: 2.75rem; line-height: 0; }
.logo-lockup__img { block-size: var(--logo-height); inline-size: auto; }
.logo-lockup__img--color { display: var(--nav-show-color, none); }
.nav-links { display: none; align-items: center; gap: 0.25rem; flex: 1; margin-inline-start: 2rem; @media (width >= 1180px) { display: flex; } }
.nav-link { padding: 0.5rem 1rem; font-size: 0.875rem; line-height: 1.25rem; color: inherit; transition: color var(--duration) var(--ease); &:hover, &:focus-visible { color: var(--color-text); } &[aria-current=page] { background: var(--color-primary-soft); color: var(--color-primary-hover); border-radius: 5px; } }
.nav-actions { display: none; align-items: center; gap: 0.75rem; @media (width >= 1180px) { display: flex; } }
.btn { --btn-h: 3rem; --btn-px: 1.5rem; --btn-radius: var(--radius-s);   /* the single button size (style guide: 48 / 24 / 4) */
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; box-sizing: border-box;
  block-size: var(--btn-h); padding-inline: var(--btn-px); border-radius: var(--btn-radius);
  background: var(--btn-bg); color: var(--btn-color); border: var(--border-width) solid var(--btn-border, transparent); box-shadow: var(--btn-shadow, none);
  font-size: 0.875rem; line-height: 1.25rem; font-weight: var(--weight-medium); white-space: nowrap; text-align: center; max-inline-size: 100%;
  @media (width < 640px) { white-space: normal; block-size: auto; min-block-size: var(--btn-h); padding-block: 0.75rem; }
  transition: background var(--duration) var(--ease), box-shadow var(--duration) var(--ease), color var(--duration) var(--ease);
  &:hover { background: var(--btn-bg-hover, var(--btn-bg)); color: var(--btn-color-hover, var(--btn-color)); box-shadow: var(--btn-shadow-hover, var(--btn-shadow, none)); }
  & .ico { --ico-size: 1rem; margin-inline-start: 0.5rem; } }
.ico { --ico-size: 1.25rem; display: inline-block; flex: none; inline-size: var(--ico-size); block-size: var(--ico-size); background-color: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.mobile-menu { display: block; @media (width >= 1180px) { display: none; } }
.mobile-menu__btn { list-style: none; cursor: pointer; inline-size: 2.5rem; block-size: 2.5rem; color: var(--nav-burger, var(--white)); background: linear-gradient(currentColor, currentColor) center 34% / 1.25rem 2px no-repeat, linear-gradient(currentColor, currentColor) center 50% / 1.25rem 2px no-repeat, linear-gradient(currentColor, currentColor) center 66% / 1.25rem 2px no-repeat; &::-webkit-details-marker { display: none; } }
.mobile-menu__panel { position: fixed; inset-block: 0; inset-inline-end: 0; z-index: 35; inline-size: min(86vw, 22rem); block-size: 100dvh; overflow-y: auto; box-sizing: border-box; background: var(--color-dark); color: var(--white); padding: calc(var(--nav-h) + 1.5rem) 1.5rem 2rem; display: flex; flex-direction: column; box-shadow: 0 0 0 100vmax rgb(0 0 0 / 0.45); }
.mobile-menu__link { font-size: 1.25rem; font-weight: var(--weight-semibold); padding-block: 1rem; border-block-end: var(--border-width) solid var(--color-border-inverse); &:hover, &[aria-current=page] { color: var(--color-primary); } }
.mobile-menu__cta { margin-block-start: 2rem; & .btn { inline-size: 100%; } }
.hero-section { position: relative; overflow: hidden; margin-block-start: -4rem; background: var(--color-primary); color: var(--white); padding-block-start: 4rem; min-block-size: 760px; @media (width >= 1024px) { min-block-size: 820px; } }
.hero__grid { display: none; position: absolute; inset: 0; opacity: 0.2; pointer-events: none; background-image: linear-gradient(rgb(255 255 255 / 0.15) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 0.15) 1px, transparent 1px); background-size: 48px 48px; }
.hero__inner { position: relative; display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 3rem; align-items: center; min-block-size: 700px; padding-block: 7rem 6rem; @media (width >= 1024px) { grid-template-columns: 0.9fr 1.1fr; padding-block: 6rem 7rem; } }
.hero__copy { max-inline-size: 42rem; }
.hero__eyebrow { font-family: var(--font-body); font-size: var(--text-xs); font-weight: var(--weight-semibold); line-height: var(--leading-overline); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; margin: 0 0 1.5rem; letter-spacing: 0.22em; color: rgb(255 255 255 / 0.75); }
.reveal { animation: reveal-up var(--anim-duration) var(--ease) both; animation-delay: calc(var(--i, 0) * var(--anim-stagger)); }
.hero__title { margin: 0; font-size: 2.25rem; line-height: 1.04; font-weight: var(--weight-semibold); letter-spacing: 0; color: var(--white); @media (width >= 640px) { font-size: 3.75rem; } @media (width >= 1024px) { font-size: 3.75rem; line-height: 1; } }
.hero__text { margin: 1.75rem 0 0; max-inline-size: 36rem; font-size: 1rem; line-height: 1.75rem; color: rgb(255 255 255 / 0.8); @media (width >= 640px) { font-size: 1.125rem; } }
.hero__actions { &:not(:has(.btn:not([data-variant="none"]))) { display: none; } margin-block-start: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; --link-color: var(--white); }
:where(.l-section) { inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center; }
.head { --head-max: 42rem; max-inline-size: var(--head-max); margin-block-end: calc(var(--head-mb, 3.5rem) / 2); @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.kicker { font-family: var(--font-body); font-size: var(--text-xs); font-weight: var(--weight-semibold); line-height: var(--leading-overline); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--kicker, var(--color-primary)); }
.head__title { margin: 1rem 0 0; font-family: var(--font-heading); font-size: 1.75rem; line-height: 1.2; font-weight: var(--weight-semibold); letter-spacing: 0; color: inherit; @media (width >= 640px) { font-size: 3rem; line-height: 1; } }
.head__text { margin: 1.25rem 0 0; max-inline-size: 36rem; font-size: 1rem; line-height: 1.75rem; color: var(--sec-muted); &:empty { display: none; } }
.evidence-chart { margin:0; }
.evidence-chart-scroll { padding:0;background:#FCFCFC;border:1px solid #E1EEFC;border-radius:24px;overflow:hidden; @media(width < 680px){border-radius:16px;} }
.evidence-chart-pic { display:block; }
/* 3x the column gap above a chart that follows other content */
.evidence-section > .wrap > :not(.head) + .evidence-chart { margin-block-start: 64px; @media (width < 680px) { margin-block-start: 32px; } }
.evidence-chart-img { display:block;width:100%;height:auto; }
.fh-container { box-sizing: border-box; }
.fh-head {  --anim-scroll-distance:16px; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: cover 6% cover 28%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.fh-kicker { margin:0; font-size:12px; line-height:16px; font-weight:600; letter-spacing:2.4px; text-transform:uppercase; color:#11afdf; }
.fh-title { margin:16px 0 0; font-size:28px; line-height:1.1; font-weight:600; letter-spacing:0; color:inherit; @media(width >= 640px){font-size:36px; line-height:1;} @media(width >= 1024px){font-size:48px; line-height:48px;} }
.fh-copy { margin:0; font-size:16px; line-height:28px; font-weight:400; color:#606c76; }
.fh-feature-line { display:none; @media(width >= 1024px){display:block; position:absolute; right:0; top:12px; width:32px; height:1px; background:#11afdf; &::after{content:""; position:absolute; width:8px; height:8px; right:-4px; top:-3px; border-radius:50%; background:#11afdf;} } }
.lead { margin: 0; font-size: 1.25rem; line-height: 1.75rem; font-weight: var(--weight-medium); color: inherit; }
.fh-stack { position:relative; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:16px; & .fh-lead{margin-top:8px;} & > .fh-copy{margin-top:4px;margin-bottom:16px;max-inline-size:60ch;} --anim-scroll-distance:16px; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: cover 6% cover 28%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.evidence-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; @media(width < 1000px){grid-template-columns:repeat(2,minmax(0,1fr));} @media(width < 640px){grid-template-columns:1fr;} }
.evidence-card { margin:0;padding:clamp(20px,3vw,32px);border:1px solid var(--color-border);border-radius:var(--card-radius);background:var(--color-surface);display:flex;flex-direction:column;gap:18px; & p {margin:0;} }
.evidence-card-title { font-size:clamp(21px,2vw,28px);line-height:1.25;color:var(--color-text);margin:0;font-weight:600; }
.evidence-source { font-size:13px;line-height:1.55;color:var(--color-text-muted);margin:0; }
.evidence-chart-head { padding:0 0 16px; }
.evidence-chart-title { margin:0 0 4px;font-size:clamp(20px,2vw,28px);line-height:1.25;font-weight:600;color:inherit; }
.evidence-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); @media(width < 760px){grid-template-columns:1fr;} }
.contact-section { --sec-bg: var(--color-primary); --sec-fg: var(--white); --sec-muted: rgb(255 255 255 / 0.75); --kicker: rgb(255 255 255 / 0.65); --sec-py: 6rem; --sec-py-lg: 7rem;
  background: var(--sec-bg); color: var(--sec-fg); padding-block: var(--sec-py); @media (width >= 1024px) { padding-block: var(--sec-py-lg); } }
.fh-download { padding:64px 0;overflow:hidden; color:white; background:#11afdf; @media(width >= 1024px){padding:112px 0 28px;height:533px;box-sizing:border-box;} & .fh-kicker{color:rgb(255 255 255 / .65);} & .fh-title{font-size:32px;line-height:1.05; @media(width >= 640px){font-size:42px;line-height:1;} @media(width >= 1024px){font-size:60px;line-height:60px;white-space:nowrap;}} }
.fh-download-copy { margin:8px 0 23.5px; font-size:18px;line-height:32px;max-width:576px; }
.fh-download-actions { margin:0 0 24px; }
.fh-download-mail { margin-top:0;display:inline-block;font-size:14px;line-height:28px;text-decoration:underline;text-underline-offset:4px; }
.fh-download-media { position:relative;aspect-ratio:718 / 393;@media(width >= 1024px){width:718px;margin-left:0;} --anim-scroll-distance:16px; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: cover 6% cover 28%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.fh-devices { position:absolute;display:block;width:100%;height:100%;object-fit:fill; }
.footer { background: var(--white); color: var(--color-text); border-block-start: var(--border-width) solid var(--color-border); }
.fh-footer { background:white;border-top:1px solid #d6dde1;color:#19222a; }
.fh-footer-top { padding-top:48px;padding-bottom:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:32px;@media(width >= 768px){height:264px;grid-template-columns:repeat(5,minmax(0,1fr));} --anim-scroll-distance:16px; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: cover 6% cover 28%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.fh-footer-brand { grid-column:span 2; }
.fh-footer-logo { display:block;width:fit-content;line-height:0; }
.fh-logo { display:block; width:121px;height:47.478px; & svg{display:block;} }
.fh-footer-tag { font-size:14px;line-height:20px;color:#606c76;max-width:202px;margin:22px 0 0; }
.fh-footer-product { @media(width >= 768px){grid-column:3;} }
.fh-footer-heading { margin:0 0 16px;font-size:14px;line-height:20px;font-weight:500; }
.fh-footer-list { list-style:none;margin:0;padding:0;display:grid;gap:12px; }
.fh-footer-link { display:block;font-size:14px;line-height:20px;color:#606c76; }
.fh-footer-company { @media(width >= 768px){grid-column:5;} }
.fh-footer-bar { border-top:1px solid #d6dde1; }
.fh-footer-bar-row { padding-top:24px;padding-bottom:24px;display:flex;flex-direction:column;gap:16px;font-size:14px;line-height:20px;color:#606c76; & p{margin:0;} @media(width >= 768px){flex-direction:row;justify-content:space-between;align-items:center;} }
.fh-footer-credits { display:flex;flex-direction:column;gap:4px; }
.fh-credit-link { color:#19222a;text-decoration:underline;text-underline-offset:3px;transition:color 180ms var(--ease); &:hover{color:#11afdf;} }
.fh-footer-legal { display:flex;gap:24px; }
.btn[data-variant="link"] { --btn-h: auto; --btn-px: 0; --btn-bg: transparent; --btn-bg-hover: transparent; --btn-color: inherit; font-weight: var(--weight-semibold); & .ico { margin-inline-start: 0; } }
.mobile-menu[open] .mobile-menu__btn { position: relative; z-index: 40; color: var(--white); background: linear-gradient(45deg, transparent 46%, currentColor 46% 54%, transparent 54%) center / 1.5rem 1.5rem no-repeat, linear-gradient(-45deg, transparent 46%, currentColor 46% 54%, transparent 54%) center / 1.5rem 1.5rem no-repeat; }
.mobile-menu[open] .mobile-menu__panel { animation: slide-in-right var(--menu-duration) var(--ease) both; }
.feature[data-side="right"] { @media (width >= 1024px) { padding-inline: 2rem 0; text-align: start; } }
.feature[data-side="right"] .feature__top { flex-direction: row-reverse; justify-content: flex-end; }
.feature[data-side="right"] .feature__line { inset-inline: 0 auto; }
.head[data-max="3xl"] { --head-max: 48rem; }
.head[data-max="none"] { --head-max: none; }
.head[data-mb="0"] { --head-mb: 0; }
.head[data-size="lg"] .head__title { font-size: 1.875rem; @media (width >= 640px) { font-size: 2.25rem; line-height: 2.5rem; } }
.head[data-size="md"] .head__title { font-size: 2.25rem; line-height: 2.5rem; }
.btn[data-variant="primary"] { --btn-bg: var(--color-primary); --btn-bg-hover: rgb(17 175 223 / 0.8); --btn-color: var(--white); --btn-shadow: var(--shadow-control); --btn-shadow-hover: 0 4px 6px -1px rgb(0 0 0 / 0.1); }
.btn[data-variant="secondary"] { --btn-bg: var(--color-surface); --btn-bg-hover: rgb(241 246 248 / 0.8); --btn-color: var(--color-dark); }
.btn[data-variant="outline"] { --btn-bg: var(--white); --btn-bg-hover: var(--color-surface); --btn-color: var(--color-dark); --btn-border: var(--color-border-soft); }
.btn[data-variant="outline-light"] { --btn-bg: transparent; --btn-bg-hover: rgb(255 255 255 / 0.1); --btn-color: var(--white); --btn-border: rgb(255 255 255 / 0.4); }
.btn[data-variant="ghost"] { --btn-bg: transparent; --btn-bg-hover: color-mix(in srgb, currentColor 10%, transparent); --btn-color: currentColor; }
.btn[data-variant="nav"] { --btn-h: 2.25rem; --btn-px: 0.75rem; border-radius: var(--btn-compact-radius); box-shadow: var(--shadow-control); --btn-bg: var(--nav-btn-bg, var(--color-surface)); --btn-bg-hover: var(--nav-btn-bg, var(--color-surface)); --btn-color: var(--nav-btn-fg, var(--color-dark)); }
.btn[data-variant="none"] { display: none; }
.feature .ico { --ico-size: 1.25rem; color: var(--color-primary); }
.feature[data-side="right"] .feature__dot { inset-inline: -4px auto; }
.faq-item[open] .faq-item__chev { transform: rotate(180deg); }
.gcard--wide .gcard__list { @media (width >= 768px) { grid-template-columns: repeat(3, 1fr); } }
.card--org .card__list { margin-block-start: 2rem; display: grid; gap: 1.75rem; }
.ico[data-ico=""] { display: none; }
.ico[data-ico="shopping-bag"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 10a4 4 0 0 1-8 0%22%3E%3C/path%3E%3Cpath d=%22M3.103 6.034h17.794%22%3E%3C/path%3E%3Cpath d=%22M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="apple"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M16.365 1.43c0 1.14-.42 2.1-1.25 2.9-.87.84-1.84 1.28-2.9 1.2-.03-1.07.4-2.05 1.25-2.9.42-.43.94-.79 1.55-1.07.61-.28 1.19-.43 1.34-.13zM20.8 17.03c-.34.79-.74 1.52-1.2 2.2-.63.92-1.15 1.56-1.55 1.92-.63.6-1.3.9-2.02.92-.52 0-1.14-.15-1.87-.45-.73-.3-1.4-.45-2.02-.45-.64 0-1.33.15-2.07.45-.74.3-1.34.46-1.8.48-.7.03-1.38-.28-2.05-.95-.44-.4-.98-1.06-1.63-2-.7-1-1.26-2.16-1.68-3.48C2.44 14.15 2.2 12.78 2.2 11.46c0-1.51.33-2.81.98-3.9a5.75 5.75 0 0 1 2.06-2.08 5.5 5.5 0 0 1 2.78-.78c.55 0 1.28.17 2.18.5.9.34 1.44.51 1.62.51.13 0 .72-.2 1.77-.6.99-.37 1.83-.52 2.51-.46 1.86.15 3.25.88 4.18 2.2-1.66 1.01-2.48 2.42-2.46 4.24.02 1.41.53 2.59 1.53 3.53.45.43.96.76 1.52 1 -.12.35-.25.68-.4 1.01zM12.03 5.23c0 .01 0 .02-.01.03 0-.01 0-.02.01-.03z%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="arrow-left"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m12 19-7-7 7-7%22%3E%3C/path%3E%3Cpath d=%22M19 12H5%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="arrow-right"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 12h14%22%3E%3C/path%3E%3Cpath d=%22m12 5 7 7-7 7%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="building2"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z%22%3E%3C/path%3E%3Cpath d=%22M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2%22%3E%3C/path%3E%3Cpath d=%22M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2%22%3E%3C/path%3E%3Cpath d=%22M10 6h4%22%3E%3C/path%3E%3Cpath d=%22M10 10h4%22%3E%3C/path%3E%3Cpath d=%22M10 14h4%22%3E%3C/path%3E%3Cpath d=%22M10 18h4%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="chart-column"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 3v16a2 2 0 0 0 2 2h16%22%3E%3C/path%3E%3Cpath d=%22M18 17V9%22%3E%3C/path%3E%3Cpath d=%22M13 17V5%22%3E%3C/path%3E%3Cpath d=%22M8 17v-3%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="chevron-down"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="circle-check"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22%3E%3C/circle%3E%3Cpath d=%22m9 12 2 2 4-4%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="circle-x"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22%3E%3C/circle%3E%3Cpath d=%22m15 9-6 6%22%3E%3C/path%3E%3Cpath d=%22m9 9 6 6%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="clock3"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22%3E%3C/circle%3E%3Cpolyline points=%2212 6 12 12 16.5 12%22%3E%3C/polyline%3E%3C/svg%3E"); }
.ico[data-ico="eye"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0%22%3E%3C/path%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%223%22%3E%3C/circle%3E%3C/svg%3E"); }
.ico[data-ico="facebook"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="gauge"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m12 14 4-4%22%3E%3C/path%3E%3Cpath d=%22M3.34 19a10 10 0 1 1 17.32 0%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="git-merge"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2218%22 cy=%2218%22 r=%223%22%3E%3C/circle%3E%3Ccircle cx=%226%22 cy=%226%22 r=%223%22%3E%3C/circle%3E%3Cpath d=%22M6 21V9a9 9 0 0 0 9 9%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="graduation-cap"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z%22%3E%3C/path%3E%3Cpath d=%22M22 10v6%22%3E%3C/path%3E%3Cpath d=%22M6 12.5V16a6 3 0 0 0 12 0v-3.5%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="instagram"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2220%22 height=%2220%22 x=%222%22 y=%222%22 rx=%225%22 ry=%225%22%3E%3C/rect%3E%3Cpath d=%22M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z%22%3E%3C/path%3E%3Cline x1=%2217.5%22 x2=%2217.51%22 y1=%226.5%22 y2=%226.5%22%3E%3C/line%3E%3C/svg%3E"); }
.ico[data-ico="linkedin"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z%22%3E%3C/path%3E%3Crect width=%224%22 height=%2212%22 x=%222%22 y=%229%22%3E%3C/rect%3E%3Ccircle cx=%224%22 cy=%224%22 r=%222%22%3E%3C/circle%3E%3C/svg%3E"); }
.ico[data-ico="menu"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cline x1=%224%22 x2=%2220%22 y1=%2212%22 y2=%2212%22%3E%3C/line%3E%3Cline x1=%224%22 x2=%2220%22 y1=%226%22 y2=%226%22%3E%3C/line%3E%3Cline x1=%224%22 x2=%2220%22 y1=%2218%22 y2=%2218%22%3E%3C/line%3E%3C/svg%3E"); }
.ico[data-ico="message-square-text"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z%22%3E%3C/path%3E%3Cpath d=%22M13 8H7%22%3E%3C/path%3E%3Cpath d=%22M17 12H7%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="monitor"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2220%22 height=%2214%22 x=%222%22 y=%223%22 rx=%222%22%3E%3C/rect%3E%3Cline x1=%228%22 x2=%2216%22 y1=%2221%22 y2=%2221%22%3E%3C/line%3E%3Cline x1=%2212%22 x2=%2212%22 y1=%2217%22 y2=%2221%22%3E%3C/line%3E%3C/svg%3E"); }
.ico[data-ico="play"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22%23000%22%3E%3Cpath d=%22M3.6 1.84a1.5 1.5 0 0 0-.6 1.2v17.92a1.5 1.5 0 0 0 .6 1.2l9.3-10.16L3.6 1.84zm10.55 9.3 2.9-3.17-9.1-5.2 6.2 8.37zm0 1.72-6.2 8.37 9.1-5.2-2.9-3.17zm4.35-2.38-2.36-1.35-3.1 3.39 3.1 3.39 2.36-1.35c1.13-.65 1.13-2.47 0-3.12z%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="radar"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M19.07 4.93A10 10 0 0 0 6.99 3.34%22%3E%3C/path%3E%3Cpath d=%22M4 6h.01%22%3E%3C/path%3E%3Cpath d=%22M2.29 9.62A10 10 0 1 0 21.31 8.35%22%3E%3C/path%3E%3Cpath d=%22M16.24 7.76A6 6 0 1 0 8.23 16.67%22%3E%3C/path%3E%3Cpath d=%22M12 18h.01%22%3E%3C/path%3E%3Cpath d=%22M17.99 11.66A6 6 0 0 1 15.77 16.67%22%3E%3C/path%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222%22%3E%3C/circle%3E%3Cpath d=%22m13.41 10.59 5.66-5.66%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="shield-check"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z%22%3E%3C/path%3E%3Cpath d=%22m9 12 2 2 4-4%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="smartphone"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%2214%22 height=%2220%22 x=%225%22 y=%222%22 rx=%222%22 ry=%222%22%3E%3C/rect%3E%3Cpath d=%22M12 18h.01%22%3E%3C/path%3E%3C/svg%3E"); }
.ico[data-ico="target"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22%3E%3C/circle%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%226%22%3E%3C/circle%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222%22%3E%3C/circle%3E%3C/svg%3E"); }
.ico[data-ico="timer"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cline x1=%2210%22 x2=%2214%22 y1=%222%22 y2=%222%22%3E%3C/line%3E%3Cline x1=%2212%22 x2=%2215%22 y1=%2214%22 y2=%2211%22%3E%3C/line%3E%3Ccircle cx=%2212%22 cy=%2214%22 r=%228%22%3E%3C/circle%3E%3C/svg%3E"); }
.ico[data-ico="trending-up"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpolyline points=%2222 7 13.5 15.5 8.5 10.5 2 17%22%3E%3C/polyline%3E%3Cpolyline points=%2216 7 22 7 22 13%22%3E%3C/polyline%3E%3C/svg%3E"); }
.ico[data-ico="workflow"] { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect width=%228%22 height=%228%22 x=%223%22 y=%223%22 rx=%222%22%3E%3C/rect%3E%3Cpath d=%22M7 11v4a2 2 0 0 0 2 2h4%22%3E%3C/path%3E%3Crect width=%228%22 height=%228%22 x=%2213%22 y=%2213%22 rx=%222%22%3E%3C/rect%3E%3C/svg%3E"); }
.nav-bar .logo-lockup { --logo-height: var(--logo-h); block-size: var(--logo-h); & .logo-lockup__img { inline-size: auto; block-size: var(--logo-h); } }
.hero-section.hero-home { min-block-size: 0; padding-block-start: 8rem; @media (width >= 1024px) { min-block-size: 896px; } }
.hero-home .hero__inner { padding-block: 3rem; min-block-size: 0; @media (width >= 1024px) { display: block !important; block-size: 760px; padding-block: 4.75rem 0; } }
.hero-home .hero__copy { position:relative;z-index:2;@media(width >= 1024px){inline-size:580px;max-inline-size:45%;} }
.hero-home .hero__title { @media (width >= 1024px) { font-size: 60px; line-height: 1; } }
.hero-home .hero__text { color:white;margin-block-start:28px; }
.hero-home .hero__media { position: relative; @media (width >= 1024px) { position: absolute; inset: -4rem -1.875rem auto auto; inline-size: 812px; } }
.hero-home .hero__visual { inline-size: 100%; aspect-ratio: 812 / 832; margin: 0; }
.hero-home .hero__man { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
.hero-home .hero__actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-block-start: 2.25rem; }
.hero-home .hero__badge { display:block;padding:0;border:0;background:none;box-shadow:none;inset:50% auto auto 6%;@media(width < 640px){transform:scale(.85);transform-origin:left top;} }
.hero-home .hero__badge-title { font-size: 24px; line-height: 32px; }
.hero-home .hero__badge-text { font-size: 12px; line-height: 16px; }
.fh-head > .fh-copy { margin-top:20px; max-width:576px; }
.fh-feature--right .fh-feature-top { @media(width < 1024px){flex-direction:row-reverse;justify-content:flex-end;} }
.fh-feature--right .fh-feature-line { left:0;right:auto; &::after{left:-4px;right:auto;} }
.fh-faq-question .fh-icon { transition:transform 320ms var(--ease); }
.fh-faq-item[open] .fh-icon { transform:rotate(180deg); }
.fh-philosophy .fh-copy { max-width:60ch; }
.fh-download .fh-stack { @media(width >= 1024px){width:576px;} }
.hero-home .hero__actions > .btn { border:0;line-height:20px; }
.fh-footer-list > li { padding-block:2.5px 1.5px;line-height:20px; }
.fh-panel:not(.fh-panel--dark) { @media(width >= 1024px){border-inline-end:1px solid #d6dde1;} }
.gallery-section .evidence-card-title { display:flex;align-items:flex-start;gap:12px; }
.gallery-section .report-card-icon { --ico-size:26px;color:var(--color-primary);margin-block-start:3px; }
.evidence-section .head { margin-block-end:12px; }
.evidence-section > .wrap > .lead { margin-block:0; }
.gallery-section.evidence-section .head { margin-block-end:12px; }
.gallery-section.evidence-section > .wrap > .lead { margin:0;max-inline-size:60ch; }
.gallery-section.evidence-section .evidence-card { gap:20px; }
.gallery-section.evidence-section .evidence-card > .evidence-source { margin-block-start:auto;padding-block-start:4px; }
.evidence-section > .wrap > .btn { align-self:flex-start; }
html { scroll-behavior: smooth; scroll-padding-block-start: calc(var(--nav-h) + 1rem); @media (prefers-reduced-motion: reduce) { scroll-behavior: auto; } }
.audience-section .lead, .uc-overview-section .lead, .uc-overview-section .copy, .how-practice-section .lead, .how-practice-section .copy, .implementation-evidence-section .lead { max-inline-size:60ch; }
.trust-section .lead, .audience-section .lead, .uc-overview-section .lead, .uc-overview-section .copy, .how-practice-section .lead, .how-practice-section .copy, .implementation-evidence-section .lead { max-inline-size:60ch; }
.uc-overview-section .lead, .how-practice-section .lead { max-inline-size:47ch; }
.trust-section .lead, .audience-section .lead, .uc-overview-section .copy, .how-practice-section .copy, .implementation-evidence-section .lead { max-inline-size:60ch; }
.hero-section--page { min-block-size: 0; }
.hero__inner--page { position: relative; display: block !important; min-block-size: 0; padding-block: 9rem 5rem; @media (width >= 1024px) { padding-block: 9rem 6rem; } }
.hero__copy--page { max-inline-size: 48rem; }
.hero__title--page { font-size: 1.75rem; line-height: 1.1; @media (width >= 640px) { font-size: 3rem; line-height: 1; } @media (width >= 1024px) { font-size: 3.75rem; } }
.hero__text--page { max-inline-size: 42rem; }
.how-practice-section { --sec-bg: var(--color-bg); --sec-fg: var(--color-text); --sec-muted: var(--color-text-muted); --kicker: var(--color-primary); --sec-py: 5rem; --sec-py-lg: 6rem;
  background: var(--sec-bg); color: var(--sec-fg); padding-block: var(--sec-py); @media (width >= 1024px) { padding-block: var(--sec-py-lg); } }
.uc-overview-section { --sec-bg: var(--color-surface); --sec-fg: var(--color-text); --sec-muted: var(--color-text-muted); --kicker: var(--color-primary); --sec-py: 4rem; --sec-py-lg: 5rem;
  background: var(--sec-bg); color: var(--sec-fg); padding-block: var(--sec-py); @media (width >= 1024px) { padding-block: var(--sec-py-lg); } }
.evidence-section { padding-block:var(--space-section); background:var(--color-bg); color:var(--color-text); & > .wrap {display:flex;flex-direction:column;gap:32px;} & .section-head {margin-bottom:8px;} & .copy {line-height:1.65;} }
:where(.l-container) { inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto; }
.copy { margin: 0; font-size: 1rem; line-height: 1.75rem; color: var(--sec-muted); }
.fh-download-grid { display:grid;gap:56px;align-items:start;@media(width >= 1024px){grid-template-columns:.9fr 1.1fr;} }
.gallery-section.evidence-section > .wrap { gap:32px; }
.evidence-section .evidence-card .copy { color:var(--color-text-muted);opacity:1; }
.cmp__tag { margin: 0; display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; line-height: 1rem; font-weight: var(--weight-semibold); letter-spacing: 0.05em; text-transform: uppercase; color: var(--color-text-muted); & .ico { --ico-size: 1rem; } }
.cmp__cell--with .cmp__tag { color: var(--color-primary); }
.cmp__text { margin: 1rem 0 0; font-size: 0.875rem; line-height: 1.5rem; color: var(--color-text-muted); }
.cmp__cell--with .cmp__text { color: var(--color-text); }
.cta-band-section { --sec-bg: var(--color-primary); --sec-fg: var(--white); --sec-muted: rgb(255 255 255 / 0.75); --kicker: rgb(255 255 255 / 0.65); --sec-py: 5rem; --sec-py-lg: 6rem;
  background: var(--sec-bg); color: var(--sec-fg); padding-block: var(--sec-py); @media (width >= 1024px) { padding-block: var(--sec-py-lg); } }
.cta-band__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; @media (width >= 1024px) { flex-direction: row; align-items: center; justify-content: space-between; } }
.cta-band__copy { max-inline-size: 36rem; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.cta-band__title { margin: 0; font-size: 1.5rem; line-height: 1.25; font-weight: var(--weight-semibold); letter-spacing: 0; @media (width >= 640px) { font-size: 2.25rem; line-height: 2.5rem; } }
.cta-band__text { margin: 1rem 0 0; line-height: 1.75rem; color: rgb(255 255 255 / 0.75); }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: 1rem; @supports (animation-timeline: view()) { animation: reveal-scroll linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; } @media (prefers-reduced-motion: reduce) { animation: none; } }
.split { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: var(--split-gap, 3rem); align-items: center; @media (width >= 1024px) { grid-template-columns: var(--split-cols, 1fr 1fr); } }

/* ---- Utilities ---- */
.visually-hidden {
  position: absolute; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; inset: 0.5rem auto auto 0.5rem; z-index: 100; padding: 0.5rem 1rem;
  background: var(--color-dark); color: var(--white); font-size: var(--text-sm);
  transform: translateY(-200%);
  &:focus-visible { transform: none; }
}
