/* /assets/css/site.css /assets/css/sections.css /assets/css/product.css /assets/css/product-page.css /assets/css/placeholder-content.css /assets/css/search.css /assets/css/ambient.css /assets/css/product-nav.css /assets/css/home.css */
@font-face{
  font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/assets/fonts/inter-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/assets/fonts/inter-latin.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;
}
:root{--teal-black:          #081817;
  --teal-black-hover:    #0F302E;
  --teal-black-pressed:  #030C0B;
  --identity:            #306F75;
  --identity-strong:     #214F55;
  --identity-on-dark:    #9CC9C5;
  --teal-soft:           #D6E7E5;
  --teal-canvas:         #F3F8F7;
  --teal-chrome:         #F7FAF9;
  --teal-rail:           #F2F7F6;
  --white:               #FFFFFF;

  --text-primary:        #081817;
  --text-secondary:      #52606D;
  --text-muted:          #5C6672;
  --text-inverse:        #FFFFFF;

  --border:              #D9E2EC;
  --border-strong:       #7C8896;
  --divider:             #E5EAF0;

  
  --on-dark-primary:     #FFFFFF;
  --on-dark-secondary:   rgba(255,255,255,0.78);
  --on-dark-muted:       rgba(255,255,255,0.60);
  --on-dark-hairline:    rgba(255,255,255,0.14);

  
  --radius-control:      10px;
  --radius-card:         14px;
  --radius-panel:        20px;
  --radius-dialog:       28px;
  --radius-button:       10px;   
  --radius-banner:       32px;   
  --radius-pill:         999px;   
  
  --radius-chip:         10px;

  
  --shadow-xs:       0 1px 2px rgba(8,24,23,0.04);
  --shadow-sm:       0 1px 3px rgba(8,24,23,0.06), 0 1px 2px rgba(8,24,23,0.04);
  --shadow-md:       0 4px 12px rgba(8,24,23,0.06);
  --shadow-lg:       0 12px 32px rgba(8,24,23,0.08);
  --shadow-floating: 0 24px 64px rgba(8,24,23,0.14);
  
  --shadow-header-light: 0 14px 18px -6px rgba(8,24,23,0.20),
                         0 4px 8px -4px rgba(8,24,23,0.14);
  --shadow-header-dark:  0 14px 20px -6px rgba(156,201,197,0.26),
                         0 4px 9px -5px rgba(255,255,255,0.22);
  
  --shadow-cta-light:        0 2px 3px rgba(8,24,23,0.10), 0 6px 14px -4px rgba(8,24,23,0.18);
  --shadow-cta-light-hover:  0 3px 5px rgba(8,24,23,0.12), 0 12px 22px -6px rgba(8,24,23,0.24);
  --shadow-cta-light-active: 0 1px 2px rgba(8,24,23,0.14);
  --shadow-cta-dark:         0 2px 4px rgba(3,12,11,0.45), 0 8px 18px -6px rgba(156,201,197,0.22);
  --shadow-cta-dark-hover:   0 3px 6px rgba(3,12,11,0.5), 0 14px 26px -8px rgba(156,201,197,0.32);
  --shadow-cta-dark-active:  0 1px 2px rgba(3,12,11,0.5);

  
  --status-yes:         #2E7D5B;
  --status-yes-on-dark: #6FCFA1;
  --status-no:          #C2560F;
  --status-no-on-dark:  #F0A15C;

  --shadow-frame-light: inset 0 0 26px rgba(8,24,23,0.13);
  --shadow-frame-dark:  inset 0 0 30px rgba(156,201,197,0.16),
                        inset 0 0 10px rgba(255,255,255,0.10);

  
  --t-instant:  75ms;
  --t-fast:     120ms;
  --t-standard: 180ms;
  --t-panel:    240ms;
  --ease:       cubic-bezier(0.4, 0, 0.2, 1);

  
  --container:    1184px;  
  
  --frame:        16px;    
  --frame-border: 32px;    
  --frame-radius: 64px;    
  
  --header-max:   968px;
  --header-h:     60px;

  
  --view: calc(100vh - (var(--frame) * 2));
  --view: calc(100dvh - (var(--frame) * 2));

  
  --open-pad-y: clamp(28px, 4vh, 64px);
  --header-top:   calc(var(--frame) / 2);  
  
  
  --bar-inset:    clamp(16px, 12vw, 140px);
  --header-fillet-max: 30px;
  
  
  --header-fillet: min(
      var(--header-fillet-max),
      max(var(--bar-inset),
          calc((100vw - (var(--frame) * 2) - var(--header-max)) / 2)));
  --section-y:    clamp(40px, calc(35.5vh - 216px), 104px);   
  --block-gap:    clamp(28px, calc(15.5vh - 84px), 56px);     
  

  --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;}
*, *::before, *::after{box-sizing: border-box;}
button{font: inherit;
  color: inherit;
  background: none;
  border: 0;
  margin: 0;
  cursor: pointer;}
html{-webkit-text-size-adjust: 100%;}
html{background: var(--white);}
body{margin: 0;
  padding: var(--frame);        
  background: var(--white);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;}
.page-frame{position: fixed;
  inset: calc(var(--frame) * -1);
  border: var(--frame-border) solid var(--white);
  border-radius: var(--frame-radius);
  pointer-events: none;
  z-index: 40;
  
  box-shadow: var(--shadow-frame-light);
  transition: box-shadow var(--t-panel) var(--ease);}
.page-frame.on-dark{box-shadow: var(--shadow-frame-dark);}
h1, h2, h3, h4{margin: 0; line-height: 1.15; letter-spacing: -0.02em; font-weight: 700;}
p{margin: 0;}
img{max-width: 100%; display: block;}
a{color: var(--identity-strong); text-decoration-thickness: 1px; text-underline-offset: 2px;}
:focus-visible{outline: none;
  box-shadow: 0 0 0 3px var(--focus-ring, rgba(48, 111, 117, 0.38));}
.band-dark :focus-visible, .hero :focus-visible, .phero :focus-visible, .auth :focus-visible, .endcap__cta :focus-visible{--focus-ring: rgba(156, 201, 197, 0.55);}
.skip-link{position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--teal-black); color: var(--white);
  padding: 10px 16px; border-radius: var(--radius-control);
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: top var(--t-fast) var(--ease);}
.skip-link:focus{top: 12px;}
.container{width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;}
.sr-only{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
.consent-bar{position: fixed;
  z-index: 120;
  left: 50%;
  bottom: calc(var(--frame) + 14px);
  width: min(calc(100vw - (var(--frame) * 2) - 28px), 1040px);
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px;
  color: var(--on-dark-primary);
  background: var(--teal-black);
  border: 1px solid rgba(156, 201, 197, 0.34);
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-floating);}
.consent-bar[hidden]{display: none;}
.consent-bar__copy{max-width: 680px;}
.consent-bar__copy h2{color: var(--white);
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.02em;}
.consent-bar__copy p{margin-top: 7px;
  color: var(--on-dark-secondary);
  font-size: 12.5px;
  line-height: 1.55;}
.consent-bar__copy a{color: var(--identity-on-dark);
  text-decoration: underline;
  text-underline-offset: 2px;}
.consent-bar__actions{display: grid;
  grid-template-columns: repeat(2, minmax(148px, 1fr));
  gap: 10px;
  flex: none;}
.consent-bar__actions .btn{min-height: 46px;}
.consent-bar__actions .btn-secondary, .consent-bar__actions .btn-primary{color: var(--teal-black);
  background: var(--identity-on-dark);
  border-color: var(--identity-on-dark);}
.consent-bar__actions .btn-secondary:hover, .consent-bar__actions .btn-primary:hover{background: var(--teal-soft);}
@media (max-width: 780px){.consent-bar{align-items: stretch; flex-direction: column; gap: 18px;}
.consent-bar__actions{width: 100%;}}
@media (max-width: 430px){.consent-bar{bottom: calc(var(--frame) + 8px);
    width: calc(100vw - (var(--frame) * 2) - 16px);
    padding: 18px;}
.consent-bar__actions{grid-template-columns: 1fr;}}
.btn{display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; white-space: nowrap;
  font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1;
  padding: 14px 22px; min-height: 46px;
  border: 1px solid transparent; border-radius: var(--radius-button);
  cursor: pointer; text-decoration: none;
  transition: background-color var(--t-fast) var(--ease),
              border-color var(--t-fast) var(--ease),
              box-shadow var(--t-standard) var(--ease),
              transform var(--t-standard) var(--ease),
              color var(--t-fast) var(--ease);}
.btn-sm{font-size: 14px; padding: 11px 18px; min-height: 42px;}
.btn-lg{font-size: 16px; padding: 17px 28px; min-height: 54px;}
.btn-primary{background: var(--teal-black); color: var(--white);
  box-shadow: var(--shadow-cta-light);}
.btn-primary:hover{background: var(--teal-black-hover); box-shadow: var(--shadow-cta-light-hover); transform: translateY(-1px);}
.btn-primary:active{background: var(--teal-black-pressed); box-shadow: var(--shadow-cta-light-active); transform: translateY(1px);}
.btn-secondary{background: var(--white); color: var(--teal-black); border-color: var(--border-strong);
  box-shadow: var(--shadow-cta-light);}
.btn-secondary:hover{background: var(--teal-soft); box-shadow: var(--shadow-cta-light-hover); transform: translateY(-1px);}
.btn-secondary:active{background: var(--teal-soft); box-shadow: var(--shadow-cta-light-active); transform: translateY(1px);}
.btn-on-dark{background: var(--identity-on-dark); color: var(--teal-black);
  box-shadow: var(--shadow-cta-dark);}
.btn-on-dark:hover{background: #B4D8D5; box-shadow: var(--shadow-cta-dark-hover); transform: translateY(-1px);}
.btn-on-dark:active{background: #8ABAB6; box-shadow: var(--shadow-cta-dark-active); transform: translateY(1px);}
.btn-ghost-on-dark{background: rgba(255, 255, 255, 0.10); color: var(--white);
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: var(--shadow-cta-dark);}
.btn-ghost-on-dark:hover{background: rgba(255, 255, 255, 0.18); border-color: var(--identity-on-dark);
  box-shadow: var(--shadow-cta-dark-hover); transform: translateY(-1px);}
.btn-ghost-on-dark:active{box-shadow: var(--shadow-cta-dark-active); transform: translateY(1px);}
.site-header{position: fixed; z-index: 50;
  top: var(--header-top); left: 0; right: 0;
  width: min(calc(100% - (var(--frame) * 2) - (var(--bar-inset) * 2)), var(--header-max));
  margin-inline: auto;
  background: var(--white);
  border-radius: 0 0 var(--radius-banner) var(--radius-banner);}
.header-shade{position: fixed;
  z-index: 39;                         
  top: var(--header-top); left: 0; right: 0;
  width: min(calc(100% - (var(--frame) * 2) - (var(--bar-inset) * 2)), var(--header-max));
  height: var(--header-h);
  margin-inline: auto;
  border-radius: 0 0 var(--radius-banner) var(--radius-banner);
  pointer-events: none;
  box-shadow: var(--shadow-header-light);
  transition: box-shadow var(--t-panel) var(--ease);}
.header-shade.on-dark{box-shadow: var(--shadow-header-dark);}
.site-header::before, .site-header::after{content: "";
  position: absolute;
  top: calc(var(--frame) - var(--header-top));   
  width: var(--header-fillet);
  height: var(--header-fillet);
  pointer-events: none;}
.site-header::before{left: calc(var(--header-fillet) * -1);
  background: radial-gradient(circle at 0 100%,
              transparent var(--header-fillet),
              var(--white) calc(var(--header-fillet) + 0.5px));}
.site-header::after{right: calc(var(--header-fillet) * -1);
  background: radial-gradient(circle at 100% 100%,
              transparent var(--header-fillet),
              var(--white) calc(var(--header-fillet) + 0.5px));}
.site-header__inner{height: var(--header-h);
  display: flex; align-items: center; gap: 24px;
  padding: 0 28px 0 24px;}
.brand{display: inline-flex; align-items: center; text-decoration: none; flex: none;}
.brand img{width: 104px; height: 52px; object-fit: contain;
  
  image-rendering: -webkit-optimize-contrast;}
.nav{display: flex; align-items: center; gap: 4px; margin-left: 8px;}
.nav__link{display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 12px; border-radius: var(--radius-control);
  font-size: 15px; font-weight: 500; color: var(--text-primary);
  text-decoration: none;
  transition: background-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);}
.nav__link:hover{color: var(--text-primary);}
.nav__chevron{width: 14px; height: 14px; flex: none; transition: transform var(--t-fast) var(--ease);}
.nav__link:focus-visible, .nav__drop-item:focus-visible, .nav__item:focus-visible{outline: none;}
.nav__link:focus-visible::after{transform: scaleX(1); height: 2.5px;}
.nav__item:focus-visible strong::after{transform: scaleX(1); height: 2.5px;}
.nav{align-self: stretch; align-items: stretch;}
.nav > .nav__link{align-self: center;}
.nav__group{position: relative;
  align-self: stretch; display: flex; align-items: center;}
.nav__panel{position: absolute; top: 100%; left: -12px;
  min-width: 316px; padding: 14px 12px 12px;
  background: var(--white);
  border: 0;
  border-radius: 0 0 var(--radius-panel) var(--radius-panel);
  box-shadow: 0 22px 34px -14px rgba(8, 24, 23, 0.26);}
.nav__panel::before, .nav__panel::after{content: ""; position: absolute; top: 0;
  width: var(--nav-fillet, 14px); height: var(--nav-fillet, 14px);
  pointer-events: none;}
.nav__panel::before{right: 100%;
  background: radial-gradient(circle at 0 100%,
              transparent var(--nav-fillet, 14px), var(--white) var(--nav-fillet, 14px));}
.nav__panel::after{left: 100%;
  background: radial-gradient(circle at 100% 100%,
              transparent var(--nav-fillet, 14px), var(--white) var(--nav-fillet, 14px));}
.nav__panel{opacity: 0; visibility: hidden; transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
              visibility 0s linear 260ms;}
.nav__panel[hidden]{display: block;}
.nav__panel.is-open{opacity: 1; visibility: visible; transform: none; pointer-events: auto;
  transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
              visibility 0s linear 0s;}
.nav__group > button[aria-expanded="true"] .nav__chevron{transform: rotate(180deg);}
.nav__item{display: block; padding: 11px 12px; border-radius: var(--radius-control);
  text-decoration: none; color: var(--text-primary);
  transition: background-color var(--t-fast) var(--ease);}
.nav__item strong{display: block; font-size: 15px; font-weight: 600;}
.nav__item span{display: block; font-size: 13px; color: var(--text-muted); margin-top: 2px;}
.header__actions{margin-left: auto; display: flex; align-items: center; gap: 8px; flex: none;}
.header__actions .btn{flex: none;}
.nav__toggle{display: none; align-items: center; justify-content: center;
  flex: none;
  width: 44px; height: 44px; margin-left: auto;
  background: none; border: 0;
  border-radius: var(--radius-control); cursor: pointer;
  transition: background-color var(--t-fast) var(--ease);}
.nav__toggle:hover, .nav__toggle[aria-expanded="true"]{background: var(--teal-canvas);}
.nav__toggle span{display: block; width: 18px; height: 1.6px; background: var(--teal-black);
  border-radius: 2px; position: relative;}
.nav__toggle span::before, .nav__toggle span::after{content: ""; position: absolute; width: 12px; height: 1.6px;
  background: var(--teal-black); border-radius: 2px;}
.nav__toggle span::before{top: -5.5px; right: 0;}
.nav__toggle span::after{top:  5.5px; left: 0;}
.nav__toggle:hover span::before, .nav__toggle:hover span::after{width: 16px;}
.nav__toggle span, .nav__toggle span::before, .nav__toggle span::after{transition: transform var(--t-standard) var(--ease),
              width var(--t-standard) var(--ease),
              opacity var(--t-fast) var(--ease),
              background-color var(--t-fast) var(--ease);}
.nav__toggle[aria-expanded="true"] span{background: transparent;}
.nav__toggle[aria-expanded="true"] span::before{top: 0; width: 18px; transform: rotate(45deg);}
.nav__toggle[aria-expanded="true"] span::after{top: 0; width: 18px; transform: rotate(-45deg);}
@media (max-width: 1023px){.nav{display: none;}
.nav__toggle{display: inline-flex; margin-left: 4px;}
.header__actions{margin-left: auto;}}
.nav__drop{border-top: 1px solid var(--divider);
  padding: 8px 10px 14px;}
.nav__drop[hidden]{display: none;}
.nav__drop-item{display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; min-height: 56px; padding: 14px 14px;
  background: none; border: 0; border-radius: var(--radius-control);
  font-family: inherit; font-size: 17px; font-weight: 600; letter-spacing: -0.01em;
  color: var(--text-primary); text-align: left; text-decoration: none; cursor: pointer;
  transition: background-color var(--t-fast) var(--ease);}
.nav__drop-item:hover{background: var(--teal-canvas);}
.nav__drop-item img{width: 18px; height: 18px; flex: none; opacity: 0.55;
  transition: transform var(--t-standard) var(--ease);}
.nav__drop-item[aria-expanded="true"] img{transform: rotate(180deg);}
.nav__drop-sub{padding: 2px 0 8px 10px;}
.nav__drop-sub[hidden]{display: none;}
.nav__drop-sub a{display: block; padding: 11px 14px; border-radius: var(--radius-control);
  text-decoration: none; color: var(--text-primary);
  border-left: 2px solid var(--teal-soft);}
.nav__drop-sub a:hover{background: var(--teal-canvas);}
.nav__drop-sub strong{display: block; font-size: 15px; font-weight: 600;}
.nav__drop-sub span{display: block; font-size: 13px; color: var(--text-muted); margin-top: 2px;}
.nav__drop-cta{display: none; gap: 10px; padding: 12px 14px 4px;}
.nav__drop-cta .btn{width: 100%;}
@media (min-width: 1024px){.nav__drop{display: none;}}
@media (max-width: 1023px){:root{--frame: 12px; --frame-border: 24px; --frame-radius: 48px;}}
@media (max-width: 767px){:root{--frame: 8px; --frame-border: 16px; --frame-radius: 36px; --header-h: 58px;}
.site-header__inner{gap: 10px; padding: 0 14px 0 12px;}}
@media (max-width: 599px){.header__actions{display: none;}
.nav__drop-cta{display: grid;}
.nav__toggle{margin-left: auto;}}
@media (max-width: 429px){:root{--frame: 6px; --frame-border: 12px; --frame-radius: 28px;}
.site-header__inner{padding: 0 10px 0 8px;}}
@media (max-width: 300px){.brand img{width: 84px; height: 42px;}
.nav__toggle{width: 38px; height: 38px;}}
.endcap{margin: 0;
  border-radius: var(--radius-banner);
  overflow: hidden;
  background: var(--white);}
.endcap__cta{position: relative;
  background: var(--teal-black);
  color: var(--on-dark-primary);
  padding: 152px 0 216px;      
  text-align: center;}
.endcap__cta::after{content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 260px;
  
  background: linear-gradient(to bottom,
              rgba(8, 24, 23, 0) 0%,
              rgba(8, 24, 23, 0.40) 30%,
              rgba(8, 24, 23, 0.78) 58%,
              rgba(255, 255, 255, 0.88) 88%,
              rgb(255, 255, 255) 100%);
  pointer-events: none;}
.endcap__cta > .container{position: relative; z-index: 1;}
.endcap__cta h2{font-size: clamp(30px, 4.4vw, 52px);
  line-height: 1.12; letter-spacing: -0.03em;
  max-width: 20ch; margin-inline: auto;
  color: var(--white);}
.endcap__cta h2 .quiet{color: rgba(156, 201, 197, 0.55);}
.endcap__cta p{margin: 22px auto 0; max-width: 56ch;
  font-size: clamp(15px, 1.4vw, 17px);
  color: var(--on-dark-secondary); line-height: 1.65;}
.endcap__action{margin-top: 34px; display: flex; justify-content: center;
  flex-wrap: wrap; gap: 12px;}
@media (max-width: 1023px){.endcap__cta{padding: 116px 0 180px;}}
@media (max-width: 767px){.endcap__cta{padding: 88px 0 150px;}
.endcap__cta::after{height: 200px;}}
.endcap__mark{overflow: hidden;
  line-height: 0;
  margin-top: 12px;}
.endcap__mark span{display: block;
  text-align: center;
  white-space: nowrap;
  font-family: var(--font-sans);
  font-size: 38.6vw;   
  font-weight: 700;
  letter-spacing: -0.045em;

  
  line-height: 1.21;
  margin-top: -0.2em;
  margin-bottom: -0.225em;

  color: rgba(8, 24, 23, 0.055);
  user-select: none;
  -webkit-user-select: none;}
.nav__link, .nav__drop-item{position: relative;}
.nav__link::after{content: "";
  position: absolute; left: 12px; right: 12px; bottom: 5px; height: 1.5px;
  background: var(--identity);
  border-radius: 2px;
  transform: scaleX(0); transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);}
.nav__link:hover::after, .nav__link:focus-visible::after, .nav__link[aria-expanded="true"]::after{transform: scaleX(1);}
.nav__item{position: relative;}
.nav__item strong{position: relative; display: inline-block;}
.nav__item strong::after{content: "";
  position: absolute; left: 0; right: 0; bottom: -3px; height: 1.5px;
  background: var(--identity); border-radius: 2px;
  transform: scaleX(0); transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);}
.nav__item:hover strong::after{transform: scaleX(1);}
.nav__link[aria-expanded="true"] .nav__chevron{transform: rotate(180deg);}
@media (prefers-reduced-motion: reduce){.nav__link::after, .nav__item strong::after, .nav__chevron{transition: none !important;}}
.is-open-block{min-height: var(--view);
  display: flex; flex-direction: column; justify-content: center;
  padding-top: var(--open-pad-y);
  padding-bottom: var(--open-pad-y);}
.is-open-block{padding-top: calc(var(--open-pad-y) + var(--header-h));}
@media (max-height: 640px){.is-open-block{min-height: 0; justify-content: flex-start;}}
.site-footer{background: var(--white); color: var(--text-primary);
  margin: 0;
  border-radius: 0;              
  padding: 48px 0 40px;}
.site-footer .container{padding-inline: 40px;}
.footer__line{display: flex; align-items: center; flex-wrap: wrap;
  justify-content: space-between;      
  gap: clamp(8px, 0.8vw, 16px);
  padding-bottom: 14px; margin-bottom: 44px;}
.footer__lockup{display: block; flex: none; line-height: 0;}
.footer__lockup img{width: clamp(34px, 2.6vw, 50px); height: clamp(34px, 2.6vw, 50px);
  object-fit: contain;}
.footer__policies{display: contents;}
.footer__policies a{font-size: clamp(12px, 0.92vw, 15.5px);
  color: var(--text-secondary); text-decoration: none;
  transition: color var(--t-fast) var(--ease);}
.footer__policies a:hover{color: var(--text-primary); text-decoration: underline;}
.footer__copy{font-size: clamp(12px, 0.92vw, 15.5px);
  color: var(--text-muted); white-space: nowrap;}
.footer__social{list-style: none; margin: 0; padding: 0;
  display: flex; align-items: center;
  
  gap: clamp(3px, 0.24vw, 4.5px);}
.footer__social a{display: grid; place-items: center;
  width: clamp(38px, 2.9vw, 56px); height: clamp(38px, 2.9vw, 56px);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);}
.footer__social a:hover{color: var(--white); background: var(--teal-black);}
.footer__social a:focus-visible{outline: none;}
.footer__social svg{display: block;
  width: clamp(18px, 1.4vw, 27px); height: clamp(18px, 1.4vw, 27px);}
.footer__social a[data-pending]{opacity: 0.38; pointer-events: none; cursor: default;}
@media (max-width: 1100px){.footer__policies{display: flex; align-items: center;      
    gap: 0 clamp(10px, 1.2vw, 18px);
    order: 3; flex: 1 0 100%;
    flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden;
    scrollbar-width: none; -ms-overflow-style: none;
    padding-bottom: 2px;}
.footer__policies::-webkit-scrollbar{display: none;}
.footer__policies a{white-space: nowrap;}}
.footer__grid{display: grid; gap: 40px 24px;
  grid-template-columns: repeat(6, minmax(0, 1fr));}
.footer__col h3{font-size: 13px; font-weight: 600; letter-spacing: 0.01em; text-transform: none;
  color: var(--identity-strong); margin-bottom: 12px;}
.footer__col ul{list-style: none; margin: 0; padding: 0; display: grid; gap: 0;}
.footer__col li{line-height: 0;}
.footer__col a{display: inline-block; line-height: 1.5;
  padding: 2px 0;
  white-space: nowrap;                 
  color: var(--text-secondary); text-decoration: none; font-size: 14px;
  transition: color var(--t-fast) var(--ease);}
.footer__col a:hover{color: var(--text-primary); text-decoration: underline;}
@media (max-width: 1180px){.footer__grid{grid-template-columns: repeat(3, minmax(0, 1fr));}}
@media (max-width: 1023px){.footer__copy{white-space: normal;}}
@media (max-width: 600px){.site-footer{margin: 0; padding: 40px 0 32px;}
.site-footer .container{padding-inline: 22px;}
.footer__line{margin-bottom: 34px;}
.footer__grid{grid-template-columns: 1fr 1fr; gap: 32px 20px;}}
@media (max-width: 360px){.footer__grid{grid-template-columns: 1fr;}}
@media (prefers-reduced-motion: reduce){*, *::before, *::after{animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;}}
.abody a.btn, .acta a.btn{text-decoration: none;}
.abody a.btn-primary, .acta a.btn-primary{color: var(--white);}
.abody a.btn-secondary, .acta a.btn-secondary{color: var(--teal-black);}
.abody a.btn-on-dark, .acta a.btn-on-dark{color: var(--teal-black);}
.endcap__cta h2 .quiet{color: rgba(156, 201, 197, 0.74);}
.endcap__cta{padding: 104px 0 168px;}
.endcap__cta::after{height: 210px;}
html{scroll-padding-top: calc(var(--header-h) + 28px);}
.site-footer > .container{max-width: none;
  padding-inline: clamp(20px, 2.6vw, 48px);}
.totop{position: fixed; z-index: 45;
  right: calc(var(--frame) + 20px);
  bottom: calc(var(--frame) + 20px);
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border: 0;
  border-radius: var(--radius-control);   
  background: var(--teal-black);
  color: var(--identity-on-dark);
  cursor: pointer;
  box-shadow: var(--shadow-cta-light);

  
  opacity: 0; visibility: hidden;
  transform: translateY(10px) scale(0.94);
  pointer-events: none;
  transition: opacity 220ms var(--ease), transform 260ms var(--ease),
              background-color 200ms var(--ease), color 200ms var(--ease),
              box-shadow 200ms var(--ease),
              visibility 0s linear 260ms;}
.totop.is-in{opacity: 1; visibility: visible;
  transform: none; pointer-events: auto;
  transition: opacity 220ms var(--ease), transform 260ms var(--ease),
              background-color 200ms var(--ease), color 200ms var(--ease),
              box-shadow 200ms var(--ease),
              visibility 0s;}
.totop svg{width: 19px; height: 19px; display: block;}
.totop.on-dark{background: var(--identity-on-dark);
  color: var(--teal-black);
  box-shadow: var(--shadow-cta-dark);}
.totop:hover{background: var(--teal-black-hover, #0d2422); color: var(--white);}
.totop.on-dark:hover{background: var(--teal-soft); color: var(--teal-black);}
.totop:active{transform: translateY(1px);}
.totop:focus-visible{outline: none;
  box-shadow: var(--shadow-cta-light),
              0 0 0 3px var(--focus-ring, rgba(48, 111, 117, 0.38));}
.totop.on-dark:focus-visible{box-shadow: var(--shadow-cta-dark),
              0 0 0 3px rgba(214, 231, 229, 0.55);}
@media (prefers-reduced-motion: reduce){.totop{transition: opacity 1ms linear, visibility 0s linear 1ms; transform: none;}
.totop.is-in{transition: opacity 1ms linear, visibility 0s;}}
@media (max-width: 600px){.totop{right: calc(var(--frame) + 14px); bottom: calc(var(--frame) + 14px);
    width: 42px; height: 42px;}}
nav.crumb-rail{--crumb-room: calc(
      max(calc(var(--frame) + var(--bar-inset)),
          calc((100vw - var(--header-max)) / 2))
      - var(--frame) - 38px);

  position: fixed; z-index: 60;
  
  top: calc(var(--header-top) + ((var(--header-h) - 38px) / 2));
  left: calc(var(--frame) + 6px);
  height: 38px;
  max-width: var(--crumb-room);
  margin: 0;                              
  padding: 0 10px;                        
  display: flex; align-items: center; gap: 7px; flex-wrap: nowrap;
  white-space: nowrap; overflow: hidden;
  border-radius: var(--radius-control);
  font-size: 13px; line-height: 1;}
nav.crumb-rail a{flex: 0 0 auto;}
nav.crumb-rail b{flex: 0 1 auto; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-weight: 500;}
nav.crumb-rail [hidden]{display: none;}
.crumb-rail__gap{opacity: 0.55;}
nav.crumb-rail{transition: opacity var(--t-fast) var(--ease),
              visibility 0s linear 0s;}
nav.crumb-rail.is-gone{opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--t-fast) var(--ease),
              visibility 0s linear var(--t-fast);}
.crumb-rail.on-dark{color: var(--on-dark-muted);}
.crumb-rail.on-dark a{color: var(--identity-on-dark);}
.crumb-rail.on-dark span{color: var(--on-dark-muted); opacity: 0.6;}
.crumb-rail.on-dark b{color: var(--white);}
.crumb-rail.on-light{color: var(--text-secondary);}
.crumb-rail.on-light a{color: var(--identity-strong);}
.crumb-rail.on-light span{color: var(--text-muted); opacity: 1;}
.crumb-rail.on-light b{color: var(--teal-black);}
html:has(.nav__panel.is-open) .crumb-rail, html:has(.nav__drop:not([hidden])) .crumb-rail{opacity: 0; pointer-events: none;}
@media (max-width: 1199px){nav.crumb-rail{position: static; max-width: none; height: auto;
    padding: 0; white-space: normal; flex-wrap: wrap; overflow: visible;}
nav.crumb-rail b{overflow: visible; text-overflow: clip;}}
.crumb-rail.is-inflow{position: static; max-width: none; height: auto;
  padding: 0; white-space: normal; flex-wrap: wrap; overflow: visible;}
.crumb-rail.is-inflow b{overflow: visible; text-overflow: clip;}
@media (max-width: 1199px){.crumb.crumb-rail{margin-bottom: 22px;}}
.crumb.crumb-rail.is-inflow{margin-bottom: 22px;}
.endcap__cta::after{height: 250px;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 260' preserveAspectRatio='none'><defs><filter id='s' x='-10%' y='-60%' width='120%' height='220%'><feGaussianBlur stdDeviation='14'/></filter><filter id='w' x='-10%' y='-60%' width='120%' height='220%'><feGaussianBlur stdDeviation='30'/></filter></defs><path filter='url(%23w)' fill='%23ffffff' fill-opacity='.45' d='M-120 150 C 160 70 330 175 560 118 C 770 66 900 20 1130 78 C 1300 120 1390 60 1560 70 L1560 420 L-120 420 Z'/><path filter='url(%23s)' fill='%23ffffff' d='M-120 196 C 150 128 340 226 590 172 C 800 128 930 88 1150 138 C 1310 174 1400 118 1560 130 L1560 420 L-120 420 Z'/></svg>") center bottom / 100% 100% no-repeat;}
.endcap__cta::before{content: "";
  position: absolute; left: -12%; right: -12%; bottom: 60px; height: 300px;
  background:
    radial-gradient(42% 58% at 28% 62%, rgba(156, 201, 197, 0.26) 0%, rgba(156, 201, 197, 0) 72%),
    radial-gradient(38% 52% at 70% 52%, rgba(48, 111, 117, 0.52) 0%, rgba(48, 111, 117, 0) 70%),
    radial-gradient(30% 40% at 50% 88%, rgba(156, 201, 197, 0.20) 0%, rgba(156, 201, 197, 0) 75%);
  filter: blur(26px);
  pointer-events: none;}
@media (prefers-reduced-motion: no-preference){.endcap--motion .endcap__cta::before{animation: endcap-glow 24s ease-in-out infinite alternate;}}
@keyframes endcap-glow{
  from { transform: translate3d(-2.5%, 0, 0); }
  to   { transform: translate3d(2.5%, -10px, 0); }
}
@media (max-width: 767px){.endcap__cta::after{height: 180px;}
.endcap__cta::before{bottom: 40px; height: 220px;}}
.footer__dot{display: inline-block; width: 8px; height: 8px; margin-left: 7px;
  vertical-align: 1px; border-radius: 50%;
  background: var(--status-yes);}
@media (prefers-reduced-motion: no-preference){.footer__dot{animation: footer-dot 1.4s ease-in-out infinite;}}
@keyframes footer-dot{ 0%, 100% { opacity: 1; } 50% { opacity: 0.25; } }
.footer__col a, .footer__policies a{position: relative; text-decoration: none;}
.footer__col a::after, .footer__policies a::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px;
  background: var(--identity); border-radius: 2px;
  transform: scaleX(0); transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);}
.footer__col a:hover, .footer__policies a:hover{text-decoration: none;}
.footer__col a:hover::after, .footer__col a:focus-visible::after, .footer__policies a:hover::after, .footer__policies a:focus-visible::after{transform: scaleX(1);}
@media (prefers-reduced-motion: reduce){.footer__col a::after, .footer__policies a::after{transition: none;}}
.endcap__cta--wide-sub p{max-width: min(100%, 72rem);}
.endcap__cta--wide-sub h2{max-width: 46rem;}
.site-header, .site-header a, .site-header button, .prodbar, .prodbar a{-webkit-user-select: none; user-select: none; -webkit-touch-callout: none;}
a, button, summary, label, [role="button"], [role="tab"], .btn, .site-header, .prodbar, .site-footer a, .footer__policies a{-webkit-user-select: none; user-select: none; -webkit-touch-callout: none;}
input, textarea, select{-webkit-user-select: text; user-select: text;}
.is-paused, .is-paused::before, .is-paused::after, .is-paused *, .is-paused *::before, .is-paused *::after{animation-play-state: paused !important;}
.band-dark, .phero, .hero:not(.hero--light), .endcap__cta, .auth, .e404{--link-line: var(--identity-on-dark);}
body main a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a){text-decoration: none;
  background-image: linear-gradient(var(--link-line, var(--identity)), var(--link-line, var(--identity)));
  background-size: 0% 1.5px; background-position: 0 100%; background-repeat: no-repeat;
  transition: background-size 340ms cubic-bezier(0.22, 1, 0.36, 1), color 160ms ease;}
body main a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible{text-decoration: none; background-size: 100% 1.5px;}
body main p a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a), body main li a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a), body main td a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a), body main dd a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a), body main .faq__body a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a), body main .cconsent a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a){background-image: linear-gradient(var(--link-line, var(--identity)), var(--link-line, var(--identity))), linear-gradient(color-mix(in srgb, currentColor 38%, transparent), color-mix(in srgb, currentColor 38%, transparent));
  background-size: 0% 1.5px, 100% 1px; background-position: 0 100%, 0 100%;}
body main p a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main li a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main td a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main dd a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main .faq__body a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main .cconsent a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):hover, body main p a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible, body main li a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible, body main td a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible, body main dd a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible, body main .faq__body a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible, body main .cconsent a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a):focus-visible{background-size: 100% 1.5px, 100% 1px;}
@media (prefers-reduced-motion: reduce){body main a:not([class]):not(.toc a):not(.related a):not(.arail a):not(.aalso a):not(.achapters a):not(.ashare a):not(.aai a):not(.rproduct a):not(.rjump a):not(.arel a){transition: none;}}
.section{padding: var(--section-y) 0;}
.section--tight{padding: calc(var(--section-y) * 0.62) 0;}
.section--canvas{background: var(--teal-canvas);
  border-radius: var(--radius-banner);}
.sec-head{max-width: 46rem;}
.sec-head--center{margin-inline: auto; text-align: center;}
.sec-head__eyebrow{font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--identity-strong); margin-bottom: 14px;}
.sec-head h2{font-size: clamp(27px, 3.6vw, 42px);
  line-height: 1.15; letter-spacing: -0.025em;}
.sec-head p{margin-top: 18px; font-size: clamp(15px, 1.4vw, 17px);
  color: var(--text-secondary); line-height: 1.65;
  max-width: 37rem;}
.sec-head--center p{margin-inline: auto;}
.hero__eyebrow{display: inline-flex; align-items: center; gap: 10px;
  padding: 6px 16px 6px 8px;
  background: rgba(255,255,255,0.07);
  border: 1px solid var(--on-dark-hairline);
  border-radius: var(--radius-chip);
  font-size: 13px; font-weight: 500; color: var(--on-dark-secondary);
  margin-bottom: 28px;}
.hero__eyebrow b{color: var(--white); font-weight: 600;}
.sec-head .hero__eyebrow{margin-top: 0; font-size: 13px; line-height: 1.6; max-width: none;}
.band-dark{background: var(--teal-black); color: var(--on-dark-primary);
  margin: 0; border-radius: var(--radius-banner);
  padding: var(--section-y) 0;}
.band-dark .sec-head h2{color: var(--white);}
.band-dark .sec-head p{color: var(--on-dark-secondary);}
.band-dark .sec-head__eyebrow{color: var(--identity-on-dark);}
.support{margin-top: var(--block-gap); display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr);}
.support__item{padding: 26px; border-radius: var(--radius-panel);
  background: rgba(255,255,255,0.045);
  border: 1px solid var(--on-dark-hairline);}
.support__item h3{font-size: 17px; color: var(--white); margin-bottom: 9px; letter-spacing: -0.01em;}
.support__item p{font-size: 14px; color: var(--on-dark-secondary); line-height: 1.6;}
@media (max-width: 960px){.support{grid-template-columns: 1fr 1fr;}}
@media (max-width: 640px){.support{grid-template-columns: 1fr;}}
.steps{margin-top: var(--block-gap); display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr);}
.step{padding: 26px 22px; border-radius: var(--radius-panel);
  background: rgba(255,255,255,0.045); border: 1px solid var(--on-dark-hairline);}
.step h3{font-size: 17px; color: var(--white); margin-bottom: 9px;}
.step p{font-size: 14px; color: var(--on-dark-secondary); line-height: 1.6;}
@media (max-width: 1000px){.steps{grid-template-columns: 1fr 1fr;}}
@media (max-width: 560px){.steps{grid-template-columns: 1fr;}}
.faqsec{display: grid; gap: 28px 56px; align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr);}
.faqsec .sec-head{position: sticky; top: calc(var(--header-h) + 28px);}
.faq{margin-top: 0;}
@media (max-width: 900px){.faqsec{grid-template-columns: minmax(0, 1fr);}
.faqsec .sec-head{position: static;}}
.faq details{border-bottom: 1px solid var(--divider);}
.faq summary{list-style: none; cursor: pointer;
  padding: 22px 52px 22px 0; position: relative;
  font-size: 17px; font-weight: 600; color: var(--text-primary);
  letter-spacing: -0.01em;}
.faq summary::-webkit-details-marker{display: none;}
.faq__icon{position: absolute; right: 0; top: 50%; width: 28px; height: 28px; margin-top: -14px;
  border-radius: 8px; background: var(--teal-black);
  transition: background-color .3s var(--ease), transform .45s cubic-bezier(.65,0,.35,1);}
.faq__icon::before, .faq__icon::after{content: ""; position: absolute; left: 50%; top: 50%;
  width: 12px; height: 2px; border-radius: 1px; background: var(--white);
  transform: translate(-50%, -50%);}
.faq__icon::after{transform: translate(-50%, -50%) rotate(90deg); transition: transform .45s cubic-bezier(.65,0,.35,1);}
.faq details[open]:not(.is-closing) .faq__icon{background: var(--identity); transform: rotate(180deg);}
.faq details[open]:not(.is-closing) .faq__icon::after{transform: translate(-50%, -50%) rotate(0deg);}
.faq summary:hover .faq__icon{background: var(--teal-black-hover);}
.faq details[open]:not(.is-closing) summary:hover .faq__icon{background: var(--identity-strong);}
.faq details[hidden]{display: none;}
.dotpm{border-radius: 50%; background: var(--teal-black);}
.dotpm svg{display: block; width: 100%; height: 100%; fill: var(--white);}
.dotpm .fd{transform-box: fill-box; transform-origin: center; transition: opacity 140ms ease, transform 140ms ease;}
.dotpm .fd--v1{transition-delay: 0ms;}
.dotpm .fd--v2{transition-delay: 130ms;}
.faq details[open]:not(.is-closing) .dotpm .fd--v1, .faq details[open]:not(.is-closing) .dotpm .fd--v2, .xrow.is-open .dotpm .fd--v1, .xrow.is-open .dotpm .fd--v2{opacity: 0; transform: scale(0.2);}
.faq details[open]:not(.is-closing) .dotpm .fd--v2, .xrow.is-open .dotpm .fd--v2{transition-delay: 0ms;}
.faq details[open]:not(.is-closing) .dotpm .fd--v1, .xrow.is-open .dotpm .fd--v1{transition-delay: 130ms;}
@media (prefers-reduced-motion: reduce){.dotpm .fd{transition: none;}}
.faq .faq__icon.dotpm{width: 32px; height: 32px; margin-top: -16px; border-radius: 50%; background: var(--teal-black); transform: none;}
.faq .faq__icon.dotpm::before, .faq .faq__icon.dotpm::after{display: none;}
.faq details[open]:not(.is-closing) .faq__icon.dotpm{background: var(--teal-black); transform: none;}
.faq summary:hover .faq__icon.dotpm, .faq details[open]:not(.is-closing) summary:hover .faq__icon.dotpm{background: var(--teal-black-hover);}
.faq__more{margin-top: 18px; display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 18px; border-radius: var(--radius-button);
  font: inherit; font-size: 15px; font-weight: 600; color: var(--text-primary);
  background: var(--teal-canvas); border: 1px solid var(--border); cursor: pointer;
  transition: background-color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);}
.faq__more:hover{background: var(--teal-soft); border-color: var(--teal-soft);}
.faq__more svg{width: 16px; height: 16px; transition: transform var(--t-fast) var(--ease);}
.faq__more:hover svg{transform: translateY(2px);}
.faq__toggle{margin-top: 14px; display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 2px; background: none; border: 0; cursor: pointer;
  font: inherit; font-size: 15px; font-weight: 600; color: var(--identity-strong);}
.faq__toggle span{position: relative;}
.faq__toggle span::after{content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1.5px;
  background: var(--identity); border-radius: 2px;
  transform: scaleX(0); transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);}
.faq__toggle:hover span::after, .faq__toggle:focus-visible span::after{transform: scaleX(1);}
.band-dark .faq__toggle span::after{background: var(--identity-on-dark);}
@media (prefers-reduced-motion: reduce){.faq__toggle span::after{transition: none;}}
.faq__toggle[hidden], .faq__more[hidden]{display: none;}
.faq__toggle svg{width: 16px; height: 16px; transition: transform .3s var(--ease);}
.faq__toggle[aria-expanded="true"] svg{transform: rotate(180deg);}
.faq__rail{position: relative; margin-top: 22px; max-width: 100%;
  display: inline-flex; gap: 2px; padding: 4px;
  border-radius: 12px; background: var(--teal-canvas); border: 1px solid var(--border);
  overflow-x: auto; scrollbar-width: none;}
.faq__rail::-webkit-scrollbar{display: none;}
.faq__rail button{position: relative; z-index: 1; flex: none;
  min-height: 38px; padding: 0 clamp(10px, 0.9vw, 14px); border-radius: 8px;
  background: none; border: 0; cursor: pointer; white-space: nowrap;
  font: inherit; font-size: 14px; font-weight: 600; color: var(--text-muted);
  transition: color .18s var(--ease);}
.faq__rail button:hover{color: var(--text-primary);}
.faq__rail button.is-on, .faq__rail button.is-on:hover{color: var(--white);}
.faq__rail-pill{position: absolute; z-index: 0; top: 0; left: 0; border-radius: 8px;
  background: var(--teal-black); box-shadow: 0 1px 3px rgba(8,24,23,.25);
  transition-property: transform, width; transition-timing-function: cubic-bezier(.22,.61,.36,1);}
.faq__body{padding: 0 44px 24px 0; color: var(--text-secondary); font-size: 15px; line-height: 1.7;}
.faq__body a{color: var(--identity-strong);}
.closing__cta{margin-top: 32px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;}
.pillars{margin-top: var(--block-gap); display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr);}
.pillar{display: flex; flex-direction: column;
  padding: 30px; background: var(--white);
  border: 1px solid var(--border); border-radius: var(--radius-panel);
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--t-standard) var(--ease), border-color var(--t-standard) var(--ease);}
.pillar:hover{box-shadow: var(--shadow-md); border-color: var(--teal-soft);}
.pillar__num{width: 38px; height: 38px; display: grid; place-items: center;
  background: var(--teal-soft); color: var(--identity-strong);
  border-radius: var(--radius-control);
  font-size: 14px; font-weight: 700; margin-bottom: 20px;}
.pillar h3{font-size: 20px; margin-bottom: 10px; letter-spacing: -0.015em;}
.pillar p{color: var(--text-secondary); font-size: 15px; line-height: 1.6;}
.pillar--link{color: inherit; text-decoration: none;}
.pillar--link:hover{box-shadow: var(--shadow-xs); border-color: var(--border);}
.pillar--link:hover h3{color: var(--identity-strong);}
.pillar--link:focus-visible{outline: 2px solid var(--identity); outline-offset: 3px;}
@media (max-width: 960px){.pillars{grid-template-columns: 1fr;}}
main.no-hero > section.is-open-block:first-child{min-height: var(--view);
  display: flex; flex-direction: column; justify-content: center;
  padding-top: calc(var(--open-pad-y) + var(--header-h));
  padding-bottom: var(--open-pad-y);}
main.no-hero > section:first-child:not(.is-open-block){padding-top: calc(var(--header-h) + clamp(40px, 6vh, 84px));}
@media (max-height: 640px){main.no-hero > section.is-open-block:first-child{min-height: 0; justify-content: flex-start;}}
main.no-hero > section.is-open-block:first-child .sec-head p:not(.hero__eyebrow){font-size: clamp(15px, 1.5vw, 18px); line-height: 1.6;}
main.no-hero .sec-head h1{font-size: clamp(34px, 5.4vw, 60px); line-height: 1.1; letter-spacing: -0.03em;
  color: var(--text-primary);}
main > section:last-child{padding-bottom: calc(var(--section-y) * 0.45);}
main > section.band-dark:last-child, main > section.section--canvas:last-child{padding-bottom: var(--section-y);}
.steps.steps--rail{grid-template-columns: repeat(5, minmax(0, 1fr));}
.steps.steps--rail .step{min-width: 0;}
.steps.steps--rail .step h3{overflow-wrap: anywhere; hyphens: auto;}
.rail-hint{display: none;}
@media (max-width: 1080px){.steps.steps--rail{grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: clamp(236px, 38%, 300px);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    padding: 4px 2px 16px;
    scrollbar-width: thin;
    scrollbar-color: rgba(156, 201, 197, 0.55) transparent;
    border-radius: var(--radius-panel);}
.steps.steps--rail .step{scroll-snap-align: start;}
.steps.steps--rail:focus-visible{outline: 2px solid var(--identity-on-dark); outline-offset: 4px;}
.steps.steps--rail::-webkit-scrollbar{height: 6px;}
.steps.steps--rail::-webkit-scrollbar-thumb{background: rgba(156, 201, 197, 0.55); border-radius: 3px;}
.rail-hint{display: flex; align-items: center; gap: 8px; justify-content: center;
    margin-top: 40px; font-size: 13px; color: var(--on-dark-muted);}
.rail-hint + .steps.steps--rail{margin-top: 14px;}}
@media (prefers-reduced-motion: no-preference){.steps.steps--rail{scroll-behavior: smooth;}}
.type-caret{display: inline-block; width: 2px; height: 0.9em; margin-left: 4px; margin-right: -6px; 
  vertical-align: -0.08em; border-radius: 1px;
  background: var(--identity-on-dark);
  animation: type-caret-blink 1s steps(1) infinite;}
.type-caret.is-typing{animation: none; opacity: 1;}
@keyframes type-caret-blink{ 50% { opacity: 0; } }
.section--wide-sub .sec-head{max-width: none;}
.section--wide-sub .sec-head h2{max-width: 46rem; margin-inline: auto;}
.section--wide-sub .sec-head:not(.sec-head--center) h2{margin-inline: 0;}
.section--wide-sub .sec-head p{max-width: none;}
.ptile{position: relative; overflow: hidden; isolation: isolate;
  display: flex; flex-direction: column;
  padding: clamp(20px, 2vw, 28px);
  border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border); box-shadow: var(--shadow-xs);}
.ptile h3{font-size: 25px; letter-spacing: -0.02em; padding-right: 28px;}
.hl{display: inline-block;
  background: var(--identity-on-dark);
  color: var(--teal-black);
  border-radius: 14px;
  padding: 0 14px;
  margin: 0 2px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;}
:where(*):has(> .hl){isolation: isolate;}
.hl{position: relative; z-index: -1;}
.hl__t{position: relative; z-index: 1;}
@keyframes comet-move{ 0% { translate: 0 -40px; opacity: 0; } 18% { opacity: 1; } 70% { opacity: 1; } 100% { translate: 0 34px; opacity: 0; } }
@keyframes comet-stretch{ 0% { scale: 1 .25; } 55% { scale: 1 1.15; } 100% { scale: 1 .5; } }
.dhero{position: relative;
  background-color: var(--teal-soft);
  background-image: radial-gradient(120% 90% at 50% 45%, #FFFFFF 0%, #F3F8F7 42%, #D6E7E5 74%, #BCDAD7 100%);
  border-radius: var(--radius-banner);}
.dhero > .container{position: relative; z-index: 1;}
main.no-hero > section.dhero.is-open-block:first-child{padding-bottom: max(var(--open-pad-y), 104px);}
.steps--baked .step{position: relative; overflow: hidden; isolation: isolate;
  border: 0; padding-bottom: 60px;}
.steps--baked .step:nth-child(1){background: linear-gradient(160deg, var(--identity-strong), var(--teal-black));}
.steps--baked .step:nth-child(2){background: linear-gradient(160deg, var(--identity), var(--teal-black-hover));}
.steps--baked .step:nth-child(3){background: linear-gradient(160deg, var(--teal-black-hover), var(--teal-black-pressed));}
.steps--baked .step:nth-child(4){background: linear-gradient(160deg, var(--identity), var(--teal-black));}
.steps--baked .step:nth-child(5){background: linear-gradient(160deg, var(--identity-strong), var(--teal-black-pressed));}
.steps--baked .step::after{content: attr(data-n); position: absolute; z-index: -1; right: -4px; bottom: -22px;
  font-size: 110px; font-weight: 700; line-height: 1; letter-spacing: -0.06em;
  color: rgba(255,255,255,0.07); pointer-events: none;}
.section--canvas .rail-hint{color: var(--text-muted);}
.steps--baked.steps--light .step{box-shadow: 0 0 0 1px var(--border) inset;}
.steps--baked.steps--light .step:nth-child(1){background: linear-gradient(160deg, #FFFFFF, #F3F8F7);}
.steps--baked.steps--light .step:nth-child(2){background: linear-gradient(160deg, #F7FAF9, #EAF3F2);}
.steps--baked.steps--light .step:nth-child(3){background: linear-gradient(160deg, #FFFFFF, #EEF5F4);}
.steps--baked.steps--light .step:nth-child(4){background: linear-gradient(160deg, #F3F8F7, #FFFFFF);}
.steps--baked.steps--light .step:nth-child(5){background: linear-gradient(160deg, #FFFFFF, #E8F1F0);}
.steps--baked.steps--light .step h3{color: var(--text-primary);}
.steps--baked.steps--light .step p{color: var(--text-secondary);}
.steps--baked.steps--light .step::after{color: rgba(48,111,117,0.10);}
@keyframes status-pulse{
  0%   { box-shadow: 0 0 0 0 rgba(111,207,161,.55); }
  70%  { box-shadow: 0 0 0 9px rgba(111,207,161,0); }
  100% { box-shadow: 0 0 0 0 rgba(111,207,161,0); }
}
@keyframes status-pulse-live-light{
  0%   { box-shadow: 0 0 0 0 rgba(46,125,91,.45); }
  70%  { box-shadow: 0 0 0 9px rgba(46,125,91,0); }
  100% { box-shadow: 0 0 0 0 rgba(46,125,91,0); }
}
@keyframes status-pulse-soon{
  0%   { box-shadow: 0 0 0 0 rgba(194,86,15,.45); }
  70%  { box-shadow: 0 0 0 9px rgba(194,86,15,0); }
  100% { box-shadow: 0 0 0 0 rgba(194,86,15,0); }
}
.phero{position: relative;
  border-radius: var(--radius-banner);   
  background: var(--teal-black);
  color: var(--on-dark-primary);
  overflow: hidden;
  isolation: isolate;}
.phero::before{content: "";
  position: absolute; inset: 0; z-index: -1;
  background-image: radial-gradient(rgba(156,201,197,0.13) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: radial-gradient(ellipse 70% 70% at 22% 30%, #000 30%, transparent 76%);
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at 22% 30%, #000 30%, transparent 76%);}
.crumb{display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 13px; color: var(--on-dark-muted); margin-bottom: 22px;}
.crumb a{color: var(--identity-on-dark); text-decoration: none;}
.crumb a:hover{text-decoration: underline;}
.crumb span{opacity: 0.5;}
.phero h1{font-size: clamp(34px, 5.4vw, 60px);
  line-height: 1.1; font-weight: 700; letter-spacing: -0.03em;
  color: var(--white); max-width: 20ch;}
.split{display: grid; gap: 56px;
  grid-template-columns: 1fr 1fr; align-items: start;}
.split--reverse .sec-head{grid-column: 2; grid-row: 1;}
.split--reverse .split__body{grid-column: 1; grid-row: 1;}
.split__body p{color: var(--text-secondary); font-size: 16px; line-height: 1.6;}
.split__body p + p{margin-top: 16px;}
.checks{list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;}
.checks li{display: flex; gap: 12px; align-items: flex-start;
  font-size: 15px; line-height: 1.5; color: var(--text-secondary);}
.checks img{display: none;}
.checks li::before{content: ""; width: 9px; height: 9px; flex: none; margin-top: 7px;
  border-radius: 50%; background: var(--status-yes);}
.band-dark .checks li::before{background: var(--status-yes-on-dark);}
.band-dark .checks li{color: var(--on-dark-secondary);}
@media (max-width: 900px){.split{grid-template-columns: 1fr; gap: 32px;}
.split--reverse .sec-head, .split--reverse .split__body{grid-column: 1; grid-row: auto;}}
.caps{margin-top: 56px; display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr);}
.cap{padding: 28px; border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border);
  box-shadow: var(--shadow-xs);
  transition: box-shadow var(--t-standard) var(--ease), border-color var(--t-standard) var(--ease);}
.cap:hover{box-shadow: var(--shadow-md); border-color: var(--teal-soft);}
.cap h3{font-size: 17px; margin-bottom: 9px; letter-spacing: -0.012em;}
.cap p{font-size: 15px; color: var(--text-secondary); line-height: 1.6;}
.cap__icon{width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 18px;
  background: var(--teal-soft); border-radius: var(--radius-control);}
.cap__icon img{width: 18px; height: 18px;}
.band-dark .cap{background: rgba(255,255,255,0.045);
  border-color: var(--on-dark-hairline);
  box-shadow: none;}
.band-dark .cap:hover{background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.22);}
.band-dark .cap h3{color: var(--white);}
.band-dark .cap p{color: var(--on-dark-secondary);}
.band-dark .cap__icon{background: rgba(156,201,197,0.16);}
@media (max-width: 960px){.caps{grid-template-columns: 1fr 1fr;}}
@media (max-width: 620px){.caps{grid-template-columns: 1fr;}}
@media (max-width: 1023px){.phero{padding: 130px 0 76px;}}
@media (max-width: 767px){.phero{padding: 104px 0 60px;}}
.ways{margin-top: 44px; display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr));}
.way{display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  padding: 28px; border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border); box-shadow: var(--shadow-xs);}
.way h3{font-size: 20px; letter-spacing: -0.02em;}
.way p{font-size: 15px; line-height: 1.6; color: var(--text-secondary); max-width: 52ch;}
.way .btn{margin-top: auto;}
.fmts{margin-top: 44px; display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr));}
.fmt{padding: 26px; border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border);}
.fmt h3{font-size: 20px; letter-spacing: -0.015em;}
.fmt__len{font-weight: 500; color: var(--text-muted); white-space: nowrap;}
.fmt__bar{display: block; margin: 14px 0 14px; height: 6px; border-radius: 3px; background: var(--teal-soft); overflow: hidden;}
.fmt__bar i{display: block; height: 100%; width: var(--len, 50%); background: var(--identity); border-radius: 3px;}
.fmt p{font-size: 15px; line-height: 1.6; color: var(--text-secondary);}
@media (max-width: 900px){.ways, .fmts{grid-template-columns: minmax(0, 1fr);}}
.dstat{margin: 28px auto 0; max-width: 980px; padding: 24px 26px;
  border-radius: var(--radius-panel); background: var(--teal-canvas); border: 1px solid var(--border);}
.dstat h3{font-size: 17px; letter-spacing: -0.012em;}
.dstat__list{list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px 22px; grid-template-columns: repeat(3, minmax(0, 1fr));}
.dstat__list li{display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-radius: var(--radius-control); background: var(--white); border: 1px solid var(--border);}
.dstat__list b{font-size: 14px; font-weight: 600;}
@media (max-width: 900px){.dstat__list{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 560px){.dstat__list{grid-template-columns: minmax(0, 1fr);}}
.dstat__list--dark li{background: var(--teal-black); border-color: var(--teal-black);}
.dstat__list--dark b{color: var(--white);}
.caps--still .cap, .has-ambient .caps--still .cap{transition: none;}
.caps--still .cap:hover, .has-ambient .caps--still .cap:hover, .band-dark .caps--still .cap:hover{transform: none; box-shadow: none; background: rgba(255,255,255,0.045); border-color: var(--on-dark-hairline);}
.band-dark .compare__col--good{background: rgba(255,255,255,0.06); border-color: var(--on-dark-hairline);}
@property --proam-x{ syntax: "<percentage>"; initial-value: 22%; inherits: false; }
@property --proam-y{ syntax: "<percentage>"; initial-value: 30%; inherits: false; }
.phero[data-dots="roam"]::before, .has-ambient .phero[data-dots="roam"]::before{background-image: radial-gradient(rgba(156,201,197,0.30) 1px, transparent 1px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at var(--proam-x) var(--proam-y), #000 30%, transparent 76%);
          mask-image: radial-gradient(ellipse 70% 70% at var(--proam-x) var(--proam-y), #000 30%, transparent 76%);}
@media (prefers-reduced-motion: no-preference){.phero[data-dots="roam"]::before, .has-ambient .phero[data-dots="roam"]::before{animation: phero-roam 13s ease-in-out infinite, phero-drift 20s linear infinite;}}
@keyframes phero-roam{
  0%   { --proam-x: 22%; --proam-y: 30%; }
  33%  { --proam-x: 72%; --proam-y: 36%; }
  66%  { --proam-x: 58%; --proam-y: 72%; }
  100% { --proam-x: 22%; --proam-y: 30%; }
}
@keyframes phero-drift{ to { background-position: 44px 66px; } }
.caps--still .cap, .has-ambient .caps--still .cap{opacity: 1; transform: none; animation: none;}
.case{display: flex; flex-direction: column;
  padding: 26px; border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border);}
.case h3{font-size: 17px; line-height: 1.4; letter-spacing: -0.015em;}
.ph-img{display: grid; place-items: center;
  background:
    repeating-linear-gradient(45deg,
      var(--teal-canvas) 0 10px, var(--teal-rail) 10px 20px);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius-card);
  color: var(--text-muted); text-align: center;
  font-size: 12px; line-height: 1.5; padding: 16px;}
.ph-img span{display: block; max-width: 22ch;}
.ph-note{margin-top: 14px; font-size: 12.5px; line-height: 1.6; color: var(--text-secondary);}
.ph-note b{color: var(--status-no); font-weight: 600;}
.band-dark .ph-note, .phero .ph-note{color: var(--on-dark-secondary);}
.band-dark .ph-note b, .phero .ph-note b{color: var(--status-no-on-dark);}
.ph-note{max-width: 54ch;}
[style*="text-align:center"].ph-note, .sec-head--center ~ * .ph-note{margin-inline: auto;}
.ph-note a{color: var(--identity-strong);}
.sfind{position: fixed; z-index: 60;
  
  top: calc(var(--header-top) + ((var(--header-h) - 38px) / 2));
  right: calc(var(--frame) + 16px);
  height: 38px;
  display: flex; align-items: center; justify-content: flex-end;
  border-radius: var(--radius-control);   
  background: transparent; border: 1px solid transparent;
  transition: background var(--t-panel) var(--ease),
              border-color var(--t-panel) var(--ease),
              box-shadow var(--t-panel) var(--ease),
              padding var(--t-panel) var(--ease);}
.sfind__btn{flex: none; width: 30px; height: 30px;
  display: grid; place-items: center;
  background: none; border: 0; padding: 0; cursor: pointer;
  color: var(--teal-black);
  border-radius: var(--radius-control);
  transition: color var(--t-fast) var(--ease);}
.sfind__btn svg{width: 16px; height: 16px;}
.sfind.on-dark .sfind__btn{color: var(--white);}
.sfind__input{width: 0; min-width: 0; opacity: 0; pointer-events: none;
  visibility: hidden;   
  font: inherit; font-size: 14.5px; color: var(--text-primary);
  background: none; border: 0; padding: 0;
  transition: width var(--t-panel) var(--ease), opacity var(--t-fast) var(--ease), visibility 0s linear var(--t-panel);}
.sfind__input::placeholder{color: var(--text-muted);}
.sfind__input:focus{outline: none; box-shadow: none;}
.sfind.is-open{background: var(--white);
  border-color: var(--border);
  box-shadow: var(--shadow-cta-light-hover);
  padding-left: 16px;}
.sfind.is-open .sfind__btn{color: var(--teal-black);}
.sfind.is-open:focus-within{outline: 2px solid var(--identity); outline-offset: 2px;}
.sfind.is-open .sfind__input{width: var(--sfind-w, 220px);
  opacity: 1; pointer-events: auto;
  visibility: visible; transition-delay: 0s;}
.sfind__out{position: absolute; top: calc(100% + 10px); right: 0;
  width: max(320px, calc(var(--sfind-w, 220px) + 60px));
  max-height: min(58vh, 440px); overflow-y: auto;
  background: var(--white);
  border: 1px solid var(--border); border-radius: var(--radius-panel);
  box-shadow: 0 30px 60px -20px rgba(8, 24, 23, 0.35);
  padding: 8px;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity 200ms var(--ease), transform 200ms var(--ease),
              visibility 0s linear 200ms;}
.sfind.is-open.has-results .sfind__out{opacity: 1; visibility: visible; transform: none;
  transition: opacity 200ms var(--ease), transform 200ms var(--ease), visibility 0s;}
.sres{display: block; padding: 11px 12px; border-radius: var(--radius-control);
  text-decoration: none; color: inherit;}
.sres:hover, .sres.is-cur{background: var(--teal-canvas);}
.sres b{display: block; font-size: 14.5px; font-weight: 600; color: var(--text-primary);}
.sres span{display: -webkit-box; margin-top: 3px; font-size: 12.5px; line-height: 1.5;
  color: var(--text-muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.sres mark{background: var(--teal-soft); color: inherit; border-radius: 3px; padding: 0 2px;}
.sfind__none{padding: 20px 16px; font-size: 13.5px; color: var(--text-muted); text-align: center;}
.sfind.is-below.is-open{top: calc(var(--frame) + var(--header-h) + 10px);
  left: auto; right: calc(var(--frame) + 16px);}
.sfind.is-below.is-open .sfind__input{width: min(320px, calc(100vw - (var(--frame) * 2) - 80px));}
@media (max-width: 760px){.sfind.is-open{position: fixed; left: var(--frame); right: var(--frame);}
.sfind.is-open .sfind__input{width: auto; flex: 1 1 auto;}
.sfind__out{left: 0; right: 0; width: auto;}}
@media (prefers-reduced-motion: reduce){.sfind, .sfind__input, .sfind__out{transition: none !important;}}
.rfilter{display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin-top: 26px;}
.rblock[hidden]{display: none !important;}
.rcard[hidden]{display: none !important;}
.pfilter__btn{display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px;
  border-radius: var(--radius-control); border: 1px solid var(--border-strong); background: var(--white);
  box-shadow: var(--shadow-cta-light);
  font: inherit; font-size: 14.5px; font-weight: 600; color: var(--text-primary); cursor: pointer;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);}
.pfilter__btn:hover, .pfilter__btn[aria-expanded="true"], .pfilter__btn.is-on{border-color: var(--teal-black);}
.pfilter__btn:focus-visible{outline: 2px solid var(--identity); outline-offset: 2px;}
.pfilter__btn svg{color: var(--text-secondary);}
.pfilter__n{display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px;
  border-radius: 999px; background: var(--teal-black); color: var(--white); font-size: 12px; font-weight: 700;}
.pfilter__n[hidden]{display: none;}
.pfilter__menu{position: absolute; right: 0; top: calc(100% + 8px); z-index: 30; min-width: 220px;
  display: grid; gap: 2px; padding: 8px; border-radius: var(--radius-panel);
  background: var(--white); border: 1px solid var(--border); box-shadow: var(--shadow-lg);}
.pfilter__menu[hidden]{display: none;}
.pfilter__menu label{display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--radius-control);
  font-size: 14.5px; color: var(--text-primary); cursor: pointer;}
.pfilter__menu label:hover{background: var(--teal-canvas);}
.pfilter__menu input{width: 16px; height: 16px; margin: 0; accent-color: var(--teal-black); cursor: pointer;}
@media (max-width: 620px){.pfilter__menu{right: auto; left: 0;}}
@media (prefers-reduced-motion: no-preference){.has-ambient .hero::before{mask-image: radial-gradient(ellipse var(--dot-w, 80%) var(--dot-h, 60%)
              at var(--dot-x, 50%) var(--dot-y, 35%), #000 35%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse var(--dot-w, 80%) var(--dot-h, 60%)
              at var(--dot-x, 50%) var(--dot-y, 35%), #000 35%, transparent 78%);}
.has-ambient .phero::before{mask-image: radial-gradient(ellipse var(--dot-w, 70%) var(--dot-h, 70%)
              at var(--dot-x, 22%) var(--dot-y, 30%), #000 30%, transparent 76%);
  -webkit-mask-image: radial-gradient(ellipse var(--dot-w, 70%) var(--dot-h, 70%)
              at var(--dot-x, 22%) var(--dot-y, 30%), #000 30%, transparent 76%);}
.has-ambient [data-dots="cursor"]::before{--dot-w: 62%;
  --dot-h: 58%;}
.has-ambient [data-dots="cursor"].is-tracking::before{--dot-w: 54%;
  --dot-h: 50%;}
@keyframes dot-drift{ to { background-position: 44px 66px; } }
.has-ambient [data-dots="drift"]::before{animation: dot-drift 40s linear infinite;}
.has-ambient [data-dots="parallax"]::before{inset: -22% 0;
  transform: translate3d(0, var(--dot-shift, 0px), 0);
  will-change: transform;}
.has-ambient .endcap--motion .endcap__mark span{transform: translate3d(0, var(--mark-y, 0px), 0);
  will-change: transform;}
.has-ambient [data-endcap="aurora"] > .container{position: relative; z-index: 1;}
.has-ambient [data-endcap="aurora"]::before{content: "";
  position: absolute; z-index: 0;
  left: 50%; top: 22%;
  width: min(1100px, 92%); aspect-ratio: 2 / 1;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(ellipse 46% 58% at 34% 42%, rgba(48, 111, 117, 0.30), transparent 66%),
    radial-gradient(ellipse 40% 52% at 68% 56%, rgba(156, 201, 197, 0.16), transparent 68%);
  filter: blur(46px);
  pointer-events: none;}
.has-ambient .endcap--motion [data-endcap="aurora"]::before{will-change: transform;   
  opacity: 0;
  animation: aurora-in 1.1s var(--ease, cubic-bezier(.22,.61,.36,1)) forwards,
             aurora-drift 19s ease-in-out 1.1s infinite alternate;}
@keyframes aurora-in{ to { opacity: 1; } }
@keyframes aurora-drift{
  from { transform: translate(-50%, -50%) scale(1)    rotate(0deg); }
  to   { transform: translate(-48%, -53%) scale(1.09) rotate(4deg); }
}
.has-ambient .endcap--motion [data-endcap="aurora"]::after{transform: translate3d(0, var(--join-shift, 0px), 0);}
@keyframes fcard-float{
  0%, 100% { transform: translate3d(0, 0, 0); }
  50%      { transform: translate3d(var(--fx, 4px), var(--fy, -9px), 0); }
}
.has-ambient .fcard{animation: fcard-float var(--fdur, 13s) ease-in-out var(--fdelay, 0s) infinite;}
.has-ambient .fcard--1{--fdur: 12.5s; --fdelay: 0.2s;  --fx:  5px; --fy: -10px;}
.has-ambient .fcard--2{--fdur: 16s;   --fdelay: 1.4s;  --fx: -6px; --fy:  -7px;}
.has-ambient .fcard--3{--fdur: 14.5s; --fdelay: 0.8s;  --fx:  4px; --fy:   8px;}
.has-ambient .fcard--4{--fdur: 17.5s; --fdelay: 2.1s;  --fx: -4px; --fy:   9px;}
.has-motion.is-intro:not(.is-open) .fcard{animation: none;}
.has-ambient.has-motion .hero__pillar{position: relative;}
.has-ambient.has-motion .hero__pillar::after{content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: var(--identity-on-dark); opacity: 0;
  pointer-events: none;}
.has-ambient.has-motion .hero__pillar.is-lit::after{animation: chip-lit 900ms ease-out forwards;}
@keyframes chip-lit{
  0%   { opacity: 0;    transform: scale(0.94); }
  35%  { opacity: 0.20; transform: scale(1); }
  100% { opacity: 0;    transform: scale(1); }
}
.has-ambient.has-motion .hl{-webkit-clip-path: inset(0 100% 0 0 round 14px);
  clip-path: inset(0 100% 0 0 round 14px);}
.has-ambient.has-motion .hl.is-wiped{animation: hl-wipe 620ms cubic-bezier(.22,.61,.36,1) forwards;}
@keyframes hl-wipe{
  to { -webkit-clip-path: inset(0 0 0 0 round 14px); clip-path: inset(0 0 0 0 round 14px); }
}
.has-ambient .cap{transition: transform var(--t-standard, 320ms) var(--ease, cubic-bezier(.22,.61,.36,1)),
              box-shadow var(--t-standard, 320ms) var(--ease, cubic-bezier(.22,.61,.36,1));}
.has-ambient .cap:hover{transform: translateY(-4px);}
.has-ambient .pbill__group{position: relative;}
.has-ambient .pbill__group::before{content: ""; position: absolute; z-index: 0;
  top: 0; left: 0;
  width: var(--pill-w, 0px); height: var(--pill-h, 0px);
  transform: translate(var(--pill-x, 0px), var(--pill-y, 0px));
  border-radius: 10px; background: var(--teal-black);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 1px 3px rgba(0, 0, 0, 0.45);}
.has-ambient .pbill__group.is-animated::before{transition: transform 320ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              width 320ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.has-ambient .pbill__group.is-ready button[aria-pressed="true"]{background: transparent; box-shadow: none;}
.has-ambient .pbill__group button{position: relative; z-index: 1;}
.has-ambient .ppass__seg{position: relative;}
.has-ambient .ppass__seg::before{content: ""; position: absolute; z-index: 0;
  top: 0; left: 0;
  width: var(--pill-w, 0px); height: var(--pill-h, 0px);
  transform: translate(var(--pill-x, 0px), var(--pill-y, 0px));
  border-radius: 7px; background: var(--teal-black);}
.has-ambient .ppass__seg.is-animated::before{transition: transform 320ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              width 320ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.has-ambient .ppass__seg.is-ready input:checked + span{background: transparent;}
.has-ambient .ppass__seg span{position: relative; z-index: 1;}
.has-ambient.has-motion [data-stagger] > *{opacity: 0;
  transform: translate3d(0, 16px, 0);}
.has-ambient.has-motion [data-stagger].is-in > *{animation: stagger-in 620ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * var(--step, 70ms));}
@keyframes stagger-in{ to { opacity: 1; transform: none; } }
.has-ambient.has-motion [data-sides] > *:nth-child(odd){opacity: 0; transform: translate3d(-26px, 0, 0);}
.has-ambient.has-motion [data-sides] > *:nth-child(even){opacity: 0; transform: translate3d( 26px, 0, 0);}
.has-ambient.has-motion [data-sides].is-in > *{animation: stagger-in 700ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * 90ms);}
.has-ambient.has-motion [data-reveal-list] > li{opacity: 0; transform: translate3d(-10px, 0, 0);}
.has-ambient.has-motion [data-reveal-list].is-in > li{animation: stagger-in 520ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * 85ms);}
.has-ambient.has-motion [data-unit]{opacity: 0; transform: translate3d(0, 22px, 0);}
.has-ambient.has-motion [data-unit].is-in{animation: stagger-in 760ms cubic-bezier(.22,.61,.36,1) forwards;}
.has-ambient [data-stagger][data-reveal-body] > *{opacity: 0; transform: translate3d(0, 16px, 0);}
.has-ambient [data-stagger][data-reveal-body].is-in > *{animation: stagger-in 620ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * var(--step, 70ms));}
.has-ambient [data-sides][data-reveal-body] > *:nth-child(odd){opacity: 0; transform: translate3d(-26px, 0, 0);}
.has-ambient [data-sides][data-reveal-body] > *:nth-child(even){opacity: 0; transform: translate3d( 26px, 0, 0);}
.has-ambient [data-sides][data-reveal-body].is-in > *{animation: stagger-in 700ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * 90ms);}
.has-ambient [data-reveal-list][data-reveal-body] > li{opacity: 0; transform: translate3d(-10px, 0, 0);}
.has-ambient [data-reveal-list][data-reveal-body].is-in > li{animation: stagger-in 520ms cubic-bezier(.22,.61,.36,1) forwards;
  animation-delay: calc(var(--i, 0) * 85ms);}
.has-ambient [data-unit][data-reveal-body]{opacity: 0; transform: translate3d(0, 22px, 0);}
.has-ambient [data-unit][data-reveal-body].is-in{animation: stagger-in 760ms cubic-bezier(.22,.61,.36,1) forwards;}
[data-draw]{position: relative;}
.has-ambient [data-draw]::before{content: ""; position: absolute; z-index: 0;
  left: 0; right: 0; top: var(--draw-top, 26px); height: 2px;
  background: var(--divider, rgba(8,24,23,0.10));
  transform: scaleX(var(--draw, 0)); transform-origin: left center;}
.has-ambient [data-draw] > *{position: relative; z-index: 1;}
.has-ambient [data-blur]{opacity: 0; filter: blur(14px); transform: scale(1.015);
  transition: opacity 760ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              filter 900ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              transform 900ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.has-ambient [data-blur].is-in{opacity: 1; filter: blur(0); transform: none;}
.has-ambient .sfind__out > *{animation: stagger-in 340ms cubic-bezier(.22,.61,.36,1) backwards;
  animation-delay: calc(var(--i, 0) * 34ms);}}
.aprog{display: grid; gap: 8px;}
.aprog__track{height: 3px; border-radius: 3px; overflow: hidden;
  background: var(--divider, rgba(8,24,23,0.10));}
.aprog__bar{display: block; height: 100%; width: 100%;
  border-radius: 3px; background: var(--identity, #306F75);
  transform: scaleX(var(--read, 0)); transform-origin: left center;}
.aprog__pct{font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-muted);}
:root{--prodbar-h: 46px;}
.prodbar{position: relative; z-index: 1;
  height: var(--prodbar-h);
  display: flex; align-items: center; gap: 20px;
  
  
  padding: 0 calc(var(--actions-w, 210px) + 56px) 0 24px;
  background: none;                      
  transition: height var(--t-panel, 380ms) var(--ease, cubic-bezier(.22,.61,.36,1));}
.prodbar__id{flex: none; display: block; text-decoration: none;
  width: 104px; height: 52px; position: relative;}
.prodbar__id img{position: absolute;}
.prodbar__wordmark{left: var(--wm-x); top: var(--wm-y);
  width: var(--wm-w); height: var(--wm-h);
  opacity: 1;
  transition: opacity 170ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.prodbar__lockup{left: 0; top: 0; width: 104px; height: 52px;
  opacity: 0;
  transition: opacity 200ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.prodbar--webinar{--wm-x: 51.9px; --wm-y: 15.5px; --wm-w: 51.2px; --wm-h: 21.0px;}
.prodbar__id{transition: opacity var(--t-fast, 160ms) var(--ease, cubic-bezier(.22,.61,.36,1));}
.prodbar__id:hover{opacity: 0.72;}
.prodbar__links{flex: 1; min-width: 0;
  display: flex; align-items: center; justify-content: flex-start; gap: 6px;
  overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; -ms-overflow-style: none;}
.prodbar__links::-webkit-scrollbar{display: none;}
.prodbar__links a{position: relative;
  padding: 9px 12px;                     
  font-size: 15px;                       
  font-weight: 500; line-height: 1; white-space: nowrap;
  color: var(--text-secondary); text-decoration: none;
  transition: color var(--t-fast) var(--ease);}
.prodbar__links a:hover{color: var(--text-primary);}
.prodbar__links a::after{content: "";
  position: absolute; left: 12px; right: 12px; bottom: 3px; height: 1.5px;
  background: var(--identity); border-radius: 2px;
  transform: scaleX(0); transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);}
.prodbar__links a:hover::after, .prodbar__links a:focus-visible::after{transform: scaleX(1);}
.prodbar__links a:focus-visible{outline: none;}
.prodbar__links a:focus-visible::after{height: 2.5px;}
.site-header.has-prodbar:has(.nav__link[aria-expanded="true"]) .prodbar, .site-header.has-prodbar:has(.nav__panel.is-open) .prodbar{height: 0; opacity: 0; visibility: hidden; overflow: hidden;
  transition: height 200ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              opacity 120ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              visibility 0s linear 200ms;}
html:has(.nav__panel.is-open) .header-shade.has-prodbar, html:has(.nav__link[aria-expanded="true"]) .header-shade.has-prodbar{height: var(--header-h);
  transition: height 200ms var(--ease, cubic-bezier(.22,.61,.36,1));}
.prodbar{opacity: 1; visibility: visible;        
  transition: height var(--nav-swap) var(--nav-swap-ease),
              opacity 180ms var(--ease, cubic-bezier(.22,.61,.36,1)),
              visibility 0s;}
:root{--nav-swap: 320ms;
  --nav-swap-ease: cubic-bezier(0.45, 0, 0.25, 1);}
.site-header.has-prodbar{transition: top var(--nav-swap) var(--nav-swap-ease);}
.site-header.has-prodbar.is-retracted{top: calc(var(--header-top) - var(--header-h));}
.site-header.has-prodbar.is-retracted .prodbar{height: var(--header-h);}
.site-header.has-prodbar .site-header__inner{transition: visibility 0s;}
.site-header.has-prodbar.is-retracted .site-header__inner{pointer-events: none; visibility: hidden;
  transition: visibility 0s linear var(--nav-swap);}
.site-header.has-prodbar.is-retracted .prodbar__wordmark{opacity: 0; transition-delay: calc(var(--nav-swap) * 0.6);}
.site-header.has-prodbar.is-retracted .prodbar__lockup{opacity: 1; transition-delay: calc(var(--nav-swap) * 0.6);}
.site-header.has-prodbar .header__actions{position: relative; z-index: 2;
  pointer-events: auto;                   
  transition: transform var(--nav-swap) var(--nav-swap-ease);}
.site-header.has-prodbar.is-retracted .header__actions{transform: translateY(var(--header-h));
  visibility: visible;}
.site-header.has-prodbar::before, .site-header.has-prodbar::after{transition: top var(--nav-swap) var(--nav-swap-ease);}
.site-header.has-prodbar.is-retracted::before, .site-header.has-prodbar.is-retracted::after{top: calc(var(--frame) - var(--header-top) + var(--header-h));}
.header-shade.has-prodbar{height: calc(var(--header-h) + var(--prodbar-h));
  transition: height var(--nav-swap) var(--nav-swap-ease),
              box-shadow var(--t-panel) var(--ease);}
.header-shade.has-prodbar.is-retracted{height: var(--header-h);}
@media (prefers-reduced-motion: reduce){.site-header.has-prodbar, .site-header.has-prodbar::before, .site-header.has-prodbar::after, .site-header.has-prodbar .prodbar, .site-header.has-prodbar .header__actions, .header-shade.has-prodbar{transition: none;}}
html:has(.site-header.has-prodbar){scroll-padding-top: calc(var(--header-h) + var(--prodbar-h) + 28px);}
html:has(.site-header.has-prodbar) main.no-hero > section.is-open-block:first-child{padding-top: calc(var(--open-pad-y) + var(--header-h) + var(--prodbar-h));}
html:has(.site-header.has-prodbar) .abody h2, html:has(.site-header.has-prodbar) .abody h3{scroll-margin-top: calc(var(--header-h) + var(--prodbar-h) + 28px);}
@media (max-width: 860px){:root{--prodbar-h: 44px;}
.prodbar{padding: 0 16px; gap: 12px;}
.prodbar__links a{font-size: 13.5px; padding: 6px 8px;}
.prodbar__id{transform: scale(0.86); transform-origin: left center;}}
.site-header.has-prodbar.is-instant, .site-header.has-prodbar.is-instant::before, .site-header.has-prodbar.is-instant::after, .site-header.has-prodbar.is-instant .prodbar, .site-header.has-prodbar.is-instant .prodbar__id, .site-header.has-prodbar.is-instant .prodbar__wordmark, .site-header.has-prodbar.is-instant .prodbar__lockup, .site-header.has-prodbar.is-instant .site-header__inner, .site-header.has-prodbar.is-instant .header__actions, .header-shade.has-prodbar.is-instant{transition-duration: 0s;
  transition-delay: 0s;}
@media (max-width: 480px){.prodbar{gap: 8px;}
.prodbar__links{gap: 2px;}
.prodbar__links a{padding: 6px 6px; font-size: 13px;}}
@media (min-width: 861px){.prodbar__links a{padding: 9px 10px;}
.prodbar__links a::after{left: 10px; right: 10px;}}
.header__actions .header__discuss{display: none;}
.site-header.has-prodbar.is-retracted .header__actions:has(.header__discuss) .header__default{display: none;}
.site-header.has-prodbar.is-retracted .header__actions .header__discuss{display: inline-flex;}
.hero{position: relative;
  
  margin: 0;
  border-radius: var(--radius-banner);
  background: var(--teal-black);
  color: var(--on-dark-primary);
  overflow: hidden;
  isolation: isolate;}
.hero::before{content: "";
  position: absolute; inset: 0; z-index: -1;
  background-image: radial-gradient(rgba(156,201,197,0.14) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 35%, #000 35%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 35%, #000 35%, transparent 78%);}
.hero__inner{position: relative; text-align: center;}
.hero h1{font-size: clamp(34px, 5.4vw, 60px);
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: -0.03em;
  max-width: 17ch;
  margin-inline: auto;
  color: var(--white);}
.hero__sub{margin: 22px auto 0;
  max-width: 62ch;
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--on-dark-secondary);
  line-height: 1.6;}
.hero__cta{margin-top: 34px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;}
.hero__cards{position: absolute; inset: 0; pointer-events: none;}
.fcard{position: absolute;
  display: flex; align-items: flex-start; gap: 10px;
  width: 248px; padding: 12px 14px;
  background: var(--white); color: var(--text-primary);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-lg);}
.fcard__icon{width: 30px; height: 30px; flex: none;
  display: grid; place-items: center;
  background: var(--teal-soft); color: var(--identity-strong);
  border-radius: 9px;}
.fcard__icon img{width: 16px; height: 16px;}
.fcard > span:last-child{flex: 1 1 auto; min-width: 0;}
.fcard b{display: block; font-size: 13px; font-weight: 600; line-height: 1.35;}
.fcard em{display: block; font-size: 11px; color: var(--text-muted); font-style: normal; margin-top: 3px;}
.fcard--1{top: 132px; left: 2%;   transform: rotate(-4deg);}
.fcard--2{top: 108px; right: 2%;  transform: rotate(3.5deg);}
.fcard--3{bottom: 128px; left: 4%;  transform: rotate(3deg);}
.fcard--4{bottom: 112px; right: 3%; transform: rotate(-3.5deg);}
@media (max-width: 1180px){.fcard{width: 210px;}
.fcard--1, .fcard--3{left: 0;}
.fcard--2, .fcard--4{right: 0;}}
@media (max-width: 900px){.hero__cards{display: none;}}
.hero__strip{margin-top: 84px; padding-top: 34px;
  border-top: 1px solid var(--on-dark-hairline);
  text-align: center;}
.hero__strip p{font-size: 14px; font-weight: 500; color: var(--on-dark-muted);
  letter-spacing: 0.01em;}
.hero__pillar{padding: 8px 16px; border-radius: var(--radius-chip);
  border: 1px solid var(--on-dark-hairline);
  background: rgba(255,255,255,0.05);
  font-size: 14px; font-weight: 500; color: var(--white);}
.compare{margin-top: var(--block-gap);
  display: grid; gap: 20px;
  grid-template-columns: 1fr 1fr;}
.compare__col{border-radius: var(--radius-panel); padding: 30px;
  border: 1px solid var(--border); background: var(--white);}
.compare__col--good{background: var(--teal-black); border-color: var(--teal-black); color: var(--on-dark-primary);}
.compare__label{display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; letter-spacing: 0.02em;
  padding: 6px 14px; border-radius: var(--radius-chip); margin-bottom: 22px;}
.compare__col--bad  .compare__label{background: var(--identity); color: var(--white);}
.compare__col--good .compare__label{background: var(--white); color: var(--teal-black);}
.compare ul{list-style: none; margin: 0; padding: 0; display: grid; gap: 14px;}
.compare li{display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5;}
.compare__col--bad  li{color: var(--text-secondary);}
.compare__col--good li{color: var(--on-dark-secondary);}
.compare__mark{width: 9px; height: 9px; flex: none; margin-top: 7px;
  border-radius: 50%; background: currentColor;}
.compare__col--good .compare__mark{color: var(--status-yes-on-dark);}
.compare__col--bad  .compare__mark{color: var(--status-no);}
@media (max-width: 860px){.compare{grid-template-columns: 1fr;}}
.product{display: flex; flex-direction: column;
  padding: 34px; border-radius: var(--radius-panel);
  border: 1px solid var(--border); background: var(--white);
  box-shadow: var(--shadow-sm);}
.product h3{font-size: 25px; letter-spacing: -0.02em;}
@media (max-width: 1023px){:root{--section-y: clamp(36px, calc(26.7vh - 156px), 84px);}
.hero{--open-pad-y: clamp(24px, 3.5vh, 48px);}}
@media (max-width: 767px){:root{--section-y: clamp(32px, calc(17.8vh - 96px), 64px);}
.hero{--open-pad-y: clamp(20px, 3vh, 40px);}
.hero__strip{margin-top: 52px;}
.container{padding-inline: 18px;}
.compare__col, .product{padding: 24px;}}
@media (max-width: 380px){.container{padding-inline: 14px;}
.hero__cta .btn, .closing__cta .btn{width: 100%;}}
.tpl-main .hero .crumb{margin-bottom: 8px;}
.hero h1.hero__title--wide{max-width: 23ch;}
.tpl-main .fcard{width: clamp(188px, calc((100vw - 780px) / 2 - 40px), 248px);}
.tpl-main .fcard--1, .tpl-main .fcard--3{left: 22px;}
.tpl-main .fcard--2, .tpl-main .fcard--4{right: 22px;}
@media (max-width: 1100px){.tpl-main .hero__cards{display: none;}}
@media (max-width: 1199px){.tpl-main .hero .crumb-rail{justify-content: center;}}
.tpl-main .hero .crumb-rail.is-inflow{justify-content: center;}
.compare__col--bad  .compare__label{box-shadow: 0 2px 4px rgba(8,24,23,.12), 0 8px 18px -6px rgba(33,79,85,.45);}
.compare__col--good .compare__label{box-shadow: 0 0 0 1px rgba(255,255,255,.35), 0 0 18px 2px rgba(156,201,197,.55), 0 0 42px 6px rgba(156,201,197,.25);}
@property --roam-x{ syntax: "<percentage>"; initial-value: 22%; inherits: false; }
@property --roam-y{ syntax: "<percentage>"; initial-value: 30%; inherits: false; }
.hero[data-dots="roam"]::before, .has-ambient .hero[data-dots="roam"]::before{background-image: radial-gradient(rgba(156,201,197,0.30) 1px, transparent 1px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at var(--roam-x) var(--roam-y), #000 30%, transparent 76%);
          mask-image: radial-gradient(ellipse 70% 70% at var(--roam-x) var(--roam-y), #000 30%, transparent 76%);}
@media (prefers-reduced-motion: no-preference){.hero[data-dots="roam"]::before, .has-ambient .hero[data-dots="roam"]::before{animation: hero-roam 13s ease-in-out infinite, dot-drift 20s linear infinite;}}
@keyframes hero-roam{
  0%   { --roam-x: 22%; --roam-y: 30%; }
  33%  { --roam-x: 72%; --roam-y: 36%; }
  66%  { --roam-x: 58%; --roam-y: 72%; }
  100% { --roam-x: 22%; --roam-y: 30%; }
}
@keyframes dot-drift{ to { background-position: 44px 66px; } }
.hero[data-dots="stream"]{background-color: var(--teal-soft);
  background-image: radial-gradient(120% 90% at 50% 45%, #FFFFFF 0%, #F3F8F7 42%, #D6E7E5 74%, #BCDAD7 100%);}
.hero[data-dots="stream"]::before{background-image: radial-gradient(rgba(48,111,117,0.40) 1.4px, transparent 1.6px);}
.hero[data-dots="stream"]::after{content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: radial-gradient(rgba(33,79,85,0.95) 1.6px, transparent 1.8px);
  background-size: 22px 22px;
  opacity: 0;}
@media (prefers-reduced-motion: no-preference){.hero[data-dots="stream"]::after{opacity: 1;
    -webkit-mask-image:
      repeating-linear-gradient(100deg, transparent 0 140px, #000 190px, transparent 260px, transparent 420px),
      repeating-linear-gradient(80deg, transparent 0 220px, rgba(0,0,0,.6) 260px, transparent 320px, transparent 560px);
            mask-image:
      repeating-linear-gradient(100deg, transparent 0 140px, #000 190px, transparent 260px, transparent 420px),
      repeating-linear-gradient(80deg, transparent 0 220px, rgba(0,0,0,.6) 260px, transparent 320px, transparent 560px);
    -webkit-mask-size: 426.5px 100%, 568.7px 100%;
            mask-size: 426.5px 100%, 568.7px 100%;
    animation: hero-stream 7s linear infinite;}}
@keyframes hero-stream{
  from { -webkit-mask-position: 0 0, 0 0; mask-position: 0 0, 0 0; }
  to   { -webkit-mask-position: 426.5px 0, 568.7px 0; mask-position: 426.5px 0, 568.7px 0; }
}
.hero--light{color: var(--text-primary);}
.hero--light h1{color: var(--text-primary);}
.hero--light .hero__sub{color: var(--text-secondary);}
.hero--light .crumb, .hero--light .crumb b{color: var(--text-secondary);}
.hero--light .crumb a{color: var(--identity-strong);}
.hero--light .btn-on-dark{background: var(--teal-black); color: var(--white); box-shadow: var(--shadow-cta-light);}
.hero--light .btn-on-dark:hover{background: var(--teal-black-hover); box-shadow: var(--shadow-cta-light-hover);}
.hero--light .btn-ghost-on-dark{background: var(--white); color: var(--teal-black); border-color: var(--border-strong); box-shadow: var(--shadow-cta-light);}
.hero--light .btn-ghost-on-dark:hover{background: var(--teal-soft); border-color: var(--teal-black); box-shadow: var(--shadow-cta-light-hover);}
.hero--light .fcard{border: 1px solid var(--border);}
