html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:#fff;color:#222;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.site-header{position:absolute;top:0;left:0;width:100%;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:30px 6vw}.logo{display:flex;align-items:center;gap:14px;color:#222;text-decoration:none}.logo img{height:48px;display:block}.logo-text{font-size:1.5rem;font-weight:900;line-height:1}.logo-text .light{font-weight:200;color:#222}.nav{display:flex;gap:32px}.work-link,.nav a,.footer a{position:relative;color:#222;text-decoration:none}.nav a{font-weight:300}.nav a::after,.work-link::after,.footer a::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav a:hover::after,.work-link:hover::after,.footer a:hover::after{transform:scaleX(1)}.menu-toggle{display:none;width:32px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;z-index:30}.menu-toggle span{display:block;width:100%;height:2px;margin-bottom:7px;background:#222;transition:transform .3s ease , opacity .3s ease}.menu-toggle span:last-child{margin-bottom:0}@media (max-width:800px){.menu-toggle{display:block}.nav{position:fixed;inset:0;z-index:20;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:28px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .35s cubic-bezier(.22,1,.36,1) , transform .35s cubic-bezier(.22,1,.36,1)}.nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav a{font-size:2rem;font-weight:900;letter-spacing:-.03em}.menu-toggle.open span:nth-child(1) {transform:translateY(9px) rotate(45deg)}.menu-toggle.open span:nth-child(2) {opacity:0}.menu-toggle.open span:nth-child(3) {transform:translateY(-9px) rotate(-45deg)}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 6vw 80px}.headline{max-width:1100px;margin:0 auto;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.1;color:#222}.headline span{display:inline-block;opacity:0;transform:translateY(28px)}.subhead{max-width:1000px;margin:28px auto 0;font-size:clamp(1.4rem,1.8vw,1.8rem);font-weight:200;line-height:1.5;color:#222;opacity:0;transform:translateY(24px)}.case-intro .subhead{max-width:1200px;margin:28px auto 0;font-size:clamp(1.4rem,1.8vw,1.8rem);font-weight:200;line-height:1.5;color:#222;opacity:0;transform:translateY(24px)}.work-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:28px auto 0;font-size:clamp(1.4rem,1.8vw,1.8rem);font-weight:700;letter-spacing:-.01em;opacity:0;transform:translateY(24px)}.case-studies{padding:110px 6vw 130px}.case-stack{display:grid;grid-template-columns:1fr;gap:40px;max-width:1200px;width:100%;margin:0 auto}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:72px 48px}.case-card{color:#222;text-decoration:none;opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1) , transform .8s cubic-bezier(.22,1,.36,1)}.case-study-stack img{width:100%;display:block}.case-card.visible{opacity:1;transform:translateY(0)}.case-image-wrap{position:relative;width:100%;aspect-ratio: 16 / 10;overflow:hidden}.case-image-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}.case-image-wrap::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.06);opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1);pointer-events:none}.case-stack .case-card img{transform:none}.case-grid .case-card:hover img{transform:scale(1.02)}.case-card h3{margin:18px 0 6px;font-size:clamp(1.1rem,1.4vw,1.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.25}.case-card p{margin:0;max-width:640px;font-size:1rem;font-weight:300;color:#555;line-height:1.5}.case-hero{min-height:auto;text-align:center;padding:180px 6vw 75px}.case-hero .headline{max-width:900px;margin:0 auto;font-size:clamp(2.2rem,4vw,3.4rem)}.case-hero .subhead{max-width:1000px;margin:24px auto 0;font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1.55;opacity:1;transform:none}.case-study-images{padding:0 6vw 130px}.case-stack .case-card:first-child{opacity:1;transform:none}.case-stack .case-card img{width:100%;display:block}.about-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 6vw 80px}.about-label{margin-bottom:28px;font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:700;color:#0169b2}.about-hero h1{max-width:1130px;margin:0;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.1}.about-content{max-width:1400px;margin:0 auto;padding:0 6vw 110px;text-align:left;scroll-margin-top:120px}.about-content p{margin:0 0 34px;font-size:clamp(1.3rem,1.8vw,1.8rem);font-weight:200;line-height:1.45;color:#222}.about-image{padding:0 6vw 110px;display:flex;justify-content:center}.about-image img{width:100%;max-width:800px;height:auto;display:block}.about-approach{padding:60px 6vw 80px;text-align:center}.about-approach h2{margin-bottom:28px;font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:700;color:#0169b2}.about-approach p{max-width:1100px;margin:0 auto;font-size:clamp(1.8rem,3vw,3rem);font-weight:200;letter-spacing:-.035em;color:#222;line-height:1.2}.arrow{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;width:30px;height:30px;transition:transform .3s cubic-bezier(.22,1,.36,1)}.arrow svg{width:100%;height:100%;stroke:#0169b2;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.scroll-cue{display:inline-flex;justify-content:center;align-items:center;margin-top:38px;font-size:clamp(2rem,3vw,3rem);font-weight:200;color:#0169b2;text-decoration:none;opacity:.9;animation:scrollCue 1.8s ease-in-out infinite}@keyframes scrollBounce {
  0%, 100% { transform: rotate(90deg) translateX(0); }
  50% { transform: rotate(90deg) translateX(6px); }
}.arrow-down{animation:scrollBounce 1.8s ease-in-out infinite}.scroll-cue:hover .arrow-down{transform:rotate(90deg) translateX(5px)}.scroll-cue .arrow{font-size:.85em;transform:translateY(0);font-weight:700}.work-link .arrow{margin-left:4px}.work-link:hover .arrow{transform:translateX(5px)}.scroll-cue:hover .arrow{transform:translateY(5px)}.scroll-cue:hover{opacity:1}@keyframes scrollCue {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}.footer{padding:110px 6vw 60px;text-align:center}.footer-statement{max-width:720px;margin:0 auto 80px;font-size:clamp(1.5rem,3vw,3rem);font-weight:900;letter-spacing:-.01em;line-height:1.15}.copyright{margin:0;font-size:.85rem;font-weight:500;color:#222}.footer-links{display:flex;justify-content:center;align-items:center;gap:28px;margin-bottom:40px}.linkedin img{width:20px;height:20px;object-fit:contain;opacity:.85;transition:opacity .3s ease , transform .3s ease}.linkedin:hover img{opacity:.6;transform:translateY(-1px)}.back-to-top{font-size:.95rem;text-decoration:none;color:#222;position:relative}.back-to-top::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.back-to-top:hover::after{transform:scaleX(1)}@media (max-width:800px){.site-header{padding:24px}.logo img{height:36px}.logo-text{font-size:1.2rem}.nav{gap:20px}.subhead,.logo-text .light,.case-intro .subhead,.about-content p,.about-approach p,.scroll-cue{font-weight:300}.hero,.about-hero{padding:70px 24px 70px}.headline,.about-hero h1{font-size:clamp(2.1rem,7vw,3rem)}.about-content p{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.4}.case-studies{padding:80px 24px 80px}.case-grid{grid-template-columns:1fr;gap:30px}.about-content{padding:0 24px 80px}.about-image{padding:0 24px 80px}.about-image-grid{grid-template-columns:1fr;gap:24px}.about-approach{padding:80px 24px 90px}.footer{padding:90px 24px 50px}.case-intro{min-height:auto;padding:130px 24px 70px}.case-stack{gap:12px}.case-hero{padding:120px 6vw 75px}.case-study-images{padding:0 6vw 20px}}