
/* Satisco V5: a shared, accessible layer on the existing identity. */
:root { --v5-navy:#141f45; --v5-blue:#2450a4; --v5-amber:#f8a911; }
body { background:#fff; }
main:focus { outline:none; }
.v5-header { position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #dce2ed; }
.v5-header-inner { min-height:88px;display:flex;align-items:center;gap:28px; }
.v5-header .brand { flex-shrink:0; }
.v5-desktop-nav { display:flex;align-items:center;gap:20px;margin-left:auto;font-size:.9rem;font-weight:500; }
.v5-desktop-nav>a { padding:12px 0; }
.v5-header a:hover,.v5-header summary:hover { color:#2450a4; }
.v5-header a[aria-current=page] { text-decoration:underline;text-underline-offset:6px; }
.v5-header-actions { display:flex;align-items:center;gap:12px; }
.v5-header summary { cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:6px;font-weight:600; }
.v5-header summary::-webkit-details-marker { display:none; }
.v5-lang { position:relative; }
.v5-lang summary::after,.offer-menu>summary::after { content:'⌄'; }
.v5-lang>div { position:absolute;right:0;top:54px;background:white;border:1px solid #dce2ed;box-shadow:0 12px 30px #141f451c;border-radius:12px;padding:12px;min-width:180px; }
.v5-lang a { display:block;padding:10px; }
.v5-mega { position:absolute;top:88px;left:0;right:0;background:white;border-bottom:1px solid #dce2ed;box-shadow:0 15px 25px #141f4517;padding:30px max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:30px; }
.v5-mega a { display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:.94rem; }
.v5-mega .nav-pillar { font-size:1.1rem;margin-bottom:8px; }
.v5-mega .offer-icon { width:28px;height:28px; }
.v5-mobile-menu { display:none; }
.v5-hero { background:#141f45;color:white;padding:76px 0 56px; }
.v5-hero h1 { color:white;font-size:clamp(2.25rem,3.5vw,3.4rem);line-height:1.1;letter-spacing:-.035em;max-width:18ch; }
.hero-layout { display:grid;grid-template-columns:1.2fr .8fr;gap:76px;align-items:center; }
.v5-hero .lead { color:#d5def0;max-width:57ch;margin-top:24px;line-height:1.6; }
.v5-actions { display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px; }
.v5-hero .btn-primary,.v5-close .btn-primary { background:#f8a911;color:#141f45; }
.v5-hero .btn-primary:hover,.v5-close .btn-primary:hover { background:#ffd175; }
.v5-text-link { display:inline-flex;gap:12px;align-items:center;color:#2450a4;font-weight:600;text-decoration:underline;text-underline-offset:5px;min-height:44px; }
.v5-hero .v5-text-link,.v5-close .v5-text-link { color:white; }
.v5-credentials { display:flex;flex-wrap:wrap;gap:22px;margin-top:38px!important;font-size:.9rem;color:#d5def0; }
.v5-credentials span { border-left:1px solid #667295;padding-left:22px; }
.flow-map { margin:0; }
.flow-map ol { list-style:none;padding:0;margin:0;display:grid;gap:30px; }
.flow-map li { display:grid;grid-template-columns:56px 1fr;gap:2px 18px;position:relative;align-items:center; }
.flow-map li+li::before { content:'';position:absolute;left:24px;top:-24px;height:18px;width:2px;background:#f8a911; }
.flow-map .offer-icon { grid-row:span 2; }
.flow-map strong { font-size:1.25rem; }
.flow-map span { font-size:.85rem;color:#c3d4f0; }
.flow-map figcaption { margin-top:28px;max-width:42ch;color:#b8c5de;font-size:.83rem;line-height:1.5; }
.v5-section { padding:72px 0; }
.v5-section h2 { font-size:clamp(1.75rem,2.5vw,2.4rem);line-height:1.2;max-width:28ch;margin-bottom:24px; }
.section-intro { max-width:66ch;color:#5a6478;margin-bottom:28px; }
.v5-alt { background:#f3f6fb; }
.case-row { display:flex;gap:32px;align-items:center;justify-content:space-between;padding:26px 0;border-top:1px solid #dce2ed; }
.case-row h3 { font-size:1.1rem;margin-bottom:8px; }
.case-row p { font-size:1.13rem; }
.case-row p.small { font-size:.9rem;color:#5a6478;margin-top:5px; }
.case-row>a { flex-shrink:0; }
.need-row { display:grid;grid-template-columns:64px 1fr 28px;gap:20px;align-items:start;padding:28px 0;border-bottom:1px solid #ccd5e5; }
.need-row h3 { font-size:1.3rem; }
.need-row p { margin-top:10px;color:#5a6478;max-width:74ch; }
.need-row:hover h3 { text-decoration:underline;text-underline-offset:5px; }
.need-row .arrow { font-size:1.5rem; }
.pillar-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:34px; }
.pillar-column h3 { font-size:2.1rem; }
.pillar-column h3 span { display:block;font-size:1.08rem;margin-top:10px; }
.pillar-column>p { margin-top:14px;color:#5a6478;min-height:76px; }
.pillar-column ul { list-style:none;padding:0;margin:22px 0 0; }
.pillar-column li { border-top:1px solid #dce2ed; }
.pillar-column li a { display:grid;grid-template-columns:36px 1fr 15px;gap:10px;align-items:center;min-height:72px;font-size:.96rem;font-weight:500; }
.pillar-column .offer-icon { width:32px;height:32px; }
.method-list { list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:38px; }
.method-list h3 { font-size:1.25rem;margin-bottom:12px; }
.method-list p,.co-note { color:#5a6478; }
.co-note { margin-top:30px!important;max-width:90ch; }
.people-layout { display:grid;grid-template-columns:1.4fr 1fr;gap:48px; }
.named-person { font-size:1.3rem;margin-bottom:10px; }
.v5-close { background:#141f45;color:white; }
.v5-close h2 { color:white; }
.v5-close p { color:#d5def0;margin-bottom:24px; }
.offer-title { display:flex;align-items:center;gap:24px; }
.offer-title .offer-icon { width:64px;height:64px;flex-shrink:0; }
.offer-icon { object-fit:contain;flex-shrink:0; }
.v5-offer-link { display:flex;align-items:center;gap:10px; }
.v5-offer-link .offer-icon { width:30px;height:30px; }
.offer-title .offer-icon { width:64px;height:64px; }
.v5-evidence-note { margin-top:22px!important;color:#5a6478;font-size:.92rem; }
.v5-status { background:#e9eef8;border-radius:12px;padding:24px;margin:28px 0; }
.v5-status h2,.v5-status h3 { font-size:1.25rem;margin-bottom:12px; }
.v5-status p { color:#141f45; }
.v5-status a { text-decoration:underline;text-underline-offset:3px; }
.v5-backtop { position:fixed;right:20px;bottom:20px;border:1px solid #a7b4ce;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:white;color:#141f45;z-index:20; }
.kicker { display:none; }
.reveal { opacity:1!important;transform:none!important;animation:none!important; }
:focus-visible { outline:3px solid #2450a4;outline-offset:4px; }
.v5-hero :focus-visible,.v5-close :focus-visible,.site-footer :focus-visible,.page-head :focus-visible { outline-color:#f8a911; }
.btn { min-height:46px; }
.page-head h1 { overflow-wrap:anywhere; }
@media (max-width:1180px) { .v5-desktop-nav { gap:12px;font-size:.82rem; }.v5-header-inner { gap:16px; } }
@media (max-width:1050px) {
 .v5-desktop-nav { display:none; }.v5-header-actions { margin-left:auto; }.v5-mobile-menu { display:block; }
 .v5-mobile-menu>summary { justify-content:center;width:44px; }
 .v5-mobile-menu>nav { position:absolute;left:0;right:0;top:88px;background:white;border-bottom:1px solid #ccd5e5;max-height:calc(100dvh - 88px);overflow:auto;padding:16px 24px 28px;box-shadow:0 12px 25px #141f451c; }
 .v5-mobile-menu nav>a { display:block;padding:12px 0;font-size:1rem; }
 .v5-mobile-menu .mobile-contact { color:#2450a4;font-weight:600;border-bottom:1px solid #dce2ed;margin-bottom:10px; }
 .mobile-offers { padding:8px 0 16px; }.mobile-offers>div { margin-bottom:16px; }
 .mobile-offers a { display:flex;align-items:center;gap:12px;padding:8px 0;min-height:46px; }
 .mobile-offers .offer-icon { width:28px;height:28px; }.mobile-offers .nav-pillar { font-weight:600; }
 .hero-layout { gap:40px; }
}
@media (max-width:740px) {
 .v5-header-inner { min-height:76px;gap:8px; }.v5-header .powered { font-size:.57rem; }.v5-header .logo { font-size:1.35rem; }
 .v5-header-actions { gap:6px; }.v5-header-contact { padding:10px 12px;font-size:.86rem; }
 .v5-mobile-menu>nav { top:76px;max-height:calc(100dvh - 76px); }
 .hero-layout { grid-template-columns:1fr;gap:36px; }.v5-hero { padding:40px 0; }
 .v5-hero h1 { max-width:20ch;font-size:clamp(2.1rem,7.5vw,3rem); }
 .flow-map { padding-top:24px;border-top:1px solid #435074; }.flow-map ol { gap:22px; }
 .flow-map strong { font-size:1rem; }.flow-map li+li::before { height:12px;top:-17px; }.flow-map figcaption { max-width:none; }
 .v5-section { padding:44px 0; }.case-row { align-items:start;flex-direction:column;gap:12px; }
 .pillar-grid,.method-list,.people-layout { grid-template-columns:1fr;gap:28px; }
 .pillar-column>p { min-height:0; }.need-row { grid-template-columns:44px 1fr 20px;gap:12px; }.need-row .offer-icon { width:40px;height:40px; }
 .need-row h3 { font-size:1.15rem; }.offer-title { gap:16px; }.offer-title .offer-icon { width:48px;height:48px; }
 .v5-credentials { gap:14px; }.v5-credentials span { padding-left:14px; }
 .v5-actions { gap:16px; }.v5-actions .btn { width:100%;justify-content:center; }.v5-actions .v5-text-link { padding:6px 0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }

/* Company navigation and current-section marker — 18 September 2026. */
.v5-desktop-nav { gap:8px; }
.v5-desktop-nav>a,.v5-desktop-nav>details>summary { padding:12px 10px;white-space:nowrap;border-radius:0 0 24px 24px;position:relative; }
.v5-desktop-nav>a[aria-current=page],.v5-desktop-nav>details>summary.v5-current-section { text-decoration:none; }
.v5-desktop-nav>a[aria-current=page]::before,.v5-desktop-nav>details>summary.v5-current-section::before { content:'';position:absolute;inset:0 0 -2px;border-bottom:4px solid var(--v5-amber);border-radius:0 0 24px 24px;pointer-events:none; }
.v5-company-menu { position:relative; }
.v5-company-menu>summary::after { content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 4px 5px; }
.v5-company-menu[open]>summary { background:#e9eef8;border-radius:24px; }
.v5-company-links { min-width:220px;padding:12px;background:#fff; }
.v5-desktop-nav .v5-company-links { position:absolute;right:0;top:calc(100% + 8px);border:1px solid #dce2ed;border-radius:20px;box-shadow:0 12px 30px #141f451c; }
.v5-company-links>a { display:block;padding:12px 14px;min-height:44px;border-radius:8px; }
.v5-company-links>a:hover { background:#f3f6fb; }
.v5-company-links>a[aria-current],.mobile-offers a[aria-current=page] { background:#e9eef8;font-weight:600;text-decoration:underline;text-decoration-color:var(--v5-amber);text-decoration-thickness:3px;text-underline-offset:6px; }
.v5-header-contact[aria-current=page] { outline:3px solid var(--v5-amber);outline-offset:3px; }
@media (min-width:1051px) and (max-width:1180px) { .v5-desktop-nav { gap:2px; }.v5-desktop-nav>a,.v5-desktop-nav>details>summary { padding-inline:7px; } }
@media (max-width:1050px) {
 .v5-mobile-menu nav>a[aria-current=page],.v5-mobile-menu nav>details>summary.v5-current-section { border-bottom:4px solid var(--v5-amber);border-radius:0 0 18px 18px;padding-inline:12px;text-decoration:none; }
 .v5-mobile-menu nav>details>summary { padding:12px 0; }
 .v5-mobile-menu .v5-company-menu[open]>summary { padding-inline:12px; }
 .v5-mobile-menu .v5-company-links { padding:8px 0 12px 12px; }
}

/* Editorial revision: keep IT terminology intact in headings. */
main h1, main h2, main h3 { hyphens:manual; }
