.cookie-banner{z-index:90;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(14px);background:#0d0a16f0;border-radius:18px;width:min(1100px,100vw - 32px);animation:.4s both cookie-in;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 30px 90px -40px #7c20ffe6}@keyframes cookie-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.cookie-banner-inner{flex-wrap:wrap;align-items:center;gap:28px;padding:20px 24px;display:flex}.cookie-banner p{color:var(--muted);flex:340px;margin:0;font-size:14px;line-height:1.65}.cookie-banner p a{color:var(--lavender);text-underline-offset:3px;text-decoration:underline}.cookie-banner-actions{flex-wrap:wrap;gap:12px;display:flex}.cookie-banner-actions .button{cursor:pointer;width:auto;min-height:46px;color:var(--paper);justify-content:center;gap:0;padding:0 22px;font-size:14px}@media (width<=720px){.cookie-banner-inner{gap:16px}.cookie-banner-actions .button{flex:140px}}.cookie-options{gap:12px;margin-top:16px;display:grid}.cookie-option{border:1px solid var(--line);cursor:pointer;color:var(--muted);border-radius:12px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px;font-size:13px;line-height:1.55;display:grid}.cookie-option.is-locked{cursor:default;opacity:.75}.cookie-option input{accent-color:var(--magenta);width:16px;height:16px;margin-top:2px}.cookie-option strong{color:var(--paper);margin-bottom:2px;font-size:13px;display:block}.cookie-banner{border-radius:20px;width:min(980px,100vw - 32px)}.cookie-banner-inner{flex-wrap:nowrap;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:32px;padding:26px 28px;display:grid}.cookie-banner-text{flex:initial}.cookie-banner p{flex:initial;font-size:14px}.cookie-banner-actions{flex-wrap:nowrap;align-content:start;gap:10px;display:grid}.cookie-banner-actions .button{justify-content:center;gap:0;width:100%;min-height:44px;padding:0 18px}.cookie-toggle{font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:6px 0;font-size:13px;text-decoration:underline;transition:color .18s}.cookie-toggle:hover{color:var(--paper)}@media (width<=720px){.cookie-banner-inner{grid-template-columns:1fr;gap:18px;padding:20px}}.cookie-collapse{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .35s cubic-bezier(.16,1,.3,1),opacity .25s,margin-top .35s;display:grid}.cookie-collapse>.cookie-options{min-height:0;margin-top:0;overflow:hidden}.cookie-collapse[data-open=true]{opacity:1;grid-template-rows:1fr;margin-top:16px}@media (prefers-reduced-motion:reduce){.cookie-collapse{transition:none}}.cookie-banner-text p .cookie-toggle{color:var(--lavender);font-size:inherit;padding:0;display:inline}.cookie-banner[data-closing=true]{pointer-events:none;animation:.32s cubic-bezier(.4,0,1,1) both cookie-out}@keyframes cookie-out{0%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,20px)scale(.97)}}@media (prefers-reduced-motion:reduce){.cookie-banner,.cookie-banner[data-closing=true]{animation:none}}.case-page{background:var(--ink);color:var(--paper)}.case-header{z-index:5;justify-content:space-between;align-items:center;gap:24px;padding:28px 0 0;display:flex;position:relative}.case-header .brand img,.case-header .brand svg{width:148px;height:auto;display:block}.case-back{font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:11px;text-decoration:none;transition:color .2s,border-color .2s}.case-back:hover{color:var(--paper);border-color:var(--line-strong)}.case-hero{border-bottom:1px solid var(--line);background:radial-gradient(760px 760px at 88% 52%,#7c20ff4d,#0000 58%),radial-gradient(1100px 620px at 78% -10%,#7c20ff47,#0000 62%),radial-gradient(760px 480px at 8% 12%,#d91dc829,#0000 65%);padding:0 0 96px;position:relative;overflow:hidden}.case-hero-content{max-width:880px;padding-top:88px}.case-hero h1{letter-spacing:-.03em;margin:18px 0 24px;font-size:clamp(38px,5.4vw,68px);font-weight:600;line-height:1.04}.case-hero h1 span{background:linear-gradient(96deg, var(--lavender), var(--magenta));color:#0000;-webkit-background-clip:text;background-clip:text}.case-lead{color:var(--muted);max-width:760px;font-size:clamp(16px,1.5vw,19px);line-height:1.65}.case-lead+.case-lead{margin-top:16px}.case-hero-actions{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.case-shot{border:1px solid var(--line-strong);background:var(--surface);border-radius:18px;margin-top:64px;overflow:hidden;box-shadow:0 40px 120px -50px #7c20ffa6}.case-shot img{width:100%;height:auto;display:block}.case-shot figcaption{font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-dark);border-top:1px solid var(--line);padding:14px 18px;font-size:11px}.case-section{border-bottom:1px solid var(--line);padding:96px 0}.case-section h2.section-code{letter-spacing:.17em;text-transform:uppercase;color:var(--magenta);font-size:10px;font-weight:400;line-height:1.4;font-family:var(--font-geist-mono), monospace;max-width:none;margin:0 0 24px}.case-section h2{letter-spacing:-.02em;max-width:900px;margin:14px 0 20px;font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.15}.case-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;display:grid}.case-feature{border-top:1px solid var(--line);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:48px;padding:64px 0;display:grid}.case-feature:first-of-type{border-top:0}.case-feature.is-reverse .case-feature-copy{order:2}.case-feature h3{letter-spacing:-.02em;margin:12px 0 16px;font-size:clamp(22px,2.3vw,30px);font-weight:600;line-height:1.2}.case-feature p{color:var(--muted);line-height:1.7}.case-feature p+p{margin-top:14px}.case-support{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}.case-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;display:grid}.case-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:26px}.case-card h3{letter-spacing:-.01em;margin:12px 0 10px;font-size:18px;font-weight:600}.case-card p{color:var(--muted);font-size:14px;line-height:1.65}.case-credits{border:1px solid var(--line);border-radius:16px;margin-top:32px;overflow:hidden}.case-credits div{border-top:1px solid var(--line);grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:24px;padding:20px 24px;display:grid}.case-credits div:first-child{border-top:0}.case-credits dt{font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--lavender);font-size:11px}.case-credits dd{color:var(--muted);margin:0;line-height:1.6}.case-quote{letter-spacing:-.02em;max-width:900px;font-size:clamp(24px,3vw,38px);font-weight:600;line-height:1.2}@media (width<=1080px){.case-split,.case-feature{grid-template-columns:1fr;gap:32px}.case-feature.is-reverse .case-feature-copy{order:0}.case-cards{grid-template-columns:1fr}}@media (width<=560px){.case-section{padding:64px 0}.case-support{grid-template-columns:1fr}.case-credits div{grid-template-columns:1fr;gap:8px}}.project-case-link{margin-top:28px}.case-hero h1{line-height:calc(1em + 10px)}.hero-grid{pointer-events:none;-webkit-user-select:none;user-select:none}.case-hero-content,.case-shot{z-index:2;position:relative}.case-hero-orbit{z-index:0;opacity:1;pointer-events:none;right:-170px}.case-inline-shot{margin-top:28px}.shot-zoom{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.shot-zoom img{transition:transform .4s,opacity .3s}.shot-zoom:hover img{opacity:.92;transform:scale(1.015)}.shot-lightbox{z-index:120;-webkit-backdrop-filter:blur(8px);cursor:zoom-out;background:#040308eb;justify-content:center;align-items:center;padding:40px;animation:.24s both shot-fade;display:flex;position:fixed;inset:0}@keyframes shot-fade{0%{opacity:0}to{opacity:1}}.shot-lightbox img{border:1px solid var(--line-strong);cursor:default;border-radius:14px;width:auto;max-width:min(1500px,96vw);height:auto;max-height:90vh;box-shadow:0 50px 140px -60px #7c20ffe6}.shot-lightbox-close{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--paper);cursor:pointer;background:#0d0a16e6;border-radius:50%;font-size:16px;transition:border-color .2s,background .2s;position:absolute;top:22px;right:26px}.shot-lightbox-close:hover{border-color:var(--magenta);background:#d91dc824}.case-card-icon{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--lavender);background:linear-gradient(140deg,#7c20ff38,#d91dc81f);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;display:inline-flex}.case-closing .case-quote{margin:14px 0 22px}.case-closing .case-credits{margin-top:20px}@media (width<=900px){.case-hero-orbit{display:none}}.case-feature h2{letter-spacing:-.02em;max-width:none;margin:12px 0 16px;font-size:clamp(24px,2.6vw,34px);font-weight:600;line-height:1.18}.case-feature .section-code{margin-bottom:0}.case-cards{align-items:stretch}.case-card{flex-direction:column;display:flex}.case-card h3{margin-top:0}.case-continue{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;margin-top:24px;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.case-continue:hover{color:var(--paper);border-color:var(--line-strong);transform:translateY(3px)}.case-feature-cta{justify-content:center;gap:12px;width:auto;min-height:52px;margin-top:26px}.case-cards-cta{justify-content:flex-start;margin-top:32px;display:flex}.case-hero-grid{z-index:3;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;display:grid;position:relative}.case-hero-grid .case-hero-content{max-width:none;padding-top:64px}@media (width<=1080px){.case-hero-grid{grid-template-columns:1fr;gap:32px}.case-hero-grid .case-shot{margin-top:8px}}.case-feature{align-items:center}.case-feature>.case-shot,.case-feature>.case-feature-copy{align-self:center;margin-top:0}.case-feature-media>.case-shot{margin-top:0}.shot-zoom{cursor:pointer}.case-hero-top{z-index:3;max-width:1000px;padding-top:64px;position:relative}.case-hero-grid .case-hero-content{padding-top:0}.case-hero-grid .case-shot{margin-top:0}.case-hero-grid{align-items:start;margin-top:28px}.case-feature-media{flex-direction:column;align-items:flex-start;gap:0;display:flex}.case-feature-media .case-feature-cta{margin-top:22px}.case-cards-cta{flex-wrap:wrap;align-items:center;gap:14px}.case-hero-top{max-width:none}.case-cards-cta{align-items:stretch}.case-cards-cta .case-feature-cta,.case-cards-cta .button{min-height:56px;margin-top:0}.case-page .contact-content .case-lead{max-width:950px;margin-top:26px}.case-hero-top h1{max-width:none}.case-hero-note{color:#8b8395;margin-top:20px;font-size:12px;font-style:italic;line-height:1.6}.case-cta-stacked{display:none}@media (width<=1080px){.case-continue,.case-cta-desktop{display:none!important}.case-cta-stacked{margin-top:28px;display:inline-flex}.case-section{padding:80px 0}.case-hero{padding:0 0 80px}.case-hero .case-hero-top{padding-top:80px}.case-feature{padding:80px 0}.case-section .case-feature:first-of-type{padding-top:0}.case-section .case-feature:last-of-type{padding-bottom:0}.case-feature-media{gap:0}.case-feature-media>.case-shot,.case-feature>.case-shot{margin-top:0}.case-feature-copy>:last-child{margin-bottom:0}.case-page .contact-section,.case-page .contact-content{min-height:0}.case-page .contact-section{padding:80px 0}.case-page .contact-content>:last-child{margin-bottom:0}}@media (width>=1081px){.case-section{padding:100px 0}.case-hero{padding:0 0 100px}.case-hero .case-hero-top,.case-hero-grid .case-hero-content{padding-top:100px}.case-hero-grid .case-hero-content{padding-top:0}.case-feature{padding:100px 0}.case-section .case-feature:first-of-type{padding-top:0}.case-section .case-feature:last-of-type{padding-bottom:0}.case-feature-copy>:last-child,.case-page .contact-content>:last-child{margin-bottom:0}.case-page .contact-section,.case-page .contact-content{min-height:0}.case-page .contact-section{padding:100px 0}}.case-page .contact-content h2 span{display:inline}
