.case-study-module__IoECCW__page{background:var(--page);min-height:100dvh;color:var(--ink);overflow:clip}.case-study-module__IoECCW__shell{width:var(--shell);margin-inline:auto}.case-study-module__IoECCW__hero{padding:clamp(124px,11vw,156px) 0 clamp(52px,6vw,80px)}.case-study-module__IoECCW__backLink{min-height:44px;color:var(--muted);align-items:center;gap:10px;font-size:.84rem;font-weight:600;transition:color .18s,transform .18s;display:inline-flex}.case-study-module__IoECCW__backLink:hover{color:var(--ink);transform:translate(-3px)}.case-study-module__IoECCW__heroGrid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;max-width:1080px;margin-top:clamp(36px,4vw,58px);display:grid}.case-study-module__IoECCW__category{color:var(--accent);font-family:var(--font-mono);padding-top:0;font-size:.74rem;font-weight:600}.case-study-module__IoECCW__heroCopy h1{letter-spacing:-.035em;text-wrap:balance;max-width:900px;margin:0;font-size:clamp(2.7rem,4.8vw,4.6rem);font-weight:400;line-height:1.04}.case-study-module__IoECCW__heroSummary{max-width:700px;color:var(--muted);margin:32px 0 0;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5}.case-study-module__IoECCW__coverSection{padding-bottom:clamp(60px,7vw,96px)}.case-study-module__IoECCW__overview{border-top:1px solid var(--line);margin-top:clamp(40px,5vw,68px);padding-top:24px}.case-study-module__IoECCW__overview h2{margin:0 0 24px;font-size:1.2rem;font-weight:500}.case-study-module__IoECCW__overviewGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;margin:0;display:grid}.case-study-module__IoECCW__overviewGrid>div{overflow-wrap:anywhere;min-width:0}.case-study-module__IoECCW__overviewGrid dt{color:var(--muted);font-family:var(--font-mono);font-size:.72rem}.case-study-module__IoECCW__overviewGrid dd{margin:8px 0 0;font-size:1rem;line-height:1.5}.case-study-module__IoECCW__overviewContribution{grid-column:1/-1;max-width:850px}.case-study-module__IoECCW__overviewLink{grid-column:1/-1}.case-study-module__IoECCW__overviewLink a{min-height:44px;color:var(--accent);text-underline-offset:4px;align-items:center;gap:8px;font-weight:600;display:inline-flex}.case-study-module__IoECCW__overviewLink a:hover{text-decoration:underline}.case-study-module__IoECCW__coverFigure{margin:0}.case-study-module__IoECCW__coverFrame,.case-study-module__IoECCW__screenshotFrame{border:1px solid var(--line);background:var(--surface-strong);border-radius:24px;display:block;position:relative;overflow:hidden}.case-study-module__IoECCW__coverFrame{aspect-ratio:16/9}.case-study-module__IoECCW__coverFrame img,.case-study-module__IoECCW__screenshotFrame img{transition:transform .62s cubic-bezier(.22,1,.36,1)}.case-study-module__IoECCW__coverFrame:hover img,.case-study-module__IoECCW__screenshotFrame:hover img{transform:scale(1.015)}.case-study-module__IoECCW__photoFrame img{object-fit:cover}.case-study-module__IoECCW__interfaceFrame{background:color-mix(in srgb, var(--surface-strong) 78%, var(--accent) 4%);padding:clamp(14px,2.8vw,42px)}.case-study-module__IoECCW__interfaceFrame img{object-fit:contain;box-shadow:0 22px 55px color-mix(in srgb, var(--ink) 14%, transparent);border-radius:14px;width:calc(100% - clamp(28px,5.6vw,84px))!important;height:calc(100% - clamp(28px,5.6vw,84px))!important;inset:clamp(14px,2.8vw,42px)!important}.case-study-module__IoECCW__coverCaption,.case-study-module__IoECCW__screenshotGrid figure>p{max-width:760px;color:var(--muted);margin:14px 0 0;font-size:.83rem;line-height:1.55}.case-study-module__IoECCW__screenshotShortcut{border:1px solid var(--ink);background:var(--ink);min-height:44px;color:var(--page);border-radius:999px;align-items:center;gap:10px;margin-top:22px;padding:0 18px;font-size:.8rem;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.case-study-module__IoECCW__screenshotShortcut:hover{background:var(--accent-deep);color:#fff;transform:translateY(-2px)}.case-study-module__IoECCW__screenshotShortcut:active{transform:scale(.98)}.case-study-module__IoECCW__screenshotShortcut:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.case-study-module__IoECCW__screenshotShortcut>span:last-child{font-family:var(--font-mono)}.case-study-module__IoECCW__metricGrid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(42px,5vw,72px) 0 0;display:grid}.case-study-module__IoECCW__metricGrid div{min-width:0;padding:24px clamp(12px,2vw,26px) 10px 0}.case-study-module__IoECCW__metricGrid dt{color:var(--muted);font-family:var(--font-mono);font-size:.72rem}.case-study-module__IoECCW__metricGrid dd{max-width:240px;margin:10px 0 0;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600;line-height:1.35}.case-study-module__IoECCW__caseNav{z-index:20;border-block:1px solid var(--line);background:color-mix(in srgb, var(--page) 90%, transparent);-webkit-backdrop-filter:blur(16px);position:sticky;top:84px}.case-study-module__IoECCW__caseNav>div{scrollbar-width:none;gap:8px;padding-block:10px;display:flex;overflow-x:auto}.case-study-module__IoECCW__caseNav>div::-webkit-scrollbar{display:none}.case-study-module__IoECCW__caseNav a,.case-study-module__IoECCW__backToSummary{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 16px;font-size:.78rem;font-weight:600;transition:border-color .18s,transform .18s;display:inline-flex}.case-study-module__IoECCW__caseNav a:hover,.case-study-module__IoECCW__backToSummary:hover{border-color:var(--accent);transform:translateY(-1px)}.case-study-module__IoECCW__storySection,.case-study-module__IoECCW__decisionSection,.case-study-module__IoECCW__screenshotSection,.case-study-module__IoECCW__learningSection{padding:clamp(64px,7vw,104px) 0}.case-study-module__IoECCW__storySection{border-top:1px solid var(--line)}.case-study-module__IoECCW__storyGrid{grid-template-columns:minmax(220px,.58fr) minmax(0,1.42fr);gap:clamp(36px,5vw,72px);display:grid}.case-study-module__IoECCW__storyGrid>h2,.case-study-module__IoECCW__dualSection h2{letter-spacing:-.03em;text-wrap:balance;max-width:430px;margin:0;font-size:clamp(2.1rem,3.4vw,3.5rem);font-weight:400;line-height:1.08}.case-study-module__IoECCW__longCopy{max-width:760px}.case-study-module__IoECCW__longCopy p{margin:0;font-size:clamp(1.12rem,1.6vw,1.36rem);line-height:1.68}.case-study-module__IoECCW__longCopy p+p{margin-top:28px}.case-study-module__IoECCW__softSection{background:var(--surface)}.case-study-module__IoECCW__dualSection{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,80px);display:grid}.case-study-module__IoECCW__dualSection .case-study-module__IoECCW__longCopy{margin-top:34px}.case-study-module__IoECCW__constraintList{gap:18px;margin:34px 0 0;padding:0;list-style:none;display:grid}.case-study-module__IoECCW__constraintList li{color:var(--muted);padding-left:28px;line-height:1.58;position:relative}.case-study-module__IoECCW__constraintList li:before{background:var(--accent);content:"";width:14px;height:1px;position:absolute;top:.72em;left:0}.case-study-module__IoECCW__workflowSection{background:var(--accent-deep);color:#f4f5f1;padding:clamp(64px,7vw,104px) 0}.case-study-module__IoECCW__sectionHeading{max-width:760px}.case-study-module__IoECCW__sectionHeading h2,.case-study-module__IoECCW__resultSection h2,.case-study-module__IoECCW__ctaSection h2{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,4.2vw,4.2rem);font-weight:400;line-height:1.02}.case-study-module__IoECCW__sectionHeading>p{max-width:620px;color:var(--muted);margin:24px 0 0;font-size:1.05rem;line-height:1.55}.case-study-module__IoECCW__workflowSection .case-study-module__IoECCW__sectionHeading>p{color:#f4f5f1b3}.case-study-module__IoECCW__workflowGrid{background:#f4f5f138;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(40px,5vw,68px);display:grid}.case-study-module__IoECCW__workflowGrid article{background:var(--accent-deep);min-height:270px;padding:clamp(24px,3vw,40px)}.case-study-module__IoECCW__workflowGrid h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:500;line-height:1.05}.case-study-module__IoECCW__workflowGrid p{color:#f4f5f1b8;margin:22px 0 0;line-height:1.58}.case-study-module__IoECCW__decisionSection{background:var(--page)}.case-study-module__IoECCW__decisionList{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(32px,4vw,72px);margin-top:clamp(42px,5vw,68px);display:grid}.case-study-module__IoECCW__decisionList article{border-top:1px solid var(--line);padding:28px 0}.case-study-module__IoECCW__decisionList h3,.case-study-module__IoECCW__techGroups h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.4vw,2.35rem);font-weight:500;line-height:1.08}.case-study-module__IoECCW__decisionList p{max-width:560px;color:var(--muted);margin:18px 0 0;line-height:1.6}.case-study-module__IoECCW__techList{flex-wrap:wrap;gap:10px;margin-top:58px;display:flex}.case-study-module__IoECCW__techList span{border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);border-radius:999px;padding:10px 14px;font-size:.72rem}.case-study-module__IoECCW__techGroups{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:44px clamp(32px,4vw,72px);margin-top:56px;padding-top:44px;display:grid}.case-study-module__IoECCW__techGroups section>div{gap:24px;margin-top:28px;display:grid}.case-study-module__IoECCW__techGroups article strong{font-size:.94rem}.case-study-module__IoECCW__techGroups article p{color:var(--muted);margin:7px 0 0;font-size:.92rem;line-height:1.55}.case-study-module__IoECCW__screenshotSection{background:var(--surface);scroll-margin-top:32px}.case-study-module__IoECCW__imageHint{font-family:var(--font-mono);color:var(--accent)!important;margin-top:12px!important;font-size:.72rem!important}.case-study-module__IoECCW__backToSummary{gap:8px;margin-top:clamp(56px,7vw,92px)}.case-study-module__IoECCW__screenshotGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(38px,5vw,64px) clamp(22px,3vw,40px);margin-top:clamp(44px,5vw,72px);display:grid}.case-study-module__IoECCW__screenshotGrid figure{min-width:0;margin:0}.case-study-module__IoECCW__screenshotGrid figure:first-child{grid-column:1/-1}.case-study-module__IoECCW__screenshotGroups{gap:clamp(64px,7vw,104px);margin-top:clamp(44px,5vw,72px);display:grid}.case-study-module__IoECCW__screenshotGroupHeading{border-bottom:1px solid var(--line);grid-template-columns:minmax(200px,.55fr) minmax(0,1.45fr);align-items:end;gap:clamp(24px,3.5vw,56px);padding-bottom:20px;display:grid}.case-study-module__IoECCW__screenshotGroupHeading h3{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.9rem,3vw,3.1rem);font-weight:400;line-height:1.08}.case-study-module__IoECCW__screenshotGroupHeading p{max-width:660px;color:var(--muted);margin:0;line-height:1.55}.case-study-module__IoECCW__screenshotGroup .case-study-module__IoECCW__screenshotGrid{margin-top:clamp(36px,5vw,64px)}.case-study-module__IoECCW__screenshotGroup .case-study-module__IoECCW__screenshotGrid figure:first-child{grid-column:auto}.case-study-module__IoECCW__mobileScreenshotGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-module__IoECCW__mobileScreenshotGrid .case-study-module__IoECCW__screenshotFrame{aspect-ratio:720/1561}.case-study-module__IoECCW__screenshotFrame{aspect-ratio:16/10}.case-study-module__IoECCW__singleScreenshot{max-width:1120px;display:block}.case-study-module__IoECCW__singleScreenshot .case-study-module__IoECCW__screenshotFrame{aspect-ratio:16/9}.case-study-module__IoECCW__resultSection{background:var(--accent-deep);color:#f4f5f1;padding:clamp(68px,8vw,112px) 0}.case-study-module__IoECCW__resultLayout{grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);align-items:start;gap:clamp(44px,5vw,84px);display:grid}.case-study-module__IoECCW__resultIntro{color:#f4f5f1bd;max-width:590px;margin:28px 0 0;font-size:1.12rem;line-height:1.62}.case-study-module__IoECCW__resultGrid{background:#f4f5f133;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.case-study-module__IoECCW__resultGrid article{background:var(--accent-deep);min-height:190px;padding:clamp(22px,3vw,36px)}.case-study-module__IoECCW__resultGrid article>span{color:#f4f5f1b3;font-family:var(--font-mono);font-size:.72rem}.case-study-module__IoECCW__resultGrid p{letter-spacing:-.015em;text-wrap:balance;margin:30px 0 0;font-size:clamp(1.1rem,1.6vw,1.42rem);font-weight:500;line-height:1.35}.case-study-module__IoECCW__learningList{background:var(--line);gap:1px;display:grid}.case-study-module__IoECCW__learningList article{background:var(--page);padding:clamp(24px,3vw,38px)}.case-study-module__IoECCW__learningList p{margin:0;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.58}.case-study-module__IoECCW__ctaSection{background:var(--surface);padding:clamp(72px,8vw,116px) 0}.case-study-module__IoECCW__ctaSection h2{max-width:920px}.case-study-module__IoECCW__ctaSection>div>p{max-width:640px;color:var(--muted);margin:28px 0 0;font-size:1.08rem;line-height:1.58}.case-study-module__IoECCW__ctaSection a{background:var(--accent-deep);color:#f5f6f2;white-space:nowrap;border-radius:999px;align-items:center;gap:14px;min-height:50px;margin-top:38px;padding:0 22px;font-weight:600;transition:background .18s,transform .18s;display:inline-flex}.case-study-module__IoECCW__ctaSection a:hover{background:var(--accent);transform:translateY(-2px)}.case-study-module__IoECCW__ctaSection a:active{transform:scale(.985)}@media (max-width:900px){.case-study-module__IoECCW__overviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-module__IoECCW__heroGrid,.case-study-module__IoECCW__storyGrid,.case-study-module__IoECCW__resultLayout{grid-template-columns:1fr}.case-study-module__IoECCW__category,.case-study-module__IoECCW__heroCopy{grid-column:1}.case-study-module__IoECCW__category{padding-top:0}.case-study-module__IoECCW__metricGrid,.case-study-module__IoECCW__workflowGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-module__IoECCW__dualSection{gap:64px}.case-study-module__IoECCW__resultLayout{gap:60px}}@media (max-width:760px){.case-study-module__IoECCW__overviewGrid{grid-template-columns:1fr;gap:20px}.case-study-module__IoECCW__hero{padding-top:112px}.case-study-module__IoECCW__heroGrid{margin-top:38px}.case-study-module__IoECCW__heroCopy h1{letter-spacing:-.028em;font-size:clamp(2rem,8.2vw,2.9rem);line-height:1.1}.case-study-module__IoECCW__caseNav{top:76px}.case-study-module__IoECCW__heroSummary{margin-top:22px;font-size:1.08rem}.case-study-module__IoECCW__coverFrame,.case-study-module__IoECCW__screenshotFrame{border-radius:18px}.case-study-module__IoECCW__coverFrame{aspect-ratio:4/3}.case-study-module__IoECCW__photoFrame.case-study-module__IoECCW__coverFrame{min-height:64vh}.case-study-module__IoECCW__metricGrid,.case-study-module__IoECCW__workflowGrid,.case-study-module__IoECCW__decisionList,.case-study-module__IoECCW__techGroups,.case-study-module__IoECCW__screenshotGrid,.case-study-module__IoECCW__resultGrid,.case-study-module__IoECCW__dualSection{grid-template-columns:1fr}.case-study-module__IoECCW__metricGrid div{border-bottom:1px solid var(--line);min-height:104px;padding:20px 0}.case-study-module__IoECCW__storyGrid,.case-study-module__IoECCW__dualSection{gap:42px}.case-study-module__IoECCW__storyGrid>h2,.case-study-module__IoECCW__dualSection h2{font-size:clamp(1.95rem,7.8vw,2.7rem)}.case-study-module__IoECCW__workflowGrid article{min-height:210px}.case-study-module__IoECCW__decisionList,.case-study-module__IoECCW__techGroups{gap:0}.case-study-module__IoECCW__techGroups section{border-bottom:1px solid var(--line);padding:32px 0}.case-study-module__IoECCW__screenshotGrid figure:first-child{grid-column:1}.case-study-module__IoECCW__screenshotGroupHeading{grid-template-columns:1fr;gap:16px}.case-study-module__IoECCW__mobileScreenshotGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 14px}.case-study-module__IoECCW__mobileScreenshotGrid .case-study-module__IoECCW__screenshotFrame{aspect-ratio:720/1561}.case-study-module__IoECCW__screenshotFrame,.case-study-module__IoECCW__singleScreenshot .case-study-module__IoECCW__screenshotFrame{aspect-ratio:4/3}.case-study-module__IoECCW__resultLayout{grid-template-columns:1fr}.case-study-module__IoECCW__resultGrid article{min-height:158px}.case-study-module__IoECCW__ctaSection h2,.case-study-module__IoECCW__sectionHeading h2,.case-study-module__IoECCW__resultSection h2{font-size:clamp(2.1rem,8.4vw,3rem)}.case-study-module__IoECCW__screenshotGroupHeading h3{font-size:clamp(1.75rem,7vw,2.4rem)}}@media (prefers-reduced-motion:reduce){.case-study-module__IoECCW__backLink,.case-study-module__IoECCW__caseNav a,.case-study-module__IoECCW__backToSummary,.case-study-module__IoECCW__coverFrame img,.case-study-module__IoECCW__screenshotFrame img,.case-study-module__IoECCW__ctaSection a{transition:none}}
