@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap";.navbar{position:fixed;top:0;left:0;right:0;z-index:9000;background-color:#112c2ceb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid hsla(180,29%,26%,.2);box-shadow:0 2px 12px #00000014;transition:box-shadow .3s ease,background-color .3s ease}.navbar.scrolled{box-shadow:0 4px 20px #0000001f;background-color:#112c2cf7}.navbar-inner{width:100%;max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:5rem;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.navbar-brand{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-weight:700;font-size:clamp(1.1rem,2.5vw,1.25rem);color:var(--primary-foreground);text-decoration:none;letter-spacing:-.025em;transition:opacity .2s ease}.navbar-brand:hover{opacity:.9}.navbar-logo{height:3.25rem;width:auto;max-width:240px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;display:block}@media (min-width: 768px){.navbar-logo{height:3.75rem;max-width:300px}}.navbar-links{display:none;align-items:center;gap:.125rem;list-style:none;padding:0;margin:0}@media (min-width: 768px){.navbar-links{display:flex}}.navbar-link{display:block;padding:.5rem .875rem;border-radius:.375rem;font-size:.9rem;font-weight:500;text-decoration:none;color:#ffffffbf;transition:color .2s ease;border-bottom:2px solid transparent}@media (min-width: 768px){.navbar-links .navbar-link{position:relative}.navbar-links .navbar-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;border-radius:0 1px 0 0}.navbar-links .navbar-link:hover{color:var(--primary-foreground);background-color:transparent}.navbar-links .navbar-link:hover:after{transform:scaleX(1)}.navbar-links .navbar-link.active:after{transform:scaleX(1)}}.navbar-link:hover{color:var(--primary-foreground)}.navbar-link.active{color:var(--primary-foreground);background-color:#2f565640;border-bottom-color:var(--accent)}@media (min-width: 768px){.navbar-links .navbar-link.active{border-bottom-color:transparent}}.navbar-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;min-width:44px;min-height:44px;background:none;border:none;cursor:pointer;border-radius:.375rem;transition:background-color .2s ease}.navbar-toggle:hover{background-color:#2f565633}.hamburger-box{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:24px;height:24px}.hamburger-line{display:block;width:22px;height:2px;background-color:var(--primary-foreground);border-radius:1px;transition:transform .3s ease,opacity .25s ease;transform-origin:center}.navbar-toggle.is-open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-toggle.is-open .hamburger-line:nth-child(2){opacity:0}.navbar-toggle.is-open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (min-width: 768px){.navbar-toggle{display:none}}.navbar-mobile-overlay{position:fixed;left:0;right:0;top:5rem;bottom:0;min-height:100vh;z-index:999;background:#1a3436!important;background-color:#1a3436!important;display:flex;flex-direction:column;padding:1.5rem var(--container-padding-x) 2rem;padding-bottom:2.5rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;animation:navbar-slide-in .4s cubic-bezier(.32,.72,0,1) forwards;-webkit-tap-highlight-color:transparent}.navbar-mobile-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1a3436;z-index:-1}@keyframes navbar-slide-in{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}@media (min-width: 768px){.navbar-mobile-overlay{display:none}}.navbar-mobile-links{list-style:none;padding:0;margin:0;flex:0 0 auto;display:flex;flex-direction:column;gap:.25rem}.navbar-mobile .navbar-link{padding:.875rem 1rem;font-size:1.05rem;border-radius:.5rem;border-bottom:none}.navbar-mobile .navbar-link.active{border-bottom:none;border-left:3px solid var(--accent);padding-left:calc(1rem - 3px)}.navbar-mobile-cta{flex-shrink:0;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsla(180,29%,26%,.3)}.navbar-mobile-cta .navbar-link{display:flex;align-items:center;justify-content:center;padding:.875rem 1.25rem;background-color:var(--accent);color:var(--accent-foreground);font-weight:600;border-radius:.5rem}.navbar-mobile-cta .navbar-link:hover{filter:brightness(1.08);background-color:var(--accent)}.navbar-mobile-cta .navbar-link.active{background-color:var(--primary);color:var(--primary-foreground);border-left:none}.navbar-cart-btn{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:transparent;border:none;color:#ffffffd9;cursor:pointer;transition:color .2s,background .2s;margin-right:.25rem}.navbar-cart-btn:hover{color:var(--accent);background:#ffffff14}.navbar-cart-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:var(--accent-foreground, #1a3436);border-radius:999px;min-width:18px;height:18px;font-size:.7rem;font-weight:700;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.footer{position:relative;background:linear-gradient(180deg,hsl(181,48%,10%) 0%,var(--dark-bg) 100%);color:var(--primary-foreground)}.footer-accent{height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));width:100%}.footer-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding:clamp(2.5rem,6vw,4rem) var(--container-padding-x)}.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media (min-width: 640px){.footer-grid{gap:3rem}}@media (min-width: 768px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:3.5rem;align-items:start}}@media (min-width: 1024px){.footer-grid{gap:4rem}}.footer-brand-block{max-width:22rem}.footer-brand{display:inline-block;margin-bottom:1rem;transition:opacity .2s}.footer-brand:hover{opacity:.92}.footer-logo{height:3.5rem;width:auto;max-width:260px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center;display:block}@media (min-width: 768px){.footer-logo{height:4rem;max-width:320px}}.footer-tagline{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--accent);margin:0 0 .5rem;line-height:1.4}.footer-desc{color:#ffffffa6;font-family:var(--font-body);font-size:.875rem;line-height:1.65;margin:0}.footer-col{padding-top:.25rem}.footer-heading{font-family:var(--font-heading);font-weight:700;font-size:.9375rem;letter-spacing:.03em;text-transform:uppercase;color:#fff;margin:0 0 1.25rem;padding-bottom:.5rem;border-bottom:2px solid rgba(255,255,255,.15);display:inline-block}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.625rem}.footer-links a{font-size:.9375rem;color:#ffffffb3;text-decoration:none;transition:color .2s;display:inline-block}.footer-links a:hover{color:var(--accent)}.footer-contact-wrap{background:#ffffff0f;border-radius:.5rem;padding:1rem 1.25rem;border:1px solid rgba(255,255,255,.08)}.footer-contact-link{display:inline-flex;align-items:center;gap:.75rem;font-size:.9375rem;color:#ffffffd9;text-decoration:none;transition:color .2s,background .2s}.footer-contact-link:hover{color:var(--accent)}.footer-contact-link svg{flex-shrink:0;color:var(--accent);opacity:.9}.footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.footer-copy{font-size:.8125rem;color:#ffffff59}.footer-admin-link{font-size:.75rem;color:#fff3;text-decoration:none;transition:color .2s;letter-spacing:.04em}.footer-admin-link:hover{color:#ffffff80}.scroll-to-top{position:fixed;bottom:clamp(1rem,4vw,1.5rem);right:var(--container-padding-x);z-index:40;width:clamp(2.5rem,8vw,2.75rem);height:clamp(2.5rem,8vw,2.75rem);border-radius:50%;background-color:var(--primary);color:var(--primary-foreground);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-elevated);transition:opacity .3s,transform .2s;opacity:0;pointer-events:none}.scroll-to-top.visible{opacity:1;pointer-events:auto}.scroll-to-top:hover{transform:translateY(-2px);background-color:#284848}.scroll-to-top:focus{outline:none;box-shadow:0 0 0 2px var(--accent)}@media (max-width: 767px){.scroll-to-top{bottom:5rem}}.scroll-to-top svg{flex-shrink:0}.promo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#000000bf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1rem;animation:fadeIn .4s ease-out forwards}.promo-modal-content{position:relative;background-color:var(--card, #fff);border-radius:.75rem;overflow:hidden;width:-moz-fit-content;width:fit-content;max-width:95vw;max-height:90vh;box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;animation:scaleUp .4s cubic-bezier(.16,1,.3,1) forwards}.promo-modal-close{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;border-radius:50%;background-color:#000000a6;color:#fff;border:none;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.promo-modal-close:hover{background-color:var(--primary, #d42a2a);transform:scale(1.1)}.promo-modal-image-wrap{position:relative;width:-moz-fit-content;width:fit-content;flex-grow:1;display:flex;justify-content:center;align-items:center;background-color:#fff;overflow:hidden;margin:0 auto}.promo-modal-image{width:auto;height:auto;max-width:100vw;max-height:calc(90vh - 100px);-o-object-fit:contain;object-fit:contain;display:block}.promo-modal-footer{padding:1rem;text-align:center;background-color:var(--card, #fff);border-top:1px solid var(--border, #eee);flex-shrink:0}.promo-modal-footer h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:700;color:var(--foreground, #333);font-family:var(--font-heading, sans-serif)}.promo-modal-footer p{margin:0;font-size:.85rem;color:var(--muted-foreground, #666)}@media screen and (min-width: 640px){.promo-modal-overlay{padding:2rem}.promo-modal-content{border-radius:1rem;max-height:calc(100vh - 4rem)}.promo-modal-close{top:1rem;right:1rem;width:2.25rem;height:2.25rem;font-size:1.5rem}.promo-modal-footer{padding:1.25rem 1.5rem}.promo-modal-footer h3{font-size:1.25rem}.promo-modal-footer p{font-size:.95rem}}@media screen and (min-width: 1024px){.promo-modal-content{max-width:800px;max-height:90vh}}@media screen and (max-height: 500px) and (orientation: landscape){.promo-modal-content{flex-direction:row;align-items:stretch}.promo-modal-image-wrap{width:60%;border-right:1px solid var(--border, #eee)}.promo-modal-footer{width:40%;display:flex;flex-direction:column;justify-content:center;border-top:none;border-left:1px solid var(--border, #eee)}.promo-modal-image{max-height:100vh}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;animation:fadeIn .2s ease}.cart-drawer{position:fixed;top:0;right:0;height:100vh;width:100%;max-width:420px;background:#fff;z-index:201;display:flex;flex-direction:column;box-shadow:-8px 0 32px #1a34362e;animation:slideIn .28s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:var(--dark-bg, #1a3436);color:#fff}.cart-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:1.125rem;font-weight:700}.cart-badge{background:var(--accent);color:var(--accent-foreground, #1a3436);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700;font-family:var(--font-body)}.cart-close{background:transparent;border:none;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;transition:background .2s}.cart-close:hover{background:#ffffff1f;color:#fff}.cart-body{flex:1;overflow-y:auto;padding:1rem 1.5rem}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;gap:1rem;color:var(--muted-foreground);text-align:center}.cart-empty p{font-family:var(--font-body);font-size:1rem;margin:0}.cart-empty-btn{padding:.625rem 1.5rem;background:var(--accent);color:var(--accent-foreground, #1a3436);border:none;border-radius:.5rem;font-family:var(--font-heading);font-weight:600;font-size:.875rem;cursor:pointer;transition:filter .2s}.cart-empty-btn:hover{filter:brightness(1.08)}.cart-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.cart-item:last-child{border-bottom:none}.cart-item-img{width:72px;height:72px;-o-object-fit:cover;object-fit:cover;border-radius:.5rem;border:1px solid var(--border);flex-shrink:0;background:var(--muted)}.cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.cart-item-name{font-family:var(--font-heading);font-size:.9375rem;font-weight:600;color:var(--foreground);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-meta{display:flex;gap:.5rem;font-family:var(--font-body);font-size:.8125rem;color:var(--muted-foreground);margin:0}.cart-item-meta span:after{content:"·";margin-left:.5rem}.cart-item-meta span:last-child:after{content:""}.cart-item-actions{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.cart-qty{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.cart-qty button{width:28px;height:28px;background:var(--muted);border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--foreground);display:flex;align-items:center;justify-content:center;transition:background .15s}.cart-qty button:hover{background:var(--border)}.cart-qty span{width:32px;text-align:center;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--foreground)}.cart-item-price{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--primary);margin-left:auto}.cart-remove{background:transparent;border:none;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;padding:.25rem;border-radius:.25rem;transition:color .15s}.cart-remove:hover{color:#e53e3e}.cart-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);background:var(--muted);display:flex;flex-direction:column;gap:.75rem}.cart-total{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--foreground)}.cart-total-price{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;color:var(--primary)}.cart-shipping-note{font-family:var(--font-body);font-size:.8125rem;color:var(--muted-foreground);margin:0;text-align:center}.cart-checkout-btn{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-family:var(--font-heading);font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s,transform .15s}.cart-checkout-btn:hover{background:#244242;transform:translateY(-1px)}.hero{position:relative;min-height:100vh;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center;background-attachment:fixed}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.hero-content{position:relative;z-index:10;text-align:center;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);max-width:48rem;margin:0 auto}.hero-title{font-family:var(--font-heading);font-weight:900;font-size:clamp(2.25rem,5vw + 1rem,5rem);line-height:1.1;letter-spacing:-.025em;color:var(--primary-foreground);margin-bottom:.5rem;text-shadow:0 2px 20px rgba(0,0,0,.3);animation:fade-in-up .8s ease-out forwards}.hero-tagline{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;letter-spacing:.02em;color:var(--accent);margin-bottom:1rem;animation:fade-in-up .8s ease-out forwards;animation-delay:.1s;animation-fill-mode:both}.hero-subtitle{color:#ffffffe6;font-size:1.125rem;line-height:1.5;font-family:var(--font-body);margin-bottom:.75rem;animation:fade-in-up .8s ease-out forwards;animation-delay:.2s;animation-fill-mode:both}.hero-trust{color:#ffffffa6;font-size:.875rem;font-family:var(--font-body);margin-bottom:2rem;animation:fade-in-up .8s ease-out forwards;animation-delay:.3s;animation-fill-mode:both}@media (min-width: 768px){.hero-tagline{font-size:1.5rem}.hero-subtitle{font-size:1.25rem}}.hero-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;animation:fade-in-up .8s ease-out forwards;animation-delay:.4s;animation-fill-mode:both}@media (min-width: 640px){.hero-actions{flex-direction:row}}.hero-btn-primary{display:inline-flex;padding:1rem 2rem;background-color:var(--accent);color:var(--accent-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;text-decoration:none;transition:filter .3s,transform .2s}.hero-btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.hero-btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero-btn-secondary{display:inline-flex;padding:1rem 2rem;border:1px solid rgba(255,255,255,.3);color:var(--primary-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;text-decoration:none;transition:background-color .3s,transform .2s}.hero-btn-secondary:hover{background-color:#ffffff1a;transform:translateY(-2px)}.hero-btn-secondary:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.hero-scroll{position:absolute;bottom:clamp(1rem,4vw,2rem);left:50%;transform:translate(-50%);color:#ffffff80;animation:bounce 2s infinite}.mission{padding:var(--section-padding-y) 0;background-color:var(--background)}.mission-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.mission-header{text-align:center;max-width:48rem;margin:0 auto;margin-bottom:clamp(2.5rem,6vw,4rem)}.mission-title{font-family:var(--font-heading);font-weight:800;font-size:clamp(1.875rem,4.5vw,2.5rem);color:var(--foreground);letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem;position:relative;display:inline-block}.mission-title-line{position:relative;width:4rem;height:.25rem;background:linear-gradient(90deg,transparent,var(--accent),hsl(82,100%,78%,.7),transparent);border-radius:2px;margin:0 auto 1.75rem}.mission-title-line:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:.5rem;height:.5rem;background:var(--primary);border-radius:50%;box-shadow:0 0 0 2px var(--background)}.mission-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:clamp(1rem,2vw,1.125rem);line-height:1.7;max-width:40rem;margin:0 auto}.mission-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2rem)}@media (min-width: 640px){.mission-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.mission-grid{grid-template-columns:repeat(3,1fr)}}.mission-card{position:relative;background-color:var(--card);border-radius:1rem;padding:clamp(1.75rem,4vw,2.25rem);text-align:center;border:1px solid var(--border);box-shadow:0 4px 20px -4px #0000000f,0 2px 8px -2px #0000000a;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.mission-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1rem;border:2px solid var(--primary);pointer-events:none;transform:scale(0);transform-origin:center;transition:transform .35s ease}.mission-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px -12px #0000001f,0 8px 16px -4px #0000000f}.mission-card:hover:after{transform:scale(1)}.mission-card-icon{width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,#d6ff8f59,#d6ff8f26);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}@media (min-width: 640px){.mission-card-icon{width:4rem;height:4rem}}.mission-card-icon svg{color:var(--primary)}.mission-card-title{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.2rem,2.5vw,1.35rem);color:var(--foreground);margin-bottom:.75rem;line-height:1.3}.mission-card-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:.9375rem;line-height:1.6}.community{padding:var(--section-padding-y) 0;background-color:var(--dark-bg);color:var(--primary-foreground)}.community-inner{max-width:48rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.community-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;margin-bottom:1.5rem}@media (min-width: 768px){.community-title{font-size:2.25rem}}.community-desc{color:#ffffffb3;font-family:var(--font-body);font-size:clamp(1rem,2vw,1.125rem);line-height:1.6;margin-bottom:clamp(1.5rem,4vw,2rem)}.community-quote{border-left:4px solid var(--accent);padding-left:1.5rem;text-align:left;font-style:italic;color:#fff9;font-family:var(--font-body);font-size:1rem}.calendar-container{width:100%;max-width:1024px;margin:0 auto;background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px #0000000d;border:1px solid #e5e7eb}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-header h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0}.calendar-nav{display:flex;gap:8px}.calendar-nav button{padding:8px;border-radius:50%;cursor:pointer;border:none;background:transparent;display:flex;align-items:center;justify-content:center}.calendar-nav button:hover{background:#f3f4f6}.calendar-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px;min-width:600px}.calendar-day-name{text-align:center;font-weight:600;color:#6b7280;font-size:.875rem;text-transform:uppercase;padding:8px 0}.calendar-grid-body{display:flex;flex-direction:column;background-color:#e5e7eb;border:1px solid #e5e7eb;gap:1px;min-width:600px}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.calendar-cell{height:140px;padding:8px;transition:background .2s;background:#fff;display:flex;flex-direction:column;overflow:hidden}.calendar-cell.other-month{background:#f9fafb;color:#9ca3af}.calendar-cell.current-day{background:#eff6ff}.cell-header{display:flex;justify-content:space-between;align-items:center}.day-number{font-weight:600;color:#374151}.current-day .day-number{color:#2563eb}.other-month .day-number{color:#9ca3af}.event-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.event-dot.event-color-blue{background:#2563eb}.event-dot.event-color-green{background:#16a34a}.event-dot.event-color-amber{background:#d97706}.event-dot.event-color-purple{background:#9333ea}.event-list{display:flex;flex-direction:column;gap:4px;margin-top:8px;overflow-y:auto;flex:1;padding-right:2px}.event-list::-webkit-scrollbar{width:4px}.event-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.event-item{font-size:.75rem;border-radius:4px;padding:4px 6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .2s}.event-item.event-color-blue{background:#dbeafe;color:#1d4ed8}.event-item.event-color-blue:hover{background:#bfdbfe}.event-item.event-color-green{background:#dcfce7;color:#15803d}.event-item.event-color-green:hover{background:#bbf7d0}.event-item.event-color-amber{background:#fef3c7;color:#b45309}.event-item.event-color-amber:hover{background:#fde68a}.event-item.event-color-purple{background:#f3e8ff;color:#7e22ce}.event-item.event-color-purple:hover{background:#e9d5ff}@media (max-width: 768px){.calendar-container{padding:16px}.calendar-header h2{font-size:1.25rem}.calendar-cell{height:100px;padding:4px}.day-number{font-size:.8rem}.event-item{font-size:.65rem;padding:2px 4px}}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.custom-modal-content{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:450px;position:relative;box-shadow:0 10px 25px #0003;animation:slideUp .2s ease-out}.custom-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px}.custom-modal-close:hover{background:#f3f4f6;color:#1f2937}.custom-modal-header h2{margin:0 0 8px;font-size:1.5rem;color:#1f2937}.custom-modal-header p{margin:0 0 20px;color:#6b7280;font-size:.875rem}.custom-modal-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;color:#374151;font-weight:500;font-size:.95rem}.custom-modal-row svg{color:#6b7280}.custom-modal-desc{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;color:#4b5563;font-size:.9rem;line-height:1.5}.custom-modal-footer{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.btn-cancel{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;color:#374151;font-weight:500;font-size:.9rem}.btn-book{padding:8px 16px;border:none;background:var(--primary, #185052);color:#fff;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9rem}.btn-book:hover{background:var(--dark-bg, #113637)}.btn-cancel:hover{background:#f3f4f6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.events-page{padding-top:4rem}.events-header{position:relative;padding:var(--section-padding-y) 0;background-image:url(/event/eventpage.webp);background-size:cover;background-position:center;color:var(--primary-foreground)}.events-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.events-header-inner{position:relative;z-index:1;max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.events-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;margin-bottom:1rem}@media (min-width: 768px){.events-title{font-size:3rem}}.events-subtitle{color:#ffffffb3;font-family:var(--font-body);font-size:1.125rem}.events-cards-section{padding:var(--section-padding-y) 0;background-color:var(--background)}.events-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.events-grid-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:flex-start}.events-grid-layout>*{min-width:0}.events-calendar-wrap{width:100%;min-width:0}@media (min-width: 1024px){.events-grid-layout{grid-template-columns:320px 1fr;gap:3rem}}.events-sidebar{background-color:var(--card, #fff);border-radius:12px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid var(--border, #e5e7eb);display:flex;flex-direction:column}.events-sidebar-title{font-family:var(--font-heading, sans-serif);font-size:1.5rem;font-weight:700;color:var(--foreground, #1f2937);margin-top:0;margin-bottom:1.5rem;border-bottom:2px solid var(--primary, #d42a2a);padding-bottom:.75rem;display:inline-block}.events-sidebar-list{display:flex;flex-direction:column;gap:1.25rem}.events-sidebar-item{display:flex;align-items:center;gap:1rem;padding:0;background:transparent;border:none;text-align:left;cursor:pointer;transition:transform .2s ease,opacity .2s ease;width:100%}.events-sidebar-item:hover{transform:translate(4px);opacity:.85}.sidebar-date-box{background-color:var(--primary, #d42a2a);color:#fff;border-radius:8px;width:56px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #d42a2a40}.sidebar-month{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.9;line-height:1}.sidebar-day{font-size:1.4rem;font-weight:800;line-height:1.2}.sidebar-event-info{display:flex;flex-direction:column;gap:.25rem}.sidebar-event-title{margin:0;font-size:1rem;font-weight:600;color:var(--foreground, #1f2937);line-height:1.3}.sidebar-event-time{margin:0;font-size:.85rem;color:var(--muted-foreground, #6b7280)}.events-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3vw,1.5rem);max-width:56rem;margin:0 auto}@media (min-width: 640px){.events-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.events-grid{grid-template-columns:repeat(3,1fr)}}.events-card{background-color:var(--card);border-radius:.75rem;padding:clamp(1.5rem,4vw,2rem);box-shadow:var(--shadow-card);border:1px solid var(--border);transition:var(--transition-smooth)}.events-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.events-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.events-card-header svg{color:var(--primary)}.events-card-date{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--foreground)}.events-card-location{display:flex;align-items:center;gap:.75rem;color:var(--muted-foreground);font-size:.875rem}.events-expect-section{padding:var(--section-padding-y) 0;background-color:var(--muted)}.events-expect-inner{max-width:48rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.events-expect-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;color:var(--foreground);text-align:center;margin-bottom:3rem}.events-expect-list{display:flex;flex-direction:column;gap:1.5rem}.events-expect-item{display:flex;align-items:center;gap:1rem;background-color:var(--card);border-radius:.5rem;padding:1.5rem;box-shadow:var(--shadow-card)}.events-expect-icon{width:3rem;height:3rem;border-radius:50%;background-color:#d6ff8f33;display:flex;align-items:center;justify-content:center;flex-shrink:0}.events-expect-icon svg{color:var(--primary)}.events-expect-item p{margin:0;font-family:var(--font-body);color:var(--foreground)}.events-bring-section{padding:var(--section-padding-y) 0;background:linear-gradient(180deg,var(--muted) 0%,var(--background) 100%)}.events-bring-inner{max-width:52rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.events-bring-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;color:var(--foreground);text-align:center;margin:0 0 .5rem}.events-bring-desc{text-align:center;font-family:var(--font-body);font-size:1rem;color:var(--muted-foreground);margin:0 0 2.5rem}.events-bring-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 640px){.events-bring-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.events-bring-list{grid-template-columns:repeat(3,1fr);gap:1rem}}.events-bring-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--card);border:1px solid var(--border);border-radius:.75rem;box-shadow:var(--shadow-card);transition:var(--transition-smooth)}.events-bring-item:hover{border-color:var(--primary);box-shadow:var(--shadow-elevated)}.events-bring-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:#d6ff8f40;display:flex;align-items:center;justify-content:center;color:var(--primary)}.events-bring-text{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--foreground)}.events-signup-section{padding:var(--section-padding-y) 0;background-color:var(--dark-bg);color:var(--primary-foreground)}.events-signup-inner{max-width:28rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.events-signup-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;margin-bottom:.5rem}.events-signup-subtitle{font-family:var(--font-body);font-size:.9375rem;color:#ffffffbf;margin:0 0 2rem}.events-signup-success{background-color:#d6ff8f33;border-radius:.75rem;padding:2rem}.events-signup-success-title{font-family:var(--font-heading);font-weight:600;font-size:1.125rem}.events-signup-success-desc{color:#ffffffb3;font-family:var(--font-body);font-size:.875rem;margin-top:.5rem}.events-form{display:flex;flex-direction:column;gap:1rem;text-align:left}.events-form label{display:block;font-size:.875rem;font-family:var(--font-body);margin-bottom:.25rem;color:#ffffffb3}.events-form select,.events-form input{width:100%;padding:.75rem 1rem;border-radius:.5rem;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--primary-foreground);font-family:var(--font-body);font-size:.875rem}.events-form select:focus,.events-form input:focus{outline:none;box-shadow:0 0 0 2px var(--accent)}.events-form select option{background-color:var(--dark-bg);color:var(--primary-foreground)}.events-form button{width:100%;padding:1rem 2rem;margin-top:1rem;background-color:var(--accent);color:var(--accent-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:.5rem;cursor:pointer;transition:filter .3s}.events-form button:hover{filter:brightness(1.1)}.volunteer-preview{padding:var(--section-padding-y) 0;background-color:#112c2c}.volunteer-preview-inner{max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.volunteer-preview-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;color:#fff;margin-bottom:1rem}@media (min-width: 768px){.volunteer-preview-title{font-size:2.25rem}}.volunteer-preview-desc{color:#ffffffd9;font-family:var(--font-body);font-size:1.125rem;line-height:1.6;margin-bottom:1rem}.volunteer-preview-quote{font-style:italic;color:#ffffffb3;font-family:var(--font-body);font-size:.875rem;margin-bottom:2rem}.volunteer-preview-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background-color:var(--accent);color:var(--accent-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;text-decoration:none;transition:opacity .3s,filter .2s}.volunteer-preview-btn:hover{opacity:.95;filter:brightness(1.08)}.donation-cta{padding:var(--section-padding-y) 0;background-color:#eceeed;color:var(--foreground)}.donation-cta-inner{max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.donation-cta-icon-wrap{width:3.5rem;height:3.5rem;border-radius:50%;background-color:#d6ff8f59;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.donation-cta-icon-wrap svg{color:var(--primary)}.donation-cta-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;margin-bottom:1rem;color:var(--foreground)}@media (min-width: 768px){.donation-cta-title{font-size:2.25rem}}.donation-cta-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:1.125rem;line-height:1.6;margin-bottom:1rem}.donation-cta-quote{font-style:italic;color:var(--muted-foreground);font-family:var(--font-body);font-size:.875rem;margin-bottom:2rem}.donation-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background-color:var(--accent);color:var(--accent-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;text-decoration:none;transition:filter .3s}.donation-cta-btn:hover{filter:brightness(1.1)}.petitions-section{padding:var(--section-padding-y) 0;background-color:var(--card)}.petitions-inner{max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.petitions-title{font-family:var(--font-heading);font-weight:700;font-size:2rem;color:var(--primary);margin-bottom:.5rem}@media (min-width: 768px){.petitions-title{font-size:2.5rem}}.petitions-subtitle{color:var(--muted-foreground);font-family:var(--font-body);font-size:1.125rem;margin-bottom:3rem;max-width:42rem;margin-inline:auto}.petitions-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:64rem;margin:0 auto;text-align:left}@media (min-width: 768px){.petitions-grid{grid-template-columns:repeat(2,1fr)}}.petition-card{position:relative;background-color:var(--background);border-radius:1rem;padding:2rem;box-shadow:0 4px 20px -4px #0000000f,0 2px 8px -2px #0000000a;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;overflow:hidden}.petition-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:1rem;border:2px solid var(--primary);pointer-events:none;transform:scale(0);transform-origin:center;transition:transform .35s ease}.petition-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 40px -12px #0000001f,0 8px 16px -4px #0000000f}.petition-card:hover:after{transform:scale(1)}.petition-card-icon{width:3.5rem;height:3.5rem;background-color:#d6ff8f33;color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.petition-card-title{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;color:var(--foreground);line-height:1.3;margin-bottom:1rem;flex-grow:1}.petition-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;background-color:var(--primary);color:var(--primary-foreground);font-family:var(--font-heading);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;border-radius:8px;text-decoration:none;transition:background-color .3s,transform .2s}.petition-card-btn:hover{background-color:var(--foreground);color:var(--background)}.videos-page{padding-top:4rem}.videos-header{position:relative;padding:var(--section-padding-y) 0;background-image:url(/event/video.webp);background-size:cover;background-position:center;color:var(--primary-foreground)}.videos-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.videos-header-inner{position:relative;z-index:1;max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.videos-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;margin-bottom:1rem}@media (min-width: 768px){.videos-title{font-size:3rem}}.videos-subtitle{color:#ffffffb3;font-family:var(--font-body);font-size:1.125rem}.videos-content{padding:var(--section-padding-y) 0;background-color:var(--background)}.videos-content-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.videos-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:72rem;margin:0 auto}@media (min-width: 640px){.videos-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.videos-grid{grid-template-columns:repeat(3,1fr)}}.video-card{background:var(--card, #fff);border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #00000014;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;cursor:pointer;border:1px solid var(--border, #eee);text-align:left}.video-card:hover{transform:translateY(-6px);box-shadow:0 12px 25px #0000001f}.video-card-thumbnail{position:relative;width:100%;aspect-ratio:16 / 9;background-color:#000;overflow:hidden}.video-thumbnail-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.video-card:hover .video-thumbnail-img{transform:scale(1.05)}.video-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.video-card:hover .video-card-overlay{background:#00000073}.play-button-wrapper{width:64px;height:64px;background:#fffffff2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary, #d42a2a);box-shadow:0 4px 15px #0000004d;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .3s}.video-card:hover .play-button-wrapper{transform:scale(1.15);background:var(--primary, #d42a2a);color:#fff}.play-icon{margin-left:4px}.video-duration-badge{position:absolute;bottom:12px;right:12px;background:#000c;color:#fff;font-family:var(--font-body, sans-serif);font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:6px;letter-spacing:.02em}.video-card-info{padding:1.25rem}.video-card-title{font-family:var(--font-heading, sans-serif);font-size:1.15rem;font-weight:700;color:var(--foreground, #1f2937);margin:0 0 .5rem;line-height:1.3}.video-card-desc{font-family:var(--font-body, sans-serif);font-size:.9rem;color:var(--muted-foreground, #6b7280);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cinematic-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease-out forwards}.cinematic-modal-close{position:absolute;top:1.5rem;right:1.5rem;width:3rem;height:3rem;border-radius:50%;background:#ffffff1a;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:all .2s ease}.cinematic-modal-close:hover{background:var(--primary, #d42a2a);transform:rotate(90deg)}.cinematic-modal-content{width:100%;max-width:1100px;display:flex;flex-direction:column;background:transparent;animation:scaleUp .3s cubic-bezier(.16,1,.3,1) forwards}.cinematic-player-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #0009}.cinematic-video-element{width:100%;height:100%;display:block}.cinematic-info-bar{margin-top:1.5rem;padding:0 1rem;text-align:left;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.cinematic-info-text{flex-grow:1}.cinematic-info-title{font-family:var(--font-heading, sans-serif);font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .5rem}.cinematic-info-desc{font-family:var(--font-body, sans-serif);font-size:1.05rem;color:#ffffffb3;margin:0;line-height:1.6;max-width:800px}.cinematic-download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary, #d42a2a);color:#fff;font-family:var(--font-heading, sans-serif);font-weight:600;font-size:.95rem;text-decoration:none;border-radius:50px;flex-shrink:0;transition:all .2s ease;box-shadow:0 4px 15px #d42a2a4d}.cinematic-download-btn:hover{transform:translateY(-2px);filter:brightness(1.15);box-shadow:0 6px 20px #d42a2a66}@media (max-width: 768px){.cinematic-modal-overlay{padding:1rem 0;align-items:center}.cinematic-modal-close{top:.5rem;right:.5rem;width:2.5rem;height:2.5rem}.cinematic-player-wrapper{border-radius:0}.cinematic-info-bar{flex-direction:column;align-items:flex-start;gap:1rem}.cinematic-info-title{font-size:1.25rem}.cinematic-info-desc{font-size:.95rem}.cinematic-download-btn{width:100%;justify-content:center}}.blog-page{padding-top:4rem}.blog-header{position:relative;padding:var(--section-padding-y) 0;background-image:url(/event/holy.webp);background-size:cover;background-position:center;color:var(--primary-foreground)}.blog-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.blog-header-inner{position:relative;z-index:1;max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.blog-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;margin-bottom:1rem}@media (min-width: 768px){.blog-title{font-size:3rem}}.blog-subtitle{color:#ffffffb3;font-family:var(--font-body);font-size:1.125rem}.blog-content{padding:var(--section-padding-y) 0;background-color:var(--background)}.blog-content-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.blog-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.blog-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.blog-list{grid-template-columns:repeat(3,1fr)}}.blog-card-wrap{margin:0;height:100%}.blog-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-card);transition:var(--transition-smooth);display:flex;flex-direction:column;height:100%}.blog-card:hover{box-shadow:var(--shadow-elevated)}.blog-card-date{display:block;font-family:var(--font-body);font-size:.8125rem;color:var(--muted-foreground);margin-bottom:.5rem}.blog-card-title{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;margin:0 0 .5rem;line-height:1.3}.blog-card-link{color:var(--foreground);text-decoration:none}.blog-card-link:hover{color:var(--primary);text-decoration:underline}.blog-card-image-wrap{display:block;margin:-1.5rem -1.5rem 1rem;border-radius:.75rem .75rem 0 0;overflow:hidden;flex-shrink:0}.blog-card-image{width:100%;height:100%;aspect-ratio:16 / 9;-o-object-fit:cover;object-fit:cover;background-color:#f1f5f9;vertical-align:middle}.blog-card-image--contain{-o-object-fit:contain;object-fit:contain;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.blog-card-excerpt{font-family:var(--font-body);color:var(--muted-foreground);font-size:.9375rem;line-height:1.5;margin:0 0 1rem;flex-grow:1}.blog-card-read{font-family:var(--font-body);font-weight:600;font-size:.875rem;color:var(--primary);text-decoration:none;margin-top:auto;display:inline-block}.blog-card-read:hover{text-decoration:underline}.blog-post-page{padding-bottom:var(--section-padding-y);background:var(--background)}.blog-post-hero{background:var(--primary);color:var(--primary-foreground);padding:clamp(2rem,5vw,3rem) 0;margin-bottom:0}.blog-post-hero-inner{max-width:48rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.blog-post-breadcrumb{display:inline-block;font-family:var(--font-body);font-size:.875rem;color:#fffc;text-decoration:none;margin-bottom:.75rem}.blog-post-breadcrumb:hover{color:#fff;text-decoration:underline}.blog-post-hero-title{font-family:var(--font-heading);font-weight:700;font-size:1.75rem;line-height:1.3;margin:0 0 .75rem;color:#fff}@media (min-width: 768px){.blog-post-hero-title{font-size:2.25rem}}.blog-post-meta{font-family:var(--font-body);font-size:.875rem;color:#ffffffd9}.blog-post-meta-sep{margin:0 .35rem}.blog-single{max-width:48rem;margin:-2rem auto 0;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);position:relative;z-index:1}.blog-single-inner{background:var(--card);border-radius:.75rem;box-shadow:var(--shadow-elevated);border:1px solid var(--border);padding:2rem;overflow:hidden}@media (min-width: 640px){.blog-single-inner{padding:2.5rem}}.blog-single-image-wrap{margin:-2rem -2rem 2rem;overflow:hidden;border-radius:.75rem .75rem 0 0}@media (min-width: 640px){.blog-single-image-wrap{margin:-2.5rem -2.5rem 2.5rem}}.blog-single-image{width:100%;height:100%;aspect-ratio:16 / 9;max-height:25rem;-o-object-fit:contain;object-fit:contain;background-color:#f1f5f9;display:block;vertical-align:middle}.blog-single-content{font-family:var(--font-body);font-size:1.0625rem;line-height:1.75;color:var(--foreground)}.blog-single-content p{margin:0 0 1.35rem}.blog-single-content p:last-child{margin-bottom:0}.blog-single-content h2{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;line-height:1.35;margin:2rem 0 1rem;color:var(--foreground)}.blog-single-content h2:first-child{margin-top:0}.blog-single-content ul{margin:0 0 1.35rem;padding-left:1.25rem}.blog-single-content li{margin-bottom:.85rem;padding-left:.35rem}.blog-single-content li:last-child{margin-bottom:0}.blog-single-content ul:last-child{margin-bottom:0}.blog-single-footer{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--border)}.blog-single-back{display:inline-flex;align-items:center;font-family:var(--font-body);font-weight:600;font-size:.9375rem;color:var(--primary);text-decoration:none;padding:.5rem 0}.blog-single-back:hover{text-decoration:underline}.image-download-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .3s ease-out forwards}.image-download-modal-content{position:relative;background-color:var(--card, #fff);border-radius:.75rem;max-width:90vw;max-height:95vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;animation:scaleUp .3s ease-out forwards}.image-download-modal-close{position:absolute;top:.75rem;right:.75rem;width:2.5rem;height:2.5rem;border-radius:50%;background-color:#00000080;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s;z-index:10}.image-download-modal-close:hover{background-color:var(--primary, #d42a2a)}.image-download-modal-body{flex-grow:1;display:flex;justify-content:center;align-items:center;background-color:#f1f5f9;overflow:hidden;min-height:0}.image-download-preview-img{width:auto;height:100%;max-width:100vw;max-height:calc(95vh - 70px);-o-object-fit:contain;object-fit:contain;display:block}.image-download-modal-footer{padding:1.25rem;display:flex;justify-content:center;background-color:var(--card, #fff);border-top:1px solid rgba(0,0,0,.05);flex-shrink:0}.image-download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.25rem;background-color:var(--primary, #0f172a);color:#fff;font-family:var(--font-body, sans-serif);font-weight:600;font-size:.95rem;letter-spacing:.03em;text-decoration:none;border-radius:9999px;box-shadow:0 4px 14px #0003,0 2px 5px #0000001a;transition:all .3s cubic-bezier(.25,.8,.25,1)}.image-download-btn:hover{transform:translateY(-3px);box-shadow:0 8px 22px #00000040,0 4px 10px #00000026;filter:brightness(1.15)}.image-download-btn:active{transform:translateY(-1px);box-shadow:0 4px 10px #0003}.volunteer-page{padding-top:4rem}.volunteer-header{position:relative;padding:var(--section-padding-y) 0;background-image:url(/event/volunter.webp);background-size:cover;background-position:center;color:var(--primary-foreground)}.volunteer-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006}.volunteer-header-inner{position:relative;z-index:1;max-width:42rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.volunteer-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;margin-bottom:1rem}@media (min-width: 768px){.volunteer-title{font-size:3rem}}.volunteer-subtitle{color:#ffffffb3;font-family:var(--font-body);font-size:1.125rem}.volunteer-roles-section{padding:var(--section-padding-y) 0;background-color:var(--background)}.volunteer-inner{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}.volunteer-roles-title{font-family:var(--font-heading);font-weight:700;font-size:1.875rem;color:var(--foreground);text-align:center;margin-bottom:clamp(2rem,5vw,3rem)}.volunteer-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.25rem,3vw,1.5rem);max-width:64rem;margin:0 auto}@media (min-width: 640px){.volunteer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.volunteer-grid{grid-template-columns:repeat(4,1fr)}}.volunteer-card{background-color:var(--card);border-radius:.75rem;padding:1.5rem;box-shadow:var(--shadow-card);border:1px solid var(--border);transition:var(--transition-smooth)}.volunteer-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-4px)}.volunteer-card-icon{width:3rem;height:3rem;border-radius:50%;background-color:#d6ff8f33;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.volunteer-card-icon svg{color:var(--primary)}.volunteer-card-title{font-family:var(--font-heading);font-weight:600;color:var(--foreground);margin-bottom:.5rem}.volunteer-card-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:.875rem}.volunteer-card-note{margin-top:.5rem;font-family:var(--font-body);font-size:.8rem;font-style:italic;color:var(--primary)}.volunteer-cta-section{padding:var(--section-padding-y) 0;background-color:var(--muted)}.volunteer-cta-inner{max-width:36rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.volunteer-cta-quote{font-style:italic;color:var(--muted-foreground);font-family:var(--font-body);font-size:1.125rem;margin-bottom:2rem}.volunteer-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background-color:var(--primary);color:var(--primary-foreground);font-family:var(--font-heading);font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-radius:.5rem;text-decoration:none;transition:opacity .3s;cursor:pointer;border:none}.volunteer-cta-btn:hover{opacity:.9}.volunteer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a343659;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--container-padding-x);overflow-y:auto}.volunteer-modal{position:relative;background:var(--card);border-radius:12px;box-shadow:0 8px 32px #1a34361f;border:1px solid var(--border);width:100%;max-width:32rem;max-height:calc(100vh - 2rem);overflow-y:auto;padding:2rem 1.75rem;margin:auto}.volunteer-modal-close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border:none;background:none;color:var(--muted-foreground);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s,background .2s}.volunteer-modal-close:hover{color:var(--foreground);background:var(--muted)}.volunteer-modal-title{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--primary);margin-bottom:.5rem;padding-right:2.5rem}.volunteer-modal-subtitle{font-family:var(--font-body);color:var(--muted-foreground);font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.volunteer-modal-success{text-align:center;padding:1rem 0}.volunteer-modal-success p{font-family:var(--font-body);color:var(--foreground);font-size:.95rem;margin-bottom:1.25rem}.volunteer-form{padding-bottom:0}.volunteer-form label.volunteer-form-label{display:block;font-family:var(--font-body);font-weight:600;color:var(--foreground);font-size:.8rem;margin-bottom:.4rem}.volunteer-form-input{width:100%;padding:.7rem .9rem;font-family:var(--font-body);font-size:.95rem;color:var(--foreground);background:var(--muted);border:1px solid transparent;border-radius:8px;margin-bottom:1rem;transition:background .2s,border-color .2s}.volunteer-form-input:focus{outline:none;background:var(--card);border-color:var(--primary)}.volunteer-form-input::-moz-placeholder{color:var(--muted-foreground)}.volunteer-form-input::placeholder{color:var(--muted-foreground)}select.volunteer-form-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234a5568' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-color:var(--muted);padding-right:2.25rem}select.volunteer-form-input:focus{background-color:var(--card)}.volunteer-form-textarea{resize:vertical;min-height:4rem}.volunteer-form-submit{width:100%;margin-top:.5rem;padding:.85rem 1.5rem;border-radius:8px}.volunteer-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.volunteer-form-group{margin-bottom:0}.volunteer-form-group .volunteer-form-input{margin-bottom:1rem}@media (max-width: 640px){.volunteer-form-row{grid-template-columns:1fr;gap:0}.volunteer-modal{padding:1.5rem 1.25rem;max-height:calc(100vh - 1rem)}.volunteer-form-group{width:100%}}.donations-page{padding-top:4rem}.donations-header{position:relative;padding:6rem 0 5rem;background-image:url(/event/hands.webp);background-size:cover;background-position:center;color:#fff;overflow:hidden}.donations-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#112c2cd1,#2f5656b3)}.donations-header:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:60px;background:var(--background);clip-path:ellipse(55% 100% at 50% 100%)}.donations-header-inner{position:relative;z-index:1;max-width:44rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center;animation:fade-in-up .7s ease both}.donations-header-icon{width:4rem;height:4rem;border-radius:50%;background-color:#d6ff8f2e;border:1.5px solid hsla(82,100%,78%,.35);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.donations-header-icon svg{color:var(--accent)}.donations-title{font-family:var(--font-heading);font-weight:700;font-size:2.5rem;margin-bottom:1rem;letter-spacing:-.01em}@media (min-width: 768px){.donations-title{font-size:3.5rem}}.donations-subtitle{color:#ffffffbf;font-family:var(--font-body);font-size:1.125rem;font-style:italic}.donations-impact-section{padding:var(--section-padding-y) 0;background-color:var(--background)}.donations-impact-inner{max-width:58rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center}.donations-impact-label{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-foreground);background-color:#d6ff8f40;padding:.3rem .9rem;border-radius:999px;margin-bottom:.9rem}.donations-impact-heading{font-family:var(--font-heading);font-weight:700;font-size:1.9rem;color:var(--foreground);margin-bottom:.5rem}.donations-impact-sub{font-family:var(--font-body);font-size:.95rem;color:var(--muted-foreground);margin-bottom:2.5rem}.donations-impact-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 640px){.donations-impact-grid{grid-template-columns:repeat(3,1fr)}}.donations-impact-card{background-color:var(--card);border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:.875rem;padding:2rem 1.5rem;text-align:center;transition:transform .25s ease,box-shadow .25s ease}.donations-impact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-elevated)}.donations-impact-icon{width:3.25rem;height:3.25rem;border-radius:50%;background-color:var(--dark-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;color:var(--accent)}.donations-impact-title{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--foreground);margin-bottom:.5rem}.donations-impact-desc{font-family:var(--font-body);font-size:.875rem;color:var(--muted-foreground);line-height:1.65}.donations-form-section{padding:var(--section-padding-y) 0;background-color:var(--dark-bg);position:relative}.donations-form-section:before{content:"";position:absolute;top:-1px;left:0;right:0;height:60px;background:var(--background);clip-path:ellipse(55% 100% at 50% 0%)}.donations-form-inner{max-width:30rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center;position:relative;z-index:1}.donations-card{background-color:var(--card);border-radius:1.25rem;padding:2.75rem 2.25rem;box-shadow:0 20px 60px #0000004d}.donations-card-header{margin-bottom:2rem}.donations-card-icon{color:var(--primary);margin-bottom:.75rem}.donations-form-title{font-family:var(--font-heading);font-weight:700;font-size:1.6rem;color:var(--foreground);margin-bottom:.4rem}.donations-card-sub{font-family:var(--font-body);font-size:.9rem;color:var(--muted-foreground)}.donations-divider{border:none;border-top:1px solid var(--border);margin:0 0 1.75rem}.donations-paypal-container{margin:0 0 1.25rem;min-height:50px}.donations-paypal-note{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.75rem;font-family:var(--font-body);font-size:.8rem;color:var(--muted-foreground)}.donations-quote-section{padding:var(--section-padding-y) 0;background-color:var(--dark-bg);position:relative}.donations-quote-inner{max-width:38rem;margin:0 auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);text-align:center;position:relative}.donations-quote-mark{font-family:Georgia,serif;font-size:7rem;line-height:1;color:#d6ff8f26;position:absolute;top:-2rem;left:var(--container-padding-x);-webkit-user-select:none;-moz-user-select:none;user-select:none}.donations-quote{position:relative}.donations-quote blockquote{font-style:italic;color:#ffffffbf;font-family:var(--font-body);font-size:1.125rem;line-height:1.75;margin:0}.donations-quote cite{display:block;margin-top:1.25rem;font-size:.875rem;font-family:var(--font-heading);font-weight:600;font-style:normal;color:var(--accent);letter-spacing:.03em}.not-found{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--muted)}.not-found-inner{text-align:center;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x);max-width:28rem}.not-found-title{margin-bottom:1rem;font-size:2.25rem;font-weight:700;font-family:var(--font-heading);color:var(--foreground)}.not-found-desc{margin-bottom:1rem;font-size:1.25rem;color:var(--muted-foreground)}.not-found-link{color:var(--primary);text-decoration:underline}.not-found-link:hover{opacity:.9}.checkout-page{padding:120px 20px 80px;background-color:#f9fafb;min-height:100vh}.checkout-container{max-width:1024px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px}.checkout-container.step-mode{max-width:600px;grid-template-columns:1fr}.checkout-card{background:#fff;padding:32px;border-radius:12px;box-shadow:0 4px 16px #0000000d;border:1px solid #e5e7eb}.checkout-card h2{font-size:1.5rem;font-weight:700;margin-top:0;margin-bottom:24px;color:#1f2937}.checkout-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:4px}.checkout-page label{font-size:.875rem;font-weight:500;color:#374151}.checkout-page input{padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:all .2s;outline:none}.checkout-page input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.error-text{font-size:.75rem;color:#ef4444}.summary-row{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.summary-label{color:#6b7280}.summary-value{font-weight:600}.summary-total{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700;margin-bottom:32px}.summary-total .total-value{color:#185052}.message-box{text-align:center;padding:16px;border-radius:8px;font-weight:500}.message-box.warning{background:#fff7ed;color:#c2410c}.message-box.success{background:#f0fdf4;color:#15803d}.message-box.loading-box{background:#f8fafc;color:#334155;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px;font-weight:500}.loading-icon{color:var(--primary, #185052);margin-bottom:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite;display:block}.btn-primary{padding:12px;background:var(--primary, #185052);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:16px;transition:background .2s}.btn-primary:hover{background:var(--dark-bg, #113637)}.btn-secondary{padding:12px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:16px;margin-bottom:24px;transition:background .2s;width:100%}.btn-secondary:hover{background:#f3f4f6}@media (max-width: 640px){.checkout-page{padding:100px 16px 40px}.form-row,.form-row-3{grid-template-columns:1fr}.checkout-card{padding:20px}}.product-card{background:var(--card);border-radius:.875rem;border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden;cursor:pointer;transition:var(--transition-smooth);display:flex;flex-direction:column}.product-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-5px);border-color:var(--primary)}.product-card-img-wrap{position:relative;width:100%;aspect-ratio:1 / 1;overflow:hidden;background:var(--muted)}.product-card-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:.75rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}.product-card:hover .product-card-img{transform:scale(1.06)}.product-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a34368c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.product-card:hover .product-card-overlay{opacity:1}.product-card-view{color:#fff;font-family:var(--font-heading);font-size:1rem;font-weight:600;letter-spacing:.04em;border:2px solid var(--accent);padding:.5rem 1.25rem;border-radius:2rem}.product-card-body{padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;flex:1}.product-card-name{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--foreground);margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.product-card-price{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--primary)}.product-card-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--accent);color:var(--accent-foreground, #1a3436);border:none;border-radius:.5rem;font-family:var(--font-heading);font-size:.8125rem;font-weight:700;cursor:pointer;transition:filter .2s,transform .15s;white-space:nowrap}.product-card-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.shop-page{padding-top:4rem}.shop-hero{position:relative;padding:var(--section-padding-y) 0;background:var(--dark-bg, #1a3436);color:#fff;text-align:center;overflow:hidden}.shop-hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:60px;background:var(--background);clip-path:ellipse(55% 100% at 50% 100%)}.shop-hero-inner{position:relative;z-index:1;max-width:44rem;margin:0 auto;padding:0 var(--container-padding-x)}.shop-hero-icon{width:72px;height:72px;border-radius:50%;background:#d6ff8f26;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--accent)}.shop-hero-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;margin:0 0 1rem;line-height:1.2}@media (min-width: 768px){.shop-hero-title{font-size:3rem}}.shop-hero-subtitle{font-family:var(--font-body);font-size:1.0625rem;color:#ffffffb8;margin:0;line-height:1.7}.shop-content{padding:var(--section-padding-y) 0;background:var(--background)}.shop-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding-x)}.shop-filters{display:flex;flex-wrap:wrap;gap:.625rem;margin-bottom:2.5rem}.shop-filter-btn{padding:.5rem 1.25rem;border-radius:2rem;border:1.5px solid var(--border);background:var(--card);color:var(--muted-foreground);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.shop-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.shop-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (min-width: 768px){.shop-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1280px){.shop-grid{grid-template-columns:repeat(4,1fr)}}.shop-loading{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media (min-width: 768px){.shop-loading{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.shop-loading{grid-template-columns:repeat(4,1fr)}}.shop-skeleton{border-radius:.875rem;aspect-ratio:3/4;background:linear-gradient(90deg,var(--muted) 25%,var(--border) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.shop-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 0;color:var(--muted-foreground);text-align:center}.shop-error p{font-family:var(--font-body);font-size:1rem;margin:0}.shop-mission{padding:var(--section-padding-y) 0;background:var(--dark-bg, #1a3436);color:#fff;text-align:center}.shop-mission-inner{max-width:40rem;margin:0 auto;padding:0 var(--container-padding-x)}.shop-mission-title{font-family:var(--font-heading);font-size:1.875rem;font-weight:700;margin:0 0 1rem}.shop-mission-text{font-family:var(--font-body);font-size:1rem;line-height:1.75;color:#ffffffbf;margin:0}.product-detail-page{padding-top:5rem;padding-bottom:var(--section-padding-y);background:var(--background);min-height:80vh}.product-detail-inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding-x)}.product-detail-back{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted-foreground);background:transparent;border:none;cursor:pointer;margin-bottom:2rem;transition:color .2s;padding:0}.product-detail-back:hover{color:var(--primary)}.product-detail-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media (min-width: 768px){.product-detail-grid{grid-template-columns:1fr 1fr;gap:4rem;align-items:flex-start}}.product-detail-main-img-wrap{width:100%;aspect-ratio:1;border-radius:1rem;overflow:hidden;background:var(--muted);border:1px solid var(--border)}.product-detail-main-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:1rem}.product-detail-thumbs{display:flex;gap:.625rem;margin-top:.875rem;flex-wrap:wrap}.product-detail-thumb{position:relative;width:72px;height:72px;border-radius:.5rem;overflow:hidden;border:2px solid var(--border);padding:0;cursor:pointer;transition:border-color .2s;background:var(--muted)}.product-detail-thumb.active{border-color:var(--primary)}.product-detail-thumb img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;padding:4px}.product-detail-thumb-label{position:absolute;bottom:0;left:0;right:0;background:#1a3436bf;color:#fff;font-family:var(--font-body);font-size:.6rem;font-weight:600;text-align:center;padding:2px 0;text-transform:uppercase;letter-spacing:.04em}.product-detail-name{font-family:var(--font-heading);font-size:1.875rem;font-weight:700;color:var(--foreground);margin:0 0 .75rem;line-height:1.2}@media (min-width: 768px){.product-detail-name{font-size:2.25rem}}.product-detail-price{font-family:var(--font-heading);font-size:1.625rem;font-weight:700;color:var(--primary);margin-bottom:1.75rem}.product-detail-option-group{margin-bottom:1.5rem}.product-detail-option-label{display:block;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--foreground);margin-bottom:.625rem;text-transform:uppercase;letter-spacing:.04em}.product-detail-option-selected{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted-foreground)}.product-detail-size-btns{display:flex;flex-wrap:wrap;gap:.5rem}.product-detail-size-btn{min-width:3rem;padding:.5rem .875rem;border:1.5px solid var(--border);border-radius:.375rem;background:var(--card);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth);color:var(--foreground)}.product-detail-size-btn:hover{border-color:var(--primary)}.product-detail-size-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.product-detail-color-btns{display:flex;flex-wrap:wrap;gap:.5rem}.product-detail-color-btn{padding:.5rem 1rem;border:1.5px solid var(--border);border-radius:.375rem;background:var(--card);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition-smooth);color:var(--foreground)}.product-detail-color-btn:hover{border-color:var(--primary)}.product-detail-color-btn.active{border-color:var(--primary);background:#2f565614}.product-detail-qty{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:.5rem;overflow:hidden}.product-detail-qty button{width:40px;height:40px;background:var(--muted);border:none;font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--foreground);transition:background .15s}.product-detail-qty button:hover{background:var(--border)}.product-detail-qty span{width:48px;text-align:center;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--foreground)}.product-detail-add-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;padding:1rem 2rem;margin-top:.5rem;margin-bottom:1.5rem;background:var(--accent);color:var(--accent-foreground, #1a3436);border:none;border-radius:.625rem;font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;cursor:pointer;transition:filter .2s,transform .15s}.product-detail-add-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.product-detail-add-btn:disabled{opacity:.5;cursor:not-allowed}.product-detail-meta{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.product-detail-meta-item{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.8125rem;color:var(--muted-foreground)}.product-detail-meta-item svg{flex-shrink:0;color:var(--primary)}.product-detail-skeleton-wrap{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding-x)}@media (min-width: 768px){.product-detail-skeleton-wrap{grid-template-columns:1fr 1fr}}.product-detail-skeleton-img{aspect-ratio:1;border-radius:1rem;background:linear-gradient(90deg,var(--muted) 25%,var(--border) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.product-detail-skeleton-info{display:flex;flex-direction:column;gap:1rem;padding-top:1rem}.product-detail-skeleton-line{height:1.5rem;border-radius:.375rem;background:linear-gradient(90deg,var(--muted) 25%,var(--border) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.product-detail-skeleton-line:nth-child(1){width:70%;height:2rem}.product-detail-skeleton-line:nth-child(2){width:30%;height:1.75rem}.product-detail-skeleton-line:nth-child(3){width:50%}.product-detail-skeleton-line:nth-child(4){width:100%;height:3rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.product-detail-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:6rem 0;text-align:center;color:var(--muted-foreground)}.product-detail-error p{font-family:var(--font-body);font-size:1rem;margin:0}.product-detail-error button{padding:.625rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-family:var(--font-heading);font-weight:600;cursor:pointer}.shop-checkout-page{padding-top:5.5rem;padding-bottom:var(--section-padding-y);background:var(--background);min-height:80vh}.shop-checkout-inner{max-width:1100px;margin:0 auto;padding:0 var(--container-padding-x)}.shop-checkout-back{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted-foreground);background:transparent;border:none;cursor:pointer;margin-bottom:1.75rem;padding:0;transition:color .2s}.shop-checkout-back:hover{color:var(--primary)}.shop-checkout-steps{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2.5rem}.shop-checkout-step{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--muted-foreground);transition:color .2s}.shop-checkout-step.active{color:var(--primary);font-weight:700}.shop-checkout-step.done{color:var(--primary)}.step-num{width:28px;height:28px;border-radius:50%;background:var(--muted);color:var(--muted-foreground);font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.shop-checkout-step.active .step-num{background:var(--primary);color:#fff}.shop-checkout-step.done .step-num{background:var(--accent);color:var(--accent-foreground, #1a3436)}.shop-checkout-step-divider{height:1px;width:3rem;background:var(--border)}.shop-checkout-layout{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 900px){.shop-checkout-layout{grid-template-columns:1fr 380px;align-items:flex-start}}.shop-checkout-section-title{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--foreground);margin:0 0 1.5rem}.shop-checkout-form{background:var(--card);border:1px solid var(--border);border-radius:.875rem;padding:1.75rem;display:flex;flex-direction:column;gap:1rem}.shop-checkout-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.shop-checkout-row--3{grid-template-columns:2fr 1fr 1fr}@media (max-width: 640px){.shop-checkout-row,.shop-checkout-row--3{grid-template-columns:1fr}}.shop-checkout-field{display:flex;flex-direction:column;gap:.375rem}.shop-checkout-field label{font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:var(--foreground);text-transform:uppercase;letter-spacing:.04em}.shop-checkout-field input,.shop-checkout-field select{padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:.5rem;background:var(--background);font-family:var(--font-body);font-size:.9375rem;color:var(--foreground);transition:border-color .2s;width:100%}.shop-checkout-field input:focus,.shop-checkout-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2f56561a}.shop-checkout-error{font-family:var(--font-body);font-size:.75rem;color:#e53e3e}.shop-checkout-next-btn{margin-top:.5rem;width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:.625rem;font-family:var(--font-heading);font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}.shop-checkout-next-btn:hover{background:#244242;transform:translateY(-1px)}.shop-checkout-payment{background:var(--card);border:1px solid var(--border);border-radius:.875rem;padding:1.75rem}.shop-checkout-shipping-summary{background:var(--muted);border-radius:.5rem;padding:.875rem 1rem;margin-bottom:1.5rem}.shop-checkout-shipping-label{font-family:var(--font-body);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin:0 0 .25rem}.shop-checkout-shipping-addr{font-family:var(--font-body);font-size:.9375rem;color:var(--foreground);margin:0}.shop-checkout-processing{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;color:var(--muted-foreground)}.shop-checkout-processing p{font-family:var(--font-body);margin:0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shop-checkout-sidebar{background:var(--card);border:1px solid var(--border);border-radius:.875rem;padding:1.5rem;position:sticky;top:5.5rem}.shop-checkout-sidebar-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--foreground);margin:0 0 1.25rem;padding-bottom:.875rem;border-bottom:1px solid var(--border)}.shop-checkout-items{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:1rem}.shop-checkout-item{display:flex;align-items:flex-start;gap:.875rem}.shop-checkout-item img{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:.5rem;border:1px solid var(--border);background:var(--muted);flex-shrink:0}.shop-checkout-item-name{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--foreground);margin:0 0 .25rem}.shop-checkout-item-meta{display:flex;flex-wrap:wrap;gap:.375rem;font-family:var(--font-body);font-size:.8rem;color:var(--muted-foreground);margin:0}.shop-checkout-item-price{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--primary);margin-left:auto;flex-shrink:0}.shop-checkout-totals{border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.625rem}.shop-checkout-total-row{display:flex;justify-content:space-between;font-family:var(--font-body);font-size:.9375rem;color:var(--foreground)}.shop-checkout-total-row.muted span{color:var(--muted-foreground);font-size:.875rem}.shop-checkout-total-row.grand{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;color:var(--foreground);border-top:1px solid var(--border);padding-top:.75rem;margin-top:.25rem}.shop-checkout-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4rem 1rem;gap:1.25rem}.shop-checkout-success-icon{color:var(--primary)}.shop-checkout-success-title{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--foreground);margin:0}.shop-checkout-success-desc{font-family:var(--font-body);font-size:1rem;color:var(--muted-foreground);max-width:36rem;line-height:1.7;margin:0}.shop-checkout-success-btn{padding:.875rem 2.5rem;background:var(--accent);color:var(--accent-foreground, #1a3436);border:none;border-radius:.625rem;font-family:var(--font-heading);font-size:1rem;font-weight:700;cursor:pointer;transition:filter .2s}.shop-checkout-success-btn:hover{filter:brightness(1.08)}.shop-checkout-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:6rem 0;color:var(--muted-foreground);text-align:center}.shop-checkout-empty p{font-family:var(--font-body);font-size:1rem;margin:0}.shop-checkout-empty button{padding:.75rem 2rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-family:var(--font-heading);font-weight:600;cursor:pointer}@font-face{font-family:Perpetua;src:url(/fonts/PerpetuaBold.woff2) format("woff2"),url(/fonts/PerpetuaBold.woff) format("woff"),url(/fonts/PerpetuaBold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--background: hsl(150, 7%, 97%);--foreground: hsl(217, 33%, 17%);--card: hsl(0, 0%, 100%);--card-foreground: hsl(217, 33%, 17%);--popover: hsl(0, 0%, 100%);--popover-foreground: hsl(217, 33%, 17%);--primary: hsl(180, 29%, 26%);--primary-foreground: hsl(0, 0%, 100%);--secondary: hsl(150, 7%, 97%);--secondary-foreground: hsl(180, 29%, 26%);--accent: hsl(82, 100%, 78%);--accent-foreground: hsl(180, 45%, 13%);--muted: hsl(150, 7%, 93%);--muted-foreground: hsl(217, 13%, 45%);--destructive: hsl(0, 84%, 60%);--destructive-foreground: hsl(0, 0%, 100%);--border: hsl(150, 7%, 88%);--input: hsl(150, 7%, 88%);--ring: hsl(180, 29%, 26%);--radius: .5rem;--dark-bg: hsl(181, 45%, 12%);--dark-bg-rgb: 181, 45%, 12%;--hero-overlay: rgba(26, 52, 54, .65);--font-heading: "Perpetua", "Palatino Linotype", "Book Antiqua", serif;--font-body: "Open Sans", sans-serif;--shadow-card: 0 4px 24px -4px hsla(180, 29%, 26%, .08);--shadow-elevated: 0 12px 40px -8px hsla(180, 29%, 26%, .12);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1);--container-max: 1280px;--container-padding-x: 1rem;--section-padding-y: 3rem}@media (min-width: 640px){:root{--container-padding-x: 1.25rem;--section-padding-y: 3.5rem}}@media (min-width: 768px){:root{--container-padding-x: 1.5rem;--section-padding-y: 4rem}}@media (min-width: 1024px){:root{--container-padding-x: 2rem;--section-padding-y: 5rem}}@media (min-width: 1280px){:root{--container-padding-x: 2.5rem;--container-max: 1400px;--section-padding-y: 6rem}}@media (min-width: 1536px){:root{--container-padding-x: 3rem;--container-max: 1440px;--section-padding-y: 7rem}}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}*{border-color:var(--border);box-sizing:border-box}body{margin:0;font-family:var(--font-body);background-color:var(--background);color:var(--foreground)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}input[type=date],input[type=time]{position:relative}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{background:transparent;bottom:0;color:transparent;cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;z-index:10}
