/* Focused visual layer for the customer-facing homepage. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home--visual{background:linear-gradient(150deg,#fff 60%,#f5f7ff 100%);overflow:hidden}
.home--visual .hero-grid{grid-template-columns:1.05fr 1fr;gap:50px;align-items:center}
.home--visual .hero-copy .lead{max-width:37ch;font-size:20px;line-height:1.55}
.home--visual .hero-copy .actions{gap:20px}
.home--visual .hero-copy .text-link{text-decoration:none;font-size:14px}
.home--visual .hero-copy .text-link:hover{text-decoration:underline}
.home--visual .hero-copy .button{border-radius:8px;padding-inline:20px}
.process-visual{margin:0;min-width:0;background:#edf2ff;border:1px solid #dbe3f4;border-radius:20px;overflow:hidden;box-shadow:0 20px 55px -35px #1d357d40}
.process-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px 24px 0;font-size:13px;font-weight:650;line-height:1.5;color:var(--navy)}
.process-disclosure{font-size:10px;font-weight:450;color:var(--soft);text-align:right;flex-shrink:0}
.process-stage{position:relative;aspect-ratio:6/5;width:100%;overflow:hidden}
.process-stage img,.process-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.process-caption{font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.025em;min-height:2.8em;margin:-8px 24px 10px;max-width:none;color:var(--navy)}
.process-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 18px}
.process-steps{display:flex;align-items:center;gap:2px;min-width:0}
.process-steps button{font-size:12px;font-weight:600;line-height:1.3;min-height:44px;border:0;border-radius:7px;background:transparent;color:#465166;padding:9px 10px;display:flex;align-items:center;gap:6px}
.process-steps button span{font-size:9px;opacity:.6;font-variant-numeric:tabular-nums}
.process-steps button[aria-pressed=true]{background:#fff;color:var(--cobalt);box-shadow:0 1px 5px #0e16300b}
.process-steps button:hover{background:#fff;color:var(--cobalt)}
.process-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:7px;min-width:74px;min-height:44px;font-size:11px;font-weight:650;line-height:1.3;border:1px solid #d8dde6;border-radius:7px;background:transparent;color:var(--navy);padding:9px}
.process-toggle:hover{background:#fff;border-color:#a8b8dc}
.process-toggle-mark{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid currentColor}
.is-playing .process-toggle-mark{width:7px;height:8px;border:0;border-left:2px solid currentColor;border-right:2px solid currentColor}
.simple-service-grid{gap:24px}
.simple-service-grid .card{border-radius:14px;padding:30px;gap:18px;position:relative}
.service-art{height:92px;width:100%;display:flex;align-items:center;margin:2px 0 8px;color:var(--cobalt)}
.service-art svg{width:132px;height:92px;overflow:visible}
.service-art .art-shift{transition:transform .25s ease}
.simple-service-grid .card:hover .art-shift{transform:translateY(-3px)}
.simple-service-grid .card--tint{background:#eaf0ff;border-color:#d9e3ff}
.simple-service-grid .card h3{font-size:24px;max-width:18ch}
.simple-service-grid .card>p:not(.card-label):not(.simple-takeaway){font-size:16px;line-height:1.6}
.simple-contact .cta-strip{width:min(calc(100% - var(--m) - var(--m)),1248px);padding:42px;border-radius:16px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.simple-contact .cta-strip p{color:#c8d3eb;font-size:16px}
.simple-contact .cta-strip h2{font-size:34px;max-width:22ch}
.simple-contact .button{background:#fff;border-color:#fff;color:var(--navy);border-radius:8px;flex-shrink:0}
.simple-contact .button:hover{background:#dfe8ff;border-color:#dfe8ff}
@media(max-width:1150px) and (min-width:761px){.home--visual .hero-grid{gap:30px}.process-topline{padding:18px 18px 0;font-size:12px}.process-toolbar{gap:6px;padding-inline:10px}.process-steps button{padding-inline:7px;font-size:11px}.process-steps button span{display:none}.process-toggle{min-width:67px}.process-caption{margin-inline:18px;font-size:17px}}
@media(max-width:980px) and (min-width:761px){.simple-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.simple-service-grid .card{padding:22px}.simple-service-grid .card h3{font-size:21px}.simple-service-grid .card>p:not(.card-label):not(.simple-takeaway){font-size:14px}}
@media(max-width:760px){.home--visual .hero-grid{grid-template-columns:1fr;gap:36px}.home--visual .hero-copy .lead{font-size:18px;max-width:36ch}.home--visual .hero-copy h1{font-size:clamp(42px,10.5vw,62px)}.process-visual{max-width:520px;margin-inline:auto;border-radius:16px}.process-topline{padding:18px 18px 0;font-size:12px}.process-stage{max-height:340px}.process-caption{font-size:18px;margin-inline:18px;min-height:2.8em;margin-top:-4px}.process-toolbar{padding:0 12px 14px;gap:8px}.process-steps button{padding-inline:8px;font-size:11px}.process-steps button span{display:none}.process-toggle{min-width:68px}.simple-service-grid .card{padding:26px;gap:16px}.service-art{height:72px;margin-bottom:4px}.service-art svg{width:112px;height:78px}.simple-contact .cta-strip{padding:30px 24px}.simple-contact .cta-strip h2{font-size:29px}.simple-contact .cta-strip p{font-size:15px}.simple-contact .cta-strip p br{display:none}}
@media(max-width:360px){.process-topline{gap:10px;font-size:11px;padding-inline:14px}.process-disclosure{font-size:9px}.process-steps button{font-size:10px;padding-inline:6px}.process-toggle{font-size:10px;min-width:60px;padding:8px 6px}.process-caption{font-size:17px;margin-inline:14px}.process-toolbar{gap:4px;padding-inline:8px}.home--visual .hero-copy .actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.service-art .art-shift{transition:none}.simple-service-grid .card:hover .art-shift{transform:none}}
@media print{.process-toolbar{display:none!important}.process-visual{box-shadow:none;break-inside:avoid}.simple-contact .cta-strip{background:#fff;color:#0e1630}.simple-contact .cta-strip p{color:#465166}}
