@import url("https://fonts.bunny.net/css?family=just-me-again-down-here:400");.gallery-section{align-items:center;background:#fff;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;padding:100px 4% 40px;position:relative}.gallery-header{align-items:center;border-bottom:1px solid rgba(148,163,184,.1);display:flex;justify-content:space-between;margin:0 auto 20px;max-width:1200px;padding-bottom:20px;width:100%;z-index:10}.gallery-title{color:#000;font-size:2.5rem;font-weight:800;letter-spacing:-.5px}.gallery-back-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);border-radius:9999px;color:#1e293b;display:flex;font-size:15px;font-weight:600;gap:10px;padding:10px 20px;-webkit-text-decoration:none;text-decoration:none;transition:all .3s ease}.gallery-back-button:hover{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.2);transform:translateY(-2px)}.gallery-carousel-container{align-items:center;display:flex;height:620px;justify-content:center;margin:1rem auto;max-width:1400px;overflow:hidden;position:relative;width:100%;z-index:5}.carousel-wheel-wrapper{--card-border-radius:14px;--card-width:max(180px,20vw);--card-height:calc(var(--card-width)*6/4);--radius:calc(var(--card-width)*var(--cards)/6.28318);height:calc(var(--radius)*2);left:50%;pointer-events:none;position:absolute;top:calc(max(180px, 20vw)*6/4 + 20px);top:calc(var(--card-height) + 20px);transform:translateX(-50%) rotate(calc(var(--rotate)*1turn));transform-origin:center center;transition:transform .6s cubic-bezier(.25,1,.5,1);width:calc(var(--radius)*2)}.carousel-wheel-card{border-radius:var(--card-border-radius);cursor:pointer;height:var(--card-height);left:50%;overflow:visible;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-100%) rotate(var(--angle)) translateY(calc(var(--radius)*-1));transform-origin:50% 100%;transition:filter .3s ease,opacity .3s ease,transform .3s ease;width:var(--card-width)}.carousel-wheel-card:hover{filter:blur(0) grayscale(0)!important;opacity:1!important}.carousel-wheel-card img{border:1px solid hsla(0,0%,100%,.1);border-radius:inherit;box-shadow:0 15px 35px rgba(0,0,0,.4);height:100%;-o-object-fit:cover;object-fit:cover;transition:border-color .3s ease;width:100%}.carousel-wheel-card.active img{border-color:#3b82f6;box-shadow:0 20px 45px rgba(0,0,0,.6),0 0 30px rgba(59,130,246,.3)}.carousel-nav-controls{align-items:center;display:flex;gap:2rem;margin-top:1rem;z-index:10}.carousel-nav-btn{align-items:center;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);border-radius:50%;color:#1e293b;cursor:pointer;display:flex;font-size:1.25rem;height:50px;justify-content:center;transition:all .3s ease;width:50px}.carousel-nav-btn:hover{background:rgba(0,0,0,.08);border-color:rgba(0,0,0,.15);transform:scale(1.1)}.scroll-hint-icon{align-items:center;animation:pulse 2s infinite;color:rgba(0,0,0,.6);display:flex;flex-direction:column;font-size:.85rem;gap:.5rem;margin-top:1.5rem;z-index:10}@keyframes pulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.8;transform:translateY(5px)}}.modal-overlay{animation:modalFadeIn .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:rgba(15,23,42,.95);height:100%;left:0;padding:40px;position:fixed;top:0;width:100%;z-index:10000}.modal-content,.modal-overlay{align-items:center;display:flex;justify-content:center}.modal-content{animation:modalZoomIn .5s cubic-bezier(.34,1.56,.64,1);max-height:90vh;max-width:1200px;position:relative}.modal-image{border-radius:20px;box-shadow:0 25px 50px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.1),0 0 100px rgba(59,130,246,.2);height:auto;max-height:85vh;max-width:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto}.close-button{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;position:absolute;right:30px;top:20px;transition:all .3s ease;width:48px;z-index:10010}.close-button:hover{background:hsla(0,0%,100%,.2);transform:rotate(90deg) scale(1.1)}.modal-nav{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:56px;z-index:10010}.modal-nav:hover{background:hsla(0,0%,100%,.2);transform:translateY(-50%) scale(1.15)}.modal-nav.prev{left:40px}.modal-nav.next{right:40px}@media (max-width:768px){.carousel-wheel-wrapper{--card-width:160px;--card-height:240px}.gallery-carousel-container{height:500px}.carousel-wheel-card:after{font-size:1rem;--caption-y:calc(-30px*(1 - var(--caption-active)))}.gallery-title{font-size:2rem}}@media (max-width:480px){.carousel-wheel-wrapper{--card-width:120px;--card-height:180px}.gallery-carousel-container{height:400px}.gallery-title{font-size:1.6rem}.modal-overlay{padding:20px 10px}.form-modal-content{gap:20px;padding:24px 16px}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.gallery-grid-section{margin:80px auto 40px;max-width:1300px;padding:0 4%;position:relative;width:100%;z-index:10}.grid-section-header{align-items:center;border-bottom:2px solid rgba(0,0,0,.05);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:40px;padding-bottom:20px}.grid-header-left{flex-grow:1}.grid-title{color:#000;font-size:2.2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 8px}.grid-subtitle{color:#64748b;font-size:1.05rem;margin:0}.add-memory-trigger-btn{align-items:center;background:#000;border:none;border-radius:9999px;box-shadow:0 4px 15px rgba(0,0,0,.15);color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-memory-trigger-btn:hover{background:#1e293b;box-shadow:0 8px 20px rgba(59,130,246,.2);transform:translateY(-2px)}.add-memory-trigger-btn svg{font-size:14px}.gallery-grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:30px;gap:30px;width:100%}.memory-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.03);cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.25,1,.5,1)}.memory-card:hover{border-color:rgba(59,130,246,.25);box-shadow:0 20px 40px rgba(0,0,0,.08),0 0 25px rgba(59,130,246,.08);transform:translateY(-8px)}.memory-card-image-wrapper{background:#0f172a;height:230px;overflow:hidden;position:relative;width:100%}.memory-card-bg-blur{background-position:50%;background-size:cover;bottom:-15px;filter:blur(12px) brightness(.85);left:-15px;opacity:.5;pointer-events:none;position:absolute;right:-15px;top:-15px;transition:transform .6s cubic-bezier(.25,1,.5,1);z-index:1}.memory-card:hover .memory-card-bg-blur{transform:scale(1.08)}.memory-card-image-wrapper img{transition:transform .6s cubic-bezier(.25,1,.5,1)}.memory-card:hover .memory-card-image-wrapper img{transform:scale(1.06)}.memory-card-hover-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.4);display:flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%;z-index:10}.memory-card-hover-overlay span{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.3);border-radius:9999px;color:#fff;font-size:15px;font-weight:600;padding:10px 20px}.memory-card:hover .memory-card-hover-overlay{opacity:1}.memory-card-date-badge{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.05);border-radius:9999px;bottom:12px;box-shadow:0 4px 10px rgba(0,0,0,.05);color:#1e293b;font-size:12px;font-weight:600;gap:6px;left:12px;padding:6px 14px}.delete-memory-btn,.memory-card-date-badge{align-items:center;display:flex;position:absolute;z-index:5}.delete-memory-btn{background:rgba(239,68,68,.9);border:none;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.15);color:#fff;cursor:pointer;font-size:14px;height:36px;justify-content:center;opacity:0;right:12px;top:12px;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);width:36px}.memory-card:hover .delete-memory-btn{opacity:1;transform:scale(1)}.delete-memory-btn:hover{background:#dc2626;transform:scale(1.1)!important}.memory-card-content{background:#fff;display:flex;flex-direction:column;flex-grow:1;gap:12px;padding:24px}.memory-card-title{color:#000;font-size:1.3rem;font-weight:700;margin:0}.memory-card-description{color:#475569;font-size:.95rem;line-height:1.6;margin:0}.add-card-placeholder{align-items:center;background:rgba(59,130,246,.01);border:2px dashed rgba(59,130,246,.3);box-shadow:none;justify-content:center;padding:40px 30px;text-align:center}.add-card-placeholder:hover{background:rgba(59,130,246,.03);border-color:rgba(59,130,246,.6)}.add-card-inner{align-items:center;display:flex;flex-direction:column;gap:16px}.plus-icon-circle{align-items:center;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.15);border-radius:50%;color:#3b82f6;display:flex;font-size:20px;height:60px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:60px}.add-card-placeholder:hover .plus-icon-circle{background:#3b82f6;box-shadow:0 0 15px rgba(59,130,246,.4);color:#fff;transform:rotate(90deg) scale(1.1)}.add-card-placeholder h3{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0}.add-card-placeholder p{color:#64748b;font-size:.9rem;line-height:1.5;margin:0;max-width:280px}.form-modal-overlay{backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;background:rgba(15,23,42,.6)!important}.form-modal-content{animation:modalZoomIn .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:24px;box-shadow:0 30px 60px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.02);display:flex;flex-direction:column;gap:28px;max-height:92vh;max-width:680px;overflow-y:auto;padding:40px;width:100%}.modal-close-btn{background:rgba(0,0,0,.05)!important;border:1px solid rgba(0,0,0,.08)!important;color:#000!important;right:25px!important;top:25px!important}.modal-close-btn:hover{background:rgba(0,0,0,.1)!important}.form-modal-header{align-items:center;display:flex;flex-direction:column;gap:10px;text-align:center}.form-modal-header .header-icon{color:#3b82f6;font-size:32px;margin-bottom:5px}.form-modal-header h2{color:#000;font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin:0}.form-modal-header p{color:#64748b;font-size:.98rem;line-height:1.5;margin:0;max-width:480px}.add-memory-form{display:flex;flex-direction:column;gap:20px}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:580px){.form-grid-two{gap:20px;grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#0f172a;font-size:.9rem;font-weight:600}.form-group input,.form-group textarea{background:#f8fafc;border:1px solid rgba(0,0,0,.12);border-radius:10px;color:#000;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:#94a3b8}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.12);outline:none}.preset-thumbnails-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:10px;gap:10px;width:100%}@media (max-width:480px){.preset-thumbnails-grid{grid-template-columns:repeat(3,1fr)}}.preset-thumb-wrapper{aspect-ratio:3/2;border:2px solid transparent;border-radius:8px;cursor:pointer;opacity:.7;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.preset-thumb-wrapper:hover{opacity:1}.preset-thumb-wrapper.active{border-color:#3b82f6;box-shadow:0 0 10px rgba(59,130,246,.3);opacity:1;transform:scale(1.05)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:15px}.form-btn{border-radius:9999px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.form-btn.cancel{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);color:#475569}.form-btn.cancel:hover{background:rgba(0,0,0,.08);color:#000}.form-btn.submit{background:#000;border:none;box-shadow:0 4px 10px rgba(0,0,0,.15);color:#fff}.form-btn.submit:hover{background:#1e293b;box-shadow:0 6px 15px rgba(59,130,246,.2);transform:translateY(-2px)}.grid-lightbox-content{animation:modalZoomIn .4s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid hsla(0,0%,100%,.1);border-radius:24px;box-shadow:0 25px 50px rgba(0,0,0,.4);display:flex;flex-direction:column!important;max-width:900px!important;overflow:hidden}.grid-lightbox-image-wrapper{background:#0b0f19;border-radius:20px 20px 0 0;height:55vh;min-height:300px;overflow:hidden;position:relative;width:100%}.grid-lightbox-image-wrapper .lightbox-bg-blur{background-position:50%;background-size:cover;bottom:-20px;filter:blur(15px) brightness(.55);left:-20px;opacity:.6;pointer-events:none;position:absolute;right:-20px;top:-20px;z-index:1}.grid-lightbox-content .modal-image{border-radius:20px 20px 0 0!important;box-shadow:none!important;height:100%!important;max-height:100%!important;-o-object-fit:contain!important;object-fit:contain!important;position:relative;width:100%!important;z-index:2}.grid-lightbox-meta{background:#fff;display:flex;flex-direction:column;gap:12px;padding:30px 40px;width:100%}.grid-lightbox-meta h3{color:#000;font-size:1.6rem;font-weight:800;margin:0}.grid-lightbox-meta .date{color:#3b82f6;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.grid-lightbox-meta p{color:#475569;font-size:1.02rem;line-height:1.6;margin:0}@media (max-width:992px){.gallery-grid-container{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-title{font-size:1.8rem}}@media (max-width:580px){.form-modal-content{padding:24px}.grid-lightbox-meta{padding:20px 24px}.grid-lightbox-meta h3{font-size:1.35rem}}.card-carousel-btn{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(15,23,42,.6);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:36px;justify-content:center;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);width:36px;z-index:15}.memory-card:hover .card-carousel-btn{opacity:1}.card-carousel-btn:hover{background:rgba(15,23,42,.85);box-shadow:0 0 12px rgba(59,130,246,.4);transform:translateY(-50%) scale(1.1)}.card-carousel-btn.prev{left:12px}.card-carousel-btn.next{right:12px}.card-carousel-dots{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(15,23,42,.5);border:1px solid hsla(0,0%,100%,.1);border-radius:20px;bottom:12px;display:flex;gap:6px;padding:5px 10px;position:absolute;right:12px;transition:all .3s ease;z-index:15}.card-carousel-dot{background:hsla(0,0%,100%,.4);border-radius:50%;cursor:pointer;height:6px;transition:all .3s ease;width:6px}.card-carousel-dot:hover{background:hsla(0,0%,100%,.8)}.card-carousel-dot.active{background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.6);transform:scale(1.25)}