:root{--color-bg:#fafafa;--color-surface:#fff;--color-surface-raised:hsla(0,0%,100%,.72);--color-surface-glass:hsla(0,0%,100%,.55);--color-text:#111;--color-text-secondary:#555;--color-text-muted:#999;--color-border:rgba(0,0,0,.06);--color-border-strong:rgba(0,0,0,.12);--color-accent:#111;--color-accent-soft:hsla(0,0%,7%,.06);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--glass-blur:blur(20px);--glass-blur-sm:blur(12px);--glass-bg:hsla(0,0%,100%,.55);--glass-bg-strong:hsla(0,0%,100%,.72);--glass-border:1px solid hsla(0,0%,100%,.35);--glass-shadow:0 8px 32px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.02);--glass-shadow-hover:0 12px 40px rgba(0,0,0,.07),0 4px 12px rgba(0,0,0,.03);--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 2px 8px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(0,0,0,.06);--shadow-lg:0 8px 32px rgba(0,0,0,.08);--shadow-xl:0 16px 48px rgba(0,0,0,.1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--duration-fast:150ms;--duration-normal:300ms;--duration-slow:500ms}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.15);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.25)}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent;overflow-x:hidden}body{line-height:1.6;font-weight:var(--weight-normal);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:1.2;margin:0;letter-spacing:-.02em}.serif-heading{font-family:var(--font-serif);font-weight:var(--weight-normal);font-style:italic;letter-spacing:-.01em}p{margin:0;color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-text);text-decoration:none;-webkit-transition:color var(--duration-fast) var(--ease-out);transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-text-secondary)}.btn-primary{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;background:var(--color-text);color:#fff;border:1px solid var(--color-text);border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:.8125rem;letter-spacing:.01em;cursor:pointer;-webkit-transition:all var(--duration-normal) var(--ease-out);transition:all var(--duration-normal) var(--ease-out);text-decoration:none}.btn-primary:hover{background:transparent;color:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm)}.btn-primary:active{-webkit-transform:translateY(0);transform:translateY(0);-webkit-box-shadow:none;box-shadow:none}.btn-secondary{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;background:transparent;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:.8125rem;letter-spacing:.01em;cursor:pointer;-webkit-transition:all var(--duration-normal) var(--ease-out);transition:all var(--duration-normal) var(--ease-out);text-decoration:none}.btn-secondary:hover{border-color:var(--color-text);-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);color:var(--color-text)}.btn-secondary:active{-webkit-transform:translateY(0);transform:translateY(0);-webkit-box-shadow:none;box-shadow:none}.btn-ghost{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.375rem;padding:.5rem 0;background:transparent;color:var(--color-text-secondary);border:none;border-radius:0;font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:.8125rem;letter-spacing:.02em;cursor:pointer;-webkit-transition:all var(--duration-normal) var(--ease-out);transition:all var(--duration-normal) var(--ease-out);text-decoration:none;border-bottom:1px solid transparent}.btn-ghost:hover{color:var(--color-text);border-bottom-color:var(--color-text)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);-webkit-box-shadow:var(--glass-shadow);box-shadow:var(--glass-shadow);-webkit-transition:all var(--duration-normal) var(--ease-out);transition:all var(--duration-normal) var(--ease-out)}.glass-card:hover{-webkit-box-shadow:var(--glass-shadow-hover);box-shadow:var(--glass-shadow-hover);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.section-label{font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin:0 0 .5rem}.divider{border:none;height:1px;background:var(--color-border);margin:var(--space-12) 0}.tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;background:var(--color-accent-soft);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--weight-medium);letter-spacing:.02em;color:var(--color-text)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-8)}.text-center{text-align:center}@media (max-width:768px){.container{padding:0 var(--space-5)}.btn-primary,.btn-secondary{padding:.6rem 1.25rem;font-size:.8125rem}}@media (max-width:480px){.container{padding:0 var(--space-4)}.btn-primary,.btn-secondary{padding:.55rem 1.1rem;font-size:.75rem}}.case-study.case-study{max-width:none;width:100%;margin:0;padding-bottom:var(--space-16);background:-webkit-gradient(linear,left top,left bottom,from(#fbfbfa),color-stop(36%,#fff),to(#f8f8f6));background:linear-gradient(180deg,#fbfbfa,#fff 36%,#f8f8f6)}.case-study.case-study .case-header{max-width:76rem;margin:0 auto;padding:6rem var(--space-8) 0}.case-study.case-study .case-title{max-width:15ch;margin:0 auto -.08em;font-size:clamp(4rem,8vw,6.5rem);line-height:.96;letter-spacing:0;white-space:normal;text-wrap:balance}.case-study.case-study .case-hero{max-width:70rem;margin:0 auto var(--space-12)}.case-study.case-study .carousel-wrapper,.case-study.case-study .content-image,.case-study.case-study .content-video,.case-study.case-study .hero-image,.case-study.case-study .split-image,.case-study.case-study .split-video{border-radius:var(--radius-sm);-webkit-box-shadow:0 1.25rem 3.5rem hsla(0,0%,7%,.1);box-shadow:0 1.25rem 3.5rem hsla(0,0%,7%,.1)}.case-study.case-study .case-info{max-width:72rem;margin:0 auto var(--space-20);padding:0 var(--space-8);grid-template-columns:1fr;gap:var(--space-8)}.case-study.case-study .info-description{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;max-width:58rem;margin:0 auto;padding-top:0;text-align:center}.case-study.case-study .info-text{max-width:none;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.28;letter-spacing:0}.case-study.case-study .info-meta{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);max-width:58rem;width:100%;margin:0 auto}.case-study.case-study .meta-block{padding:var(--space-4) 0 0;text-align:center;border-bottom:1px solid var(--color-border)}.case-study.case-study .meta-label,.case-study.case-study .section-label{letter-spacing:.12em}.case-study.case-study .editorial-reveal{opacity:0;-webkit-transform:translateY(1rem);transform:translateY(1rem);-webkit-transition:opacity .62s var(--ease-out),-webkit-transform .62s var(--ease-out);transition:opacity .62s var(--ease-out),-webkit-transform .62s var(--ease-out);transition:opacity .62s var(--ease-out),transform .62s var(--ease-out);transition:opacity .62s var(--ease-out),transform .62s var(--ease-out),-webkit-transform .62s var(--ease-out);will-change:opacity,transform}.case-study.case-study .editorial-reveal.is-visible{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.case-study.case-study .editorial-reveal.reveal-from-left{-webkit-transform:translateX(-2.25rem);transform:translateX(-2.25rem);-webkit-transition-duration:1.1s;transition-duration:1.1s}.case-study.case-study .editorial-reveal.reveal-from-left.is-visible{-webkit-transform:translateX(0);transform:translateX(0)}.case-study.case-study .content-section,.case-study.case-study .content-section-wide,.case-study.case-study .split-section{position:relative;margin-top:0;margin-bottom:var(--space-20);padding-left:var(--space-8);padding-right:var(--space-8)}.case-study.case-study .content-section-wide:before,.case-study.case-study .content-section:before,.case-study.case-study .split-section:before{content:none}.case-study.case-study .layout-text-only{display:grid;place-items:center;max-width:52rem;min-height:0;text-align:center}.case-study.case-study .layout-text-only .body-text,.case-study.case-study .layout-text-only .simple-list{max-width:42rem;margin-left:auto;margin-right:auto}.case-study.case-study .layout-text-only .simple-list{text-align:left}.case-study.case-study .layout-media-only{max-width:72rem;display:grid;place-items:center}.case-study.case-study .layout-media-only .image-figure,.case-study.case-study .layout-media-only .video-figure,.case-study.case-study .layout-media-only .video-grid{width:min(100%,72rem);margin-left:auto;margin-right:auto}.case-study.case-study .content-section.layout-media-text,.case-study.case-study .content-section.layout-text-media,.case-study.case-study .split-section{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--space-10);max-width:74rem}.case-study.case-study .layout-media-text{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.case-study.case-study .content-section.layout-media-text>.image-figure,.case-study.case-study .content-section.layout-text-media>:not(.image-figure){grid-column:1}.case-study.case-study .content-section.layout-media-text>:not(.image-figure),.case-study.case-study .content-section.layout-text-media>.image-figure{grid-column:2}.case-study.case-study .content-section.layout-media-text>.image-figure,.case-study.case-study .content-section.layout-text-media>.image-figure{grid-row:1/span 10;width:100%;margin:0}.case-study.case-study .split-content,.case-study.case-study .split-media{max-width:none}.case-study.case-study .split-content{-ms-flex-item-align:center;align-self:center}.case-study.case-study .split-media{background:hsla(0,0%,100%,.58);border:1px solid hsla(0,0%,7%,.06);padding:var(--space-4)}.case-study.case-study .media-container-blue{background:rgba(232,240,255,.72)}.case-study.case-study .media-container-green{background:rgba(223,245,212,.68)}.case-study.case-study .media-container-purple{background:rgba(240,232,255,.68)}.case-study.case-study .media-container-yellow{background:rgba(255,249,224,.76)}.case-study.case-study .section-heading{font-size:clamp(1.75rem,2.6vw,2.2rem);line-height:1.2;letter-spacing:0;text-wrap:balance}.case-study.case-study .subsection-heading{font-size:1.35rem;letter-spacing:0}.case-study.case-study .body-text,.case-study.case-study .simple-list li{font-size:1rem;line-height:1.86}.case-study.case-study .simple-list li{padding:var(--space-3) 0;margin:0}@media (max-width:1024px){.case-study.case-study .case-title{font-size:4.75rem}.case-study.case-study .case-info,.case-study.case-study .split-section{gap:var(--space-8)}.case-study.case-study .content-section.layout-media-text,.case-study.case-study .content-section.layout-text-media,.case-study.case-study .layout-media-text,.case-study.case-study .split-section{grid-template-columns:1fr}.case-study.case-study .split-section-left .split-content,.case-study.case-study .split-section-right .split-content{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.case-study.case-study .split-section-left .split-media,.case-study.case-study .split-section-right .split-media{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.case-study.case-study .content-section.layout-media-text>*,.case-study.case-study .content-section.layout-text-media>*{grid-column:1}.case-study.case-study .content-section.layout-media-text>.image-figure,.case-study.case-study .content-section.layout-text-media>.image-figure{grid-row:auto;margin-top:var(--space-4)}}@media (max-width:768px){.case-study.case-study{background:#fbfbfa}.case-study.case-study .case-header{padding:var(--space-10) var(--space-5) 0}.case-study.case-study .case-title{max-width:100%;font-size:clamp(2.4rem,13vw,3.4rem);line-height:1;overflow-wrap:anywhere}.case-study.case-study .case-hero{margin-bottom:var(--space-8)}.case-study.case-study .case-hero,.case-study.case-study .case-info,.case-study.case-study .content-section,.case-study.case-study .content-section-wide,.case-study.case-study .split-section{padding-left:var(--space-5);padding-right:var(--space-5)}.case-study.case-study .case-info{grid-template-columns:1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.case-study.case-study .info-meta{grid-template-columns:1fr;gap:var(--space-4)}.case-study.case-study .meta-block{min-width:min(100%,9rem);text-align:left}.case-study.case-study .info-text,.case-study.case-study .section-heading{max-width:none;font-size:1.75rem}.case-study.case-study .content-section,.case-study.case-study .content-section-wide,.case-study.case-study .split-section{gap:var(--space-6);margin-bottom:var(--space-12);max-width:100%}.case-study.case-study .content-section-wide:before,.case-study.case-study .content-section:before,.case-study.case-study .split-section:before{position:static;display:block;margin-bottom:0}.case-study.case-study .layout-text-only{min-height:0;text-align:left}.case-study.case-study .layout-text-only .body-text,.case-study.case-study .layout-text-only .simple-list{max-width:none}.case-study.case-study .body-text,.case-study.case-study .simple-list li{font-size:.975rem;line-height:1.72;overflow-wrap:break-word}.case-study.case-study .image-figure{margin:var(--space-5) 0 0}.case-study.case-study .content-image,.case-study.case-study .content-video,.case-study.case-study .hero-image,.case-study.case-study .split-image,.case-study.case-study .split-video{max-width:100%;height:auto;-o-object-fit:contain;object-fit:contain}.case-study.case-study .split-media{width:100%;padding:var(--space-3);overflow:hidden}.case-study.case-study .carousel-wrapper,.case-study.case-study .v-carousel,.case-study.case-study .v-carousel__item,.case-study.case-study .v-window,.case-study.case-study .v-window__container{max-width:100%;height:auto!important;min-height:0!important;aspect-ratio:4/3}.case-study.case-study .carousel-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}}@media (max-width:480px){.case-study.case-study .case-hero,.case-study.case-study .case-info,.case-study.case-study .content-section,.case-study.case-study .content-section-wide,.case-study.case-study .split-section{padding-left:var(--space-4);padding-right:var(--space-4)}.case-study.case-study .case-title{font-size:clamp(2.15rem,12vw,3rem)}.case-study.case-study .info-text,.case-study.case-study .section-heading{font-size:1.55rem;line-height:1.2}.case-study.case-study .split-media{padding:var(--space-2)}}@media (prefers-reduced-motion:reduce){.case-study.case-study .editorial-reveal{opacity:1;-webkit-transform:none;transform:none;-webkit-transition:none;transition:none}}.case-study.case-study .workshop-video-full{width:100%;max-width:none;height:auto;display:block}.case-study.case-study .workshop-video-full::-webkit-media-controls{display:none!important;opacity:0}