/* page base styles: /contact-us/ (from the contact-page design; its own header and footer rules removed) */
:root{--navy: #080a3b; --navy-2: #0e1150; --deep: #05072b; --cyan: #00eaea; --sky: #00ade1; --azure: #006cd8; --cobalt: #003dc6; --accent: #004dd6; --white: #fff; --mist: #f1f5fd; --line: #d9e2f3; --text: #080a3b; --muted: #4b5078; --soft: #aab0d6; --grad: linear-gradient(135deg,#00eaea 0%,#00ade1 40%,#006cd8 75%,#003dc6 100%); --display: "Switzer","Helvetica Neue",Arial,sans-serif; --body: "Mulish","Switzer",system-ui,sans-serif;}
*{box-sizing: border-box; margin: 0px; padding: 0px;}
html{scroll-behavior: smooth;}
body{font-family: var(--body); color: var(--text); background: rgb(255, 255, 255); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased;}
svg{display: block; max-width: 100%;}
a{color: inherit;}
button{font: inherit;}
:focus-visible{outline: 3px solid var(--sky); outline-offset: 3px; border-radius: 8px;}
.wrap{max-width: 1220px; margin: 0px auto; padding: 0px 32px;}
h1,h2,h3,h4{font-family: var(--display); line-height: 1.06; letter-spacing: -0.025em;}
h2{font-size: clamp(2rem, 4.2vw, 3.3rem); font-weight: 800; max-width: 20ch;}
h3{font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em;}
.lede{font-size: 1.125rem; color: var(--muted); max-width: 60ch; margin-top: 16px;}
section{padding: 104px 0px;}
.tinted{background: var(--mist);}
.dark{background: var(--navy); color: rgb(255, 255, 255);}
.dark .lede{color: var(--soft);}
.btn{display: inline-flex; align-items: center; font-family: var(--display); font-weight: 600; font-size: 1rem; padding: 15px 26px; border-radius: 999px; text-decoration: none; border: 0px; cursor: pointer; transition: background 0.2s, color 0.2s;}
.btn-primary{background: var(--accent); color: rgb(255, 255, 255);}
.btn-primary:hover{background: var(--cobalt);}
.dark .btn-primary{background: var(--cyan); color: var(--navy);}
.dark .btn-primary:hover{background: rgb(255, 255, 255);}
.btn-ghost{border: 1.5px solid; background: transparent; color: inherit;}
.btn-ghost:hover{background: rgba(127, 127, 200, 0.1);}
.actions{display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px;}
.textlink{font-family: var(--display); font-weight: 600; color: var(--cobalt); text-decoration: none; border-bottom: 2px solid var(--cyan); padding-bottom: 2px;}
.dark .textlink{color: rgb(255, 255, 255);}
.tbc{display: inline-block; border: 1.5px dashed; border-radius: 8px; padding: 0px 8px; opacity: 0.85;}
#navlist{display: flex; align-items: center; gap: 28px; list-style: none; font-family: var(--display); font-size: 0.95rem; font-weight: 500;}
#navlist > li{position: relative;}
#navlist > li > a{text-decoration: none; color: var(--soft); background: none; border: 0px; font: inherit; cursor: pointer; padding: 8px 0px; display: inline-flex; align-items: center; gap: 6px;}
#navlist > li > a:hover{color: rgb(255, 255, 255);}
.menu-foot{display: block; margin-top: 6px; padding: 14px; border-top: 1px solid var(--line); text-decoration: none; font: 700 .95rem var(--display); color: var(--cobalt);}
.menu-foot span{display: block; font: 400 .86rem var(--body); color: var(--muted); margin-top: 2px;}
.menu-foot:hover{background: var(--mist); border-radius: 8px;}
.hero{padding: 88px 0px 0px;}
.hero-grid > *,.proof-grid > *,.demo-body > *,.start > *{min-width: 0px;}
.hero-grid{display: grid; grid-template-columns: 0.95fr 1.1fr; gap: 48px; align-items: start;}
.hero h1{font-size: clamp(2.7rem, 5.6vw, 5rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.98; max-width: 12ch; margin-top: 24px;}
.hero-sub{font-size: 1.2rem; color: rgb(223, 227, 255); max-width: 40ch; margin-top: 28px;}
.hero-sub b{color: rgb(255, 255, 255); font-weight: 700;}
.vtabs{display: flex; flex-wrap: wrap; gap: 6px;}
.vtabs button{font: 600 .85rem var(--display); color: var(--soft); background: transparent; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 999px; padding: 7px 14px; cursor: pointer; transition: color 0.2s, background 0.2s, border-color 0.2s;}
.vtabs button:hover{color: rgb(255, 255, 255); border-color: rgba(255, 255, 255, 0.4);}
.vtabs button[aria-selected="true"]{background: var(--cyan); border-color: var(--cyan); color: var(--navy);}
.demo-panel{margin-top: 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.035); border: 1px solid rgba(255, 255, 255, 0.1); overflow: hidden;}
.outcome{background: rgb(255, 255, 255); color: var(--navy); padding: 22px 24px;}
.outcome .who{font: 600 .85rem var(--display); color: var(--azure); display: flex; align-items: center; gap: 8px;}
.outcome .who::before{content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: rgba(0, 234, 234, 0.3) 0px 0px 0px 4px;}
.o-head{display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;}
.illus{font: 600 .75rem var(--display); color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 3px 10px;}
.outcome .decision{font: 800 clamp(1.35rem,2.4vw,1.75rem)/1.12 var(--display); letter-spacing: -0.025em; margin-top: 8px;}
.outcome .action{margin-top: 8px; color: var(--muted); font-size: 0.95rem;}
.outcome .action b{color: var(--navy);}
.because{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0px; border-top: 1px solid var(--line); margin-top: 16px;}
.because div{padding: 12px 14px 0px 0px; font-size: 0.84rem; line-height: 1.4;}
.because div + div{padding-left: 14px; border-left: 1px solid var(--line);}
.because dt{color: var(--muted); font-size: 0.78rem; font-weight: 600;}
.because dd{font-weight: 600;}
.graph{width: 100%; height: auto; padding: 4px 8px 0px;}
.graph .edge line{stroke: rgba(170, 176, 214, 0.33); stroke-width: 1.4; transition: stroke 0.25s;}
.graph .edge text{fill: var(--soft); font: 500 10.5px var(--body); opacity: 0.7; transition: opacity 0.25s, fill 0.25s;}
.graph .node rect{fill: var(--navy-2); stroke: rgba(0, 234, 234, 0.4); stroke-width: 1.2; transition: stroke 0.25s;}
.graph .node .nm{fill: rgb(255, 255, 255); font: 600 13.5px var(--display);}
.graph .node .src{fill: var(--soft); font: 500 10px var(--body);}
.graph .node{cursor: pointer; outline: none;}
.graph .node.core rect{fill: url("#nodeGrad"); stroke: none;}
.graph .node.core .nm,.graph .node.core .src{fill: var(--navy);}
.graph .node.key rect{stroke: var(--cyan); stroke-width: 2;}
.graph.focused .edge line{stroke: rgba(170, 176, 214, 0.12);}
.graph.focused .edge text{opacity: 0.15;}
.graph .edge.on line{stroke: var(--cyan); stroke-width: 2;}
.graph .edge.on text{opacity: 1; fill: var(--cyan);}
.graph .node.on rect{stroke: var(--cyan); stroke-width: 2;}
.graph .node:focus-visible rect{stroke: rgb(255, 255, 255); stroke-width: 2.5;}
@media (prefers-reduced-motion: no-preference){.graph .edge line{stroke-dasharray: 400; stroke-dashoffset: 400; animation: 1.2s ease-out 0s 1 normal forwards running draw;}
.graph .edge:nth-child(2n) line{animation-delay: 0.12s;}
@keyframes draw { 
  100% { stroke-dashoffset: 0; }
}}
.graph.compact .edge text{display: none;}
.graph.compact .node .nm{font-size: 17px;}
.graph.compact .node .src{font-size: 12.5px;}
.graph-hint{font-size: 0.84rem; color: var(--soft); padding: 0px 24px 18px;}
.hero-proof{margin-top: 22px; padding: 2px 0px 2px 16px; border-left: 3px solid var(--cyan); max-width: 40ch; font: 600 1.05rem/1.4 var(--display); color: rgb(255, 255, 255);}
.hero-proof b{display: block; font: 700 1.05rem var(--display); color: rgb(255, 255, 255);}
.hero-proof span{font-size: 0.92rem; color: var(--soft);}
.tbc-metric{display: inline-block; border: 1.5px dashed var(--azure); border-radius: 8px; padding: 10px 14px; font: 600 .9rem/1.35 var(--display); color: var(--azure);}
.demo-tabs{display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px;}
.demo-tabs button{border: 1px solid var(--line); background: rgb(255, 255, 255); border-radius: 999px; padding: 9px 18px; font: 600 .92rem var(--display); cursor: pointer; color: var(--navy);}
.demo-tabs button[aria-selected="true"]{background: var(--navy); color: rgb(255, 255, 255); border-color: var(--navy);}
.doc{background: rgb(255, 255, 255); border-radius: 8px; padding: 14px 16px; box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 2px; font-size: 0.88rem; align-self: stretch;}
.doc h5{font: 700 .92rem var(--display); display: flex; justify-content: space-between; gap: 10px;}
.doc h5 span{font: 600 .72rem var(--display); color: var(--muted);}
.doc table{width: 100%; border-collapse: collapse; margin-top: 8px;}
.doc td{padding: 5px 0px; border-top: 1px solid var(--line); vertical-align: top;}
.doc td:last-child{text-align: right; font-weight: 600;}
.doc tr.flag td{color: rgb(180, 83, 9);}
.doc tr.ok td{color: rgb(4, 120, 87);}
.logos{margin-top: 80px; padding: 30px 0px 40px; border-top: 1px solid rgba(255, 255, 255, 0.12); display: flex; align-items: center; gap: 36px; flex-wrap: wrap;}
.logos p{font-size: 0.9rem; color: var(--soft); max-width: 16ch; line-height: 1.35;}
.logos ul{list-style: none; display: flex; flex-wrap: wrap; gap: 12px 36px; font: 700 1.1rem var(--display); letter-spacing: 0.03em; color: rgb(201, 205, 234); flex: 1 1 0%;}
.proof-grid{display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; margin-top: 52px;}
.case{background: var(--navy); color: rgb(255, 255, 255); border-radius: 16px; padding: 44px; display: flex; flex-direction: column;}
.case .tag{font: 600 .9rem var(--display); color: var(--cyan);}
.case .big{font: 800 clamp(3.5rem,8vw,6rem)/1 var(--display); letter-spacing: -0.05em; margin: 22px 0px 6px; background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; background-clip: text; color: transparent;}
.case .unit{font: 600 1.2rem var(--display);}
.case .story{color: var(--soft); margin-top: 22px; max-width: 52ch;}
.case .story b{color: rgb(255, 255, 255);}
.case .textlink{color: rgb(255, 255, 255);}
.across{margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.14); font-size: 0.92rem; color: var(--soft);}
.across b{font: 800 1.2rem var(--display); color: rgb(255, 255, 255); margin-right: 6px;}
.stat-list{display: grid; gap: 24px;}
.stat{border: 1px solid var(--line); border-radius: 16px; padding: 32px;}
.stat .n{font: 800 2.6rem/1 var(--display); letter-spacing: -0.04em; color: var(--cobalt);}
.stat h3{margin-top: 10px; font-size: 1.1rem;}
.stat p{color: var(--muted); font-size: 0.95rem; margin-top: 6px;}
.stat .prod{display: inline-block; margin-top: 14px; font: 600 .85rem var(--display); color: var(--azure);}
.demo{margin-top: 52px; border-radius: 16px; background: rgb(255, 255, 255); border: 1px solid var(--line); box-shadow: rgba(8, 10, 59, 0.08) 0px 30px 80px; overflow: hidden;}
.demo-bar{display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 18px 24px; border-bottom: 1px solid var(--line); background: var(--mist);}
.demo-bar .title{font: 700 1rem var(--display);}
.demo-bar .title small{display: block; font: 500 .85rem var(--body); color: var(--muted);}
.demo-ctl{display: flex; align-items: center; gap: 10px;}
.demo-ctl button{border: 1px solid var(--line); background: rgb(255, 255, 255); border-radius: 999px; padding: 8px 16px; font: 600 .88rem var(--display); cursor: pointer; color: var(--navy);}
.demo-ctl button.primary{background: var(--navy); color: rgb(255, 255, 255); border-color: var(--navy);}
.demo-ctl button:disabled{opacity: 0.4; cursor: default;}
.dots{display: flex; gap: 6px;}
.dots i{width: 8px; height: 8px; border-radius: 50%; background: var(--line);}
.dots i.done{background: var(--azure);}
.demo-body{display: grid; grid-template-columns: 1fr 1.15fr; min-height: 460px;}
.chat{background: rgb(238, 243, 248); padding: 24px; display: flex; flex-direction: column; gap: 12px; border-right: 1px solid var(--line);}
.chat .hdr{font: 600 .85rem var(--display); color: var(--muted); display: flex; justify-content: space-between;}
.msg{max-width: 88%; padding: 12px 14px; border-radius: 8px; font-size: 0.92rem; line-height: 1.45; box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 2px;}
.msg.agent{background: rgb(255, 255, 255); align-self: flex-start; border-top-left-radius: 8px;}
.msg.buyer{background: rgb(215, 245, 240); align-self: flex-end; border-top-right-radius: 8px;}
.msg small{display: block; font-size: 0.72rem; color: var(--muted); margin-top: 4px;}
.chat .empty{margin: auto; color: var(--muted); font-size: 0.9rem; text-align: center; max-width: 26ch;}
.log{list-style: none; padding: 24px; display: flex; flex-direction: column; gap: 10px;}
.log li{display: grid; grid-template-columns: 28px 1fr; gap: 12px; padding: 12px 14px; border-radius: 8px; border: 1px solid var(--line); transition: opacity 0.35s, transform 0.35s, border-color 0.35s, background 0.35s;}
.log li.hidden{display: none;}
.log li.current{border-color: var(--azure); background: rgb(245, 249, 255);}
.log li .k{display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--mist); font: 700 .8rem var(--display); color: var(--cobalt);}
.log li.current .k{background: var(--grad); color: var(--navy);}
.log h4{font-size: 0.98rem;}
.log p{font-size: 0.88rem; color: var(--muted); margin-top: 2px;}
.sys{display: inline-block; margin: 6px 6px 0px 0px; padding: 2px 8px; border-radius: 8px; background: var(--navy); color: var(--cyan); font: 600 .72rem var(--display);}
.log li.person{border-color: rgb(240, 180, 41); background: rgb(255, 250, 240);}
.log li.person .k{background: rgb(240, 180, 41); color: var(--navy);}
@media (prefers-reduced-motion: no-preference){.log li.enter,.msg.enter{animation: 0.4s ease-out 0s 1 normal none running rise;}
@keyframes rise { 
  0% { opacity: 0; transform: translateY(8px); }
}}
.demo-note{padding: 16px 24px; border-top: 1px solid var(--line); font-size: 0.9rem; color: var(--muted);}
.plist{margin-top: 48px; border-top: 2px solid var(--navy);}
.prow{display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 28px; padding: 28px 0px; border-bottom: 1px solid var(--line); align-items: center; text-decoration: none; transition: padding 0.2s;}
.prow:hover{padding-left: 12px;}
.prow .prob{font: 600 .88rem var(--display); color: var(--muted); margin-bottom: 6px;}
.prow h3{font-size: clamp(1.25rem, 2.1vw, 1.6rem); font-weight: 800; letter-spacing: -0.02em;}
.prow .pname{font: 800 1.15rem var(--display);}
.prow .pname small{display: block; font: 500 .88rem var(--body); color: var(--muted);}
.prow .m b{display: block; font: 800 1.5rem/1.1 var(--display); letter-spacing: -0.03em; color: var(--cobalt);}
.prow .m span{font-size: 0.86rem; color: var(--muted);}
.fta{margin-top: 40px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; background: var(--mist); border-radius: 16px; padding: 34px 36px;}
.fta-tag{font: 600 .85rem var(--display); color: var(--azure);}
.fta h3{font-size: 1.45rem; font-weight: 800; margin: 8px 0px 10px;}
.fta p{color: var(--muted);}
.fta-actions{display: flex; flex-direction: column; align-items: flex-start; gap: 14px;}
.plist-foot{margin-top: 24px; display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; color: var(--muted); font-size: 0.95rem;}
#technology,.inds{scroll-margin-top: 110px; display: flex; flex-wrap: wrap; gap: 8px 18px;}
.inds a{text-decoration: none; color: var(--cobalt); font-weight: 600;}
.inds a:hover{text-decoration: underline;}
.buy{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0px; margin-top: 52px; border-top: 1px solid rgba(255, 255, 255, 0.18);}
.buy div{padding: 30px 32px 10px 0px;}
.buy div + div{padding-left: 32px; border-left: 1px solid rgba(255, 255, 255, 0.18);}
.buy .lbl{font: 600 .9rem var(--display); color: var(--cyan);}
.buy h3{font-size: 1.5rem; font-weight: 800; margin: 8px 0px 10px;}
.buy p{color: var(--soft); font-size: 0.97rem;}
.svc-link{margin-top: 16px;}
.flow .flow-links{display: flex; flex-direction: column; gap: 4px; margin-top: 10px;}
.flow .flow-links a{color: var(--cyan); font: 600 .84rem var(--display); text-decoration: none;}
.flow .flow-links a:hover{text-decoration: underline;}
.sem-head{margin-top: 96px; padding-top: 56px; border-top: 1px solid rgba(255, 255, 255, 0.18);}
.sem-head h2{max-width: 17ch;}
.semantic p a{color: rgb(255, 255, 255); text-decoration: none; border-bottom: 2px solid var(--cyan); font-weight: 600;}
.semantic p a:hover{color: var(--cyan);}
.tech{display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: start;}
.tech > *{min-width: 0px;}
.ms-card{margin-top: 32px; display: block; max-width: 460px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 16px; padding: 22px 26px;}
.ms-name{font: 800 1.2rem var(--display); letter-spacing: -0.01em;}
.ms-spec{margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); font: 600 .92rem var(--display); color: var(--cobalt);}
.ms-card ul{list-style: none; margin-top: 10px; display: grid; gap: 6px;}
.ms-card li{display: flex; align-items: center; gap: 10px; font-weight: 600;}
.ms-card li::before{content: ""; width: 10px; height: 10px; border-radius: 8px; background: var(--grad);}
.stackrows{border-top: 2px solid var(--navy);}
.proof-card{margin-top: 20px; background: var(--navy); color: rgb(255, 255, 255); border-radius: 16px; padding: 24px 26px; max-width: 460px;}
.proof-card .pc-tag{font: 600 .85rem var(--display); color: var(--cyan);}
.proof-card .pc-head{font: 700 1.2rem/1.25 var(--display); margin-top: 8px;}
.pc-stats{list-style: none; display: flex; gap: 28px; margin: 16px 0px 18px;}
.pc-stats b{display: block; font: 800 1.8rem/1 var(--display); letter-spacing: -0.03em; background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; background-clip: text; color: transparent;}
.pc-stats span{font-size: 0.86rem; color: var(--soft);}
.proof-card .textlink{color: rgb(255, 255, 255);}
.fulllist{padding-top: 18px;}
.stackrows div{display: grid; grid-template-columns: 200px 1fr; gap: 20px; padding: 22px 0px; border-bottom: 1px solid var(--line);}
.stackrows dt{font: 700 1rem var(--display);}
.stackrows dd{color: var(--muted);}
.flow{list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 48px; counter-reset: f 0;}
.flow li{counter-increment: f 1; position: relative; padding: 22px 20px; border-radius: 16px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1);}
.flow li::before{content: counter(f); font: 800 1.6rem/1 var(--display); background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; background-clip: text; color: transparent; display: block; margin-bottom: 14px;}
.flow li.ctx{background: rgb(255, 255, 255); color: var(--navy); border-color: rgb(255, 255, 255);}
.flow h4{font-size: 1.05rem;}
.flow p{font-size: 0.88rem; color: var(--soft); margin-top: 6px; line-height: 1.45;}
.flow li.ctx p{color: var(--muted);}
.semantic{margin-top: 40px; display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end;}
.semantic p{font-size: 1.1rem; color: rgb(223, 227, 255); max-width: 60ch;}
.semantic p b{color: var(--cyan); font-weight: 700;}
.semantic .links{display: flex; flex-direction: column; gap: 12px; align-items: flex-start;}
.runs{margin-top: 44px; font-size: 0.92rem; color: var(--soft);}
.runs b{color: rgb(255, 255, 255); font-weight: 600;}
.start{display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start;}
.steps{list-style: none; counter-reset: s 0; border-top: 2px solid var(--navy);}
.steps li{counter-increment: s 1; display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 24px 0px; border-bottom: 1px solid var(--line);}
.steps li::before{content: counter(s); display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--grad); font: 800 1.1rem var(--display); color: var(--navy);}
.steps h3{font-size: 1.25rem;}
.steps p{color: var(--muted); margin-top: 4px;}
.steps small{display: block; margin-top: 6px; font: 600 .88rem var(--display); color: var(--azure);}
@media (max-width: 1100px){.hero-grid,.proof-grid,.start,.semantic{grid-template-columns: 1fr;}
.flow{grid-template-columns: 1fr 1fr;}}
@media (max-width: 820px){section{padding: 80px 0px;}
.wrap{padding: 0px 22px;}
#navlist{display: none; position: absolute; top: 76px; left: 0px; right: 0px; flex-direction: column; align-items: stretch; gap: 0px; background: var(--navy); border-bottom: 1px solid rgba(255, 255, 255, 0.12); padding: 8px 22px 20px; max-height: calc(-76px + 100vh); overflow-y: auto;}
#navlist.open{display: flex;}
#navlist > li > a{display: flex; width: 100%; justify-content: space-between; padding: 14px 0px; font-size: 1.1rem; color: rgb(255, 255, 255); border-bottom: 1px solid rgba(255, 255, 255, 0.08);}
.vtabs{flex-wrap: nowrap; overflow-x: auto; margin: 0px -22px; padding: 0px 22px 4px; scrollbar-width: none;}
.vtabs::-webkit-scrollbar{display: none;}
.vtabs button{flex: 0 0 auto;}
.hero{padding-top: 48px;}
.hero h1{font-size: 2.6rem;}
.outcome{padding: 20px;}
.demo-bar{flex-direction: column; align-items: stretch;}
.demo-ctl{flex-wrap: wrap;}
.demo-ctl .dots{display: none;}
.demo-ctl button{flex: 1 1 0%; padding: 11px 10px; white-space: nowrap; font-size: 0.86rem;}
.log{order: -1; border-bottom: 1px solid var(--line);}
.demo-ctl button.primary{flex-basis: 100%; order: -1;}
.demo-tabs{flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;}
.demo-tabs button{flex: 0 0 auto;}
.chat{padding: 18px;}
.log{padding: 18px;}
.msg{max-width: 94%;}
.case .big{font-size: 3.2rem;}
.because{grid-template-columns: 1fr;}
.tech{grid-template-columns: 1fr; gap: 40px;}
.sem-head{margin-top: 64px; padding-top: 40px;}
.stackrows div{grid-template-columns: 1fr; gap: 4px;}
.logos{flex-direction: column; align-items: flex-start; gap: 16px;}
.logos p{max-width: none;}
.logos ul{gap: 10px 22px; font-size: 0.95rem;}
.because div + div{padding-left: 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor;}
.demo-body{grid-template-columns: 1fr;}
.chat{border-right-width: medium; border-right-style: none; border-right-color: currentcolor; border-bottom: 1px solid var(--line); min-height: 300px;}
.prow{grid-template-columns: 1fr; gap: 8px;}
.fta{grid-template-columns: 1fr; gap: 24px; padding: 28px;}
.buy{grid-template-columns: 1fr;}
.buy div,.buy div + div{padding: 26px 0px 0px; border-left-width: medium; border-left-style: none; border-left-color: currentcolor;}
.flow{grid-template-columns: 1fr;}
.case{padding: 32px;}}
:root{--ease: cubic-bezier(.2,.7,.2,1);}
section,header.hero{scroll-margin-top: 70px;}
#navlist > li > a{position: relative;}
#navlist > li > a::after{content: ""; position: absolute; left: 0px; right: 0px; bottom: 2px; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: 0px 50%; transition: transform .25s var(--ease);}
#navlist > li > a:hover::after,#navlist > li > a.active::after{transform: scaleX(1);}
#navlist > li > a.active{color: rgb(255, 255, 255);}
.btn{position: relative; overflow: hidden; gap: 10px; transition: background .25s,color .25s,transform .25s var(--ease),box-shadow .25s;}
.btn:hover{transform: translateY(-2px);}
.btn:active{transform: translateY(0px);}
.btn-primary:hover{box-shadow: rgba(0, 77, 214, 0.35) 0px 12px 28px;}
.dark .btn-primary:hover{box-shadow: rgba(0, 234, 234, 0.28) 0px 12px 30px;}
.btn-primary::after{content: ""; position: absolute; top: 0px; bottom: 0px; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.4), transparent); transform: skewX(-20deg); transition: left .6s var(--ease); pointer-events: none;}
.btn-primary:hover::after{left: 130%;}
.textlink{border-bottom: 0px; padding-bottom: 3px; background: linear-gradient(90deg,var(--azure),var(--cobalt)) 0 100%/0 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 0 100%/100% 2px no-repeat; transition: background-size .35s var(--ease),color .2s;}
.textlink:hover{background-size: 100% 2px, 100% 2px; color: var(--azure);}
.dark .textlink,.case .textlink,.proof-card .textlink{background: linear-gradient(#fff,#fff) 0 100%/0 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 0 100%/100% 2px no-repeat;}
.dark .textlink:hover,.case .textlink:hover,.proof-card .textlink:hover{background-size: 100% 2px, 100% 2px; color: var(--cyan);}
.hero{position: relative; overflow: hidden; isolation: isolate;}
.hero::before,.hero::after{content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none;}
.hero::before{width: 760px; height: 760px; top: -300px; right: -240px; background: radial-gradient(circle, rgba(0, 108, 216, 0.42), transparent 62%);}
.hero::after{width: 560px; height: 560px; bottom: 40px; left: -260px; background: radial-gradient(circle, rgba(0, 173, 225, 0.2), transparent 62%);}
@media (prefers-reduced-motion: no-preference){.hero::before{animation: 16s ease-in-out 0s infinite alternate none running drift;}
.hero::after{animation: 20s ease-in-out 0s infinite alternate-reverse none running drift;}
@keyframes drift { 
  100% { transform: translate(-70px, 50px) scale(1.08); }
}
.js .h-in{opacity: 0; transform: translateY(18px); animation-duration: ; animation-timing-function: ; animation-iteration-count: ; animation-direction: ; animation-fill-mode: ; animation-play-state: ; animation-name: ; animation-timeline: ; animation-range-start: ; animation-range-end: ; animation-delay: calc(var(--i) * 110ms + 80ms);}
@keyframes hin { 
  100% { opacity: 1; transform: none; }
}}
.guide{list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 14px; font: 500 .86rem var(--display); color: var(--soft);}
.guide li{display: flex; align-items: center; gap: 8px; transition: color 0.3s;}
.guide span{display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.28); font-size: 0.74rem; font-weight: 700; color: rgb(255, 255, 255); transition: background .3s,border-color .3s,color .3s,transform .3s var(--ease);}
.guide li.on{color: rgb(255, 255, 255);}
.guide li.on span{background: var(--cyan); border-color: var(--cyan); color: var(--navy);}
.guide.light{color: var(--muted); margin: 30px 0px 0px;}
.guide.light span{border-color: var(--line); color: var(--navy); background: rgb(255, 255, 255);}
.guide.light li.on{color: var(--navy);}
.guide.light li.on span{background: var(--navy); border-color: var(--navy); color: var(--cyan);}
.vtabs button{transition: color .2s,background .2s,border-color .2s,transform .2s var(--ease);}
.vtabs button:hover{transform: translateY(-1px);}
.demo-panel{transition: border-color 0.3s, box-shadow 0.3s;}
.demo-panel:hover{border-color: rgba(0, 234, 234, 0.3); box-shadow: rgba(0, 0, 0, 0.3) 0px 30px 70px;}
@media (prefers-reduced-motion: no-preference){.outcome.swap .decision,.outcome.swap .action,.outcome.swap .because{animation: swap .45s var(--ease) both;}
.outcome.swap .action{animation-delay: 0.06s;}
.outcome.swap .because{animation-delay: 0.12s;}
@keyframes swap { 
  0% { opacity: 0; transform: translateY(8px); }
}
.graph .node.key rect{animation: 2.6s ease-in-out 0s infinite normal none running keypulse;}
@keyframes keypulse { 
  50% { stroke-opacity: 0.35; }
}
.graph.focused .node.key rect{animation: auto ease 0s 1 normal none running none;}}
.graph .node:not(.core):hover rect{fill: rgb(22, 28, 114);}
.graph-hint{display: flex; gap: 10px; align-items: flex-start;}
.key-chip{flex: 0 0 auto; width: 18px; height: 12px; margin-top: 4px; border: 2px solid var(--cyan); border-radius: 8px;}
.logos li{transition: color 0.2s;}
.logos li:hover{color: rgb(255, 255, 255);}
.paths{padding: 72px 0px 8px;}
.paths h2{font-size: clamp(1.6rem, 3vw, 2.2rem); max-width: none;}
.path-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 28px;}
.path{position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px 22px 22px; border: 1px solid var(--line); border-radius: 16px; text-decoration: none; background: rgb(255, 255, 255); overflow: hidden; transition: transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.path::before{content: ""; position: absolute; left: 0px; top: 0px; right: 0px; height: 3px; background: var(--grad); transform: scaleX(0); transform-origin: 0px 50%; transition: transform .45s var(--ease);}
.path:hover,.path:focus-visible{transform: translateY(-4px); box-shadow: rgba(8, 10, 59, 0.12) 0px 22px 44px; border-color: transparent;}
.path:hover::before,.path:focus-visible::before{transform: scaleX(1);}
.path .ic{width: 46px; height: 46px; border-radius: 8px; display: grid; place-items: center; background: var(--mist); color: var(--cobalt); margin-bottom: 10px; transition: background .3s,color .3s,transform .3s var(--ease);}
.path:hover .ic{background: var(--navy); color: var(--cyan); transform: rotate(-6deg);}
.path h3{font-size: 1.08rem;}
.path p{font-size: 0.93rem; color: var(--muted); line-height: 1.45;}
.path .go{margin-top: auto; padding-top: 14px; font: 600 .88rem var(--display); color: var(--cobalt); display: inline-flex; align-items: center; gap: 6px;}
.path .go svg{transition: transform .25s var(--ease);}
.path:hover .go svg{transform: translateX(5px);}
.case{position: relative; overflow: hidden; transition: transform .35s var(--ease),box-shadow .35s;}
.case::after{content: ""; position: absolute; width: 460px; height: 460px; right: -180px; top: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 173, 225, 0.32), transparent 62%); transition: transform .7s var(--ease); pointer-events: none;}
.case > *{position: relative; z-index: 1;}
.case:hover{transform: translateY(-4px); box-shadow: rgba(8, 10, 59, 0.25) 0px 30px 60px;}
.case:hover::after{transform: translate(-50px, 50px) scale(1.15);}
.stat{position: relative; overflow: hidden; transition: transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.stat::before{content: ""; position: absolute; left: 0px; top: 0px; bottom: 0px; width: 4px; background: var(--grad); transform: scaleY(0); transform-origin: 50% 0px; transition: transform .4s var(--ease);}
.stat:hover{transform: translateY(-4px); box-shadow: rgba(8, 10, 59, 0.1) 0px 20px 44px; border-color: rgb(185, 201, 234);}
.stat:hover::before{transform: scaleY(1);}
.demo-tabs{display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 16px;}
.demo-tabs button{display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: 3px; border-radius: 16px; padding: 14px 16px; transition: border-color .2s,background .2s,color .2s,transform .25s var(--ease),box-shadow .25s;}
.demo-tabs button b{font: 700 .95rem var(--display);}
.demo-tabs button small{font: 500 .8rem var(--body); color: var(--muted);}
.demo-tabs button:hover{border-color: var(--azure); transform: translateY(-2px); box-shadow: rgba(8, 10, 59, 0.08) 0px 10px 24px;}
.demo-tabs button[aria-selected="true"] small{color: var(--soft);}
.demo-ctl .dots{display: none;}
.demo-ctl button{transition: background .2s,color .2s,border-color .2s,transform .2s var(--ease);}
.demo-ctl button:not(:disabled):hover{border-color: var(--azure); transform: translateY(-1px);}
.demo-ctl button.primary:not(:disabled):hover{background: var(--azure); border-color: var(--azure);}
@media (prefers-reduced-motion: no-preference){.demo-ctl button.primary.nudge{animation: 2.2s ease-in-out 0s infinite normal none running nudge;}
@keyframes nudge { 
  0%, 100% { box-shadow: rgba(0, 108, 216, 0.45) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(0, 108, 216, 0) 0px 0px 0px 8px; }
}}
.demo-status{display: flex; align-items: center; gap: 18px; padding: 12px 24px; border-bottom: 1px solid var(--line); font: 600 .88rem var(--display);}
.demo-status .bar{flex: 1 1 0%; min-width: 80px; height: 6px; border-radius: 99px; background: var(--line); overflow: hidden;}
.demo-status .bar span{display: block; height: 100%; width: 0px; border-radius: inherit; background: linear-gradient(90deg, rgb(0, 173, 225), rgb(0, 108, 216), rgb(0, 61, 198)); transition: width .5s var(--ease);}
#dStep{color: var(--navy); flex: 0 1 auto; min-width: 0px;}
.demo:focus-visible{outline: 3px solid var(--sky); outline-offset: 4px;}
.log li{position: relative;}
.log li:not(.hidden):hover{border-color: rgb(185, 201, 234);}
.log li.current::before{content: ""; position: absolute; left: -1px; top: 10px; bottom: 10px; width: 3px; border-radius: 8px; background: var(--grad);}
.doc{transition: box-shadow 0.25s;}
.doc:hover{box-shadow: rgba(8, 10, 59, 0.1) 0px 8px 20px;}
.phead{display: grid; grid-template-columns: 1.5fr 1fr 1fr 44px; gap: 28px; padding: 14px 0px; border-bottom: 1px solid var(--line); font: 600 .82rem var(--display); color: var(--muted);}
.prow{position: relative; grid-template-columns: 1.5fr 1fr 1fr 44px; transition: padding .3s var(--ease),background .3s;}
.prow::before{content: ""; position: absolute; left: 0px; top: 14px; bottom: 14px; width: 4px; border-radius: 8px; background: var(--grad); transform: scaleY(0); transition: transform .35s var(--ease);}
.prow:hover,.prow:focus-visible{padding-left: 22px; background: linear-gradient(90deg,var(--mist),rgba(241,245,253,0));}
.prow:hover::before,.prow:focus-visible::before{transform: scaleY(1);}
.prow .go{width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; color: var(--cobalt); transition: background .3s,color .3s,border-color .3s,transform .3s var(--ease);}
.prow:hover .go{background: var(--navy); border-color: var(--navy); color: var(--cyan); transform: translateX(-4px);}
.fta{position: relative; overflow: hidden; transition: box-shadow 0.3s;}
.fta::after{content: ""; position: absolute; right: -120px; bottom: -160px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 173, 225, 0.18), transparent 62%); pointer-events: none;}
.fta > *{position: relative; z-index: 1;}
.fta:hover{box-shadow: rgba(8, 10, 59, 0.08) 0px 20px 44px;}
.buy{gap: 18px; border-top: 0px;}
.buy div,.buy div + div{padding: 30px 28px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 16px; background: rgba(255, 255, 255, 0.03); transition: transform .3s var(--ease),background .3s,border-color .3s;}
.buy div:hover{transform: translateY(-4px); background: rgba(255, 255, 255, 0.06); border-color: rgba(0, 234, 234, 0.45);}
.buy .ic{width: 46px; height: 46px; border-radius: 8px; display: grid; place-items: center; background: rgba(0, 234, 234, 0.1); color: var(--cyan); margin-bottom: 18px; transition: background 0.3s, color 0.3s;}
.buy div:hover .ic{background: var(--cyan); color: var(--navy);}
.sem-sec{background: linear-gradient(180deg,var(--navy) 0%,var(--deep) 100%); border-top: 1px solid rgba(255, 255, 255, 0.08);}
.sem-sec .sem-head{margin-top: 0px; padding-top: 0px; border-top: 0px;}
.flow li{transition: transform .3s var(--ease),background .3s,border-color .3s,box-shadow .3s;}
.flow li:hover{transform: translateY(-4px); border-color: rgba(0, 234, 234, 0.5); background: rgba(255, 255, 255, 0.08);}
.flow li.ctx:hover{background: rgb(255, 255, 255); box-shadow: rgba(0, 234, 234, 0.22) 0px 18px 40px;}
@media (min-width: 1101px){.flow li:not(:last-child)::after{content: ""; position: absolute; top: 36px; right: -10px; width: 10px; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: 0px 50%; transition-property: ; transition-duration: ; transition-timing-function: ; transition-behavior: ; transition-delay: calc(var(--i,0) * 160ms + 300ms);}
.flow.lit li::after{transform: scaleX(1);}}
.ms-card,.proof-card{transition: transform .3s var(--ease),box-shadow .3s;}
.ms-card:hover,.proof-card:hover{transform: translateY(-3px); box-shadow: rgba(8, 10, 59, 0.12) 0px 20px 44px;}
.stackrows div{position: relative; transition: padding .3s var(--ease);}
.stackrows div::before{content: ""; position: absolute; left: 0px; top: 22px; bottom: 22px; width: 3px; border-radius: 8px; background: var(--grad); transform: scaleY(0); transition: transform .3s var(--ease);}
.stackrows div:hover{padding-left: 16px;}
.stackrows div:hover::before{transform: scaleY(1);}
.steps li{position: relative;}
.steps li:not(:last-child)::after{content: ""; position: absolute; left: 21px; top: 74px; bottom: -22px; width: 2px; background: linear-gradient(var(--sky),rgba(0,173,225,.1));}
.steps li::before{transition: transform .3s var(--ease),box-shadow .3s;}
.steps li:hover::before{transform: scale(1.1); box-shadow: rgba(0, 173, 225, 0.15) 0px 0px 0px 6px;}
.steps h3{transition: color 0.2s;}
.steps li:hover h3{color: var(--cobalt);}
.rail{position: fixed; right: 18px; top: 50%; transform: translateY(-50%); z-index: 25; display: none;}
@media (min-width: 1340px){.rail{display: block;}}
.rail ol{list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 12px 9px; border-radius: 999px; background: rgb(255, 255, 255); box-shadow: rgba(8, 10, 59, 0.18) 0px 10px 30px;}
.rail a{position: relative; display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--line); transition: background .25s,transform .25s var(--ease);}
.rail a:hover,.rail a:focus-visible,.rail a.active{background: var(--azure); transform: scale(1.35);}
.rail a span{position: absolute; right: 22px; top: 50%; transform: translate(6px, -50%) scale(0.74); transform-origin: 100% 50%; white-space: nowrap; background: var(--navy); color: rgb(255, 255, 255); font: 600 .78rem/1 var(--display); padding: 7px 11px; border-radius: 8px; opacity: 0; pointer-events: none; transition: opacity .2s,transform .2s var(--ease);}
.rail a:hover span,.rail a:focus-visible span{opacity: 1; transform: translate(0px, -50%) scale(0.74);}
@media (prefers-reduced-motion: no-preference){.js .rv{opacity: 0; transform: translateY(18px); transition-property: ; transition-duration: ; transition-timing-function: ; transition-behavior: ; transition-delay: var(--d,0ms);}
.js .rv.in{opacity: 1; transform: none;}}
@media (max-width: 1100px){.path-grid{grid-template-columns: 1fr 1fr;}
.demo-tabs{grid-template-columns: 1fr 1fr;}}
@media (max-width: 820px){.paths{padding: 56px 0px 0px;}
.demo-tabs{display: grid; grid-template-columns: repeat(4, minmax(190px, 1fr)); overflow-x: auto; scrollbar-width: none; margin: 16px -22px 0px; padding: 0px 22px 6px;}
.demo-tabs::-webkit-scrollbar{display: none;}
.phead{display: none;}
.prow{grid-template-columns: 1fr; padding-right: 56px;}
.prow .go{position: absolute; right: 0px; top: 50%; transform: translateY(-50%);}
.prow:hover .go{transform: translateY(-50%);}
.buy div,.buy div + div{padding: 26px 22px;}
.demo-status{padding: 12px 18px; gap: 12px; flex-wrap: wrap;}
.demo-status .bar{flex-basis: 100%; order: 2;}
.guide{gap: 8px 16px; font-size: 0.82rem;}}
@media (max-width: 560px){.path-grid{grid-template-columns: 1fr;}}
.hero{padding-top: 112px; background: radial-gradient(120% 90% at 78% 40%,#0c1068 0%,var(--navy) 55%,#05072b 100%);}
.hero::before{display: none;}
.hero::after{z-index: -2;}
.ai-bg{position: absolute; inset: 0px; width: 100%; height: 100%; z-index: -1; pointer-events: none; mask-image: linear-gradient(rgb(0, 0, 0) 78%, transparent 100%);}
.hero-top{max-width: 640px; min-height: 470px; display: flex; flex-direction: column; justify-content: center;}
.hero-top h1{margin-top: 0px; max-width: 13ch; text-shadow: rgba(5, 7, 43, 0.6) 0px 2px 30px;}
.hero-copy{margin-top: 28px;}
.hero-copy .hero-sub{margin-top: 0px;}
.hero-copy .actions{margin-top: 32px;}
.hero .logos{margin-top: 72px;}
.stage-sec{padding: 96px 0px 40px; background: rgb(255, 255, 255);}
.stage-sec h2{max-width: 22ch;}
.stage{margin-top: 36px; padding: 18px; border-radius: 16px; background: var(--mist); border: 1px solid var(--line); overflow: visible; box-shadow: rgba(8, 10, 59, 0.08) 0px 30px 80px; transition: box-shadow 0.3s, border-color 0.3s;}
.stage:hover{border-color: rgb(198, 212, 239); box-shadow: rgba(8, 10, 59, 0.12) 0px 36px 90px;}
.stage-head{display: flex; align-items: center; justify-content: space-between; gap: 14px 28px; flex-wrap: wrap; min-width: 0px;}
.stage-head > *{min-width: 0px; max-width: 100%;}
.stage .guide.light{margin: 0px 6px 0px 0px;}
.stage .vtabs{display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: rgb(255, 255, 255);}
.stage .vtabs button{border: 0px; padding: 9px 18px; font-size: 0.92rem; color: var(--muted); background: transparent;}
.stage .vtabs button:hover{color: var(--navy); background: var(--mist); transform: none;}
.stage .vtabs button[aria-selected="true"]{background: var(--navy); color: rgb(255, 255, 255);}
.stage-grid{display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 18px; margin-top: 18px;}
.stage-grid > *{min-width: 0px;}
.stage .outcome{background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 16px; color: var(--navy); padding: 26px 26px 18px; transition: border-color 0.3s, box-shadow 0.3s;}
.stage .outcome:hover{border-color: rgb(198, 212, 239); box-shadow: rgba(8, 10, 59, 0.08) 0px 14px 34px;}
.stage .outcome .decision{font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top: 18px;}
.stage .outcome .action{margin-top: 18px; padding: 14px 16px; border-radius: 8px; border: 1px solid rgba(0, 108, 216, 0.28); background: rgb(245, 249, 255); color: var(--muted); font-size: 1rem;}
.stage .outcome .action b{color: var(--cobalt);}
.stage .because{grid-template-columns: 1fr; border-top: 0px; margin-top: 18px;}
.stage .because div,.stage .because div + div{display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 14px 0px; border-left: 0px; border-top: 1px solid var(--line); font-size: 0.95rem;}
.stage .because dt{color: var(--muted); font-size: 0.85rem;}
.stage .because dd{color: var(--navy); font-weight: 600;}
.graph-card{border-radius: 16px; background: var(--navy); display: flex; align-items: center; box-shadow: rgba(255, 255, 255, 0.06) 0px 0px 0px 1px inset; transition: box-shadow 0.3s;}
.graph-card:hover{box-shadow: rgba(0, 234, 234, 0.35) 0px 0px 0px 1px inset, rgba(8, 10, 59, 0.2) 0px 20px 44px;}
.graph-card .graph{padding: 10px;}
.stage .graph-hint{padding: 16px 8px 4px; max-width: none; color: var(--muted);}
.stage .key-chip{border-color: var(--azure);}
.paths{padding-top: 56px;}
@media (max-width: 1100px){.stage-grid{grid-template-columns: 1fr;}}
@media (max-width: 820px){.ai-bg{opacity: 0.5;}
.hero{padding-top: 56px;}
.hero-top{min-height: 0px; padding-top: 120px;}
.stage-sec{padding: 72px 0px 24px;}
.stage{padding: 12px; border-radius: 16px;}
.stage-head{flex-direction: column; align-items: stretch;}
.stage .vtabs{display: flex; flex-wrap: nowrap; overflow-x: auto; margin: 0px; border-radius: 16px; width: 100%;}
.stage .outcome{padding: 20px;}
.stage .because div,.stage .because div + div{grid-template-columns: 1fr; gap: 2px;}}
section,header.hero{scroll-margin-top: 92px;}
#navlist{gap: 38px; font: 600 1.05rem var(--display);}
#navlist > li{position: static;}
@media (prefers-reduced-motion: no-preference){@keyframes megaIn { 
  0% { opacity: 0; transform: translateY(8px); }
}}
@media (max-width: 1100px) and (min-width: 821px){#navlist{gap: 22px; font-size: 0.98rem;}}
@media (max-width: 820px){#navlist{top: 100%; gap: 0px; padding-top: 4px; background: rgb(255, 255, 255); border-bottom: 1px solid var(--line); box-shadow: rgba(8, 10, 59, 0.12) 0px 20px 40px; max-height: calc(-72px + 100vh);}
#navlist > li > a{height: auto; padding: 16px 0px; color: var(--navy); border-bottom: 1px solid var(--line);}}
.ai-bg{display: none;}
.hero-top{max-width: none; min-height: 0px; display: grid; grid-template-columns: minmax(0px, 640px) minmax(0px, 1fr); gap: clamp(28px, 4vw, 72px); align-items: end; padding-top: 0px;}
.hero-text{padding-bottom: clamp(6px, 1.6vw, 22px);}
.hmark{place-self: end; width: clamp(260px, 27vw, 410px); position: relative; z-index: 1;}
.hm__f.hm__broken{background: linear-gradient(135.2deg, rgb(0, 108, 216), rgb(0, 61, 198) 60%, rgb(8, 10, 59));}
.hm__mask{position: relative; width: 100%; aspect-ratio: 666 / 752; overflow: hidden; mask: url("data:image/png;base64,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") center center / contain no-repeat;}
.hm__rest,.hm__f{position: absolute; inset: 0px; width: 100%; height: 100%; display: block; will-change: transform;}
.hm__rest{background: linear-gradient(135.2deg, rgb(0, 234, 234) 0%, rgb(0, 234, 234) 20.97%, rgb(0, 173, 225) 49.91%, rgb(0, 108, 216) 94.67%, rgb(0, 108, 216) 100%);}
.hm__f{object-fit: cover; background: rgb(8, 10, 59); transform: translate(-105%, 105%);}
.hero .logos{margin-top: clamp(48px, 5vw, 72px);}
.js .hero .h-in{animation: auto ease 0s 1 normal none running none; opacity: 1; transform: none;}
@media (prefers-reduced-motion: no-preference){.intro-pending .hero .h-in{opacity: 0; transform: translateY(28px);}
.intro-pending .hmark:not(.go){opacity: 0;}
.hero-reveal .hero .h-in{animation-duration: ; animation-timing-function: ; animation-iteration-count: ; animation-direction: ; animation-fill-mode: ; animation-play-state: ; animation-name: ; animation-timeline: ; animation-range-start: ; animation-range-end: ; animation-delay: calc(var(--i) * 190ms);}
@keyframes heroIn { 
  0% { opacity: 0; transform: translateY(28px); }
  100% { opacity: 1; transform: none; }
}}
@media (max-width: 1100px){.hero-top{grid-template-columns: minmax(0px, 1.25fr) minmax(0px, 1fr);}}
@media (max-width: 820px){.hero-top{grid-template-columns: 1fr; padding-top: 0px; gap: 36px;}
.hmark{width: min(64vw, 300px);}}
:root{--hdr: 140px;}
.hero{height: calc(100svh - var(--hdr)); min-height: 500px; max-height: 1100px; padding: clamp(20px, 4vh, 56px) 0px 0px; display: flex;}
.hero > .wrap{display: flex; flex-direction: column; width: 100%; min-height: 0px;}
.hero-top{flex: 1 1 auto; min-height: 0px; align-items: center;}
.hero-top h1{font-size: clamp(2.1rem, min(5vw, 6.6vh), 4.8rem); max-width: 15ch;}
.hero-copy{margin-top: clamp(14px, 2.6vh, 28px);}
.hero-copy .hero-sub{font-size: clamp(1rem, min(1.3vw, 2.1vh), 1.15rem);}
.hero-proof{margin-top: clamp(12px, 2vh, 22px);}
.hero-copy .actions{margin-top: clamp(16px, 3vh, 32px);}
.hmark{align-self: center; width: clamp(200px,min(27vw,calc((100svh - var(--hdr) - 190px) * .86)),430px);}
.hero .logos{margin-top: auto; flex: 0 0 auto; padding: clamp(10px, 2vh, 24px) 0px clamp(12px, 2.2vh, 26px);}
.hero .logos ul{font-size: clamp(0.9rem, 1.9vh, 1.1rem);}
@media (max-height: 700px) and (min-width: 821px){.hero-proof{display: none;}}
@media (max-width: 820px){.hero{min-height: 520px; max-height: none; padding-top: clamp(24px, 4vh, 44px);}
.hero-top{position: relative; align-items: start;}
.hmark{position: absolute; right: 0px; bottom: 4px; width: min(32vw, 150px);}
.hero .logos{gap: 10px;}
.hero .logos ul{gap: 6px 16px;}}
.hm__ai{position: absolute; inset: 0px; width: 100%; height: 100%; z-index: 3; display: block;}
.hmark::before{content: ""; position: absolute; inset: -18%; z-index: -1; border-radius: 50%; pointer-events: none; background: radial-gradient(closest-side, rgba(0, 173, 225, 0.28), rgba(0, 108, 216, 0.1) 55%, transparent);}
.hero-fx{position: absolute; inset: 0px; width: 100%; height: 100%; z-index: 0; pointer-events: none;}
.hero > .wrap{position: relative; z-index: 1;}
.hm__mask{visibility: hidden;}
@media (prefers-reduced-motion: no-preference){.intro-pending .hero h1.split,.hero-reveal .hero h1.split{opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none;}
.hero h1.split .w{display: inline-block;}
.intro-pending .hero h1.split .w{opacity: 0; transform: translateY(0.45em);}
.hero-reveal .hero h1.split .w{animation-duration: ; animation-timing-function: ; animation-iteration-count: ; animation-direction: ; animation-fill-mode: ; animation-play-state: ; animation-name: ; animation-timeline: ; animation-range-start: ; animation-range-end: ; animation-delay: var(--d,0ms);}
@keyframes lineIn { 
  0% { opacity: 0; transform: translateY(0.45em); }
  100% { opacity: 1; transform: none; }
}
.hero-skip .hero .h-in,.hero-skip .hero h1.split .w{animation: auto ease 0s 1 normal none running none !important; opacity: 1 !important; transform: none !important;}}
@media (max-width: 820px){#navlist{left: 12px; right: 12px; top: calc(100% + 4px); border-radius: 16px; border: 1px solid rgba(255, 255, 255, 0.7); background: rgba(255, 255, 255, 0.93); backdrop-filter: blur(18px); box-shadow: rgba(5, 7, 43, 0.25) 0px 24px 50px; padding: 6px 18px 12px; max-height: calc(-110px + 100vh);}}
@media (min-width: 821px){#navlist{gap: 6px;}}
@media (max-width: 820px){#navlist{position: absolute;}
#navlist::after{content: ""; position: absolute; inset: 0px; border-radius: inherit; padding: 1px; pointer-events: none; background: linear-gradient(135deg, rgba(0, 173, 225, 0.55), rgba(0, 173, 225, 0.08) 38%, rgba(0, 108, 216, 0.04) 62%, rgba(0, 108, 216, 0.4)); mask: linear-gradient(rgb(0, 0, 0) 0px, rgb(0, 0, 0) 0px) content-box exclude, linear-gradient(rgb(0, 0, 0) 0px, rgb(0, 0, 0) 0px);}}
.stage{background: transparent; border: 0px; box-shadow: none; padding: 0px; margin-top: 30px; overflow: visible;}
.stage:hover{border: 0px; box-shadow: none;}
.stage-grid{margin-top: 16px;}
.stage .outcome{box-shadow: rgba(8, 10, 59, 0.06) 0px 14px 34px;}
.graph-card{box-shadow: rgba(8, 10, 59, 0.12) 0px 14px 34px;}
.stage .graph-hint{padding: 16px 2px 0px;}
@media (max-width: 820px){.stage{margin-top: 22px;}}
section,header.hero{scroll-margin-top: calc(var(--navh,116px) + 18px);}
.demo{position: relative;}
.demo-foot{position: sticky; bottom: 0px; z-index: 4; display: flex; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding: 12px 24px; border-top: 1px solid var(--line); background: rgba(255, 255, 255, 0.93); backdrop-filter: blur(12px);}
.demo-foot .demo-status{flex: 1 1 260px; min-width: 0px; padding: 0px; border: 0px;}
.demo-foot .demo-ctl{flex: 0 0 auto;}
.demo-body{min-height: 0px;}
.log li{display: block; padding: 0px; overflow: hidden;}
.log li .li-head{display: grid; grid-template-columns: 28px 1fr 16px; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; background: none; border: 0px; text-align: left; font: inherit; color: inherit; cursor: pointer;}
.log li .li-head h4{margin: 0px;}
.log li .chev{width: 9px; height: 9px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg) translateY(-2px); transition: transform .3s var(--ease);}
.log li.open .chev{transform: rotate(-135deg) translateY(-2px);}
.log li .li-body{display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .35s var(--ease),opacity .25s;}
.log li .li-body > div{overflow: hidden; padding: 0px 14px 0px 54px;}
.log li.open .li-body{grid-template-rows: 1fr; opacity: 1;}
.log li.open .li-body > div{padding-bottom: 12px;}
.log li.current::before{top: 6px; bottom: 6px;}
.cgrp{border: 1px solid var(--line); border-radius: 8px; background: rgb(255, 255, 255); overflow: hidden;}
.cgrp-head{display: grid; grid-template-columns: 24px 1fr 14px; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; background: none; border: 0px; text-align: left; font: 600 .88rem var(--display); color: var(--navy); cursor: pointer;}
.cgrp-head .n{display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--mist); font: 700 .75rem var(--display); color: var(--cobalt);}
.cgrp.person .cgrp-head .n{background: rgb(240, 180, 41); color: var(--navy);}
.cgrp-head .chev{width: 8px; height: 8px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(45deg) translateY(-2px); transition: transform .3s var(--ease);}
.cgrp.open .cgrp-head .chev{transform: rotate(-135deg) translateY(-2px);}
.cgrp-body{display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .35s var(--ease),opacity .25s;}
.cgrp.open .cgrp-body{grid-template-rows: 1fr; opacity: 1;}
.cgrp-body > .inner{overflow: hidden; display: grid; gap: 10px; padding: 0px 12px;}
.cgrp.open .cgrp-body > .inner{padding-bottom: 12px;}
.chat{gap: 10px;}
@media (max-width: 820px){.demo-foot{padding: 10px 16px;}
.demo-foot .demo-ctl{flex: 1 1 100%;}}
.anchor{display: block; height: 0px; scroll-margin-top: calc(var(--navh,116px) + 18px);}
.pgrid{display: grid; grid-template-columns: 1.12fr 1fr 1fr; gap: 18px; margin-top: 40px;}
.pcard{position: relative; display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 22px; border: 1px solid var(--line); border-radius: 16px; background: rgb(255, 255, 255); text-decoration: none; color: var(--navy); overflow: hidden; transition: transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.pcard::before{content: ""; position: absolute; left: 0px; top: 0px; right: 0px; height: 3px; background: var(--grad); transform: scaleX(0); transform-origin: 0px 50%; transition: transform .45s var(--ease);}
.pcard:hover,.pcard:focus-visible{transform: translateY(-4px); box-shadow: rgba(8, 10, 59, 0.12) 0px 24px 50px; border-color: transparent;}
.pcard:hover::before,.pcard:focus-visible::before{transform: scaleX(1);}
.pcard .prob{font: 600 .82rem var(--display); color: var(--muted);}
.pcard h3{font: 700 clamp(1.15rem,1.5vw,1.4rem)/1.25 var(--display); letter-spacing: -0.015em;}
.pcard .desc{font-size: 0.95rem; line-height: 1.55; color: var(--muted);}
.pcard .m{display: flex; flex-direction: column; gap: 2px; margin-top: 2px;}
.pcard .m b{font: 800 1.5rem var(--display); letter-spacing: -0.02em; background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; background-clip: text; color: transparent;}
.pcard .m span{font-size: 0.88rem; color: var(--muted);}
.pcard .tbc-metric{font-size: 0.85rem;}
.pcard .pfoot{display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 16px;}
.pcard .pname{font: 700 1rem var(--display); display: block;}
.pcard .pname small{display: block; font: 500 .85rem var(--body); color: var(--muted); margin-top: 2px;}
.pcard .go{flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; color: var(--cobalt); transition: background .3s,color .3s,border-color .3s,transform .3s var(--ease);}
.pcard:hover .go{background: var(--navy); border-color: var(--navy); color: var(--cyan); transform: translateX(3px);}
.pcard.feat{grid-row: span 2; color: rgb(255, 255, 255); border-color: transparent; background: linear-gradient(150deg, rgb(14, 17, 80) 0%, rgb(8, 10, 59) 45%, rgb(4, 35, 79) 100%); padding: 30px;}
.pcard.feat .tag{font: 600 .8rem var(--display); color: var(--cyan); letter-spacing: 0.03em;}
.pcard.feat .big{font: 800 clamp(2.4rem,4vw,3.4rem)/1 var(--display); letter-spacing: -0.04em; background: linear-gradient(90deg, rgb(0, 234, 234), rgb(0, 173, 225) 45%, rgb(0, 108, 216)) text; color: transparent; margin-top: 6px;}
.pcard.feat .unit{font: 700 1rem/1.4 var(--display);}
.pcard.feat .prob{color: var(--soft); margin-top: 14px;}
.pcard.feat .story{font-size: 0.95rem; line-height: 1.6; color: rgb(201, 205, 234);}
.pcard.feat .story b{color: rgb(255, 255, 255);}
.pcard.feat .across{font-size: 0.88rem; color: var(--soft); padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, 0.14);}
.pcard.feat .across b{color: rgb(255, 255, 255); font-weight: 700;}
.pcard.feat .pname{color: rgb(255, 255, 255);}
.pcard.feat .pname small{color: var(--soft);}
.pcard.feat .fakelink{font: 600 .92rem var(--display); color: var(--cyan); border-bottom: 2px solid rgba(0, 234, 234, 0.5); padding-bottom: 2px; white-space: nowrap;}
.pcard.feat:hover{box-shadow: rgba(5, 7, 43, 0.35) 0px 30px 60px;}
.pcard.feat::before{background: linear-gradient(90deg, rgb(0, 234, 234), rgb(0, 108, 216));}
#products .fta{margin-top: 26px;}
@media (max-width: 1100px){.pgrid{grid-template-columns: 1fr 1fr;}
.pcard.feat{grid-area: auto / span 2;}}
@media (max-width: 760px){.pgrid{grid-template-columns: 1fr; gap: 14px;}
.pcard.feat{grid-column: auto; padding: 24px;}
.pcard{padding: 22px;}}
@media (min-width: 1340px){.rail{right: 14px;}}
.rail ol{gap: 4px; padding: 8px 6px; border-radius: 16px;}
.rail a{width: 34px; height: 34px; border-radius: 8px; display: grid; place-items: center; background: transparent; color: var(--muted); transition: background .25s,color .25s,transform .25s var(--ease);}
.rail a:hover,.rail a:focus-visible{background: var(--mist); color: var(--cobalt); transform: none;}
.rail a.active{background: var(--navy); color: var(--cyan); transform: none;}
.rail a span{right: 44px;}
.rail a:hover span,.rail a:focus-visible span{transform: translate(0px, -50%) scale(0.8);}
.ds-wa{--wa-bg: var(--accent); position: relative; display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 999px; border: 1.5px solid transparent; background: var(--wa-bg); color: rgb(255, 255, 255); font: 600 1rem var(--display); text-decoration: none; cursor: pointer; overflow: hidden; transition: background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s;}
.ds-wa svg{flex: 0 0 auto; width: 20px; height: 20px; fill: currentcolor;}
.ds-wa-label{white-space: nowrap;}
.ds-wa:hover{transform: translateY(-2px); background: var(--cobalt); box-shadow: rgba(0, 77, 214, 0.35) 0px 12px 28px;}
.ds-wa:active{transform: translateY(0px);}
.ds-wa::after{content: ""; position: absolute; top: 0px; bottom: 0px; left: -60%; width: 40%; pointer-events: none; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.28), transparent); transform: skewX(-20deg); transition: left .6s var(--ease);}
.ds-wa:hover::after{left: 130%;}
.ds-wa--ghost{background: transparent; border-color: rgba(255, 255, 255, 0.55);}
.ds-wa--ghost:hover{background: transparent; border-color: var(--cyan); color: var(--cyan); box-shadow: rgba(0, 234, 234, 0.18) 0px 12px 30px;}
.ds-wa .dot{width: 8px; height: 8px; border-radius: 50%; background: rgb(0, 212, 126); box-shadow: rgba(0, 212, 126, 0.22) 0px 0px 0px 3px;}
.ds-wa.is-off .dot{background: var(--soft); box-shadow: rgba(170, 176, 214, 0.2) 0px 0px 0px 3px;}
.ds-wa-sticky{position: fixed; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom,0px)); z-index: 40; display: none; padding: 12px 20px; font-size: 0.94rem;}
@media (max-width: 820px){.ds-wa-sticky{display: inline-flex;}}
.c-hero{background: radial-gradient(110% 90% at 78% 30%,#0c1068 0%,var(--navy) 55%,var(--deep) 100%); color: rgb(255, 255, 255); padding: clamp(56px, 7vw, 92px) 0px clamp(48px, 6vw, 72px);}
.c-hero h1{font: 800 clamp(2.2rem,4.6vw,4rem)/1 var(--display); letter-spacing: -0.04em; max-width: 16ch;}
.c-hero .lede{color: rgb(223, 227, 255); margin-top: 20px; max-width: 52ch; font-size: 1.08rem; line-height: 1.6;}
.c-quick{display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 14px; margin-top: 38px;}
.c-quick a,.c-quick div{display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 16px; background: rgba(255, 255, 255, 0.04); text-decoration: none; color: rgb(255, 255, 255); transition: border-color .25s,background .25s,transform .25s var(--ease);}
.c-quick a:hover{border-color: rgba(0, 234, 234, 0.5); background: rgba(255, 255, 255, 0.07); transform: translateY(-3px);}
.c-quick span{font: 600 .78rem var(--display); color: var(--cyan); letter-spacing: 0.04em; text-transform: uppercase;}
.c-quick b{font: 600 1rem var(--display);}
.c-quick small{color: var(--soft); font-size: 0.85rem;}
.c-hero .actions{margin-top: 30px;}
.book{display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 28px; margin-top: 38px; align-items: start;}
.card-s{border: 1px solid var(--line); border-radius: 16px; background: rgb(255, 255, 255); padding: clamp(20px, 2.4vw, 30px); box-shadow: rgba(8, 10, 59, 0.07) 0px 18px 44px;}
.mt{display: grid; gap: 10px;}
.mt label{display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; transition: border-color .2s,background .2s,border-radius .3s var(--ease);}
.mt label:hover{border-color: var(--azure); border-radius: 16px;}
.mt input{margin-top: 3px; accent-color: var(--accent);}
.mt b{display: block; font: 600 1rem var(--display);}
.mt small{color: var(--muted); font-size: 0.88rem;}
.mt input:checked + div b{color: var(--cobalt);}
.mt label:has(input:checked){border-color: var(--accent); background: var(--mist);}
.cal-head{display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0px 12px;}
.cal-head b{font: 700 1.02rem var(--display);}
.cal-nav{display: flex; gap: 6px;}
.cal-nav button{width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--line); background: rgb(255, 255, 255); color: var(--navy); display: grid; place-items: center; transition: border-color 0.2s, background 0.2s;}
.cal-nav button:hover:not(:disabled){border-color: var(--azure); background: var(--mist);}
.cal-nav button:disabled{opacity: 0.35; cursor: not-allowed;}
.cal{display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px;}
.cal .dow{font: 600 .74rem var(--display); color: var(--muted); text-align: center; padding-bottom: 4px; text-transform: uppercase; letter-spacing: 0.04em;}
.cal button{aspect-ratio: 1 / 1; border: 1px solid transparent; border-radius: 8px; background: var(--mist); color: var(--navy); font: 600 .95rem var(--display); cursor: pointer; transition: background .2s,color .2s,border-color .2s,transform .2s var(--ease);}
.cal button:hover:not(:disabled){background: rgb(255, 255, 255); border-color: var(--azure); transform: translateY(-2px);}
.cal button[aria-pressed="true"]{background: var(--navy); color: rgb(255, 255, 255); border-color: var(--navy);}
.cal button:disabled{background: transparent; color: rgb(194, 200, 222); cursor: not-allowed;}
.cal .pad{visibility: hidden;}
.tzrow{display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 22px;}
.tzrow label{font: 600 .85rem var(--display); color: var(--muted);}
select,input[type="text"],input[type="email"],input[type="tel"],textarea{width: 100%; font: 500 .98rem var(--body); color: var(--navy); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; background: rgb(255, 255, 255); transition: border-color 0.2s, box-shadow 0.2s;}
select:focus,input:focus,textarea:focus{outline: 0px; border-color: var(--azure); box-shadow: rgba(0, 173, 225, 0.15) 0px 0px 0px 4px;}
.tzrow select{width: auto; min-width: 210px;}
.slots{display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; margin-top: 14px;}
.slots button{padding: 11px 8px; border: 1px solid var(--line); border-radius: 8px; background: rgb(255, 255, 255); font: 600 .92rem var(--display); color: var(--navy); cursor: pointer; transition: border-color .2s,background .2s,color .2s,transform .2s var(--ease);}
.slots button:hover{border-color: var(--azure); transform: translateY(-2px);}
.slots button[aria-pressed="true"]{background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255);}
.slots p{grid-column: 1 / -1; color: var(--muted); font-size: 0.92rem;}
.summary{position: sticky; top: calc(var(--navh,116px) + 16px);}
.summary .pick{display: grid; gap: 8px; padding: 16px; border-radius: 16px; background: var(--mist); border: 1px solid var(--line); margin-bottom: 18px;}
.summary .pick p{display: flex; justify-content: space-between; gap: 14px; font-size: 0.92rem;}
.summary .pick p span{color: var(--muted);}
.summary .pick p b{text-align: right;}
.summary .pick.empty b{color: var(--muted); font-weight: 500;}
.field{display: grid; gap: 6px; margin-bottom: 14px;}
.field label{font: 600 .84rem var(--display); color: var(--navy);}
.field .hint{font-size: 0.8rem; color: var(--muted);}
.consent{display: flex; gap: 10px; align-items: flex-start; font-size: 0.86rem; color: var(--muted); line-height: 1.5; margin: 6px 0px 16px;}
.consent input{margin-top: 3px; accent-color: var(--accent);}
.form-note{font-size: 0.82rem; color: var(--muted); margin-top: 10px;}
.msgbox{display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
.msgbox .full{grid-column: 1 / -1;}
.radios{display: flex; gap: 8px; flex-wrap: wrap;}
.radios label{display: inline-flex; gap: 8px; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 9px 14px; font: 500 .9rem var(--body); cursor: pointer; transition: border-color 0.2s, background 0.2s;}
.radios label:hover{border-color: var(--azure);}
.radios label:has(input:checked){border-color: var(--accent); background: var(--mist); font-weight: 600;}
.offices{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 34px;}
.office{border: 1px solid var(--line); border-radius: 16px; padding: 22px; background: rgb(255, 255, 255); transition: transform .3s var(--ease),box-shadow .3s,border-color .3s;}
.office:hover{transform: translateY(-3px); box-shadow: rgba(8, 10, 59, 0.1) 0px 20px 44px; border-color: rgb(198, 212, 239);}
.office h3{font: 700 1.05rem var(--display);}
.office .flagline{font: 600 .78rem var(--display); color: var(--azure); letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 6px;}
.office address{font-style: normal; color: var(--muted); font-size: 0.93rem; line-height: 1.55; margin: 10px 0px 12px;}
.office a{color: var(--cobalt); text-decoration: none; font-size: 0.92rem; display: block; padding: 2px 0px;}
.office a:hover{text-decoration: underline;}
.maps{display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 22px;}
.maps iframe{width: 100%; height: 280px; border: 0px; border-radius: 16px; filter: saturate(0.9);}
.badges{display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 26px;}
.badges span{display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; font: 600 .88rem var(--display); background: rgb(255, 255, 255);}
.news{display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-top: 34px; padding: 26px 28px; border-radius: 16px; background: linear-gradient(120deg,var(--mist),#e8f1ff);}
.news form{display: flex; gap: 10px; flex-wrap: wrap;}
.news input{min-width: 260px;}
@media (max-width: 980px){.book{grid-template-columns: 1fr;}
.summary{position: static;}
.maps{grid-template-columns: 1fr;}}
@media (max-width: 620px){.msgbox{grid-template-columns: 1fr;}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto;}
*{transition: none !important; animation: auto ease 0s 1 normal none running none !important;}}