/* Factory Data Systems website enhancements v1.0.
   All selectors are scoped to opt-in markup; existing site styles remain intact. */
:root { --fds-ink:#152b3d; --fds-muted:#526578; --fds-blue:#176b86; --fds-line:#dce5ec; --fds-surface:#f4f8fa; --fds-white:#fff; }
.fds-upgrade, .fds-upgrade * { box-sizing:border-box; }
.fds-upgrade { color:var(--fds-ink); font-family:inherit; line-height:1.55; }
.fds-upgrade .fds-upgrade-inner { max-width:1160px; margin-inline:auto; padding:clamp(1.25rem,3.5vw,3.5rem) 1.3rem; }
.fds-upgrade .fds-eyebrow { display:block; font-size:.79rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--fds-blue); margin:0 0 .5rem; }
.fds-upgrade h2 { margin:0 0 .7rem; font-size:clamp(1.4rem,2.5vw,2rem); color:var(--fds-ink); line-height:1.2; }
.fds-upgrade h3 { margin:0 0 .45rem; font-size:1.1rem; color:var(--fds-ink); line-height:1.3; }
.fds-upgrade p { margin:.2rem 0 1rem; color:var(--fds-muted); font-size:1rem; }
.fds-upgrade a:not(.fds-button) { color:#0c5975; text-decoration:underline; text-underline-offset:3px; }
.fds-upgrade a:focus-visible, .fds-upgrade button:focus-visible { outline:3px solid #e9a637; outline-offset:3px; }
.fds-upgrade .fds-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.25rem; }
.fds-upgrade .fds-grid.fds-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.fds-upgrade .fds-card { background:#fff; border:1px solid var(--fds-line); border-radius:12px; padding:1.1rem 1.15rem; box-shadow:0 5px 18px rgba(20,40,57,.045); }
.fds-upgrade .fds-card p { font-size:.95rem; margin-bottom:.65rem; }
.fds-upgrade .fds-card a { font-weight:650; }
.fds-upgrade .fds-buttons { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:1rem; }
.fds-upgrade .fds-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:8px; padding:.65rem 1.05rem; text-decoration:none; font-weight:700; font-size:.96rem; border:2px solid var(--fds-blue); background:var(--fds-blue); color:#fff !important; }
.fds-upgrade .fds-button:hover { background:#104d63; border-color:#104d63; }
.fds-upgrade .fds-button.fds-secondary { background:transparent; color:var(--fds-blue) !important; }
.fds-upgrade .fds-button.fds-secondary:hover { background:#eaf3f7; }
.fds-upgrade .fds-note { font-size:.875rem; color:var(--fds-muted); margin:.7rem 0 0; }
.fds-upgrade.fds-upgrade-light { background:var(--fds-surface); }
.fds-upgrade.fds-upgrade-white { background:#fff; }
.fds-upgrade .fds-steps { margin:1.2rem 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; counter-reset:fds; }
.fds-upgrade .fds-steps li { counter-increment:fds; background:#fff; border:1px solid var(--fds-line); border-radius:12px; padding:1rem 1.05rem; }
.fds-upgrade .fds-steps li::before { content:counter(fds,decimal-leading-zero); display:block; font-weight:800; color:var(--fds-blue); margin-bottom:.5rem; }
.fds-upgrade .fds-steps strong { display:block; }
.fds-upgrade .fds-steps p { margin:.3rem 0; }
.fds-upgrade.fds-hero-actions { background:transparent; }
.fds-upgrade.fds-hero-actions .fds-upgrade-inner { padding:.75rem 0; }
.fds-upgrade.fds-hero-actions .fds-note { margin-bottom:0; }
@media (max-width:920px) { .fds-upgrade .fds-grid.fds-grid-five { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .fds-upgrade .fds-grid, .fds-upgrade .fds-steps { grid-template-columns:1fr; } .fds-upgrade .fds-grid.fds-grid-five { grid-template-columns:1fr; } .fds-upgrade .fds-button { width:100%; } }
@media (prefers-reduced-motion:reduce) { .fds-upgrade *, .fds-upgrade *::before, .fds-upgrade *::after { scroll-behavior:auto !important; transition:none !important; } }

/* Shared-source integration adjustments. */
.home-hero-copy .fds-hero-actions .fds-note{color:#e0efec}.home-hero-copy .fds-hero-actions .fds-secondary{color:#fff!important;border-color:#c4e5df}.home-hero-copy .fds-hero-actions .fds-secondary:hover{background:#173d45}.optimization-prose{max-width:900px}.fds-menu-group{display:block;font-size:12px;font-weight:700;color:#53636d;text-transform:uppercase;letter-spacing:.06em}.fds-hdr-nav .fds-dropdown{max-height:75vh;overflow-y:auto}.fds-hdr-nav .fds-dropdown li:has(.fds-menu-group){height:30px}.optimization-page .story-screen img{width:100%;height:auto}.optimization-page .story-hero h1{font-size:clamp(2rem,3.3vw,3.4rem)}
