:root{
 --brand-blue:#006be6;--brand-ink:#111943;--text-body:#53618a;
 --surface-soft:#f5faff;--border-soft:#e6eef7;
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;
 --radius-control:.35rem;--radius-card:.65rem;
 --shadow-soft:0 .2rem .7rem #193c6810;
 --icon-stroke:1.8;
}
body{font-family:Manrope,Arial,sans-serif;color:var(--brand-ink)}
p{color:var(--text-body);font-size:1.02rem;line-height:1.43}
.eyebrow{color:#526798;font-weight:750}
.button{background:var(--brand-blue);border-color:var(--brand-blue);border-radius:var(--radius-control);box-shadow:none}
.button:hover{background:#005bc6;border-color:#005bc6;box-shadow:var(--shadow-soft)}
.button.outline{background:#00152530;border-color:#e4e7ef}
.button.outline:hover{background:#ffffff18;border-color:white}
.text-link{color:#0060d4}
.challenge-panel,.capability-grid article{border-color:var(--border-soft);border-radius:var(--radius-card)}
.capability-grid article{background:var(--surface-soft)}
.icon{border-radius:var(--radius-card);color:var(--brand-blue)}
.icon svg,.journey svg{stroke-width:var(--icon-stroke)}
.ui-icon{display:block;flex-shrink:0;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}
.button-icon{display:inline-flex;align-items:center;justify-content:center}
.button-icon .ui-icon{width:1em;height:1em}
.play{display:inline-flex;align-items:center}
.play .ui-icon{width:1em;height:1em}
.search .ui-icon{width:1.1rem;height:1.1rem}
.menu-toggle{display:grid;place-items:center}
@media(min-width:901px){.menu-toggle{display:none}}
.menu-toggle .ui-icon{width:1.25rem;height:1.25rem}
.card-symbol .ui-icon{width:1rem;height:1rem}
.quote-arrow .ui-icon{width:1.2rem;height:1.2rem}
.newsletter button{display:grid;place-items:center}
.newsletter button .ui-icon{width:1.1rem;height:1.1rem}
.assurances>span{display:inline-flex;gap:.45rem;align-items:center}
.assurances .ui-icon{width:1.25em;height:1.25em}
.experience-image,.platform>img{object-fit:contain;object-position:right bottom}
.case-study>img{object-fit:cover}
.solution-card[data-photo='engagement']>img{object-position:50% 35%}
.solution-card[data-photo='retention']>img{object-position:48% 25%}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0a82ff;outline-offset:4px}
.newsletter input:focus-visible{outline-offset:2px}
.newsletter input{border:1px solid #31506b}
.footer-columns a:hover{text-decoration:underline;text-underline-offset:.22em}
@media(min-width:901px){
 .challenge-panel h3{margin-bottom:1.35rem}
 .challenge-grid{row-gap:1.4rem}
 .challenge-grid p{font-size:.68rem;line-height:1.4}
 .capability-grid{gap:.7rem}
 .capability-grid h3{font-size:.92rem;line-height:1.22;letter-spacing:-.035em}
 .capability-grid p{font-size:.96rem;line-height:1.3}
 .platform p:not(.eyebrow){font-size:.98rem;line-height:1.36}
 .solution-card p{font-size:.6rem!important;line-height:1.32}
 .case-copy p:not(.eyebrow){font-size:.92rem;line-height:1.42}
 .company-grid p{font-size:.75rem;line-height:1.4}
 .quote-row blockquote{font-size:.99rem;line-height:1.42}
}
@media(max-width:900px){
 p{font-size:1rem;line-height:1.5}
 .hero h1{font-size:3rem;line-height:1.04}
 h2{font-size:2rem!important;line-height:1.12}
 .hero .actions .button,.contact-bottom .button{min-height:44px}
 .header-cta{min-height:40px}
 .menu-toggle{min-width:44px;min-height:44px}
 .newsletter input,.newsletter button{min-height:44px}
 .solution-card h3{font-size:1rem;line-height:1.2}
 .solution-card p{font-size:.75rem!important;line-height:1.45}
 .company-heading h2{font-size:1.85rem!important}
 .company-grid p{line-height:1.5}
 .capability-grid p{line-height:1.45}
 .contact-banner h2{font-size:1.85rem!important;line-height:1.12}
 .assurances{gap:.8rem 1.1rem}
 .challenge-grid h4{font-size:.8rem}
 .challenge-grid p{font-size:.75rem;line-height:1.45}
 .experience-image,.platform>img{height:auto}
 .case-copy p:not(.eyebrow){font-size:1rem;line-height:1.5}
 .hero-description{max-width:38rem}
}
@media(min-width:651px) and (max-width:900px){
 html{font-size:16px}
 .hero{min-height:760px}
 .hero-content{padding-top:2.3rem}
 .hero-description{max-width:32rem}
 .journey{margin-top:2rem;margin-bottom:7rem}
 .challenge-grid{column-gap:2rem}
 .experience-image{max-width:100%;max-height:30rem;object-fit:contain}
 .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .capability-grid article{padding:1.15rem;gap:1rem}
 .capability-grid h3{font-size:.95rem}
 .capability-grid p{font-size:.9rem}
 .platform>img{max-height:34rem;object-fit:contain}
 .company-grid{grid-template-columns:repeat(2,1fr)}
 .company-grid article{gap:1rem}
 .company-grid p{font-size:.88rem}
 .footer-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
 .footer-brand{grid-column:1/-1}
 .footer-columns .newsletter{grid-column:span 2}
 .quote-row{padding-inline:1rem}
 .quote-arrow{left:-.8rem}
 .quote-arrow:last-child{right:-.8rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:900px){.button,.header-cta{min-height:44px}.site-header nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:900px){.case-copy .button{min-height:44px}}
