@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/montserrat-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;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/montserrat-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 {
 --brand-width:242px; --brand-width-mobile:205px;
 --color-art-line:#3f7152; --color-art-core:#182d20;
 --color-bg:#0a0a0a; --color-surface:#171a18; --color-panel:#313131; --color-brand:#00ff8b; --color-brand-dark:#00a75b; --color-text:#fff; --color-muted:#adb8b1; --color-line:#35413a; --color-paper:#f3f5f1; --color-ink:#12251a; --color-subtle:#dbe3dc; --color-handoff:#7cffbd;
 --font-heading:'Montserrat',sans-serif; --font-body:'Inter',sans-serif;
 --section-space:clamp(4.5rem,6vw,6rem);
 --layout-gap:clamp(2rem,4.5vw,4.5rem);
 --section-title:clamp(2rem,3.15vw,3rem);
 --reading-width:62ch;
 --header-height:78px;
 --sticky-offset:calc(var(--header-height) + 1.125rem);
 --color-error:#ffb4ab;
 --color-error-on-light:#a12424;
 --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem; --space-5:3rem; --space-6:4.5rem; --space-7:7rem;
 --radius-sm:.65rem; --radius-md:1.25rem; --radius-lg:2rem; --width:1180px; --gutter:clamp(1.25rem,5vw,5rem);
 --ease:cubic-bezier(.2,.7,.3,1); --duration:220ms;
 --color-brand-hover:#6affba;
 --color-action:var(--color-brand);
 --color-bubble:var(--color-visual-mist);
 --color-muted-on-light:#4e6054;
 --color-line-on-light:#bac7bd;
 --color-art:#13231a;
 --color-control-line:#687c6d;
 --color-input-line:#6d7d73;
 --color-orbit:#234733;
 --color-core-light:#273e2e;
 --color-core-dark:#0a0f0c;
 --color-glow:#00ff8b17;
 --color-glow-subtle:#00ff8b0a;
 --color-signal:#1a231d;
 --color-signal-line:#3d5545;
 --color-wire:#39744f;
 --color-shadow:#0004;
 --color-header:rgba(10,10,10,.96);
 --color-visual-grid:#ffffff08;
 --color-visual-edge:#608875;
 --color-visual-panel:#131d18;
 --color-visual-paper:#ffffff;
 --color-visual-mist:#d8e7dd;
 --color-visual-aura:#00ff8b22;
 --color-visual-aura-soft:#00ff8b06;
 --color-visual-shadow:#00000066;
 --motion-cycle:14s;
 --motion-float:14s;
 --motion-orbit:36s;
 --motion-response:650ms;
}

@import url('/assets/fonts.css');
  
@import url('/assets/tokens.css');
  
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:var(--sticky-offset)}
body {
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.7}
a {
  color:inherit;
  text-underline-offset:5px}
button,input,textarea,select {
  font:inherit}
button,a {
  -webkit-tap-highlight-color:transparent}
button {
  cursor:pointer}
img,svg {
  max-width:100%}
h1,h2,h3,h4,p {
  margin:0}
h1,h2,h3 {
  font-family:var(--font-heading);
  line-height:1.12;
  letter-spacing:-.045em;
  text-wrap:balance}
h1 {
  font-size:clamp(2.7rem,6.5vw,6.3rem);
  font-weight:600}
h2 {
  font-size:var(--section-title);
  font-weight:600}
h3 {
  font-size:1.5rem;
  letter-spacing:-.025em}
p {
  max-width:70ch}
p+p {
  margin-top:1rem}
a,button,input,textarea,select {
  outline-offset:5px}
:focus-visible {
  outline:3px solid var(--color-brand-dark)}
::selection {
  background:var(--color-action);
  color:var(--color-bg)}
.container {
  width:min(var(--width),calc(100% - var(--gutter)*2));
  margin:auto}
.skip {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  background:var(--color-action);
  color:var(--color-bg);
  padding:12px}
.skip:focus {
  top:10px}
.header {
  position:sticky;
  top:0;
  background:var(--color-header);
  border-bottom:1px solid var(--color-line);
  z-index:20}
.header-inner {
  height:var(--header-height);
  display:flex;
  align-items:center;
  gap:2rem}
.brand {
  display:inline-grid;
  grid-template-columns:1fr;
  align-items:center;
  width:var(--brand-width);
  min-height:44px;
  flex-shrink:0;
  text-decoration:none;
  border-radius:2px}
.brand img {
  grid-area:1 / 1;
  display:block;
  width:100%;
  height:auto;
  transition:opacity var(--duration) var(--ease)}
.brand .brand-hover {opacity:1}
.brand .brand-default {z-index:1;clip-path:inset(0 0 0 18%)}
.brand:focus-visible .brand-default {opacity:0}
.brand:focus-visible .brand-hover {opacity:1}
@media(hover:hover) {
 .brand:hover .brand-default {opacity:0}
 .brand:hover .brand-hover {opacity:1}
}
@media(hover:none) {
 .brand .brand-default {opacity:0}
 .brand .brand-hover {opacity:1}
}
@media(max-width:600px) {
 .brand {width:min(var(--brand-width-mobile),calc(100vw - 140px))}
}
.nav {
  display:flex;
  gap:1.65rem;
  align-items:center;
  margin-left:auto}
.nav a {
  font-size:.87rem;
  text-decoration:none;
  white-space:nowrap}
.nav a:hover,.nav a[aria-current=page] {
  color:var(--color-brand)}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  padding:.9rem 1.35rem;
  border-radius:var(--radius-sm);
  background:var(--color-action);
  color:var(--color-bg);
  border:1px solid transparent;
  text-decoration:none;
  font-weight:600;
  line-height:1.5;
  min-height:48px;
  transition:background var(--duration),transform var(--duration)}
.button:hover {
  background:var(--color-brand-hover);
  transform:translateY(-2px)}
.button.secondary {
  background:transparent;
  color:inherit;
  border-color:var(--color-line)}
.button.secondary:hover {
  background:var(--color-surface);
  color:white}
.nav .button {
  font-size:.85rem;
  padding:.7rem 1rem;
  color:var(--color-bg)}
.menu-toggle {
  display:none;
  background:none;
  border:1px solid var(--color-line);
  color:white;
  border-radius:var(--radius-sm);
  padding:.6rem 1rem}
.eyebrow {
  display:flex;
  align-items:center;
  gap:.7rem;
  color:var(--color-muted);
  font-size:.9rem;
  margin-bottom:1.7rem}
.eyebrow:before {
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--color-brand)}
.hero {
  position:relative;
  overflow:hidden;
  padding:6rem 0 4rem}
.hero-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  gap:2rem}
.hero h1 {
  font-size:clamp(3rem,5.6vw,5.6rem)}
.hero .lead {
  margin-top:2rem;
  max-width:48ch}
.lead {
  font-size:clamp(1.1rem,1.6vw,1.25rem);
  color:var(--color-muted);
  line-height:1.7}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  align-items:center;
  margin-top:2rem}
.text-link {
  font-weight:500;
  text-decoration-thickness:1px;
  display:inline-block;
  padding:.7rem 0;
  min-height:44px}


.section {
  padding:var(--section-space) 0}
.light {
  background:var(--color-paper);
  color:var(--color-ink)}
.light .lead,.light .muted {
  color:var(--color-muted-on-light)}
.light .eyebrow {
  color:var(--color-muted-on-light)}
.section-intro {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:var(--layout-gap);
  align-items:end;
  margin-bottom:3.5rem}
.section-intro p {
  font-size:1.08rem}
.section-label {
  font-size:.9rem;
  color:var(--color-muted);
  margin-bottom:1rem}
.light .section-label {
  color:var(--color-muted-on-light)}
.three {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem}
.problem {
  padding-top:1.7rem;
  border-top:1px solid var(--color-line-on-light)}
.problem h3 {
  margin:1rem 0}
.problem p {
  color:var(--color-muted-on-light)}
.problem-icon {
  width:40px;
  height:40px;
  stroke:var(--color-brand-dark);
  stroke-width:1.5;
  fill:none}
.services {
  border-top:1px solid var(--color-line)}
.service-row {
  display:grid;
  grid-template-columns:.9fr 1.2fr auto;
  gap:3rem;
  align-items:center;
  padding:2.7rem 0;
  border-bottom:1px solid var(--color-line);
  text-decoration:none}
.service-row p {
  color:var(--color-muted)}
.service-row .arrow {
  font-size:2rem;
  color:var(--color-brand);
  transition:transform var(--duration)}
.service-row:hover .arrow {
  transform:translateX(8px)}
.service-row:hover h3 {
  color:var(--color-brand)}
.example-shell {
  background:var(--color-bg);
  color:white;
  border-radius:var(--radius-lg);
  overflow:hidden}
.tabs {
  display:flex;
  gap:1rem;
  padding:1.5rem 2.5rem;
  border-bottom:1px solid var(--color-line)}
.tab {
  border:0;
  background:none;
  color:var(--color-muted);
  padding:.7rem 1rem;
  border-radius:var(--radius-sm);
  font-weight:600;
  min-height:48px}
.tab[aria-selected=true] {
  background:var(--color-action);
  color:var(--color-bg)}
.example-panel {
  padding:3rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center}
.example-panel h3 {
  font-size:2rem;
  margin-bottom:1.5rem}
.example-panel p {
  color:var(--color-muted)}
.example-panel .benefit {
  color:var(--color-brand);
  font-weight:500;
  margin-top:1.5rem}
.flow {
  display:grid;
  gap:1rem}
.flow-step {
  display:flex;
  align-items:center;
  gap:1rem;
  border:1px solid var(--color-line);
  border-radius:var(--radius-sm);
  padding:1rem 1.3rem;
  background:var(--color-surface);
  position:relative}
.flow-step+.flow-step:before {
  content:'';
  position:absolute;
  left:29px;
  top:-17px;
  height:16px;
  border-left:1px solid var(--color-brand)}
.flow-step b {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid var(--color-line);
  border-radius:50%;
  color:var(--color-brand);
  font-size:.75rem}
.flow-step:last-child {
  border-color:var(--color-brand-dark)}
.example-caption {
  padding:0 3rem 2rem;
  font-size:.8rem;
  color:var(--color-muted)}
.steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2rem;
  margin-top:3rem}
.step {
  border-top:1px solid var(--color-line);
  padding-top:1.5rem}
.step-number {
  font-family:var(--font-heading);
  font-size:2.7rem;
  color:var(--color-brand);
  margin-bottom:2rem}
.step h3 {
  font-size:1.25rem;
  margin-bottom:1rem}
.step p {
  color:var(--color-muted);
  font-size:.95rem}
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--layout-gap);
  align-items:center}
.about-grid h2 {
  margin-bottom:2rem}
.about-grid .lead {
  margin-bottom:2rem}
.principles {
  list-style:none;
  padding:0;
  margin:2rem 0 0}
.principles li {
  padding:1rem 0;
  border-top:1px solid var(--color-line-on-light);
  display:flex;
  gap:1rem}

.art {
  aspect-ratio:1/1;
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  background:var(--color-art);
  display:grid;
  place-items:center}
.art svg {
  width:100%;
  height:100%}
.art-label {
  position:absolute;
  bottom:2rem;
  left:2rem;
  right:2rem;
  color:white;
  font-family:var(--font-heading);
  font-size:1.5rem;
  line-height:1.3}
.faq-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:var(--layout-gap)}
.faq-layout h2 {
  position:sticky;
  top:130px}
.faq details {
  border-bottom:1px solid var(--color-line)}
.faq summary {
  padding:1.5rem 2rem 1.5rem 0;
  font-weight:500;
  cursor:pointer;
  position:relative;
  list-style:none}
.faq summary::-webkit-details-marker {
  display:none}
.faq summary:after {
  content:'+';
  position:absolute;
  right:0;
  color:var(--color-brand);
  font-size:1.5rem;
  top:1.1rem}
.faq details[open] summary:after {
  content:'−'}
.faq details p {
  color:var(--color-muted);
  padding-bottom:1.5rem}
.cta {
  padding:5rem 0;
  background:var(--color-action);
  color:var(--color-ink)}
.cta-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:3rem}
.cta h2 {
  max-width:17ch}
.cta p {
  margin-top:1rem;
  max-width:55ch}
.cta .button {
  background:var(--color-bg);
  color:white;
  flex-shrink:0}
.footer {
  padding:4rem 0 1.5rem}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:3rem}
.footer p {
  color:var(--color-muted);
  margin-top:1.5rem;
  max-width:38ch}
.footer h2 {
  font-size:1rem;
  letter-spacing:0;
  margin-bottom:1rem}
.footer a {
  display:block;
  text-decoration:none;
  padding:.3rem 0;
  color:var(--color-muted)}
.footer a:hover {
  color:var(--color-brand)}
.footer .brand {
  display:inline-grid;
  color:white}
.footer-bottom {
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--color-line);
  display:flex;
  justify-content:space-between;
  color:var(--color-muted);
  font-size:.8rem}
.footer-bottom div {
  display:flex;
  gap:1.5rem}
.breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  color:var(--color-muted);
  font-size:.85rem;
  padding-top:2rem}
.breadcrumb a {
  padding:.2rem 0}
.page-hero {
  padding:4rem 0 5rem}
.page-hero h1 {
  max-width:20ch}
.page-hero .lead {
  margin-top:2rem;
  max-width:64ch}
.content-grid {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:var(--layout-gap)}
.content-block {
  padding:2rem 0;
  border-top:1px solid var(--color-line-on-light)}
.content-block h3 {
  margin-bottom:1rem}
.content-block p {
  color:var(--color-muted-on-light)}
.result {
  background:var(--color-surface);
  padding:2.5rem;
  border-radius:var(--radius-md);
  margin-top:3rem}
.result h2 {
  font-size:1.5rem;
  margin-bottom:1rem}
.result p {
  color:var(--color-muted)}
.detail-example {
  padding:3rem 0;
  border-bottom:1px solid var(--color-line-on-light);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--layout-gap)}
.detail-example h2 {
  font-size:2.3rem;
  margin-bottom:1.5rem}
.detail-example h3 {
  font-size:1rem;
  margin:1.5rem 0 .5rem;
  letter-spacing:0}
.detail-example .flow {
  background:var(--color-bg);
  color:white;
  padding:2rem;
  border-radius:var(--radius-md);
  align-self:center}
.detail-example p {
  color:var(--color-muted-on-light)}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:var(--layout-gap)}
.contact-card {
  padding:2.5rem;
  background:var(--color-surface);
  border:1px solid var(--color-line);
  border-radius:var(--radius-md)}
.contact-card h2 {
  font-size:1.8rem;
  margin-bottom:1rem}
.field {
  margin-top:1.2rem}
.field label {
  display:block;
  margin-bottom:.5rem}
.field input,.field textarea,.field select {
  width:100%;
  padding:.8rem 1rem;
  background:var(--color-bg);
  color:white;
  border:1px solid var(--color-input-line);
  border-radius:var(--radius-sm);
  min-height:48px}
.field textarea {
  min-height:150px;
  resize:vertical}
.small {
  font-size:.85rem;
  color:var(--color-muted)}
.contact-card .button {
  margin-top:1.5rem;
  width:100%}
.contact-card .small {
  margin-top:1rem}
.notice {
  border-left:3px solid var(--color-brand);
  padding:1rem 1.5rem;
  background:var(--color-surface);
  margin:1.5rem 0}
.prose {
  max-width:800px}
.prose h2 {
  font-size:1.7rem;
  margin:2.5rem 0 1rem}
.prose h3 {
  font-size:1.2rem;
  margin:2rem 0 1rem}
.prose p {
  color:var(--color-muted)}
[hidden] {
  display:none!important}



@media(max-width:1100px) {
  .nav {
  gap:1rem}
.header-inner {
  gap:1rem}
.hero-grid {
  gap:1rem}
.agent-scene {
  min-height:420px}
.signal-card {
  padding:.8rem}
.section-intro {
  gap:2rem}

.contact-grid {
  gap:3rem}
}

@media(max-width:1100px) {
  .header-inner {
  height:var(--header-height);
  justify-content:space-between}
.menu-toggle {
  display:block}
.nav {
  display:none;
  position:absolute;
  top:var(--header-height);
  left:0;
  right:0;
  background:var(--color-bg);
  padding:1.5rem var(--gutter);
  border-bottom:1px solid var(--color-line);
  flex-direction:column;
  align-items:stretch;
  gap:.5rem}
.nav.open {
  display:flex}
.nav a {
  padding:.8rem}
.hero {
  padding-top:3.5rem}
.hero-grid {
  grid-template-columns:1fr}
.hero h1 {
  max-width:13ch;
  font-size:clamp(3.1rem,8vw,5rem)}
.hero .lead {
  max-width:55ch}
.agent-scene {
  max-width:550px;
  width:100%;
  margin:1.5rem auto 0;
  min-height:460px}
.section {
  padding:5rem 0}
.section-intro,.faq-layout,.about-grid,.content-grid,.contact-grid {
  grid-template-columns:1fr;
  gap:2.5rem}
.section-intro {
  align-items:start}
.three {
  gap:1.5rem}
.steps {
  grid-template-columns:repeat(2,1fr)}
.example-panel {
  gap:2rem;
  padding:2rem}
.about-grid .art {
  max-width:550px;
  width:100%;
  margin:auto}
.faq-layout h2 {
  position:static}
.service-row {
  gap:2rem}
.service-row h3 {
  font-size:1.2rem}
.cta-inner {
  align-items:flex-start;
  flex-direction:column}
.footer-grid {
  grid-template-columns:1.5fr 1fr 1fr}
.detail-example {
  gap:2rem}
.page-hero h1 {
  font-size:3.8rem}

.contact-card {
  max-width:650px}
}

@media(max-width:600px) {
  .hero {
  padding-bottom:2rem}
.hero h1 {
  font-size:3rem}
.hero .lead {
  font-size:1.05rem}

.actions {
  gap:.7rem;
  align-items:stretch;
  flex-direction:column}
.actions .text-link {
  text-align:center}
.agent-scene {
  min-height:360px;
  margin-top:1rem}
.agent-core {
  top:30%}
.agent-core strong {
  font-size:.95rem}
.core-icon {
  width:42px;
  height:42px;
  margin-bottom:.6rem}
.signal-card {
  padding:.6rem .75rem;
  font-size:.65rem;
  border-radius:10px}
.signal-card strong {
  font-size:.72rem}
.signal-card small {
  font-size:.65rem}
.agent-core small {
  font-size:.6rem}
.signal-card.one {
  top:8%}
.signal-card.two {
  top:18%}
.signal-card.three {
  bottom:16%}
.section {
  padding:3.75rem 0}
.three,.example-panel,.detail-example {
  grid-template-columns:1fr}
.three {
  gap:2rem}
.service-row {
  grid-template-columns:1fr auto;
  gap:1rem;
  padding:2rem 0}
.service-row p {
  grid-row:2;
  grid-column:1}
.service-row .arrow {
  grid-column:2;
  grid-row:1 / 3}
.service-row h3 {
  font-size:1.3rem}
.tabs {
  padding:1rem;
  gap:.3rem;
  justify-content:space-between}
.tab {
  padding:.6rem .7rem;
  font-size:.8rem}
.example-panel {
  padding:1.5rem}
.example-panel h3 {
  font-size:1.6rem}
.example-caption {
  padding:0 1.5rem 1.5rem}
.steps {
  gap:1.8rem 1.2rem}
.step-number {
  margin-bottom:1rem}
.step h3 {
  font-size:1.08rem}
.step p {
  font-size:.85rem}
.footer-grid {
  grid-template-columns:1fr 1fr;
  gap:2.5rem}
.footer-grid>div:first-child {
  grid-column:1/-1}
.footer-bottom {
  flex-direction:column;
  gap:1rem;
  padding-bottom:3rem}
.page-hero {
  padding:2.5rem 0 3rem}
.page-hero h1 {
  font-size:2.6rem;
  overflow-wrap:anywhere}
.contact-card {
  padding:1.5rem}
.detail-example {
  padding:2rem 0}
.result {
  padding:1.5rem}
.cta {
  padding:3.5rem 0}
.cta .button {
  width:100%}
.breadcrumb {
  font-size:.75rem}
.contact-grid a {
  overflow-wrap:anywhere}
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,*:before,*:after {
  animation:none!important;
  transition:none!important}
}

@media print {
  .header,.footer,.cta {
  display:none}
body,.light {
  background:white;
  color:black}
.section {
  padding:1rem 0}
.lead,p {
  color:black!important}
.agent-scene {
  display:none}
}


/* Progressive enhancement: all navigation and examples remain available without JS. */
.no-js .tabs { display:none; }
.no-js [role="tabpanel"][hidden] { display:block!important; }
@media(max-width:1100px) {
 .no-js .header-inner { height:auto; flex-wrap:wrap; padding-block:1rem; }
 .no-js .menu-toggle { display:none; }
 .no-js .nav { display:flex; position:static; width:100%; border:0; padding:0; }
}

.languages{display:flex;align-items:center;gap:.5rem;padding-inline:.6rem;border-inline-start:1px solid var(--color-line)}
.languages a[aria-current=page]{color:var(--color-brand);text-decoration:underline}
@media(min-width:1101px) and (max-width:1250px){.nav{gap:.7rem}.nav a{font-size:.8rem}.header-inner{gap:1rem}.nav .button{padding:.7rem}}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input[type=file]{max-width:100%;font-size:.9rem}
input::file-selector-button{font:inherit;padding:.6rem;border:0;border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-text);margin-right:.6rem;cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
.job-facts{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0}
.job-facts span{padding:.5rem 1rem;border:1px solid var(--color-line);border-radius:var(--radius-sm)}
@media(max-width:600px){.form-pair{grid-template-columns:1fr;gap:0}}

.nav a[data-active="true"] {color:var(--color-brand)}

.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#contact-status:not(:empty){margin-top:1.5rem;padding:1rem;border-left:2px solid var(--color-brand);background:var(--color-signal)}

/* Keyboard and form feedback share the layout's sticky-header offset. */
a,button,input,textarea,select,[tabindex]{scroll-margin-block:1rem}
.nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}
.nav a,.languages a{min-height:44px;display:inline-flex;align-items:center}
.footer-bottom div{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem}
.footer-bottom a,.privacy-settings,.consent-close{min-height:44px;display:inline-flex;align-items:center}
.button.secondary,.menu-toggle{border-color:var(--color-control-line)}
button:disabled{cursor:default}
form[aria-busy=true] button:disabled{cursor:wait}
.form-errors{border:1px solid var(--color-error);padding:1.25rem;margin-bottom:1.5rem;border-radius:var(--radius-sm)}
.form-errors h3{font-size:1.15rem;line-height:1.4;letter-spacing:-.02em}
.form-errors ul{margin:1rem 0 0;padding-left:1.2rem}
.form-errors a{display:inline-block;padding:.3rem 0;color:var(--color-error)}
.field-error{color:var(--color-error)!important;font-size:.875rem;line-height:1.5;margin:.5rem 0 0}
[aria-invalid=true]{border-color:var(--color-error)!important}
.light .form-errors{border-color:var(--color-error-on-light)}
.light .field-error,.light .form-errors a{color:var(--color-error-on-light)!important}
.light [aria-invalid=true]{border-color:var(--color-error-on-light)!important}
@media(min-width:1101px){.nav{overflow:visible}}

.light :focus-visible{outline-color:var(--color-ink)}

/* Optional talent pool consent: scoped native checkbox, full clickable label. */
.talentpool-choice label{display:flex;align-items:flex-start;gap:.75rem;min-height:44px;cursor:pointer}
.talentpool-choice input[type=checkbox]{flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:.2rem 0 0;padding:0;accent-color:var(--color-brand)}
.talentpool-choice label span{flex:1;min-width:0;overflow-wrap:anywhere}
.talentpool-choice .small{margin-top:.25rem;overflow-wrap:anywhere}

@media(max-width:800px){#CybotCookiebotDialog .CybotCookiebotScrollContainer p{line-height:20px!important}#CybotCookiebotDialogBodyContentText{margin-inline:-7px!important}}

/* Verified company channels: touch-friendly links without embeds. */
.footer-social{display:flex;flex-wrap:wrap;gap:0 1.25rem;margin-top:1.25rem}.footer .footer-social a{display:inline-flex;align-items:center;min-height:44px;margin:0;text-underline-offset:.25em}.footer .footer-social a:hover{text-decoration:underline}

/* One sequenced story in the hero; responses and quieter continuous system diagrams. */
.agent-sculpture{animation:sculpture-breathe var(--motion-float) ease-in-out infinite;transform-origin:50% 50%}
.connection-signal{animation:routed-signal 6s linear infinite}
.scene-halo{animation:halo-breathe var(--motion-float) ease-in-out infinite}
.diagram-travel{animation:routed-signal 6s linear infinite}
.monitor-orbit{transform-origin:160px 100px;animation:visual-orbit var(--motion-orbit) linear infinite}
.system-satellites{transform-origin:250px 240px;animation:visual-orbit var(--motion-orbit) linear infinite}
.system-rings{transform-origin:250px 240px;animation:system-turn 18s ease-in-out infinite}
.workflow-step>.visual-icon{animation:workflow-cue var(--motion-cycle) linear infinite}
.workflow-step:nth-child(2)>.visual-icon{animation-delay:3.5s}.workflow-step:nth-child(3)>.visual-icon{animation-delay:7s}.workflow-step:nth-child(4)>.visual-icon{animation-delay:10.5s}
.service-card:hover .plan-sheets{transform:translateY(-5px)}
.service-card:hover .connect-hub{transform:rotate(90deg)}
.plan-sheets,.connect-hub{transition:transform var(--motion-response) var(--ease)}
.connect-hub{transform-origin:160px 100px}
.example-panel .workflow-document{animation:document-enter .6s var(--ease) both}
@keyframes sculpture-breathe{0%,100%{transform:translateY(0) rotate(-1deg) scale(.99)}50%{transform:translateY(-6px) rotate(2deg) scale(1.01)}}
@keyframes halo-breathe{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes routed-signal{to{stroke-dashoffset:-800}}
@keyframes visual-orbit{to{transform:rotate(360deg)}}
@keyframes system-turn{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(12deg)}}
@keyframes workflow-cue{0%,24%,100%{border-color:var(--color-line);background:var(--color-visual-panel)}2%,20%{border-color:var(--color-brand);background:var(--color-core-light)}}
@keyframes document-enter{from{opacity:.3;transform:translateY(12px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}
.motion-sleep,.motion-sleep *,.motion-sleep:before,.motion-sleep:after{animation-play-state:paused!important}
.motion-off *,.motion-off *:before,.motion-off *:after{animation-play-state:paused!important;scroll-behavior:auto!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}
/* Pausing decorative loops must never freeze an entrance at partial opacity. */
.motion-off .workflow-document,.no-js .workflow-document{animation:none!important;opacity:1;transform:rotate(-5deg)}
.no-js :not(.page-loader, .page-loader *),.no-js :not(.page-loader, .page-loader *):before,.no-js :not(.page-loader, .page-loader *):after{animation:none!important}

@media(max-width:800px){.agent-sculpture{animation:none;transform:none}}

/* One quiet visual strand links the site. It lives entirely inside the page gutter. */
.digital-journey {--journey-ink:var(--color-brand,#00ff8b);--journey-handoff:var(--color-handoff,#7cffbd);position:fixed;z-index:5;left:max(0px,calc((100vw - var(--width)) / 2 - 68px));top:var(--header-height,78px);bottom:0;width:clamp(14px,2.2vw,34px);pointer-events:none;contain:strict;opacity:.65}
.digital-journey svg {display:block;width:100%;height:100%;overflow:visible}
.digital-journey__track,.digital-journey__echo,.digital-journey__signal {fill:none;stroke:var(--journey-ink);vector-effect:non-scaling-stroke;stroke-width:1}
.digital-journey__track {opacity:.23}
.digital-journey__echo {opacity:.12}
.digital-journey__signal {stroke-width:1.5;stroke-dasharray:22 230;animation:journey-flow 14s linear infinite;opacity:.8}
.digital-journey__position {fill:var(--journey-ink);opacity:0}
.journey-ready .digital-journey__position {opacity:1}
.digital-journey[data-phase="handoff"] .digital-journey__position {fill:var(--journey-handoff)}
.digital-journey[data-tone="light"] .digital-journey__track,.digital-journey[data-tone="light"] .digital-journey__echo {stroke:var(--color-brand-dark,#00a75b);opacity:.4}
.digital-journey[data-tone="light"] .digital-journey__signal {stroke:var(--color-brand-dark,#00a75b)}
.digital-journey.is-sleeping * {animation-play-state:paused!important}
@keyframes journey-flow {to{stroke-dashoffset:-1008}}
/* First act: a single sculptural image, all process details move to act two. */
.page-home .hero {padding-block:clamp(3rem,6vw,6rem)}
.page-home .hero-grid {grid-template-columns:1.05fr 1fr;gap:clamp(2rem,4vw,4rem)}
.page-home .hero-copy {max-width:620px}
.agent-hero-art {min-width:0;position:relative;isolation:isolate}
.agent-hero-art__field {position:relative;aspect-ratio:620/540}
.agent-hero-art__field:before {content:'';position:absolute;inset:9%;background:radial-gradient(ellipse,var(--color-glow,#00ff8b17),transparent 66%)}
.agent-hero-art__routes {position:absolute;inset:0;width:100%;height:100%;stroke-width:1}
.hero-route-base {stroke:var(--color-brand,#00ff8b);opacity:.2}
.hero-route-signal {stroke:var(--color-brand,#00ff8b);stroke-dasharray:32 730;animation:hero-data-pass 9s linear infinite;stroke-width:1.7;stroke-linecap:round}
.hero-route-signal--second {animation-delay:-4.5s;opacity:.6}
.hero-route-transfer {fill:var(--color-handoff,#7cffbd);stroke:none}
.agent-hero-art .agent-sculpture {inset:1% 0;width:100%;height:98%;object-fit:contain}
@keyframes hero-data-pass {to{stroke-dashoffset:-762}}
/* Second act: a full-width example with readable cause / action / result. */
.home-agent-example {position:relative;background:var(--color-bg,#0a0a0a);border-block:1px solid var(--color-line,#313131)}
.agent-example-intro {display:grid;grid-template-columns:1fr 1fr;gap:var(--layout-gap,3rem);margin-bottom:2.75rem;align-items:end}
.agent-example-intro h2 {font-size:var(--section-title,3rem);max-width:23ch}
.agent-example-intro>p {color:var(--color-muted);max-width:53ch;font-size:1.05rem;line-height:1.75}
.agent-example .scene-controls {grid-template-columns:repeat(4,minmax(0,1fr));border-radius:0;background:none;border:0;border-bottom:1px solid var(--color-line);gap:1rem;overflow:visible}
.agent-example .scene-controls button {justify-content:flex-start;gap:.85rem;min-height:76px;font-size:1rem;padding:.75rem 1rem;border:0;background:transparent}
.agent-example .scene-controls button .visual-icon {width:25px;height:25px;stroke:currentColor}
.agent-example .scene-step-number {font-size:.75rem}
.agent-example .scene-controls button[aria-pressed="true"] {background:var(--color-visual-panel);color:var(--color-brand)}
.agent-example .scene-controls button[aria-pressed="true"]:after {height:2px}
.agent-example .scene-controls button[data-scene-step="3"] .scene-step-number {color:var(--color-handoff,#7cffbd)}
.agent-example .scene-controls button[data-scene-step="3"][aria-pressed="true"] {color:var(--color-handoff,#7cffbd)}
.agent-example .scene-controls button[data-scene-step="3"][aria-pressed="true"]:after {background:var(--color-handoff,#7cffbd)}
.agent-example .scene-demo {padding:2.5rem 0 0;border:0;border-radius:0;background:none;margin:0;min-height:350px}
.agent-example .scene-demo h3 {font-size:clamp(1.4rem,2vw,1.8rem);max-width:36ch;margin-bottom:1.8rem;line-height:1.4}
.agent-example .scene-demo dl {grid-template-columns:1fr 1fr 1.15fr;gap:var(--layout-gap,3rem)}
.agent-example .scene-demo dl>div {display:block}
.agent-example .scene-demo dt {font-size:.8rem;font-weight:500;margin-bottom:.75rem;color:var(--color-muted)}
.agent-example .scene-demo dd {font-size:1rem;line-height:1.8;color:var(--color-text)}
.agent-example .scene-demo-result {border-top:0;border-left:2px solid var(--color-brand);padding:0 0 0 1.5rem}
.agent-example .scene-demo-result dt {color:var(--color-brand)}
.agent-example[data-step="3"] .scene-demo-result {border-color:var(--color-handoff,#7cffbd)}
.agent-example[data-step="3"] .scene-demo-result dt {color:var(--color-handoff,#7cffbd)}
/* Preserve all example content in the no-script fallback. */
.no-js .agent-example .scene-demo-panel[hidden] {display:block!important;margin-top:3rem}
.no-js .agent-example .scene-controls {display:none}
@media(max-width:900px){.page-home .hero-grid{grid-template-columns:1fr}.agent-hero-art{width:min(600px,100%);margin-inline:auto}.agent-example-intro{grid-template-columns:1fr;gap:1.5rem;align-items:start}.agent-example .scene-demo dl{grid-template-columns:1fr 1fr;gap:2rem}.agent-example .scene-demo-result{grid-column:1/-1}.agent-example .scene-demo{min-height:0}.digital-journey{width:18px}}
@media(max-width:560px){.page-home .hero{padding-block:3rem 1.5rem}.page-home .hero-grid{gap:1rem}.agent-hero-art{width:min(380px,100%)}.agent-example .scene-controls{grid-template-columns:repeat(2,1fr);gap:.25rem}.agent-example .scene-controls button{min-height:62px;padding:.65rem;gap:.6rem;font-size:.9rem}.agent-example .scene-controls button .visual-icon{width:21px;height:21px}.agent-example .scene-demo dl{grid-template-columns:1fr;gap:1.5rem}.agent-example .scene-demo{padding-top:1.75rem}.agent-example .scene-demo h3{margin-bottom:1.5rem}.digital-journey{width:14px;opacity:.55}}
@media(prefers-reduced-motion:reduce){.digital-journey__signal,.agent-hero-art *{animation:none!important}.digital-journey__signal{stroke-dasharray:none;opacity:.2}.digital-journey__position{display:none}.agent-hero-art .agent-sculpture{transform:none!important}}
@media print{.digital-journey{display:none}}

/* Four quiet captions restore meaning to the hero without returning the demo controls. */
.hero-art-labels{position:absolute;inset:0;pointer-events:none}
.hero-art-label{position:absolute;max-width:47%;padding:.7rem .9rem;background:var(--color-visual-panel);border:1px solid var(--color-line);border-radius:var(--radius-sm)}
.hero-art-label strong,.hero-art-label span{display:block}
.hero-art-label strong{font-size:.85rem;font-weight:600;color:var(--color-text);line-height:1.45}
.hero-art-label span{font-size:.72rem;color:var(--color-muted);line-height:1.5;margin-top:.2rem}
.hero-art-label--inbox{top:4%;left:0}
.hero-art-label--context{top:14%;right:0}
.hero-art-label--draft{bottom:12%;left:0}
.hero-art-label--approval{bottom:2%;right:0;border-color:var(--color-control-line)}
.hero-art-label--approval strong{color:var(--color-handoff)}
@media(max-width:560px){.hero-art-label{padding:.5rem .6rem}.hero-art-label strong{font-size:.72rem}.hero-art-label span{font-size:.65rem}.hero-art-label--inbox{top:0}.hero-art-label--context{top:10%}.hero-art-label--draft{bottom:10%}.hero-art-label--approval{bottom:0}.agent-hero-art{margin-block:1rem}}

/* Keep the four demo controls inside tablet widths; each label remains readable. */
@media(min-width:561px) and (max-width:900px){.agent-example .scene-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}

.agent-sculpture-picture{display:contents}
.agent-sculpture{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 26px var(--color-visual-shadow));pointer-events:none}
@media(max-width:800px){.agent-sculpture{filter:none;animation:none;transform:none}}
