/* Shared accessibility behavior; preserve the approved visual identity. */
:root { scroll-padding-top: 110px; }
:focus-visible { outline: 3px solid #b9ccff !important; outline-offset: 5px; }
[id], a, button, input, textarea, select { scroll-margin-top: 110px; }
.skip-link:focus { z-index: 1000; }
.footer-bottom { flex-wrap: wrap; gap: 16px; }
.site-footer a { overflow-wrap: anywhere; }
[data-motion-toggle] { color: #e7edff; background: #18243b; border: 1px solid #8faeff; border-radius: 6px; padding: 10px 14px; min-height: 44px; font: inherit; cursor: pointer; }
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.reduce-motion .fw-intro { display: none !important; }
.reduce-motion .connected-story.reveal-ready .purpose-bridge > *, .reduce-motion .connected-story.reveal-ready .flow-moment > *, .connected-story.reveal-ready .purpose-bridge:focus-within > *, .connected-story.reveal-ready .flow-moment:focus-within > * { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (max-height: 500px) { .fw-intro.is-active { overflow-y: auto; } }

/* Raise secondary text contrast on the dark surfaces. */
.eyebrow, .demo-topline, .demo-topline>span+span, .demo-brand-label, .output-heading, .demo-stages button, .demo-stages button>span { color: #acbce5; }
.fragment-followup .fragment-type, .fragment-followup .fragment-source { color: #b9c9ef; }

.review-gate small { color: #b8bdca; }

.accessibility-panel { position: relative; }
.accessibility-panel summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; text-decoration: underline; text-underline-offset: 4px; }
.accessibility-options { position: absolute; bottom: 100%; right: 0; width: min(280px, 80vw); padding: 20px; background: #182030; color: #e7edff; border: 1px solid #8faeff; border-radius: 8px; z-index: 20; box-shadow: 0 12px 35px #0006; }
.accessibility-options p { margin: 0 0 12px; }
.accessibility-options .motion-status { margin: 12px 0; font-size: .9rem; }
@media(max-width:600px) { .accessibility-options { right: auto; left: 0; } }

/* Website packages and connected project showcase. */
.home-page .package-moment { display:block; min-height:0; padding:35px 0 55px; }
.package-heading h2 { font-size:clamp(2.1rem,4vw,3.7rem); line-height:1.12; font-weight:400; letter-spacing:-.04em; margin-bottom:30px; }
.package-cards { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.home-package { display:flex; flex-direction:column; padding:30px; border:1px solid #617fb366; border-radius:14px; background:linear-gradient(145deg,#1b2940,#121a28); }
.home-package h3 { font-size:1.5rem; margin:4px 0 18px; }
.home-package .package-price { font-size:3.1rem; color:#a9c0ff; margin:0 0 18px; line-height:1; }
.home-package p { color:#c0c9db; }
.home-package .text-link { margin-top:auto; align-self:flex-start; }
.package-revisions { color:#b0bbcf; font-size:.88rem; line-height:1.65; padding:18px 0; max-width:900px; }
.home-page .build-moment { padding-bottom:15px; }
.home-page .automate-moment { padding-top:65px; }
.automation-note { border-left:2px solid #8faeff; padding:15px 22px; color:#c3cde2; }
.automation-projects { display:grid; gap:24px; margin-top:35px; }
.automation-projects article { padding:clamp(24px,4vw,45px); border:1px solid #51688c; border-radius:16px; background:linear-gradient(130deg,#1b2940,#111923); }
.automation-projects h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.automation-map { display:flex; flex-direction:column; gap:10px; text-align:center; padding:24px; margin:24px 0; border-radius:10px; background:#0e1726; color:#b7c9f2; }
.automation-map strong { font-size:1.25rem; color:#e7edff; }
@media(max-width:650px) { .package-cards { grid-template-columns:1fr; } .home-package { padding:24px; } .home-page .package-moment { padding-top:20px; padding-bottom:25px; } }

