.hero-copy{animation:arrive .9s both}.hero h1 em{position:relative}.hero h1 em::after{content:'';position:absolute;left:1%;right:-1%;bottom:-6px;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.3}.hero-bottom a:hover{color:var(--accent)}
@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes signal{0%{transform:translateY(-18px);opacity:0}25%,75%{opacity:1}100%{transform:translateY(35px);opacity:0}}
.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.reveal.await-reveal{opacity:0;transform:translateY(24px)}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-width:0;flex-direction:column}.card-top>span{font-size:12px}.card-top svg{color:var(--accent)}.tags{display:flex;flex-wrap:wrap}.tags span{border:1px solid #24314f;white-space:nowrap}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-details summary{display:flex;justify-content:space-between;align-items:center}.service-details summary>span{color:var(--accent)}.service-details[open] summary>span{transform:rotate(90deg)}.service-details>div{padding:0 0 25px}.service-details p,.service-details li{color:var(--muted);line-height:1.75}.service-details ul{padding-left:18px;margin:20px 0}.service-details .text-link{color:var(--accent);font-size:14px}.service-note{display:flex;align-items:center;gap:22px}.note-mark{font-size:36px;color:var(--accent)}.service-note p{margin:0;line-height:1.6}.service-note p strong{font-weight:400;color:var(--ink)}.service-note>span:last-child{margin-left:auto;line-height:1.8;letter-spacing:1px;text-align:right}
.applications .section-top{color:#455271}.applications h2 em{color:#445783}.applications .section-heading{align-items:flex-end}.audience-tabs{display:flex;gap:3px;border:1px solid #b5bdd1;padding:5px;border-radius:5px}.audience-tabs button{padding:12px 20px;border:0;background:transparent;font-size:13px;border-radius:3px;white-space:nowrap;transition:background .25s,color .25s}.applications :focus-visible{outline-color:#1e3363}.application-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:7.5%}.use-case{padding:26px 0;display:flex;width:100%;gap:19px;text-align:left;background:transparent;border:0;border-top:1px solid #afb8ce;color:#475575}.use-case:last-child{border-bottom:1px solid #afb8ce}.case-number{font-size:12px;padding-top:5px;color:#55658a}.use-case strong{font:500 22px/1.4 var(--display);letter-spacing:-.6px;display:block}.case-description{font-size:15px;line-height:1.75;display:none;padding-top:17px;max-width:360px}.case-arrow{margin-left:auto;font-size:25px;transition:transform .3s;flex-shrink:0}.use-case.active{color:#131929}.use-case.active .case-description{display:block}.use-case.active .case-number{color:#1e2a44}.use-case.active .case-arrow{transform:rotate(45deg)}.use-case:hover{color:#111725}.workflow{border:1px solid #b6bed2;background:#f2f4f9;overflow:hidden;min-width:0}.workflow-top{padding:19px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #ccd4e5;font:12px/1.4 var(--font)}.workflow-icon{font-size:23px;color:#3f4e72}.example-label{margin-left:auto;padding:4px 6px;border:1px solid #b8c0d3;border-radius:3px;font-size:12px}.workflow-body{padding:28px 30px;background-size:15px 15px}.flow-sources{display:flex;justify-content:space-between;gap:8px}.flow-sources>span{border:1px solid #b8c1d4;border-radius:3px;padding:9px 10px;text-align:center;flex:1}.flow-connector{height:33px;display:flex;justify-content:space-around;position:relative;margin:0 16%;border-bottom:1px solid #8f9cbb;border-radius:0 0 8px 8px}.flow-connector i{width:1px;background:#8f9cbb;height:33px}.flow-connector i:first-child{margin-right:auto;height:27px;position:absolute;left:0}.flow-connector i:last-child{position:absolute;right:0;height:27px}.flow-center{display:flex;align-items:center;gap:12px;border:1px solid #6081cf;border-radius:4px;padding:18px 15px;margin-top:22px;position:relative}.flow-center:before{content:'';position:absolute;height:23px;width:1px;background:#8f9cbb;top:-24px;left:50%}.flow-center:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#394c78;left:calc(50% - 1.5px);top:-24px;animation:signal 2.5s ease-in-out infinite}.flow-mark{width:35px;height:35px;border-radius:6px;display:grid;place-items:center;font:800 24px var(--display)}.flow-center>div{display:flex;flex-direction:column;gap:5px}.flow-center strong{font-size:14px;font-weight:600}.flow-spark{font-size:25px;margin-left:auto}.flow-down{height:36px;display:grid;place-items:center;color:#4f5f84;font-size:25px}.flow-output{border:1px solid #c4cde1;border-radius:4px;padding:21px}.flow-output>p{font-size:15px;color:#1b243b;font-weight:500;margin:9px 0 13px;line-height:1.4}.flow-answer{display:flex;gap:9px;align-items:start}.flow-answer>span{color:#596c98;font-size:21px}.flow-answer p{line-height:1.65;margin:2px 0 17px}.source-pill{padding:5px 7px;background:#e4e8f1;border-radius:2px;display:inline-block}.workflow-footer{padding:14px 20px;border-top:1px solid #ccd4e5;display:flex;gap:10px;line-height:1.5}.workflow-footer>span:first-child{color:#3e4f77;font-size:18px}.application-bottom{margin-top:48px;padding-top:25px;border-top:1px solid #afb8ce;display:flex;justify-content:space-between;gap:20px;align-items:center}.application-bottom>span{font-size:13px}.application-bottom a:hover{color:#374c7c}
.process-step{padding-top:24px}.step-index{font:400 41px/1.1 var(--display);display:flex;justify-content:space-between;align-items:center}.step-index>span{font:400 20px var(--font);color:#5b6c94;letter-spacing:0}.process-step h3{font:500 24px/1.3 var(--display)}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.faq-intro h2{font-size:38px;margin:22px 0 17px}.faq-intro p{font-size:14px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{padding:24px 0;display:flex;justify-content:space-between;gap:30px;font-size:15px;line-height:1.6}.faq-list summary span{color:var(--accent);font-size:24px;line-height:1;align-self:center;flex-shrink:0;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 35px 25px 0;max-width:580px}.contact{justify-content:space-between;overflow:hidden;position:relative}.contact-copy{position:relative;z-index:1}.contact h2{margin:28px 0}.contact p{font-size:16px;margin:0 0 28px}.dark:hover{transform:translateY(-2px)}.contact-note{display:block;margin-top:18px}footer{display:block;padding:40px 4.7% 25px}.back-top{margin-left:auto;font-size:12px;display:flex;gap:18px;align-items:center}.back-top span{font-size:22px}#motion-toggle{display:flex;gap:8px}
dialog{background:var(--bg);color:var(--ink);border:1px solid #404c68;border-radius:8px;width:min(600px,calc(100% - 32px));max-height:90dvh;padding:42px;box-shadow:0 20px 150px #0009}dialog::backdrop{background:#06080ebb;backdrop-filter:blur(10px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;top:14px;right:17px;font-size:30px;background:none;color:var(--muted);border:0;width:36px;height:36px}.dialog-close:hover{color:var(--accent)}dialog h2{font-size:38px;margin:20px 0 14px}dialog p{font-size:14px}form label{display:flex;flex-direction:column;gap:10px;font-size:14px;margin:24px 0}input,textarea,select{width:100%;border:1px solid #30394f;border-radius:4px;padding:12px;min-height:47px;line-height:1.6;font-size:15px}textarea{resize:vertical}.form-note{line-height:1.7}form .button{width:100%;margin-top:12px}.brief-result h3{font:500 26px/1.4 var(--display);letter-spacing:-1px;margin:15px 0 5px}.result-check{font-size:36px}.brief-result pre{font:13px/1.7 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;padding:20px;border-radius:4px;max-height:280px;overflow:auto}.brief-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.brief-actions .button{font-size:12px}.brief-result .text-link{background:none;border:0;color:var(--ink);padding:0;font-size:13px}.brief-result #copy-status{color:var(--accent);min-height:20px;font-size:12px}#legal-content p{line-height:1.8}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal.await-reveal{opacity:1;transform:none}
@media(max-width:1100px){.service-card h3{font-size:29px}.card-top>span{font-size:12px}.application-layout{gap:5%;grid-template-columns:1fr 1.1fr}.workflow-body{padding:25px 20px}.use-case{gap:13px}.use-case strong{font-size:20px}.workflow-top{padding:15px}.example-label{font-size:12px}.flow-sources>span{padding:9px 5px}.flow-center strong{font-size:12px}.flow-spark{display:none}}@media(max-width:760px){.service-grid{grid-template-columns:1fr}.service-card+article{border-top:1px solid var(--line)}.card-top>span{font-size:12px}.service-card h3{margin-top:25px}.service-note{gap:15px;align-items:flex-start}.service-note>span:last-child{display:none}.note-mark{font-size:29px}.audience-tabs{width:fit-content;margin-top:30px}.audience-tabs button{padding:11px 18px;font-size:12px}.application-layout{grid-template-columns:1fr;gap:28px}.use-case{padding:22px 0}.use-case strong{font-size:20px}.case-description{font-size:14px;max-width:none}.workflow-body{padding:25px 20px}.flow-center strong{font-size:13px}.flow-output{padding:18px}.application-bottom{margin-top:30px;align-items:flex-start;flex-direction:column;gap:18px}.application-bottom>span{font-size:12px}.application-bottom .text-link{font-size:14px}.faq{display:block}.faq-intro h2{font-size:35px}.faq-list{margin-top:30px}.faq-list summary{font-size:14px;gap:20px;padding:22px 0}.faq-list details p{padding-right:15px}.contact p{font-size:15px}.contact-note{line-height:1.6}.contact .eyebrow{font-size:12px}footer{padding:30px 6% 25px}.back-top{font-size:12px;gap:12px}dialog{padding:35px 24px 28px}dialog h2{font-size:32px}dialog .eyebrow{font-size:12px}.brief-actions{gap:20px}.brief-actions .button{width:100%}}
@media(max-width:370px){.flow-sources{gap:4px}}
@media(prefers-reduced-motion:reduce){.reveal.await-reveal{opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Readable copy and stable flex geometry at every viewport. */
.service-card>p,.section-heading p,.approach-intro p,.process-step p,.faq-list details p,.hero-copy>p{font-size:16px}
.case-arrow{align-self:flex-start;width:25px;height:30px;display:grid;place-items:center;line-height:1}
.flow-sources>span{min-width:0;white-space:normal;overflow-wrap:anywhere}
.flow-center>div{min-width:0}
.flow-mark{flex-shrink:0}
.workflow-top>span:nth-child(2){min-width:0}
.workflow-top .example-label{flex-shrink:0}
@media(max-width:760px){.hero-actions .button,.hero-actions .text-link{white-space:nowrap}.hero-bottom{flex-direction:column}.process-grid{row-gap:38px}.flow-sources{align-items:stretch}.contact .eyebrow{max-width:280px}}
@media(max-width:370px){.header-cta{font-size:12px;gap:10px;margin-right:13px}.header-cta span{display:none}.header-cta{padding:10px}.brand{font-size:29px}.section h2{font-size:32px;letter-spacing:-1.5px}.flow-center{padding:15px 10px;gap:8px}.flow-center strong{font-size:12px}.workflow-body{padding:20px 14px}.workflow-top{padding:13px 11px;gap:7px}}
