.case-study{width:calc(100% - 32px);max-width:1240px;margin:0 auto;padding-bottom:64px}.case-study .case-nav,.case-study .brand-link,.case-study .hero-actions,.case-study .tag-row,.case-study .case-cta{display:flex;align-items:center}.case-study .case-nav{justify-content:space-between;min-height:88px;gap:20px}.case-study .case-nav a{color:var(--text);font-weight:700;text-decoration:none}.case-study .brand-link{gap:10px}.case-study .back-link{color:var(--accent-strong)!important;white-space:nowrap}.case-study .case-hero{display:grid;gap:42px;padding:clamp(56px,9vw,112px) 0 56px}.case-study .case-hero h1{max-width:940px;margin-bottom:24px;font-size:clamp(3.2rem,10vw,7.4rem)}.case-study .case-lead,.case-study .section-intro{max-width:760px;color:var(--hero-lead)}.case-study .case-lead{font-size:clamp(1.12rem,2.4vw,1.45rem)}.case-study .hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px}.case-study .project-facts{margin:0;border-top:1px solid var(--border)}.case-study .project-facts div{padding:18px 0;border-bottom:1px solid var(--border)}.case-study .project-facts dt{color:var(--subtle);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case-study .project-facts dd{margin:6px 0 0;line-height:1.5}.case-study .hero-visual,.case-study .gallery-card{padding:8px;margin:0;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);box-shadow:var(--card-glow)}.case-study .hero-visual img,.case-study .gallery img{display:block;width:100%;height:auto;border-radius:7px}.case-study .case-section{padding:clamp(56px,7vw,88px) 0;border-bottom:1px solid var(--border)}.case-study .case-section h2,.case-study .case-cta h2{max-width:860px;margin-bottom:28px;font-size:clamp(2.25rem,6vw,4.8rem)}.case-study .section-intro{margin-bottom:36px;font-size:1.1rem}.case-study .context-grid,.case-study .challenge-grid,.case-study .tradeoffs-grid,.case-study .architecture-flow,.case-study .quality-grid,.case-study .outcomes-grid,.case-study .gallery{display:grid;gap:24px}.case-study .prose{max-width:64ch}.case-study .prose p+p,.case-study .decision-card p+p{margin-top:18px}.case-study .prose p:last-child,.case-study .decision-card p:last-child,.case-study .challenge-grid>div>p:last-child,.case-study .architecture-flow p,.case-study .quality-grid p{margin-bottom:0}.case-study .architecture-flow article,.case-study .quality-grid article,.case-study .outcomes-grid div,.case-study .decision-card{padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--card-bg)}.case-study .architecture-flow article{position:relative}.case-study .architecture-flow article>span{display:block;margin-bottom:24px;color:var(--accent-strong);font-size:.78rem;font-weight:700}.case-study .decision-card{border-color:var(--accent-border);background:linear-gradient(135deg,var(--accent-wash),transparent 46%),var(--card-bg)}.case-study .tag-row{flex-wrap:wrap;gap:10px;margin-top:32px}.case-study .tag-row span{padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--pill-bg);color:var(--accent-strong);font-size:.78rem;font-weight:700}.case-study .outcomes-grid dt{margin-bottom:8px;color:var(--text);font-size:clamp(1.65rem,4vw,2.35rem);font-weight:800;letter-spacing:-.04em}.case-study .outcomes-grid dd{margin:0;color:var(--muted);line-height:1.6}.case-study .verification-note{max-width:78ch;margin:24px 0 0}.case-study .gallery-card{align-self:start;border-radius:10px}.case-study .gallery-card figcaption{padding:14px 8px 8px;color:var(--muted);font-size:.84rem;font-weight:700}.case-study .case-cta{flex-wrap:wrap;align-items:end;justify-content:space-between;gap:32px;padding:clamp(64px,8vw,96px) 0 32px}.case-study .case-cta h2,.case-study .case-cta .hero-actions{margin:0}@media(min-width:760px){.case-study{width:calc(100% - 80px)}.case-study .case-hero{grid-template-columns:minmax(0,1fr) minmax(240px,.38fr);align-items:center}.case-study .architecture-flow,.case-study .quality-grid,.case-study .outcomes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study .gallery{grid-template-columns:repeat(12,minmax(0,1fr))}.case-study .gallery-card--featured{grid-column:1/-1}.case-study .gallery-card--standard{grid-column:span 6}.case-study .gallery-card--mobile{grid-column:5/span 4}}@media(min-width:980px){.case-study .context-grid,.case-study .challenge-grid,.case-study .tradeoffs-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:72px;align-items:center}.case-study .architecture-flow--three{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study .architecture-flow--four{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study .architecture-flow article:not(:last-child):after{position:absolute;top:31px;right:-19px;z-index:2;width:34px;height:2px;background:var(--accent-strong);content:""}.case-study .architecture-flow article:not(:last-child):before{position:absolute;top:27px;right:-19px;z-index:3;width:8px;height:8px;border-top:2px solid var(--accent-strong);border-right:2px solid var(--accent-strong);content:"";transform:rotate(45deg)}}:root{color-scheme:dark;--bg: #080a0f;--bg-soft: #0d1118;--surface: #121821;--surface-strong: #18212d;--page-background: radial-gradient(circle at top left, rgba(125, 211, 199, .12), transparent 34rem), linear-gradient(180deg, #080a0f 0%, #0b0f15 48%, #080a0f 100%);--border: rgba(229, 236, 246, .12);--border-strong: rgba(229, 236, 246, .2);--text: #f4f7fb;--muted: #a6b0bf;--subtle: #778294;--accent: #7dd3c7;--accent-strong: #b9f3ea;--accent-border: rgba(125, 211, 199, .45);--gold: #d7bb7a;--hero-lead: #d5dce7;--button-primary-text: #07100f;--button-secondary-bg: rgba(255, 255, 255, .06);--nav-bg: rgba(8, 10, 15, .88);--nav-scrolled-bg: rgba(11, 15, 21, .94);--card-bg: linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025));--card-hover-bg: linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .032));--pill-bg: rgba(255, 255, 255, .045);--pill-text: #dbe3ee;--band-bg: rgba(255, 255, 255, .025);--highlight-bg: rgba(255, 255, 255, .04);--highlight-hover-bg: rgba(255, 255, 255, .065);--preview-bg: rgba(8, 10, 15, .52);--preview-surface: rgba(255, 255, 255, .075);--preview-surface-strong: rgba(255, 255, 255, .14);--preview-line: rgba(229, 236, 246, .18);--preview-chrome: rgba(255, 255, 255, .07);--preview-depth-shadow: 0 18px 42px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .08);--accent-wash: rgba(125, 211, 199, .075);--card-glow: 0 26px 74px rgba(0, 0, 0, .38), 0 0 0 1px rgba(125, 211, 199, .08);--card-hover-glow: 0 30px 88px rgba(0, 0, 0, .44), 0 0 34px rgba(125, 211, 199, .1);--shadow: 0 24px 70px rgba(0, 0, 0, .35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.theme-light{color-scheme:light;--bg: #f6f8fb;--bg-soft: #eef3f7;--surface: #ffffff;--surface-strong: #e8eef3;--page-background: radial-gradient(circle at top left, rgba(23, 109, 102, .12), transparent 34rem), linear-gradient(180deg, #f8fafc 0%, #eef3f7 52%, #f7f9fb 100%);--border: rgba(17, 24, 39, .12);--border-strong: rgba(17, 24, 39, .22);--text: #111827;--muted: #4b5563;--subtle: #697386;--accent: #176d66;--accent-strong: #0f5e58;--accent-border: rgba(23, 109, 102, .36);--gold: #8a6b2f;--hero-lead: #374151;--button-primary-text: #ffffff;--button-secondary-bg: rgba(255, 255, 255, .72);--nav-bg: rgba(248, 250, 252, .88);--nav-scrolled-bg: rgba(255, 255, 255, .94);--card-bg: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .86));--card-hover-bg: linear-gradient(180deg, #ffffff, rgba(241, 245, 249, .96));--pill-bg: rgba(255, 255, 255, .72);--pill-text: #253244;--band-bg: rgba(255, 255, 255, .54);--highlight-bg: rgba(255, 255, 255, .7);--highlight-hover-bg: rgba(255, 255, 255, .94);--preview-bg: rgba(255, 255, 255, .82);--preview-surface: rgba(15, 23, 42, .07);--preview-surface-strong: rgba(23, 109, 102, .18);--preview-line: rgba(15, 23, 42, .14);--preview-chrome: rgba(15, 23, 42, .045);--preview-depth-shadow: 0 18px 42px rgba(15, 23, 42, .13), inset 0 1px 0 rgba(255, 255, 255, .82);--accent-wash: rgba(23, 109, 102, .075);--card-glow: 0 24px 70px rgba(15, 23, 42, .13), 0 0 0 1px rgba(23, 109, 102, .08);--card-hover-glow: 0 30px 84px rgba(15, 23, 42, .18), 0 0 30px rgba(23, 109, 102, .1);--shadow: 0 24px 70px rgba(15, 23, 42, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px;background:var(--bg);scrollbar-width:none;transition:background-color .22s ease,color .22s ease}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--page-background);color:var(--text);font-family:inherit;-webkit-font-smoothing:antialiased;-ms-overflow-style:none;text-rendering:optimizeLegibility;transition:background .22s ease,color .22s ease}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.icon{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.site-shell{width:min(100%,1440px);margin:0 auto;overflow:hidden}.scroll-progress{position:fixed;top:0;right:0;left:0;z-index:1100;height:3px;background:linear-gradient(90deg,var(--accent),var(--gold));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 34%,transparent);pointer-events:none;transform-origin:left center;transition:transform 90ms linear,background-color .22s ease}.scroll-top{position:fixed;right:22px;bottom:22px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:999px;background:var(--nav-scrolled-bg);color:var(--text);box-shadow:var(--card-glow);opacity:0;pointer-events:none;transform:translateY(10px);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);transition:opacity .18s ease,transform .18s ease,border-color .18s ease,background-color .22s ease}.scroll-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top:hover{border-color:var(--accent-border)}.section{padding:24px;scroll-margin-top:112px}.eyebrow{margin:0 0 14px;color:var(--accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:normal;text-wrap:balance;word-break:normal}h1{max-width:920px;margin-bottom:10px;font-size:clamp(2.9rem,13vw,6.75rem);line-height:.95;letter-spacing:0}h2{margin-bottom:18px;color:var(--text);font-size:clamp(2rem,7vw,4.2rem);line-height:1;letter-spacing:0}h3{margin-bottom:10px;color:var(--text);font-size:1.05rem;line-height:1.25;letter-spacing:0}p,li{color:var(--muted);font-size:1rem;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid transparent;border-radius:6px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button:disabled{cursor:not-allowed;opacity:.62;transform:none}.button-primary{background:var(--accent);color:var(--button-primary-text)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border-color:var(--border-strong);background:var(--button-secondary-bg);color:var(--text)}.button-secondary:hover,.button-ghost:hover{border-color:var(--accent-border)}.button-ghost{border-color:transparent;color:var(--accent-strong)}.section{position:relative;display:block;padding-top:68px;padding-bottom:68px}.section:before{position:absolute;top:0;right:24px;left:24px;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);content:"";opacity:.54;z-index:2}.section-grid{display:grid;gap:28px}.section-grid>*,.project-grid>*,.hero-grid>*{min-width:0}.check-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.check-list li{position:relative;padding-left:24px}.check-list li:before{position:absolute;top:.75em;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);content:""}@media(min-width:720px){.section{padding-inline:42px}.section:before{right:42px;left:42px}}@media(min-width:1040px){.section{padding-inline:72px}.section:before{right:72px;left:72px}.section{padding-top:104px;padding-bottom:104px}.section-grid{grid-template-columns:.7fr 1.3fr;gap:76px}}
