/* The homepage extends the existing hero's paper, ink, type, and spectrum. */
html{scroll-behavior:smooth;scroll-padding-top:32px}
.skip-link{position:fixed;top:12px;left:12px;z-index:20;padding:12px 18px;background:var(--ink);color:var(--paper);border-radius:5px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
/* Fade within the hero bounds, so the landscape settles into the next section. */
.hero::after{content:'';position:absolute;z-index:2;left:0;right:0;bottom:-1px;height:32%;pointer-events:none;background:linear-gradient(to bottom,#fafaf900 0%,#fafaf940 25%,#fafaf9c7 65%,var(--paper) 96%)}
.hero #motion-toggle.hero-motion-control{position:absolute;z-index:6;top:90px;right:5.5%;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;animation:none!important}
.hero #motion-toggle.hero-motion-control:focus-visible{clip-path:none;width:auto;height:auto;margin:0;padding:9px 12px;background:var(--paper);border:1px solid #dededc;border-radius:4px}
.home-content{--rule:#dededc;--body:#696871;--surface:#f0f0ee;--section-space:112px}
.home-content .page-width{width:89%;max-width:1280px;margin-inline:auto}
.home-content .page-section{padding-block:var(--section-space)}
.home-content h2{font-size:clamp(36px,3.8vw,56px);line-height:1.09;font-weight:450;letter-spacing:-.055em;margin:0;text-wrap:balance}
.home-content h3{font-weight:450;letter-spacing:-.035em;margin:0;line-height:1.2}
.home-content p{font-size:16px;line-height:1.65;color:var(--body);margin:0}
.home-content .section-label{font-size:14px;color:inherit;margin-bottom:24px;line-height:1.3}
.home-content .text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:500;line-height:1.5;border-bottom:1px solid var(--rule);padding-bottom:7px;align-self:flex-start}
.text-link > span[aria-hidden]{transition:transform 220ms ease}
.text-link:hover > span[aria-hidden]{transform:translate(2px,-2px)}
.home-content .introduction-section{text-align:center;padding-top:72px}
.home-content h2.company-one-liner{max-width:1030px;margin-inline:auto;font-size:clamp(27px,2.8vw,41px);line-height:1.31;letter-spacing:-.04em;text-wrap:balance}
.company-one-liner .keep-together{white-space:nowrap}
.home-content .platform-section{padding-top:0}
.platform-section>.page-width{border-top:1px solid var(--rule);padding-top:70px}
.layer-explorer{display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:5%}
.stack-component{--stack-menu-width:196px;--stack-gap:28px;min-width:0}
/* Adapted from the project's AffectUI Layer Stack: same projection, lift geometry,
   sliding selection, and easing; responsive type and detail panels are site-specific. */
.ui-lyr{--ui-lyr-row:64px;--ui-lyr-accent:var(--purple);--ui-lyr-face:rgba(255,255,255,.6);--ui-lyr-edge:rgba(39,39,45,.13);--ui-lyr-side:#ececef;--ui-lyr-face-above:rgba(255,255,255,.3);--ui-lyr-side-above:rgba(236,236,239,.55);--ui-lyr-ease:cubic-bezier(.65,0,.25,1);display:grid;grid-template-columns:var(--stack-menu-width) minmax(0,1fr);gap:var(--stack-gap);align-items:center;width:100%;min-height:420px;position:relative}
.ui-lyr-stack{width:100%;height:auto;display:block;overflow:visible}
.ui-lyr-layer{transition:transform 560ms var(--ui-lyr-ease);cursor:pointer}
.ui-lyr-glow{fill:url(#stack-face-gradient);opacity:0;transition:opacity 420ms ease;pointer-events:none}
.ui-lyr-layer[data-active] .ui-lyr-glow{opacity:.08}
.ui-lyr-side-on{fill:url(#stack-side-gradient);fill-opacity:.25;opacity:0;transition:opacity 360ms ease}
.ui-lyr-side{fill:var(--ui-lyr-side);stroke:var(--ui-lyr-edge);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill 360ms ease,stroke 360ms ease}
.ui-lyr-face{fill:var(--ui-lyr-face);stroke:var(--ui-lyr-edge);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill 360ms ease,stroke 360ms ease}
.ui-lyr-face-on{fill:url(#stack-face-gradient);fill-opacity:.12;stroke:url(#stack-face-gradient);stroke-opacity:.6;opacity:0;stroke-width:1.3;vector-effect:non-scaling-stroke;transition:opacity 360ms ease}
.ui-lyr-icon{fill:none;stroke:url(#stack-side-gradient);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity 300ms ease;pointer-events:none}
.ui-lyr-layer[data-above] .ui-lyr-face{fill:var(--ui-lyr-face-above)}
.ui-lyr-layer[data-above] .ui-lyr-side{fill:var(--ui-lyr-side-above)}
.ui-lyr-layer[data-active] .ui-lyr-side-on,.ui-lyr-layer[data-active] .ui-lyr-face-on{opacity:1}
.ui-lyr-layer[data-active] .ui-lyr-icon{opacity:1;transition-delay:120ms}
.ui-lyr-menu{position:relative;padding:6px;border-radius:9px;background:#f0f0ef}
.ui-lyr-pill{position:absolute;left:6px;right:6px;top:6px;height:var(--ui-lyr-row);border-radius:5px;background:#fff;box-shadow:0 0 0 1px #e1e0e4,0 1px 2px #00000008;transition:transform 460ms var(--ui-lyr-ease);pointer-events:none}
.ui-lyr-row{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;width:100%;height:var(--ui-lyr-row);margin:0;padding:0 16px;border:0;border-radius:5px;background:transparent;font:inherit;text-align:left;cursor:pointer}
.ui-lyr-row:focus-visible{outline:2px solid var(--ui-lyr-accent);outline-offset:-2px}
.ui-lyr-title{font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--ink);transition:color 300ms ease}
.ui-lyr-hint{font-size:11px;line-height:1.3;color:var(--body)}
.ui-lyr-row[aria-selected=true] .ui-lyr-title{color:#8952ae}
.stack-description{min-height:355px;display:flex;align-items:center;padding-block:10px}
.stack-panel{width:100%}
.home-content .stack-panel h3{font-size:clamp(29px,2.6vw,38px);line-height:1.15;letter-spacing:-.045em;margin:0 0 22px;text-wrap:balance}
.home-content .stack-panel p{font-size:15px;max-width:430px}
.stack-panel ul{list-style:none;padding:0;margin:22px 0 27px;display:grid;gap:9px}
.stack-panel li{font-size:12px;color:var(--body);line-height:1.5;position:relative;padding-left:16px}
.stack-panel li::before{content:'';width:3px;height:3px;border-radius:50%;background:#b6a2c6;position:absolute;left:0;top:8px}
.stack-panel .text-link{font-size:12px}
/* The hero's word reveal, replayed each time the selected capability changes. */
.stack-panel{--ui-trv-blur:8px;--ui-trv-rise:.35em;--ui-trv-ease:cubic-bezier(.2,.7,.2,1)}
.stack-reveal-word{display:inline-block}
@media(prefers-reduced-motion:no-preference){
  .layer-explorer[data-copy-ready] .stack-panel:not([data-copy-reveal]) .stack-reveal-word{opacity:0}
  .layer-explorer[data-copy-ready] .stack-panel:not([data-copy-reveal]) li::before,.layer-explorer[data-copy-ready] .stack-panel:not([data-copy-reveal]) .text-link{opacity:0}
  .stack-panel[data-copy-reveal] .stack-reveal-word{animation:ui-trv-in 950ms var(--ui-trv-ease) both;animation-delay:var(--stack-word-delay,0ms)}
  .stack-panel[data-copy-reveal] li::before{animation:appear 600ms ease both;animation-delay:var(--stack-block-delay,480ms)}
  .stack-panel[data-copy-reveal] .text-link{animation:appear 500ms ease 700ms both}
}
@media(max-width:1050px){.home-content .introduction-section{padding-top:60px}.stack-component{--stack-menu-width:152px;--stack-gap:16px}.layer-explorer{grid-template-columns:1.55fr 1fr;gap:4%}.ui-lyr-row{padding-inline:10px}.ui-lyr-hint{font-size:9px}.ui-lyr{min-height:350px}.stack-description{min-height:390px}}
@media(max-width:740px){
  .home-content h2.company-one-liner{font-size:28px;line-height:1.35;letter-spacing:-.035em}
  .home-content .introduction-section{padding-top:44px}
  .stack-component{--stack-menu-width:108px;--stack-gap:6px}
  .platform-section>.page-width{padding-top:30px}
  .layer-explorer{grid-template-columns:1fr;gap:26px}
  .ui-lyr{--ui-lyr-row:55px;min-height:270px;max-width:540px;margin-inline:auto}
  .ui-lyr-title{font-size:14px}.ui-lyr-hint{display:none}
  .stack-description{min-height:350px;align-items:flex-start;padding-top:8px}
  .home-content .stack-panel h3{font-size:32px;margin-bottom:20px}
  .stack-panel ul{margin-top:20px;margin-bottom:24px}
}
@media(max-width:360px){.stack-component{--stack-menu-width:92px;--stack-gap:4px}.home-content h2.company-one-liner{font-size:25px}.ui-lyr{--ui-lyr-row:52px;min-height:245px}.ui-lyr-row{padding-inline:9px}.ui-lyr-title{font-size:13px}.home-content .stack-panel h3{font-size:29px}.stack-description{min-height:390px}}
.site-footer nav a[href]:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.associates-section{background:var(--surface)}
.associates-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}
.section-copy>p:not(.section-label){max-width:440px;margin-top:24px}
.section-copy>p+p:not(.section-label){margin-top:16px}
.associate-principles{display:flex;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #d5d5d3;padding-top:22px;margin-top:32px;font-size:12px}
.associate-principles span::before{content:'·';color:var(--purple);margin-right:10px}
.section-heading-row{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;align-items:end}
.section-heading-row>p{max-width:420px;padding-bottom:4px}
.integration-bottom{display:grid;grid-template-columns:1fr 1.2fr auto;gap:5%;align-items:start;border-bottom:1px solid var(--rule);padding:32px 0}
.integration-bottom>p:first-child{font-size:17px;line-height:1.5;color:var(--ink);max-width:220px;letter-spacing:-.02em}
.integration-bottom>p:nth-child(2){font-size:13px;max-width:365px}
.integration-bottom .text-link{font-size:12px;gap:16px;margin-top:4px;white-space:nowrap}
.governance-section{background:#29292e;color:var(--paper)}
.governance-section p{color:#b5b4bd}
.governance-section .section-label{color:#e0dfe5}
.closing-section{background:#080809;color:var(--paper);position:relative;isolation:isolate;overflow:hidden;padding-block:122px}
.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;z-index:2}
.home-content .closing-inner h2{font-size:clamp(36px,3.8vw,54px)}
.closing-inner .demo-cta{background:var(--paper);border-color:var(--paper);color:var(--ink);animation:none}
.demo-cta:disabled{opacity:1;cursor:default}
.closing-landscape{position:absolute;inset:-18% -8% -26%;z-index:0;opacity:.65;pointer-events:none}.closing-landscape canvas,.closing-terrain-fallback{display:block;width:100%;height:100%;object-fit:cover}.closing-section::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#08080999,#0808091a 45%,#0808094d);pointer-events:none}
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:80px 0 128px;background:var(--paper)}
.site-footer>.page-width{position:relative;z-index:1}
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:64px;padding-bottom:68px}
.footer-brand{display:inline-flex;gap:10px;align-items:center;min-height:32px;font-size:28px;line-height:1.1;letter-spacing:-1.4px;font-weight:550}
.footer-brand img{display:block;flex:none}
.home-content .footer-intro p{margin:18px 0 0;max-width:220px;font-size:14px;line-height:1.65;color:var(--body)}
.footer-socials{display:flex;align-items:center;gap:10px;margin:22px 0 0 -5px;color:var(--ink)}
.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;cursor:default}
.footer-socials svg,.footer-socials img{display:block;width:18px;height:18px;fill:currentColor}
.site-footer .footer-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;width:100%;max-width:none;font-family:var(--classic-ui,var(--sans));color:var(--body)}
.home-content .footer-column h3{display:flex;align-items:center;min-height:32px;margin:0 0 18px;font-family:var(--classic-ui,var(--sans));font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--ink)}
.footer-column ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.footer-column a{display:inline-block;max-width:100%;padding-block:3px;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:-.015em;color:var(--body);text-wrap:pretty}
.footer-column a[aria-disabled=true]{cursor:default}
.footer-column a[href]{transition:color 160ms ease}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--rule);padding-top:24px;color:var(--body);font-family:var(--classic-ui,var(--sans));font-size:12px;line-height:1.6}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
/* A moving colour gradient, anchored below the small type. */
.footer-gradient-floor{position:absolute;z-index:0;pointer-events:none;left:0;right:0;bottom:0;height:220px;overflow:hidden;mask-image:linear-gradient(transparent,#000 55%)}
.footer-gradient-floor svg{display:block;width:100%;height:100%;overflow:visible;isolation:isolate}
.footer-floor-color{fill:url(#footer-floor-colors);filter:blur(24px);opacity:.32}
.footer-floor-contours{fill:none;stroke:#78638f;stroke-width:.7;stroke-opacity:.18;stroke-linecap:round;stroke-linejoin:round}
.footer-floor-contours path{vector-effect:non-scaling-stroke}
.footer-floor-pink{stop-color:var(--pink)}.footer-floor-purple{stop-color:var(--purple)}.footer-floor-blue{stop-color:var(--blue)}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr;gap:44px}.footer-intro{grid-row:1}.site-footer .footer-columns{gap:28px}.home-content .footer-intro p{margin-top:18px}}
@media(prefers-reduced-motion:no-preference){
  .scroll-motion [data-reveal]{opacity:0;transform:translateY(18px);filter:blur(5px);transition:opacity 850ms cubic-bezier(.2,.7,.2,1),transform 850ms cubic-bezier(.2,.7,.2,1),filter 850ms cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
  .scroll-motion [data-reveal].is-revealed{opacity:1;transform:none;filter:none}
}
@media(max-width:1050px){
  .home-content{--section-space:90px}
  .section-heading-row{gap:7%}
  .associates-grid{gap:7%}
  .integration-bottom{grid-template-columns:1fr 1.4fr;gap:24px 6%}.integration-bottom .text-link{grid-column:2}
}
@media(max-width:740px){
  html{scroll-padding-top:22px}
  .home-content{--section-space:66px}
  .home-content .page-width{width:calc(100% - 50px)}
  .home-content h2{font-size:37px;letter-spacing:-.05em}
  .home-content p{font-size:15px}
  .associates-grid,.section-heading-row{grid-template-columns:1fr;gap:30px}
  .associates-grid{gap:38px}.section-copy>p:not(.section-label){margin-top:22px;max-width:480px}
  .home-content .section-label{font-size:13px;margin-bottom:20px}
  .associate-principles{font-size:11px;margin-top:25px;gap:12px 17px}
  .section-heading-row{gap:24px}.section-heading-row>p{max-width:480px}
  .integration-bottom{grid-template-columns:1fr;gap:15px;padding:25px 0}
  .integration-bottom>p:first-child{max-width:none}.integration-bottom>p:nth-child(2){font-size:14px;max-width:none}
  .integration-bottom .text-link{grid-column:1;margin-top:5px;justify-self:start}
  .closing-section{padding-block:85px}.closing-inner{align-items:flex-start;flex-direction:column;gap:26px}
  .home-content .closing-inner h2{font-size:40px}
  .closing-landscape{inset:-20% -75% -20%}
  .site-footer{padding:56px 0 128px}.footer-main{gap:40px;padding-bottom:44px}
  .site-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
  .home-content .footer-column h3{margin-bottom:14px}.footer-column ul{gap:6px}
  .footer-column a{min-height:30px;padding-block:5px;font-size:13px}
  .footer-bottom{font-size:11px;gap:12px 24px;flex-wrap:wrap;padding-top:22px}
}
@media(max-width:360px){
  .home-content .page-width{width:calc(100% - 40px)}.home-content h2{font-size:33px}.home-content .closing-inner h2{font-size:36px}
  .associate-principles{gap:10px;font-size:10px}.associate-principles span::before{margin-right:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-motion [data-reveal]{opacity:1;filter:none;transform:none}}
