*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--blue:#00f;--blue-light:#0000ff14;--blue-mid:#0000ff26;--black:#0a0a0a;--white:#fff;--gray-100:#f5f5f5;--gray-200:#e8e8e8;--gray-400:#999;--gray-600:#555;--gray-800:#222;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-size:18px;line-height:1.5}html{scroll-behavior:smooth}body{background-color:var(--white);color:var(--black);min-height:100vh;overflow-x:hidden}body.dark{background-color:var(--black);color:var(--white)}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--blue);color:var(--white)}.navbar{z-index:101;justify-content:flex-end;align-items:center;padding:1.5rem 2rem;transition:padding .3s,background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #e8e8e8;padding:.75rem 2rem;overflow:visible}body.dark .navbar.scrolled{background:#0a0a0aeb;border-bottom:1px solid #ffffff14}.navbar-logo{z-index:102;position:absolute;left:50%;transform:translate(-50%)}body.dark .navbar-logo{color:var(--white)}.navbar-logo span{color:var(--blue)}.navbar-links{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border-radius:8px;align-items:center;gap:2.5rem;padding:.5rem 1.5rem;list-style:none;display:flex}body.dark .navbar-links{background:#000000b3}.navbar-links a{color:var(--gray-600);letter-spacing:.01em;font-size:.875rem;font-weight:500;transition:color .2s}body.dark .navbar-links a{color:var(--gray-400)}.navbar-links a:hover{color:var(--blue)}.navbar-actions{align-items:center;gap:1rem;display:flex}.lang-switcher{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border-radius:6px;gap:.25rem;padding:.2rem;display:flex}body.dark .lang-switcher{background:#000000b3}.lang-btn{letter-spacing:.05em;color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.3rem .5rem;font-size:.65rem;font-weight:600;transition:all .2s}.lang-btn.active{background:var(--blue);color:#fff}.lang-btn:hover:not(.active){color:var(--blue)}body.dark .lang-btn{color:var(--gray-400)}.dark-toggle{border:1px solid var(--gray-200);cursor:pointer;width:36px;height:36px;color:var(--gray-600);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:border-color .2s,background .2s;display:flex}body.dark .dark-toggle{color:var(--gray-400);border-color:#ffffff26}.dark-toggle:hover{border-color:var(--blue);color:var(--blue)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--black);width:24px;height:2px;transition:all .3s;display:block}body.dark .hamburger span{background:var(--white)}.mobile-menu{background:var(--white);z-index:200;border-left:1px solid var(--gray-200);flex-direction:column;gap:2rem;width:min(320px,85vw);padding:5rem 2.5rem 2.5rem;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}body.dark .mobile-menu{background:var(--gray-800);border-left:1px solid #ffffff14}.mobile-menu.open{transform:translate(0)}.mobile-menu a{color:var(--black);border-bottom:1px solid var(--gray-200);padding-bottom:1rem;font-size:1.5rem;font-weight:600}body.dark .mobile-menu a{color:var(--white);border-color:#ffffff14}.mobile-menu a:hover{color:var(--blue)}.mobile-lang-switcher{border-top:1px solid var(--gray-200);gap:.5rem;margin-top:auto;padding-top:2rem;display:flex}body.dark .mobile-lang-switcher{border-color:#ffffff14}.mobile-lang-switcher .lang-btn{border:1px solid var(--gray-200);padding:.5rem .75rem;font-size:.85rem}body.dark .mobile-lang-switcher .lang-btn{border-color:#ffffff26}.mobile-lang-switcher .lang-btn.active{border-color:var(--blue)}.mobile-close{cursor:pointer;color:var(--gray-600);background:0 0;border:none;font-size:1.5rem;position:absolute;top:1.5rem;right:1.5rem}.overlay{z-index:150;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;position:fixed;inset:0}.overlay.visible{opacity:1;pointer-events:all}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:6rem 3rem 3rem;display:flex;position:relative;overflow:hidden}.hero-floating-images{pointer-events:none;z-index:0;position:absolute;inset:0}.hero-float-img{will-change:transform,opacity;border-radius:10px;transition:box-shadow .4s;position:absolute;overflow:hidden;box-shadow:0 4px 20px #0000000f}.hero-float-img img{object-fit:cover;filter:saturate(.8)opacity(.7);width:100%;height:100%;transition:filter .4s;display:block}body.dark .hero-float-img{box-shadow:0 8px 32px #0006}body.dark .hero-float-img img{filter:saturate(.7)brightness(.85)}.hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);z-index:10;margin-bottom:1.5rem;font-size:.7rem;font-weight:500;position:relative}.hero-title{letter-spacing:-.04em;z-index:10;max-width:14ch;margin-bottom:2rem;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:.95;position:relative}.hero-title em{color:var(--blue);font-style:italic;font-weight:300}.hero-bio{color:var(--gray-600);z-index:10;max-width:42ch;margin-bottom:3rem;font-size:1.125rem;font-weight:400;line-height:2;position:relative}.hero-bio span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#ffffffe6;padding:.15em .4em}body.dark .hero-bio{color:var(--gray-400)}body.dark .hero-bio span{background:#000000bf}.hero-cta{z-index:10;flex-wrap:wrap;justify-content:center;gap:1rem;display:flex;position:relative}.btn-primary{background:var(--blue);color:var(--white);letter-spacing:.02em;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 10px #0000001a}.btn-primary:hover{opacity:.85;transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.btn-outline{background:var(--white);color:var(--black);letter-spacing:.02em;cursor:pointer;border:1px solid;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 10px #0000000f}body.dark .btn-outline{color:var(--white);background:var(--black)}.btn-outline:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px);box-shadow:0 6px 24px #0000002e}.hero-location{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);align-items:center;gap:.5rem;font-size:.75rem;display:flex;position:absolute;bottom:3rem;right:3rem}.hero-scroll{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;display:flex;position:absolute;bottom:3rem;left:3rem}.scroll-line{background:linear-gradient(to bottom,var(--blue),transparent);width:1px;height:48px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.7)}}.section{padding:5rem 4rem}.section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem;font-size:.7rem;font-weight:700}.section-title{letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:800;line-height:1.05}.section-subtitle{color:var(--blue);max-width:55ch;font-size:1.125rem;font-weight:600;line-height:1.7}body.dark .section-subtitle{color:var(--blue)}.work-section{background:var(--gray-100);background:#fafafa}body.dark .work-section{background:var(--gray-800)}.work-header{text-align:center;flex-direction:column;align-items:center;gap:1rem;margin-bottom:4rem;display:flex}.work-header-title{text-align:center;flex-direction:column;align-items:center;display:flex}.projects-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.project-card{background:var(--white);cursor:pointer;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}body.dark .project-card{background:var(--black)}.project-card:hover{box-shadow:0 24px 64px #00000024}body.dark .project-card:hover{box-shadow:0 24px 64px #00000080}.project-card:nth-child(3n+1):hover{transform:translateY(-8px)rotate(-.5deg)}.project-card:nth-child(3n+2):hover{transform:scale(1.03)}.project-card:nth-child(3n+3):hover{transform:translateY(-8px)rotate(.5deg)}.project-thumb{aspect-ratio:4/3;background:var(--gray-200);cursor:pointer;position:relative;overflow:hidden}body.dark .project-thumb{background:#1a1a1a}.project-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);display:block}.project-card:hover .project-thumb-img{transform:scale(1.05)}.project-thumb-overlay{background:0 0;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.project-card:hover .project-thumb-overlay{background:#00000059}.project-thumb-cta{letter-spacing:.06em;text-transform:uppercase;opacity:0;background:#fffffff2;border:2px solid;padding:.625rem 1.25rem;font-size:.8125rem;font-weight:700;transition:opacity .3s,transform .3s;transform:translateY(8px)}.project-card:hover .project-thumb-cta{opacity:1;transform:translateY(0)}.project-count{letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:.85;padding:.25rem .625rem;font-size:.65rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.project-color-bar{background:var(--blue);transform-origin:0;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.project-card:hover .project-color-bar{transform:scaleX(1)}.project-info{padding:1.25rem}.project-category{letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem;font-size:.7rem;font-weight:600}.project-name{letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.125rem;font-weight:700;line-height:1.2}.project-desc{color:var(--gray-600);font-size:.9rem;line-height:1.5}body.dark .project-desc{color:var(--gray-400)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.about-visual{aspect-ratio:3/4;background:0 0;position:relative;overflow:hidden}.about-visual-inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.about-avatar{object-fit:contain;object-position:center center;width:100%;height:100%}.about-accent{background:var(--blue);color:var(--white);padding:1.5rem;position:absolute;bottom:2rem;left:2rem;right:2rem}.about-accent-label{letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:.5rem;font-size:.7rem;font-weight:600}.about-accent-text{font-size:1rem;font-weight:600;line-height:1.4}.about-content p{color:var(--gray-600);margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.75}body.dark .about-content p{color:var(--gray-400)}.about-content p:last-of-type{margin-bottom:2.5rem}.skills-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:2rem;display:grid}.skill-tag{border:1px solid var(--gray-200);letter-spacing:.01em;color:var(--gray-600);padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:border-color .2s,color .2s}body.dark .skill-tag{color:var(--gray-400);border-color:#ffffff1a}.skill-tag:hover{border-color:var(--blue);color:var(--blue)}.contact-section{background:var(--black);color:var(--white);overflow:hidden}body.dark .contact-section{background:#050505}.contact-inner{text-align:left;max-width:1200px;margin:0 auto}.contact-section .section-title{font-size:clamp(3rem,6vw,5.5rem);line-height:1}.contact-title{width:100%;position:relative}.contact-plus-wrap{position:absolute;top:50%;right:0;transform:translateY(-50%)}.contact-plus{color:var(--blue);font-size:10em;font-weight:900;line-height:1;animation:4.7s infinite glitchMain,7.3s ease-in-out infinite glitchDrift;display:inline-block;position:relative}.contact-plus:before,.contact-plus:after{content:"+";width:100%;height:100%;position:absolute;top:0;left:0}.contact-plus:before{color:#ff0040;mix-blend-mode:screen;clip-path:inset(0);animation:3.1s ease-in-out infinite chromaRed,5.3s infinite glitchSlice1}.contact-plus:after{color:#0fc;mix-blend-mode:screen;clip-path:inset(0);animation:2.7s ease-in-out infinite chromaCyan,6.1s infinite glitchSlice2}@keyframes glitchMain{0%{color:var(--blue);transform:translate(0)}1.2%{color:#ff0040;transform:translate(-8px,5px)skew(-7deg)}1.8%{color:#00f;transform:translate(12px,-3px)skew(4deg)}2.5%{transform:translate(-4px)skew(-2deg)}3%{color:var(--blue);transform:translate(0)}7%{transform:translate(0)}7.3%{color:#30f;transform:translate(3px,-6px)skew(8deg)scaleX(1.04)}7.8%{color:#ff0040;transform:translate(-14px,3px)skew(-10deg)scaleY(.96)}8.2%{color:#0fc;transform:translate(7px)skew(3deg)}9%{color:var(--blue);transform:translate(0)}22%{transform:translate(0)}22.4%{transform:translate(-6px,-4px)skew(-5deg)}22.7%{color:#00e;transform:translate(16px,2px)skew(9deg)}23.1%{color:var(--blue);transform:translate(-3px,7px)}24%{transform:translate(0)}38%{color:var(--blue);transform:translate(0)}38.6%{color:#ff0040;transform:translate(9px,-3px)skew(-8deg)scaleX(.95)}39.2%{color:#0fc;transform:translate(-12px,6px)skew(6deg)}39.5%{color:#00f;transform:translate(5px,-8px)skew(-4deg)}40%{transform:translate(-5px,2px)}41%{color:var(--blue);transform:translate(0)}56%{transform:translate(0)}56.2%{color:#30f;transform:translate(10px,4px)skew(5deg)}56.5%{transform:translate(-8px,-7px)skew(-9deg)}57%{color:var(--blue);transform:translate(0)}71%{transform:translate(0)}71.5%{color:#ff0040;transform:translate(-11px,3px)skew(-7deg)scaleY(1.05)}72%{color:#0fc;transform:translate(14px,-5px)skew(10deg)}72.3%{color:#00f;transform:translate(-4px,6px)skew(-3deg)}73%{transform:translate(7px,-2px)}74%{color:var(--blue);transform:translate(0)}87%{transform:translate(0)}87.3%{transform:translate(8px,1px)skew(4deg)}87.6%{color:#ff0040;transform:translate(-5px,-4px)skew(-6deg)}88%{color:var(--blue);transform:translate(0)}to{color:var(--blue);transform:translate(0)}}@keyframes glitchDrift{0%{transform:translate(0)rotate(0)}12%{transform:translate(2px,-1px)rotate(.3deg)}28%{transform:translate(-1px,3px)rotate(-.5deg)}43%{transform:translate(3px,1px)rotate(.2deg)}61%{transform:translate(-2px,-2px)rotate(-.4deg)}77%{transform:translate(1px,2px)rotate(.6deg)}89%{transform:translate(-3px)rotate(-.2deg)}to{transform:translate(0)rotate(0)}}@keyframes chromaRed{0%,to{opacity:.8;transform:translate(-4px,3px)}10%{opacity:1;transform:translate(8px,-3px)}20%{opacity:.5;transform:translate(-6px,-4px)}35%{opacity:.9;transform:translate(10px,2px)}50%{opacity:.7;transform:translate(-3px,5px)}65%{opacity:1;transform:translate(7px,-5px)}80%{opacity:.6;transform:translate(-8px,1px)}}@keyframes chromaCyan{0%,to{opacity:.8;transform:translate(4px,-3px)}12%{opacity:.6;transform:translate(-7px,4px)}25%{opacity:1;transform:translate(9px,2px)}40%{opacity:.7;transform:translate(-5px,-6px)}55%{opacity:.9;transform:translate(6px,5px)}70%{opacity:.5;transform:translate(-10px,-2px)}85%{opacity:1;transform:translate(8px,-4px)}}@keyframes glitchSlice1{0%,to{clip-path:inset(0);transform:translate(-4px,3px)}15%{clip-path:inset(0)}16%{clip-path:inset(10% 0 70%);transform:translate(18px,3px)}17%{clip-path:inset(60% 0 20%);transform:translate(-14px,-2px)}18%{clip-path:inset(30% 0 40%);transform:translate(8px,1px)}19%{clip-path:inset(0);transform:translate(-4px,3px)}31%{clip-path:inset(0)}31.5%{clip-path:inset(45% 0 35%);transform:translate(15px)}32%{clip-path:inset(80% 0 5%);transform:translate(-12px,4px)}33%{clip-path:inset(0);transform:translate(-4px,3px)}51%{clip-path:inset(0)}52%{clip-path:inset(15% 0 55%);transform:translate(20px,-2px)}52.5%{clip-path:inset(70% 0 10%);transform:translate(-16px,3px)}53%{clip-path:inset(5% 0 85%);transform:translate(10px,-4px)}54%{clip-path:inset(0);transform:translate(-4px,3px)}83%{clip-path:inset(0)}83.5%{clip-path:inset(25% 0 50%);transform:translate(22px,1px)}84%{clip-path:inset(55% 0 25%);transform:translate(-18px,-3px)}85%{clip-path:inset(0);transform:translate(-4px,3px)}}@keyframes glitchSlice2{0%,to{clip-path:inset(0);transform:translate(4px,-3px)}2%{clip-path:inset(35% 0 45%);transform:translate(-16px,-3px)}3%{clip-path:inset(75% 0 10%);transform:translate(12px,5px)}4%{clip-path:inset(0);transform:translate(4px,-3px)}30%{clip-path:inset(0)}31%{clip-path:inset(50% 0 30%);transform:translate(-20px,2px)}32%{clip-path:inset(0);transform:translate(4px,-3px)}50%{clip-path:inset(0)}51%{clip-path:inset(40% 0);transform:translate(16px,-4px)}52%{clip-path:inset(10% 0 75%);transform:translate(-14px,6px)}53%{clip-path:inset(0);transform:translate(4px,-3px)}69%{clip-path:inset(0)}69.5%{clip-path:inset(20% 0 60%);transform:translate(-18px,-5px)}70%{clip-path:inset(65% 0 15%);transform:translate(14px,3px)}71%{clip-path:inset(0);transform:translate(4px,-3px)}94%{clip-path:inset(0)}94.5%{clip-path:inset(30% 0 50%);transform:translate(20px,-2px)}95%{clip-path:inset(0);transform:translate(4px,-3px)}}.contact-section .section-subtitle{color:#ffffff80;max-width:600px;margin-top:1.5rem}.contact-email{letter-spacing:-.03em;color:var(--white);border-bottom:2px solid #0000;align-items:center;gap:.75rem;margin:2.5rem 0;padding-bottom:.25rem;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;transition:border-color .2s,color .2s;display:inline-flex}.contact-email:hover{color:var(--blue);border-color:var(--blue)}.contact-links{flex-wrap:wrap;gap:1.5rem;display:flex}.contact-link{letter-spacing:.05em;text-transform:uppercase;color:#fff6;border-bottom:1px solid #0000;padding-bottom:2px;font-size:.875rem;font-weight:600;transition:color .2s,border-color .2s}.contact-link:hover{color:var(--blue);border-color:var(--blue)}.footer{background:var(--black);border-top:1px solid #ffffff0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 4rem;display:flex}.footer-copy{color:#ffffff40;letter-spacing:.02em;font-size:.8rem}.footer-back{color:#ffffff40;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;font-size:.8rem;font-weight:600;transition:color .2s}.footer-back:hover{color:var(--blue)}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-delay-1{transition-delay:.1s}.fade-in-delay-2{transition-delay:.2s}.fade-in-delay-3{transition-delay:.3s}.fade-in-delay-4{transition-delay:.4s}@media (max-width:900px){.navbar{padding:1rem}.navbar.scrolled{padding:.75rem 1rem}.navbar-links,.lang-switcher{display:none}.hamburger{display:flex}.hero{padding:5rem 1rem 2rem}.hero-location{display:none}.hero-scroll{bottom:2rem;left:1.5rem}.section{padding:3.5rem 1rem}.about-grid{grid-template-columns:1fr;gap:3rem}.about-visual{aspect-ratio:1}.projects-grid{grid-template-columns:1fr}.footer{padding:1.5rem}}@media (max-width:600px){.hero-title{font-size:2.75rem}.work-header{flex-direction:column;align-items:flex-start}.skills-grid{grid-template-columns:1fr}.contact-email{font-size:1.25rem}}.navbar-logo-img{object-fit:contain;object-position:center center;background:#fff;border-radius:16px;width:140px;height:140px;padding:20px;transition:all .3s;display:block;box-shadow:0 4px 20px #00000026}@media (max-width:900px){.navbar-logo-img{border-radius:12px;width:70px;height:70px;padding:10px}}body.dark .navbar-logo-img{filter:invert()}.lightbox{z-index:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;justify-content:center;align-items:center;animation:.2s lbFadeIn;display:flex;position:fixed;inset:0}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--black);cursor:pointer;z-index:600;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.125rem;transition:background .2s,border-color .2s;display:flex;position:fixed;top:1.25rem;right:1.25rem}.lightbox-close:hover{background:var(--gray-200);border-color:var(--gray-400)}.lightbox-inner{background:var(--white);width:min(1200px,96vw);max-height:90vh;color:var(--black);scrollbar-width:thin;scrollbar-color:var(--gray-200)transparent;flex-direction:column;display:flex;overflow-y:auto;box-shadow:0 8px 60px #0000001f}.lightbox-header{border-bottom:1px solid var(--gray-200);background:var(--white);flex-shrink:0;padding:2rem 2.5rem 1.75rem}.lightbox-category{letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;font-size:.65rem;font-weight:700;display:block}.lightbox-title{letter-spacing:-.03em;color:var(--black);margin-bottom:.75rem;font-size:1.5rem;font-weight:800}.lightbox-desc{color:var(--gray-600);margin:0;font-size:.9375rem;line-height:1.65}.lightbox-story{flex-direction:column;display:flex}.lightbox-story-text{color:var(--gray-600);padding:2.5rem 2.5rem 0;font-size:1.0625rem;line-height:1.8}.lightbox-story-img{cursor:zoom-in;margin-top:2rem;overflow:hidden}.lightbox-story-img img{width:100%;height:auto;transition:opacity .3s;display:block}.lightbox-story-img:hover img{opacity:.92}.lightbox-grid{background:var(--gray-200);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:3px;padding:3px;display:grid}.lightbox-grid-item{aspect-ratio:4/3;cursor:zoom-in;background:var(--gray-100);overflow:hidden}.lightbox-grid-item img{object-fit:cover;opacity:.95;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s;display:block}.lightbox-grid-item:hover img{opacity:1;transform:scale(1.05)}.lightbox-zoom-stage{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.lightbox-zoom-img{object-fit:contain;max-width:calc(100vw - 130px);max-height:calc(100vh - 40px);animation:.2s lbSlide;display:block;box-shadow:0 4px 40px #00000026}@keyframes lbSlide{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lightbox-nav{border:1px solid var(--gray-200);color:var(--black);cursor:pointer;z-index:5;background:#ffffffe6;justify-content:center;align-items:center;width:48px;height:64px;font-size:2rem;line-height:1;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff}.lightbox-prev{left:.75rem}.lightbox-next{right:.75rem}@media (max-width:600px){.lightbox-nav{width:36px;height:48px;font-size:1.5rem}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-title{font-size:1.125rem}.lightbox-header{padding:1.5rem}.lightbox-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}
