.portfolio-case{--case-ink:#302326;--case-muted:#706166;--case-accent:#ae3e35;--case-line:#eadedb;--case-soft:#fbf4f1;--case-hero:#f9e8e2;--case-hero-ink:#302326;--case-hero-muted:#70595e;--case-hero-accent:#a33e35;background:#fff;color:var(--case-ink)}.portfolio-case.case-lemonclub{--case-ink:#30263c;--case-muted:#706579;--case-accent:#a54628;--case-line:#e7e1ea;--case-soft:#f7f4f9;--case-hero:#f2edf7;--case-hero-ink:#30263c;--case-hero-muted:#6f6178;--case-hero-accent:#a54628}.portfolio-case.case-proxyventure{--case-ink:#1d2c44;--case-muted:#617086;--case-accent:#285fc0;--case-line:#dde5ef;--case-soft:#f2f6fc;--case-hero:#101a2d;--case-hero-ink:#f5f8ff;--case-hero-muted:#aebed7;--case-hero-accent:#9dbfff}.portfolio-case.case-proxyrequest{--case-ink:#1d2944;--case-muted:#616e85;--case-accent:#2d59c4;--case-line:#dfe5f1;--case-soft:#f4f6fc;--case-hero:#edf1fc;--case-hero-ink:#1d2944;--case-hero-muted:#5c6983;--case-hero-accent:#2d59c4}.portfolio-case.case-mimicproxy{--case-ink:#22343d;--case-muted:#5c707b;--case-accent:#386778;--case-line:#dbe4e8;--case-soft:#f4f7f9;--case-hero:#eaf0f4;--case-hero-ink:#22343d;--case-hero-muted:#5c707b;--case-hero-accent:#386778}.portfolio-case.case-coinsurf{--case-ink:#242348;--case-muted:#636381;--case-accent:#4a50bd;--case-line:#e0e2f2;--case-soft:#f5f5fc;--case-hero:#eeeefd;--case-hero-ink:#242348;--case-hero-muted:#636381;--case-hero-accent:#4a50bd}.portfolio-case.case-proxyverse{--case-ink:#29223c;--case-muted:#71667f;--case-accent:#7541ae;--case-line:#e8dfef;--case-soft:#f8f4fb;--case-hero:#19142e;--case-hero-ink:#f6f1ff;--case-hero-muted:#c1b5d5;--case-hero-accent:#c4a2ef}.portfolio-case.case-rcproxies{--case-ink:#263d3c;--case-muted:#607573;--case-accent:#28766e;--case-line:#dbe8e5;--case-soft:#f4f8f7;--case-hero:#eaf2ef;--case-hero-ink:#263d3c;--case-hero-muted:#607573;--case-hero-accent:#28766e}.portfolio-case.case-thepremiumports{--case-ink:#1f2d49;--case-muted:#63728a;--case-accent:#355fcc;--case-line:#dee5f3;--case-soft:#f3f6fc;--case-hero:#101c38;--case-hero-ink:#f2f6ff;--case-hero-muted:#b2c2df;--case-hero-accent:#9cbaff}.portfolio-case.case-interface .gallery-image{aspect-ratio:2/1;background:var(--case-soft)}.portfolio-case.case-interface .case-gallery-controls{flex-wrap:wrap}.portfolio-case.case-proxyrequest .gallery-image{aspect-ratio:8/5;background:#edf1f7}.portfolio-case.case-proxyrequest .case-panel p{font-size:15px}.portfolio-case.case-proxyrequest .case-gallery-controls{flex-wrap:wrap}.portfolio-case *{box-sizing:border-box}.portfolio-case .case-wrap{width:min(1160px,calc(100% - 64px));margin:0 auto}.portfolio-case .case-section{padding:84px 0;scroll-margin-top:80px}.portfolio-case .case-soft{background:var(--case-soft)}.portfolio-case .case-eyebrow{display:block;margin-bottom:18px;color:var(--case-accent);font-size:11px;line-height:1.6;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.portfolio-case h1,.portfolio-case h2,.portfolio-case h3,.portfolio-case p{margin:0}.portfolio-case h1{font-size:clamp(36px,3.65vw,53px);font-weight:600;letter-spacing:-.045em;line-height:1.12}.portfolio-case h2{margin-bottom:22px;font-size:clamp(28px,3vw,40px);font-weight:600;letter-spacing:-.035em;line-height:1.2}.portfolio-case h3{margin-bottom:12px;font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.4}.portfolio-case p{color:var(--case-muted);font-size:16px;line-height:1.8}.portfolio-case p+p{margin-top:16px}.portfolio-case a,.portfolio-case button{-webkit-tap-highlight-color:transparent}.portfolio-case a:focus-visible,.portfolio-case button:focus-visible,.portfolio-case [tabindex]:focus-visible{outline:3px solid var(--case-accent);outline-offset:5px}.portfolio-case .case-link{color:var(--case-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.portfolio-case .case-link:hover{text-decoration-thickness:2px}.portfolio-case .case-hero{padding:146px 0 66px;background:var(--case-hero);color:var(--case-hero-ink)}.portfolio-case .case-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:54px;align-items:center}.portfolio-case .case-hero .case-eyebrow,.portfolio-case .case-hero .case-link{color:var(--case-hero-accent)}.portfolio-case .case-hero p{color:var(--case-hero-muted);margin-top:24px;font-size:17px;line-height:1.75}.portfolio-case .case-brand{margin-bottom:26px;font-size:24px;font-weight:700;letter-spacing:-.04em}.portfolio-case .case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px;font-size:13px;font-weight:600}.portfolio-case .case-button{display:inline-flex;align-items:center;gap:16px;background:var(--case-hero-ink);color:var(--case-hero);padding:14px 19px;border-radius:6px}.portfolio-case .case-browser{overflow:hidden;border:1px solid var(--case-line);border-radius:10px;background:#fff;box-shadow:0 20px 50px #24162c12}.portfolio-case .case-browser-bar{height:32px;display:flex;align-items:center;gap:5px;padding:0 13px;background:#fff;color:#756c7b;font-size:10px;border-bottom:1px solid #e8e5eb}.portfolio-case .case-browser-bar i{display:block;width:5px;height:5px;border-radius:50%;background:#c7bfc9}.portfolio-case .case-browser-bar span{margin-left:9px}.portfolio-case .case-browser img{width:100%;height:auto;display:block}.portfolio-case .case-hero figcaption{margin-top:15px;color:var(--case-hero-muted);font-size:11px;letter-spacing:.025em}.portfolio-case .case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:28px 0;border-bottom:1px solid var(--case-line)}.portfolio-case .case-facts dt{color:var(--case-muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.portfolio-case .case-facts dd{font-size:14px;line-height:1.6;font-weight:500}.portfolio-case .case-intro{max-width:770px;margin-bottom:38px}.portfolio-case .case-split{display:grid;grid-template-columns:1fr 1fr;gap:72px}.portfolio-case .case-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.portfolio-case .case-panel{border:1px solid var(--case-line);background:#fff;padding:30px;border-radius:10px}.portfolio-case .case-panel-label{display:block;color:var(--case-accent);font:600 11px/1.5 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}.portfolio-case .case-list{padding:0;margin:22px 0 0;list-style:none}.portfolio-case .case-list li{position:relative;padding-left:20px;margin-top:12px;color:var(--case-muted);font-size:14px;line-height:1.75}.portfolio-case .case-list li::before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--case-accent)}.portfolio-case .case-rows{margin:0}.portfolio-case .case-rows>div{padding:23px 0;border-top:1px solid var(--case-line)}.portfolio-case .case-rows>div:first-child{padding-top:0;border-top:0}.portfolio-case .case-rows dt{font-size:17px;font-weight:600;margin-bottom:8px}.portfolio-case .case-rows dd{color:var(--case-muted);font-size:15px;line-height:1.8}.portfolio-case .case-diagram{margin-top:36px}.portfolio-case .case-diagram img{width:100%;height:auto;display:block;border:1px solid var(--case-line);border-radius:12px;background:#fff}.portfolio-case .case-diagram figcaption{max-width:790px;margin-top:16px;font-size:13px;color:var(--case-muted);line-height:1.7}.portfolio-case .case-steps{list-style:none;padding:0;margin:0;counter-reset:case-step}.portfolio-case .case-steps li{counter-increment:case-step;position:relative;padding:0 0 30px 58px;border-left:1px solid var(--case-line);margin-left:17px}.portfolio-case .case-steps li:last-child{padding-bottom:0;border-color:transparent}.portfolio-case .case-steps li::before{content:"0" counter(case-step);position:absolute;top:0;left:-18px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--case-soft);border:1px solid var(--case-line);color:var(--case-accent);font-size:11px;font-weight:600}.portfolio-case .case-steps h3{padding-top:2px;font-size:18px}.portfolio-case .case-steps p{font-size:15px}.portfolio-case .case-note{border-left:3px solid var(--case-accent);padding-left:22px;margin-top:28px}.portfolio-case .case-note p{font-size:14px}.portfolio-case .case-gallery{scroll-margin-top:105px}.portfolio-case .case-gallery-frame{background:#eaeaf0;border:1px solid var(--case-line);border-radius:12px;overflow:hidden}.portfolio-case .gallery-image{display:block;width:100%;height:auto;aspect-ratio:18/13;object-fit:contain;background:#eceaf0;transition:opacity .25s ease}.portfolio-case .case-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:#fff;border-top:1px solid var(--case-line)}.portfolio-case .case-gallery-controls{display:flex;align-items:center;gap:8px}.portfolio-case .case-gallery-arrow,.portfolio-case .gallery-dot{display:grid;place-items:center;width:40px;height:40px;background:#fff;color:var(--case-muted);border:1px solid var(--case-line);border-radius:6px;font-size:12px;cursor:pointer}.portfolio-case .case-gallery-arrow{font-size:19px}.portfolio-case .gallery-dot.active{background:var(--case-soft);border-color:var(--case-accent);color:var(--case-accent);transform:none;font-weight:700}.portfolio-case .case-gallery-arrow:hover,.portfolio-case .gallery-dot:hover{border-color:var(--case-accent)}.portfolio-case .case-gallery-toolbar .case-link{font-size:12px}.portfolio-case .case-gallery-caption{display:flex;justify-content:space-between;gap:24px;padding-top:18px}.portfolio-case .case-gallery-caption p{font-size:13px;max-width:800px}.portfolio-case .case-gallery-caption a{flex-shrink:0;font-size:12px;line-height:1.8}.portfolio-case .case-sources{padding:30px 0;border-top:1px solid var(--case-line)}.portfolio-case .case-sources p{font-size:12px;line-height:1.8}.portfolio-case .case-sources a{margin-right:12px}@media(max-width:1000px){.portfolio-case .case-hero-grid{grid-template-columns:1fr;gap:40px}.portfolio-case .case-hero-copy{max-width:720px}.portfolio-case .case-hero figure{max-width:680px}.portfolio-case .case-split{gap:36px}.portfolio-case .case-columns{gap:20px}.portfolio-case .case-panel{padding:24px}}@media(max-width:900px){.portfolio-case .case-diagram picture{display:block;max-width:460px;margin:0 auto}}@media(max-width:700px){.portfolio-case .case-wrap{width:calc(100% - 40px)}.portfolio-case .case-section{padding:56px 0}.portfolio-case .case-hero{padding:122px 0 42px}.portfolio-case .case-brand{font-size:21px;margin-bottom:22px}.portfolio-case .case-hero p{font-size:16px}.portfolio-case .case-facts{grid-template-columns:1fr;gap:18px;padding:25px 0}.portfolio-case .case-facts>div{display:grid;grid-template-columns:86px 1fr;gap:14px}.portfolio-case .case-facts dt{padding-top:4px;margin-bottom:0}.portfolio-case .case-split,.portfolio-case .case-columns{grid-template-columns:1fr;gap:28px}.portfolio-case .case-intro{margin-bottom:28px}.portfolio-case .case-steps li{padding-left:36px}.portfolio-case .case-diagram{margin-top:28px}.portfolio-case .case-gallery-toolbar{padding:12px;flex-wrap:wrap;gap:12px}.portfolio-case .case-gallery-caption{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){.portfolio-case *,.portfolio-case *::before,.portfolio-case *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.portfolio-case.case-geonode{--case-ink:#272820;--case-muted:#63675d;--case-accent:#756114;--case-line:#e2e3d9;--case-soft:#f7f8f3;--case-hero:#f1f2e9;--case-hero-ink:#272820;--case-hero-muted:#61665a;--case-hero-accent:#756114}.case-geonode .case-hero{padding-top:76px}.case-geonode .geonode-architecture{padding:30px;border:1px solid var(--case-line);border-radius:14px;background:#fff}.case-geonode .geonode-diagram-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px;color:var(--case-muted);font-size:11px}.case-geonode .geonode-diagram-heading>span:first-child{color:var(--case-accent);font-weight:600}.case-geonode .geonode-flow{display:grid;grid-template-columns:1fr 1.15fr 1.4fr 1fr;gap:28px;margin:0;padding:0;list-style:none}.case-geonode .geonode-flow>li{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:23px 14px;border:1px solid var(--case-line);border-radius:9px;background:var(--case-soft);text-align:center}.case-geonode .geonode-flow>li:not(:last-child)::after{content:"→";position:absolute;top:50%;left:calc(100% + 6px);width:16px;transform:translateY(-50%);color:var(--case-accent);font-size:18px}.case-geonode .geonode-flow>.geonode-platform:not(:last-child)::after{content:"↔"}.case-geonode .geonode-flow .geonode-sdk{background:#272820;border-color:#272820;color:#fff}.case-geonode .geonode-node-label{display:block;margin-bottom:12px;color:var(--case-accent);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.case-geonode .geonode-sdk .geonode-node-label{color:#f1d85b}.case-geonode .geonode-architecture h3{margin-bottom:8px;font-size:14px;letter-spacing:-.015em}.case-geonode .geonode-architecture p{font-size:11px;line-height:1.8}.case-geonode .geonode-device-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:7px}.case-geonode .geonode-device-tags span{padding:4px 6px;border:1px solid #ffffff35;border-radius:4px;color:#f4f5ed;font-size:9px}.case-geonode .geonode-flow-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px}.case-geonode .geonode-flow-details>div{padding:20px;border:1px dashed #d1d3c4;border-radius:9px}.case-geonode .geonode-flow-details .geonode-guard{border-style:solid;border-left:3px solid #b77a43;background:#fdfaf5}.case-geonode .geonode-architecture figcaption{margin-top:24px;padding-top:18px;border-top:1px solid var(--case-line);color:var(--case-muted);font-size:11px;line-height:1.8}.case-geonode .geonode-delivery{padding:28px;border:1px solid var(--case-line);border-radius:10px;background:var(--case-soft)}.case-geonode .tech-widgets{grid-template-columns:1fr}.case-geonode .tech-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 32px}@media(min-width:701px){.case-geonode .tech-roles>li+li{margin-top:0}}@media(max-width:900px){.case-geonode .geonode-flow{grid-template-columns:1fr;gap:30px}.case-geonode .geonode-flow>li{padding:23px}.case-geonode .geonode-flow>li:not(:last-child)::after{top:calc(100% + 5px);left:50%;transform:translateX(-50%)rotate(90deg)}.case-geonode .geonode-flow-details{grid-template-columns:1fr;gap:16px}.case-geonode .geonode-device-tags span{font-size:11px}.case-geonode .geonode-architecture h3{font-size:16px}.case-geonode .geonode-architecture p{font-size:12px}}@media(max-width:700px){.case-geonode .case-hero{padding-top:48px}.case-geonode .geonode-architecture{padding:22px 18px}.case-geonode .geonode-diagram-heading{flex-direction:column;gap:5px}.case-geonode .geonode-delivery{padding:24px}.case-geonode .tech-roles{display:block}}