/* Production accessibility and responsive refinements, following the approved design. */
.site-rest .quote-grid blockquote { font-size:18px; line-height:1.65; }
@media(max-width:600px) {
 .site-rest .quote-grid blockquote { font-size:16px; }
}
.site-rest #method { padding-top:72px; }
@media(max-width:600px) {
 .site-rest #method { padding-top:48px; }
}
:root { --muted:#535c6c; }
html { scroll-padding-top:110px; }
body { overflow-wrap:break-word; }
main:focus { outline:none; }
.anchor-focus-target[tabindex="-1"]:focus { outline:none; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #96367e; outline-offset:4px; }
button,summary { min-height:44px; }
input,select,textarea { font:inherit; }
.skip { z-index:200; color:#152039; box-shadow:0 2px 8px #15203933; }
.site-header .mobile-nav-links { max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
.tech-stack-header { gap:24px; }
.marquee-toggle { flex:none; order:2; padding:10px 16px; border:1px solid #74459a; border-radius:8px; background:white; color:#603380; font-size:14px; }
.tech-marquee.paused { animation-play-state:paused!important; }
.portfolio-product-link { display:block; min-width:0; border-radius:10px; }
.portfolio-product-link:hover { background:#f5f0f8; }
.portfolio-solution .portfolio-product-link { display:flex; flex-direction:column; padding:18px 16px 20px; min-height:340px; }
.portfolio-platform-product { min-width:0; }
.inner-main { min-height:55vh; }
.product-page,.policy-layout,.contact-page,.accessibility-page,.not-found { padding-top:52px; padding-bottom:72px; }
.product-page { max-width:1000px; }
.product-page>h1,.contact-page h1,.accessibility-page h1,.not-found h1 { font-size:clamp(34px,5vw,58px); line-height:1.12; margin:24px 0; letter-spacing:-.025em; }
.product-page h2 { font-size:clamp(25px,3vw,36px); line-height:1.25; margin:32px 0 16px; }
.product-page h3 { font-size:22px; margin:24px 0 12px; }
.product-page p,.product-page li,.policy-layout p,.policy-layout li,.accessibility-page p,.contact-page p { font-size:17px; line-height:1.8; }
.product-page p+p { margin-top:16px; }
.product-page ul { padding-left:24px; }
.product-page .erevu-hero { margin-top:24px; }
.product-page .product-back { margin-top:32px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; color:#535c6c; }
.breadcrumbs a,.policy-layout a:not(.privacy-button),.accessibility-page a,.contact-page p a { text-decoration:underline; text-underline-offset:3px; }
.policy-layout { max-width:1000px; }
.policy-page { display:block!important; }
.policy-page h2 { margin:32px 0 12px; font-size:26px; line-height:1.3; }
.policy-page h3 { margin:16px 0 8px; font-size:20px; }
.policy-page .legal-page-header h1 { font-size:clamp(32px,5vw,54px); overflow-wrap:anywhere; }
.policy-page .privacy-settings { margin:28px 0; padding:24px; border:1px solid #d9ccdf; border-radius:12px; }
.privacy-actions { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; }
.privacy-button { padding:12px 20px; border:1px solid #74459a; border-radius:8px; background:#74459a; color:white; }
.privacy-button.secondary { background:white; color:#603380; }
.privacy-status { margin-top:12px; color:#424a59; }
.contact-intro { max-width:760px; }
.contact-grid { display:grid; grid-template-columns:2fr 1fr; gap:56px; margin-top:36px; align-items:start; }
.contact-form { padding:30px; background:#f8f6fa; border:1px solid #e2d9e8; border-radius:12px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-field { display:flex; flex-direction:column; gap:8px; margin-bottom:22px; min-width:0; }
.form-field label { font-weight:600; font-size:15px; }
.form-field input,.form-field select,.form-field textarea { width:100%; min-width:0; border:1px solid #a79bad; border-radius:6px; padding:12px; background:white; color:#152039; min-height:48px; }
.form-field textarea { resize:vertical; min-height:150px; }
.form-field small { color:#535c6c; font-size:14px; line-height:1.6; }
.form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.contact-aside { border-top:3px solid #74459a; padding-top:20px; }
.contact-aside h2 { font-size:24px; margin-bottom:14px; }
.contact-aside a { overflow-wrap:anywhere; }
.contact-status { margin-top:20px; }
#email-preview { width:100%; min-height:220px; margin-top:12px; padding:16px; background:white; border:1px solid #a79bad; border-radius:6px; font:inherit; line-height:1.6; }
.accessibility-page { max-width:900px; }
.accessibility-page h2 { margin:28px 0 12px; font-size:26px; }
.accessibility-page ul { padding-left:24px; line-height:1.8; }
dialog { max-width:min(860px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; }
.dialog-close { min-width:44px; min-height:44px; }
.site-rest a.btn,.site-rest button.btn { white-space:normal; text-align:center; }
@media(max-width:800px) {
 .contact-grid { grid-template-columns:1fr; gap:32px; }
 .portfolio-solution .portfolio-product-link { min-height:0; }
}
@media(max-width:600px) {
 .container { width:calc(100% - 36px); }
 .form-row { grid-template-columns:1fr; gap:0; }
 .contact-form { padding:20px; }
 .contact-page,.policy-layout,.product-page,.accessibility-page { padding-top:32px; padding-bottom:48px; }
 .tech-stack-header { flex-wrap:wrap; }
 .marquee-toggle { margin-top:12px; }
 .action-button { white-space:normal; text-align:center; }
 .privacy-actions>* { width:100%; }
 .policy-page .privacy-settings { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
 .tech-marquee { animation:none!important; transform:none!important; flex-wrap:wrap; width:100%; }
 .tech-marquee .tech-group { flex-wrap:wrap; width:100%; justify-content:center; }
 .tech-marquee .tech-group[aria-hidden="true"] { display:none; }
 .tech-stack-shell { overflow:visible!important; mask-image:none!important; }
}

.site-rest #products .portfolio-data-band p { color:#526076; }

.site-rest .site-footer .footer-bottom { color:#62606b; }
.product-page .erevu-hero { padding:32px; border:1px solid #dfd3e7; border-radius:12px; background:#f8f4fb; }
.product-page .erevu-hero-top { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; color:#603380; font-size:14px; }
.product-page .erevu-status { padding:6px 12px; border:1px solid #c7afd6; border-radius:20px; }
.product-page .erevu-section { margin-top:42px; }
.product-page .erevu-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px; }
.product-page .erevu-feature { border:1px solid #e2d9e8; padding:24px; border-radius:10px; }
.product-page .erevu-feature-label { color:#603380; font-size:14px; }
.product-page .erevu-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.product-page .erevu-metrics>div { padding:22px; background:#f5f0f8; border-radius:10px; }
.product-page .erevu-metrics dt { font-size:14px; color:#535c6c; }
.product-page .erevu-metrics dd { margin:10px 0 0; }
.product-page .erevu-metrics strong { display:block; font-size:28px; line-height:1.3; color:#603380; }
.product-page .erevu-metrics dd span { display:block; margin-top:8px; font-size:14px; line-height:1.7; }
.product-page .erevu-availability { padding:28px; margin-top:36px; border-left:4px solid #74459a; background:#f8f6fa; border-radius:8px; }
.product-page .erevu-availability h2 { margin-top:0; }
.product-page .erevu-fold { border-bottom:1px solid #dfd8e5; padding:16px 0; }
.product-page .erevu-fold-toggle { padding:12px 4px; font-weight:600; cursor:pointer; line-height:1.6; }
.product-page .erevu-fold-body { padding:16px 4px; }
.product-page .erevu-timeline li { margin-bottom:14px; }
@media(max-width:600px) {
 .product-page .erevu-hero { padding:22px; }
 .product-page .erevu-feature-grid,.product-page .erevu-metrics { grid-template-columns:1fr; }
 .product-page .erevu-feature { padding:20px; }
}

.site-rest #connected-intelligence .context-workflow { margin:0; min-width:0; }
.site-rest #connected-intelligence .context-workflow img { display:block; width:100%; height:auto; border-radius:12px; }
