:root{--cream:#fbf5ec;--paper:#fffcf7;--beige:#efe3d2;--sand:#d9c2a3;--burgundy:#7a1f3d;--burgundy-deep:#4f1027;--ink:#1e1014;--ink-surface:#1e1014;--ink-raised:#2a171d;--saffron:#f2a93b;--blush:#f4b9c3;--muted:#6e5c56;--on-dark:#fbf5ec;--on-dark-muted:#fbf5ecb8;--on-dark-soft:#fbf5ec8c;--line:#1e10141f;--line-dark:#fbf5ec24;--line-dark-strong:#fbf5ec2e;--font-display:"Manrope", system-ui, sans-serif;--font-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--tracking-label:.13em;--radius-sm:12px;--radius-md:16px;--radius-lg:28px;--radius-pill:100px;--radius-arch:280px 280px 22px 22px;--shadow-card:0 25px 65px #1e10141f;--shadow-deep:0 30px 80px #0000004d;--max:1200px;--gutter:24px;--space-section:130px;--nav-h:81px;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.6s;--dur-slow:.7s}@media (width<=640px){:root{--gutter:16px;--space-section:56px;--nav-h:73px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font:400 16px/26px var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}h1,h2,h3,p{margin:0}img{-webkit-user-drag:none;-webkit-touch-callout:none;max-width:100%;display:block}a{color:var(--burgundy);transition:color var(--dur) var(--ease);text-decoration:none}a:hover{color:var(--burgundy-deep)}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px;border-radius:4px}.on-dark :focus-visible{outline-color:var(--saffron)}::selection{background:var(--blush);color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{max-width:var(--max);margin:0 auto}.section{padding:var(--space-section) var(--gutter)}.stack{flex-direction:column;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.section-head__title{flex-direction:column;gap:16px;display:flex}.section-head__aside{max-width:380px;color:var(--muted)}.bg-cream{background:var(--cream)}.bg-paper{background:var(--paper)}.bg-beige{background:var(--beige)}.bg-ink{background:var(--ink-surface);color:var(--on-dark)}.bg-burgundy{background:var(--burgundy);color:var(--on-dark)}.bg-deep{background:var(--burgundy-deep);color:var(--on-dark)}.bg-ink .section-head__aside,.bg-ink .muted{color:var(--on-dark-muted)}.border-top{border-top:1px solid var(--line)}.label{font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:12px;line-height:18px}.label--xs{font-size:11px}.display-xl{font-family:var(--font-display);letter-spacing:-.075em;font-size:clamp(56px,8vw,112px);font-weight:800;line-height:.9}.display-l{font-family:var(--font-display);letter-spacing:-.07em;font-size:80px;font-weight:800;line-height:.9}.h2{font-family:var(--font-display);letter-spacing:-.07em;font-size:clamp(38px,4.4vw,56px);font-weight:800;line-height:.95}.h3{font-family:var(--font-display);letter-spacing:-.055em;font-size:28px;font-weight:800;line-height:1.05}.lead{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.15}.body-l{font-size:18px;line-height:28px}.small{font-size:13px;font-weight:500;line-height:20px}.muted{color:var(--muted)}.c-burgundy{color:var(--burgundy)}.c-saffron{color:var(--saffron)}.c-blush{color:var(--blush)}.wordmark{font-family:var(--font-display);letter-spacing:-.06em;color:var(--ink);font-size:26px;font-weight:800}.wordmark:hover{color:var(--ink)}.wordmark span{color:var(--burgundy)}.wordmark--dark,.wordmark--dark:hover{color:var(--on-dark);font-size:20px}.wordmark--dark span{color:var(--blush)}.hl{border-radius:var(--radius-sm);color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .3em}.hl--blush{background:var(--blush)}.hl--saffron{background:var(--saffron)}.hl--ink{background:var(--ink);color:var(--saffron)}.btn{border-radius:var(--radius-pill);min-height:48px;font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:15px 24px;font-size:12px;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--sm{min-height:44px;padding:13px 22px;font-size:12px}.btn--primary,.btn--primary:hover{color:var(--on-dark)}.btn--primary{background:var(--burgundy)}.btn--primary:hover{background:var(--burgundy-deep)}.btn--outline{border:1.5px solid var(--burgundy);color:var(--burgundy);padding:14px 24px}.btn--outline:hover{background:var(--burgundy);color:var(--on-dark)}.btn--ghost{color:var(--on-dark);border:1px solid #fbf5ec59}.btn--ghost:hover{border-color:var(--on-dark);color:var(--on-dark)}.btn--tech,.btn--tech:hover{background:var(--saffron);color:var(--ink)}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag{border-radius:var(--radius-pill);align-items:center;padding:6px 12px;font-size:12px;font-weight:500;line-height:16px;display:inline-flex}.tag--biz{border:1px solid var(--burgundy);color:var(--burgundy)}.tag--tech{background:var(--saffron);color:var(--ink);font-weight:600}.tag--neutral{background:var(--sand);color:var(--ink)}.chip{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;align-items:center;padding:7px 14px;font-size:11px;line-height:1.4;display:inline-flex}.chip--biz{background:var(--burgundy);color:var(--on-dark)}.chip--tech{background:var(--saffron);color:var(--ink)}.chip--neutral{background:var(--sand);color:var(--ink)}.chip--blush{background:var(--blush);color:var(--ink)}.pill{border-radius:var(--radius-pill);padding:10px 18px;font-size:15px;font-weight:600;line-height:22px;display:inline-flex}.pill--biz{border:1.5px solid var(--burgundy);color:var(--burgundy)}.pill--tech{background:var(--ink);color:var(--saffron)}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;gap:18px;padding:32px;display:flex}.card--lift:hover{box-shadow:var(--shadow-card);transform:translateY(-6px)}.card--dark{background:var(--ink-raised);border-color:var(--line-dark);color:var(--on-dark);gap:16px}.card--dark p{color:var(--on-dark-muted)}.card p{font-size:15px;line-height:24px}.card__top{justify-content:space-between;align-items:center;display:flex}.card__arrow{background:var(--blush);width:40px;height:40px;color:var(--ink);transition:transform var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.card--lift:hover .card__arrow{transform:rotate(45deg)}.arch{border-radius:var(--radius-arch)}.placeholder{text-align:center;font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:center;align-items:center;font-size:11px;display:flex}.toggle{border-radius:var(--radius-pill);background:var(--beige);transition:background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);gap:4px;padding:6px;display:inline-flex;position:relative}.toggle__knob{border-radius:var(--radius-pill);background:var(--burgundy);transition:transform var(--dur) var(--ease), width var(--dur) var(--ease), background-color var(--dur) var(--ease);position:absolute;top:6px;bottom:6px;left:6px}.toggle__btn{z-index:1;cursor:pointer;border-radius:var(--radius-pill);min-height:44px;font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;color:var(--ink);transition:color var(--dur) var(--ease);background:0 0;border:0;padding:12px 22px;font-size:12px;position:relative}.toggle__btn[aria-pressed=true]{color:var(--on-dark)}.toggle--tech{background:var(--ink-raised)}.toggle--tech .toggle__knob{background:var(--saffron)}.toggle--tech .toggle__btn{color:var(--on-dark)}.toggle--tech .toggle__btn[aria-pressed=true]{color:var(--ink)}.nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fbf5ece0;position:sticky;top:0}.nav__inner{max-width:var(--max);padding:18px var(--gutter);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.nav__links{flex-wrap:wrap;gap:24px;display:flex}.nav__links a{color:var(--muted)}.nav__links a:hover{color:var(--burgundy)}.nav__menu-btn{cursor:pointer;background:var(--burgundy);border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none}.nav__menu-btn span{background:var(--on-dark);width:16px;height:2px;transition:transform var(--dur) var(--ease);border-radius:2px}.nav__menu-btn[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.nav__menu-btn[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.menu{inset:var(--nav-h) 0 0;z-index:9;background:var(--ink);color:var(--on-dark);padding:32px var(--gutter);opacity:0;visibility:hidden;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur);flex-direction:column;gap:8px;display:flex;position:fixed;transform:translateY(-8px)}.menu.is-open{opacity:1;visibility:visible;transform:none}.menu a{color:var(--on-dark);font-family:var(--font-display);letter-spacing:-.06em;font-size:40px;font-weight:800;line-height:1.15}.menu a:hover{color:var(--blush)}.menu .btn{font-size:12px;font-family:var(--font-mono);letter-spacing:var(--tracking-label);align-self:flex-start;margin-top:24px;font-weight:400;line-height:1}@media (width<=900px){.nav__links,.nav__cta{display:none}.nav__menu-btn{display:flex}}.hero{padding:110px var(--gutter) 90px}.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:56px;display:grid}.hero__copy{flex-direction:column;gap:28px;display:flex}.hero__meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero__meta .label{color:#fbf5ecb3}.hero__intro{max-width:520px;color:var(--on-dark-muted)}.hero__ctas{flex-wrap:wrap;gap:12px;display:flex}.hero__visual{justify-content:center;display:flex;position:relative}.float{perspective:1400px;justify-self:center;width:100%;max-width:480px;animation:6s ease-in-out infinite bob}.float__card{--rx:4deg;--ry:-10deg;aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--ink-raised);transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .9s var(--ease);position:relative;overflow:hidden;box-shadow:0 0 0 1px #fbf5ec14,0 50px 100px -30px #000000d9,0 30px 60px -20px #0009,0 60px 140px -40px #f2a93b73}.float__card img{object-fit:cover;object-position:50% 45%;width:100%;height:100%}.float__card .placeholder{color:var(--on-dark-muted);position:absolute;inset:0}.float__card:after{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff24,#0000 40%);position:absolute;inset:0}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@media (width<=900px){.hero__grid{grid-template-columns:1fr}.float{max-width:480px;margin:0 auto}}.about__grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:64px;display:grid}.about__bio{max-width:600px;font-size:17px;line-height:27px}.about__edu{flex-direction:column;gap:2px;margin-top:8px;display:flex}.highlights{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px 32px;margin-top:96px;display:grid}.highlight{flex-direction:column;gap:12px;display:flex}.highlight .h3{font-size:24px}.highlight p{font-size:15px;line-height:24px}.highlight__photo{aspect-ratio:4/3;border-radius:var(--radius-md);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);margin-bottom:8px;display:block;overflow:hidden}.highlight__photo img{object-fit:cover;object-position:50% 35%;width:100%;height:100%}a.highlight__photo:hover{box-shadow:var(--shadow-card);transform:translateY(-6px)}.highlight__link{align-self:flex-start;align-items:center;min-height:44px;display:inline-flex}.perch{display:inline-block;position:relative}.perch__fly{pointer-events:none;width:.58em;height:.58em;position:absolute;top:-.42em;right:-.18em;overflow:visible;transform:rotate(14deg)}.perch__fly path{stroke:var(--burgundy);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.perch__wing path{fill:var(--blush)}.perch__body{fill:none}.perch__wing{transform-box:view-box;transform-origin:12px 12px;animation:2.4s ease-in-out infinite flutter}.h2:hover .perch__wing{animation:.4s ease-in-out infinite flap}@keyframes flutter{0%,30%,to{transform:scaleX(1)}7.5%,22.5%{transform:scaleX(.3)}15%{transform:scaleX(1)}}@keyframes flap{50%{transform:scaleX(.3)}}.perch-cam{display:inline-block;position:relative}.cam{pointer-events:none;width:.6em;height:.6em;position:absolute;top:-.5em;right:-.42em;overflow:visible;transform:rotate(12deg)}.cam__line,.cam__flash path,.cam__iris{fill:none;stroke:var(--burgundy);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cam__lens{fill:var(--blush);stroke:var(--burgundy);stroke-width:1.5px;vector-effect:non-scaling-stroke}.cam__rec{fill:var(--burgundy);animation:1.2s step-end infinite rec}.cam__iris{transform-box:fill-box;transform-origin:50%;animation:iris 3s var(--ease) infinite}.cam__flash{opacity:0;animation:3s linear infinite flash}.vlogs__title:hover .cam__iris,.vlogs__title:hover .cam__flash{animation-duration:.9s}@keyframes rec{50%{opacity:0}}@keyframes iris{0%,30%,to{transform:scale(1)}5%,20%{transform:scale(.25)}12%{transform:scale(1)}}@keyframes flash{0%,3%,9%,18%,24%,to{opacity:0}5%,20%{opacity:1}}.vlogs__title{max-width:1000px;font-size:clamp(52px,7.5vw,104px)}.vlog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:48px 24px;display:grid}.vlog{flex-direction:column;gap:10px;display:flex}.vlog__frame{aspect-ratio:9/16;border-radius:var(--radius-lg);background:var(--ink);box-shadow:var(--shadow-card);margin-bottom:6px;position:relative;overflow:hidden}.vlog__frame video,.vlog__play img{object-fit:cover;background:var(--ink);width:100%;height:100%;display:block}.vlog__frame video:fullscreen{object-fit:contain;background:var(--ink)}.vlog__frame video:fullscreen{object-fit:contain;background:var(--ink)}.vlog__play{background:var(--ink);cursor:pointer;border-radius:inherit;border:0;padding:0;position:absolute;inset:0}.vlog__play img{transition:transform var(--dur) var(--ease)}.vlog__play:hover img{transform:scale(1.04)}.vlog__time{border-radius:var(--radius-pill);color:var(--on-dark);background:#1e1014b8;padding:4px 10px;position:absolute;top:14px;right:14px}.vlog__cta{border-radius:var(--radius-pill);background:var(--blush);min-height:40px;color:var(--ink);transition:background-color var(--dur) var(--ease);align-items:center;padding:0 16px;display:inline-flex;position:absolute;bottom:14px;left:14px}.vlog__play:hover .vlog__cta{background:var(--saffron)}.vlog__title{font-family:var(--font-display);letter-spacing:-.05em;font-size:22px;font-weight:800;line-height:1.1}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;display:grid}.service{min-height:320px}.service p{flex-grow:1}.skill-card,.skill-card:hover{color:var(--s-text)}.skill-more{flex-direction:column;gap:16px;margin-top:32px;display:flex}.skill-more__link{min-height:44px;transition:transform var(--dur) var(--ease);align-items:center}.skill-more__link:hover{transform:translateY(-2px)}.sides{--s-bg:var(--cream);--s-text:var(--ink);--s-muted:var(--muted);--s-accent:var(--burgundy);--s-card:var(--paper);--s-line:var(--line);--s-arrow:var(--blush);background:var(--s-bg);color:var(--s-text);border-top:1px solid var(--line);transition:background-color var(--dur-slow) var(--ease), color var(--dur-slow) var(--ease);position:relative}.side--tech{--s-bg:var(--ink);--s-text:var(--on-dark);--s-muted:var(--on-dark-muted);--s-accent:var(--saffron);--s-card:var(--ink-raised);--s-line:var(--line-dark);--s-arrow:var(--saffron);border-top-color:#0000}.sides__bar{top:calc(var(--nav-h) + 12px);z-index:5;padding:40px var(--gutter) 0;pointer-events:none;justify-content:center;margin-bottom:-16px;display:flex;position:sticky}.sides__bar .toggle{pointer-events:auto;box-shadow:var(--shadow-card)}.sides__content{animation:fade var(--dur) var(--ease)}.sides__intro{padding-bottom:0}.sides__sub{padding-top:min(96px, var(--space-section));padding-bottom:0}.sides__content>:last-child{padding-bottom:var(--space-section)}.s-accent{color:var(--s-accent)}.s-muted,.sides .section-head__aside,.sides .muted{color:var(--s-muted)}.s-card{background:var(--s-card);border-color:var(--s-line);color:var(--s-text);transition:background-color var(--dur-slow) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.s-card .card__arrow{background:var(--s-arrow)}.s-tag{border:1px solid var(--burgundy);color:var(--burgundy)}.side--tech .s-tag{background:var(--saffron);color:var(--ink);border-color:#0000;font-weight:600}.s-pill{border:1.5px solid var(--burgundy);color:var(--burgundy)}.side--tech .s-pill{background:var(--saffron);color:var(--ink);border-color:#0000}.sides .jobs,.sides .job{border-color:var(--s-line)}.jobs{border-top:1px solid var(--line)}.job{border-bottom:1px solid var(--line);transition:padding var(--dur) var(--ease);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:center;gap:16px;padding:28px 0;display:grid}.job:hover{padding-left:12px}.job__company{font-family:var(--font-display);letter-spacing:-.06em;font-size:32px;font-weight:800;line-height:1.1}.job__role{flex-direction:column;gap:4px;font-size:15px;line-height:23px;display:flex}.job__role strong{font-weight:600}.job__roles{flex-direction:column;gap:18px;display:flex}.work-list{border-top:1px solid var(--s-line);animation:fade var(--dur) var(--ease)}@keyframes fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wrow,.wrow:hover{border-bottom:1px solid var(--s-line);color:var(--s-text);transition:padding var(--dur) var(--ease);grid-template-columns:56px minmax(0,1fr) minmax(160px,220px);align-items:start;gap:16px 32px;padding:36px 0;display:grid}.wrow:hover{padding-left:12px}.wrow__num{padding-top:4px}.wrow__main{flex-direction:column;gap:12px;display:flex}.wrow__title{font-family:var(--font-display);letter-spacing:-.06em;max-width:760px;transition:color var(--dur) var(--ease);font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1}.wrow:hover .wrow__title{color:var(--s-accent)}.wrow__text{max-width:600px;font-size:16px;line-height:26px}.wrow__side{text-align:right;flex-direction:column;align-items:flex-end;gap:20px;display:flex}.wrow__proof{font-family:var(--font-display);letter-spacing:-.04em;font-size:20px;font-weight:800;line-height:1.15}.wrow__cta{align-items:center;gap:12px;display:inline-flex}.wrow__cta .label{transition:color var(--dur) var(--ease)}.wrow:hover .wrow__cta .label{color:var(--s-accent)}.wrow__arrow{background:var(--s-arrow)}.wrow:hover .wrow__arrow{transform:rotate(45deg)}.s-btn{border:1.5px solid var(--s-accent);color:var(--s-accent);padding:14px 24px}.s-btn:hover{background:var(--s-accent);color:var(--s-bg)}.work__all{align-self:flex-start}.work-scope{--s-bg:var(--cream);--s-text:var(--ink);--s-muted:var(--muted);--s-accent:var(--burgundy);--s-line:var(--line);--s-arrow:var(--blush)}.filters{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.filter{border-radius:var(--radius-pill);border:1.5px solid var(--s-line);min-height:44px;color:var(--s-text);font-family:var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;align-items:center;gap:10px;padding:0 20px;font-size:12px;display:inline-flex}.filter:hover{border-color:var(--s-accent)}.filter[aria-pressed=true]{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-bg)}.all-work{border-top:0}.all-work__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;display:flex}.filter__count{opacity:.6}.views{flex-wrap:wrap;gap:10px;display:flex}.views__link{min-height:44px;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center}.views__link:hover{color:var(--s-accent);transform:translateY(-2px)}.views__link[aria-current=page],.views__link[aria-current=page]:hover{background:var(--s-accent);border-color:var(--s-accent);color:var(--s-bg)}.toolbox{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 32px;display:grid}.toolbox__group{border-top:1px solid var(--s-line);flex-direction:column;gap:16px;padding-top:20px;display:flex}.toolbox__list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.toolbox__certs{border-top:1px solid var(--s-line);flex-direction:column;gap:10px;padding-top:20px;display:flex}.toolbox__certs ul{flex-wrap:wrap;gap:4px 24px;margin:0;padding:0;font-size:15px;line-height:24px;list-style:none;display:flex}.contact{padding:140px var(--gutter) 120px}.contact__title{font-family:var(--font-display);letter-spacing:-.08em;font-size:clamp(56px,9vw,128px);font-weight:800;line-height:.88}.contact__intro{max-width:600px;color:var(--on-dark-muted)}.contact__grid{grid-template-columns:max-content repeat(3,1fr);gap:16px;display:grid}@media (width<=1100px){.contact__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.contact__grid{grid-template-columns:1fr}}.contact-tile{border:1px solid var(--line-dark-strong);color:var(--on-dark);border-radius:var(--radius-md);transition:background-color var(--dur) var(--ease), transform var(--dur) var(--ease);background:#fbf5ec14;flex-direction:column;gap:8px;padding:24px;display:flex}.contact-tile:hover{color:var(--on-dark);background:#fbf5ec24;transform:translateY(-4px)}.contact-tile .label{color:var(--blush);font-size:11px}.contact-tile strong{white-space:nowrap;font-size:18px;line-height:26px}@media (width<=640px){.contact-tile strong{font-size:16px}}.contact-tile--cv,.contact-tile--cv:hover{background:var(--saffron);color:var(--ink);border-color:#0000}.contact-tile--cv:hover{background:#f5b65a}.contact-tile--cv .label{color:var(--ink)}.footer{background:var(--ink);color:var(--on-dark-muted);padding:40px var(--gutter)}.footer__inner{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.footer a{color:var(--on-dark)}.footer a:hover{color:var(--blush)}.cs-hero{padding:100px var(--gutter) 64px}.back-link{align-self:flex-start;align-items:center;min-height:44px;display:inline-flex}.cs-title{max-width:1000px}.cs-title.display-xl{font-size:clamp(52px,7.5vw,104px)}.cs-intro{max-width:640px;font-size:20px;line-height:30px}.cs-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:16px;display:grid}.cs-meta>div{flex-direction:column;gap:6px;padding:22px 0;display:flex}.cs-meta strong{font-size:17px}.cs-cover{aspect-ratio:16/8;color:var(--on-dark-muted);font-size:12px;overflow:hidden}.cs-cover--flat{aspect-ratio:16/6;border-radius:var(--radius-md)}.cs-cover__set{justify-content:center;align-items:flex-end;gap:3%;width:100%;height:100%;padding:8% 6% 0;display:flex}.cs-cover__set img{width:28%;box-shadow:var(--shadow-card);border-radius:12px 12px 0 0}.cs-cover__set img:nth-child(2){width:32%}.cs-post{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) 3fr;align-items:start;gap:32px;margin:0;padding-bottom:32px;display:grid}.cs-post__text{flex-direction:column;gap:10px;font-size:15px;line-height:24px;display:flex}.cs-post__text strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:22px;font-weight:800;line-height:1.1}.cs-post__slides{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.cs-post__slides img{border-radius:10px;width:100%;box-shadow:0 10px 30px #1e10141a}.cs-results{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;display:grid}.cs-results>div{flex-direction:column;gap:10px;display:flex}.cs-deliverable{font-family:var(--font-display);letter-spacing:-.055em;font-size:28px;font-weight:800;line-height:1.05}.cs-note{max-width:640px;color:var(--on-dark-muted);margin-top:40px;font-size:15px;line-height:24px}.cs-row{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;padding:48px 0;display:grid}.cs-row:last-child{border-bottom:1px solid var(--line)}.cs-row h2{font-family:var(--font-display);letter-spacing:-.065em;font-size:40px;font-weight:800;line-height:.95}.steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:start;gap:16px;font-size:17px;line-height:26px;display:flex}.steps li p{margin-top:6px}.steps li strong{font-weight:700;display:block}.flow{flex-wrap:wrap;align-items:center;gap:10px 8px;margin:0;padding:0;list-style:none;display:flex}.flow__step{border-radius:var(--radius-pill);border:1.5px solid var(--burgundy);min-height:36px;color:var(--burgundy);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;padding:6px 16px;font-size:11px;display:inline-flex;position:relative}.flow__step:not(:last-child){margin-right:26px}.flow__step:not(:last-child):after{content:"→";color:var(--muted);position:absolute;right:-24px}.flow__step--end{background:var(--blush);border-color:var(--blush);color:var(--ink)}.cs-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cs-list li{gap:12px;font-size:18px;line-height:28px;display:flex}.cs-list li:before{content:"✦";color:var(--burgundy)}.cs-end{padding:0 var(--gutter) var(--space-section)}.step-num{background:var(--blush);width:36px;height:36px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.steps li:last-child .step-num{background:var(--saffron)}.cs-gallery{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.cs-gallery__tile{border-radius:var(--radius-md);min-height:220px;overflow:hidden}.cs-gallery__tile img{object-fit:cover;width:100%;height:100%}.next,.next:hover{background:var(--burgundy);color:var(--on-dark);padding:110px var(--gutter);display:block}.next__circle{background:var(--saffron);width:96px;height:96px;color:var(--ink);transition:transform var(--dur) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:36px;display:flex}.next:hover .next__circle{transform:rotate(45deg)scale(1.06)}.next__title{font-family:var(--font-display);letter-spacing:-.075em;font-size:clamp(44px,6vw,80px);font-weight:800;line-height:.9}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(24px)}.reveal.is-in{opacity:1;transform:none}.loader{z-index:100;background:var(--ink);color:var(--on-dark);transition:opacity var(--dur-slow) var(--ease), visibility var(--dur-slow);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader .wordmark{font-size:40px}.loader__track{background:var(--line-dark);border-radius:2px;width:180px;height:2px;overflow:hidden}.loader__bar{background:var(--saffron);transform-origin:0;height:100%;animation:load 1s var(--ease) both}@keyframes load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.has-cursor,.has-cursor a,.has-cursor button{cursor:none}.cursor-dot,.cursor-ring{z-index:200;pointer-events:none;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:var(--burgundy);mix-blend-mode:normal;width:8px;height:8px;margin:-4px 0 0 -4px}.cursor-ring{border:1.5px solid var(--blush);width:36px;height:36px;transition:width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), background-color .3s var(--ease);margin:-18px 0 0 -18px}.cursor-ring.is-hover{background:#f4b9c340;width:60px;height:60px;margin:-30px 0 0 -30px}@media (width<=640px){.hero{padding:48px var(--gutter) 40px}.hero__grid{grid-template-columns:1fr;gap:32px}.hero__copy{gap:22px}.display-xl{font-size:60px}.lead{font-size:22px;line-height:1.2}.hero__ctas .btn{width:100%}.float{max-width:none}.float__card{--rx:2deg;--ry:-4deg;border-radius:20px}.h2{font-size:36px}.h3{font-size:24px}.about__grid{grid-template-columns:1fr;gap:32px}.sides__bar{padding-top:24px}.grid-cards,.cs-gallery,.cs-row,.about__grid{grid-template-columns:1fr}.card{padding:24px}.service{min-height:0}.job{grid-template-columns:1fr auto;gap:4px 16px;padding:18px 0}.job__company{grid-column:1;font-size:24px}.job__years{text-align:right;grid-area:1/2}.job__roles{grid-column:1/-1}.job__role{font-size:14px}.wrow,.wrow:hover{grid-template-columns:1fr;gap:12px;padding:28px 0}.wrow__side{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}.wrow__proof{font-size:18px}.section-head{gap:16px}.highlights{gap:40px;margin-top:56px}.vlog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}.vlog__cta{padding:0 12px;font-size:11px;bottom:8px;left:8px}.vlog__time{top:8px;right:8px}.vlog__title{font-size:18px}.wrow__cta .label{display:none}.contact{padding:64px var(--gutter)}.contact__title{font-size:52px}.display-l{font-size:64px}.cs-hero{padding:48px var(--gutter) 40px}.cs-row h2{font-size:32px}.cs-cover{aspect-ratio:4/3;border-radius:200px 200px 18px 18px}.cs-cover--flat{aspect-ratio:16/9;border-radius:var(--radius-md)}.cs-post{grid-template-columns:1fr;gap:16px}.cs-post__slides{scroll-snap-type:x mandatory;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);grid-template-columns:repeat(3,70%);overflow-x:auto}.cs-post__slides img{scroll-snap-align:start}.toolbox{gap:28px}.next{padding:64px var(--gutter)}.next__circle{width:64px;height:64px;font-size:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.perch__wing,.cam__iris,.cam__flash,.cam__rec{animation:none!important}}
