@font-face{font-family:Firs;src:url('assets/firs-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-bold-italic.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-medium-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#26282b;background:white;font-family:Arial,sans-serif}a{color:inherit}header{height:90px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:12px 28px}header img{width:190px}header nav{display:flex;gap:28px;font-size:12px;letter-spacing:.08em}header a{text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 36px}.hero{position:relative;overflow:hidden;padding:65px 0 80px}.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:#6572cc}.hero h1{font-size:clamp(44px,5.7vw,76px);line-height:1.05;letter-spacing:-.055em;margin:22px 0}h1 span{color:#7383e9}p{font-size:17px;line-height:1.7;color:#575c66;max-width:620px}.hero p{font-size:20px}.hero figure{margin:0;text-align:center}.hero figure img{width:100%;max-height:330px;object-fit:contain}.hero figcaption{font-size:11px;color:#6a6c77;margin-top:15px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:17px 23px;background:#6b7de4;color:white;border-radius:12px;text-decoration:none;font-size:13px;font-weight:800;box-shadow:0 5px 15px #6b7de422;transition:transform .3s}.button:hover{transform:translateY(-3px)}.text-link{font-size:14px;color:#596ac4;text-underline-offset:5px}.jump{display:flex;justify-content:center;flex-wrap:wrap;gap:32px;padding:25px;background:#fff;border-top:1px solid #edf0f8;font-size:11px;font-weight:700;letter-spacing:.1em}.jump a{text-decoration:none}.section{padding:95px 0 100px;position:relative}.lavender{background:#f5f4ff;clip-path:polygon(0 25px,100% 0,100% calc(100% - 25px),0 100%);padding-top:115px;padding-bottom:115px}.section-heading{margin-bottom:36px}h2{font-size:clamp(30px,3.5vw,43px);letter-spacing:-.04em;line-height:1.15;margin:14px 0}h3{font-size:22px;line-height:1.25;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card{border:1px solid #e1e5f3;border-radius:18px;overflow:hidden;background:white;box-shadow:0 8px 30px #333d6a06;transition:transform .35s,box-shadow .35s}.card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #333d6a12}.card iframe,.card video{width:100%;aspect-ratio:16/9;border:0;display:block;background:#202128;object-fit:contain}.card-copy{padding:25px 27px}.tag{font-size:10px;letter-spacing:.13em;font-weight:700;color:#6775c9}.card p{font-size:14px;margin-bottom:0}.closing{padding-top:80px;padding-bottom:90px;text-align:center}.closing p{margin:20px auto}.closing .actions{justify-content:center}.members{display:flex;justify-content:center;gap:30px;margin-top:50px;font-size:13px;color:#6a6e7e}footer{padding:35px;display:flex;justify-content:space-around;gap:25px;flex-wrap:wrap;background:#f6f6f4;font-size:12px}footer a{text-decoration:none}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:700px){header{height:70px;padding:12px 22px}header img{width:145px}header nav{gap:18px;font-size:10px}.wrap{padding:0 24px}.hero{padding:45px 0}.hero-grid{grid-template-columns:1fr;gap:45px}.hero h1{font-size:49px}.hero p{font-size:17px}.hero figure img{max-height:240px}.jump{gap:18px;padding:25px 20px;line-height:2}.section{padding:65px 0}.lavender{padding:85px 0}.grid{grid-template-columns:1fr;gap:24px}.card-copy{padding:23px}.closing{padding:60px 24px}.members{flex-direction:column;gap:18px}footer{text-align:center;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.card,.button{transition:none}}
.lea-site-header{position:fixed;inset:0 0 auto;z-index:10000;background:white;box-shadow:0 1px 6px #0000000d;font-family:Arial,sans-serif;color:#262626}
.lea-site-header *{box-sizing:border-box}
.lea-header-row{height:90px;max-width:1000px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.lea-header-logo img{display:block;width:205px;height:auto;max-height:70px;object-fit:contain}
.lea-header-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:0;background:transparent;color:#262626;cursor:pointer}
.lea-header-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
.lea-header-menu{padding:16px 24px 24px;max-width:1000px;margin:auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.lea-site-header [hidden]{display:none!important}
.lea-header-menu a{font:15px Arial,sans-serif;color:#262626;text-decoration:none}
.lea-header-menu a:hover{color:#687fe5}
.lea-header-search{max-width:500px;margin:0 auto;padding:10px 24px 20px;display:flex;gap:8px}
.lea-header-search input{min-width:0;flex:1;padding:10px;border:1px solid #ccc;font:16px Arial,sans-serif}
.lea-header-search button{border:0;background:#687fe5;color:#fff;padding:10px 16px;cursor:pointer}
@media(max-width:700px){.lea-header-row{height:60px;padding:0 12px}.lea-header-logo img{width:145px;max-height:44px}.lea-header-menu{flex-direction:column;gap:20px}}


.lea-header-menu a{text-transform:uppercase;letter-spacing:.06em}
.lea-header-button[aria-controls="lea-header-menu"] svg path{transform-origin:12px 12px;transition:transform 320ms cubic-bezier(.22,1,.36,1),opacity 220ms ease}
.lea-header-button[aria-controls="lea-header-menu"][aria-expanded="true"] .lea-burger-top{transform:translateY(6px) rotate(45deg);transform-origin:12px 6px}
.lea-header-button[aria-controls="lea-header-menu"][aria-expanded="true"] .lea-burger-middle{opacity:0;transform:scaleX(.35)}
.lea-header-button[aria-controls="lea-header-menu"][aria-expanded="true"] .lea-burger-bottom{transform:translateY(-6px) rotate(-45deg);transform-origin:12px 18px}
@media(prefers-reduced-motion:reduce){.lea-header-button[aria-controls="lea-header-menu"] svg path{transition:none}}

.lea-site-header{height:auto;max-width:none;padding:0;margin:0}.lea-site-header nav{gap:24px}.lea-header-row a{text-decoration:none}main{padding-top:90px}.hero figure img{border-radius:50%;padding:14px;background:#f0efff;mask-image:radial-gradient(ellipse at center,black 57%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse at center,black 57%,transparent 73%)}.hero figure{position:relative}.section,.closing,footer,.jump{position:relative;isolation:isolate;overflow:hidden}.particle-layer{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.section>.wrap,.closing>*:not(canvas),footer>*:not(canvas){position:relative}.closing{max-width:none}.closing p{max-width:620px}@media(max-width:700px){main{padding-top:60px}.lea-site-header{height:auto;padding:0}}

.lea-site-header{display:block}.lea-header-row{width:100%}.lea-header-menu a{text-decoration:none}

.hero-grid{grid-template-columns:1fr 1.2fr;gap:30px}.hero figure{width:112%;margin-left:-3%;}.hero figure img{max-height:440px;padding:8px;animation:illustration-float 6s ease-in-out infinite;filter:drop-shadow(0 12px 12px #666fa51a)}
@keyframes illustration-float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-12px) rotate(.4deg)}}
.motion-grid{grid-template-columns:minmax(0,1fr);max-width:850px}.motion-grid .card-copy{padding:28px 32px}
@media(max-width:700px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero figure{width:100%;margin-left:0}.hero figure img{max-height:330px}}
@media(prefers-reduced-motion:reduce){.hero figure img{animation:none}}

.membership-banner{position:relative;max-width:1110px;margin:45px auto 0;padding:25px 30px;border:1px solid #dce0f4;border-radius:18px;background:#ffffffcc}.membership-grid{display:flex;gap:35px;margin-top:16px}.membership-grid a{display:flex;flex-direction:column;gap:7px;flex:1;text-decoration:none}.membership-grid strong{font-size:23px;color:#30344d}.membership-grid span{font-size:14px;color:#666d89}.resume-button{background:#fff;color:#5868ce;border:2px solid #6b7de4;animation:resume-pulse 2.8s ease-in-out infinite}
@keyframes resume-pulse{0%,100%{box-shadow:0 0 0 0 #6b7de426;transform:scale(1)}50%{box-shadow:0 0 0 9px #6b7de400;transform:scale(1.025)}}
.portfolio-top{position:fixed;right:18px;bottom:18px;z-index:9999;width:48px;height:48px;border:1px solid #d5dcff;border-radius:50%;background:#687fe5;color:#fff;font-size:29px;cursor:pointer;box-shadow:0 4px 18px #374a8c24;opacity:0;transform:translateY(10px);visibility:hidden;transition:opacity .4s ease,transform .4s ease,visibility .4s}.portfolio-top.is-visible{opacity:1;transform:none;visibility:visible}.portfolio-top:focus-visible{outline:3px solid #e3af52;outline-offset:4px}
.site-footer{display:block;padding:72px 0 24px;text-align:left}.site-footer .footer-columns{gap:28px}.site-footer .footer-columns a{line-height:1.6}.site-footer a{font-size:inherit}.site-footer .particle-layer{z-index:0}.site-footer-wrap{position:relative;z-index:1}.closing>.wrap{position:relative}.js .card-copy>*{opacity:0;transform:translateY(10px);transition:opacity .65s,transform .65s}.js .card.visible .card-copy>*{opacity:1;transform:none}.js .card.visible .card-copy h3{transition-delay:.1s}.js .card.visible .card-copy p{transition-delay:.18s}
@media(max-width:700px){.membership-banner{margin:30px 24px 0;padding:22px}.membership-grid{flex-direction:column;gap:22px}.membership-grid strong{font-size:21px}.site-footer{padding:48px 0 20px}.portfolio-top{right:12px;bottom:12px}.closing{padding:85px 0}}
@media(prefers-reduced-motion:reduce){.resume-button{animation:none}.portfolio-top,.js .card-copy>*{transition:none}.js .card-copy>*{opacity:1;transform:none}}

.membership-grid a{align-items:flex-start}.membership-logo{display:block;width:155px;height:85px;object-fit:contain;object-position:left center;margin:0 0 8px}.wia-logo{width:190px}.site-footer{position:relative;background:#f8f7f4;margin-top:0;isolation:isolate;overflow:visible}.site-footer::before{content:"";position:absolute;left:0;right:0;top:-32px;height:33px;background:#f8f7f4;clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none}.closing{clip-path:none;margin-bottom:32px}.site-footer-wrap{position:relative;z-index:1}@media(max-width:700px){.membership-logo{height:75px}.site-footer::before{top:-22px;height:23px}.closing{margin-bottom:22px}}

.closing{margin-bottom:0}.site-footer::before{z-index:0}

.site-footer{overflow:visible!important}.site-footer::before{top:-32px;height:33px;background:#f8f7f4;clip-path:polygon(0 0,100% 100%,0 100%);z-index:2}

:root{--lea-blue:#687fe5;--lea-ink:#242726;--lea-copy:#555c70;--lea-lavender:#f5f5ff;--lea-footer:#f8f7f4}
body{font-family:Montserrat,sans-serif;font-weight:500;color:var(--lea-ink)}h1,h2,h3,.button,.eyebrow,.tag,.membership-grid strong{font-family:Firs,sans-serif;font-weight:700}p{font-family:Montserrat,sans-serif;color:var(--lea-copy);font-weight:500}.lavender{background:var(--lea-lavender)}.button{background:var(--lea-blue)}.resume-button{background:#fff;color:#5268c2;border-color:var(--lea-blue)}.eyebrow,.tag{color:#717fae}.text-link{color:#5268c2}.membership-grid strong{color:#30364a}.membership-grid span{color:#636b82}.jump{font-family:Firs,sans-serif}.hero figcaption{font-family:Montserrat,sans-serif;color:#757c97}
#contact{clip-path:polygon(0 0,100% 38px,100% 100%,0 100%);padding-top:105px;padding-bottom:105px;margin:0}.site-footer{clip-path:polygon(0 32px,100% 0,100% 100%,0 100%);margin-top:-32px;overflow:hidden!important;background:#f8f7f4;padding:90px 48px 24px;font-family:Montserrat,sans-serif;color:#5e6981}.site-footer::before{display:none}.site-footer .footer-name{font:700 17px/1.3 Firs,sans-serif;color:#30364a}.site-footer .footer-name span{font:500 10px/1.5 Montserrat,sans-serif;color:#7b849f}.site-footer .footer-columns h3{font:700 12px/1.5 Firs,sans-serif;color:#404c68}.site-footer .footer-columns p{font:500 11px/1.9 Montserrat,sans-serif;color:#5e6981}.site-footer .footer-columns a{font:500 11px/1.9 Montserrat,sans-serif;color:#6c7ca7}.site-footer small{font:500 9px/1.6 Montserrat,sans-serif;color:#8792a9}
@media(max-width:700px){#contact{clip-path:polygon(0 0,100% 24px,100% 100%,0 100%);padding:85px 0}.site-footer{clip-path:polygon(0 22px,100% 0,100% 100%,0 100%);margin-top:-22px;padding:65px 24px 20px}}

.site-footer{background:#fff}.membership-banner{max-width:1050px;width:calc(100% - 72px);text-align:center;padding:32px 40px 35px}.membership-banner>.eyebrow{display:block}.membership-grid{gap:45px;align-items:center;margin-top:25px}.membership-grid a{align-items:center;text-align:center;gap:9px;padding:8px 20px}.membership-grid a+a{border-left:1px solid #dce1f2}.membership-logo{object-position:center;width:195px;height:110px;margin:0 0 10px;transition:transform .55s cubic-bezier(.2,.8,.25,1),filter .55s ease}.wia-logo{width:205px}.membership-grid strong{font-size:25px}.membership-grid span{font-size:13px}
.membership-grid a:hover .membership-logo{filter:drop-shadow(0 5px 9px #687fe52a)}
.jump a{padding:8px 11px;border-radius:7px;transition:color .3s ease,background .3s ease;}.jump a:hover,.jump a:focus-visible{color:#5268c2;background:#e9edff}
.card{position:relative;isolation:isolate;transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease}.card::after{content:"";position:absolute;inset:0;border:2px solid #8998ff;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:inset 0 0 12px #687fe53b;transition:opacity .45s ease}.card:hover,.card:focus-within{border-color:#8d9cf7;box-shadow:0 0 0 1px #99a9ff,0 0 20px #788cff55,0 15px 32px #333d6a12}.card:hover::after,.card:focus-within::after{opacity:1}
@media(max-width:700px){.membership-banner{width:calc(100% - 48px);padding:26px 20px;margin-inline:24px}.membership-grid{gap:25px}.membership-grid a{width:100%;padding:5px 0}.membership-grid a+a{border-left:0;border-top:1px solid #dce1f2;padding-top:25px}.membership-logo{height:95px;width:175px}.wia-logo{width:185px}.membership-grid strong{font-size:23px}}

.blue-emphasis{color:#687fe5}

.embedded-portfolio main{padding-top:0!important}

/* Stable rounded pulse without animated shadows or filters. */
.resume-button{background:#687fe5;color:#fff;border:1.55px solid #242726;box-shadow:none;filter:none;transform:translateZ(0);backface-visibility:hidden;animation:clean-resume-pulse 2.4s ease-in-out infinite}
@keyframes clean-resume-pulse{0%,100%{scale:1}25%{scale:1.035}75%{scale:.985}}
.card:focus-within:not(:hover){border-color:#e1e5f3;box-shadow:0 8px 30px #333d6a06}.card:focus-within:not(:hover)::after{opacity:0}
.hero .hero-grid .reveal>*{opacity:0;translate:0 14px;transition:opacity .75s ease,translate .75s ease}.hero .hero-grid .reveal.visible>*{opacity:1;translate:0 0}.hero .hero-grid .reveal.visible h1{transition-delay:.13s}.hero .hero-grid .reveal.visible p{transition-delay:.26s}.hero .hero-grid .reveal.visible .actions{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.resume-button{animation:none}.hero .hero-grid .reveal>*{opacity:1;translate:none;transition:none}}

@keyframes portfolio-intro{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.hero .hero-grid .reveal>*{animation:portfolio-intro .85s cubic-bezier(.22,1,.36,1) .12s both}.hero .hero-grid .reveal h1{animation-delay:.24s}.hero .hero-grid .reveal p{animation-delay:.36s}.hero .hero-grid .reveal .actions{animation-delay:.5s}.hero .hero-grid figure.reveal img{animation-delay:.3s}.hero .membership-banner{animation:portfolio-intro .85s ease .65s both}
@media(prefers-reduced-motion:reduce){.hero .hero-grid .reveal>*,.hero .membership-banner{animation:none}}

/* Creative edit timeline and music credits */
.creative-note{font-size:13px!important;opacity:.75}.music-credit{font-size:13px!important;line-height:1.6!important;margin-top:16px!important}.music-credit a{color:#498fc3;text-decoration:underline;text-underline-offset:3px}.creative-card .tag{margin-bottom:8px}.creative-card video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#111}.creative-timeline{align-items:start}
