.portfolio-page{--pf-bg:#071820;--pf-panel:#0e2833;--pf-accent:#7ee8ee;--pf-text:#f6fafb;--pf-muted:#a1b8c2;--pf-light:#f5f9fa;--pf-ink:#102b35;--pf-border:#a1b8c238;color:var(--pf-text);background:var(--pf-bg)}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{text-wrap:balance;font-family:Space Grotesk Variable,sans-serif}.portfolio-page h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:500;line-height:1.15}.portfolio-page h3{line-height:1.3}.portfolio-page p{line-height:1.8}.portfolio-page .portfolio-label{color:var(--pf-accent);letter-spacing:.14em;margin:0 0 20px;font-size:.6875rem;font-weight:800;line-height:1.6}.portfolio-hero{background:radial-gradient(ellipse at 95% 0, #7ee8ee17, transparent 55%), var(--pf-bg);padding:80px 0}.portfolio-hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(3rem,7vw,6.2rem);font-weight:500;line-height:1.04}.portfolio-hero h1 span{color:var(--pf-accent)}.portfolio-lead{max-width:620px;color:var(--pf-muted);margin:28px 0 0;font-size:1rem}.portfolio-section{padding:88px 0}.portfolio-section--light{color:var(--pf-ink);background:var(--pf-light)}.portfolio-section--light .portfolio-label{color:#276770}.portfolio-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:26px;display:flex}.portfolio-section-heading .portfolio-label{margin:0}.portfolio-small{color:#49616b;font-size:.75rem}.project-feature{background:#fff;border:1px solid #d6e2e6;border-radius:16px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.project-feature__visual{color:#f8f3ea;background:#172c31;flex-direction:column;justify-content:space-between;min-height:460px;padding:36px;display:flex;position:relative;overflow:hidden}.project-feature__visual:before,.project-feature__visual:after{content:"";pointer-events:none;border:1px solid #f8f3ea1f;border-radius:50%;width:380px;height:380px;position:absolute}.project-feature__visual:before{top:-180px;right:-130px}.project-feature__visual:after{bottom:-200px;left:-100px}.project-feature__category{letter-spacing:.17em;font-size:.625rem}.project-feature__brand{padding-block:45px;position:relative}.project-feature__brand>span{letter-spacing:-.065em;font-family:Space Grotesk Variable,sans-serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:700}.project-feature__brand p{color:#c4d0cd;margin:12px 0 0;font-size:.8125rem}.project-feature__journey{border-top:1px solid #f8f3ea33;flex-wrap:wrap;gap:12px 24px;margin:0;padding:20px 0 0;font-size:.6875rem;list-style:none;display:flex}.project-feature__content{align-self:center;min-width:0;padding:40px}.project-feature__content h2{font-size:clamp(1.8rem,2.8vw,2.7rem)}.project-feature__content>p:not(.portfolio-label){color:#49616b;font-size:.9375rem}.portfolio-tags{flex-wrap:wrap;gap:8px;margin:24px 0;padding:0;list-style:none;display:flex}.portfolio-tags li{color:#49616b;border:1px solid #d6e2e6;border-radius:5px;padding:7px 10px;font-size:.6875rem}.portfolio-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.portfolio-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:20px;min-height:50px;padding:14px 20px;font-size:.8125rem;font-weight:800;line-height:1.5;text-decoration:none;transition:transform .18s;display:inline-flex}.portfolio-button--dark{color:var(--pf-text);background:var(--pf-bg)}.portfolio-button--accent{color:var(--pf-bg);background:var(--pf-accent)}.portfolio-text-link{color:inherit;text-underline-offset:5px;padding-block:10px;font-size:.8125rem;font-weight:800;line-height:1.6;display:inline-block}.portfolio-footnote{color:#49616b;margin:20px 0 0;font-size:.75rem}.portfolio-two-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:72px;display:grid}.portfolio-principles{gap:26px;display:grid}.portfolio-principles article{border-bottom:1px solid var(--pf-border);padding-bottom:24px}.portfolio-principles h3{margin:0 0 8px;font-size:1.25rem;font-weight:500}.portfolio-principles p{color:var(--pf-muted);margin:0;font-size:.9375rem}.portfolio-cta{color:var(--pf-bg);background:var(--pf-accent);padding:64px 0}.portfolio-cta__inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.portfolio-cta__inner>div{max-width:760px}.portfolio-cta .portfolio-label{color:#204f57}.portfolio-cta p:last-child{margin:18px 0 0}.portfolio-cta .portfolio-button{flex-shrink:0}.case-hero{padding-top:36px;padding-bottom:0}.case-breadcrumb{color:var(--pf-muted);flex-wrap:wrap;gap:12px;margin-bottom:56px;font-size:.75rem;display:flex}.case-breadcrumb a{color:var(--pf-text);text-underline-offset:4px}.case-hero h1{font-size:clamp(2.8rem,5.4vw,5rem)}.case-hero__intro{align-self:end}.case-hero__intro .portfolio-lead{margin:0 0 26px}.case-facts{border-top:1px solid var(--pf-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:64px 0 0;padding:28px 0;display:grid}.case-facts dt{color:var(--pf-muted);margin-bottom:10px;font-size:.6875rem}.case-facts dd{margin:0;font-size:.8125rem;line-height:1.6}.case-prose p{color:#49616b;margin:0 0 22px;font-size:.9375rem}.case-prose p:last-child{margin-bottom:0}.case-journey{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:40px 0 0;padding:0;list-style:none;display:grid}.case-journey li{border-top:1px solid #7ee8ee66;padding-top:24px}.case-number{color:var(--pf-accent);font-size:.75rem;font-weight:700}.case-journey h3{margin:24px 0 12px;font-size:1.3rem;font-weight:500}.case-journey p{color:var(--pf-muted);margin:0;font-size:.875rem}.case-note{border-left:3px solid var(--pf-accent);background:var(--pf-panel);margin-top:38px;padding:24px}.case-note strong{font-size:.875rem}.case-note p{max-width:850px;color:var(--pf-muted);margin:10px 0 0;font-size:.8125rem}.case-capabilities{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px;display:grid}.case-capabilities article{background:#fff;border:1px solid #d6e2e6;border-radius:10px;padding:28px}.case-capabilities .case-number{color:#276770}.case-capabilities h3{margin:28px 0 12px;font-size:1.2rem;font-weight:500}.case-capabilities p{color:#49616b;margin:0;font-size:.875rem}.case-architecture{gap:16px;display:grid}.case-architecture article{border:1px solid var(--pf-border);background:var(--pf-panel);border-radius:10px;padding:26px}.case-architecture__heading{align-items:baseline;gap:16px;display:flex}.case-architecture h3{margin:0;font-size:1.2rem;font-weight:500}.case-architecture p{color:var(--pf-muted);margin:14px 0 0;font-size:.875rem}.case-architecture .case-architecture__technology{color:var(--pf-accent);font-size:.75rem}.portfolio-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:hover){.portfolio-button:hover{transform:translateY(-2px)}}@media (width<=1000px){.portfolio-two-columns{gap:36px}.project-feature__content,.project-feature__visual{padding:28px}.case-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.portfolio-hero{padding:52px 0}.portfolio-section{padding:60px 0}.project-feature,.portfolio-two-columns{grid-template-columns:minmax(0,1fr)}.project-feature__visual{min-height:320px}.project-feature__brand>span{font-size:clamp(2rem,9vw,3.8rem)}.portfolio-cta__inner{flex-direction:column;align-items:flex-start;gap:24px}.case-hero{padding-top:28px;padding-bottom:0}.case-breadcrumb{margin-bottom:36px}.case-facts,.case-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.case-facts{margin-top:38px}}@media (width<=440px){.project-feature__content,.project-feature__visual{padding:24px}.case-capabilities{grid-template-columns:minmax(0,1fr)}.case-journey{gap:28px 18px}.case-architecture article{padding:22px}}@media (prefers-reduced-motion:reduce){.portfolio-page *,.portfolio-page :before,.portfolio-page :after{transition:none;animation:none}}
