/* Stage 7 portfolio */
.portfolio-page{padding-top:82px}
.portfolio-hero,.case-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,#0c1735,#10244c 70%,#123868);color:#fff}
.portfolio-hero-grid{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(132,174,232,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(132,174,232,.065) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at 70% 42%,#000 5%,transparent 73%)}
.portfolio-hero-inner{position:relative;min-height:440px;padding-top:78px;padding-bottom:70px}
.portfolio-hero .hero-kicker{color:#aab9d1}.portfolio-hero h1,.case-hero h1{max-width:820px;margin:0;font-family:var(--font-display);font-size:clamp(48px,7vw,82px);font-weight:700;line-height:1.02;letter-spacing:-.065em}
.portfolio-hero h1 span{display:block;color:#80a5d7}.portfolio-hero-inner>p:not(.hero-kicker){max-width:590px;margin:21px 0 0;color:#afbdd3;font-size:15px;line-height:1.85}
.portfolio-scroll-link{display:inline-flex;align-items:center;gap:13px;margin-top:28px;color:#fff;font-size:11px;font-weight:700}.portfolio-scroll-link span{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(177,202,238,.35);border-radius:50%;color:#5fc9e3}
.portfolio-hero-orbit{position:absolute;top:50%;right:6%;display:grid;width:270px;height:270px;place-items:center;border:1px solid rgba(105,181,236,.25);border-radius:50%;box-shadow:0 0 0 35px rgba(40,143,217,.035),0 0 0 72px rgba(40,143,217,.025);transform:translateY(-50%)}
.portfolio-hero-orbit span,.portfolio-hero-orbit i{position:absolute;inset:35px;border:1px solid rgba(105,181,236,.28);border-radius:50%;transform:rotateX(62deg) rotate(-28deg)}.portfolio-hero-orbit i{inset:58px;transform:rotateX(62deg) rotate(36deg)}.portfolio-hero-orbit b{display:grid;width:88px;height:88px;place-items:center;border:1px solid rgba(143,198,237,.4);border-radius:24px;background:linear-gradient(145deg,rgba(38,134,218,.45),rgba(16,37,81,.7));color:#fff;font-family:var(--font-display);font-size:44px;font-weight:700;box-shadow:0 15px 48px rgba(4,15,41,.3)}
.portfolio-work{background:#f6f8fb}.portfolio-filters{display:flex;flex-wrap:wrap;gap:9px;margin:-15px 0 35px}.portfolio-filter{min-height:38px;padding:8px 14px;border:1px solid #dde5ef;border-radius:3px;background:#fff;color:#5c6b84;font:600 11px var(--font-body);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.portfolio-filter:hover{transform:translateY(-1px);border-color:#8abbe6;color:#0c65b9}.portfolio-filter.is-active{border-color:#14274e;background:#14274e;color:#fff}.portfolio-filter:focus-visible,.case-gallery-item:focus-visible{outline:3px solid #14a8d1;outline-offset:3px}
.featured-project{display:grid;grid-template-columns:1.1fr .9fr;min-height:405px;margin-bottom:28px;border:1px solid #e1e7f0;background:#fff;box-shadow:0 22px 55px rgba(16,36,75,.055)}
.featured-project-visual{position:relative;isolation:isolate;display:grid;min-height:405px;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#1e3673 0,#111e46 52%,#0b1532 100%)}.featured-visual-grid,.case-cover-grid,.card-visual-grid{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(114,158,234,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(114,158,234,.09) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse,#000 12%,transparent 80%)}
.featured-visual-label,.featured-visual-foot{position:absolute;left:27px;color:#b6c6df;font-size:8px;font-weight:700;letter-spacing:.16em}.featured-visual-label{top:24px}.featured-visual-label i,.featured-visual-foot i{display:inline-block;width:5px;height:5px;margin:0 5px 1px;border-radius:50%;background:#31c8d7}.featured-visual-foot{bottom:21px;color:#8fa2c2}.featured-image-frame{display:grid;width:min(78%,520px);height:220px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:5px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.26);transition:transform .4s ease}.featured-project-visual:hover .featured-image-frame{transform:scale(1.025)}.featured-image-frame img{width:100%;height:100%;object-fit:contain}
.featured-project-copy{align-self:center;padding:42px 46px}.featured-project-copy .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:13px;font-size:9px;letter-spacing:.13em}.featured-dot{width:6px;height:6px;border-radius:50%;background:#0aa8d4}.category-separator{color:#a0adbf}.featured-project-copy h2{margin:0 0 13px;font-family:var(--font-display);font-size:clamp(32px,3.5vw,43px);font-weight:700;letter-spacing:-.06em}.featured-project-copy>p:not(.eyebrow){max-width:490px;color:#67758e;font-size:12px;line-height:1.85}.portfolio-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.portfolio-tags span{padding:6px 9px;border:1px solid #e0e7f0;border-radius:3px;background:#fff;color:#65738a;font-size:9px;font-weight:600;letter-spacing:.015em}.featured-actions{display:flex;align-items:center;flex-wrap:wrap;gap:19px;margin-top:23px}.featured-actions .btn-hero-primary,.case-hero .btn-hero-primary,.project-not-found .btn-hero-primary{padding:12px 15px;font-size:11px}.featured-actions .text-link{font-size:10px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portfolio-card{min-width:0;border:1px solid #e1e7ef;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.portfolio-card:hover{transform:translateY(-4px);border-color:#d1dfed;box-shadow:0 19px 45px rgba(16,36,75,.1)}.portfolio-card-link{display:block;height:100%}.portfolio-card-visual{position:relative;isolation:isolate;display:grid;min-height:185px;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#20386c 0,#111d40 65%,#0d1834 100%)}.portfolio-card-visual>img{width:calc(100% - 48px);height:125px;object-fit:contain;border-radius:3px;background:#fff;transition:transform .35s ease}.portfolio-card:hover .portfolio-card-visual>img{transform:scale(1.035)}.portfolio-project-mark,.case-project-mark{color:#f2f7ff;font-family:var(--font-display);font-size:42px;font-weight:700;letter-spacing:-.07em}.portfolio-card-caption{position:absolute;bottom:12px;left:15px;color:#90a4c7;font-size:7px;font-weight:700;letter-spacing:.15em}.portfolio-card-caption i{color:#5dcbe0;font-style:normal}.portfolio-card-arrow{position:absolute;top:12px;right:13px;display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(205,222,248,.34);border-radius:50%;color:#fff;font-size:13px;opacity:0;transform:translate(-3px,3px);transition:opacity .2s ease,transform .2s ease}.portfolio-card:hover .portfolio-card-arrow{opacity:1;transform:none}.portfolio-card-copy{padding:20px 21px 22px}.portfolio-card-copy .eyebrow{margin-bottom:6px;font-size:8px;letter-spacing:.13em}.portfolio-card-copy h3{margin:0 0 8px;font-family:var(--font-display);font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.035em}.portfolio-card-copy>p:not(.eyebrow){min-height:42px;margin:0;color:#77849a;font-size:10px;line-height:1.75}.portfolio-card-action{display:flex;align-items:center;justify-content:space-between;margin-top:17px;padding-top:12px;border-top:1px solid #edf0f5;color:#1779cd;font-size:9px;font-weight:700}.portfolio-card-action b{font-size:15px;font-weight:400}.portfolio-card[hidden],.featured-project[hidden],.portfolio-no-results[hidden]{display:none!important}.portfolio-no-results{padding:28px;border:1px solid #e1e7ef;background:#fff;color:#65738a;text-align:center;font-size:13px}.portfolio-empty{padding:76px 24px;border:1px solid #e1e7ef;background:#fff;text-align:center}.empty-mark{display:grid;width:56px;height:56px;margin:0 auto 18px;place-items:center;border:1px solid #dbe7f4;border-radius:16px;color:#1685dc;font-size:23px}.portfolio-empty h2{font:700 27px var(--font-display);letter-spacing:-.04em}.portfolio-empty p{margin:0;color:#6b7890}
.portfolio-cta{position:relative;isolation:isolate;overflow:hidden;background:#0d1733;color:#fff}.portfolio-cta:before{position:absolute;z-index:-1;top:-260px;right:6%;width:430px;height:430px;border:1px solid rgba(95,162,232,.17);border-radius:50%;box-shadow:0 0 0 38px rgba(95,162,232,.035),0 0 0 78px rgba(95,162,232,.025);content:""}.portfolio-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:64px;padding-bottom:66px}.portfolio-cta .eyebrow{margin-bottom:8px}.portfolio-cta h2{margin:0;font-family:var(--font-display);font-size:clamp(26px,4vw,37px);font-weight:700;line-height:1.25;letter-spacing:-.05em}.portfolio-cta h2 span{color:#89a5cc}
/* Case study */
.case-hero{padding-top:10px}.case-hero-inner{padding-top:38px;padding-bottom:73px}.case-back-link{display:inline-flex;align-items:center;gap:9px;margin-bottom:35px;color:#b9c7dc;font-size:11px;font-weight:600}.case-back-link:hover{color:#fff}.case-back-link span{color:#58c5df;font-size:17px}.case-hero-copy{position:relative;z-index:1}.case-hero .hero-kicker{color:#adbed5;font-size:9px;letter-spacing:.15em}.case-hero-separator{color:#5bcbe0}.case-hero h1{font-size:clamp(42px,5.4vw,66px)}.case-hero-copy>p:not(.hero-kicker){max-width:540px;margin:18px 0 0;color:#afbdd2;font-size:13px;line-height:1.85}.case-hero-tags{margin:18px 0 22px}.case-hero-tags span{border-color:rgba(210,226,248,.2);background:rgba(255,255,255,.06);color:#d7e3f4}.case-cover{position:relative;isolation:isolate;display:grid;min-height:320px;place-items:center;overflow:hidden;border:1px solid rgba(183,209,241,.17);background:radial-gradient(ellipse at 50% 45%,#1e3673 0,#111e46 52%,#0b1532 100%);box-shadow:0 25px 55px rgba(0,0,0,.16)}.case-cover>img{width:min(82%,520px);height:220px;object-fit:contain;border-radius:3px;background:#fff;box-shadow:0 22px 55px rgba(0,0,0,.26)}.case-project-mark{font-size:58px}.case-cover-caption{position:absolute;bottom:17px;left:20px;color:#91a5c5;font-size:8px;font-weight:700;letter-spacing:.15em}.case-cover-caption i{color:#55c5dc;font-style:normal}
.case-content{background:#fff}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:65px}.case-main{min-width:0}.case-section{padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid #e8edf3}.case-section .eyebrow{margin-bottom:8px;font-size:9px;letter-spacing:.15em}.case-section h2,.related-services h2{margin:0 0 13px;font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:-.045em}.case-section>p:not(.eyebrow){max-width:760px;margin:0;color:#66748b;font-size:13px;line-height:1.9}.case-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 25px;margin:20px 0 0;padding:0;list-style:none}.case-feature-list li{display:flex;gap:10px;align-items:flex-start;color:#53627b;font-size:11px;line-height:1.65}.case-feature-list li span{color:#0c8bd5}.case-impact{display:flex;gap:19px;padding:24px;margin:2px 0 38px;border-left:2px solid #159fce;background:#f5f9fd}.impact-symbol{display:grid;flex:0 0 37px;width:37px;height:37px;place-items:center;border:1px solid #dce8f5;border-radius:10px;background:#fff;color:#0786ce}.case-impact .eyebrow{margin-bottom:5px;font-size:8px}.case-impact h2{margin:0 0 6px;font:700 17px var(--font-display);letter-spacing:-.025em}.case-impact p:last-child{margin:0;color:#697790;font-size:11px;line-height:1.7}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:19px}.case-gallery-item{position:relative;display:grid;min-width:0;min-height:128px;place-items:center;overflow:hidden;padding:10px;border:1px solid #e0e7ef;background:#f6f8fb;cursor:zoom-in}.case-gallery-item img{width:100%;height:100%;max-height:170px;object-fit:contain;transition:transform .25s ease}.case-gallery-item:hover img{transform:scale(1.045)}.case-gallery-item span{position:absolute;right:7px;bottom:6px;padding:3px 5px;background:rgba(13,23,51,.82);color:#fff;font-size:8px}.case-tech-tags{margin-top:16px}
.case-aside{display:grid;align-content:start;gap:24px}.case-facts,.related-services{padding:22px;border:1px solid #e2e8f0;background:#fbfcfe}.case-facts .eyebrow,.related-services .eyebrow{margin-bottom:13px;font-size:8px;letter-spacing:.15em}.case-facts dl{display:grid;gap:14px;margin:0}.case-facts dl>div{padding-bottom:12px;border-bottom:1px solid #e9edf3}.case-facts dt{margin-bottom:3px;color:#8793a7;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.case-facts dd{margin:0;color:#243452;font-size:11px;font-weight:600}.case-live-link{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:#0879d8;font-size:10px;font-weight:700}.related-services h2{font-size:18px}.related-services ul{display:grid;gap:4px;margin:11px 0 0;padding:0;list-style:none}.related-services li a{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #e8edf3;color:#52617a;font-size:10px}.related-services li a:hover{color:#087cf0}.related-services li span{color:#0788cf;font-size:13px}
.case-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding-top:25px;border-top:1px solid #e7ebf1}.case-back-projects{color:#0879d8;font-size:11px;font-weight:700}.case-back-projects span{margin-right:7px}.case-adjacent{display:flex;gap:18px}.case-adjacent a{display:grid;gap:3px;max-width:210px;color:#374763;font-size:10px;font-weight:600}.case-adjacent a:last-child{text-align:right}.case-adjacent small{color:#909caf;font-size:7px;letter-spacing:.12em}.case-adjacent a:hover{color:#087cf0}
.portfolio-lightbox{width:min(92vw,1050px);max-width:none;max-height:90vh;padding:48px 20px 20px;border:1px solid rgba(255,255,255,.2);background:#0d1733;box-shadow:0 28px 90px rgba(0,0,0,.45)}.portfolio-lightbox::backdrop{background:rgba(5,12,28,.82);backdrop-filter:blur(3px)}.portfolio-lightbox>img{display:block;width:100%;max-height:calc(90vh - 75px);object-fit:contain}.portfolio-lightbox form{position:absolute;top:9px;right:12px}.lightbox-close{display:grid;width:33px;height:33px;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:transparent;color:#fff;font-size:23px;line-height:1;cursor:pointer}.project-not-found{position:relative;isolation:isolate;overflow:hidden;background:#f6f8fb}.project-not-found-inner{position:relative;min-height:515px;padding-top:114px;padding-bottom:85px}.not-found-code{position:absolute;top:40px;right:4%;z-index:-1;color:#e9eef5;font:800 clamp(150px,27vw,310px)/1 var(--font-display);letter-spacing:-.1em}.project-not-found .eyebrow{margin-bottom:8px}.project-not-found h1{margin:0;font:700 clamp(40px,6vw,66px)/1.1 var(--font-display);letter-spacing:-.06em}.project-not-found p:not(.eyebrow){max-width:510px;margin:16px 0 22px;color:#68758c;font-size:13px;line-height:1.8}
@media(max-width:991.98px){.portfolio-hero-orbit{right:3%;width:220px;height:220px;opacity:.6}.portfolio-hero-inner{min-height:410px}.featured-project{grid-template-columns:1fr 1fr}.featured-project-copy{padding:32px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-layout{grid-template-columns:minmax(0,1fr) 250px;gap:34px}.case-cover{min-height:290px}}
@media(max-width:767.98px){.portfolio-page{padding-top:72px}.portfolio-hero-inner{min-height:400px;padding-top:63px;padding-bottom:55px}.portfolio-hero h1{font-size:clamp(46px,10vw,66px)}.portfolio-hero-inner>p:not(.hero-kicker){max-width:510px;font-size:13px}.portfolio-hero-orbit{top:auto;right:-60px;bottom:-88px;width:190px;height:190px;opacity:.38;transform:none}.portfolio-work.section-pad{padding:72px 0}.portfolio-filters{gap:7px;margin:-9px 0 26px}.portfolio-filter{min-height:36px;padding:7px 11px;font-size:10px}.featured-project{grid-template-columns:1fr}.featured-project-visual{min-height:310px}.featured-image-frame{height:180px}.featured-project-copy{padding:29px 26px 32px}.featured-project-copy h2{font-size:35px}.portfolio-grid{gap:14px}.portfolio-card-visual{min-height:160px}.portfolio-card-copy{padding:16px}.case-hero-inner{padding-top:26px;padding-bottom:55px}.case-back-link{margin-bottom:24px}.case-cover{min-height:255px}.case-cover>img{height:180px}.case-layout{grid-template-columns:1fr;gap:28px}.case-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.case-section h2{font-size:24px}.portfolio-cta-inner{align-items:flex-start;flex-direction:column;padding-top:48px;padding-bottom:51px}.case-pagination{align-items:flex-start;flex-direction:column}.case-adjacent{width:100%;justify-content:space-between}}
@media(max-width:479.98px){.portfolio-hero-inner{min-height:375px;padding-top:51px}.portfolio-hero h1{font-size:44px}.portfolio-hero-inner>p:not(.hero-kicker){font-size:12px}.portfolio-hero-orbit{right:-96px;bottom:-105px}.portfolio-filter{font-size:9px;padding:7px 9px}.featured-project-visual{min-height:245px}.featured-visual-label{left:16px;top:17px;font-size:7px}.featured-visual-foot{left:16px;bottom:15px;font-size:7px}.featured-image-frame{width:83%;height:145px}.featured-project-copy{padding:25px 20px 27px}.featured-project-copy h2{font-size:32px}.featured-actions{align-items:flex-start;flex-direction:column;gap:12px}.portfolio-grid{grid-template-columns:1fr}.portfolio-card-visual{min-height:190px}.portfolio-card-copy>p:not(.eyebrow){min-height:0}.case-hero h1{font-size:42px}.case-cover{min-height:220px}.case-cover>img{height:145px}.case-aside{grid-template-columns:1fr}.case-feature-list{grid-template-columns:1fr;gap:10px}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.case-gallery-item{min-height:112px}.case-adjacent{gap:10px}.case-adjacent a{font-size:9px}.case-adjacent a:last-child{max-width:48%}.project-not-found-inner{min-height:460px;padding-top:104px}}
@media(prefers-reduced-motion:reduce){.portfolio-page *,.portfolio-page *:before,.portfolio-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
