@font-face{
  font-family:"Inter";
  font-style:normal;
  font-weight:300 800;
  font-display:swap;
  src:url("/fonts/inter-vietnamese-300-800.woff2") format("woff2");
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

@font-face{
  font-family:"Inter";
  font-style:normal;
  font-weight:300 800;
  font-display:swap;
  src:url("/fonts/inter-latin-300-800.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
  font-family:"Agenciy Inter";
  font-style:normal;
  font-weight:300 800;
  font-display:swap;
  src:url("/fonts/inter-vietnamese-300-800.woff2") format("woff2");
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

@font-face{
  font-family:"Agenciy Inter";
  font-style:normal;
  font-weight:300 800;
  font-display:swap;
  src:url("/fonts/inter-latin-300-800.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face{
  font-family:"Agenciy Lora";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("/fonts/agenciy-lora-regular.ttf") format("truetype");
}

@font-face{
  font-family:"Agenciy Lora";
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url("/fonts/agenciy-lora-italic.ttf") format("truetype");
}

:root{
  color-scheme:light;
  --cl-ink:#171717;
  --cl-deep:#050505;
  --cl-deep-ink:var(--cl-deep);
  --cl-bg:#F7F7F7;
  --cl-surface:#F1F1F1;
  --cl-white:#FFFFFF;
  --cl-border:#D6D6D6;
  --cl-border-soft:rgba(17,17,17,.14);
  --cl-accent:#111111;
  --cl-accent-deep:#050505;
  --cl-accent-tint:#E8E8E8;
  --cl-muted:#171717;
  --cl-error:#111111;
  --cl-success:#171717;
  --cl-warning:#171717;
  --cl-text-muted:var(--cl-ink);
  --cl-text-soft:var(--cl-ink);
  --cl-line:rgba(17,17,17,.12);
  --cl-line-strong:rgba(17,17,17,.22);
  --cl-glass-clear:rgba(255,255,255,.50);
  --cl-glass-frosted:rgba(255,255,255,.66);
  --cl-glass-etched:rgba(247,247,247,.72);
  --cl-glass-stroke:rgba(255,255,255,.52);
  --cl-glass-surface:var(--cl-glass-clear);
  --cl-glass-surface-strong:var(--cl-glass-frosted);
  --cl-glass-border:rgba(214,214,214,.72);
  --cl-mobile-menu-backdrop:rgba(5,5,5,.42);
  --cl-blur-clear:blur(8px) saturate(120%);
  --cl-blur-frosted:blur(18px) saturate(135%);
  --cl-blur-etched:blur(12px) saturate(115%);
  --cl-glass-blur-sm:8px;
  --cl-glass-blur-md:18px;
  --cl-glass-blur-lg:24px;
  --cl-light-bar-field:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.28) 96px,rgba(255,255,255,0) 300px);
  --cl-shadow-raised-compact:rgba(0,0,0,.10) 0 1px 1px,rgba(0,0,0,.12) 0 4px 10px -6px,rgba(255,255,255,.76) 0 1px 0 inset;
  --cl-shadow-raised-compact-hover:rgba(0,0,0,.14) 0 1px 2px,rgba(0,0,0,.16) 0 6px 14px -8px,rgba(255,255,255,.78) 0 1px 0 inset;
  --cl-shadow-raised-surface:rgba(0,0,0,.09) 0 1px 2px,rgba(0,0,0,.14) 0 8px 18px -8px,rgba(0,0,0,.10) 0 24px 44px -20px,rgba(255,255,255,.78) 0 1px 0 inset;
  --cl-shadow-raised-surface-hover:rgba(0,0,0,.11) 0 1px 2px,rgba(0,0,0,.16) 0 10px 22px -8px,rgba(0,0,0,.12) 0 28px 52px -20px,rgba(255,255,255,.82) 0 1px 0 inset;
  --cl-shadow-raised-control-dark:rgba(61,61,61,.72) 0 .602187px 1.08394px -1.25px,rgba(61,61,61,.64) 0 2.28853px 4.11936px -2.5px,rgba(61,61,61,.25) 0 10px 18px -3.75px,rgba(0,0,0,.35) 0 .706592px .706592px -.583333px,rgba(0,0,0,.34) 0 1.80656px 1.80656px -1.16667px,rgba(0,0,0,.33) 0 3.62176px 3.62176px -1.75px,rgba(0,0,0,.30) 0 6.8656px 6.8656px -2.33333px,rgba(0,0,0,.26) 0 13.6468px 13.6468px -2.91667px,rgba(0,0,0,.15) 0 30px 30px -3.5px,rgba(255,255,255,.16) 0 1px 0 inset;
  --cl-shadow-raised-control-dark-hover:rgba(61,61,61,.72) 0 .602187px 1.08394px -1.25px,rgba(61,61,61,.64) 0 2.28853px 4.11936px -2.5px,rgba(61,61,61,.25) 0 10px 18px -3.75px,rgba(0,0,0,.48) 0 .706592px .706592px -.583333px,rgba(0,0,0,.47) 0 1.80656px 1.80656px -1.16667px,rgba(0,0,0,.46) 0 3.62176px 3.62176px -1.75px,rgba(0,0,0,.43) 0 6.8656px 6.8656px -2.33333px,rgba(0,0,0,.36) 0 13.6468px 13.6468px -2.91667px,rgba(0,0,0,.21) 0 30px 30px -3.5px,rgba(255,255,255,.20) 0 1px 0 inset;
  --cl-shadow-raised-compact-dark-hover:rgba(0,0,0,.32) 0 1px 2px,rgba(0,0,0,.38) 0 6px 14px -8px,rgba(255,255,255,.16) 0 1px 0 inset;
  --cl-shadow-raised-control-light:rgba(0,0,0,.12) 0 1px 2px,rgba(0,0,0,.18) 0 8px 18px -8px,rgba(0,0,0,.12) 0 22px 40px -18px,rgba(255,255,255,.84) 0 1px 0 inset;
  --cl-shadow-raised-control-light-hover:rgba(0,0,0,.14) 0 1px 2px,rgba(0,0,0,.20) 0 10px 22px -8px,rgba(0,0,0,.14) 0 26px 46px -18px,rgba(255,255,255,.88) 0 1px 0 inset;
  --cl-shadow-overlay:rgba(0,0,0,.12) 0 2px 4px,rgba(0,0,0,.18) 0 14px 30px -12px,rgba(0,0,0,.14) 0 32px 60px -28px,rgba(255,255,255,.82) 0 1px 0 inset;
  --cl-shadow-recessed-field:inset 0 1px 2px rgba(0,0,0,.14),inset 0 6px 10px -8px rgba(0,0,0,.16),inset 0 -1px 0 rgba(255,255,255,.70);
  --cl-shadow-recessed-compact:inset 0 1px 1px rgba(0,0,0,.15),inset 0 3px 5px -4px rgba(0,0,0,.16),inset 0 -1px 0 rgba(255,255,255,.82);
  --cl-shadow-recessed-compact-hover:inset 0 1px 2px rgba(0,0,0,.20),inset 0 3px 5px -4px rgba(0,0,0,.20),inset 0 -1px 0 rgba(255,255,255,.82);
  --cl-shadow-soft:0 18px 48px rgba(5,5,5,.08);
  --cl-shadow-glass:0 24px 70px rgba(5,5,5,.10);
  --cl-shadow-virtual:0 28px 90px rgba(5,5,5,.20);
  --cl-ui-button-radius:10px;
  --cl-ui-nav-item-radius:10px;
  --cl-ui-nav-item-shadow:inset 0 1px 1px rgba(0,0,0,0),inset 0 3px 5px -4px rgba(0,0,0,0),inset 0 -1px 0 rgba(255,255,255,0);
  --cl-ui-nav-item-shadow-hover:var(--cl-shadow-recessed-compact);
  --cl-motion-quick:240ms;
  --cl-motion-base:320ms;
  --cl-motion-soft:420ms;
  --cl-ui-button-ease:cubic-bezier(.4,0,.2,1);
  --cl-pill-bg:#E8E8E8;
  --cl-pill-border:rgba(17,17,17,.14);
  --cl-shadow-inset:inset 0 1px 0 rgba(255,255,255,.86);
  --cl-shadow-hairline:inset 0 1px 0 rgba(17,17,17,.18);
  --cl-pill-shadow:var(--cl-shadow-raised-compact);
  --cl-ui-checkbox-size:18px;
  --cl-ui-checkbox-radius:4px;
  --cl-ui-checkbox-border:transparent;
  --cl-ui-checkbox-border-hover:transparent;
  --cl-ui-checkbox-border-disabled:transparent;
  --cl-ui-checkbox-bg-disabled:#f1f1f1;
  --cl-ui-checkbox-shadow:inset 0 1px 2px rgba(0,0,0,.12),inset 0 5px 8px -5px rgba(0,0,0,.13),inset 0 -1px 0 rgba(255,255,255,.84),0 1px 1px rgba(0,0,0,.01);
  --cl-ui-checkbox-shadow-hover:inset 0 1px 2px rgba(0,0,0,.16),inset 0 5px 8px -5px rgba(0,0,0,.17),inset 0 -1px 0 rgba(255,255,255,.84),0 1px 1px rgba(0,0,0,.02);
  --cl-ui-pill-bg:#f5f5f5;
  --cl-ui-pill-text:rgba(17,17,17,.62);
  --cl-ui-pill-radius:8px;
  --cl-ui-pill-shadow:var(--cl-shadow-raised-compact);
  --cl-ui-card-width:100%;
  --cl-ui-card-bg:#F5F5F5;
  --cl-ui-card-radius:20px;
  --cl-ui-card-opacity:1;
  --cl-ui-card-padding:28px 28px 34px;
  --cl-ui-blog-card-mini-height:150px;
  --cl-ui-card-shadow:var(--cl-shadow-raised-surface);
  --cl-ui-card-shadow-hover:var(--cl-shadow-raised-surface-hover);
  --cl-ui-control-surface-shadow:var(--cl-shadow-raised-control-light);
  --cl-ui-overlay-shadow:var(--cl-shadow-overlay);
  --cl-ui-media-shadow:var(--cl-shadow-raised-compact);
  --cl-ui-footer-icon-shadow-hover:var(--cl-shadow-raised-compact-hover);
  --cl-ui-field-bg:transparent;
  --cl-ui-field-height:auto;
  --cl-ui-field-letter-spacing:0em;
  --cl-ui-field-line-height:1.2em;
  --cl-ui-field-shadow:var(--cl-shadow-recessed-field);
  --cl-ui-button-primary-shadow:var(--cl-shadow-raised-control-dark);
  --cl-ui-button-primary-shadow-hover:var(--cl-shadow-raised-control-dark-hover);
  --cl-ui-button-tertiary-border:rgba(17,17,17,.14);
  --cl-ui-button-tertiary-shadow:none;
  --cl-ui-button-tertiary-shadow-hover:var(--cl-shadow-raised-compact-hover);
  --cl-ui-button-secondary-bg:#F5F5F5;
  --cl-ui-button-tertiary-bg:var(--cl-ui-button-secondary-bg);
  --cl-ui-button-secondary-border:var(--cl-ui-button-tertiary-border);
  --cl-ui-button-secondary-shadow:var(--cl-ui-button-tertiary-shadow);
  --cl-ui-button-secondary-shadow-hover:var(--cl-ui-button-tertiary-shadow-hover);
  --cl-ui-raised-light-shadow:var(--cl-shadow-raised-control-light);
  --cl-ui-raised-light-shadow-hover:var(--cl-shadow-raised-control-light-hover);
  --cl-ui-header-mobile-shadow:var(--cl-ui-raised-light-shadow);
  --cl-ui-search-submit-shadow-hover:var(--cl-shadow-raised-compact-dark-hover);
  --cl-font-primary:"Agenciy Inter",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --cl-font-serif:"Agenciy Lora","Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --cl-body-size:14px;
  --cl-content-title-ratio:2.1;
  --cl-content-title-size:calc(var(--cl-body-size) * var(--cl-content-title-ratio));
  --cl-content-title-line-height:1.12;
  --cl-heading-h1-size:52px;
  --cl-heading-h2-size:38px;
  --cl-heading-h3-size:30px;
  --cl-heading-h4-size:24px;
  --cl-heading-h5-size:19px;
  --cl-heading-h6-size:15px;
  --cl-radius-xs:8px;
  --cl-radius-sm:12px;
  --cl-radius-md:20px;
  --cl-radius-lg:20px;
  --cl-radius-xl:56px;
  --cl-radius-pill:999px;
  --cl-container:1200px;
  --cl-home-container:1280px;
  --cl-frame-container:1350px;
  --cl-frame-gutter:56px;
  --cl-page-gutter:48px;
  --cl-reading-width:720px;
  --cl-legal-width:780px;
  --cl-ease:cubic-bezier(.4,0,.2,1);
  --cl-material-ease:cubic-bezier(.4,0,.2,1);
  --cl-material-return-duration:480ms;
  --cl-material-press-duration:120ms;
  --cl-material-rim:rgba(255,255,255,.68);
  --cl-material-rim-soft:rgba(255,255,255,.32);
  --cl-material-inner-shadow:rgba(5,5,5,.20);
  --cl-material-contact-shadow:0 34px 76px rgba(0,0,0,.26);
  --cl-material-light-opacity:.42;
  --cl-material-depth:0px;
  --cl-footer-reveal-depth:clamp(340px,38svh,440px);
  --cl-footer-reveal-tuck:clamp(52px,10svh,120px);
  --cl-footer-light-field:linear-gradient(180deg,#ffffff 0%,#fafafa 48%,#f1f1f1 100%);
  --cl-footer-light-sheen:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.20) 28%,transparent 62%);
}

*{box-sizing:border-box}

.ui-divider,
.blog-post__divider{
  --token-b03e3eb5-0157-442a-b34c-2b15e482ece4:#0006;
  --border-top-width:3px;
  --border-right-width:3px;
  --border-left-width:3px;
  --border-bottom-width:3px;
  --border-color:#0006;
  --border-style:dotted;
  position:relative;
  display:block;
  flex:none;
  width:100%;
  height:2px;
  overflow:hidden;
  border:0;
  border-radius:8px;
  background:none;
  opacity:.25;
  will-change:transform;
  transform:none;
}

.ui-divider[data-border="true"]:after,
.blog-post__divider:after{
  content:"";
  border-width:3px;
  border-color:#0006;
  border-style:dotted;
  box-sizing:border-box;
  border-radius:inherit;
  pointer-events:none;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
}

html{
  min-height:100%;
  overflow-x:clip;
  scroll-behavior:smooth;
  scrollbar-color:rgba(17,17,17,.42) var(--cl-bg);
  scrollbar-width:thin;
  background:var(--cl-bg);
}

body{
  position:relative;
  min-height:100vh;
  margin:0;
  overflow-x:clip;
  color:var(--cl-ink);
  background:var(--cl-bg);
  font-family:var(--cl-font-primary);
  font-size:var(--cl-body-size);
  line-height:1.62;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

body,
button,
input,
textarea,
select{
  font-weight:400;
}

strong,
b{
  font-weight:400;
}

th,
h1,
h2,
h3,
h4,
h5,
h6{
  font-weight:500;
}

a{color:inherit;text-decoration:none}
img,svg,canvas{display:block;max-width:100%}
h1,h2,h3,h4,h5,h6,p{margin-top:0}
p{margin-bottom:0}

::-webkit-scrollbar{
  width:10px;
  height:10px;
}

::-webkit-scrollbar-track{background:var(--cl-bg)}

::-webkit-scrollbar-thumb{
  border:3px solid var(--cl-bg);
  border-radius:var(--cl-radius-pill);
  background:rgba(17,17,17,.42);
  background-clip:padding-box;
}

::-webkit-scrollbar-thumb:hover{
  background:rgba(17,17,17,.58);
  background-clip:padding-box;
}

::selection{
  color:var(--cl-deep-ink);
  background:var(--cl-accent-tint);
}

.skip-link{
  position:fixed;
  top:16px;
  left:16px;
  z-index:60;
  min-height:44px;
  padding:10px 14px;
  border:1px solid var(--cl-ink);
  border-radius:var(--cl-radius-sm);
  color:var(--cl-bg);
  background:var(--cl-ink);
  font-size:var(--cl-body-size);
  font-weight:400;
  transform:translateY(-160%);
  transition:transform var(--cl-motion-base) var(--cl-ease);
}

.site-backdrop{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    var(--cl-light-bar-field),
    linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(247,247,247,.98) 38%,rgba(241,241,241,.92) 100%),
    repeating-linear-gradient(90deg,rgba(0,0,0,.035) 0 1px,transparent 1px 96px),
    repeating-linear-gradient(180deg,rgba(0,0,0,.028) 0 1px,transparent 1px 96px);
}

.page-shell{
  position:relative;
  z-index:1;
  isolation:isolate;
  width:100%;
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
}

.page-shell--home{
  width:100%;
}

.page-shell--home > main{
  overflow-x:clip;
}

/* Legacy selectors stay paired with the ui-* API for CMS-preserved public HTML. */
.site-header,
.ui-site-header{
  position:fixed;
  top:0;
  left:0;
  z-index:30;
  --border-top-width:0;
  --border-right-width:0;
  --border-bottom-width:1px;
  --border-left-width:0;
  --border-color:rgba(17,17,17,.08);
  --border-style:solid;
  display:block;
  width:100%;
  min-height:64px;
  margin:0;
  padding:9px 0;
  border:0;
  border-radius:0;
  background-color:rgba(245,245,245,.72);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.76),inset 0 -1px 0 rgba(17,17,17,.05),0 14px 34px -26px rgba(0,0,0,.32);
  opacity:1;
  backdrop-filter:blur(16px) saturate(115%);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
}

.ui-site-header__material{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
}

.ui-site-header__reflection{
  position:absolute;
  top:-36%;
  bottom:-36%;
  left:-18%;
  display:block;
  width:38%;
  border-radius:50%;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.68) 42%,rgba(17,17,17,.08) 72%,rgba(255,255,255,0) 100%);
  filter:blur(16px);
  opacity:.18;
  transform:translate3d(128%,0,0) skewX(-18deg);
  will-change:auto;
}

@media (min-width:681px) and (hover:hover) and (pointer:fine){
  html.motion-runtime--ready .ui-site-header__reflection{
    will-change:transform,opacity;
  }
}

.site-header + main,
.site-header + script + main{
  padding-top:64px;
}

.page-shell > main{
  position:relative;
  z-index:2;
  min-height:100svh;
  background:var(--cl-bg);
  border-bottom-right-radius:clamp(24px,4vw,48px);
  border-bottom-left-radius:clamp(24px,4vw,48px);
  box-shadow:var(--cl-shadow-overlay);
}

.page-shell--home > main:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-bottom-right-radius:inherit;
  border-bottom-left-radius:inherit;
  background:var(--cl-light-bar-field);
}

.site-header[data-border="true"]:after,
.ui-site-header[data-border="true"]:after{
  content:"";
  border-width:var(--border-top-width,0) var(--border-right-width,0) var(--border-bottom-width,0) var(--border-left-width,0);
  border-color:var(--border-color,none);
  border-style:var(--border-style,none);
  box-sizing:border-box;
  border-radius:inherit;
  corner-shape:inherit;
  pointer-events:none;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
}

.site-header__inner,
.ui-site-header__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(112px,1fr) auto minmax(112px,1fr);
  align-items:center;
  width:min(1350px,calc(100vw - 40px));
  min-height:42px;
  margin:0 auto;
  gap:12px;
}

.brand{
  display:inline-flex;
  align-items:center;
  align-self:center;
  justify-self:start;
  gap:0;
  width:max-content;
  min-height:36px;
  min-width:0;
}

.brand-wordmark{
  --wordmark-size:29px;
  display:inline-flex;
  align-items:center;
  gap:0;
  color:var(--cl-ink);
  font-size:var(--wordmark-size);
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  white-space:nowrap;
}

.brand.brand-wordmark{
  height:36px;
  font-size:0;
  line-height:0;
}

.site-header .brand,
.ui-site-header__brand{
  min-height:31px;
}

.site-header .brand.brand-wordmark,
.ui-site-header__brand.brand-wordmark{
  height:31px;
}

.brand-wordmark__asset{
  width:auto;
  height:100%;
  max-width:none;
}

.brand-wordmark__croft{
  font-family:var(--cl-font-serif);
  font-size:1em;
  font-weight:400;
  font-style:italic;
  line-height:.92;
}

.brand-wordmark__lab{
  font-family:var(--cl-font-primary);
  font-size:.91em;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  margin-left:.012em;
}

.direct-links,
.ui-site-header__nav{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--cl-text-muted);
  font-size:13px;
  font-weight:400;
}

.header-links{
  justify-content:center;
  flex:0 0 auto;
  flex-wrap:nowrap;
  justify-self:center;
}

.ui-site-header__nav{
  justify-content:center;
  flex:0 0 auto;
  flex-wrap:nowrap;
  justify-self:center;
}

.nav-cluster,
.ui-site-header__nav-list{
  display:flex;
  align-items:center;
  gap:2px;
  min-height:34px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.direct-link,
.ui-site-header__nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid transparent;
  border-radius:var(--cl-ui-button-radius);
  color:var(--cl-ink);
  line-height:1.5;
  text-decoration:none;
  transition:border-color var(--cl-motion-base) var(--cl-ui-button-ease),background-color var(--cl-motion-base) var(--cl-ui-button-ease),box-shadow var(--cl-motion-base) var(--cl-ui-button-ease),color var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-base) var(--cl-ui-button-ease);
}

.header-links .direct-link,
.ui-site-header__nav-link{
  border-radius:var(--cl-ui-nav-item-radius);
  box-shadow:var(--cl-ui-nav-item-shadow);
  opacity:1;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
  will-change:auto;
}

.direct-link > span:not(.direct-link__zalo),
.ui-site-header__nav-link > span{
  display:grid;
  grid-template-areas:"label";
  align-items:center;
}

.direct-link > span:not(.direct-link__zalo)::after,
.ui-site-header__nav-link > span::after{
  content:attr(data-label);
  grid-area:label;
  height:0;
  overflow:hidden;
  visibility:hidden;
  font-weight:400;
  white-space:nowrap;
}

.direct-link > span:not(.direct-link__zalo) > *,
.direct-link > span:not(.direct-link__zalo),
.ui-site-header__nav-link > span{
  grid-area:label;
}

.header-links .direct-link:hover,
.ui-site-header__nav-link:hover{
  box-shadow:var(--cl-ui-nav-item-shadow-hover);
}

.site-header__cta{
  justify-self:end;
  min-height:40px;
  padding:9px 16px;
  border-radius:var(--cl-radius-pill);
  line-height:1.6;
  white-space:nowrap;
}

.ui-button.ui-site-header__cta{
  justify-self:end;
  white-space:nowrap;
}

.site-header__cta--primary,
.direct-link--zalo{
  border:0;
  color:var(--cl-white);
  background:#000000;
  box-shadow:var(--cl-ui-button-primary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.site-header__cta--primary:hover,
.direct-link--zalo:hover{
  box-shadow:var(--cl-ui-button-primary-shadow-hover);
}

.site-header__cta--secondary{
  border:1px solid var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.site-header__cta--secondary:hover{
  border-color:var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow-hover);
  transform:none;
}

.site-header__cta--tertiary{
  border:1px solid rgba(17,17,17,.12);
  border-radius:var(--cl-radius-pill);
  color:#000000;
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.site-header__cta--tertiary:hover{
  border-color:rgba(17,17,17,.18);
  color:#000000;
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow-hover);
}

.site-header__mobile-actions{
  display:none;
}

.ui-mobile-header{
  position:relative;
  display:none;
}

.ui-mobile-header__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:52px;
  padding:6px 8px 6px 14px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  color:var(--cl-ink);
  background:#F5F5F5;
  box-shadow:var(--cl-ui-header-mobile-shadow);
}

.ui-mobile-header__wordmark{
  min-height:27px;
}

.ui-mobile-header__wordmark.brand-wordmark{
  height:27px;
}

.ui-mobile-header__actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.mobile-nav__quick-cta,
.ui-mobile-header__quick-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:6px 4px;
  border:0;
  border-radius:0;
  color:#000000;
  background:transparent;
  box-shadow:none;
  font-size:12px;
  line-height:1.4;
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--cl-motion-base) var(--cl-ui-button-ease),text-decoration-color var(--cl-motion-base) var(--cl-ui-button-ease);
}

.mobile-nav__quick-cta:hover,
.ui-mobile-header__quick-cta:hover{
  color:#000000;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.direct-link__zalo{
  width:28px;
  height:10px;
  flex:0 0 28px;
  background:currentColor;
  opacity:.95;
  -webkit-mask:url("/brand/zalo-wordmark-mono.svg") center / contain no-repeat;
  mask:url("/brand/zalo-wordmark-mono.svg") center / contain no-repeat;
}

.mobile-nav,
.ui-mobile-header__menu{
  z-index:2;
  isolation:isolate;
  display:none;
}

.mobile-nav::before,
.ui-mobile-header__menu::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  visibility:hidden;
  opacity:0;
  pointer-events:auto;
  background:var(--cl-mobile-menu-backdrop);
  transition:opacity var(--cl-motion-quick) var(--cl-ui-button-ease),visibility 0s linear var(--cl-motion-quick);
}

.mobile-nav[open]::before,
.ui-mobile-header__menu[open]::before{
  visibility:visible;
  opacity:1;
  transition:opacity var(--cl-motion-quick) var(--cl-ui-button-ease),visibility 0s;
}

.mobile-nav summary,
.ui-mobile-header__menu summary{
  list-style:none;
}

.mobile-nav summary::-webkit-details-marker,
.ui-mobile-header__menu summary::-webkit-details-marker{
  display:none;
}

.mobile-nav__toggle,
.ui-mobile-header__hamburger{
  position:relative;
  display:block;
  width:38px;
  height:38px;
  flex:0 0 38px;
  padding:0;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-ui-button-radius);
  color:var(--cl-ink);
  background:#ffffff;
  cursor:pointer;
  transform:translate(1px,1px);
}

.mobile-nav__toggle span,
.ui-mobile-header__hamburger span{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  width:15px;
  height:1px;
  border-radius:var(--cl-radius-pill);
  background:currentColor;
  transform-origin:center;
  transition:opacity var(--cl-motion-quick) var(--cl-ui-button-ease),transform var(--cl-motion-quick) var(--cl-ui-button-ease);
}

.mobile-nav__toggle span:nth-child(1),
.ui-mobile-header__hamburger span:nth-child(1){
  transform:translate(-50%,calc(-50% - 5px));
}

.mobile-nav__toggle span:nth-child(2),
.ui-mobile-header__hamburger span:nth-child(2){
  transform:translate(-50%,-50%);
}

.mobile-nav__toggle span:nth-child(3),
.ui-mobile-header__hamburger span:nth-child(3){
  transform:translate(-50%,calc(-50% + 5px));
}

.mobile-nav[open] .mobile-nav__toggle span:nth-child(1),
.ui-mobile-header__menu[open] .ui-mobile-header__hamburger span:nth-child(1){
  transform:translate(-50%,-50%) rotate(45deg);
}

.mobile-nav[open] .mobile-nav__toggle span:nth-child(2),
.ui-mobile-header__menu[open] .ui-mobile-header__hamburger span:nth-child(2){
  opacity:0;
  transform:translate(-50%,-50%) scaleX(.45);
}

.mobile-nav[open] .mobile-nav__toggle span:nth-child(3),
.ui-mobile-header__menu[open] .ui-mobile-header__hamburger span:nth-child(3){
  transform:translate(-50%,-50%) rotate(-45deg);
}

.mobile-nav__panel,
.ui-mobile-header__panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  left:0;
  z-index:1;
  display:none;
  gap:0;
  padding:0;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-ui-button-radius);
  overflow:hidden;
  background:#ffffff;
  box-shadow:none;
}

.mobile-nav[open] .mobile-nav__panel,
.ui-mobile-header__menu[open] .ui-mobile-header__panel{
  display:grid;
}

.mobile-nav__links{
  display:grid;
  gap:0;
}

.mobile-nav__link,
.ui-mobile-header__link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:44px;
  padding:12px 14px;
  border-bottom:1px solid var(--cl-pill-border);
  border-radius:0;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.4;
  text-decoration:none;
}

.mobile-nav__link:last-child,
.ui-mobile-header__link:last-child{
  border-bottom:0;
}

.mobile-nav__link:hover,
.ui-mobile-header__link:hover{
  background:#F5F5F5;
}

.mobile-nav__link--cta,
.ui-mobile-header__cta{
  justify-content:flex-start;
  margin-top:0;
  color:var(--cl-white);
  background:#000000;
  font-size:14px;
  font-weight:400;
}

.mobile-nav__link--cta:hover,
.ui-mobile-header__cta:hover,
.mobile-nav__link--cta-primary{
  color:var(--cl-white);
  background:#000000;
  box-shadow:none;
}

.mobile-nav__link--cta-primary:hover{
  color:var(--cl-white);
  background:#000000;
}

.mobile-nav__link--cta-secondary{
  border:1px solid var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.mobile-nav__link--cta-secondary:hover{
  border-color:var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow-hover);
  transform:none;
}

.mobile-nav__link--cta-tertiary{
  border:1px solid rgba(17,17,17,.12);
  color:#000000;
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.mobile-nav__link--cta-tertiary:hover{
  border-color:rgba(17,17,17,.18);
  color:#000000;
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow-hover);
}

.mobile-nav__panel .mobile-nav__link--cta,
.mobile-nav__panel .mobile-nav__link--cta:hover,
.ui-mobile-header__panel .ui-mobile-header__cta,
.ui-mobile-header__panel .ui-mobile-header__cta:hover{
  border-color:transparent;
  color:var(--cl-white);
  background:#000000;
  box-shadow:none;
}

.eyebrow,
.kicker,
.blog-kicker,
.blog-feed__eyebrow,
.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  min-height:30px;
  margin:0 0 14px;
  padding:6px 12px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-pill-bg);
  box-shadow:var(--cl-pill-shadow);
  font-size:11px;
  font-weight:400;
  line-height:16px;
  letter-spacing:0;
  text-transform:none;
}

h1{
  margin:0 0 24px;
  color:var(--cl-ink);
  font-size:var(--cl-heading-h1-size);
  font-weight:500;
  line-height:1.03;
  letter-spacing:0;
}

h2,
.section-head h2,
.blog-hero h1,
.policy-hero h1,
.blog-post__header h1{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-heading-h2-size);
  font-weight:500;
  line-height:1.12;
  letter-spacing:0;
}

h3,
h4,
h5,
h6{
  margin:0;
  color:var(--cl-ink);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
  letter-spacing:0;
}

h3{font-size:var(--cl-heading-h3-size)}
h4{font-size:var(--cl-heading-h4-size)}
h5{font-size:var(--cl-heading-h5-size)}
h6{font-size:var(--cl-heading-h6-size)}

.headline-accent{
  color:#111111;
  font-family:var(--cl-font-serif);
  font-style:italic;
  letter-spacing:0;
}

.lead{
  max-width:720px;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.7;
}

.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:46.4px;
  max-width:100%;
  padding:12px 24px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  font:inherit;
  font-size:14px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:0;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:var(--cl-ui-raised-light-shadow);
  overflow:hidden;
  transition:background-color var(--cl-motion-base) var(--cl-ui-button-ease),border-color var(--cl-motion-base) var(--cl-ui-button-ease),box-shadow var(--cl-motion-base) var(--cl-ui-button-ease),color var(--cl-motion-base) var(--cl-ui-button-ease),opacity var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-base) var(--cl-ui-button-ease);
}

.btn:not(.primary):hover{transform:none}

.btn.primary{
  color:var(--cl-white);
  background:#000000;
  box-shadow:var(--cl-ui-button-primary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.btn.primary:hover{
  box-shadow:var(--cl-ui-button-primary-shadow-hover);
}

.btn.secondary{
  border:1px solid var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow);
}

.btn.secondary:hover{
  border-color:var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow-hover);
  transform:none;
}

.btn[disabled],
.btn[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.58;
  transform:none;
}

.btn--light{
  border:1px solid var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow);
}

.btn.btn--light:hover{
  border-color:var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow-hover);
  transform:none;
}

.btn--dark{
  border:1px solid rgba(255,255,255,.24);
  color:var(--cl-white);
  background:rgba(255,255,255,.08);
  box-shadow:var(--cl-ui-button-tertiary-shadow);
}

.btn--dark:hover{
  border-color:rgba(255,255,255,.42);
  color:var(--cl-white);
  background:rgba(255,255,255,.14);
  box-shadow:var(--cl-ui-button-tertiary-shadow-hover);
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}

.text-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:44px;
  color:var(--cl-accent-deep);
  font-size:13px;
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:4px;
}

.maintenance-layout{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
  min-height:calc(100svh - 112px);
  margin:42px 0 62px;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.status-panel,
.home-showcase{
  position:relative;
  min-width:0;
}

.status-panel{
  z-index:1;
  grid-column:1;
  display:grid;
  gap:34px;
  align-content:start;
  min-height:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  color:var(--cl-ink);
  background:none;
  box-shadow:none;
}

.status-panel:before{
  display:none;
}

.status-panel:after{
  display:none;
}

.status-panel > *{
  position:relative;
  z-index:1;
}

.status-panel__copy{
  align-self:start;
  display:grid;
  gap:0;
  max-width:860px;
  padding-top:0;
}

.home-showcase{
  z-index:1;
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(480px,.9fr);
  gap:64px;
  align-content:start;
  justify-self:stretch;
  width:100%;
  max-width:100%;
}

#contact{
  scroll-margin-top:96px;
}

[data-contact-block]{
  display:grid;
  align-self:start;
  justify-self:end;
  gap:16px;
  width:100%;
  max-width:480px;
  min-width:0;
}

[data-contact-block] > h2{
  margin:0;
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
  letter-spacing:0;
  text-wrap:balance;
}

.status-panel h1{
  max-width:860px;
  color:var(--cl-ink);
  font-size:74px;
  font-weight:500;
  line-height:1.04;
  letter-spacing:0;
}

.interactive-material{
  --mx:50%;
  --my:50%;
  --rx:0deg;
  --ry:0deg;
  --fgx:0px;
  --fgy:0px;
  --bgx:0px;
  --bgy:0px;
  --depth:0px;
  --material-scale:1;
  --press-scale:var(--material-scale);
  --light-opacity:var(--cl-material-light-opacity);
  transform-style:preserve-3d;
  touch-action:manipulation;
}

.status-panel__visual{
  align-self:start;
  position:relative;
  width:100%;
  height:clamp(480px,47vw,590px);
  min-height:480px;
  overflow:hidden;
  isolation:isolate;
  contain:layout paint style;
  border:1px solid rgba(17,17,17,.10);
  border-radius:8px;
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.22),transparent 30%),
    linear-gradient(145deg,#050505 0%,#171717 50%,#2B2B2B 100%);
  box-shadow:
    0 34px 84px rgba(5,5,5,.20),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(var(--cl-glass-blur-md)) saturate(1.12);
  perspective:1000px;
}

.status-panel__visual:before,
.status-panel__visual:after{
  content:"";
  position:absolute;
  pointer-events:none;
}

.status-panel__visual:before{
  inset:-1px;
  z-index:5;
  border-radius:inherit;
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.62),rgba(255,255,255,.14) 18%,transparent 42%),
    linear-gradient(125deg,rgba(255,255,255,.24),transparent 28%,rgba(255,255,255,.10) 62%,transparent);
  opacity:var(--light-opacity);
  mix-blend-mode:screen;
  transition:opacity var(--cl-material-return-duration) var(--cl-material-ease);
}

.status-panel__visual:after{
  left:16%;
  right:16%;
  bottom:9%;
  z-index:1;
  height:24px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.32),rgba(0,0,0,.12) 42%,transparent 72%);
  filter:blur(10px);
  opacity:.74;
  transform:translate3d(0,0,-20px);
}

.material-scene__refraction{
  position:absolute;
  inset:-22% -18%;
  z-index:0;
  background:
    linear-gradient(112deg,rgba(255,255,255,.18),transparent 30%,rgba(0,0,0,.20) 54%,transparent 76%),
    radial-gradient(circle at 22% 26%,rgba(232,232,232,.34),transparent 28%),
    radial-gradient(circle at 78% 72%,rgba(0,0,0,.18),transparent 30%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.24) 0 2px,rgba(0,0,0,.18) 2px 4px,transparent 4px 18px),
    repeating-linear-gradient(0deg,rgba(232,232,232,.08) 0 1px,transparent 1px 48px);
  filter:saturate(1.08);
  opacity:.95;
  transform:translate3d(var(--bgx),var(--bgy),0);
  transition:transform var(--cl-material-return-duration) var(--cl-material-ease),opacity var(--cl-material-return-duration) var(--cl-material-ease);
}

.material-scene__panel{
  position:absolute;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--cl-radius-md);
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.material-scene__panel--a{
  left:12%;
  top:16%;
  width:42%;
  height:36%;
  transform:rotate(-8deg);
}

.material-scene__panel--b{
  right:8%;
  top:8%;
  width:34%;
  height:46%;
  opacity:.72;
  transform:rotate(8deg);
}

.material-scene__panel--c{
  left:26%;
  bottom:8%;
  width:48%;
  height:28%;
  opacity:.56;
  transform:rotate(3deg);
}

.material-scene__object{
  position:absolute;
  inset:18px;
  z-index:2;
  transform-style:preserve-3d;
  transform:
    rotateX(var(--rx))
    rotateY(var(--ry))
    translateZ(var(--depth))
    scale(var(--press-scale));
  transition:
    transform var(--cl-material-return-duration) var(--cl-material-ease),
    filter var(--cl-material-return-duration) var(--cl-material-ease);
  will-change:transform;
}

.material-scene__pane{
  position:absolute;
  pointer-events:none;
  transform-style:preserve-3d;
}

.material-scene__pane--back,
.material-scene__pane--front{
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--cl-radius-md);
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 48px rgba(0,0,0,.08);
  backdrop-filter:blur(8px) saturate(120%);
}

.material-scene__pane--back{
  inset:12% 22% 34% 2%;
  opacity:.66;
  transform:translate3d(var(--bgx),var(--bgy),-34px) rotate(-8deg);
}

.material-scene__pane--main{
  inset:14% 8% 12%;
  border:1px solid rgba(255,255,255,.58);
  border-radius:30px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.54),rgba(255,255,255,.18) 42%,rgba(0,0,0,.26)),
    var(--cl-glass-frosted);
  box-shadow:
    var(--cl-material-contact-shadow),
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 16px 18px 38px rgba(255,255,255,.14),
    inset -20px -26px 52px var(--cl-material-inner-shadow);
  backdrop-filter:var(--cl-blur-frosted);
  transform:translateZ(16px);
  overflow:hidden;
}

.material-scene__pane--main:before,
.material-scene__pane--main:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
}

.material-scene__pane--main:before{
  background:
    radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.70),rgba(255,255,255,.12) 24%,transparent 48%),
    linear-gradient(135deg,var(--cl-material-rim),transparent 20%,transparent 72%,var(--cl-material-rim-soft));
  opacity:calc(var(--light-opacity) + .18);
  mix-blend-mode:screen;
}

.material-scene__pane--main:after{
  inset:8px;
  border:1px solid rgba(255,255,255,.30);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.12),
    inset 0 24px 44px rgba(255,255,255,.10),
    inset 0 -30px 54px rgba(5,5,5,.18);
}

.material-scene__pane--front{
  inset:46% 3% 8% 34%;
  opacity:.78;
  transform:translate3d(var(--fgx),var(--fgy),44px) rotate(6deg);
}

.material-scene__foreground{
  position:absolute;
  inset:25% 17%;
  z-index:4;
  transform:translate3d(var(--fgx),var(--fgy),58px);
  transition:transform var(--cl-material-return-duration) var(--cl-material-ease);
  pointer-events:none;
}

.material-scene__rail,
.material-scene__focus{
  position:absolute;
  display:block;
}

.material-scene__rail{
  left:0;
  height:10px;
  border-radius:var(--cl-radius-pill);
  background:rgba(17,17,17,.20);
  box-shadow:0 1px 0 rgba(255,255,255,.28);
}

.material-scene__rail--wide{
  top:0;
  width:70%;
  background:rgba(5,5,5,.72);
}

.material-scene__rail--mid{
  top:38px;
  width:54%;
}

.material-scene__rail--short{
  top:68px;
  width:36%;
}

.material-scene__focus{
  right:4px;
  bottom:0;
  width:30px;
  height:30px;
  border-radius:7px;
  background:var(--cl-accent);
  box-shadow:
    0 14px 34px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.interactive-material.is-material-active .material-scene__object{
  filter:saturate(1.05);
}

.home-hero{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);
  gap:64px;
  align-items:center;
  min-height:calc(100vh - 112px);
  padding:82px 0 72px;
}

.home-hero__copy,
.home-hero__visual{
  min-width:0;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:24px;
  padding:7px 11px;
  border:1px solid rgba(0,0,0,.24);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-accent-deep);
  background:rgba(232,232,232,.72);
  font-size:13px;
  font-weight:400;
}

.status-pill:before{
  content:"";
  width:8px;
  height:8px;
  background:var(--cl-accent);
}

.virtual-stack{
  position:relative;
  transform-style:preserve-3d;
  perspective:1100px;
}

.hero-virtual-card{
  min-height:560px;
  overflow:hidden;
  border:1px solid var(--cl-glass-stroke);
  border-radius:var(--cl-radius-xl);
  background:
    linear-gradient(145deg,var(--cl-glass-surface-strong),rgba(232,232,232,.58)),
    linear-gradient(28deg,rgba(255,255,255,.92),rgba(255,255,255,0) 54%);
  box-shadow:var(--cl-shadow-glass),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(var(--cl-glass-blur-md)) saturate(1.15);
}

.hero-virtual-card:before,
.hero-virtual-card:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border:1px solid rgba(0,0,0,.18);
  border-radius:var(--cl-radius-lg);
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44);
}

.hero-virtual-card:before{
  inset:38px 54px 162px 78px;
  transform:rotateX(58deg) rotateZ(-26deg) translateZ(40px);
}

.hero-virtual-card:after{
  inset:132px 112px 76px 34px;
  opacity:.58;
  transform:rotateX(58deg) rotateZ(-26deg) translateZ(-40px);
}

.hero-diagnostic-note{
  position:absolute;
  left:28px;
  bottom:28px;
  z-index:3;
  display:grid;
  gap:4px;
  max-width:240px;
  padding:14px 16px;
  border:1px solid var(--cl-glass-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-glass-surface-strong);
  box-shadow:var(--cl-shadow-soft);
  backdrop-filter:blur(var(--cl-glass-blur-sm));
}

.hero-diagnostic-note span{
  color:var(--cl-text-soft);
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.hero-diagnostic-note strong{
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  font-weight:500;
  line-height:1.35;
}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.trust-strip li{
  min-height:76px;
  display:flex;
  align-items:center;
  padding:18px 20px;
  border-right:1px solid var(--cl-line);
  color:var(--cl-text-muted);
  background:rgba(255,255,255,.42);
  font-size:var(--cl-body-size);
  font-weight:400;
}

.trust-strip li:last-child{border-right:0}

.home-section,
.contact-section{
  padding:88px 0;
  border-bottom:1px solid var(--cl-line);
}

.section-head{
  display:grid;
  grid-template-columns:minmax(220px,360px) minmax(0,var(--cl-reading-width));
  gap:56px;
  align-items:start;
  margin-bottom:36px;
}

.section-head > p,
.diagnostic-copy p,
.proof-copy p,
.final-cta p{
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.7;
}

.problem-grid,
.process-grid,
.insight-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.problem-card,
.process-step,
.insight-card{
  position:relative;
  min-width:0;
  padding:24px;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
  box-shadow:var(--cl-ui-card-shadow);
}

.problem-card h3,
.process-step h3,
.insight-card h3,
.deliverable-list h3{
  margin:0 0 10px;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.problem-card p,
.process-step p,
.insight-card p,
.deliverable-list p{
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.62;
}

.card-index,
.process-step > span{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:22px;
  border:1px solid rgba(0,0,0,.22);
  border-radius:var(--cl-radius-sm);
  color:var(--cl-accent-deep);
  background:var(--cl-accent-tint);
  font-size:12px;
  font-weight:400;
}

.service-layout{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr);
  gap:18px;
  align-items:stretch;
}

.virtual-focus-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--cl-glass-stroke);
  border-radius:var(--cl-radius-lg);
  background:
    linear-gradient(145deg,var(--cl-glass-surface-strong),rgba(232,232,232,.50)),
    linear-gradient(26deg,rgba(255,255,255,.9),rgba(255,255,255,0) 54%);
  box-shadow:var(--cl-shadow-glass),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(var(--cl-glass-blur-md));
}

.virtual-focus-card:before{
  content:"";
  position:absolute;
  right:-34px;
  top:40px;
  width:58%;
  height:180px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:var(--cl-radius-lg);
  background:rgba(255,255,255,.26);
  transform:rotateX(58deg) rotateZ(-24deg);
  pointer-events:none;
}

.deliverable-panel{
  min-height:100%;
  padding:26px;
}

.deliverable-panel__header{
  position:relative;
  z-index:1;
  display:grid;
  gap:4px;
  margin-bottom:24px;
}

.deliverable-panel__header span{
  color:var(--cl-accent-deep);
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.deliverable-panel__header strong{
  color:var(--cl-ink);
  font-size:26px;
  font-weight:500;
  line-height:1.16;
}

.deliverable-list{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
}

.deliverable-list article{
  padding:18px;
  border:1px solid var(--cl-glass-border);
  border-radius:var(--cl-radius-md);
  background:rgba(255,255,255,.62);
}

.diagnostic-section{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);
  gap:56px;
  align-items:center;
}

.diagnostic-copy h2{
  margin-bottom:18px;
}

.diagnostic-frame{
  min-height:500px;
  overflow:hidden;
  border:1px solid var(--cl-glass-stroke);
  border-radius:var(--cl-radius-xl);
  background:
    linear-gradient(145deg,rgba(5,5,5,.96),rgba(17,17,17,.92)),
    linear-gradient(22deg,rgba(255,255,255,.12),rgba(255,255,255,0) 44%);
  box-shadow:var(--cl-shadow-virtual),inset 0 1px 0 rgba(255,255,255,.14);
}

.diagnostic-frame__grid{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg,rgba(232,232,232,.07) 0 1px,transparent 1px 74px),
    repeating-linear-gradient(180deg,rgba(232,232,232,.06) 0 1px,transparent 1px 74px);
  opacity:.72;
  pointer-events:none;
}

.diagnostic-card{
  position:absolute;
  width:min(76%,440px);
  padding:20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--cl-radius-lg);
  color:var(--cl-white);
  background:rgba(255,255,255,.12);
  box-shadow:0 24px 80px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(var(--cl-glass-blur-sm));
}

.diagnostic-card:nth-of-type(1){
  left:8%;
  top:10%;
  transform:rotateY(-15deg) rotateX(8deg) rotateZ(-3deg);
}

.diagnostic-card:nth-of-type(2){
  right:8%;
  top:34%;
  transform:translateZ(42px) rotateY(12deg) rotateX(8deg) rotateZ(2deg);
}

.diagnostic-card:nth-of-type(3){
  left:16%;
  bottom:10%;
  transform:translateZ(-36px) rotateY(-8deg) rotateX(6deg) rotateZ(4deg);
}

.diagnostic-card.is-selected{
  border-color:rgba(0,0,0,.78);
  background:rgba(0,0,0,.26);
}

.diagnostic-card span{
  display:block;
  margin-bottom:10px;
  color:#E8E8E8;
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.diagnostic-card h3{
  margin:0 0 8px;
  color:var(--cl-white);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.diagnostic-card p{
  color:rgba(247,247,247,.74);
  font-size:var(--cl-body-size);
  line-height:1.58;
}

.process-step:nth-child(2){
  border-color:var(--cl-glass-border);
  background:var(--cl-glass-surface);
  box-shadow:var(--cl-shadow-soft);
  backdrop-filter:blur(var(--cl-glass-blur-sm));
}

.proof-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1fr);
  gap:56px;
  align-items:center;
}

.proof-copy h2{
  margin-bottom:18px;
}

.proof-frame{
  min-height:360px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:end;
  overflow:hidden;
  padding:28px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--cl-radius-xl);
  color:var(--cl-white);
  background:var(--cl-deep-ink);
  box-shadow:var(--cl-shadow-virtual);
}

.proof-frame:before,
.proof-frame:after{
  content:"";
  position:absolute;
  pointer-events:none;
  border:1px solid rgba(232,232,232,.12);
  border-radius:var(--cl-radius-lg);
  background:rgba(255,255,255,.05);
}

.proof-frame:before{
  inset:36px 96px 132px 42px;
  transform:rotateX(58deg) rotateZ(-28deg);
}

.proof-frame:after{
  inset:116px 42px 52px 132px;
  transform:rotateX(58deg) rotateZ(-28deg) translateZ(42px);
}

.proof-metric{
  position:relative;
  z-index:1;
  min-height:124px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--cl-radius-md);
  background:rgba(255,255,255,.08);
}

.proof-metric span{
  color:rgba(247,247,247,.62);
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.proof-metric strong{
  color:var(--cl-white);
  font-size:22px;
  font-weight:500;
  line-height:1.18;
}

.proof-focus{
  position:absolute;
  right:42px;
  top:42px;
  width:34px;
  height:34px;
  background:var(--cl-accent);
}

.insight-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.insight-card h3{
  margin:0;
}

.insight-card h3 a{
  text-decoration:none;
}

.insight-card h3 a:hover{
  color:var(--cl-accent-deep);
}

.final-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:center;
  padding:42px;
  margin:88px 0 0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--cl-radius-xl);
  color:var(--cl-white);
  background:var(--cl-deep-ink);
  box-shadow:var(--cl-shadow-virtual);
}

.final-cta h2{
  max-width:820px;
  margin:0 0 16px;
  color:var(--cl-white);
}

.final-cta .kicker{
  color:#E8E8E8;
}

.final-cta p{
  max-width:760px;
  color:rgba(247,247,247,.72);
}

.final-cta .hero-actions{
  margin-top:0;
  justify-content:flex-end;
}

.contact-section{
  display:grid;
  grid-template-columns:minmax(260px,420px) minmax(0,1fr);
  gap:64px;
  align-items:start;
  border-bottom:1px solid var(--cl-line);
}

label{
  display:grid;
  gap:8px;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}

input,
textarea,
select{
  width:100%;
  min-height:50px;
  border:0;
  border-bottom:1px solid var(--cl-border);
  border-radius:0;
  color:var(--cl-ink);
  background:transparent;
  font:inherit;
  font-size:var(--cl-body-size);
  font-weight:400;
  line-height:1.5;
  transition:border-color var(--cl-motion-quick) var(--cl-ease),box-shadow var(--cl-motion-quick) var(--cl-ease),background var(--cl-motion-quick) var(--cl-ease);
}

input{padding:0}

textarea{
  min-height:100px;
  resize:vertical;
  padding:13px 0;
}

input::placeholder,
textarea::placeholder{
  color:rgba(17,17,17,.52);
  font-weight:400;
}

input:hover,
textarea:hover{
  border-color:var(--cl-line-strong);
}

input.is-invalid,
textarea.is-invalid{
  border-color:var(--cl-error);
  background:transparent;
}

input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  width:var(--cl-ui-checkbox-size);
  height:var(--cl-ui-checkbox-size);
  min-height:0;
  flex:0 0 var(--cl-ui-checkbox-size);
  margin:1px 0 0;
  padding:0;
  border:0;
  border-radius:var(--cl-ui-checkbox-radius);
  background-color:var(--cl-ui-field-bg,transparent);
  background-position:center;
  background-repeat:no-repeat;
  background-size:12px 10px;
  accent-color:#000000;
  box-shadow:var(--cl-ui-checkbox-shadow);
  cursor:pointer;
  transition:none;
}

@media (hover:hover) and (pointer:fine){
  input[type="checkbox"]:not(:disabled):not(.is-invalid):not([aria-invalid="true"]):hover{
    box-shadow:var(--cl-ui-checkbox-shadow-hover);
  }
}

input[type="checkbox"]:checked{
  background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 10%22><path d=%22M1.5 5.2 4.6 8.1 10.5 1.6%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/></svg>");
}

input[type="checkbox"].is-invalid,
input[type="checkbox"][aria-invalid="true"]{
  box-shadow:0 0 0 3px rgba(0,0,0,.12),var(--cl-ui-checkbox-shadow);
}

input[type="checkbox"]:disabled{
  background-color:var(--cl-ui-checkbox-bg-disabled);
  box-shadow:none;
  cursor:not-allowed;
  opacity:.52;
}

@media (forced-colors:active){
  input[type="checkbox"]{
    -webkit-appearance:auto;
    appearance:auto;
    background-image:none;
    box-shadow:none;
  }
}

.site-footer{
  position:sticky;
  bottom:0;
  z-index:1;
  display:grid;
  width:min(var(--cl-frame-container),calc(100vw - var(--cl-frame-gutter)));
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  grid-template-rows:minmax(0,1fr) auto;
  gap:48px;
  align-items:start;
  align-content:stretch;
  min-height:var(--cl-footer-reveal-depth);
  margin:calc(var(--cl-footer-reveal-tuck) * -1) auto 0;
  padding:calc(44px + var(--cl-footer-reveal-tuck)) 22px 48px;
  border:0;
  border-radius:var(--cl-radius-lg) var(--cl-radius-lg) 0 0;
  color:var(--cl-text-muted);
  background:transparent;
  font-size:var(--cl-body-size);
}

.footer-brand{
  display:grid;
  grid-column:1;
  grid-row:1;
  gap:20px;
  align-self:start;
}

.footer-brand .brand-wordmark{
  justify-self:start;
  margin-left:-6px;
}

.footer-company{
  max-width:680px;
}

.footer-company p{
  margin:0;
  line-height:1.65;
}

.footer-panels{
  display:grid;
  grid-column:2;
  grid-row:1 / 3;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-content:start;
  align-self:center;
}

.footer-column{
  display:grid;
  align-content:start;
  gap:10px;
}

.footer-heading{
  color:var(--cl-accent-deep);
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
}

.footer-contact,
.footer-social{
  display:grid;
  gap:0;
  font-style:normal;
  border:0;
}

.footer-contact-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:48px;
  padding:9px 0;
  border-bottom:1px solid var(--cl-line);
  border-radius:0;
  background:transparent;
  transition:color var(--cl-motion-quick) var(--cl-ease),background var(--cl-motion-quick) var(--cl-ease),padding var(--cl-motion-quick) var(--cl-ease);
}

.footer-contact-row:hover{
  color:var(--cl-ink);
  background:linear-gradient(90deg,rgba(232,232,232,.44),transparent 74%);
  padding-left:6px;
}

.footer-contact-row__icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-accent-deep);
  background:var(--cl-accent-tint);
}

.footer-contact-row__icon svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-zalo-mark{
  font-size:11px;
  font-weight:400;
}

.footer-contact-row span span{
  display:block;
  color:var(--cl-text-soft);
  font-size:11px;
  line-height:1.3;
}

.footer-contact-row strong{
  display:block;
  min-width:0;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.footer-meta{
  grid-column:1;
  grid-row:2;
  align-self:end;
  margin:0;
  padding-top:20px;
  border-top:1px solid var(--cl-line);
  color:var(--cl-text-soft);
  font-size:13px;
}

.blog-index,
.blog-post-page,
.policy-main{
  padding:72px 0 240px;
}

.blog-hero,
.policy-hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:42px;
  align-items:center;
  min-height:300px;
  padding:38px;
  overflow:hidden;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-lg);
  background:var(--cl-white);
  box-shadow:var(--cl-ui-card-shadow);
}

.blog-hero--index{
  position:relative;
  grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);
  gap:64px;
  align-items:start;
  min-height:0;
  padding:96px 0 88px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.blog-hero--index .blog-hero__copy{
  align-self:start;
  display:grid;
  gap:18px;
  padding:0;
  border-right:0;
}

.blog-hero p:not(.blog-kicker),
.policy-hero__summary p{
  margin:0;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.68;
}

.blog-hero__visual{
  position:relative;
  min-height:260px;
  background:
    linear-gradient(145deg,var(--cl-glass-surface-strong),rgba(232,232,232,.56)),
    repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 1px,transparent 1px 58px),
    repeating-linear-gradient(180deg,rgba(0,0,0,.05) 0 1px,transparent 1px 58px);
}

.blog-topic-rail{
  display:grid;
  gap:0;
  align-self:start;
}

.blog-topic-rail a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  min-height:74px;
  padding:14px 0;
  border-bottom:1px solid var(--cl-line);
  color:var(--cl-ink);
}

.blog-topic-rail a:first-child{
  border-top:1px solid var(--cl-line);
}

.blog-topic-rail strong{
  min-width:0;
  font-size:62px;
  font-weight:500;
  line-height:1.04;
}

.blog-topic-rail strong:after{
  content:" ->";
  color:var(--cl-accent);
  font-weight:400;
}

.blog-topic-rail span{
  color:var(--cl-text-soft);
  font-size:13px;
  font-weight:400;
  white-space:nowrap;
}

.blog-topic-rail a:hover strong{
  color:var(--cl-accent-deep);
}

.virtual-brief{
  position:absolute;
  right:4%;
  top:18%;
  width:min(460px,88%);
  min-height:210px;
  border:1px solid var(--cl-glass-stroke);
  border-radius:var(--cl-radius-lg);
  background:var(--cl-glass-surface-strong);
  box-shadow:var(--cl-shadow-soft),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(var(--cl-glass-blur-sm));
  transform:rotateY(-12deg) rotateX(6deg) rotateZ(-2deg);
}

.virtual-brief--back{
  right:13%;
  top:7%;
  opacity:.48;
  transform:translateZ(-40px) rotateY(-16deg) rotateX(7deg) rotateZ(5deg);
}

.virtual-brief__rail,
.virtual-brief__line,
.virtual-brief__focus{
  position:absolute;
  display:block;
  border-radius:var(--cl-radius-pill);
}

.virtual-brief__rail{
  left:34px;
  top:34px;
  width:58%;
  height:16px;
  background:var(--cl-ink);
}

.virtual-brief__line{
  left:34px;
  top:88px;
  width:48%;
  height:10px;
  background:rgba(17,17,17,.20);
}

.virtual-brief__line--long{
  top:118px;
  width:70%;
}

.virtual-brief__focus{
  right:42px;
  bottom:38px;
  width:34px;
  height:34px;
  border-radius:4px;
  background:var(--cl-accent);
}

.blog-feed{
  margin-top:72px;
}

.blog-featured-strip{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:48px;
  align-items:stretch;
  padding:34px 0;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.blog-featured-strip__head h2{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.blog-featured-strip__list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}

.blog-featured-strip__list article{
  min-height:148px;
  padding:0 22px;
  border-left:1px solid var(--cl-line);
}

.blog-featured-strip__list h3{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.blog-feed__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
  padding:0 4px 16px;
  border-bottom:1px solid var(--cl-line);
}

.blog-feed__eyebrow{
  margin:0 0 6px;
  color:var(--cl-accent-deep);
  font-size:12px;
  font-weight:400;
  line-height:1.35;
  text-transform:uppercase;
}

.blog-feed__header h2{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.blog-feed__header > span{
  flex:0 0 auto;
  color:var(--cl-text-soft);
  font-size:13px;
  font-weight:400;
}

.blog-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding-top:0;
}

.blog-library{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.blog-filter-panel{
  position:sticky;
  top:104px;
  display:grid;
  gap:0;
  min-width:0;
  padding:18px;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
}

.blog-filter-panel strong{
  display:block;
  margin-bottom:10px;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:500;
  text-transform:uppercase;
}

.blog-filter-panel a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  border-top:1px solid var(--cl-line);
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  font-weight:500;
}

.blog-filter-panel a:hover{
  color:var(--cl-accent-deep);
}

.blog-filter-panel em{
  font-style:normal;
  color:var(--cl-text-soft);
  font-size:12px;
}

.blog-list--single-secondary .blog-card:not(.blog-card--featured){
  grid-column:1 / -1;
}

.blog-card,
.blog-empty{
  position:relative;
  overflow:hidden;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
  box-shadow:var(--cl-ui-card-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ease);
}

.blog-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:100%;
}

.blog-card--featured{
  grid-column:1 / -1;
  grid-template-columns:minmax(0,1fr);
  min-height:292px;
}

.blog-card__body{
  min-height:244px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
}

.blog-card--featured .blog-card__body{
  padding:40px;
}

.blog-card__number{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:26px;
  border:1px solid rgba(0,0,0,.20);
  border-radius:var(--cl-radius-sm);
  color:var(--cl-accent-deep);
  background:var(--cl-accent-tint);
  font-size:13px;
  font-weight:400;
  line-height:1;
}

.blog-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
  color:var(--cl-text-soft);
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  text-transform:uppercase;
}

.blog-card h3,
.blog-empty h2{
  margin:0 0 12px;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.blog-card--featured h3{
  max-width:680px;
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
}

.blog-card p,
.blog-empty p{
  margin:0;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.62;
}

.blog-card--featured p{
  max-width:680px;
  font-size:var(--cl-body-size);
}

.blog-card__object{
  display:none;
}

.blog-empty{
  margin-top:32px;
  padding:28px;
}

.blog-post{
  max-width:none;
  margin:0 auto;
}

.blog-post__masthead{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
  width:100%;
  max-width:var(--cl-reading-width);
  margin:0 auto;
  padding:76px 0 72px;
}

.blog-post__divider{
  width:min(100%,var(--cl-reading-width));
  margin:0 auto 60px;
}

.blog-post__hero-copy{
  width:100%;
  min-width:0;
}

.blog-post__header{
  width:100%;
  padding-bottom:0;
  border-bottom:0;
}

.blog-post__header .blog-kicker{
  margin-bottom:18px;
}

.blog-post__header h1{
  font-family:var(--cl-font-serif);
  font-size:64px;
  font-weight:500;
  line-height:1.2;
}

.blog-post__description{
  max-width:700px;
  margin:22px 0 -5px;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.58;
}

.blog-post__meta-panel{
  display:grid;
  gap:0;
  padding:18px;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
}

.blog-post__meta-panel div{
  display:grid;
  gap:5px;
  padding:14px 0;
  border-bottom:1px solid var(--cl-line);
}

.blog-post__meta-panel div:first-child{
  padding-top:0;
}

.blog-post__meta-panel div:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.blog-post__meta-panel span{
  color:var(--cl-text-soft);
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.blog-post__meta-panel strong{
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  font-weight:400;
  line-height:1.42;
}

.blog-post__body-shell{
  padding-top:0;
}

.blog-content{
  max-width:var(--cl-reading-width);
  margin:0 auto;
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.76;
}

.blog-content h1,
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content h5,
.blog-content h6{
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-style:normal;
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
  letter-spacing:0;
}

.blog-content h1{
  margin:56px 0 18px;
  font-size:var(--cl-heading-h1-size);
}

.blog-content h2{
  margin:48px 0 14px;
  font-size:var(--cl-heading-h2-size);
}

.blog-content h3{
  margin:34px 0 12px;
  font-size:var(--cl-heading-h3-size);
}

.blog-content h4{
  margin:28px 0 10px;
  font-size:var(--cl-heading-h4-size);
}

.blog-content h5{
  margin:24px 0 8px;
  font-size:var(--cl-heading-h5-size);
  line-height:1.22;
}

.blog-content h6{
  margin:22px 0 8px;
  font-size:var(--cl-heading-h6-size);
  line-height:1.28;
}

.blog-content h1:first-child,
.blog-content h2:first-child,
.blog-content h3:first-child,
.blog-content h4:first-child,
.blog-content h5:first-child,
.blog-content h6:first-child{
  margin-top:0;
}

.policy-section h2{
  margin:48px 0 14px;
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.policy-section h3{
  margin:30px 0 12px;
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.blog-content p,
.blog-content ul,
.blog-content ol,
.policy-section p,
.policy-section ul,
.policy-section ol{
  margin:0 0 20px;
  color:var(--cl-text-muted);
}

.blog-content ul,
.blog-content ol,
.policy-section ul,
.policy-section ol{
  padding-left:1.2em;
}

.blog-content li,
.policy-section li{
  margin:8px 0;
}

.blog-content a,
.policy-content a{
  color:var(--cl-accent-deep);
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:3px;
}

.blog-content blockquote{
  margin:34px 0;
  padding:4px 0 4px 22px;
  border-left:4px solid var(--cl-accent);
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.42;
  font-weight:400;
}

.blog-content hr{
  --token-b03e3eb5-0157-442a-b34c-2b15e482ece4:#0006;
  --border-top-width:3px;
  --border-right-width:3px;
  --border-left-width:3px;
  --border-bottom-width:3px;
  --border-color:#0006;
  --border-style:dotted;
  display:block;
  flex:none;
  width:100%;
  height:2px;
  overflow:hidden;
  margin:40px 0;
  border-width:3px;
  border-color:#0006;
  border-style:dotted;
  border-radius:8px;
  background:none;
  opacity:.25;
  will-change:transform;
  transform:none;
}

.blog-content table{
  width:100%;
  margin:28px 0;
  border-collapse:collapse;
  border:1px solid var(--cl-border);
  background:var(--cl-white);
}

.blog-content th,
.blog-content td{
  padding:13px 14px;
  border-bottom:1px solid var(--cl-line);
  text-align:left;
  vertical-align:top;
}

.blog-content th{
  color:var(--cl-text-soft);
  font-size:12px;
  font-weight:500;
  text-transform:uppercase;
}

.related-posts{
  max-width:1120px;
  margin:72px auto 0;
  padding-top:32px;
  border-top:1px solid var(--cl-line);
}

.related-posts__header{
  margin-bottom:18px;
}

.related-posts__header h2{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.related-posts__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.related-posts__footer{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.related-card{
  position:relative;
  padding:22px;
  overflow:hidden;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
  box-shadow:var(--cl-ui-card-shadow);
  cursor:pointer;
}

.related-card h3{
  max-width:560px;
  margin:0 0 8px;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  font-weight:500;
  line-height:var(--cl-content-title-line-height);
}

.related-card p{
  margin:0 0 16px;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.58;
}

.policy-hero{
  align-items:start;
  min-height:0;
  background:var(--cl-white);
}

.policy-hero__summary{
  display:grid;
  gap:24px;
}

.policy-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.policy-meta div{
  padding:16px;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-surface);
}

.policy-meta span{
  display:block;
  margin-bottom:4px;
  color:var(--cl-text-soft);
  font-size:12px;
  font-weight:400;
  text-transform:uppercase;
}

.policy-meta strong{
  display:block;
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.45;
}

.policy-layout{
  display:grid;
  grid-template-columns:240px minmax(0,var(--cl-legal-width));
  gap:56px;
  align-items:start;
  padding-top:40px;
}

.policy-toc{
  position:sticky;
  top:104px;
  display:grid;
  gap:10px;
  padding:18px;
  border:1px solid var(--cl-border);
  border-radius:var(--cl-radius-md);
  background:var(--cl-white);
}

.policy-toc strong{
  margin-bottom:4px;
  color:var(--cl-ink);
  font-weight:500;
}

.policy-content{
  min-width:0;
  max-width:var(--cl-legal-width);
  font-size:var(--cl-body-size);
  line-height:1.8;
}

.policy-section{
  padding-bottom:18px;
}

.policy-section[id]{
  scroll-margin-top:124px;
}

.policy-note{
  padding:16px;
  border-left:4px solid var(--cl-accent);
  background:var(--cl-accent-tint);
}

.policy-contact-band{
  margin-top:20px;
}

.policy-hero__kicker{
  margin:0 0 14px;
}

.error-main{
  display:grid;
  align-items:center;
  padding:72px 0 88px;
}

.error-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,380px);
  gap:56px;
  align-items:end;
  min-height:calc(100svh - 224px);
  padding:96px 0 72px;
  border-bottom:1px solid var(--cl-line);
}

.error-hero__copy{
  min-width:0;
  max-width:720px;
}

.error-hero__kicker{
  margin:0 0 14px;
}

.error-hero h1{
  max-width:760px;
  margin:0 0 24px;
  font-size:64px;
  line-height:1.04;
}

.error-hero__description{
  max-width:620px;
  margin:0;
  color:var(--cl-text-muted);
  font-size:var(--cl-body-size);
  line-height:1.72;
}

.error-actions{
  margin-top:32px;
}

.error-panel{
  gap:22px;
  padding:32px;
}

.error-panel__code{
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-size:112px;
  font-style:italic;
  font-weight:500;
  line-height:.88;
  letter-spacing:0;
}

.error-panel p{
  margin:0;
  color:var(--cl-text-muted);
  line-height:1.68;
}

.error-panel__links{
  display:grid;
  gap:0;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.error-panel__links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  color:var(--cl-ink);
  text-decoration:none;
}

.error-panel__links a + a{
  border-top:1px solid var(--cl-line);
}

.error-panel__links a:after{
  content:"->";
  margin-left:18px;
}

.error-panel__links a:hover{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.eyebrow,
.kicker,
.blog-kicker,
.blog-feed__eyebrow,
.status-pill,
.status-panel .status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:max-content;
  min-height:30px;
  margin:0 0 14px;
  padding:6px 12px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-pill-bg);
  box-shadow:var(--cl-pill-shadow);
  font-size:11px;
  font-weight:400;
  line-height:16px;
  letter-spacing:0;
  text-transform:none;
}

.status-pill:before{
  display:none;
}

.status-panel .status-pill:before{
  display:none;
}

.problem-card,
.process-step,
.insight-card,
.blog-hero:not(.blog-hero--index),
.blog-filter-panel,
.blog-card,
.blog-empty,
.blog-post__meta-panel,
.related-card,
.policy-meta div,
.policy-toc{
  border:0;
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg);
  box-shadow:var(--cl-ui-card-shadow);
}

.page-shell > main > *{
  width:min(var(--cl-container),calc(100% - var(--cl-page-gutter)));
  margin-inline:auto;
}

.page-shell--home > main > *{
  position:relative;
  z-index:1;
  width:min(var(--cl-home-container),calc(100% - var(--cl-page-gutter)));
}

.problem-card,
.process-step,
.insight-card,
.blog-filter-panel,
.blog-post__meta-panel,
.related-card,
.policy-toc{
  padding:var(--cl-ui-card-padding);
}

.blog-card__body{
  padding:var(--cl-ui-card-padding);
}

.blog-content ul,
.blog-content ol,
.policy-section ul,
.policy-section ol{
  padding-left:20px;
}

.blog-content li,
.policy-section li{
  padding-left:5px;
}

.policy-hero{
  align-items:end;
  padding:88px 0 56px;
  border:0;
  border-bottom:1px solid var(--cl-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.policy-hero__copy,
.policy-hero__summary{
  min-width:0;
}

.policy-hero__summary{
  gap:30px;
}

.policy-meta{
  gap:0;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.policy-meta div{
  padding:18px 18px 16px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.policy-meta div + div{
  padding-left:18px;
  border-left:1px solid var(--cl-line);
}

.policy-layout{
  padding-top:56px;
}

.policy-toc{
  gap:0;
  padding:0;
  border:0;
  border-top:1px solid var(--cl-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.policy-toc strong{
  margin:0;
  padding:16px 0;
  border-bottom:1px solid var(--cl-line);
}

.policy-note{
  border-left:1px solid var(--cl-accent);
  background:var(--cl-surface);
}

@keyframes spin{
  to{transform:rotate(360deg)}
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header,
  .ui-site-header,
  .btn.secondary,
  .status-panel,
  .status-panel__visual,
  .hero-virtual-card,
  .hero-diagnostic-note,
  .virtual-focus-card,
  .process-step:nth-child(2),
  .virtual-brief,
  .diagnostic-card{
    background:var(--cl-white);
    backdrop-filter:none;
  }

  .diagnostic-card{
    background:rgba(17,17,17,.94);
  }

  .material-scene__pane--back,
  .material-scene__pane--main,
  .material-scene__pane--front{
    backdrop-filter:none;
  }
}

@media (max-width:1320px){
  .maintenance-layout{
    grid-template-columns:1fr;
    gap:34px;
  }

  .home-showcase{
    grid-column:1 / -1;
    justify-self:stretch;
    max-width:100%;
  }
}

@media (max-width:1180px){
  .maintenance-layout,
  .home-hero,
  .service-layout,
  .diagnostic-section,
  .proof-layout,
  .contact-section,
  .blog-hero,
  .policy-hero,
  .policy-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

  .maintenance-layout{
    min-height:0;
    margin:36px 0 56px;
    padding:0;
    gap:28px;
  }

  .status-panel__copy{
    max-width:860px;
    padding-top:0;
  }

  .status-panel h1{
    font-size:64px;
  }

  .home-showcase{
    grid-column:1 / -1;
    justify-self:stretch;
    max-width:100%;
  }

  .status-panel__visual{
    min-height:420px;
    height:420px;
  }

  .home-hero{
    min-height:0;
    padding:64px 0 56px;
  }

  h1{font-size:58px}

  h2,
  .section-head h2,
  .blog-hero h1,
  .policy-hero h1,
  .blog-post__header h1{
    font-size:38px;
  }

  .hero-virtual-card{
    min-height:460px;
  }

  .policy-toc{
    position:static;
  }

  .blog-post__masthead{
    grid-template-columns:1fr;
    gap:34px;
    max-width:var(--cl-reading-width);
    padding:58px 0 54px;
  }

  .blog-post__header h1{
    font-size:52px;
  }

  .blog-post__meta-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 22px;
  }

  .blog-post__meta-panel div:nth-last-child(2){
    border-bottom:0;
  }

  .blog-featured-strip{
    grid-template-columns:1fr;
    gap:22px;
  }

  .blog-featured-strip__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--cl-line);
  }

  .blog-featured-strip__list article{
    padding:20px 20px 0;
  }

  .blog-library{
    grid-template-columns:1fr;
  }

  .blog-filter-panel{
    position:static;
  }

  .related-posts__list{
    grid-template-columns:1fr;
  }

  .error-hero{
    grid-template-columns:1fr;
    gap:36px;
    min-height:0;
    padding:64px 0 56px;
  }

  .error-panel{
    max-width:520px;
  }
}

@media (max-width:900px){
  :root{
    --cl-page-gutter:32px;
  }

  .page-shell{
    width:100%;
  }

  .site-header,
  .ui-site-header{
    width:100%;
    min-height:64px;
    margin:0;
    padding:9px 0;
    border-radius:0;
    background-color:rgba(245,245,245,.72);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.76),inset 0 -1px 0 rgba(17,17,17,.05),0 14px 34px -26px rgba(0,0,0,.32);
  }

  .site-header__inner,
  .ui-site-header__inner{
    grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr);
    width:min(1350px,calc(100vw - 40px));
    min-height:42px;
    gap:12px;
  }

  .site-footer{
    width:min(var(--cl-frame-container),calc(100vw - var(--cl-page-gutter)));
  }

  .header-links,
  .ui-site-header__nav{
    width:auto;
    justify-content:center;
  }

  .direct-links,
  .ui-site-header__nav{
    gap:4px;
    font-size:13px;
  }

  .header-links .direct-link,
  .ui-site-header__nav .ui-site-header__nav-link{
    min-height:34px;
    padding:6px 10px;
  }

  h1{
    font-size:42px;
    line-height:1.08;
  }

  .lead{font-size:var(--cl-body-size)}

  .hero-actions .btn{
    width:100%;
  }

  .maintenance-layout{
    margin:36px 0 56px;
    padding:0;
    min-height:0;
    border-radius:0;
  }

  .status-panel{
    display:grid;
    gap:28px;
  }

  .status-panel__copy,
  .status-panel__visual{
    grid-column:auto;
  }

  .status-panel__copy{
    padding-top:0;
    gap:28px;
  }

  .status-panel__visual{
    height:220px;
    min-height:220px;
  }

  .section-head,
  .problem-grid,
  .process-grid,
  .insight-list,
  .trust-strip,
  .blog-list,
  .site-footer,
  .policy-meta,
  .final-cta{
    grid-template-columns:1fr;
  }

  .site-footer{
    grid-template-rows:auto minmax(0,1fr) auto;
  }

  .footer-brand{
    grid-column:1;
    grid-row:1;
  }

  .footer-panels{
    grid-column:1;
    grid-row:2;
    align-self:start;
  }

  .footer-meta{
    grid-column:1;
    grid-row:3;
  }

  .home-section,
  .contact-section{
    padding:58px 0;
  }

  .trust-strip li{
    min-height:58px;
    border-right:0;
    border-bottom:1px solid var(--cl-line);
  }

  .trust-strip li:last-child{
    border-bottom:0;
  }

  .diagnostic-frame{
    min-height:auto;
    display:grid;
    gap:12px;
    padding:18px;
  }

  .diagnostic-frame__grid{
    display:none;
  }

  .diagnostic-card,
  .diagnostic-card:nth-of-type(1),
  .diagnostic-card:nth-of-type(2),
  .diagnostic-card:nth-of-type(3){
    position:relative;
    inset:auto;
    width:100%;
    transform:none;
  }

  .proof-frame{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .final-cta{
    margin-top:58px;
    padding:28px;
  }

  .final-cta .hero-actions{
    justify-content:flex-start;
  }

  .footer-panels{
    grid-template-columns:1fr;
  }

  .blog-hero,
  .policy-hero{
    padding:24px;
    border-radius:var(--cl-radius-lg);
  }

  .blog-hero--index{
    padding:58px 0;
    gap:32px;
  }

  .blog-hero--index .blog-hero__copy{
    padding:0;
    border-right:0;
    border-bottom:0;
  }

  .blog-hero--index .blog-hero__visual{
    min-height:220px;
  }

  .blog-topic-rail strong{
    font-size:34px;
  }

  .blog-feed__header{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .blog-card,
  .blog-card--featured,
  .blog-list--single-secondary .blog-card:not(.blog-card--featured){
    grid-template-columns:1fr;
    min-height:0;
  }

  .blog-card__body,
  .blog-card--featured .blog-card__body{
    min-height:auto;
    padding:24px;
  }

  .blog-card__number{
    width:40px;
    height:40px;
    margin-bottom:20px;
  }

  .blog-card--featured h3{
    font-size:26px;
  }

  .blog-post__meta-panel{
    grid-template-columns:1fr;
  }

  .blog-post__meta-panel div:nth-last-child(2){
    border-bottom:1px solid var(--cl-line);
  }
}

@media (max-width:680px){
  .site-header,
  .ui-site-header{
    --site-header-mobile-padding-block:6px;
    --site-header-mobile-padding-inline:8px;
    --mobile-nav-panel-gap:8px;
    top:8px;
    left:8px;
    width:calc(100vw - 16px);
    min-height:52px;
    margin:0;
    padding:var(--site-header-mobile-padding-block) var(--site-header-mobile-padding-inline);
    border:0;
    border-radius:var(--cl-ui-button-radius);
    background:#F5F5F5;
    box-shadow:var(--cl-ui-header-mobile-shadow);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .site-header.ui-site-header{
    min-height:52px;
    padding:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .site-header.ui-site-header[data-border="true"]:after{
    display:none;
  }

  .ui-site-header__material{
    display:none;
  }

  .site-header__inner,
  .ui-site-header__inner{
    grid-template-columns:1fr auto;
    width:100%;
    min-height:40px;
    gap:8px;
  }

  .ui-site-header__inner{
    display:none;
  }

  .site-header + main,
  .site-header + script + main{
    padding-top:68px;
  }

  .brand{
    min-height:30px;
  }

  .brand.brand-wordmark{
    height:30px;
  }

  .site-header .brand,
  .ui-site-header__brand{
    min-height:27px;
  }

  .site-header .brand.brand-wordmark,
  .ui-site-header__brand.brand-wordmark{
    height:27px;
  }

  .footer-brand .brand-wordmark{
    margin-left:-5px;
  }

  .site-footer{
    width:min(var(--cl-frame-container),calc(100vw - var(--cl-page-gutter)));
    padding:calc(36px + var(--cl-footer-reveal-tuck)) 24px 36px;
    border-radius:var(--cl-ui-card-radius) var(--cl-ui-card-radius) 0 0;
  }

  .header-links,
  .site-header__cta,
  .ui-site-header__nav,
  .ui-button.ui-site-header__cta{
    display:none;
  }

  .site-header__mobile-actions,
  .ui-mobile-header__actions{
    display:flex;
    align-items:center;
    justify-self:end;
    gap:8px;
    min-width:0;
  }

  .ui-mobile-header{
    display:block;
    width:100%;
  }

  .mobile-nav,
  .ui-mobile-header__menu{
    display:block;
    justify-self:auto;
  }

  .mobile-nav__panel{
    top:calc(100% + var(--site-header-mobile-padding-block) + var(--mobile-nav-panel-gap));
    right:calc(0px - var(--site-header-mobile-padding-inline));
    left:calc(0px - var(--site-header-mobile-padding-inline));
  }

  .ui-mobile-header__panel{
    top:calc(100% + var(--mobile-nav-panel-gap));
    right:0;
    left:0;
  }
}

@media (max-width:560px){
  :root{
    --cl-heading-h1-size:36px;
    --cl-heading-h2-size:30px;
    --cl-heading-h3-size:25px;
    --cl-heading-h4-size:22px;
    --cl-heading-h5-size:18px;
    --cl-heading-h6-size:15px;
  }

  .brand-wordmark{--wordmark-size:25px}

  h1{
    font-size:36px;
  }

  .status-panel h1{
    font-size:34px;
    line-height:1.08;
  }

  h2,
  .section-head h2,
  .blog-hero h1,
  .policy-hero h1,
  .blog-post__header h1{
    font-size:32px;
  }

  .home-hero{
    padding:44px 0 48px;
  }

  .hero-virtual-card{
    min-height:340px;
    border-radius:var(--cl-radius-lg);
  }

  .status-panel__visual{
    height:170px;
    min-height:170px;
    border-radius:var(--cl-radius-md);
  }

  .status-panel__visual:before{
    opacity:.36;
  }

  .material-scene__object,
  .material-scene__foreground,
  .material-scene__refraction{
    transform:none!important;
  }

  .material-scene__object{
    inset:12px;
  }

  .material-scene__pane--back,
  .material-scene__pane--front{
    display:none;
  }

  .material-scene__pane--main{
    inset:12% 6%;
    border-radius:24px;
    backdrop-filter:blur(10px) saturate(120%);
  }

  .material-scene__foreground{
    inset:27% 16%;
  }

  .material-scene__rail{
    height:8px;
  }

  .material-scene__focus{
    width:24px;
    height:24px;
  }

  .hero-diagnostic-note{
    left:18px;
    right:18px;
    bottom:18px;
    max-width:none;
  }

  .blog-index,
  .blog-post-page,
  .policy-main{
    padding:48px 0 160px;
  }

  .blog-hero--index .blog-hero__visual{
    min-height:176px;
  }

  .blog-topic-rail a{
    min-height:62px;
  }

  .blog-topic-rail strong{
    font-size:30px;
  }

  .blog-topic-rail span{
    font-size:12px;
  }

  .blog-featured-strip__list{
    grid-template-columns:1fr;
  }

  .blog-featured-strip__list article{
    min-height:0;
    padding:18px 0;
    border-left:0;
    border-bottom:1px solid var(--cl-line);
  }

  .blog-featured-strip__list article:last-child{
    border-bottom:0;
  }

  .virtual-brief{
    top:20%;
    min-height:170px;
  }

  .virtual-brief--back{
    top:10%;
  }

  .virtual-brief__rail{
    left:24px;
    top:26px;
  }

  .virtual-brief__line{
    left:24px;
    top:76px;
  }

  .virtual-brief__line--long{
    top:104px;
  }

  .virtual-brief__focus{
    right:26px;
    bottom:30px;
  }

  .blog-feed__header h2{
    font-size:var(--cl-content-title-size);
  }

  .blog-card--featured h3{
    font-size:var(--cl-content-title-size);
  }

  .blog-card--featured p{
    font-size:var(--cl-body-size);
  }

  .blog-content{
    font-size:var(--cl-body-size);
    line-height:1.74;
  }

  .blog-post__masthead{
    padding:42px max(calc(var(--cl-page-gutter) / 2),calc((100vw - var(--cl-container)) / 2)) 40px;
  }

  .blog-post__header h1{
    font-size:36px;
    line-height:1.2;
  }

  .blog-post__description{
    font-size:var(--cl-body-size);
  }

  .blog-content blockquote{
    font-size:var(--cl-body-size);
  }
}

.blog-index{
  padding-top:72px;
  padding-bottom:112px;
}

.blog-hero--index{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  align-items:start;
  padding:88px 0 56px;
  border-bottom:1px solid var(--cl-line);
}

.blog-hero--index .blog-hero__copy{
  gap:18px;
  max-width:650px;
}

.blog-hero--index h1{
  font-size:108px;
  line-height:.98;
}

.blog-hero__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:560px;
  margin:18px 0 0;
  padding:0;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.blog-hero__stats div{
  min-width:0;
  padding:18px 18px 16px 0;
}

.blog-hero__stats div + div{
  padding-left:18px;
  border-left:1px solid var(--cl-line);
}

.blog-hero__stats dt{
  margin:0 0 8px;
  color:var(--cl-ink);
  font-size:12px;
  line-height:1.3;
  text-transform:uppercase;
}

.blog-hero__stats dd{
  margin:0;
  color:var(--cl-ink);
  font-size:22px;
  line-height:1.15;
}

.blog-topic-rail{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-self:end;
}

.blog-topic-rail a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-content:center;
  align-items:center;
  min-height:108px;
  padding:22px 24px;
  border:0;
  border-radius:var(--cl-ui-card-radius);
  color:var(--cl-ink);
  background:var(--cl-ui-card-bg);
  box-shadow:var(--cl-ui-card-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ease);
}

.blog-topic-rail a:first-child{
  border-top:0;
}

.blog-topic-rail strong{
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
}

.blog-topic-rail strong:after{
  content:none;
}

.blog-topic-rail span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 14px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-white);
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
}

@media (hover:hover) and (pointer:fine){
  .blog-topic-rail a:hover{
    color:var(--cl-ink);
    box-shadow:var(--cl-ui-raised-light-shadow-hover);
    transform:none;
  }
}

.blog-topic-rail a:hover strong{
  color:var(--cl-ink);
}

.blog-spotlight{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  align-items:stretch;
  margin-top:56px;
}

.blog-spotlight__head,
.blog-featured-strip__head{
  padding-top:14px;
  border-top:1px solid var(--cl-line);
}

.blog-spotlight__head{
  max-width:650px;
}

.blog-spotlight__head h2,
.blog-featured-strip__head h2{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
}

.blog-spotlight-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:320px;
  overflow:hidden;
  border:0;
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg);
  box-shadow:var(--cl-ui-card-shadow);
  cursor:pointer;
}

.blog-spotlight-card__body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:24px;
  min-width:0;
  padding:clamp(28px,3.6vw,46px);
}

.blog-spotlight-card h3{
  margin:0;
  color:var(--cl-ink);
  font-size:52px;
  line-height:1.04;
  letter-spacing:0;
}

.blog-spotlight-card h3 a,
.blog-featured-strip__list h3 a,
.blog-card h3 a,
.related-card h3 a{
  color:inherit;
  text-decoration:none;
}

.blog-spotlight-card h3 a:after,
.blog-featured-strip__list h3 a:after,
.blog-card h3 a:after,
.related-card h3 a:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
}

.blog-spotlight-card p,
.blog-featured-strip__list p{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.62;
}

.blog-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.5;
  text-transform:none;
}

.blog-meta span + span:before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 10px 2px 0;
  border-radius:50%;
  background:currentColor;
  opacity:.42;
}

.blog-featured-strip{
  grid-template-columns:minmax(220px,310px) minmax(0,1fr);
  gap:30px;
  margin-top:72px;
  padding:0 0 72px;
  border:0;
  border-bottom:1px solid var(--cl-line);
}

.blog-featured-strip__list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.blog-featured-strip__list article{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:264px;
  padding:26px;
  border:0;
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg);
  box-shadow:var(--cl-ui-card-shadow);
  cursor:pointer;
}

.blog-featured-strip__list h3{
  margin:0 0 16px;
  color:var(--cl-ink);
  font-size:32px;
  line-height:1.08;
}

.blog-featured-strip__list p{
  margin-top:auto;
}

.blog-feed{
  margin-top:56px;
}

.blog-feed__header{
  align-items:flex-start;
  margin-bottom:30px;
  padding:0;
  border-bottom:0;
}

.blog-feed__header h2{
  font-size:52px;
  line-height:1.04;
}

.blog-feed__header > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:30px;
  padding:6px 12px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-pill-bg);
  box-shadow:var(--cl-pill-shadow);
  font-size:11px;
  line-height:16px;
}

.blog-controls{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(180px,260px);
  gap:16px;
  align-items:end;
  margin-bottom:28px;
}

.blog-library{
  grid-template-columns:minmax(0,1fr);
  gap:24px;
}

.blog-filter-panel{
  top:104px;
  padding:24px;
}

.blog-filter-panel strong{
  margin-bottom:14px;
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.45;
  text-transform:none;
}

.blog-filter-panel a{
  min-height:46px;
  padding:0 2px;
  color:var(--cl-ink);
  border-top:1px solid var(--cl-line);
}

.blog-filter-panel a:hover{
  color:var(--cl-ink);
  text-decoration:underline;
  text-underline-offset:4px;
}

.blog-filter-panel em{
  color:var(--cl-ink);
  font-size:13px;
}

.blog-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.blog-no-results{
  width:var(--cl-ui-card-width);
  margin:0;
  padding:28px;
  border:1px solid var(--cl-line);
  border-radius:var(--cl-ui-card-radius);
  color:var(--cl-ink);
  background:var(--cl-ui-card-bg, rgb(245,245,245));
  box-shadow:var(--cl-ui-card-shadow);
  opacity:var(--cl-ui-card-opacity);
  font-size:var(--cl-body-size);
  line-height:1.6;
}

.blog-card[id]{
  scroll-margin-top:124px;
}

.blog-card{
  border:0;
  background:var(--cl-ui-card-bg);
  box-shadow:var(--cl-ui-card-shadow);
  cursor:pointer;
}

.blog-card__body,
.blog-card--featured .blog-card__body{
  min-height:280px;
  padding:var(--cl-ui-card-padding);
}

.blog-card h3{
  margin-bottom:14px;
  font-size:34px;
  line-height:1.08;
}

.blog-card p,
.blog-empty p{
  color:var(--cl-ink);
}

.blog-post__masthead{
  box-sizing:border-box;
  width:100vw;
  max-width:100vw;
  margin-inline:calc(50% - 50vw);
  padding:64px max(calc(var(--cl-page-gutter) / 2),calc((100vw - var(--cl-container)) / 2)) 60px;
}

.blog-post__masthead .blog-post__hero-copy{
  max-width:var(--cl-reading-width);
  margin-inline:auto;
}

.blog-post__description{
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
}

.blog-spotlight-card,
.blog-featured-strip__list article,
.blog-card,
.related-card{
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

@media (hover:hover) and (pointer:fine){
  .blog-spotlight-card:hover,
  .blog-featured-strip__list article:hover,
  .blog-card:hover,
  .related-card:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }
}

@media (max-width:1180px){
  .blog-hero--index,
  .blog-spotlight,
  .blog-featured-strip,
  .blog-library{
    grid-template-columns:1fr;
  }

  .blog-topic-rail,
  .blog-featured-strip__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .blog-list,
  .related-posts__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .blog-index{
    padding-top:48px;
    padding-bottom:84px;
  }

  .blog-hero--index{
    gap:28px;
    padding:48px 0 44px;
  }

  .blog-hero--index h1{
    font-size:44px;
  }

  .blog-hero__stats{
    max-width:none;
  }

  .blog-hero__stats div{
    padding:14px 10px 14px 0;
  }

  .blog-hero__stats div + div{
    padding-left:10px;
  }

  .blog-hero__stats dd{
    font-size:18px;
  }

  .blog-topic-rail,
  .blog-spotlight-card,
  .blog-featured-strip__list,
  .blog-list,
  .related-posts__list{
    grid-template-columns:1fr;
  }

  .blog-topic-rail a,
  .blog-featured-strip__list article,
  .blog-card__body,
  .blog-card--featured .blog-card__body,
  .blog-filter-panel,
  .blog-post__meta-panel,
  .related-card{
    padding:24px;
  }

  .blog-topic-rail a{
    min-height:96px;
  }

  .blog-spotlight{
    margin-top:42px;
  }

  .blog-spotlight-card{
    min-height:0;
  }

  .blog-spotlight-card__body{
    padding:24px;
  }

  .blog-spotlight-card h3{
    font-size:32px;
  }

  .blog-featured-strip{
    margin-top:54px;
    padding-bottom:54px;
  }

  .blog-featured-strip__list article{
    min-height:0;
    border-bottom:0;
  }

  .blog-feed{
    margin-top:58px;
  }

  .blog-feed__header{
    gap:14px;
  }

  .blog-controls{
    grid-template-columns:1fr;
    gap:14px;
  }

  .blog-card__body{
    min-height:auto;
  }

  .blog-card h3,
  .blog-featured-strip__list h3{
    font-size:26px;
  }

  .blog-post__masthead{
    width:100%;
    max-width:100%;
    margin-inline:0;
    padding:42px 0 40px;
  }

  .blog-post__divider{
    margin-bottom:40px;
  }

  .blog-post__description{
    font-size:var(--cl-body-size);
  }

  .error-main{
    padding:56px 0 72px;
  }

  .error-hero h1{
    font-size:44px;
  }

  .error-actions .ui-button{
    width:100%;
  }

  .error-panel{
    padding:24px;
  }

  .error-panel__code{
    font-size:76px;
  }

}

.blog-index{
  padding-top:72px;
  padding-bottom:112px;
}

.blog-hero--index{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  padding:88px 0 64px;
  border:0;
  border-bottom:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.blog-hero--index .blog-hero__copy{
  display:grid;
  gap:18px;
  max-width:650px;
  padding:0;
}

.blog-hero--index h1{
  margin:0;
  font-size:106px;
  line-height:.98;
}

.blog-hero--index .blog-hero__copy > p:not(.blog-kicker){
  max-width:580px;
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.68;
}

.blog-hero__stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  max-width:560px;
  margin:18px 0 0;
  padding:0;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.blog-hero__stats div{
  min-width:0;
  padding:18px 16px 16px 0;
}

.blog-hero__stats div + div{
  padding-left:16px;
  border-left:1px solid var(--cl-line);
}

.blog-hero__stats dt{
  margin:0 0 8px;
  color:var(--cl-ink);
  font-size:12px;
  line-height:1.3;
  text-transform:uppercase;
}

.blog-hero__stats dd{
  margin:0;
  color:var(--cl-ink);
  font-size:22px;
  line-height:1.14;
}

.blog-hero-feature{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:100%;
  padding:16px;
  overflow:hidden;
  border:0;
  border-radius:20px;
  background-color:rgba(255,255,255,.78);
  box-shadow:var(--cl-ui-card-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-hero-feature__media,
.blog-mini-card__media,
.blog-card__media{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:var(--cl-surface);
}

.blog-hero-feature__media{
  aspect-ratio:16 / 9;
}

.blog-hero-feature__media img,
.blog-mini-card__media img,
.blog-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1);
}

.blog-hero-feature__body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
  min-width:0;
  padding:clamp(24px,3vw,36px);
}

.blog-feature-label{
  width:max-content;
  margin:0 0 14px;
  min-height:30px;
  padding:6px 12px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-white);
  box-shadow:var(--cl-pill-shadow);
  font-size:11px;
  line-height:16px;
}

.blog-hero-feature h2{
  margin:0 0 14px;
  color:var(--cl-ink);
  font-size:46px;
  line-height:1.06;
}

.blog-hero-feature p:not(.blog-feature-label),
.blog-featured-strip__list p,
.blog-card p{
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  line-height:1.64;
}

.blog-read-more{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.35;
}

.blog-read-more:after{
  content:"";
  width:18px;
  height:10px;
  margin-left:8px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:skewX(28deg);
}

.blog-topic-band{
  display:grid;
  grid-template-columns:minmax(220px,330px) minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
  margin-top:52px;
  padding-bottom:64px;
  border-bottom:1px solid var(--cl-line);
}

.blog-topic-band__head{
  max-width:360px;
}

.blog-topic-band__head h2{
  margin:0;
  color:var(--cl-ink);
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
}

.blog-topic-rail{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-self:start;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
}

.blog-topic-rail a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-content:center;
  align-items:center;
  min-height:74px;
  padding:18px 0;
  border:0;
  border-radius:0;
  color:var(--cl-ink);
  background:transparent;
  box-shadow:none;
  transition:color var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-topic-rail a + a{
  border-top:1px solid var(--cl-line);
}

.blog-topic-rail a[aria-current="true"]{
  color:var(--cl-deep);
  background:transparent;
  box-shadow:none;
}

.blog-topic-rail strong{
  color:inherit;
  font-size:30px;
  line-height:1.08;
}

.blog-topic-rail strong:after{
  content:none;
}

.blog-topic-rail span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:30px;
  padding:6px 11px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-pill-bg);
  font-size:13px;
  line-height:1.2;
  opacity:1;
}

.blog-topic-rail a[aria-current="true"] span{
  color:var(--cl-white);
  background:var(--cl-deep);
}

.blog-featured-strip{
  display:grid;
  grid-template-columns:minmax(220px,330px) minmax(0,1fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
  margin-top:64px;
  padding:0 0 70px;
  border:0;
  border-bottom:1px solid var(--cl-line);
}

.blog-featured-strip__head{
  padding-top:14px;
  border-top:1px solid var(--cl-line);
}

.blog-featured-strip__head h2{
  max-width:360px;
}

.blog-featured-strip__list{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid var(--cl-line);
}

.blog-featured-strip__list article{
  position:relative;
  display:grid;
  grid-template-columns:minmax(112px,168px) minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:20px;
  align-items:start;
  min-height:0;
  overflow:hidden;
  padding:18px 0;
  border:0;
  border-radius:0;
  background-color:transparent;
  box-shadow:none;
  cursor:pointer;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-mini-card__media{
  grid-row:1 / span 3;
  aspect-ratio:16 / 10;
  border-radius:var(--cl-radius-xs);
}

.blog-featured-strip__list .blog-meta,
.blog-featured-strip__list h3,
.blog-featured-strip__list p{
  margin-right:0;
  margin-left:0;
}

.blog-featured-strip__list .blog-meta{
  margin-top:0;
}

.blog-featured-strip__list h3{
  margin-top:0;
  margin-bottom:14px;
  color:var(--cl-ink);
  font-size:30px;
  line-height:1.09;
}

.blog-featured-strip__list p{
  margin-top:0;
  margin-bottom:0;
}

.blog-feed{
  margin-top:58px;
}

.blog-feed[id]{
  scroll-margin-top:112px;
}

.blog-feed__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
  padding:0;
  border:0;
}

.blog-feed__header h2{
  margin:0;
  color:var(--cl-ink);
  font-size:52px;
  line-height:1.04;
}

.blog-feed__header > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:30px;
  padding:6px 12px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:var(--cl-pill-bg);
  box-shadow:var(--cl-pill-shadow);
  font-size:11px;
  line-height:16px;
  white-space:nowrap;
}

.blog-controls{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(190px,270px);
  gap:16px;
  align-items:end;
  margin-bottom:28px;
}

.blog-library{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
}

.blog-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.blog-card{
  position:relative;
  display:grid;
  grid-template-rows:auto 1fr;
  padding:16px;
  overflow:hidden;
  border:0;
  border-radius:20px;
  background-color:rgba(255,255,255,.78);
  box-shadow:var(--cl-ui-card-shadow);
  cursor:pointer;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-card__media{
  aspect-ratio:16 / 9;
}

.blog-card__pill{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:5px 10px;
  border:1px solid var(--cl-pill-border);
  border-radius:var(--cl-radius-pill);
  color:var(--cl-ink);
  background:rgba(255,255,255,.74);
  box-shadow:var(--cl-pill-shadow);
  font-size:10px;
  line-height:14px;
}

.blog-card__body,
.blog-card--featured .blog-card__body{
  display:grid;
  gap:16px;
  min-height:172px;
  padding:20px 8px 8px;
}

.blog-card__body > div{
  display:grid;
  gap:12px;
}

.blog-card h3{
  margin:0;
  color:var(--cl-ink);
  font-size:21px;
  line-height:1.22;
}

.blog-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:0;
  color:var(--cl-ink);
  font-size:11px;
  line-height:1.4;
  text-transform:uppercase;
}

.blog-meta span + span:before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 10px 2px 0;
  border-radius:50%;
  background:currentColor;
  opacity:.42;
}

.blog-hero-feature h2 a,
.blog-featured-strip__list h3 a,
.blog-card h3 a{
  color:inherit;
  text-decoration:none;
}

.blog-hero-feature h2 a:after,
.blog-featured-strip__list h3 a:after,
.blog-card h3 a:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
}

.blog-no-results{
  margin:0;
  padding:28px;
  border:1px solid var(--cl-line);
  border-radius:var(--cl-ui-card-radius);
  color:var(--cl-ink);
  background:var(--cl-ui-card-bg);
  font-size:var(--cl-body-size);
  line-height:1.6;
}

@media (hover:hover) and (pointer:fine){
  .blog-hero-feature:hover,
  .blog-card:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }

  .blog-featured-strip__list article:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }

  .blog-topic-rail a:hover{
    color:var(--cl-ink);
    background:transparent;
    box-shadow:none;
    text-decoration:underline;
    text-underline-offset:4px;
    transform:none;
  }

  .blog-topic-rail a[aria-current="true"]:hover{
    color:var(--cl-deep);
    background:transparent;
    box-shadow:none;
  }
}

@media (max-width:1180px){
  .blog-hero--index,
  .blog-topic-band,
  .blog-featured-strip{
    grid-template-columns:1fr;
  }

  .blog-hero--index{
    align-items:start;
    padding-top:70px;
  }

  .blog-hero-feature{
    grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  }

  .blog-hero-feature__media{
    min-height:100%;
    aspect-ratio:auto;
  }

  .blog-topic-band__head,
  .blog-featured-strip__head h2{
    max-width:640px;
  }

  .blog-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .blog-topic-rail,
  .blog-featured-strip__list,
  .blog-list{
    grid-template-columns:1fr;
  }

  .blog-hero-feature{
    grid-template-columns:1fr;
  }

  .blog-hero-feature__media{
    aspect-ratio:16 / 9;
  }

  .blog-controls{
    grid-template-columns:1fr;
  }

  .policy-meta div{
    padding-right:0;
  }

  .policy-meta div + div{
    padding-left:0;
    border-top:1px solid var(--cl-line);
    border-left:0;
  }
}

@media (max-width:560px){
  .blog-index{
    padding-top:48px;
    padding-bottom:84px;
  }

  .blog-hero--index{
    gap:28px;
    padding:48px 0 42px;
  }

  .blog-hero--index h1{
    font-size:44px;
  }

  .blog-hero--index .blog-hero__copy > p:not(.blog-kicker){
    font-size:var(--cl-body-size);
  }

  .blog-hero__stats{
    max-width:none;
  }

  .blog-hero__stats div{
    padding:14px 10px 14px 0;
  }

  .blog-hero__stats div + div{
    padding-left:10px;
  }

  .blog-hero__stats dd{
    font-size:18px;
  }

  .blog-hero-feature__body,
  .blog-card__body,
  .blog-card--featured .blog-card__body{
    min-height:auto;
    padding:24px;
  }

  .blog-hero-feature h2{
    font-size:30px;
  }

  .blog-topic-band{
    margin-top:42px;
    padding-bottom:50px;
  }

  .blog-topic-rail a{
    min-height:88px;
    padding:18px;
  }

  .blog-topic-rail strong{
    font-size:24px;
  }

  .blog-featured-strip{
    margin-top:50px;
    padding-bottom:54px;
  }

  .blog-feed{
    margin-top:52px;
  }

  .blog-feed__header{
    flex-direction:column;
    gap:14px;
  }

  .blog-card h3,
  .blog-featured-strip__list h3{
    font-size:26px;
  }

  .blog-featured-strip__list article{
    grid-template-columns:1fr;
    gap:14px;
  }

  .blog-mini-card__media{
    grid-row:auto;
  }

  .policy-meta div{
    padding-right:0;
  }

  .policy-meta div + div{
    padding-left:0;
    border-top:1px solid var(--cl-line);
    border-left:0;
  }
}

/* BIS component implementation. These ui-* classes mirror the current BIS API. */
.button,
.ui-button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:min-content;
  min-height:46.4px;
  max-width:100%;
  padding:12px 24px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  font:inherit;
  font-size:14px;
  font-weight:400;
  line-height:160%;
  letter-spacing:0;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  overflow:hidden;
  transition:background-color var(--cl-motion-base) var(--cl-ui-button-ease),border-color var(--cl-motion-base) var(--cl-ui-button-ease),box-shadow var(--cl-motion-base) var(--cl-ui-button-ease),color var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-base) var(--cl-ui-button-ease);
}

.button.primary,
.ui-button--primary{
  color:#ffffff;
  background:#000000;
  box-shadow:var(--cl-ui-button-primary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.button.primary:hover,
.ui-button--primary:hover{
  box-shadow:var(--cl-ui-button-primary-shadow-hover);
}

.button.secondary,
.button.dark,
.ui-button--secondary{
  border:1px solid var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.button.secondary:hover,
.button.dark:hover,
.ui-button--secondary:hover{
  border-color:var(--cl-ui-button-secondary-border);
  color:#000000;
  background:var(--cl-ui-button-secondary-bg);
  box-shadow:var(--cl-ui-button-secondary-shadow-hover);
  transform:none;
}

.button.tertiary,
.ui-button--tertiary{
  border:1px solid var(--cl-ui-button-tertiary-border);
  border-radius:var(--cl-radius-pill);
  color:#000000;
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow);
  font-size:13px;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.button.tertiary:hover,
.ui-button--tertiary:hover{
  background:var(--cl-ui-button-tertiary-bg);
  box-shadow:var(--cl-ui-button-tertiary-shadow-hover);
  transform:none;
}

.ui-button:disabled,
.ui-button[aria-disabled="true"]{
  color:#000000;
  background:var(--cl-surface);
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}

.ui-button:disabled:hover,
.ui-button[aria-disabled="true"]:hover{
  background:var(--cl-surface);
  box-shadow:none;
  transform:none;
}

.ui-button.is-loading{
  cursor:progress;
}

.ui-button-group{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.ui-card{
  display:grid;
  min-width:0;
  overflow:hidden;
  border:0;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

[data-contact-block] > .ui-card{
  border:1px solid rgba(17,17,17,.08);
}

@media (hover:hover) and (pointer:fine){
  .ui-card[data-interactive="true"]:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }
}

.ui-card__body{
  display:grid;
  align-content:start;
  gap:12px;
  padding:34px;
}

.ui-card__body > h2,
.ui-card__body > h3{
  margin:0;
  font-size:var(--cl-content-title-size);
  line-height:var(--cl-content-title-line-height);
  letter-spacing:0;
}

.ui-card__body > p{
  margin:0;
  color:var(--cl-ink);
  line-height:1.55;
}

.ui-card__eyebrow{
  color:var(--cl-ink);
  font-size:12px;
  line-height:1.35;
  text-transform:uppercase;
}

[data-contact-form]{
  gap:24px;
}

[data-contact-form] > .ui-form-grid + .ui-checkbox-group{
  margin-top:0;
}

[data-form-footer]{
  display:grid;
  gap:12px;
  width:100%;
  padding-top:0;
}

[data-form-footer] .ui-button-group,
[data-form-footer] .ui-button{
  width:100%;
}

.note{
  max-width:var(--cl-home-container);
  padding:22px 26px;
  border:1px solid rgba(17,17,17,.18);
  border-radius:var(--cl-radius-md);
  background:rgba(255,255,255,.78);
  color:var(--cl-muted);
  font-size:var(--cl-body-size);
  line-height:1.6;
}

.note > *{
  margin:0;
}

.note > * + *{
  margin-top:8px;
}

.note ul,
.note ol{
  padding-left:20px;
  color:var(--cl-muted);
  font-size:13px;
  line-height:1.6;
}

.note li{
  margin:7px 0;
  padding-left:5px;
}

.component-standard-note{
  margin-top:28px;
}

.ui-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:fit-content;
  min-height:30px;
  padding:6px 12px;
  border:0;
  border-radius:var(--cl-ui-pill-radius);
  color:var(--cl-ui-pill-text);
  background-color:var(--cl-ui-pill-bg,rgb(245,245,245));
  box-shadow:var(--cl-ui-pill-shadow);
  font-size:10px;
  font-weight:400;
  line-height:14px;
  text-decoration:none;
  text-transform:uppercase;
  will-change:auto;
}

.ui-pill-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.ui-spec-table{
  width:min(100%,760px);
  margin:0;
  table-layout:auto;
  overflow:hidden;
  border:0;
  border-top:1px solid rgba(17,17,17,.14);
  border-bottom:1px solid rgba(17,17,17,.14);
  border-radius:0;
  border-collapse:collapse;
  background:transparent;
}

.ui-spec-table tr{
  min-height:58px;
  border-top:1px solid rgba(17,17,17,.14);
}

.ui-spec-table tr:first-child{border-top:0}

.ui-spec-table th,
.ui-spec-table td{
  padding:17px 18px;
  border:0;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:400;
  text-align:left;
  vertical-align:middle;
  background:transparent;
}

.ui-spec-table th{
  width:1%;
  font-size:11px;
  font-weight:400;
  line-height:1.35;
  letter-spacing:.12em;
  text-align:left;
  text-transform:uppercase;
  white-space:nowrap;
  overflow-wrap:normal;
}

.ui-spec-table td{
  width:auto;
  max-width:520px;
  line-height:1.5;
}

.ui-table{
  width:100%;
  margin:0;
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  border-radius:var(--cl-ui-card-radius);
  background:#ffffff;
}

.ui-table th,
.ui-table td{
  padding:16px 18px;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:400;
  line-height:1.5;
  text-align:left;
  vertical-align:middle;
}

.ui-table th{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ui-table--bordered{
  border:1px solid rgba(17,17,17,.18);
  background:#ffffff;
}

.ui-table--bordered th,
.ui-table--bordered td{
  border-right:1px solid rgba(17,17,17,.14);
  border-bottom:1px solid rgba(17,17,17,.14);
}

.ui-table--bordered th:last-child,
.ui-table--bordered td:last-child{
  border-right:0;
}

.ui-table--bordered tbody tr:last-child td{
  border-bottom:0;
}

.ui-table--plain-header th{
  background:transparent;
}

.ui-category-nav{
  display:grid;
  gap:2px;
  width:min(100%,360px);
}

.ui-category-nav__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:44px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.08);
  border-radius:0;
  color:var(--cl-ink);
  background:transparent;
  box-shadow:none;
  font-size:13px;
  font-weight:500;
  line-height:1.25;
  text-decoration:none;
}

.ui-category-nav__item:hover,
.ui-category-nav__item[aria-current]{
  color:var(--cl-ink);
  font-synthesis:weight;
  font-weight:700;
}

.ui-category-nav__item::after{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:var(--cl-radius-pill);
  background:transparent;
}

.ui-category-nav__item[aria-current]::after{
  background:#000000;
}

.ui-search{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:0;
  min-height:52px;
  padding:6px 8px 6px 18px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  background:#F5F5F5;
  box-shadow:var(--cl-ui-control-surface-shadow);
}

.ui-search__icon{
  position:relative;
  width:17px;
  height:17px;
  border:2px solid #000000;
  border-radius:var(--cl-radius-pill);
  transform:translateY(-1px);
}

.ui-search__icon::after{
  content:"";
  position:absolute;
  right:-5px;
  bottom:-4px;
  width:8px;
  height:2px;
  border-radius:var(--cl-radius-pill);
  background:#000000;
  transform:rotate(45deg);
}

.ui-search__input{
  width:100%;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--cl-ink);
  background:transparent;
  box-shadow:none;
  font:inherit;
  font-size:14px;
  line-height:1.5;
}

.ui-search__input::-webkit-search-cancel-button{
  cursor:pointer;
}

.ui-search__submit{
  height:38px;
  min-height:38px;
  padding:7px 18px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  color:#ffffff;
  background-color:#000000;
  box-shadow:var(--cl-ui-button-tertiary-shadow);
  font:inherit;
  font-size:14px;
  font-weight:400;
  cursor:pointer;
  transform:none;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.ui-search__submit:hover{
  background-color:#000000;
  box-shadow:var(--cl-ui-search-submit-shadow-hover);
  filter:none;
  transform:none;
}

.ui-dropdown{
  position:relative;
  width:min(100%,360px);
}

.ui-dropdown__trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  padding:8px 14px 8px 16px;
  border:0;
  border-radius:var(--cl-ui-button-radius);
  color:var(--cl-ink);
  background:#F5F5F5;
  box-shadow:var(--cl-ui-control-surface-shadow);
  list-style:none;
  cursor:pointer;
}

.ui-dropdown__trigger::-webkit-details-marker{display:none}

.ui-dropdown__label{
  display:block;
  color:var(--cl-ink);
  font-size:12px;
  line-height:1.35;
}

.ui-dropdown__value{
  display:block;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}

.ui-dropdown__trigger::after{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.5px solid #000000;
  border-bottom:1.5px solid #000000;
  transform:translateY(-2px) rotate(45deg);
  transition:transform var(--cl-motion-quick) var(--cl-ui-button-ease);
}

.ui-dropdown[open] .ui-dropdown__trigger::after{
  transform:translateY(2px) rotate(225deg);
}

.ui-dropdown__menu{
  position:absolute;
  right:0;
  left:0;
  z-index:8;
  display:grid;
  gap:2px;
  margin-top:8px;
  padding:6px;
  border:0;
  border-radius:var(--cl-radius-sm);
  background:#ffffff;
  box-shadow:var(--cl-ui-overlay-shadow);
}

.ui-dropdown__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  width:100%;
  padding:8px 10px;
  border:0;
  border-radius:var(--cl-radius-xs);
  color:var(--cl-ink);
  background:transparent;
  font:inherit;
  font-size:13px;
  font-weight:500;
  line-height:1.35;
  text-align:left;
  cursor:pointer;
}

.ui-dropdown__item:hover,
.ui-dropdown__item.is-active,
.ui-dropdown__item[aria-pressed="true"]{
  font-synthesis:weight;
  font-weight:700;
}

.ui-dropdown__item.is-active::after,
.ui-dropdown__item[aria-pressed="true"]::after{
  content:"";
  width:7px;
  height:7px;
  border-radius:var(--cl-radius-pill);
  background:#000000;
}

.ui-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}

.ui-form-grid label,
.ui-field{
  display:grid;
  gap:8px;
  color:var(--cl-ink);
  font-size:13px;
  font-weight:400;
  line-height:1.45;
}

.ui-field--wide{
  grid-column:1 / -1;
}

.ui-form-grid span,
.ui-field span{
  display:block;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.35;
}

.ui-field__label{
  font-weight:500;
}

.ui-form-grid input,
.ui-form-grid textarea,
.ui-field input,
.ui-field textarea{
  width:100%;
  min-width:0;
  min-height:50px;
  padding:12px;
  border-width:medium;
  border-style:none;
  border-color:currentcolor;
  border-image:none;
  border-radius:var(--cl-ui-button-radius);
  color:#000000;
  background:var(--cl-ui-field-bg,transparent);
  box-shadow:var(--cl-ui-field-shadow);
  flex:0 0 auto;
  font:inherit;
  font-size:13px;
  font-weight:400;
  height:var(--cl-ui-field-height,100%);
  letter-spacing:var(--cl-ui-field-letter-spacing,0em);
  line-height:var(--cl-ui-field-line-height,1.2em);
  overflow:hidden;
  position:relative;
  text-overflow:ellipsis;
  transition:none;
  white-space:nowrap;
}

.ui-form-grid input,
.ui-field input{
  height:48px;
  min-height:48px;
  padding-top:10px;
}

.ui-form-grid textarea,
.ui-field textarea{
  height:auto;
  min-height:100px;
  overflow-wrap:anywhere;
  resize:vertical;
  text-overflow:clip;
  white-space:pre-wrap;
}

.ui-form-grid textarea::-webkit-resizer,
.ui-field textarea::-webkit-resizer{
  background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2214%22 height=%2214%22><path d=%22m1.5 8 7-7M9 5.5l-3 3%22 stroke=%22%23999%22 stroke-width=%221.5%22 stroke-linecap=%22round%22></path></svg>") no-repeat;
}

.ui-form-grid input::placeholder,
.ui-form-grid textarea::placeholder,
.ui-field input::placeholder,
.ui-field textarea::placeholder{
  color:rgba(17,17,17,.26);
  font-weight:500;
}

.ui-form-grid input:hover,
.ui-form-grid textarea:hover,
.ui-field input:hover,
.ui-field textarea:hover{
  border-color:rgba(17,17,17,.28);
}

.ui-form-grid input.is-invalid,
.ui-form-grid textarea.is-invalid,
.ui-form-grid input[aria-invalid="true"],
.ui-form-grid textarea[aria-invalid="true"],
.ui-field input.is-invalid,
.ui-field textarea.is-invalid,
.ui-field input[aria-invalid="true"],
.ui-field textarea[aria-invalid="true"]{
  background:var(--cl-ui-field-bg,transparent);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),var(--cl-ui-field-shadow);
}

.ui-checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:44px;
  margin-top:0;
  padding:6px 0;
  border-top:0;
  color:var(--cl-ink);
  cursor:pointer;
  font-size:13px;
  font-weight:400;
  line-height:1.55;
}

.ui-checkbox:first-child{
  border-top:0;
}

.ui-checkbox input[type="checkbox"]{
  -webkit-appearance:none;
  appearance:none;
  width:var(--cl-ui-checkbox-size);
  height:var(--cl-ui-checkbox-size);
  min-height:0;
  flex:0 0 var(--cl-ui-checkbox-size);
  margin:1px 0 0;
  padding:0;
  border:0;
  border-radius:var(--cl-ui-checkbox-radius);
  background-color:var(--cl-ui-field-bg,transparent);
  background-position:center;
  background-repeat:no-repeat;
  background-size:12px 10px;
  accent-color:#000000;
  box-shadow:var(--cl-ui-checkbox-shadow);
  cursor:pointer;
  opacity:1;
  transition:none;
}

@media (hover:hover) and (pointer:fine){
  .ui-checkbox:hover input[type="checkbox"]:not(:disabled):not(.is-invalid):not([aria-invalid="true"]){
    box-shadow:var(--cl-ui-checkbox-shadow-hover);
  }
}

.ui-checkbox input[type="checkbox"]:checked{
  background-image:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 10%22><path d=%22M1.5 5.2 4.6 8.1 10.5 1.6%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/></svg>");
}

.ui-checkbox input[type="checkbox"].is-invalid,
.ui-checkbox input[type="checkbox"][aria-invalid="true"]{
  box-shadow:0 0 0 3px rgba(0,0,0,.12),var(--cl-ui-checkbox-shadow);
}

.ui-checkbox input[type="checkbox"]:disabled{
  background-color:var(--cl-ui-checkbox-bg-disabled);
  box-shadow:none;
  cursor:not-allowed;
  opacity:.52;
}

.ui-checkbox:has(input[type="checkbox"]:disabled){
  cursor:not-allowed;
}

@media (forced-colors:active){
  .ui-checkbox input[type="checkbox"]{
    -webkit-appearance:auto;
    appearance:auto;
    background-image:none;
    box-shadow:none;
  }
}

.ui-checkbox a{
  color:var(--cl-ink);
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:3px;
}

.ui-checkbox-group{
  display:grid;
  gap:6px;
  width:min(100%,640px);
}

.ui-checkbox-group .ui-checkbox{
  padding-block:4px;
}

.ui-blog-card-grid{
  display:grid;
  grid-template-columns:minmax(0,560px) minmax(360px,440px);
  gap:28px;
  align-items:start;
}

.ui-blog-card{
  position:relative;
  display:grid;
  align-content:start;
  width:var(--cl-ui-card-width);
  min-height:100%;
  padding:16px;
  overflow:hidden;
  border:0;
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg, rgb(245,245,245));
  box-shadow:var(--cl-ui-card-shadow);
  opacity:var(--cl-ui-card-opacity);
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

@media (hover:hover) and (pointer:fine){
  .ui-blog-card:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }
}

.ui-blog-card__media{
  position:relative;
  aspect-ratio:16 / 9;
  min-height:0;
  overflow:visible;
  border-radius:16px;
  background-color:transparent;
}

.ui-blog-card__cover{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(17,17,17,.10);
  border-radius:inherit;
  background-color:#d1d5d2;
  box-shadow:var(--cl-ui-media-shadow);
}

.ui-blog-card__image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1);
  transform:scale(1.001);
  transition:filter var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-soft) var(--cl-ui-button-ease);
}

.blog-card__media img,
.blog-mini-card__media img{
  transform:scale(1.001);
  transition:filter var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-soft) var(--cl-ui-button-ease);
}

@media (hover:hover) and (pointer:fine){
  .ui-blog-card:hover .ui-blog-card__image,
  .blog-card:hover .blog-card__media img,
  .blog-featured-strip__list article:hover .blog-mini-card__media img{
    filter:grayscale(0);
    transform:scale(1.06);
  }
}

@media (prefers-reduced-motion:reduce){
  .ui-blog-card__image,
  .blog-card__media img,
  .blog-mini-card__media img{
    transition:none;
  }

  .ui-blog-card:hover .ui-blog-card__image,
  .blog-card:hover .blog-card__media img,
  .blog-featured-strip__list article:hover .blog-mini-card__media img{
    transform:scale(1.001);
  }
}

.ui-blog-card__pill{
  display:block;
  position:static;
  z-index:auto;
  justify-self:end;
  margin-left:0;
  max-width:100%;
  min-height:26px;
  padding:5px 10px;
  overflow:hidden;
  font-size:10px;
  line-height:14px;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ui-blog-card__screen{
  position:absolute;
  inset:0;
  display:grid;
  align-content:end;
  gap:12px;
  padding:22px;
  overflow:hidden;
  border:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.34),transparent 38%),linear-gradient(180deg,#d8ddd9 0%,#bfc5c1 100%);
  filter:grayscale(1);
}

.ui-blog-card__screen::before{
  content:"";
  position:absolute;
  top:-34%;
  right:8%;
  width:72%;
  height:78%;
  border-radius:0 0 42px 42px;
  background:linear-gradient(180deg,#050505 0%,#171a19 56%,#2c302f 100%);
  box-shadow:rgba(0,0,0,.32) 0 20px 32px -18px;
}

.ui-blog-card__screen::after{
  content:"";
  position:absolute;
  left:22%;
  bottom:36%;
  width:24%;
  height:5px;
  border-radius:var(--cl-radius-pill);
  background:#171717;
  box-shadow:rgba(0,0,0,.30) 0 0 14px 1px;
  transition:opacity var(--cl-motion-soft) var(--cl-ui-button-ease),box-shadow var(--cl-motion-soft) var(--cl-ui-button-ease);
}

.ui-blog-card__body{
  display:grid;
  gap:16px;
  min-height:0;
  padding:20px 8px 8px;
}

.ui-blog-card__body > div{
  display:grid;
  gap:12px;
}

.ui-blog-card__meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) fit-content(42%);
  align-items:center;
  gap:8px 12px;
  min-width:0;
  margin-bottom:0;
  color:var(--cl-ink);
  font-size:11px;
  line-height:1.4;
  text-transform:uppercase;
}

.ui-blog-card__meta-copy{
  display:inline-flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
  min-width:0;
  overflow:hidden;
  color:var(--cl-ui-pill-text);
  white-space:nowrap;
  transform:translateY(1px);
}

.ui-blog-card__meta-copy > span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ui-blog-card__meta-copy time{
  flex:0 0 auto;
  white-space:nowrap;
}

.ui-blog-card__meta-copy span + span::before,
.ui-blog-card__meta-copy span + time::before{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin-right:10px;
  border-radius:var(--cl-radius-pill);
  background:currentColor;
  transform:translateY(-1px);
  vertical-align:middle;
}

.ui-blog-card h3,
.blog-card h3{
  margin:0;
  color:var(--cl-ink);
  font-size:16px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
}

.ui-blog-card:not(.ui-blog-card--mini) h3,
.blog-card--featured h3,
.related-card h3{
  font-size:18px;
  font-weight:500;
  line-height:1.35;
}

.blog-featured-strip__list h3{
  font-size:16px;
  font-weight:500;
  line-height:1.4;
}

.ui-blog-card h3 a{
  color:inherit;
  text-decoration:none;
}

.ui-blog-card h3 a::after{
  content:"";
  position:absolute;
  inset:0;
}

.ui-blog-card__link{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  border-radius:inherit;
  cursor:pointer;
}

.ui-blog-card p,
.blog-card p,
.related-card p,
.blog-featured-strip__list p{
  display:none;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.62;
}

.blog-card__body,
.blog-card--featured .blog-card__body{
  min-height:0;
}

.ui-blog-card--mini{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:14px;
  align-items:start;
  align-self:start;
  width:var(--cl-ui-card-width);
  height:var(--cl-ui-blog-card-mini-height);
  min-height:var(--cl-ui-blog-card-mini-height);
  padding:16px;
  border:1px solid var(--cl-border-soft);
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg, rgb(245,245,245));
  box-shadow:none;
  opacity:var(--cl-ui-card-opacity);
}

.ui-blog-card__media--mini{
  width:118px;
  aspect-ratio:1 / 1;
  border-radius:12px;
}

.ui-blog-card__media--mini .ui-blog-card__screen::before{
  top:-28%;
  right:-12%;
  width:84%;
  height:72%;
  border-radius:0 0 30px 30px;
}

.ui-blog-card__media--mini .ui-blog-card__screen::after{
  left:18%;
  bottom:28%;
  width:32%;
}

.ui-blog-card--mini .ui-blog-card__body{
  min-height:0;
  padding:2px 2px 2px 0;
}

.ui-blog-card--mini .ui-blog-card__body > div{
  gap:10px;
}

.ui-blog-card--mini .ui-blog-card__meta{
  grid-template-columns:minmax(0,1fr) fit-content(42%);
  justify-items:stretch;
}

.ui-blog-card--mini .ui-blog-card__pill{
  justify-self:end;
}

.ui-blog-card--mini h3{
  display:-webkit-box;
  max-width:100%;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}

.ui-blog-card--skeleton{
  pointer-events:none;
}

.ui-blog-card__skeleton-block,
.ui-blog-card__skeleton-line{
  overflow:hidden;
  background:linear-gradient(100deg,#dedede 18%,#eeeeee 36%,#dedede 54%);
  background-size:220% 100%;
  animation:cl-blog-skeleton 1.6s var(--cl-ui-button-ease) infinite;
}

.ui-blog-card__skeleton-block{
  position:absolute;
}

.ui-blog-card__skeleton-line{
  position:relative;
}

html.motion-skeleton--ready .ui-blog-card__skeleton-block,
html.motion-skeleton--ready .ui-blog-card__skeleton-line{
  background:#dedede;
  animation:none;
}

.ui-blog-card__skeleton-sheen{
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:0;
  display:block;
  width:62%;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.72),rgba(255,255,255,0));
  opacity:0;
  transform:translate3d(-180%,0,0) skewX(-12deg);
  will-change:auto;
}

.ui-blog-card--skeleton.is-skeleton-in-view .ui-blog-card__skeleton-sheen{
  will-change:transform,opacity;
}

.ui-blog-card__skeleton-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) 64px;
  gap:12px;
  align-items:center;
  min-height:26px;
}

.ui-blog-card__skeleton-line{
  display:block;
  width:58%;
  height:10px;
  border-radius:var(--cl-radius-pill);
}

.ui-blog-card__skeleton-line--pill{
  width:64px;
  height:26px;
  justify-self:end;
}

.ui-blog-card__skeleton-line--title{
  width:92%;
  height:14px;
}

.ui-blog-card__skeleton-line--title-short{
  width:66%;
  height:14px;
}

@keyframes cl-blog-skeleton{
  to{
    background-position:-220% 0;
  }
}

@media (prefers-reduced-motion:reduce){
  .ui-blog-card__skeleton-block,
  .ui-blog-card__skeleton-line{
    animation:none;
  }
}

.blog-featured-strip__list{
  gap:14px;
  border-top:0;
}

.blog-featured-strip__list .ui-blog-card{
  border-bottom:0;
  transition:box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-controls{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(220px,360px);
  gap:16px;
  align-items:start;
  margin-bottom:28px;
}

.blog-topic-rail.ui-category-nav{
  width:min(100%,360px);
  border:0;
}

.blog-topic-rail .ui-category-nav__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(17,17,17,.08);
  border-radius:0;
  color:var(--cl-ink);
  background:transparent;
  box-shadow:none;
  font-size:13px;
  line-height:1.25;
  text-decoration:none;
}

.blog-topic-rail .ui-category-nav__item:hover,
.blog-topic-rail .ui-category-nav__item[aria-current]{
  color:var(--cl-ink);
  background:transparent;
  box-shadow:none;
  text-decoration:none;
  transform:none;
}

.blog-featured-strip__list .ui-blog-card--mini{
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  grid-template-rows:auto;
  gap:14px;
  align-items:start;
  align-self:start;
  height:var(--cl-ui-blog-card-mini-height);
  min-height:var(--cl-ui-blog-card-mini-height);
  padding:16px;
  border:1px solid var(--cl-border-soft);
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg, rgb(245,245,245));
  box-shadow:none;
  opacity:var(--cl-ui-card-opacity);
  cursor:pointer;
}

@media (hover:hover) and (pointer:fine){
  .blog-featured-strip__list .ui-blog-card:hover{
    box-shadow:var(--cl-ui-card-shadow-hover);
  }
}

.blog-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}

.blog-library [hidden]{
  display:none!important;
}

.related-posts__list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:24px;
}

@media (max-width:1080px){
  .ui-blog-card-grid{
    grid-template-columns:1fr;
  }
}

/* Light card shells use the canonical BIS surface. Dark material scenes keep their dedicated depth treatment. */
.card,
.ui-card,
.problem-card,
.process-step,
.process-step:nth-child(2),
.insight-card,
.hero-virtual-card,
.virtual-focus-card,
.blog-hero:not(.blog-hero--index),
.blog-hero-feature,
.blog-spotlight-card,
.blog-featured-strip__list article,
.blog-filter-panel,
.blog-card,
.blog-empty,
.blog-no-results,
.blog-post__meta-panel,
.related-card,
.ui-blog-card,
.ui-blog-card--mini,
.blog-featured-strip__list .ui-blog-card--mini{
  width:var(--cl-ui-card-width);
  border-radius:var(--cl-ui-card-radius);
  background:var(--cl-ui-card-bg, rgb(245,245,245));
  box-shadow:var(--cl-ui-card-shadow);
  opacity:var(--cl-ui-card-opacity);
}

.blog-featured-strip__list article,
.ui-blog-card--mini{
  border:1px solid var(--cl-border-soft);
  box-shadow:none;
}

.blog-hero--index{
  border-bottom:0;
  overflow:visible;
}

.blog-hero__featured-list.blog-featured-strip__list{
  align-self:start;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
  min-width:0;
  padding:4px;
  margin:-4px;
  overflow:visible;
  border-top:0;
}

.blog-featured-slider{
  box-sizing:border-box;
  width:100vw;
  max-width:100vw;
  margin:4px calc(50% - 50vw) 0;
  overflow:hidden;
  border-top:1px solid var(--cl-line);
  border-bottom:1px solid var(--cl-line);
  color:var(--cl-ink);
  background:transparent;
}

.page-shell > main > .blog-featured-slider{
  width:100vw;
  max-width:100vw;
  margin-inline:calc(50% - 50vw);
}

.blog-featured-slider__viewport{
  overflow:hidden;
}

.blog-featured-slider__track{
  display:flex;
  width:max-content;
  transform:translateX(-50%);
  animation:blog-slider-ltr 42s linear infinite;
  will-change:transform;
}

.blog-featured-slider__group{
  display:flex;
  flex:0 0 auto;
}

.blog-featured-slider__item{
  display:flex;
  flex:0 0 clamp(260px,24vw,380px);
  min-height:156px;
  border-left:1px solid var(--cl-line);
  opacity:1;
  transition:opacity var(--cl-motion-base) var(--cl-ui-button-ease);
}

.blog-featured-slider__item:last-child{
  border-right:1px solid var(--cl-line);
}

.blog-featured-slider__item a{
  display:grid;
  align-content:start;
  gap:16px;
  width:100%;
  min-width:0;
  padding:38px 30px 34px;
  color:inherit;
  text-decoration:none;
}

.blog-featured-slider__item span{
  display:block;
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-size:clamp(21px,1.7vw,28px);
  font-weight:500;
  line-height:1.06;
}

.blog-featured-slider__item time{
  color:var(--cl-ink);
  font-size:var(--cl-body-size);
  font-weight:400;
  line-height:1.35;
}

@media (hover:hover) and (pointer:fine){
  .blog-featured-slider:hover .blog-featured-slider__track{
    animation-play-state:paused;
  }

  .blog-featured-slider__track:hover .blog-featured-slider__item{
    opacity:.38;
  }

  .blog-featured-slider__track:hover .blog-featured-slider__item:hover{
    opacity:1;
  }

  .blog-featured-slider__item a:hover span{
    font-synthesis:weight;
    font-weight:500;
    text-decoration:none;
  }
}

@keyframes blog-slider-ltr{
  from{
    transform:translateX(-50%);
  }

  to{
    transform:translateX(0);
  }
}

.site-footer.ui-site-footer{
  isolation:isolate;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  grid-template-rows:minmax(0,1fr) auto;
  gap:48px;
  align-items:start;
  align-content:stretch;
  overflow:hidden;
  padding:calc(56px + var(--cl-footer-reveal-tuck)) 22px 32px;
  border:0;
  background:var(--cl-footer-light-field);
}

.site-footer.ui-site-footer:before,
.site-footer.ui-site-footer:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.site-footer.ui-site-footer:before{
  background:linear-gradient(180deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.18) 36%,transparent 68%);
  opacity:.78;
}

.site-footer.ui-site-footer:after{
  inset:0;
  background:var(--cl-footer-light-sheen);
  filter:none;
  opacity:.36;
  transform:none;
}

.site-footer.ui-site-footer > *{
  position:relative;
  z-index:1;
}

.site-footer.ui-site-footer .ui-site-footer__wordmark{
  height:46px;
  min-height:46px;
  margin-left:-8px;
}

.ui-site-footer__brand{
  display:grid;
  grid-column:1;
  grid-row:1;
  gap:20px;
  align-self:start;
}

.ui-site-footer__brand p{
  max-width:680px;
  color:var(--cl-ink);
  line-height:1.65;
}

.ui-site-footer__panels{
  display:grid;
  grid-column:2;
  grid-row:1 / 3;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-content:start;
  align-self:center;
}

.ui-site-footer__column{
  display:grid;
  align-content:start;
  gap:10px;
}

.ui-site-footer__heading{
  color:var(--cl-ink);
  font-size:12px;
  font-weight:500;
  line-height:1.35;
  text-transform:uppercase;
}

.ui-site-footer__links{
  display:grid;
  gap:0;
  font-style:normal;
  border:0;
}

.ui-site-footer__link{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:48px;
  padding:9px 0;
  border-top:1px solid var(--cl-pill-border);
  border-bottom:0;
  color:var(--cl-ink);
  text-decoration:none;
  transition:border-color var(--cl-motion-base) var(--cl-ui-button-ease),color var(--cl-motion-base) var(--cl-ui-button-ease),transform var(--cl-motion-base) var(--cl-ui-button-ease);
}

.ui-site-footer__link:last-child{
  border-bottom:1px solid var(--cl-pill-border);
}

.ui-site-footer__link:hover{
  border-color:rgba(17,17,17,.20);
  color:#000000;
  transform:translateX(3px);
}

.ui-site-footer__icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border:1px solid rgba(0,0,0,.18);
  border-radius:var(--cl-radius-pill);
  background:var(--cl-pill-bg);
  font-size:11px;
  line-height:1;
  transition:background-color var(--cl-motion-base) var(--cl-ui-button-ease),border-color var(--cl-motion-base) var(--cl-ui-button-ease),box-shadow var(--cl-motion-base) var(--cl-ui-button-ease);
}

.ui-site-footer__link:hover .ui-site-footer__icon{
  border-color:rgba(0,0,0,.28);
  background:#ffffff;
  box-shadow:var(--cl-ui-footer-icon-shadow-hover);
}

.ui-site-footer__text{
  display:block;
  min-width:0;
}

.ui-site-footer__label{
  display:block;
  font-size:11px;
  line-height:1.3;
}

.ui-site-footer__detail,
.ui-site-footer__title{
  display:block;
  min-width:0;
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.ui-site-footer__title{
  font-weight:500;
}

.ui-site-footer__meta{
  grid-column:1;
  grid-row:2;
  align-self:end;
  width:100%;
  max-width:680px;
  padding-top:20px;
  border-top:1px solid var(--cl-pill-border);
  color:var(--cl-ink);
  font-size:13px;
  line-height:1.5;
}

@media (max-width:1080px){
  .home-showcase,
  .ui-form-grid,
  .site-footer.ui-site-footer,
  .ui-site-footer__panels{
    grid-template-columns:1fr;
  }

  .home-showcase{
    gap:48px;
  }

  .ui-field--wide{
    grid-column:auto;
  }

  .site-footer.ui-site-footer{
    position:sticky;
    bottom:0;
    z-index:1;
    grid-template-rows:auto auto auto;
    align-content:start;
    min-height:var(--cl-footer-reveal-depth);
    margin:calc(var(--cl-footer-reveal-tuck) * -1) auto 0;
    padding:calc(52px + var(--cl-footer-reveal-tuck)) 36px 28px;
  }

  .ui-site-footer__brand{
    grid-column:1;
    grid-row:1;
  }

  .ui-site-footer__panels{
    grid-column:1;
    grid-row:2;
    align-self:start;
  }

  .ui-site-footer__meta{
    grid-column:1;
    grid-row:3;
    width:100%;
    padding-top:20px;
    border-top:1px solid var(--cl-pill-border);
  }

  .blog-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .blog-hero__featured-list.blog-featured-strip__list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:900px){
  .blog-controls,
  .blog-list,
  .related-posts__list{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  :root{
    --cl-ui-blog-card-mini-height:128px;
  }

  .site-footer.ui-site-footer{
    width:100vw;
    margin:calc(var(--cl-footer-reveal-tuck) * -1) 0 0;
    padding:calc(36px + var(--cl-footer-reveal-tuck)) 22px calc(22px + env(safe-area-inset-bottom, 0px));
    gap:20px;
  }

  .site-footer.ui-site-footer .ui-site-footer__wordmark{
    height:48px;
    min-height:48px;
    margin-left:-8px;
  }

  .site-footer.ui-site-footer .ui-site-footer__brand{
    margin-bottom:12px;
  }

  .site-footer.ui-site-footer .ui-site-footer__panels,
  .site-footer.ui-site-footer .ui-site-footer__column{
    gap:0;
  }

  .site-footer.ui-site-footer .ui-site-footer__column:not(:last-child) .ui-site-footer__link:last-child{
    border-bottom:0;
  }

  .site-footer.ui-site-footer .ui-site-footer__heading{
    display:none;
  }

  .site-footer.ui-site-footer .ui-site-footer__text{
    display:flex;
    align-items:baseline;
    min-width:0;
  }

  .site-footer.ui-site-footer .ui-site-footer__label{
    display:block;
    flex:0 0 auto;
    color:var(--cl-ink);
    font-size:13px;
    line-height:1.3;
    white-space:nowrap;
  }

  .site-footer.ui-site-footer .ui-site-footer__detail{
    display:block;
    flex:1 1 auto;
    min-width:0;
    color:var(--cl-ink);
    font-size:13px;
    line-height:1.3;
    overflow-wrap:anywhere;
  }

  .site-footer.ui-site-footer .ui-site-footer__detail::before{
    content:"—";
    margin:0 6px;
    color:var(--cl-ink);
    font-weight:400;
  }

  .site-footer.ui-site-footer .ui-site-footer__meta{
    border-top:0;
  }

  .ui-spec-table{
    display:table;
    overflow:visible;
  }

  .ui-spec-table tbody{
    display:table-row-group;
    width:auto;
    min-width:0;
  }

  .ui-spec-table th,
  .ui-spec-table td{
    padding:14px 10px;
  }

  .ui-spec-table th{
    width:1%;
    letter-spacing:.08em;
  }

  .ui-blog-card--mini{
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
  }

  .blog-featured-strip__list .ui-blog-card--mini{
    grid-template-columns:96px minmax(0,1fr);
  }

  .ui-blog-card__media--mini{
    width:96px;
  }

  .ui-blog-card__meta{
    grid-template-columns:minmax(0,1fr) fit-content(42%);
    justify-items:stretch;
  }

  .ui-blog-card__pill{
    justify-self:end;
  }

  .ui-blog-card--mini .ui-blog-card__meta{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    justify-items:start;
  }

  .ui-blog-card--mini .ui-blog-card__meta-copy{
    display:inline-flex;
  }

  .ui-blog-card--mini .ui-blog-card__pill{
    display:none;
  }

  .blog-hero__featured-list.blog-featured-strip__list{
    grid-template-columns:1fr;
  }

  .blog-featured-slider__item{
    flex-basis:min(82vw,320px);
    min-height:142px;
  }

  .blog-featured-slider__item a{
    padding:30px 22px 28px;
  }
}

@media (pointer:coarse){
  .interactive-material{
    --mx:50%!important;
    --my:50%!important;
    --rx:0deg!important;
    --ry:0deg!important;
    --fgx:0px!important;
    --fgy:0px!important;
    --bgx:0px!important;
    --bgy:0px!important;
    --depth:0px!important;
    --material-scale:1!important;
    --press-scale:1!important;
  }

  .material-scene__object,
  .material-scene__foreground,
  .material-scene__refraction{
    transform:none!important;
  }

  .material-scene__pane--back,
  .material-scene__pane--front{
    display:none;
  }
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }

  .hero-virtual-card:before,
  .hero-virtual-card:after,
  .virtual-focus-card:before,
  .proof-frame:before,
  .proof-frame:after,
  .virtual-brief,
  .material-scene__refraction,
  .material-scene__object,
  .material-scene__pane,
  .material-scene__foreground,
  .diagnostic-card{
    transform:none!important;
  }

  .interactive-material{
    --mx:50%!important;
    --my:50%!important;
    --rx:0deg!important;
    --ry:0deg!important;
    --fgx:0px!important;
    --fgy:0px!important;
    --bgx:0px!important;
    --bgy:0px!important;
    --depth:0px!important;
    --material-scale:1!important;
    --press-scale:1!important;
    --light-opacity:.34!important;
  }

  .blog-hero-feature:hover,
  .blog-spotlight-card:hover,
  .blog-featured-strip__list article:hover,
  .blog-card:hover,
  .related-card:hover,
  .blog-topic-rail a:hover{
    transform:none!important;
  }

  .blog-featured-slider__viewport{
    overflow-x:auto;
  }

  .blog-featured-slider__track{
    transform:none!important;
    animation:none!important;
    will-change:auto;
  }

  .blog-featured-slider__group[aria-hidden="true"]{
    display:none;
  }
}

/* Blog index composition */
.page-shell > main.blog-index > .blog-hero--index{
  display:block;
  width:100%;
  max-width:none;
  min-height:408px;
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:var(--cl-bg);
  box-shadow:none;
}

.page-shell > main.blog-index > .blog-hero__divider{
  width:min(var(--cl-container),calc(100% - var(--cl-page-gutter)));
  max-width:none;
  margin:0 auto;
}

.blog-index .blog-hero--index .blog-hero__copy{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1fr);
  gap:64px;
  align-items:start;
  width:min(var(--cl-container),calc(100% - var(--cl-page-gutter)));
  max-width:none;
  min-height:408px;
  margin:0 auto;
  padding:78px 0 64px;
}

.blog-index .blog-hero--index .blog-kicker,
.blog-index .blog-hero--index .blog-hero__stats,
.blog-index .blog-hero--index .blog-hero__featured-list,
.blog-index > .blog-featured-slider{
  display:none;
}

.blog-index .blog-hero--index h1{
  display:grid;
  align-content:start;
  row-gap:clamp(12px,1.15vw,16px);
  width:max-content;
  max-width:100%;
  margin:0;
  font-size:clamp(84px,7.9vw,108px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.055em;
}

.blog-index .blog-hero--index h1 > span{
  display:block;
  color:var(--cl-ink);
  font-family:inherit;
  font-style:normal;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  text-shadow:none;
  -webkit-text-stroke:0;
  background:none;
  -webkit-text-fill-color:currentColor;
}

.blog-index .blog-hero--index .blog-hero__copy > p:not(.blog-kicker),
.blog-index .blog-hero--index .blog-hero__essay{
  grid-column:2;
  justify-self:end;
  width:100%;
  max-width:620px;
  margin:4px 0 0;
  text-align:right;
}

.blog-index .blog-hero--index .blog-hero__copy > p:not(.blog-kicker),
.blog-index .blog-hero--index .blog-hero__essay p{
  color:var(--cl-ink);
  font-family:var(--cl-font-serif);
  font-size:var(--cl-body-size);
  font-style:italic;
  line-height:1.68;
}

.blog-index .blog-hero--index .blog-hero__essay{
  --blog-essay-slope-width:min(42%,260px);
  --blog-essay-slope-height:12.432em;
  display:grid;
  gap:1.35em;
}

.blog-index .blog-hero--index .blog-hero__essay p{
  margin:0;
}

@supports (shape-outside:polygon(0 0,0 100%,100% 100%)){
  .blog-index .blog-hero--index .blog-hero__essay p:first-child::before{
    content:"";
    float:left;
    width:var(--blog-essay-slope-width);
    height:var(--blog-essay-slope-height);
    shape-outside:polygon(0 0,0 100%,100% 100%);
    pointer-events:none;
  }
}

.page-shell > main.blog-index > .blog-feed{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  align-items:start;
  width:min(var(--cl-container),calc(100% - var(--cl-page-gutter)));
  margin:0 auto;
  padding:50px 0 120px;
}

.blog-index .blog-feed__title{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.blog-index .blog-feed__header{
  display:none;
}

.blog-index .blog-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,320px);
  gap:24px;
  align-items:center;
  width:100%;
  margin:0;
}

.blog-index .blog-controls .ui-search{
  width:min(100%,640px);
}

.blog-index .blog-controls .ui-dropdown{
  width:100%;
  max-width:none;
  justify-self:end;
}

.blog-index .blog-controls .ui-dropdown[aria-disabled="true"]{
  opacity:.62;
}

.blog-index .blog-controls .ui-dropdown[aria-disabled="true"] > summary{
  pointer-events:none;
}

.blog-index .blog-library{
  display:grid;
  gap:16px;
  width:100%;
  min-width:0;
}

.blog-index .blog-library__grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start;
}

.blog-index .blog-library__grid .ui-blog-card{
  width:100%;
}

.blog-index .blog-library__status{
  min-height:22px;
  margin:0;
  color:var(--cl-muted);
  font-size:13px;
  line-height:1.5;
}

.blog-index .blog-library__pagination{
  display:flex;
  justify-content:center;
  padding-top:8px;
}

.blog-index .blog-library__pagination .ui-button{
  min-width:132px;
}

.ui-button__spinner{
  display:none;
  flex:none;
  width:12px;
  height:12px;
  border:1.5px solid currentColor;
  border-right-color:transparent;
  border-radius:50%;
  animation:spin .8s linear infinite;
}

.ui-button.is-loading .ui-button__spinner{
  display:block;
}

html.motion-spinner--ready .ui-button__spinner{
  animation:none;
}

.blog-index .blog-load-more-error{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:var(--cl-muted);
  font-size:13px;
  line-height:1.5;
}

.blog-index .blog-load-error{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:112px;
}

.blog-index .blog-load-error p{
  margin:0;
}

.blog-index .blog-no-results{
  min-height:112px;
}

.blog-index .blog-empty{
  margin-top:50px;
}

@media (max-width:1080px){
  .blog-index .blog-hero--index .blog-hero__copy{
    grid-template-columns:minmax(0,.72fr) minmax(380px,1fr);
    gap:40px;
  }
}

@media (max-width:900px){
  .page-shell > main.blog-index > .blog-hero--index,
  .blog-index .blog-hero--index .blog-hero__copy{
    min-height:0;
  }

  .blog-index .blog-hero--index .blog-hero__copy{
    grid-template-columns:minmax(0,1fr);
    gap:36px;
    padding:68px 0 64px;
  }

  .blog-index .blog-hero--index .blog-hero__copy > p:not(.blog-kicker),
  .blog-index .blog-hero--index .blog-hero__essay{
    grid-column:1;
    margin-top:0;
  }

  .blog-index .blog-hero--index .blog-hero__essay{
    --blog-essay-slope-width:min(32%,190px);
    --blog-essay-slope-height:13.776em;
  }

  .page-shell > main.blog-index > .blog-feed{
    padding:48px 0 104px;
  }

  .blog-index .blog-controls{
    grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  }
}

@media (max-width:640px){
  .blog-index .blog-hero--index .blog-hero__copy{
    gap:30px;
    padding:54px 0 50px;
  }

  .blog-index .blog-hero--index h1{
    font-size:72px;
    line-height:1;
  }

  .blog-index .blog-hero--index .blog-hero__essay{
    --blog-essay-slope-width:min(22%,84px);
    --blog-essay-slope-height:18.48em;
  }

  .page-shell > main.blog-index > .blog-feed{
    gap:24px;
    padding:40px 0 88px;
  }

  .blog-index .blog-controls{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }

  .blog-index .blog-controls .ui-search{
    width:100%;
  }

  .blog-index .blog-controls .ui-dropdown{
    width:100%;
    max-width:280px;
    justify-self:end;
  }

  .blog-index .blog-library__grid{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }

  .ui-blog-card__skeleton-meta{
    grid-template-columns:minmax(0,1fr);
  }

  .ui-blog-card__skeleton-line--pill{
    display:none;
  }

  .blog-index .blog-load-error{
    display:grid;
    justify-items:start;
  }

  .blog-index .blog-load-more-error{
    flex-direction:column;
  }
}

*:focus,
*:focus-visible{
  outline:0!important;
  outline-offset:0!important;
}

/* Shared page entrance for the home and public blog routes. */
@media (prefers-reduced-motion:no-preference){
  html.page-intro.page-intro--enabled .page-shell > .site-header,
  html.page-intro.page-intro--enabled [data-page-intro="from-left"],
  html.page-intro.page-intro--enabled [data-page-intro="from-right"]{
    transition:
      opacity var(--cl-motion-soft) var(--cl-ui-button-ease) var(--page-intro-delay,0ms),
      transform var(--cl-motion-soft) var(--cl-ui-button-ease) var(--page-intro-delay,0ms);
  }

  html.page-intro.page-intro--enabled [data-page-intro="fade"]{
    transition:opacity var(--cl-motion-soft) var(--cl-ui-button-ease) var(--page-intro-delay,0ms);
  }

  html.page-intro.page-intro--enabled .page-shell > .site-header{
    --page-intro-delay:0ms;
  }

  html.page-intro.page-intro--enabled [data-page-intro-order="1"]{
    --page-intro-delay:100ms;
  }

  html.page-intro.page-intro--enabled [data-page-intro-order="2"]{
    --page-intro-delay:200ms;
  }

  html.page-intro.page-intro--enabled [data-page-intro-order="3"]{
    --page-intro-delay:300ms;
  }

  html.page-intro.page-intro--enabled [data-page-intro-order="4"]{
    --page-intro-delay:400ms;
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) .page-shell > .site-header{
    opacity:0;
    transform:translate3d(0,-28px,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-left"]{
    opacity:0;
    transform:translate3d(-18px,0,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-right"]{
    opacity:0;
    transform:translate3d(18px,0,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="fade"]{
    opacity:0;
  }

  html.page-intro.page-intro--enabled.page-intro--ready .page-shell > .site-header{
    opacity:1;
    transform:none;
  }

  html.page-intro.page-intro--enabled.page-intro--ready [data-page-intro="from-left"],
  html.page-intro.page-intro--enabled.page-intro--ready [data-page-intro="from-right"]{
    opacity:1;
    transform:none;
  }

  html.page-intro.page-intro--enabled.page-intro--ready [data-page-intro="fade"]{
    opacity:1;
  }
}

@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-left"]{
    transform:translate3d(-12px,0,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-right"]{
    transform:translate3d(12px,0,0);
  }
}

@media (max-width:640px) and (prefers-reduced-motion:no-preference){
  html.page-intro.page-intro--enabled:not(.page-intro--ready) .page-shell > .site-header{
    transform:translate3d(0,-20px,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-left"]{
    transform:translate3d(-10px,0,0);
  }

  html.page-intro.page-intro--enabled:not(.page-intro--ready) [data-page-intro="from-right"]{
    transform:translate3d(10px,0,0);
  }
}

@media (prefers-reduced-motion:no-preference){
  html.page-intro.scroll-reveal--enabled [data-related-posts-reveal] [data-scroll-reveal]{
    opacity:0;
    transition:opacity var(--cl-motion-soft) var(--cl-ui-button-ease) var(--related-post-reveal-delay,0ms);
  }

  html.page-intro.scroll-reveal--enabled [data-related-posts-reveal] [data-scroll-reveal].is-scroll-revealed{
    opacity:1;
  }
}

@media (prefers-reduced-motion:no-preference){
  html.motion-runtime--ready.page-intro.page-intro--enabled .page-shell > .site-header,
  html.motion-runtime--ready.page-intro.page-intro--enabled [data-page-intro],
  html.motion-runtime--ready.page-intro.scroll-reveal--enabled [data-related-posts-reveal] [data-scroll-reveal]{
    transition:none;
  }
}

@media (prefers-reduced-motion:reduce){
  html.page-intro .page-shell > .site-header,
  html.page-intro [data-page-intro],
  html.scroll-reveal--enabled [data-related-posts-reveal] [data-scroll-reveal]{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }

  .ui-site-header__reflection,
  .ui-blog-card__skeleton-sheen,
  .ui-button__spinner{
    animation:none!important;
    will-change:auto;
  }
}
