/* Step 07 additions only; original Step 06 site.css is preserved byte-for-byte. */
.s7-interior{background:#fff}
.step7-header .s7-solutions-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#edf4f9;font-weight:700;letter-spacing:.015em;padding:22px 0;background:transparent;border:0;white-space:nowrap}
.step7-header .s7-solutions-link:hover,.step7-header .s7-solutions-link[aria-current=page]{color:var(--cyan)}
.step7-header .nav-desktop>a[aria-current=page]{color:var(--cyan)}
.step7-header .step7-mega{width:950px;left:-270px;grid-template-columns:250px 1fr}
.step7-header .step7-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.step7-header .step7-mega-grid a{font-size:12px;font-weight:690;line-height:1.4;border:1px solid #e4eaf0;border-radius:7px;padding:12px 10px;display:flex;justify-content:space-between;gap:10px}
.step7-header .step7-mega-grid a:hover{background:#eaf5fb}.step7-header .step7-mega-grid a b{color:#168bd0}
.s7-mobile-panel[hidden]{display:none!important}.s7-mobile-panel{max-height:80vh;overflow-y:auto}
.s7-mobile-details{border-bottom:1px solid rgba(255,255,255,.12);color:#eef7ff}
.s7-mobile-details summary{padding:15px 0;cursor:pointer;font-weight:650;font-size:17px;display:flex;justify-content:space-between;list-style:none}
.s7-mobile-details summary::-webkit-details-marker{display:none}
.s7-mobile-subnav{padding:0 0 12px 12px}.s7-mobile-subnav a{display:block;padding:9px 0;font-size:13px;color:#b4cbdf}
.s7-interior .footer{margin-top:0}
.s7-hero,.s7-service-hero{background:#081b30;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.s7-hero{min-height:650px;display:flex;align-items:center}
.s7-hero::before,.s7-service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081a2d 0%,rgba(8,26,45,.98) 42%,rgba(8,26,45,.28) 100%);z-index:1;pointer-events:none}
.s7-hero-glow{position:absolute;right:12%;top:10%;width:510px;height:510px;background:radial-gradient(circle,rgba(23,142,218,.23),transparent 67%);filter:blur(12px)}
.s7-hero-content{position:relative;z-index:2;padding:50px 0 80px}
.s7-breadcrumb{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#adc7d9;font-weight:650;font-size:11px;letter-spacing:.02em;margin-bottom:70px}
.s7-breadcrumb a:hover{color:#fff}
.s7-hero h1,.s7-service-hero h1{font-size:clamp(58px,7vw,114px);font-weight:690;letter-spacing:-.075em;line-height:.95;max-width:810px;margin:22px 0 30px;color:#fff}
.s7-hero h1 em,.s7-service-hero h1 em{font-style:normal;color:#a8dafa}
.s7-hero-content>p{color:#c5d8e7;max-width:580px;font-size:17px;line-height:1.7;margin-bottom:32px}
.s7-hero-side-image{position:absolute;right:0;top:0;bottom:0;width:59%;z-index:0}
.s7-hero-side-image img{height:100%;width:100%;object-fit:cover;object-position:center;opacity:.68}
.s7-hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.s7-secondary-link{color:#d5ecf8;border-bottom:1px solid rgba(213,236,248,.5);font-size:13px;font-weight:730;padding-bottom:8px}
.s7-intro{padding:105px 0 80px}
.s7-intro-grid,.s7-service-overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;margin-top:60px}
.s7-intro-grid h2{font-size:clamp(38px,5vw,72px)}.s7-intro-grid h2 span{color:#97acbc}.s7-intro-grid p,.s7-service-overview-grid p{color:#667789;font-size:15px}
.s7-intro-grid p.large-paragraph,.s7-service-overview-grid p.large-paragraph{font-size:clamp(17px,2vw,23px);line-height:1.55;color:#21364c;font-weight:550}
.s7-directory,.s7-service-scope,.s7-related,.s7-service-gallery{padding:90px 0 110px}
.s7-section-head{max-width:800px;margin:45px 0}.s7-section-head h2{margin:14px 0 17px}.s7-section-head p{color:#6b7c8e;font-size:15px;max-width:660px}
.s7-filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.s7-filter-button{border:1px solid #d9e4ec;background:#fff;color:#244059;padding:12px 18px;border-radius:3px;font-size:11px;font-weight:760;letter-spacing:.02em;transition:.2s}
.s7-filter-button:hover,.s7-filter-button.active{background:#102a46;color:#fff;border-color:#102a46}
.s7-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.s7-card-slot[hidden]{display:none!important}
.s7-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e4ebf0;box-shadow:0 20px 50px rgba(8,22,41,.04);transition:transform .4s var(--ease),box-shadow .4s;overflow:hidden;height:100%}
.s7-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(7,27,50,.13)}
.s7-card-visual{height:245px;position:relative;overflow:hidden;background:#112f4c}
.s7-card-visual>img{height:100%;object-fit:cover;transition:transform .7s var(--ease)}.s7-card:hover .s7-card-visual>img{transform:scale(1.045)}
.s7-card-number{position:absolute;top:17px;left:17px;background:rgba(5,19,37,.8);color:#fff;padding:8px 10px;font-size:10px;font-weight:760;letter-spacing:.13em}
.s7-card-body{padding:24px 25px 28px;display:flex;flex:1;flex-direction:column}
.s7-card-kicker{color:#168bd0;font-size:10px;font-weight:810;text-transform:uppercase;letter-spacing:.16em}
.s7-card-body h3{font-size:clamp(19px,1.7vw,25px);line-height:1.15;font-weight:690;margin:11px 0 13px}
.s7-card-body p{color:#637489;font-size:13px;line-height:1.65;flex:1;margin-bottom:24px}
.s7-card-arrow{display:flex;justify-content:space-between;border-top:1px solid #e0e8ed;padding-top:17px;font-size:12px;font-weight:760;color:#1a496c}
.s7-card-arrow b{font-size:18px;color:#168bd0;font-weight:400}
.s7-pending-art{height:100%;width:100%;min-height:245px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:30px;background:linear-gradient(135deg,#0a2443,#15537b 110%);color:#fff}
.s7-pending-art::before,.s7-pending-art::after{content:"";position:absolute;border:1px solid rgba(151,213,241,.19);border-radius:50%;width:350px;height:350px;left:45%;top:-25%}
.s7-pending-art::after{width:280px;height:280px;left:60%;top:40%}
.s7-pending-art>span{font-size:10px;color:#76cbf2;letter-spacing:.17em;font-weight:800;z-index:1}
.s7-pending-art>strong{font-size:27px;font-weight:660;letter-spacing:-.05em;line-height:1.13;margin:15px 0;z-index:1}
.s7-pending-art>small{font-size:12px;color:#c0d5e6;line-height:1.5;max-width:300px;z-index:1}
.s7-feature-strip,.s7-service-feature{background:#09233d;color:#fff;overflow:hidden;padding:85px 0}
.s7-feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.s7-feature-layout h2{font-size:clamp(42px,5.2vw,76px);color:#fff}.s7-feature-layout h2 em{font-style:normal;color:#8bd0f3}
.s7-feature-layout p{max-width:540px;font-size:15px;color:#bdcbda;margin-bottom:30px}
.s7-feature-photo{height:420px;overflow:hidden;background:#0e3b5e}
.s7-feature-photo>img{height:100%;width:100%;object-fit:cover}
.s7-bottom-cta{background:radial-gradient(circle at 75% -10%,#204969,#061828 60%);text-align:center;color:#fff;padding:95px 0 110px}
.s7-bottom-cta h2{color:#fff;max-width:1000px;margin:16px auto}.s7-bottom-cta p{max-width:630px;margin:0 auto 28px;color:#b7cbdc;font-size:15px}
.s7-about-mosaic{padding:10px 0 115px}.s7-mosaic-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:230px 230px;gap:14px}
.s7-mosaic-grid figure{margin:0;position:relative;overflow:hidden;background:#112c46}.s7-mosaic-grid .s7-mosaic-main{grid-row:span 2}
.s7-mosaic-grid img{height:100%;width:100%;object-fit:cover}
.s7-mosaic-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px;color:#fff;font-weight:700;font-size:13px;background:linear-gradient(transparent,rgba(4,15,27,.82))}
.s7-values{background:#07192c;color:#fff;padding:90px 0 110px}.s7-values .s7-section-head h2{color:#fff}.s7-values .s7-section-head p{color:#b1c7d9}
.s7-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.s7-values-grid article{padding:26px 22px;border-top:1px solid #3a546c;background:rgba(255,255,255,.03)}
.s7-values-grid article span{color:#60c8f1;font-size:11px;letter-spacing:.1em}.s7-values-grid article h3{font-size:22px;font-weight:670;margin:30px 0 14px;letter-spacing:-.04em}
.s7-values-grid article p{color:#b4c4d3;font-size:13px;line-height:1.65;margin-bottom:0}
.s7-about-process{padding:100px 0}.s7-approach-grid{display:grid;grid-template-columns:1fr .95fr;gap:85px;margin-top:70px;align-items:center}
.s7-approach-grid figure{margin:0}.s7-approach-grid figure img{max-height:480px;width:100%;object-fit:cover}.s7-approach-grid figcaption{font-size:10px;letter-spacing:.08em;color:#72899e;margin-top:12px}
.s7-approach-grid p{color:#627689;font-size:15px}.s7-approach-grid p.large-paragraph{font-size:20px;color:#244059;font-weight:540}
.s7-service-hero{padding:46px 0 80px;min-height:630px}.s7-service-hero::before{background:radial-gradient(circle at 65% 20%,rgba(39,104,157,.21),transparent 35%)}
.s7-service-lines{position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0,transparent 160px,rgba(255,255,255,.014) 161px,transparent 162px);pointer-events:none}
.s7-service-hero .s7-breadcrumb{margin:8px 0 40px}
.s7-service-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;position:relative;z-index:2}
.s7-service-hero h1{font-size:clamp(50px,5.7vw,94px);margin:18px 0 25px;overflow-wrap:anywhere}
.s7-service-hero h1 em{font-style:normal;display:block;color:#9edaf9;font-size:clamp(25px,2.9vw,39px);font-weight:500;line-height:1.18;letter-spacing:-.04em;margin-top:19px;max-width:660px}
.s7-service-hero-copy>p{color:#bad0e2;font-size:16px;max-width:520px;line-height:1.7;margin-bottom:30px}
.s7-service-hero-visual{min-height:460px;height:470px;position:relative;overflow:hidden;background:#0c3050;border:1px solid rgba(255,255,255,.15);box-shadow:0 32px 85px rgba(0,0,0,.18)}
.s7-service-hero-visual>img{height:100%;width:100%;object-fit:cover}
.s7-service-hero-visual .s7-pending-art{min-height:100%;height:100%;padding:40px}
.s7-service-hero-visual .s7-visual-caption{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;background:linear-gradient(transparent,rgba(2,14,27,.9));display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#d7eaf7;letter-spacing:.04em}
.s7-service-hero-visual .s7-visual-caption b{color:#fff}
.s7-service-intro{padding:100px 0 65px}.s7-service-overview-grid h2{font-size:clamp(34px,4vw,56px);max-width:650px}
.s7-brief-note{background:#f4f8fb;border-left:3px solid #168bd0;padding:24px;margin-top:34px}
.s7-brief-note b{color:#173a56;font-size:14px}.s7-brief-note p{font-size:13px;margin:8px 0 0}
.s7-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.s7-scope-card{border:1px solid #dce6ed;background:#f8fbfd;padding:28px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s var(--ease)}
.s7-scope-card:hover{transform:translateY(-5px)}.s7-scope-card>span{color:#168bd0;font-size:12px;letter-spacing:.15em}.s7-scope-card h3{font-size:22px;line-height:1.23;letter-spacing:-.04em;margin:35px 0 20px;max-width:290px}
.s7-card-mini-line{height:2px;width:55px;background:#168bd0}
.s7-service-gallery{background:#f6f8fb}.s7-detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.s7-detail-gallery figure{margin:0;overflow:hidden;background:#0d2844}
.s7-detail-gallery img{width:100%;height:360px;object-fit:cover}.s7-detail-gallery figcaption{padding:17px 20px;background:#fff;color:#60788d;font-size:10px;letter-spacing:.05em}
.s7-detail-gallery.s7-gallery-empty{grid-template-columns:1fr}.s7-no-photo{padding:60px;background:#fff;border:1px solid #d9e4ed}
.s7-no-photo>span{color:#168bd0;font-size:11px;letter-spacing:.15em;font-weight:700}.s7-no-photo h3{font-size:30px;letter-spacing:-.04em;margin-top:16px}.s7-no-photo p{color:#6a7e90;max-width:590px}
.s7-related-footer{margin-top:40px}.s7-card-grid-related .s7-card-visual{height:195px}.s7-card-grid-related .s7-card-body{padding:21px}
@media (max-width:1270px){.step7-header .step7-mega{left:-170px;max-width:calc(100vw - 140px)}.s7-service-hero-grid{gap:40px}.s7-values-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1080px){.step7-header .nav-desktop{display:none}.step7-header .menu-button{display:flex}.s7-hero{min-height:590px}.s7-hero-side-image{width:80%}.s7-hero::before{background:linear-gradient(90deg,#081a2d 0%,rgba(8,26,45,.95) 45%,rgba(8,26,45,.45) 100%)}.s7-intro-grid,.s7-service-overview-grid,.s7-approach-grid{gap:45px}.s7-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s7-service-hero-grid{grid-template-columns:1fr;gap:28px}.s7-service-hero-visual{height:430px;min-height:0}.s7-feature-layout{gap:30px}}
@media (max-width:740px){.s7-hero{min-height:610px}.s7-hero-content{padding:30px 0 80px}.s7-hero-content>p{font-size:14px}.s7-breadcrumb{margin:26px 0 64px;font-size:10px}.s7-hero h1{font-size:clamp(52px,12.7vw,80px)}.s7-hero-side-image{width:100%}.s7-hero::before{background:linear-gradient(90deg,#081a2d 0%,rgba(8,26,45,.88) 80%,rgba(8,26,45,.67) 100%)}.s7-intro{padding:75px 0 40px}.s7-intro-grid,.s7-service-overview-grid{display:block;margin-top:34px}.s7-intro-grid h2{font-size:clamp(42px,9vw,62px)}.s7-intro-grid>div{margin-top:28px}.s7-directory,.s7-service-scope,.s7-related,.s7-service-gallery{padding:66px 0 80px}.s7-section-head{margin:28px 0}.s7-card-grid{grid-template-columns:1fr}.s7-card-visual{height:230px}.s7-feature-layout{display:block}.s7-feature-photo{margin-top:35px;height:310px}.s7-feature-strip,.s7-service-feature{padding:70px 0}.s7-about-mosaic{padding-bottom:70px}.s7-mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:185px 175px}.s7-mosaic-grid .s7-mosaic-main{grid-column:span 2;grid-row:auto}.s7-mosaic-grid figcaption{font-size:10px;padding:11px}.s7-values{padding:65px 0}.s7-values-grid{grid-template-columns:1fr}.s7-about-process{padding:70px 0}.s7-approach-grid{display:block;margin-top:34px}.s7-approach-grid figure{margin-top:30px}.s7-service-hero{padding:18px 0 57px}.s7-service-hero .s7-breadcrumb{margin:26px 0 40px}.s7-service-hero h1{font-size:clamp(45px,10.5vw,66px)}.s7-service-hero h1 em{font-size:26px}.s7-service-hero-visual{height:360px}.s7-service-hero-visual .s7-visual-caption{display:block}.s7-service-intro{padding:70px 0 40px}.s7-scope-grid,.s7-detail-gallery{grid-template-columns:1fr}.s7-scope-card{min-height:160px}.s7-detail-gallery img{height:260px}.s7-bottom-cta{padding:75px 0}.s7-hero-actions .btn{max-width:100%}}
@media (max-width:390px){.s7-service-hero h1{font-size:43px}.s7-hero h1{font-size:49px}.s7-card-body{padding:20px}.s7-breadcrumb{gap:8px}}
@media (prefers-reduced-motion:reduce){.s7-card,.s7-card-visual>img,.s7-scope-card{transition:none!important;transform:none!important}}

/* Homepage integrations */
.step7-header .mega-grid .s7-home-mega-link,.site-header .mega-grid .s7-home-mega-link{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e4eaf0;padding:18px 14px;font-weight:670;font-size:13px;color:#18314b;border-radius:8px;transition:background .2s}
.site-header .mega-grid .s7-home-mega-link:hover{background:#eaf5fb}
.directory-item[href]{text-decoration:none}
