@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&family=Quicksand:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400&family=Montserrat:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Righteous&family=Pacifico&family=Space+Mono&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500&family=IBM+Plex+Mono:wght@300;400&display=swap";@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600&family=Indie+Flower&display=swap";@import"https://fonts.googleapis.com/css2?family=Italiana&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=Montserrat:wght@200;300;400&display=swap";@import"https://fonts.googleapis.com/css2?family=Gilda+Display&family=Crimson+Pro:ital,wght@0,300;0,400;1,300&family=Karla:wght@300;400&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;1,400&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-primary: #333333;--text-secondary: #666666;--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-light: #f8f8f8;--primary-color: #6200ee;--primary-dark: #3700b3;--border-color: #e0e0e0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.landing-page{padding:1rem;max-width:100%;overflow-x:hidden;margin:0 auto;color:var(--text-dark);background-color:var(--background-light);background-image:linear-gradient(45deg,#f6eef8 25%,transparent 25%),linear-gradient(-45deg,#f6eef8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f6eef8 75%),linear-gradient(-45deg,transparent 75%,#f6eef8 75%);background-size:20px 20px}.hero-section{padding:1rem;margin-top:1rem;position:relative;z-index:1}h1.main-heading{font-size:2.5rem;color:var(--text-dark)!important;text-align:center;margin:1rem auto;padding:0 1rem;max-width:800px;font-weight:700;display:block!important;opacity:1!important;visibility:visible!important;position:relative;z-index:2;background:transparent;-webkit-text-fill-color:var(--text-dark)!important;text-fill-color:var(--text-dark)!important}.sub-heading{font-size:2rem!important;line-height:1.3;max-width:800px;margin:1rem auto 1.5rem;color:var(--text-dark)}.hero-subtitle{font-size:1.25rem!important;color:var(--text-light);margin-bottom:2.5rem}.logo-container{display:flex;justify-content:center;margin-bottom:.5rem}.hero-logo{width:60px;height:60px}@media (max-width: 768px){h1.main-heading{color:var(--text-dark)!important;-webkit-text-fill-color:var(--text-dark)!important;text-fill-color:var(--text-dark)!important;font-size:1.8rem!important;margin:.75rem auto;padding:0 .5rem;line-height:1.2}.hero-section{padding:.5rem}.hero-logo{width:50px;height:50px}.sub-heading{font-size:1.2rem!important;padding:0 1rem}.hero-subtitle{font-size:1.125rem!important;padding:0 1rem}}@media (max-width: 480px){h1.main-heading{font-size:1.5rem!important;margin:.5rem auto}}.features-section{padding:2rem 1rem;text-align:center}.section-title{font-size:2rem;margin-bottom:2rem;color:var(--text-primary)}.setup-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;padding:1rem}.step{text-align:center;padding:1.5rem;background:#fff;border-radius:1rem;box-shadow:0 2px 8px #0000000d;transition:transform .2s ease}.step:hover{transform:translateY(-4px)}.step-number{width:36px;height:36px;background-color:var(--primary-color, #2563eb);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;margin:0 auto 1rem;box-shadow:0 2px 4px #0000001a}.step-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-primary, #1f2937)}.step-description{font-size:1rem;color:var(--text-secondary, #4b5563);line-height:1.5}@media (max-width: 768px){.section-title{font-size:1.5rem;padding:0 1rem}.setup-steps{grid-template-columns:1fr;gap:1rem}.step{padding:1rem}.step-number{width:32px;height:32px;font-size:1rem}.step-title{font-size:1.125rem}.step-description{font-size:.875rem}}.google-sign-in{background:#fff;color:#444;border:1px solid #ddd;width:100%;max-width:300px;padding:.8rem;border-radius:50px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto}.google-sign-in:hover{background:#f8f8f8;box-shadow:0 6px 20px #00000026}.google-sign-in:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.google-icon{width:24px;height:24px}.demo-section{padding:2rem 1rem;text-align:center;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;margin:4rem 0;box-shadow:0 10px 30px var(--shadow-color)}.demo-section h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:3rem;font-family:Playfair Display,serif}.video-container{width:100%;margin:1rem 0;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px var(--shadow-color);position:relative}.video-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;box-shadow:inset 0 0 20px #e74c3c1a;pointer-events:none}.demo-video{width:100%;border-radius:10px}.about-section{padding:6rem 0;text-align:center;max-width:800px;margin:0 auto}.about-section h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:2rem;font-family:Playfair Display,serif}.about-section p{color:var(--text-light);line-height:1.8;font-size:1.1rem}.testimonials-section{padding:6rem 2rem;text-align:center;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px var(--shadow-color);margin:4rem auto;max-width:1200px}.testimonials-section h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:1rem;font-family:Playfair Display,serif}.user-count{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:3rem;padding:1rem;background:var(--primary-color);color:#fff;border-radius:50px;max-width:fit-content;margin-left:auto;margin-right:auto}.count-icon{font-size:1.5rem}.user-count p{font-size:1.2rem;font-weight:500;margin:0}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem}.testimonial-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 12px var(--shadow-color);text-align:left;position:relative;transition:transform .3s ease}.testimonial-card:hover{transform:translateY(-4px)}.quote-icon{font-size:3rem;color:var(--primary-light);position:absolute;top:-10px;left:20px;opacity:.2}.testimonial-quote{font-size:1.1rem;line-height:1.6;color:var(--text-dark);margin-bottom:1.5rem;position:relative;z-index:1}.testimonial-author{display:flex;flex-direction:column;gap:.25rem}.testimonial-author strong{color:var(--text-dark);font-size:1.1rem}.author-details{color:var(--text-light);font-size:.9rem}@media (max-width: 768px){.testimonials-section{padding:4rem 1rem;margin:2rem auto}.testimonials-section h2{font-size:2rem}.user-count{padding:.75rem 1.5rem;margin-bottom:2rem}.user-count p{font-size:1rem}.testimonials-grid{grid-template-columns:1fr;gap:1.5rem}.testimonial-card{padding:1.5rem}.testimonial-quote{font-size:1rem}}.terms-section{padding:2rem 1rem;text-align:center;max-width:1200px;margin:0 auto;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px var(--shadow-color)}.terms-section h3{color:var(--text-dark);font-family:Playfair Display,serif;font-size:2rem;margin-bottom:2rem}.terms-content{padding:0 2rem}.terms-intro{color:var(--text-light);max-width:800px;margin:0 auto 3rem;line-height:1.8;font-size:1.1rem}.terms-grid{display:grid;grid-template-columns:1fr;gap:1rem}.terms-item{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);transition:all .3s ease}.terms-icon{font-size:2rem;display:block;margin-bottom:1rem}.terms-item h4{color:var(--primary-color);font-family:Playfair Display,serif;margin-bottom:1rem;font-size:1.2rem}.terms-item p{color:var(--text-light);line-height:1.6;font-size:.95rem}.contact-section{padding:2rem 1rem;text-align:center;max-width:1200px;margin:0 auto;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px var(--shadow-color);margin-top:4rem}.contact-section h3{color:var(--text-dark);font-family:Playfair Display,serif;font-size:2rem;margin-bottom:2rem}.contact-content{padding:0 2rem}.contact-info{display:grid;grid-template-columns:1fr;gap:1rem}.contact-item{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px var(--shadow-color);transition:all .3s ease}.contact-icon{font-size:2rem;display:block;margin-bottom:1rem}.contact-item h4{color:var(--primary-color);font-family:Playfair Display,serif;margin-bottom:1rem;font-size:1.2rem}.contact-item a{color:var(--text-light);text-decoration:none;transition:color .3s ease}.contact-item a:hover{color:var(--primary-color)}.social-links{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:.75rem;margin:.5rem 0}.social-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem;color:var(--text-dark);text-decoration:none;transition:color .2s ease;font-size:.9rem}.social-link svg{width:20px;height:20px}.dot-separator{color:var(--text-light);opacity:.6}@media (max-width: 768px){.social-links{gap:1rem;padding:.25rem}.dot-separator{display:none}.social-link{padding:.5rem .75rem;background:#ffffff1a;border-radius:20px;min-width:100px;justify-content:center}}@media (max-width: 480px){.social-links{flex-direction:column;gap:.5rem}.social-link{width:100%;padding:.75rem}}@media (min-width: 768px){.landing-page{padding:2rem}.setup-steps,.terms-grid,.contact-info{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.landing-page{padding:3rem}.setup-steps{grid-template-columns:repeat(4,1fr)}.terms-grid,.contact-info{grid-template-columns:repeat(3,1fr)}}.terms-item,.contact-item{height:100%;display:flex;flex-direction:column;justify-content:flex-start}.error-message{margin-top:1rem;color:#dc3545;font-size:.9rem}button,a{min-height:44px;padding:12px;display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:16px}*{box-sizing:border-box}.faq-section{padding:6rem 2rem;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px #0000001a;margin:2rem auto;max-width:1200px}.faq-section h2{text-align:center;color:var(--text-dark);font-size:2.5rem;margin-bottom:3rem;font-family:Playfair Display,serif}.faq-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:1000px;margin:0 auto}.faq-item{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 15px #0000000d;transition:all .3s ease}.faq-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.faq-item h3{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem;font-weight:600}.faq-item p{color:var(--text-light);line-height:1.6;font-size:1rem}@media (min-width: 768px){.faq-grid{grid-template-columns:repeat(2,1fr)}.faq-item{padding:2.5rem}}@media (max-width: 767px){.faq-section{padding:4rem 1rem}.faq-section h2{font-size:2rem;margin-bottom:2rem}.faq-item{padding:1.5rem}.faq-item h3{font-size:1.1rem}}.footer-links{padding:2rem;background:var(--bg-secondary);margin-top:2rem}.footer-nav{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:2rem}.footer-link-group{text-align:center}.footer-link-group h4{color:var(--text-primary);margin-bottom:1rem}.footer-link{display:block;color:var(--text-secondary);text-decoration:none;padding:.5rem;transition:color .2s ease}.footer-link:hover{color:var(--primary-color)}@media (max-width: 768px){.footer-nav{flex-direction:column;gap:1rem}}.photographers-section{padding:6rem 2rem;margin:4rem 0;background:linear-gradient(to bottom,#f8f9fa,#fff);text-align:center;position:relative}.photographers-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:80%;max-width:1200px;height:.5px;background:linear-gradient(to right,transparent,#e0e0e0,transparent)}.photographers-section h2{font-size:2.5rem;margin-bottom:2rem;color:#333}.photographers-content{max-width:1200px;margin:0 auto}.photographers-intro{font-size:1.2rem;color:#666;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.photographer-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.feature-item{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:transform .2s ease}.feature-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.feature-item h4{color:#333;margin-bottom:.5rem;font-size:1.2rem}.feature-item p{color:#666;font-size:1rem;line-height:1.5}.find-photographer-cta{margin-top:2rem}.cta-button{display:inline-flex;align-items:center;gap:.5rem;background:#007bff;color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s ease}.cta-button:hover{background:#0056b3}.arrow-icon{transition:transform .2s ease}.cta-button:hover .arrow-icon{transform:translate(4px)}@media (max-width: 768px){.photographer-features{grid-template-columns:1fr}.photographers-section{padding:3rem 1rem}}.gallery-preview-container{width:100%;overflow:hidden;padding:20px 0}.gallery-category{margin-bottom:3rem}.category-title{font-size:1.8rem;color:var(--text-dark);margin:2rem 0 1rem;text-align:left;padding-left:20px;border-left:4px solid var(--primary-color)}.gallery-stream{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:20px}.preview-card{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;aspect-ratio:3/4;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}.preview-card:active{transform:scale(.98)}.preview-card img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.preview-info{position:absolute;bottom:0;left:0;right:0;padding:15px;background:linear-gradient(transparent,#000c);color:#fff;opacity:1;text-align:center;transition:transform .3s ease}.preview-info h3{font-size:1.2rem;margin:0;font-weight:600}.preview-info p{font-size:.9rem;margin:5px 0 0;opacity:.9;text-transform:uppercase;letter-spacing:.5px}@media (hover: hover){.preview-card:hover{transform:translateY(-4px);box-shadow:0 8px 12px #00000026}.preview-card:hover img{transform:scale(1.05)}}@media (max-width: 768px){.gallery-stream{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:12px}.category-title{font-size:1.5rem;margin:1.5rem 0 .8rem;padding-left:15px}.preview-card{aspect-ratio:1/1;touch-action:manipulation}.preview-info{padding:12px 8px;background:linear-gradient(transparent,#000000e6)}.preview-info h3{font-size:1rem;margin-bottom:2px}.preview-info p{font-size:.8rem;color:#ffffffe6;font-weight:500}}.value-props{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto 2.5rem;padding:0 1rem}.value-prop-item{display:flex;align-items:center;gap:1rem;background:#fffc;padding:1rem;border-radius:12px;box-shadow:0 2px 8px #0000000d}.value-icon{font-size:1.5rem}.value-prop-item p{margin:0;font-size:1rem;color:var(--text-dark);font-weight:500}@media (max-width: 768px){.value-props{grid-template-columns:1fr;gap:1rem}}.pricing-section{padding:6rem 2rem;text-align:center;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px var(--shadow-color);margin:4rem auto;max-width:1200px}.pricing-section h2{font-size:2.5rem;color:var(--text-dark);margin-bottom:1rem;font-family:Playfair Display,serif}.pricing-subtitle{font-size:1.2rem;color:var(--text-light);margin-bottom:3rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:1rem;margin-bottom:3rem}.pricing-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 12px var(--shadow-color);position:relative;transition:transform .3s ease,box-shadow .3s ease}.pricing-card.popular{border:2px solid var(--primary-color);transform:scale(1.05)}.popular-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:4px 12px;border-radius:20px;font-size:.9rem;font-weight:500}.pricing-header{margin-bottom:2rem}.pricing-header h3{font-size:1.5rem;color:var(--text-dark);margin-bottom:1rem}.price{font-size:2.5rem;color:var(--text-dark);font-weight:700;margin-bottom:.5rem}.currency{font-size:1.2rem;vertical-align:super;margin-right:4px}.period{font-size:1rem;color:var(--text-light);font-weight:400}.pricing-promo{color:var(--primary-color);font-weight:500;font-size:.9rem;margin-top:.5rem}.pricing-features{list-style:none;padding:0;margin:0 0 2rem;text-align:left}.pricing-features li{margin:1rem 0;color:var(--text-dark);font-size:1rem}.pricing-cta{width:100%;padding:1rem;border:none;border-radius:8px;background:#f5f5f5;color:var(--text-dark);font-weight:600;cursor:pointer;transition:all .3s ease}.pricing-cta.primary{background:var(--primary-color);color:#fff}.pricing-footer{margin-top:4rem}.core-features{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:1rem}.core-features span{color:var(--text-dark);font-size:1rem}@media (max-width: 768px){.pricing-section{padding:4rem 1rem}.pricing-section h2{font-size:2rem}.pricing-grid{grid-template-columns:1fr;gap:1.5rem}.pricing-card.popular{transform:scale(1)}.core-features{flex-direction:column;gap:1rem}}.payment-form{max-width:800px;margin:0 auto;padding:20px}.plan-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.plan-option{border:1px solid #ddd;border-radius:8px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease}.plan-option:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.plan-option.selected{border-color:#4caf50;background-color:#f8fff8}.price{display:flex;align-items:center;justify-content:center;gap:8px;font-size:24px;font-weight:700;color:#4caf50;margin:10px 0}.description{color:#666;font-size:14px}.payment-details{max-width:400px;margin:0 auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px}.btn-primary{width:100%;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#f44336;margin-top:10px;text-align:center}.payment-status{text-align:center;padding:1rem;margin-top:1rem;border-radius:8px}.payment-status.pending{background:#fff9e6;color:#8a6d3b}.payment-status.success{background:#dff0d8;color:#3c763d}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #8a6d3b;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}.checkmark{display:inline-block;width:24px;height:24px;border-radius:50%;background:#3c763d;color:#fff;line-height:24px;margin-right:.5rem}@media (max-width: 768px){.plan-options{grid-template-columns:1fr}.plan-card{max-width:300px;margin:0 auto}}.promo-section{margin:1.5rem 0}.promo-toggle{margin-bottom:.5rem}.form-checkbox{border-radius:4px;border:2px solid #cbd5e1;transition:all .2s}.form-checkbox:checked{background-color:#2563eb;border-color:#2563eb}@media screen and (max-width: 768px){.promo-toggle{padding:.5rem}.promo-toggle label{font-size:.95rem;display:flex;align-items:center;gap:8px}.promo-code-input{flex-direction:column;gap:8px}.promo-code-input input,.promo-code-input button{width:100%;min-height:44px}.form-checkbox{width:20px;height:20px}}.promo-code-group{margin-bottom:20px}.promo-code-input{display:flex;gap:10px}.promo-code-input input{flex:1}.promo-code-input button{padding:10px 20px;background:#666;color:#fff;border:none;border-radius:4px;cursor:pointer}.promo-code-input button:disabled{background:#ccc;cursor:not-allowed}.promo-success{color:#4caf50;margin-top:5px;font-size:14px}.original-price{text-decoration:line-through;color:#666;font-size:16px;margin-left:8px}.discount-badge{background:#4caf50;color:#fff;padding:2px 6px;border-radius:12px;font-size:12px;margin-left:8px}.paystack-section{padding:20px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.payment-options{display:flex;justify-content:space-around;margin-bottom:24px;padding:16px 0;border-bottom:1px solid #eee}.payment-option{display:flex;flex-direction:column;align-items:center;gap:8px}.payment-option img{width:40px;height:40px;object-fit:contain}.payment-option span{font-size:14px;color:#555}.price-summary{background:#f8f9fa;padding:16px;border-radius:6px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:15px}.summary-row.total{border-top:1px solid #ddd;margin-top:8px;padding-top:8px;font-weight:700}.summary-row.discount{color:#28a745}.paystack-button{width:100%;padding:16px;font-size:16px;font-weight:600;background:#3bb75e;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .3s ease}.paystack-button:hover{background:#2d9049}.secure-payment{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:#666;font-size:14px}.secure-payment img{width:20px;height:20px}.payment-method-selection{display:flex;gap:12px;margin-bottom:24px}.method-btn{flex:1;padding:12px 20px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease}.method-btn:hover{border-color:#3bb75e;background:#f0f9f2}.method-btn.selected{background:#3bb75e;border-color:#3bb75e;color:#fff}.method-btn.selected:hover{background:#2d9049;border-color:#2d9049;box-shadow:0 2px 8px #3bb75e33}@media screen and (max-width: 768px){.paystack-popup{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:999999!important;background:#fff}body.paystack-open{overflow:hidden;position:fixed;width:100%}.payment-form{padding:1rem;margin-bottom:2rem}.paystack-button{min-height:48px;margin:1rem 0}}html{scroll-behavior:smooth}.setup-page{min-height:100vh;background-color:#f9fafb;padding:1rem}.setup-content{max-width:800px;margin:0 auto;background:#fffffff2;padding:2rem;border-radius:20px;box-shadow:0 10px 30px #0000001a}.setup-step{max-width:600px;margin:0 auto;padding:2rem;background-color:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.setup-step h2{font-size:2rem;margin-bottom:1.5rem;color:#2c3e50}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#111827}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;background-color:#fff;color:#111827;-webkit-appearance:none}.form-group input:focus,.form-group select:focus{border-color:#e74c3c;outline:none}.emoji-selector{margin-bottom:1.5rem}.emoji-selector label{display:block;margin-bottom:.8rem;color:#666}.emoji-picker-container{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fff;border-top:1px solid #d1d5db;padding:1rem}.navigation-buttons{display:flex;gap:1rem;margin-top:2rem}.btn{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;border:none;flex:1}.btn-primary{background-color:#4f46e5;color:#fff}.btn-secondary{background-color:#6b7280;color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:0 2px 10px #0000001a}.progress-bar{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.step-indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#e5e7eb;color:#6b7280;font-weight:500}.step-indicator.active{background-color:#4f46e5;color:#fff}.step-indicator.completed{background-color:#10b981;color:#fff}.step-indicator:after{content:"";position:absolute;width:100%;height:2px;background:#ddd;right:-100%;top:50%;transform:translateY(-50%)}.step-indicator:last-child:after{display:none}.step-description{text-align:center;color:#666;margin-bottom:2rem}.selected-album{text-align:center;margin:1rem 0;padding:1rem;background:#f8f8f8;border-radius:8px}.subdomain-input-group{display:flex;align-items:center;gap:.5rem}.domain-suffix{color:#666;white-space:nowrap}.emoji-button{padding:.5rem 1rem;font-size:1.5rem;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;cursor:pointer}.emoji-button:hover{background:#f8f8f8}@media (max-width: 768px){.setup-content{padding:1rem}.btn{padding:.75rem 1.5rem}.setup-step{padding:1.25rem;margin:0;background-color:#fff}.navigation-buttons{flex-direction:column}input,button,.btn{-webkit-text-fill-color:inherit;color:inherit}.btn-primary{background-color:#4f46e5!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.btn-secondary{background-color:#6b7280!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.validate-button{color:#fff!important;-webkit-text-fill-color:#ffffff!important}.setup-step h2,.form-group label,.text-gray-600,.text-gray-700,.text-gray-900,.help-text,.domain-suffix,input,.event-name{color:#111827!important;-webkit-text-fill-color:#111827!important}.form-group input,.form-group select{background-color:#fff;border:1px solid #d1d5db;padding:.75rem;margin-bottom:.5rem}.event-type-grid{gap:.75rem;margin:1rem 0}.event-type-button{background-color:#fff;border:2px solid #e5e7eb;padding:1rem}.event-type-button.selected{border-color:#4f46e5;background-color:#eef2ff}.error-message,.availability-indicator{color:#111827!important;-webkit-text-fill-color:#111827!important;margin-top:.25rem}.navigation-buttons{margin-top:1.5rem;gap:.75rem}.emoji-picker-container{background-color:#fff;border-top:1px solid #d1d5db}.subdomain-input-group{flex-direction:column;align-items:stretch}.domain-suffix{text-align:center;padding:.5rem}.event-type-grid{grid-template-columns:repeat(2,1fr)}.event-icon{font-size:2.5rem}input,button{-webkit-text-fill-color:inherit;color:inherit;background-color:#fff}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #ffffff inset;-webkit-text-fill-color:inherit;transition:background-color 5000s ease-in-out 0s}.btn-primary{background-color:var(--primary-color, #4F46E5);color:#fff}.btn-secondary{background-color:var(--secondary-color, #6B7280);color:#fff}}.input-group{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:1rem}.modern-input{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px}.validate-button{white-space:nowrap;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500;transition:all .2s ease}@media (max-width: 768px){.input-group{flex-direction:row;flex-wrap:nowrap;gap:8px}.modern-input{flex:1}.validate-button{flex-shrink:0;padding:8px 12px;font-size:14px;min-width:70px}}.availability-indicator{margin-left:1rem;font-size:1rem}.availability-indicator.available{color:#4caf50}.availability-indicator.unavailable{color:#f44336}input.valid{border-color:#4caf50}input.invalid{border-color:#f44336}.help-text{color:#666;font-size:12px;margin-top:5px}.event-type-grid{display:flex;flex-direction:column;gap:2rem;margin:2rem 0}.event-type-section{display:flex;flex-direction:column;gap:1rem}.event-type-button{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;transition:all .3s ease;width:100%}.event-type-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.event-type-button.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.event-icon{font-size:2rem}.event-name{font-size:1.25rem;font-weight:500;text-transform:capitalize}.gallery-previews{overflow:hidden}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;padding:1rem;background:var(--background-light);border-radius:.75rem}.gallery-preview-button{background:#fff;border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden;cursor:pointer;transition:all .3s ease;text-align:left;padding:0}.gallery-preview-button:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.gallery-preview-button.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.gallery-preview-button:hover .preview-image img{transform:scale(1.05)}.gallery-info{padding:1rem}.gallery-name{display:block;font-size:1.1rem;font-weight:500;color:var(--primary-color);margin-bottom:.5rem}.gallery-description{font-size:.875rem;color:var(--secondary-color);margin:0;line-height:1.5}@media (max-width: 768px){.gallery-grid{grid-template-columns:1fr;gap:1rem}}.alert{position:relative;word-break:break-word}.copy-email-btn{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.alert{font-size:.875rem}.copy-email-btn{padding:.5rem;margin:.25rem 0;width:100%;justify-content:center}.copy-tooltip{font-size:.75rem;white-space:nowrap}}@media (max-width: 768px){.alert{background-color:#fffbeb!important}.alert span,.alert button span{color:#111827!important;-webkit-text-fill-color:#111827!important}.copy-email-btn{background-color:#fff!important;border:1px solid #FEF3C7!important}.copy-email-btn span{color:#2563eb!important;-webkit-text-fill-color:#2563EB!important}.copy-tooltip{color:#fff!important;-webkit-text-fill-color:#ffffff!important;background-color:#1f2937!important;z-index:50}}.gallery-variations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.gallery-variation-card{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .3s ease;position:relative}.gallery-variation-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.gallery-variation-card.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.preview-image{aspect-ratio:16/9;overflow:hidden}.gallery-variation-card:hover .preview-image img{transform:scale(1.05)}.variation-details{padding:1.5rem}.variation-name{font-family:var(--font-sans);font-size:1.25rem;color:var(--primary-color);margin-bottom:.5rem}.variation-description{font-size:.875rem;color:var(--secondary-color);line-height:1.5}.selected-indicator{position:absolute;top:1rem;right:1rem;background:var(--accent-color);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.check-icon{font-size:.875rem}@media (max-width: 768px){.gallery-variations-grid{grid-template-columns:1fr;gap:1rem}}.gallery-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:2rem 0}.gallery-type-button{background:#fff;border:1px solid var(--border-color);border-radius:.75rem;padding:0;overflow:hidden;cursor:pointer;transition:all .3s ease;text-align:left}.gallery-type-button:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.gallery-type-button.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color)}.preview-image{width:100%;aspect-ratio:16/9;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-type-button:hover .preview-image img{transform:scale(1.05)}.gallery-name{display:block;font-size:1.25rem;font-weight:500;color:var(--primary-color);margin:1rem 1rem .5rem}.gallery-description{font-size:.875rem;color:var(--secondary-color);margin:0 1rem 1rem;line-height:1.5}@media (max-width: 768px){.gallery-type-grid{grid-template-columns:1fr;gap:1rem}}.setup-heading{font-size:1.5rem;color:#333;text-align:center;margin:1rem 0;padding:0 1rem;font-weight:600}@media (max-width: 768px){.setup-heading{font-size:1.25rem;margin:.75rem 0;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}}.gallery-info{display:flex;flex-direction:column}.gallery-variation-card button{margin-top:auto;transition:all .2s ease}.gallery-variation-card button:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.gallery-variation-card button{padding:12px;font-size:14px}}.validate-button:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.7}.validate-button.validating{background:var(--primary-color);color:#fff;cursor:wait}.spinner{width:16px;height:16px;border:2px solid white;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.spinner{width:14px;height:14px}}.app{min-height:100vh;background-color:#fff8f8;background-image:linear-gradient(45deg,#f9f2f2 25%,transparent 25%),linear-gradient(-45deg,#f9f2f2 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f9f2f2 75%),linear-gradient(-45deg,transparent 75%,#f9f2f2 75%);background-size:20px 20px;padding:0 1rem;max-width:1280px;margin:0 auto}.wedding-header{position:sticky;top:0;padding:1rem;text-align:center;overflow:hidden;background:#fff;z-index:10;box-shadow:0 2px 8px #0000001a}.header-content{position:relative;z-index:2;max-width:800px;margin:0 auto;color:#333!important}.header-content h1{font-size:2rem;margin-bottom:.75rem;font-weight:500;color:#333!important}.wedding-date{margin:1rem 0}.date-location{display:inline-flex;align-items:baseline!important;justify-content:center;gap:.5rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#666;margin:.5rem 0;line-height:1.2}.date,.location{font-weight:400;letter-spacing:.05em;color:#333!important}.tagline{display:block;font-size:.9rem;font-style:italic;margin-top:.5rem;opacity:.9;font-weight:300;color:inherit!important}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;padding:1rem 0;max-width:1400px;margin:0 auto;margin-top:1rem;position:relative;z-index:1}.photo-item{aspect-ratio:1;width:100%}.photo-item img{width:100%;height:100%;object-fit:cover;border-radius:8px}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;gap:1rem}.modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;background:transparent;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.modal-content img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}.modal-content img:active{cursor:grabbing}.nav-button{background:#ffffff1a;border:none;color:#fff;font-size:2rem;width:50px;height:50px;border-radius:25px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.photo-counter{position:absolute;bottom:-30px;color:#fff;font-size:.9rem;padding:.5rem;background:#00000080;border-radius:15px}.header-rose{position:absolute;height:100%;width:auto;top:0;opacity:.1;pointer-events:none}.header-rose.left{left:0;transform:scaleX(-1)}.header-rose.right{right:0}.modal-content video{max-width:90vw;max-height:85vh;object-fit:contain;cursor:default;pointer-events:auto;z-index:2}.video-item video{pointer-events:none}.swipe-indicator{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);color:#ffffffb3;font-size:.8rem;padding:.5rem;background:#00000080;border-radius:20px;pointer-events:none;opacity:0;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%,to{opacity:0}20%,80%{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.wedding-header{padding:.5rem;text-align:center}.header-content{max-width:100%;margin:0 auto;text-align:center;position:relative;z-index:3}.header-content h1{font-size:1.2rem;margin-bottom:.5rem}.date-location{display:inline-flex!important;align-items:baseline!important}.date,.location,.divider{font-size:1rem;font-weight:400;color:#333!important;letter-spacing:.05em;margin:0;padding:0}.divider{display:inline-block!important;color:red;font-size:1.1rem;margin:0 .2rem;vertical-align:middle}.tagline{font-size:.95rem;margin-top:.3rem}.header-rose{display:block;position:absolute;top:50%;transform:translateY(-50%);height:40px;opacity:.18;animation:bounce 2s infinite;z-index:2;pointer-events:none}.header-rose.left{left:0;animation-delay:0s}.header-rose.right{right:0;animation-delay:1s}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:.8rem}.nav-button{width:40px;height:40px;font-size:1.5rem}.photo-modal{padding:.5rem}.modal-content img,.modal-content video{max-height:80vh;width:100%}.photo-counter{bottom:-40px}.swipe-indicator{bottom:-70px}.date-location .date,.date-location .location{font-size:.7rem!important}}@media (max-width: 480px){.header-rose{display:block;height:40px;opacity:.15}.wedding-header{padding:.25rem}.photo-grid{grid-template-columns:1fr;gap:.5rem}.photo-modal{padding:.5rem}.date-location .date,.date-location .location{font-size:.6rem!important}}@media (hover: none){.photo-item{transform:none!important}.nav-button{opacity:.8;background:#ffffff26}.photo-counter{padding:.3rem .8rem;font-size:.8rem}}@media (hover: hover){.swipe-indicator{display:none}}@supports (padding: max(0px)){.app{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}.classic-elegant-header{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;background:linear-gradient(to bottom,#ffffffe6,#fffffff2);position:sticky;top:0;z-index:100}.header-content{max-width:800px;margin:0 auto}.couple-names{font-family:Playfair Display,serif;font-size:3.5rem;color:var(--primary-color);margin-bottom:2rem;line-height:1.2}.event-details{display:inline-flex;align-items:baseline;justify-content:center;gap:.5rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;color:var(--secondary-color);margin:.5rem 0;line-height:1.2}.divider{color:red;font-size:1rem;display:inline-block;vertical-align:middle;margin:0 .25rem}.tagline{display:block;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.4rem;color:var(--accent-color);margin-top:1rem}@media (max-width: 768px){.classic-elegant-header{min-height:30vh}.couple-names{font-size:2.5rem}.event-details{flex-direction:row;font-size:1rem}.divider{display:inline-block}}.classic-elegant-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding:4rem 2rem;max-width:1800px;margin:0 auto;background-color:var(--background-color)}.item-2{grid-column:span 6}.photo-wrapper{position:relative;background:#fff;padding:1rem;box-shadow:0 4px 20px #00000014;overflow:hidden}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.photo-wrapper:hover .photo-overlay{opacity:1}.overlay-content{color:var(--primary-color);font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase}@media (max-width: 1400px){.classic-elegant-grid{grid-template-columns:repeat(8,1fr)}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2{grid-column:span 4}}@media (max-width: 768px){.classic-elegant-grid{grid-template-columns:1fr;gap:1.5rem}.grid-item{grid-column:span 1!important}.photo-wrapper{padding:.75rem}}.classic-elegant-gallery{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #d4b08c;--background-color: #faf9f8;background-color:var(--background-color);min-height:100vh;font-family:Cormorant Garamond,serif}.classic-elegant-gallery img{max-width:100%;height:auto}.classic-elegant-gallery{scroll-behavior:smooth}.classic-elegant-gallery::-webkit-scrollbar{width:8px}.classic-elegant-gallery::-webkit-scrollbar-track{background:var(--background-color)}.classic-elegant-gallery::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px}.modern-minimal-header{position:sticky;top:0;left:0;width:100%;z-index:100;min-height:30vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--background-color)}.header-content{text-align:center;max-width:900px}.couple-names{font-family:Montserrat,sans-serif;font-size:4rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--primary-color);margin-bottom:2rem}.details-container{font-family:Montserrat,sans-serif;font-size:1.2rem;letter-spacing:.1em;color:var(--secondary-color);margin:2rem 0;display:flex;align-items:center;justify-content:center;gap:1.5rem}.separator{color:var(--accent-color)}.tagline{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:300;letter-spacing:.05em;color:var(--accent-color);margin-top:2rem}@media (max-width: 768px){.couple-names{font-size:2.5rem}.details-container{flex-direction:column;gap:.5rem}.separator{display:none}}.modern-minimal-grid{padding:4rem 2rem;background-color:var(--background-color)}.media-frame{position:relative;background:#fff;border-radius:.25rem;overflow:hidden;box-shadow:0 4px 20px #00000014}.media-frame:hover .media-item{transform:scale(1.05)}.view-button{background:transparent;border:1px solid var(--primary-color);padding:.75rem 1.5rem;border-radius:.25rem;font-size:.95rem;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.arrow-icon{transition:transform .3s ease}.view-button:hover .arrow-icon{transform:translate(4px)}.photo-caption{margin-top:1rem;text-align:center;padding:0 1rem}.photo-caption p{font-size:.95rem;color:var(--secondary-color);margin:0;line-height:1.4}.modern-minimal-gallery{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #f5f5f5;--background-color: #ffffff;background-color:var(--background-color);min-height:100vh;font-family:Montserrat,sans-serif}.modern-minimal-gallery{scroll-behavior:smooth}.modern-minimal-gallery img{max-width:100%;height:auto}.garden-romance-header{position:sticky;top:0;left:0;width:100%;z-index:100;min-height:20vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);overflow:hidden}.floral-border{position:absolute;width:100%;height:auto;opacity:.8}.top-border{top:0}.bottom-border{bottom:0;transform:scaleY(-1)}.header-content{text-align:center;max-width:800px;margin:0 auto;z-index:1}.pre-title{display:block;font-family:Italianno,cursive;font-size:2.5rem;color:var(--accent-color);margin-bottom:1rem}.couple-names{font-family:Cormorant Garamond,serif;font-size:4.5rem;font-weight:400;color:var(--primary-color);line-height:1.2;margin-bottom:2rem}.date-location{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--secondary-color);display:flex;align-items:center;justify-content:center;gap:1.5rem}.floral-divider{color:var(--accent-color);font-size:1.8rem}.tagline{font-family:Italianno,cursive;font-size:2rem;color:var(--accent-color);margin-top:2rem}@media (max-width: 768px){.garden-romance-header{padding:3rem 1rem}.couple-names{font-size:3rem}.date-location{flex-direction:column;gap:.5rem}.floral-divider{display:none}}.garden-romance-grid{position:relative;padding:4rem 2rem;background-color:var(--background-color)}.floral-accent{position:absolute;top:0;bottom:0;width:200px;pointer-events:none}.floral-accent.left{left:0}.floral-accent.right{right:0;transform:scaleX(-1)}.floral-accent img{width:100%;height:100%;object-fit:cover;opacity:.15}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;max-width:1800px;margin:0 auto;position:relative;z-index:1}.photo-wrapper{position:relative;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 20px #00000014}.photo-wrapper:hover .media-item{transform:scale(1.05)}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-content{display:flex;align-items:center;gap:.5rem;color:var(--primary-color);font-size:1.1rem}.floral-icon{font-size:1.3em}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-1,.item-2,.item-3,.item-4{grid-column:span 4}.floral-accent{width:150px}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr)}.item-0,.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 2}.floral-accent{width:100px}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.floral-accent{display:none}}.garden-romance-gallery{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #d4b08c;--background-color: #faf9f8;background-color:var(--background-color);min-height:100vh;position:relative;overflow-x:hidden}.floral-border img,.floral-accent img{width:100%;height:auto;object-fit:contain}.vintage-inspired-header{position:sticky;top:0;z-index:100;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.2rem 0;width:100%;box-shadow:0 2px 10px #0000001a}.vintage-frame{border:2px solid #8b7355;margin:.2rem;padding:.5rem;position:relative}.header-content{text-align:center;padding:1rem}.couple-names{font-family:Playfair Display,serif;font-size:2.5rem;color:#4a4a4a;margin:1rem 0}.date-location{display:inline-flex;align-items:baseline;justify-content:center;gap:.5rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#666;margin:.5rem 0;line-height:1.2}.vintage-divider{color:red;font-size:1rem;display:inline-block;vertical-align:middle;margin:0 .25rem}.vintage-ornament{height:30px;background-size:contain;background-repeat:no-repeat;background-position:center;margin:1rem 0}.vintage-ornament.top{background-image:url(/assets/vintage-ornament-top.png)}.vintage-ornament.bottom{background-image:url(/assets/vintage-ornament-bottom.png)}.tagline{font-style:italic;margin-top:.5rem;color:#666}@media (max-width: 768px){.vintage-frame{margin:.5rem;padding:1rem}.couple-names{font-size:2rem}.date-location{flex-direction:row;font-size:1rem}.vintage-divider{display:inline-block}}.vintage-inspired-grid{padding:4rem 2rem;background-color:var(--background-color)}.vintage-frame{position:relative;padding:1rem;background:#f9f7f5;box-shadow:0 4px 20px #0000001a}.frame-border{position:relative;border:1px solid rgba(139,119,101,.3);padding:.5rem}.frame-inner{position:relative;overflow:hidden}.media-item{width:100%;height:100%;object-fit:cover;filter:sepia(.2);transition:all .6s ease}.vintage-frame:hover .media-item{filter:sepia(0);transform:scale(1.05)}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#8b77654d;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.view-button{background:#fff;border:none;padding:.75rem 1.5rem;border-radius:.25rem;font-size:.95rem;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.vintage-icon{font-size:1.2em;color:var(--accent-color)}.photo-caption{margin-top:1.5rem;text-align:center;font-family:Playfair Display,serif}.photo-date{display:block;font-size:.875rem;color:var(--secondary-color);font-style:italic}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-1,.item-2,.item-3,.item-4{grid-column:span 4}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr);gap:2rem}.item-0,.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 2}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.vintage-frame{padding:.75rem}.frame-border{padding:.375rem}}.vintage-inspired-gallery{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #d4b08c;--background-color: #f9f7f5;background-color:var(--background-color);min-height:100vh;position:relative;font-family:Playfair Display,serif}.vintage-inspired-gallery img{max-width:100%;height:auto}.vintage-inspired-gallery{scroll-behavior:smooth}.playful-celebration-header{min-height:20vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative;overflow:hidden}.confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.confetti{position:absolute;width:10px;height:10px;background:var(--accent-color);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.balloons-container{position:relative;height:200px;margin-bottom:2rem}.balloon{position:absolute;width:60px;height:80px;border-radius:50%;background:var(--accent-color);left:50%;transform:translate(-50%)}.balloon:before{content:"";position:absolute;width:2px;height:100px;background:var(--accent-color);bottom:-100px;left:50%;transform:translate(-50%)}.balloon-1{background:var(--balloon-color-1);left:40%}.balloon-2{background:var(--balloon-color-2);left:50%;top:-20px}.balloon-3{background:var(--balloon-color-3);left:60%}.celebrant-name{font-family:var(--font-display);font-size:4rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem;line-height:1.2}.birthday-tag{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}.age{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--accent-color)}.ordinal{font-family:var(--font-display);font-size:1.5rem;color:var(--accent-color);margin-top:-1rem}.birthday{font-family:var(--font-display);font-size:2rem;color:var(--primary-color)}.event-details{margin:2rem 0;font-family:var(--font-sans)}.date{font-size:1.2rem;color:var(--primary-color);margin-bottom:.5rem}.venue{font-size:1rem;color:var(--secondary-color)}.birthday-message{font-family:var(--font-sans);font-size:1.2rem;color:var(--secondary-color);font-style:italic;line-height:1.6;margin-top:3rem;padding:2rem;background:#fffc;border-radius:20px}@media (max-width: 768px){.celebrant-name{font-size:3rem}.age{font-size:2.5rem}.birthday{font-size:1.5rem}.balloons-container{height:150px}}.playful-celebration-grid{padding:4rem 2rem;background-color:var(--background-color)}.grid-item{position:relative;transform-origin:center}.celebration-frame{position:relative;background:#fff;padding:1.25rem;border-radius:1.5rem;box-shadow:0 8px 25px #0000001a;transition:transform .3s ease}.confetti-corner{position:absolute;width:40px;height:40px;opacity:.9;transition:transform .3s ease}.confetti-corner:before,.confetti-corner:after{content:"✨";position:absolute;font-size:1.2rem}.top-left{top:.25rem;left:.25rem}.top-right{top:.25rem;right:.25rem}.bottom-left{bottom:.25rem;left:.25rem}.bottom-right{bottom:.25rem;right:.25rem}.celebration-frame:hover .confetti-corner{transform:scale(1.2) rotate(15deg)}.media-wrapper{position:relative;overflow:hidden;border-radius:1rem;aspect-ratio:16/9;background:var(--background-light)}.celebration-frame:hover .media-item{transform:scale(1.05)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fffffff2;border-radius:50%;opacity:0;transition:opacity .3s ease;z-index:2}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--accent-color);font-size:1.4rem;opacity:0;transition:opacity .3s ease;z-index:3}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(#fff3,#fff6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.view-button{background:#fff;border:none;color:var(--primary-color);padding:.75rem 1.5rem;border-radius:3rem;font-family:var(--font-display);font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #0000001a}.view-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.party-icon{font-size:1.2em;display:inline-block;transition:transform .3s ease}.view-button:hover .party-icon{transform:rotate(15deg)}.photo-caption{margin-top:1.25rem;text-align:center;padding:0 .5rem}.caption-text{font-family:var(--font-display);font-size:1rem;color:var(--primary-color);margin:0;line-height:1.4}.caption-date{display:block;font-family:var(--font-sans);font-size:.875rem;color:var(--secondary-color);margin-top:.5rem}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr);gap:2rem}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 4}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr);gap:1.5rem}.celebration-frame{padding:1rem}.confetti-corner{width:30px;height:30px}}.playful-celebration-gallery{--font-display: "Fredoka", sans-serif;--font-sans: "Quicksand", sans-serif;--primary-color: #ff6b6b;--primary-color-rgb: 255, 107, 107;--secondary-color: #4a4a4a;--accent-color: #ff6b6b;--background-color: #fff5f5;--balloon-color-1: #ff9f43;--balloon-color-2: #ff6b6b;--balloon-color-3: #4ecdc4;background-color:var(--background-color);min-height:100vh;font-family:var(--font-sans)}.playful-celebration-gallery *{box-sizing:border-box}.playful-celebration-gallery{scroll-behavior:smooth}.playful-celebration-gallery img{max-width:100%;height:auto}.playful-celebration-gallery h1,.playful-celebration-gallery h2,.playful-celebration-gallery h3{font-family:var(--font-display);font-weight:700;line-height:1.2}.playful-celebration-gallery p{font-family:var(--font-sans);line-height:1.6}.playful-celebration-gallery *{transition:all .3s ease}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;touch-action:none}.modal-content img,.modal-content video{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;color:#fff;border:none;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;z-index:1001;transition:all .3s ease}.nav-button:hover{background:#ffffff4d}.photo-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#00000080;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px}.swipe-indicator{position:absolute;bottom:60px;left:50%;transform:translate(-50%);color:#fff9;font-size:14px;display:none}@media (max-width: 768px){.nav-button{width:40px;height:40px;font-size:20px}.nav-button.prev{left:10px}.nav-button.next{right:10px}.swipe-indicator{display:block}.modal-content{padding:0}.photo-counter{bottom:40px}}@media (hover: none){.nav-button{opacity:.8}.swipe-indicator{display:block}}@supports (padding: max(0px)){.photo-modal{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}.elegant-soiree-header{text-align:center;padding:1.5rem 0;background:linear-gradient(to right,#fffffff2,#fff5f5f2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10;box-shadow:0 2px 10px #0000000d}.header-content{position:relative;z-index:2;padding:1rem}.wedding-title{font-family:Playfair Display,serif;font-size:2.5rem;color:#2c3e50;margin-bottom:1rem;font-weight:600;line-height:1.2}.wedding-details{display:flex;align-items:center;justify-content:center;gap:1.5rem;font-size:1.2rem;color:#5a6c7d;margin:.8rem 0;flex-wrap:wrap;line-height:1.2}.wedding-details>*{white-space:nowrap}.divider{font-size:1.2rem;opacity:.8}.tagline{font-style:italic;font-size:1.1rem;color:#8395a7;margin-top:.8rem;line-height:1.2}@media (max-width: 768px){.elegant-soiree-header{padding:1rem .5rem}.header-content{padding:.5rem}.wedding-title{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:.5rem}.wedding-details{font-size:clamp(.9rem,3vw,1.1rem);gap:.8rem;margin:.5rem 0}.divider{font-size:1rem}.tagline{font-size:clamp(.8rem,2.5vw,1rem);margin-top:.5rem}}@media (max-width: 375px){.elegant-soiree-header{padding:.8rem .3rem}.wedding-title{font-size:clamp(1.2rem,4vw,1.5rem)}.wedding-details{gap:.5rem;font-size:clamp(.8rem,2.5vw,.9rem)}}.elegant-soiree-grid{padding:4rem 2rem;background-color:var(--background-color)}.photo-frame{position:relative;margin-bottom:1.5rem}.frame-border{position:relative;padding:1rem;background:#fff;box-shadow:0 4px 20px #00000014;border-radius:.5rem;transition:transform .3s ease}.frame-border:hover{transform:translateY(-4px)}.image-container{position:relative;overflow:hidden;border-radius:.25rem;aspect-ratio:16/9;background:var(--background-light)}.video-container:not(.modal) video:not([controls]){pointer-events:none}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#ffffffe6;border-radius:50%;opacity:0;transition:opacity .3s ease;z-index:2}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.5rem;opacity:0;transition:opacity .3s ease;z-index:3}.overlay-content{text-align:center;color:#fff}.view-button{display:flex;align-items:center;gap:.5rem;background:transparent;border:2px solid white;color:#fff;padding:.75rem 2rem;font-family:var(--font-sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .3s ease}.view-button:hover{background:#fff;color:var(--primary-color)}.view-text{display:inline-block;transform:translateY(1px)}.view-icon{display:inline-block;font-size:1.2em}.photo-caption{margin-top:1rem;text-align:center;font-family:var(--font-serif);font-size:.875rem;color:var(--secondary-color);font-style:italic}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr)}.item-0{grid-column:span 4}.item-1{grid-column:span 2}.item-2,.item-3{grid-column:span 3}.item-4{grid-column:span 6}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.frame-border{padding:.75rem}}.elegant-soiree-gallery{--font-display: "Cormorant Garamond", serif;--font-serif: "Cormorant Garamond", serif;--font-sans: "Montserrat", sans-serif;--primary-color: #2c3e50;--primary-color-rgb: 44, 62, 80;--secondary-color: #5d6d7e;--accent-color: #c0392b;--background-color: #f8f9fa;background-color:var(--background-color);min-height:100vh;font-family:var(--font-sans);position:relative}.elegant-soiree-gallery *{box-sizing:border-box}.elegant-soiree-gallery{scroll-behavior:smooth}.elegant-soiree-gallery img{max-width:100%;height:auto}.elegant-soiree-gallery h1,.elegant-soiree-gallery h2,.elegant-soiree-gallery h3{font-family:var(--font-display);font-weight:300;line-height:1.2}.elegant-soiree-gallery p{font-family:var(--font-serif);line-height:1.6}.elegant-soiree-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(45deg,var(--accent-color) 25%,transparent 25%),linear-gradient(-45deg,var(--accent-color) 25%,transparent 25%);background-size:60px 60px;background-position:0 0;opacity:.02;pointer-events:none}.retro-nostalgia-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;overflow:hidden}.retro-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.starburst{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:repeating-conic-gradient(from 0deg,var(--primary-color) 0deg 10deg,var(--background-color) 10deg 20deg);opacity:.1}.zigzag-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--accent-color) 25%,transparent 25%) -50px 0,linear-gradient(225deg,var(--accent-color) 25%,transparent 25%) -50px 0;background-size:100px 100px;opacity:.1}.header-content{position:relative;z-index:1;text-align:center;background:#fffffff2;padding:3rem;border-radius:20px;box-shadow:0 20px 40px #0000001a}.retro-badge{width:120px;height:120px;background:var(--accent-color);border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;border:4px solid var(--primary-color)}.badge-content{color:#fff;font-family:var(--font-display);font-size:1.5rem;font-weight:700}.title-block{margin-bottom:3rem}.celebrating{font-family:var(--font-cursive);font-size:2rem;color:var(--accent-color);margin-bottom:1rem}.celebrant-name{font-family:var(--font-display);font-size:4rem;color:var(--primary-color);margin:1rem 0;line-height:1.1;text-transform:uppercase}.age-display{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}.age{font-family:var(--font-display);font-size:3.5rem;color:var(--accent-color);font-weight:700}.years{font-family:var(--font-cursive);font-size:2rem;color:var(--primary-color)}.retro-card{background:var(--primary-color);color:#fff;padding:1.5rem;border-radius:10px;margin:2rem 0}.detail-row{display:flex;align-items:center;gap:1rem;margin:.5rem 0}.text{font-family:var(--font-sans);font-size:1.1rem}.message-banner{position:relative;background:var(--accent-color);color:#fff;padding:1rem 2rem;border-radius:5px;margin-top:2rem;transform:rotate(-2deg)}.banner-text{font-family:var(--font-cursive);font-size:1.3rem}@media (max-width: 768px){.retro-nostalgia-header,.header-content{padding:2rem 1rem}.celebrant-name,.age{font-size:2.5rem}.years{font-size:1.5rem}}.retro-nostalgia-grid{padding:4rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:3rem;max-width:1800px;margin:0 auto}.grid-item{position:relative;transform:rotate(0);transition:transform .3s ease}.item-0{grid-column:span 6;transform:rotate(-2deg)}.item-1{grid-column:span 6;transform:rotate(1deg)}.item-2{grid-column:span 4;transform:rotate(-1deg)}.item-3{grid-column:span 4;transform:rotate(2deg)}.item-4{grid-column:span 4;transform:rotate(-1.5deg)}.item-5{grid-column:span 12;transform:rotate(1deg)}.polaroid-frame{background:#fff;padding:1rem 1rem 3rem;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.polaroid-frame:hover{transform:scale(1.02) rotate(0)!important;box-shadow:0 8px 25px #00000026}.media-wrapper{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--background-light)}.media-item{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.2);transition:filter .3s ease}.polaroid-frame:hover .media-item{filter:sepia(0)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:#ffffffe6;border-radius:50%;opacity:0;transition:opacity .3s ease;z-index:2}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.25rem;opacity:0;transition:opacity .3s ease;z-index:3}.view-button{background:#fff;border:none;color:var(--primary-color);padding:.75rem 1.5rem;font-family:var(--font-serif);font-size:.875rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.polaroid-caption{margin-top:1rem;text-align:center;font-family:var(--font-handwriting, cursive)}.caption-text{display:block;font-size:1rem;color:var(--primary-color);margin-bottom:.5rem}.caption-date{display:block;font-size:.875rem;color:var(--secondary-color)}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr);gap:2rem}.item-0,.item-1{grid-column:span 4}.item-2,.item-3,.item-4,.item-5{grid-column:span 8}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr;gap:2rem}.grid-item{grid-column:span 1!important;transform:rotate(0)!important}.polaroid-frame{padding:.75rem .75rem 2rem}}.retro-nostalgia-gallery{--font-display: "Righteous", cursive;--font-cursive: "Pacifico", cursive;--font-mono: "Space Mono", monospace;--font-sans: system-ui, -apple-system, sans-serif;--primary-color: #ff6b6b;--primary-color-rgb: 255, 107, 107;--secondary-color: #4a4a4a;--accent-color: #4ecdc4;--background-color: #f9f7f7;background-color:var(--background-color);min-height:100vh;font-family:var(--font-sans);position:relative}.retro-nostalgia-gallery *{box-sizing:border-box}.retro-nostalgia-gallery{scroll-behavior:smooth}.retro-nostalgia-gallery img{max-width:100%;height:auto}.retro-nostalgia-gallery h1,.retro-nostalgia-gallery h2,.retro-nostalgia-gallery h3{font-family:var(--font-display);font-weight:400;line-height:1.2}.retro-nostalgia-gallery p{font-family:var(--font-sans);line-height:1.6}.retro-nostalgia-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--primary-color) 2px,transparent 2px);background-size:30px 30px;opacity:.05;pointer-events:none}.modern-minimalist-header{min-height:5vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden}.header-content{position:relative;z-index:1;text-align:center;max-width:1000px;width:100%}.date-section{margin-bottom:3rem}.year{font-family:var(--font-mono);font-size:1.2rem;letter-spacing:.2em;color:var(--accent-color)}.date{font-family:var(--font-sans);font-size:1rem;color:var(--secondary-color);margin-top:.5rem}.title-section{margin:4rem 0}.decorative-line{width:60px;height:2px;background-color:var(--accent-color);margin:2rem auto;transform-origin:center}.celebrant-name{font-family:var(--font-sans);font-size:4.5rem;font-weight:200;color:var(--primary-color);margin:2rem 0;letter-spacing:-.02em;line-height:1.1}.age-display{font-family:var(--font-mono);font-size:7rem;color:var(--accent-color);opacity:.1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}.venue-section{margin-top:3rem}.venue{font-family:var(--font-sans);font-size:1.1rem;color:var(--secondary-color);letter-spacing:.1em}.message-section{margin-top:4rem;max-width:600px;margin-left:auto;margin-right:auto}.message{font-family:var(--font-sans);font-size:1.2rem;color:var(--secondary-color);line-height:1.8;font-weight:300}.geometric-shapes{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.shape{position:absolute;background:var(--accent-color)}.shape-1{width:300px;height:300px;border-radius:50%;top:-100px;right:-100px}.shape-2{width:200px;height:200px;bottom:-50px;left:-50px;transform:rotate(45deg)}.shape-3{width:150px;height:150px;border-radius:50%;top:40%;right:10%}@media (max-width: 768px){.modern-minimalist-header{padding:2rem 1rem}.celebrant-name{font-size:3rem}.age-display{font-size:5rem}.shape{transform:scale(.7)}}.modern-minimalist-grid{padding:4rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;max-width:2000px;margin:0 auto}.item-0,.item-1{grid-column:span 6}.item-5{grid-column:span 8}.item-6{grid-column:span 4}.media-frame{position:relative;overflow:hidden;background:var(--background-light);aspect-ratio:16/9}.media-item{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.media-frame:hover .media-item{transform:scale(1.03)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:#fff;border-radius:50%;opacity:0;transition:opacity .2s ease;z-index:2}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1rem;opacity:0;transition:opacity .2s ease;z-index:3}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0003;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.view-button{background:#fff;border:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.view-button:hover{transform:scale(1.1)}.view-icon{color:var(--primary-color);font-size:1.5rem;line-height:1}.photo-details{margin-top:1rem}.photo-caption{font-family:var(--font-sans);font-size:.875rem;color:var(--primary-color);margin:0;line-height:1.4}.photo-date{display:block;font-family:var(--font-mono);font-size:.75rem;color:var(--secondary-color);margin-top:.25rem}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-1,.item-2,.item-3,.item-4{grid-column:span 4}.item-5{grid-column:span 6}.item-6{grid-column:span 2}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr);gap:1rem}.item-0,.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 2}.item-5{grid-column:span 4}.item-6{grid-column:span 2}}.modern-minimalist-gallery{--font-sans: "Inter", sans-serif;--font-mono: "IBM Plex Mono", monospace;--primary-color: #2c3e50;--secondary-color: #7f8c8d;--accent-color: #3498db;--background-color: #f8f9fa;background-color:var(--background-color);min-height:100vh;color:var(--primary-color)}.modern-minimalist-gallery *{box-sizing:border-box}.modern-minimalist-gallery{scroll-behavior:smooth}.modern-minimalist-gallery img{max-width:100%;height:auto}.modern-minimalist-gallery h1,.modern-minimalist-gallery h2,.modern-minimalist-gallery h3{font-family:var(--font-sans);font-weight:200;line-height:1.2}.modern-minimalist-gallery p{font-family:var(--font-sans);line-height:1.6}.modern-minimalist-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--accent-color) 1px,transparent 1px),linear-gradient(90deg,var(--accent-color) 1px,transparent 1px);background-size:50px 50px;opacity:.02;pointer-events:none}.whimsical-garden-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden;background:linear-gradient(to bottom,var(--background-color),var(--background-light))}.garden-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.flower{position:absolute;font-size:2.5rem;cursor:pointer;pointer-events:auto}.flower-1{top:15%;left:10%}.flower-2{top:25%;right:15%}.flower-3{bottom:20%;left:20%}.flower-4{bottom:30%;right:25%}.flower-5{top:50%;left:50%}.butterfly{position:absolute;font-size:1.5rem;filter:hue-rotate(var(--hue-rotate))}.butterfly-1{top:20%;right:30%;--hue-rotate: 0deg}.butterfly-2{bottom:40%;left:25%;--hue-rotate: 60deg}.butterfly-3{top:60%;right:15%;--hue-rotate: 120deg}.header-content{position:relative;z-index:1;text-align:center;max-width:800px}.celebration-wreath{width:200px;height:200px;margin:0 auto 2rem;border-radius:50%;border:2px solid var(--accent-color);display:flex;align-items:center;justify-content:center;position:relative;background:#ffffffe6}.celebration-wreath:before{content:"🌿";position:absolute;font-size:2rem;transform:rotate(-45deg);left:-1rem;top:40%}.celebration-wreath:after{content:"🌿";position:absolute;font-size:2rem;transform:rotate(45deg);right:-1rem;top:40%}.wreath-text{display:flex;flex-direction:column;align-items:center;gap:.5rem}.celebrating{font-family:var(--font-cursive);font-size:1.2rem;color:var(--accent-color)}.age{font-family:var(--font-display);font-size:3rem;color:var(--primary-color)}.years{font-family:var(--font-cursive);font-size:1.2rem;color:var(--accent-color)}.celebrant-name{font-family:var(--font-display);font-size:4rem;color:var(--primary-color);margin:2rem 0;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.garden-details{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.detail-item{display:flex;align-items:center;justify-content:center;gap:1rem}.icon{font-size:1.5rem}.text{font-family:var(--font-sans);font-size:1.1rem;color:var(--secondary-color)}.garden-message{margin-top:3rem}.message-scroll{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 10px 30px #0000001a;font-family:var(--font-cursive);font-size:1.2rem;color:var(--secondary-color);line-height:1.8;position:relative}.message-scroll:before,.message-scroll:after{content:"🌸";position:absolute;font-size:1.5rem}.message-scroll:before{top:-1rem;left:-1rem}.message-scroll:after{bottom:-1rem;right:-1rem}@media (max-width: 768px){.whimsical-garden-header{padding:2rem 1rem}.celebrant-name{font-size:2.5rem}.celebration-wreath{width:150px;height:150px}.age{font-size:2.5rem}.garden-elements{display:none}}.whimsical-garden-grid{padding:4rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2.5rem;max-width:1800px;margin:0 auto}.garden-frame{position:relative;background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 4px 20px #00000014}.flower-corner{position:absolute;width:30px;height:30px;background-repeat:no-repeat;background-size:contain;opacity:.8}.flower-corner:after{content:"✿";font-size:1.2rem;color:var(--accent-color)}.top-left{top:.5rem;left:.5rem}.top-right{top:.5rem;right:.5rem;transform:rotate(90deg)}.bottom-left{bottom:.5rem;left:.5rem;transform:rotate(-90deg)}.bottom-right{bottom:.5rem;right:.5rem;transform:rotate(180deg)}.media-wrapper{position:relative;overflow:hidden;border-radius:.5rem;aspect-ratio:16/9;background:var(--background-light)}.media-item{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.garden-frame:hover .media-item{transform:scale(1.05)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;background:#fffffff2;border-radius:50%;opacity:0;transition:opacity .3s ease;z-index:2}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--accent-color);font-size:1.2rem;opacity:0;transition:opacity .3s ease;z-index:3}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.view-button{background:#fff;border:2px solid var(--accent-color);color:var(--accent-color);padding:.75rem 1.5rem;border-radius:2rem;font-family:var(--font-display);font-size:.875rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.view-button:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px)}.flower-icon{font-size:1.1em}.photo-caption{margin-top:1.25rem;text-align:center;padding:0 1rem}.photo-caption p{font-family:var(--font-display);font-size:.95rem;color:var(--primary-color);margin:0;line-height:1.4}.caption-date{display:block;font-family:var(--font-serif);font-size:.8rem;color:var(--secondary-color);margin-top:.5rem;font-style:italic}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr);gap:2rem}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2,.item-3{grid-column:span 4}.item-4{grid-column:span 3}.item-5{grid-column:span 5}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr);gap:1.5rem}.garden-frame{padding:1rem}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.flower-corner{width:20px;height:20px}}.whimsical-garden-gallery{--font-display: "Quicksand", sans-serif;--font-cursive: "Indie Flower", cursive;--font-sans: "Quicksand", sans-serif;--primary-color: #2c6e49;--secondary-color: #4a4a4a;--accent-color: #ffc9b9;--background-color: #f4f1de;--background-light: #ffffff;background-color:var(--background-color);min-height:100vh;font-family:var(--font-sans)}.whimsical-garden-gallery *{box-sizing:border-box}.whimsical-garden-gallery{scroll-behavior:smooth}.whimsical-garden-gallery img{max-width:100%;height:auto}.whimsical-garden-gallery h1,.whimsical-garden-gallery h2,.whimsical-garden-gallery h3{font-family:var(--font-display);font-weight:600;line-height:1.2}.whimsical-garden-gallery p{font-family:var(--font-sans);line-height:1.6}.whimsical-garden-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--accent-color) 1px,transparent 1px),radial-gradient(var(--accent-color) 1px,transparent 1px);background-size:40px 40px;background-position:0 0,20px 20px;opacity:.1;pointer-events:none}.fashion-editorial-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.editorial-tag{font-family:var(--font-sans);font-size:1rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-color);margin-bottom:2rem}.editorial-title{font-family:var(--font-display);font-size:5rem;font-weight:200;color:var(--primary-color);line-height:1.1;margin:0 0 1.5rem;text-transform:uppercase;letter-spacing:-.02em}.editorial-subtitle{font-family:var(--font-serif);font-size:1.5rem;color:var(--secondary-color);font-style:italic;margin-bottom:3rem}.editorial-details{display:flex;justify-content:center;gap:4rem;margin:3rem 0;padding:2rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.detail-column{display:flex;flex-direction:column;gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem;text-align:left}.label{font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-color)}.value{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color)}.editorial-description{max-width:800px;margin:4rem auto 0;padding-top:2rem;position:relative}.description-line{width:40px;height:1px;background-color:var(--accent-color);margin:0 auto 2rem}.editorial-description p{font-family:var(--font-serif);font-size:1.2rem;line-height:1.8;color:var(--secondary-color)}@media (max-width: 768px){.fashion-editorial-header{padding:2rem 1rem}.editorial-title{font-size:3rem}.editorial-details{flex-direction:column;gap:2rem}.detail-column{align-items:center}.detail-item{text-align:center}}.fashion-editorial-grid{padding:6rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;max-width:1600px;margin:0 auto}.grid-item{position:relative;grid-column:span 4}.item-3,.item-4{grid-column:span 6}.item-7{grid-column:span 8}.photo-frame{position:relative;background:#fff;transition:transform .3s ease}.photo-frame:hover{transform:translateY(-8px)}.image-container{position:relative;overflow:hidden}.photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fffffff2;display:flex;align-items:center;justify-content:center}.view-button{border:1px solid var(--primary-color);padding:1rem 2rem;transition:all .3s ease}.view-button:hover{background:var(--primary-color);color:#fff}.view-text{font-family:var(--font-sans);font-size:.9rem;text-transform:uppercase;letter-spacing:.2em}.photo-details{padding:2rem 1rem;text-align:left}.detail-line{width:30px;height:1px;background-color:var(--accent-color);margin-bottom:1rem}.photo-caption{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color);margin-bottom:.5rem;line-height:1.6}.photo-credits{font-family:var(--font-sans);font-size:.8rem;color:var(--secondary-color);text-transform:uppercase;letter-spacing:.1em}@media (max-width: 1200px){.photos-container{grid-template-columns:repeat(8,1fr)}.grid-item{grid-column:span 4}.item-0,.item-7{grid-column:span 8}}@media (max-width: 768px){.photos-container{grid-template-columns:repeat(4,1fr);gap:1.5rem}.grid-item{grid-column:span 4!important}.fashion-editorial-grid{padding:3rem 1rem}}.fashion-editorial-gallery{--font-display: "Italiana", serif;--font-serif: "Cormorant Garamond", serif;--font-sans: "Montserrat", sans-serif;--primary-color: #1a1a1a;--secondary-color: #666666;--accent-color: #c1a87d;--background-color: #f8f8f8;--border-color: rgba(0, 0, 0, .1);background-color:var(--background-color);min-height:100vh;color:var(--primary-color)}.fashion-editorial-gallery *{box-sizing:border-box}.fashion-editorial-gallery{scroll-behavior:smooth}.fashion-editorial-gallery img{max-width:100%;height:auto}.fashion-editorial-gallery h1,.fashion-editorial-gallery h2,.fashion-editorial-gallery h3{font-family:var(--font-display);font-weight:400;line-height:1.2}.fashion-editorial-gallery p{font-family:var(--font-serif);line-height:1.6}.fashion-editorial-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(to right,var(--border-color) 1px,transparent 1px),linear-gradient(to bottom,var(--border-color) 1px,transparent 1px);background-size:50px 50px;opacity:.1;pointer-events:none}.portrait-studio-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.header-content{max-width:1200px;width:100%;text-align:center;position:relative;z-index:1}.studio-frame{position:relative;padding:4rem;margin-bottom:4rem}.studio-frame:before,.studio-frame:after{content:"";position:absolute;width:100px;height:100px;border:2px solid var(--accent-color)}.studio-frame:before{top:0;left:0;border-right:none;border-bottom:none}.studio-frame:after{bottom:0;right:0;border-left:none;border-top:none}.studio-tag{font-family:var(--font-sans);font-size:1rem;text-transform:uppercase;letter-spacing:.3em;color:var(--accent-color);margin-bottom:2rem}.studio-title{font-family:var(--font-display);font-size:4.5rem;font-weight:300;color:var(--primary-color);line-height:1.2;margin:0 0 1.5rem}.studio-subtitle{font-family:var(--font-serif);font-size:1.5rem;color:var(--secondary-color);font-style:italic;margin-bottom:2rem}.studio-details{margin:4rem 0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:800px;margin:0 auto}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--secondary-color)}.studio-description{max-width:700px;margin:4rem auto 0;padding:2rem 0;position:relative}.description-border{width:2px;height:60px;background-color:var(--accent-color);margin:0 auto 2rem}.studio-description p{font-family:var(--font-serif);font-size:1.2rem;line-height:1.8;color:var(--secondary-color)}@media (max-width: 768px){.portrait-studio-header,.studio-frame{padding:2rem 1rem}.studio-title{font-size:3rem}.detail-grid{grid-template-columns:1fr;gap:1.5rem}.studio-frame:before,.studio-frame:after{width:60px;height:60px}}.portrait-studio-grid{padding:6rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1400px;margin:0 auto}.item-4{grid-column:span 2}.item-8{grid-row:span 2}.portrait-frame{position:relative;background:#fff;padding:1rem;transition:transform .3s ease}.portrait-frame:hover{transform:translateY(-8px)}.frame-border{position:relative;padding:1rem;border:1px solid var(--border-color)}.image-container{position:relative;overflow:hidden;aspect-ratio:3/4}.image-container img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.grid-item:hover img{transform:scale(1.05)}.photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffeb;display:flex;align-items:center;justify-content:center}.view-circle{width:60px;height:60px;border:1px solid var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.view-circle:hover{background:var(--primary-color);color:#fff}.view-icon{font-size:1.5rem;font-weight:200}.portrait-details{padding:2rem 1rem 1rem;text-align:center}.detail-separator{width:30px;height:1px;background-color:var(--accent-color);margin:0 auto 1.5rem}.portrait-title{font-family:var(--font-serif);font-size:1.2rem;color:var(--primary-color);margin-bottom:.5rem;font-weight:400}.portrait-metadata{font-family:var(--font-sans);font-size:.8rem;color:var(--secondary-color);text-transform:uppercase;letter-spacing:.1em}@media (max-width: 1200px){.photos-container{grid-template-columns:repeat(2,1fr);gap:2rem}.item-0,.item-4,.item-8{grid-column:span 1;grid-row:span 1}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr;gap:2rem}.portrait-studio-grid{padding:3rem 1rem}}.portrait-studio-gallery{--font-display: "Gilda Display", serif;--font-serif: "Crimson Pro", serif;--font-sans: "Karla", sans-serif;--primary-color: #2d2d2d;--secondary-color: #757575;--accent-color: #b8860b;--background-color: #f5f5f5;--border-color: rgba(0, 0, 0, .1);background-color:var(--background-color);min-height:100vh;color:var(--primary-color)}.portrait-studio-gallery *{box-sizing:border-box}.portrait-studio-gallery{scroll-behavior:smooth}.portrait-studio-gallery img{max-width:100%;height:auto}.portrait-studio-gallery h1,.portrait-studio-gallery h2,.portrait-studio-gallery h3{font-family:var(--font-display);font-weight:400;line-height:1.2}.portrait-studio-gallery p{font-family:var(--font-serif);line-height:1.6}.portrait-studio-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.5;pointer-events:none}.academic-traditional-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative;overflow:hidden}.academic-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;opacity:.05;pointer-events:none}.graduation-year{font-family:Crimson Text,serif;font-size:1.5rem;color:var(--accent-color);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.2em}.graduate-name{font-family:var(--font-serif);font-size:3.5rem;font-weight:700;margin:0 0 1rem;color:#333;line-height:1.2;text-shadow:1px 1px 2px rgba(0,0,0,.377)}.academic-details{font-family:Crimson Text,serif;font-size:1.5rem;color:var(--secondary-color);margin:1.5rem 0}.separator{margin:0 1rem;color:var(--accent-color)}.honors{font-family:Crimson Text,serif;font-style:italic;font-size:1.2rem;color:var(--accent-color);margin:1rem 0}.graduation-quote{font-family:Crimson Text,serif;font-size:1.3rem;color:var(--secondary-color);margin:2rem 0;font-style:italic;position:relative;padding:0 2rem}.graduation-quote:before,.graduation-quote:after{content:"";position:absolute;width:30px;height:2px;background-color:var(--accent-color)}.graduation-quote:before{left:0;top:50%}.graduation-quote:after{right:0;top:50%}@media (max-width: 768px){.graduate-name{font-size:2.5rem}.academic-details{flex-direction:column;gap:.5rem}.separator{display:none}.academic-seal{width:300px;height:300px}}.academic-traditional-grid{padding:2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1400px;margin:0 auto}.photo-frame{position:relative;background:#fff;padding:1rem;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.photo-frame:hover{transform:translateY(-4px)}.frame-border{position:relative;border:2px solid var(--accent-color);aspect-ratio:16/9;overflow:hidden}.media-item{width:100%;height:100%;object-fit:cover}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.play-button:hover{background:#fff;transform:translate(-50%,-50%) scale(1.1)}.photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fffffff2;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.view-text{display:block;font-family:Crimson Text,serif;font-size:1.5rem;color:var(--primary-color);margin-bottom:.5rem}.academic-icon{width:30px;height:30px;margin:0 auto}.academic-icon img{width:100%;height:100%;object-fit:contain}.item-0{grid-column:span 2;grid-row:span 2}.item-3{grid-column:span 2}.photo-caption{margin-top:1rem;font-family:Crimson Text,serif;font-size:.9rem;color:var(--secondary-color);text-align:center}.media-item.loading{opacity:.7}@media (max-width: 1024px){.photos-container{grid-template-columns:repeat(2,1fr);gap:1.5rem}.item-0,.item-3{grid-column:span 1;grid-row:span 1}}@media (max-width: 640px){.photos-container{grid-template-columns:1fr;gap:1rem}.academic-traditional-grid{padding:1rem}}.modern-achievement-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background:linear-gradient(135deg,var(--background-color) 0%,var(--gradient-color) 100%);position:relative;overflow:hidden}.geometric-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.geometric-pattern{width:100%;height:100%}.header-content{text-align:center;max-width:800px;position:relative;z-index:1}.achievement-badge{width:120px;height:120px;background:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;box-shadow:0 4px 20px #0000001a}.year{font-family:Poppins,sans-serif;font-size:2rem;font-weight:600;color:#fff}.graduate-name{font-family:Poppins,sans-serif;font-size:3.5rem;font-weight:700;color:var(--primary-color);margin-bottom:1.5rem;line-height:1.2}.academic-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.degree{font-family:Poppins,sans-serif;font-size:1.5rem;color:var(--secondary-color);font-weight:500}.institution{font-family:Poppins,sans-serif;font-size:1.2rem;color:var(--accent-color);font-weight:400}.honors{font-family:Poppins,sans-serif;font-size:1.1rem;color:var(--secondary-color);margin:1.5rem 0;padding:1rem;border-left:4px solid var(--accent-color);background:#ffffff80}.quote-container{margin:3rem 0;position:relative;padding:0 2rem}.quote-mark{font-family:Poppins,sans-serif;font-size:4rem;color:var(--accent-color);opacity:.3;position:absolute}.quote-mark:first-child{top:-2rem;left:0}.quote-mark:last-child{bottom:-2rem;right:0}.quote-text{font-family:Poppins,sans-serif;font-size:1.2rem;color:var(--secondary-color);font-style:italic;line-height:1.6}@media (max-width: 768px){.graduate-name{font-size:2.5rem}.achievement-badge{width:90px;height:90px}.year{font-size:1.5rem}.quote-container{padding:0 1rem}}.modern-achievement-grid{padding:4rem 2rem;background-color:var(--background-color)}.item-0{grid-column:span 7}.item-1{grid-column:span 5}.item-2,.item-3,.item-4{grid-column:span 4}.achievement-card{position:relative;background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #00000014}.achievement-card:hover .media-item{transform:scale(1.05)}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.3rem;opacity:0;transition:opacity .3s ease}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(#0003,#0006);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.view-button{background:#fff;border:none;padding:.75rem 1.5rem;border-radius:.25rem;display:flex;align-items:center;gap:.75rem;font-family:var(--font-sans);font-size:.875rem;color:var(--primary-color);cursor:pointer;transition:all .3s ease}.button-icon{font-size:1.2em;transition:transform .3s ease}.view-button:hover .button-icon{transform:translate(4px)}.photo-info{padding:1.5rem}.photo-caption{font-family:var(--font-sans);font-size:.95rem;color:var(--primary-color);margin:0;line-height:1.5}.photo-date{display:block;font-family:var(--font-mono);font-size:.8rem;color:var(--secondary-color);margin-top:.5rem}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 4}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr)}.item-0,.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 2}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.photo-info{padding:1rem}}.modern-achievement-gallery{--primary-color: #2c3e50;--primary-color-rgb: 44, 62, 80;--secondary-color: #34495e;--accent-color: #e74c3c;--accent-color-rgb: 231, 76, 60;--background-color: #f8f9fa;--gradient-color: #e9ecef;background-color:var(--background-color);min-height:100vh;font-family:Poppins,sans-serif;position:relative}.modern-achievement-gallery:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(45deg,var(--accent-color) 25%,transparent 25%),linear-gradient(-45deg,var(--accent-color) 25%,transparent 25%);background-size:60px 60px;background-position:0 0;opacity:.02;pointer-events:none}.modern-achievement-gallery{scroll-behavior:smooth}.modern-achievement-gallery img{max-width:100%;height:auto}.contemporary-celebration-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;position:relative;overflow:hidden}.dynamic-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.gradient-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vh;height:100vh;background:radial-gradient(circle,var(--accent-color-light) 0%,transparent 70%);border-radius:50%}.header-content{text-align:center;max-width:900px;position:relative;z-index:1;background:#ffffffe6;padding:3rem;border-radius:20px;box-shadow:0 20px 40px #0000001a}.celebration-tag{font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;color:var(--accent-color);text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.5rem}.graduate-name{font-family:Inter,sans-serif;font-size:4rem;font-weight:800;color:var(--primary-color);margin-bottom:2rem;line-height:1.2;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.achievement-details{margin:2rem 0}.degree-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.degree{font-family:Inter,sans-serif;font-size:1.8rem;font-weight:600;color:var(--secondary-color)}.institution{font-family:Inter,sans-serif;font-size:1.2rem;color:var(--accent-color);font-weight:500}.honors{font-family:Inter,sans-serif;font-size:1.1rem;color:var(--secondary-color);padding:1rem 2rem;background:linear-gradient(to right,var(--accent-color-light),transparent);border-radius:8px;margin:2rem 0}.inspiration-quote{margin:3rem auto 0;max-width:600px;position:relative}.quote-text{font-family:Inter,sans-serif;font-size:1.3rem;font-style:italic;color:var(--secondary-color);line-height:1.6;position:relative;padding:0 2rem}.quote-text:before,.quote-text:after{content:'"';font-size:3rem;color:var(--accent-color);position:absolute;opacity:.3}.quote-text:before{left:0;top:-1rem}.quote-text:after{right:0;bottom:-2rem}@media (max-width: 768px){.graduate-name{font-size:2.5rem}.header-content{padding:2rem}.degree{font-size:1.4rem}}.contemporary-celebration-grid{padding:2rem;background-color:var(--background-color)}.contemporary-celebration-grid .photos-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1800px;margin:0 auto}.contemporary-celebration-grid .grid-item{position:relative;width:100%;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 8px 16px #0000001a;transition:transform .3s ease}.contemporary-celebration-grid .grid-item:hover{transform:translateY(-5px)}.contemporary-celebration-grid .media-frame{position:relative;width:100%;height:0;padding-bottom:75%;overflow:hidden}.contemporary-celebration-grid .media-frame img,.contemporary-celebration-grid .media-frame video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.contemporary-celebration-grid .photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0003,#0009);display:flex;align-items:center;justify-content:center}.contemporary-celebration-grid .view-button{background:#ffffffe6;border:none;padding:12px;border-radius:50%;cursor:pointer;transition:transform .2s ease}.contemporary-celebration-grid .view-button:hover{transform:scale(1.1)}.celebration-icon{font-size:1.2em}.photo-caption{font-size:1rem;color:var(--primary-color);margin:0;line-height:1.4}.photo-date{display:block;font-size:.875rem;color:var(--secondary-color);margin-top:.5rem}@media (max-width: 1200px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-5{grid-column:span 5}.item-1,.item-4{grid-column:span 3}.item-2,.item-3{grid-column:span 4}}.contemporary-celebration-gallery{--primary-color: #1a1a1a;--secondary-color: #4a4a4a;--accent-color: #6366f1;--accent-color-light: rgba(99, 102, 241, .1);--background-color: #f8fafc;background-color:var(--background-color);min-height:100vh;font-family:Inter,sans-serif}.contemporary-celebration-gallery{scroll-behavior:smooth}.contemporary-celebration-gallery img{max-width:100%;height:auto}.contemporary-celebration-gallery *{box-sizing:border-box}.minimalist-scholar-header{min-height:10vh;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);color:var(--text-color)}.header-grid{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;max-width:1400px;margin:0 auto;width:100%}.left-column,.right-column{display:flex;flex-direction:column;justify-content:center}.graduation-year{font-family:var(--font-mono);font-size:1.2rem;letter-spacing:.2em;color:var(--accent-color);margin-bottom:1rem}.degree-type{font-family:var(--font-sans);font-size:1rem;color:var(--secondary-color);line-height:1.6}.center-column{text-align:center;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:2rem 0}.graduate-name{font-family:var(--font-serif);font-size:3.5rem;font-weight:300;color:var(--primary-color);margin-bottom:1rem;line-height:1.2}.institution{font-family:var(--font-mono);font-size:1rem;letter-spacing:.1em;color:var(--secondary-color)}.honors-section{text-align:right}.honors-label{font-family:var(--font-mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-color);margin-bottom:.5rem}.honors-text{font-family:var(--font-sans);font-size:1rem;color:var(--secondary-color);line-height:1.6}.quote-section{max-width:800px;margin:4rem auto 0;text-align:center;padding:2rem 0}.quote-line{width:40px;height:1px;background-color:var(--border-color);margin:2rem auto}.quote-text{font-family:var(--font-serif);font-size:1.4rem;font-style:italic;color:var(--primary-color);line-height:1.8}@media (max-width: 1024px){.header-grid{grid-template-columns:1fr;gap:3rem}.left-column,.right-column,.honors-section{text-align:center}.center-column{border:none;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:3rem 0}.graduate-name{font-size:2.5rem}}@media (max-width: 640px){.minimalist-scholar-header{padding:2rem 1rem}.quote-text{font-size:1.2rem}}.minimalist-scholar-grid{padding:2rem;background-color:var(--background-color);max-width:1800px;margin:0 auto}.featured-row{display:grid;grid-template-columns:1.5fr 2fr 1.5fr;gap:2rem;margin-bottom:2rem;height:60vh;max-height:600px}.featured-item .media-frame{height:100%;padding-bottom:0}.featured-1{transform:translateY(-20px)}.regular-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.grid-item{position:relative;aspect-ratio:3/4;background:#fff;border:1px solid rgba(0,0,0,.1);transition:transform .3s ease}.grid-item:hover{transform:translateY(-5px)}.media-frame{position:relative;width:100%;height:100%;overflow:hidden}.media-frame img,.media-frame video{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffeb;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.grid-item:hover .photo-overlay{opacity:1}.view-button{padding:8px 16px;background:none;border:1px solid #000;font-family:var(--font-serif);font-size:.9rem;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.view-button:hover{background:#000;color:#fff}@media (max-width: 1400px){.featured-row{height:50vh}.regular-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width: 1024px){.minimalist-scholar-grid{padding:1.5rem}.featured-row{grid-template-columns:1fr 1.5fr 1fr;height:40vh;gap:1.5rem}}@media (max-width: 768px){.featured-row{grid-template-columns:1fr;height:auto;gap:1rem}.featured-item{aspect-ratio:16/9}.featured-1{transform:none}.regular-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}}@media (max-width: 480px){.minimalist-scholar-grid{padding:1rem}.regular-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.view-button{padding:6px 12px;font-size:.8rem}}.photo-caption{margin-top:1rem;font-family:var(--font-sans);font-size:.875rem;color:var(--secondary-color);line-height:1.4}@media (max-width: 1200px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-1{grid-column:span 4}.item-2{grid-column:span 3}.item-3{grid-column:span 5}}.minimalist-scholar-gallery{--font-serif: "Playfair Display", serif;--font-mono: "IBM Plex Mono", monospace;--font-sans: "Inter", sans-serif;--primary-color: #1a1a1a;--secondary-color: #666666;--accent-color: #9b8579;--background-color: #f8f8f8;--border-color: #e0e0e0;--text-color: #333333;background-color:var(--background-color);min-height:100vh;color:var(--text-color)}.minimalist-scholar-gallery *{box-sizing:border-box}.minimalist-scholar-gallery{scroll-behavior:smooth}.minimalist-scholar-gallery img{max-width:100%;height:auto}.minimalist-scholar-gallery h1,.minimalist-scholar-gallery h2,.minimalist-scholar-gallery h3{font-family:var(--font-serif);font-weight:300;line-height:1.2}.minimalist-scholar-gallery p{font-family:var(--font-sans);line-height:1.6}.lifestyle-session-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.header-content{max-width:800px;text-align:center}.session-title{font-family:var(--font-display);font-size:3.5rem;color:var(--primary-color);margin-bottom:1.5rem}.session-description{font-family:var(--font-serif);font-size:1.2rem;color:var(--secondary-color);line-height:1.6;margin-bottom:3rem}.session-details{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.detail-value{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color)}@media (max-width: 768px){.session-title{font-size:2.5rem}.session-details{flex-direction:column;gap:1.5rem}}.lifestyle-session-grid{padding:2rem;background-color:var(--background-color)}.featured-section{margin-bottom:3rem}.hero-layout{display:grid;grid-template-areas:"main main sub1 sub2" "main main sub3 sub4";gap:1rem;height:80vh;max-height:800px}.featured-0{grid-area:main}.featured-1{grid-area:sub1}.featured-2{grid-area:sub2}.featured-3{grid-area:sub3}.featured-4{grid-area:sub4}.featured-item{position:relative;height:100%;overflow:hidden}.featured-item .media-frame{height:100%}.regular-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.grid-item{position:relative;aspect-ratio:3/4;overflow:hidden}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center}.view-button{padding:10px 20px;background:#ffffffe6;border:none;border-radius:25px;font-size:.9rem;cursor:pointer;transition:all .2s ease}@media (max-width: 1200px){.hero-layout{grid-template-areas:"main main main" "sub1 sub2 sub3" "sub4 sub4 sub4";height:auto}.featured-item{aspect-ratio:16/9}}@media (max-width: 768px){.hero-layout{grid-template-areas:"main" "sub1" "sub2" "sub3" "sub4"}.regular-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}}.item-4{grid-column:span 12}.lifestyle-frame{position:relative;background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #00000014}.lifestyle-frame:hover .media-item{transform:scale(1.05)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#fffffff2;border-radius:50%;opacity:0;transition:opacity .3s ease}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.4rem;opacity:0;transition:opacity .3s ease}.photo-caption{padding:1.5rem;text-align:left}.photo-caption p{font-size:1rem;color:var(--primary-color);margin:0 0 .5rem;line-height:1.4}.photo-location{font-size:.875rem;color:var(--secondary-color)}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2,.item-3{grid-column:span 4}.item-4{grid-column:span 8}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.photo-caption{padding:1rem}}.outdoor-nature-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.title-container{margin-bottom:3rem}.nature-title{font-family:var(--font-display);font-size:4rem;color:var(--primary-color);margin-bottom:1rem}.nature-subtitle{font-family:var(--font-serif);font-size:1.5rem;color:var(--secondary-color)}.nature-description{font-family:var(--font-serif);font-size:1.2rem;color:var(--secondary-color);line-height:1.8;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.location-details{display:flex;justify-content:center;gap:4rem}.location-item{display:flex;flex-direction:column;align-items:center}.location-label{font-family:var(--font-sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-color);margin-bottom:.5rem}.location-value{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color)}@media (max-width: 768px){.nature-title{font-size:3rem}.location-details{flex-direction:column;gap:2rem}}.outdoor-nature-grid{padding:2rem;background-color:var(--background-color)}.hero-section{margin-bottom:2rem}.hero-frame{position:relative;width:100%;height:80vh;max-height:800px;overflow:hidden;border-radius:8px}.hero-frame img,.hero-frame video{width:100%;height:100%;object-fit:cover}.panoramic-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.panoramic-frame{position:relative;height:40vh;overflow:hidden;border-radius:8px}.panoramic-frame img,.panoramic-frame video{width:100%;height:100%;object-fit:cover}.nature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.grid-item{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:3/4}.item-0,.item-5{grid-column:span 2;aspect-ratio:16/9}.media-frame{position:relative;width:100%;height:100%}.media-frame img,.media-frame video{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0000004d;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.view-button{padding:12px 24px;background:#ffffffe6;border:none;border-radius:25px;font-size:1rem;cursor:pointer;transition:all .2s ease}.view-button:hover{background:#fff;transform:scale(1.05)}@media (max-width: 1200px){.hero-frame{height:60vh}.panoramic-frame{height:30vh}}@media (max-width: 768px){.outdoor-nature-grid{padding:1rem}.panoramic-section{grid-template-columns:1fr;gap:1rem}.hero-frame{height:40vh}.panoramic-frame{height:25vh}.nature-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.item-0,.item-5{grid-column:auto;aspect-ratio:3/4}}.no-photos-message{text-align:center;padding:4rem 2rem;color:var(--text-color-light)}.no-photos-message span{font-size:3rem;display:block;margin-bottom:1rem}.nature-frame{position:relative;background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 4px 20px #0000001a}.media-wrapper{position:relative;aspect-ratio:16/9;overflow:hidden}.nature-frame:hover .media-item{transform:scale(1.05)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:#fffffff2;border-radius:50%;opacity:0;transition:opacity .3s ease}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--accent-color);font-size:1.3rem;opacity:0;transition:opacity .3s ease}.nature-icon{font-size:1.2em}.photo-details{padding:1.5rem;text-align:left}.photo-caption{font-size:1rem;color:var(--primary-color);margin:0 0 .5rem;line-height:1.4}.photo-location{font-size:.875rem;color:var(--secondary-color);display:block}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0,.item-1,.item-2,.item-3,.item-4{grid-column:span 4}.item-5{grid-column:span 8}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr)}.item-0,.item-1{grid-column:span 3}.item-2,.item-3,.item-4{grid-column:span 2}.item-5{grid-column:span 6}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}.photo-details{padding:1rem}}.corporate-headshot-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.header-content{max-width:1000px;text-align:center}.title-section{margin-bottom:2.5rem}.corporate-title{font-family:var(--font-display);font-size:3.5rem;color:var(--primary-color);margin-bottom:1rem}.corporate-subtitle{font-family:var(--font-serif);font-size:1.25rem;color:var(--secondary-color)}.corporate-description{font-family:var(--font-serif);font-size:1.1rem;color:var(--secondary-color);line-height:1.7;margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.session-info{display:flex;justify-content:center;gap:3rem}.info-item{display:flex;flex-direction:column;align-items:center}.info-label{font-family:var(--font-sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-color);margin-bottom:.5rem}.info-value{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color)}@media (max-width: 768px){.corporate-title{font-size:2.5rem}.session-info{flex-direction:column;gap:1.5rem}}.corporate-headshot-grid{padding:4rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2.5rem;max-width:1600px;margin:0 auto}.item-0,.item-1,.item-2,.item-3{grid-column:span 3}.headshot-photo{position:relative;background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 20px #00000014;aspect-ratio:4/5}.media-item{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.headshot-photo:hover .media-item{transform:scale(1.05)}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;background:#fffffff2;border-radius:50%;opacity:0;transition:opacity .3s ease}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--primary-color);font-size:1.2rem;opacity:0;transition:opacity .3s ease}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(#ffffff1a,#00000080);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay-content{text-align:center}.view-button{background:#fff;border:none;padding:.75rem 1.5rem;border-radius:.25rem;font-size:.875rem;color:var(--primary-color);cursor:pointer;transition:all .3s ease;margin-bottom:.75rem}.view-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.photo-title{color:#fff;font-size:.875rem;margin:0}.photo-details{padding:1.25rem;text-align:center;background:#fff}.person-name{font-size:1.1rem;color:var(--primary-color);margin:0 0 .5rem}.person-position{font-size:.875rem;color:var(--secondary-color);margin:0}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr);gap:2rem}.item-0,.item-1,.item-2,.item-3{grid-column:span 2}}@media (max-width: 992px){.photos-container{grid-template-columns:repeat(6,1fr)}.item-0,.item-1,.item-2,.item-3{grid-column:span 3}}@media (max-width: 768px){.photos-container{grid-template-columns:repeat(2,1fr);gap:1.5rem}.grid-item{grid-column:span 1!important}.photo-details{padding:1rem}}@media (max-width: 480px){.photos-container{grid-template-columns:1fr}}.boudoir-artistic-header{min-height:10vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;background-color:var(--background-color);position:relative}.header-content{max-width:900px;text-align:center}.title-wrapper{margin-bottom:3rem}.boudoir-title{font-family:var(--font-display);font-size:4rem;color:var(--primary-color);margin-bottom:1rem;font-weight:300}.boudoir-subtitle{font-family:var(--font-serif);font-size:1.5rem;color:var(--secondary-color);font-style:italic}.boudoir-description{font-family:var(--font-serif);font-size:1.2rem;color:var(--secondary-color);line-height:1.8;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.session-details{display:flex;justify-content:center;gap:4rem}.detail-item{display:flex;flex-direction:column;align-items:center}.detail-label{font-family:var(--font-sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-color);margin-bottom:.5rem}.detail-value{font-family:var(--font-serif);font-size:1.1rem;color:var(--primary-color);font-style:italic}@media (max-width: 768px){.boudoir-title{font-size:3rem}.session-details{flex-direction:column;gap:2rem}}.boudoir-artistic-grid{padding:4rem 2rem;background-color:var(--background-color)}.photos-container{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;max-width:1800px;margin:0 auto}.grid-item{position:relative}.item-0{grid-column:span 8}.item-1{grid-column:span 4}.item-2,.item-3{grid-column:span 6}.item-4{grid-column:span 5}.item-5{grid-column:span 7}.artistic-photo{position:relative;overflow:hidden;background:#000;aspect-ratio:16/9}.media-item{width:100%;height:100%;object-fit:cover;opacity:.9;transition:all .6s ease}.artistic-photo:hover .media-item{transform:scale(1.05);opacity:1}.video-container{width:100%;height:100%;position:relative}.video-container video{width:100%;height:100%;object-fit:cover}.video-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:#ffffffe6;border-radius:50%;opacity:0;transition:opacity .3s ease}.video-container:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#000;font-size:1.4rem;opacity:0;transition:opacity .3s ease}.video-container:hover:before,.video-container:hover:after{opacity:1}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.view-button{background:transparent;border:2px solid white;color:#fff;padding:.75rem 2rem;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.view-button:hover{background:#fff;color:#000}.photo-caption{margin-top:1rem;text-align:center;color:var(--secondary-color);font-style:italic;font-size:.95rem}@media (max-width: 1400px){.photos-container{grid-template-columns:repeat(8,1fr)}.item-0{grid-column:span 5}.item-1{grid-column:span 3}.item-2,.item-3{grid-column:span 4}.item-4{grid-column:span 3}.item-5{grid-column:span 5}}@media (max-width: 768px){.photos-container{grid-template-columns:1fr}.grid-item{grid-column:span 1!important}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.party-app{min-height:100vh;background:linear-gradient(135deg,#fff5e6,#ffe0cc,#ffd9b3);padding:0 1rem;max-width:1280px;margin:0 auto}.party-header{text-align:center;padding:1rem .5rem;background:linear-gradient(to bottom,#7c7b7af2,#f7d9cad9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;margin:0 -1rem;border-bottom:1px solid rgba(255,255,255,.3)}.confetti-container{display:none}.party-icon-container{margin-bottom:.25rem}.event-icon{font-size:clamp(1.2rem,3vw,1.8rem);opacity:.9;color:#fff}.party-header h1{font-family:Playfair Display,serif;font-size:clamp(1.2rem,3vw,1.8rem);margin-bottom:.25rem;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.event-details{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem}.date-location{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;gap:.5rem;font-size:clamp(.9rem,2vw,1.1rem);color:#fff;margin-bottom:.25rem}.date,.location{display:inline-block}.divider{opacity:.8;color:#fff;display:inline-block;margin:0 .25rem;flex-shrink:0}.tagline{font-size:clamp(.8rem,1.5vw,1rem);color:#ffffffe6;font-style:italic;margin-top:.25rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.5rem;padding:1.5rem 0;max-width:1400px;margin:0 auto}.photo-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;box-shadow:0 4px 20px #0000001a;background:#fff;transition:transform .3s ease,box-shadow .3s ease}.photo-item:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #00000026}@media (max-width: 768px){.party-header{padding:.75rem .5rem}.date-location{flex-wrap:nowrap;justify-content:center;width:auto;display:inline-flex}.divider{margin:0 .5rem}.confetti{display:none}}@media (max-width: 480px){.party-header{padding:.25rem}.photo-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.confetti{display:none}.photo-item:hover .media-item{transform:none}}.graduation-app{min-height:100vh;background:linear-gradient(135deg,#f0e6ff,#e6f0ff);padding:0 1rem;max-width:1280px;margin:0 auto}.graduation-header{text-align:center;padding:.5rem;background:linear-gradient(to bottom,#9370dbf2,#b79cedd9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;margin:0 -1rem;border-bottom:1px solid rgba(255,255,255,.3);overflow:hidden}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes toss{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}to{transform:translateY(0) rotate(360deg)}}.graduation-decorations{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.grad-cap{position:absolute;font-size:1.2rem;animation:float 3s ease-in-out infinite;opacity:.7}.grad-cap:nth-child(1){left:5%;animation-delay:0s}.grad-cap:nth-child(2){right:5%;animation-delay:-1.5s}.diploma{position:absolute;font-size:1rem;animation:toss 4s ease-in-out infinite}.diploma:nth-child(3){left:15%;top:20%;animation-delay:-1s}.diploma:nth-child(4){right:15%;top:20%;animation-delay:-2s}.grad-cap-container{margin-bottom:2rem}.event-icon{font-size:clamp(1.2rem,3vw,1.8rem);margin-bottom:.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.graduation-header h1{font-family:Playfair Display,serif;font-size:clamp(1.2rem,3vw,1.8rem);margin-bottom:.25rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.grad-achievement{font-size:clamp(.8rem,2vw,1rem);font-weight:500;margin-bottom:.5rem;opacity:.9}.date-location{display:flex;align-items:center;justify-content:center;gap:1.5rem;font-size:clamp(1rem,2.5vw,1.2rem)}.divider{opacity:.8}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:2rem 0;max-width:1400px;margin:0 auto}.photo-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px #0000001a;background:#fff}.photo-modal{background:#2a2a2af2}.nav-button{background:#9370db33}.nav-button:hover{background:#9370db4d}@media (max-width: 768px){.graduation-header{padding:.5rem 1rem}.event-icon{font-size:1.8rem}.date-location{flex-direction:column;gap:.5rem}.divider{display:none}.photo-grid{gap:1rem}}@media (max-width: 480px){.graduation-header{margin:0 -1rem;padding:.5rem 1rem}.photo-grid{grid-template-columns:1fr}}.birthday-app{min-height:100vh;background-color:#fff8f8;background-image:radial-gradient(#ffd1d1 2px,transparent 2px),radial-gradient(#ffd1d1 2px,transparent 2px);background-size:40px 40px;background-position:0 0,20px 20px;padding:0 1rem;max-width:1280px;margin:0 auto}.birthday-header{text-align:center;padding:.25rem;background:linear-gradient(to bottom,#f6d365f2,#fda085d9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;margin:0 -1rem;border-bottom:1px solid rgba(255,255,255,.2);overflow:hidden}.header-content{position:relative;z-index:2;padding:.25rem 0}.event-icon{font-size:clamp(1rem,2vw,1.4rem);margin-bottom:.125rem;display:inline-block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.birthday-header h1{font-family:Playfair Display,serif;font-size:clamp(1rem,2.5vw,1.4rem);color:#fff;margin-bottom:.125rem;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.date-location{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:clamp(.7rem,1.5vw,.9rem);color:#fff}.divider{opacity:.8;margin:0 .5rem}.tagline{font-style:italic;opacity:.9;font-size:clamp(.7rem,1.5vw,.9rem);color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:1rem 0 2rem}.photo-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px #0000001a;cursor:pointer;background:#fff}.media-item{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-item:hover .media-item{transform:scale(1.05)}.video-item{position:relative}.video-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#00000080;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;pointer-events:none;z-index:2}.photo-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;justify-content:center;align-items:center}.modal-content img,.modal-content video{max-height:80vh;max-width:100%;object-fit:contain;border-radius:8px}.nav-button{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s ease}.nav-button.prev{left:20px}.nav-button.next{right:20px}.nav-button:hover{background:#fff3}.photo-counter{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#ffffff1a;padding:.5rem 1rem;border-radius:20px;color:#fff;font-size:.9rem}.swipe-indicator{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);color:#fff9;font-size:.8rem}.loading-screen,.error-screen{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:1.2rem;color:#666}@media (max-width: 768px){.birthday-header{padding:1.5rem 1rem;margin-bottom:1rem}.event-icon{font-size:2rem}.date-location{flex-direction:row;gap:.25rem}.divider{display:none}.photo-grid{gap:1rem}.nav-button{width:40px;height:40px;font-size:1.2rem}}@media (max-width: 480px){.birthday-header{padding:1rem .5rem;margin-bottom:1rem}.photo-grid{grid-template-columns:1fr}}@media (hover: none){.photo-item:hover .media-item{transform:none}.nav-button{opacity:.8}}@supports (padding: max(0px)){.birthday-app{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.birthday-decorations{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.balloon{position:absolute;font-size:1.5rem;animation:float 3s ease-in-out infinite;opacity:.7}.balloon:nth-child(1){left:5%;animation-delay:0s}.balloon:nth-child(2){left:85%;animation-delay:-1.5s}.cake{position:absolute;font-size:1.2rem;animation:spin 8s linear infinite}.cake:nth-child(3){right:15%;top:20%;animation-delay:-2s}.cake:nth-child(4){left:15%;top:20%;animation-delay:-4s}.sparkle{position:absolute;font-size:.8rem;animation:sparkle 2s ease-in-out infinite}.sparkle:nth-child(5){left:30%;top:10%;animation-delay:-.5s}.sparkle:nth-child(6){right:30%;top:10%;animation-delay:-1s}.sparkle:nth-child(7){left:50%;top:15%;animation-delay:-1.5s}.copy-success{animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}@media (max-width: 768px){.min-h-screen{padding:1rem}.text-gray-700,.text-gray-900,.text-green-900,.font-medium,input,button{color:#111827!important;-webkit-text-fill-color:#111827!important}button.bg-blue-600,a.bg-blue-600{background-color:#2563eb!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.grid-cols-5{gap:.75rem}.grid-cols-5 a{padding:.75rem}.grid-cols-5 a span{color:#fff!important;-webkit-text-fill-color:#ffffff!important;font-size:.75rem}}.profile-page{background:linear-gradient(135deg,#f6f9fc,#eef2f7);min-height:100vh}.profile-header{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;transition:transform .3s ease}.profile-header:hover{transform:translateY(-2px)}.profile-image{border:3px solid #fff;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.profile-image:hover{transform:scale(1.05)}.gallery-card{width:100%;background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.1)}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #0000001a}.gallery-header{padding:1.5rem;border-bottom:1px solid #f0f0f0}.gallery-content{padding:1.5rem}.create-button{background:linear-gradient(135deg,#5f5bad,#3b82f6);transition:all .3s ease;box-shadow:0 4px 12px #3b82f633}.create-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3b82f64d}.renew-button{background:linear-gradient(135deg,#3b82f6,#2563eb);transition:all .3s ease}.renew-button:hover{transform:translateY(-2px)}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.status-badge.active{background-color:#dcfce7;color:#15803d}.status-badge.inactive{background-color:#fee2e2;color:#b91c1c}.loading-spinner{border:3px solid #f3f3f3;border-top:3px solid #3b82f6;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d}.empty-state svg{color:#9ca3af;margin-bottom:1rem}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:12px;padding:1rem;color:#b91c1c;margin-bottom:1.5rem}.gallery-grid{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%}@media (max-width: 768px){.gallery-grid{grid-template-columns:1fr}.profile-header{margin:1rem}}.fade-in{animation:fadeIn .5s ease-in}.slide-up{animation:slideUp .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-link{color:#3b82f6;text-decoration:none;transition:all .2s ease}.gallery-link:hover{color:#2563eb;text-decoration:underline}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#111827}.share-button{transition:transform .2s}.share-button:hover{transform:translateY(-2px)}@media (max-width: 768px){.gallery-card{padding:1rem}.grid-cols-3{gap:.5rem}.grid-cols-3 a{padding:.5rem;min-height:60px;display:flex;flex-direction:column;justify-content:center;align-items:center}.grid-cols-3 a svg{height:1.25rem;width:1.25rem;margin-bottom:.25rem}.grid-cols-3 a span{font-size:.625rem;line-height:1;text-align:center;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.flex.shadow-sm{margin-bottom:1rem}.flex.shadow-sm input{font-size:.875rem;padding:.5rem}.flex.shadow-sm button{white-space:nowrap;padding:.5rem 1rem}.text-gray-700,.text-gray-900,.font-medium,input,button{color:#111827!important;-webkit-text-fill-color:#111827!important}button.bg-blue-600,a.bg-blue-600{background-color:#2563eb!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}.mt-4.pt-4.border-t{margin-top:1rem;padding-top:1rem}h4.text-sm{margin-bottom:.75rem;font-size:.875rem}}a[href^="https://wa.me"],a[href^="https://www.facebook.com"],a[href^="https://twitter.com"],a[href^="mailto:"],a[href^="sms:"]{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (max-width: 640px){.gallery-card{padding:1rem}.gallery-content{padding:.5rem}}.customize-page{min-height:100vh;background:#f8fafc}.customize-container{display:grid;grid-template-columns:33% 67%;min-height:100vh}.customize-panel{background:#fff;padding:1.5rem;border-right:1px solid #e5e7eb;height:100vh;width:100%;overflow-y:auto}.customize-panel-content{padding-bottom:2rem}.preview-panel{background:#f8fafc;padding:1.5rem;width:100%;height:100vh;overflow:hidden;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.preview-header h3{font-size:1.2rem;font-weight:500;color:#374151}.gallery-type{font-size:.9rem;color:#6b7280;text-transform:capitalize}.gallery-preview-wrapper{height:100%;width:100%}.preview-container{flex:1;border-radius:8px;overflow:auto;background:#fff;box-shadow:0 1px 3px #0000001a}.preview-container>div{height:100%;width:100%}[class*=-gallery]{min-height:100%;width:100%}.customize-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#1a1a1a}.color-section,.font-section{background:#f8fafc;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.color-section h3,.font-section h3{font-size:1.1rem;font-weight:500;margin-bottom:1rem;color:#374151}.color-picker{margin-bottom:1rem}.color-picker label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#4b5563}.color-input-wrapper{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.color-picker input[type=color]{width:50px;height:35px;padding:0;border:2px solid #e5e7eb;border-radius:6px}.color-value{font-size:.9rem;color:#6b7280;font-family:monospace}.font-section select{width:100%;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;color:#374151}.button-group{position:sticky;bottom:0;background:#fff;padding:1rem 0;border-top:1px solid #e5e7eb;margin-top:2rem}.save-button,.cancel-button{flex:1;padding:.75rem;border-radius:6px;border:none;cursor:pointer;font-weight:500;transition:all .2s}.save-button{background:#3b82f6;color:#fff}.save-button:hover{background:#2563eb}.save-button:disabled{background:#93c5fd;cursor:not-allowed}.cancel-button{background:#e5e7eb;color:#374151}.cancel-button:hover{background:#d1d5db}[class*=-app]{height:100%;width:100%;overflow:auto}.photo-grid{padding:1rem;height:auto;min-height:100%}.photo-item{position:relative;overflow:hidden;background:#f8fafc}.photo-item img,.photo-item video{width:100%;height:100%;object-fit:cover}@media (max-width: 1024px){.customize-container{grid-template-columns:1fr}.customize-panel,.preview-panel{width:100%;height:auto}.preview-container{height:500px}.button-group{position:relative;margin-top:1rem}}.text-content-section{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.input-group{margin-bottom:1rem}.input-group label{display:block;margin-bottom:.5rem;font-size:.875rem;color:#4a5568}.customize-input{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;transition:all .2s}.customize-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.customize-select{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;background-color:#fff;font-size:.875rem}.emoji-selector{position:relative;display:flex;align-items:center;gap:1rem}.emoji-button{padding:.5rem 1rem;font-size:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .2s}.emoji-button:hover{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.emoji-picker-container{position:absolute;top:100%;left:0;z-index:10;margin-top:.5rem}input[type=date].customize-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:.5rem;background:#fff}input[type=date].customize-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .2s}input[type=date].customize-input::-webkit-calendar-picker-indicator:hover{opacity:1}.admin-dashboard{padding:1rem;max-width:1200px;margin:0 auto}.admin-nav{display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem;border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.admin-nav::-webkit-scrollbar{height:4px}.admin-nav::-webkit-scrollbar-track{background:#f1f1f1}.admin-nav::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.admin-nav button{padding:.5rem 1rem;border:none;background:none;color:#6b7280;font-size:.875rem;cursor:pointer;border-radius:.5rem;transition:all .2s ease;white-space:nowrap}.admin-nav button:hover{color:#111827;background:#f3f4f6}.admin-nav button.active{color:#2563eb;font-weight:500;background:#eff6ff}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.25rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.stat-title{color:#6b7280;font-size:1rem;font-weight:500;margin-bottom:.5rem}.stat-value{color:#111827;font-size:1.5rem;font-weight:600}.galleries-list{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.galleries-list h3{margin-bottom:1.5rem;color:#111827;font-size:1.25rem}.galleries-list table{width:100%;border-collapse:collapse}.galleries-list th{text-align:left;padding:.75rem;color:#6b7280;font-weight:500;border-bottom:1px solid #e5e7eb}.galleries-list td{padding:.75rem;border-bottom:1px solid #e5e7eb}.galleries-list tr:last-child td{border-bottom:none}.btn-danger{padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.analytics,.user-flow{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.analytics h3,.user-flow h3{margin-bottom:1.5rem;color:#111827;font-size:1.25rem}.recharts-default-tooltip{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:.5rem!important;padding:1rem!important;box-shadow:0 4px 6px -1px #0000001a!important}.recharts-tooltip-label{color:#6b7280!important;margin-bottom:.5rem!important}.recharts-tooltip-item{color:#111827!important}.loading-spinner{display:flex;justify-content:center;align-items:center;min-height:200px}.error-message{color:#ef4444;text-align:center;padding:1rem;background:#fef2f2;border-radius:.5rem;margin:1rem 0}.promo-codes-section{display:grid;gap:2rem}.create-promo-code{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.promo-code-form{display:grid;gap:1rem;max-width:400px}.promo-code-form .form-group{display:flex;flex-direction:column;gap:.5rem}.promo-code-form input{padding:.5rem;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem}.promo-code-form input:focus{outline:none;border-color:#2563eb;ring:2px solid rgba(37,99,235,.2)}.promo-codes-list{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.promo-codes-list table{width:100%;border-collapse:collapse;margin-top:1rem}.promo-codes-list th,.promo-codes-list td{padding:.75rem;text-align:left;border-bottom:1px solid #e5e7eb}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.btn-primary{background:#2563eb;color:#fff;padding:.5rem 1rem;border-radius:.375rem;border:none;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background:#1d4ed8}.btn-danger{background:#dc2626;color:#fff;padding:.5rem 1rem;border-radius:.375rem;border:none;font-size:.875rem;cursor:pointer;transition:background-color .2s}.btn-danger:hover{background:#b91c1c}.admin-header{padding:1rem;border-bottom:1px solid #e5e7eb;background:#fff;position:sticky;top:0;z-index:10}.back-to-home{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:none;color:#666;font-size:1rem;cursor:pointer;transition:color .2s ease}.back-to-home:hover{color:#000}.admin-content{padding-top:1rem}@media (max-width: 768px){.admin-dashboard{padding:.5rem}.overview-stats{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-title{font-size:.875rem}.stat-value{font-size:1.25rem}.galleries-list{padding:1rem;overflow-x:auto}.galleries-list table{min-width:600px}.galleries-list th,.galleries-list td{padding:.75rem;font-size:.875rem}.analytics,.user-flow{padding:1rem;overflow-x:auto}.recharts-wrapper{max-width:100%;height:auto!important}.promo-codes-section{gap:1rem}.create-promo-code,.promo-codes-list{padding:1rem}.promo-codes-list table{min-width:600px}.promo-code-form{max-width:100%}.btn-danger,.btn-primary{padding:.5rem .75rem;font-size:.75rem}.admin-header{padding:.75rem}.back-to-home{padding:.5rem;font-size:.875rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}.galleries-list h3,.analytics h3,.user-flow h3,.promo-codes-list h3{color:#111827;font-size:1.125rem}.status-badge{font-size:.675rem;padding:.25rem .375rem}button{min-height:44px;padding:.5rem 1rem}input,select{min-height:44px;font-size:16px}.chart-container{padding:.5rem;margin:.5rem 0}.table-responsive-container{position:relative}.table-responsive-container:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,rgba(255,255,255,.9));pointer-events:none}}.section-header{margin-bottom:2rem}.section-header h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.section-description{color:var(--text-secondary);font-size:.875rem}.journey-metrics,.activity-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.metric-value{font-size:2rem;font-weight:600;color:var(--text-primary);margin:.5rem 0}.metric-description{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:.875rem}.trend{display:flex;align-items:center;gap:.25rem}.trend-positive{color:#10b981}.trend-negative{color:#ef4444}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-legend{display:flex;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.dot{width:8px;height:8px;border-radius:50%}.dot.active{background:#2563eb}.dot.dropped{background:#ef4444}.chart-insights{margin-top:1.5rem;padding:1rem;background:#f8fafc;border-radius:.5rem}.chart-insights h5{color:var(--text-primary);margin-bottom:.5rem}.chart-insights ul{list-style:none;padding:0}.chart-insights li{color:var(--text-secondary);margin-bottom:.5rem;padding-left:1rem;position:relative}.chart-insights li:before{content:"•";position:absolute;left:0;color:#2563eb}@media (max-width: 768px){.journey-metrics,.activity-metrics{grid-template-columns:1fr}.metric-value{font-size:1.5rem}.chart-header{flex-direction:column;gap:1rem}}.users-table-container{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.users-table-container table{width:100%;border-collapse:collapse}.users-table-container th{text-align:left;padding:.75rem;color:#6b7280;font-weight:500;border-bottom:1px solid #e5e7eb}.users-table-container td{padding:.75rem;border-bottom:1px solid #e5e7eb}.users-table-container tr:last-child td{border-bottom:none}@media (max-width: 768px){.users-table-container{margin:0 -1rem;padding:1rem;border-radius:0}.users-table-container table{min-width:600px}.users-table-container th,.users-table-container td{padding:.5rem;font-size:.875rem}}.photographers-section{display:flex;flex-direction:column;gap:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1rem}.stat-card{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.stat-card h3{color:#64748b;font-size:.875rem;margin-bottom:.5rem}.stat-card .stat-value{font-size:1.875rem;font-weight:600;color:#1e293b}.section-card{background:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.section-card h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:1.5rem}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:separate;border-spacing:0}.admin-table th{background:#f8fafc;padding:.75rem 1rem;font-weight:500;text-align:left;color:#64748b;border-bottom:1px solid #e2e8f0}.admin-table td{padding:1rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.specializations{display:flex;flex-wrap:wrap;gap:.5rem}.specialization-tag{background:#f1f5f9;color:#475569;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem}.action-buttons{display:flex;gap:.5rem}.btn-sm{padding:.375rem .75rem;font-size:.875rem;border-radius:.375rem}.btn-success{background:#22c55e;color:#fff}.btn-success:hover{background:#16a34a}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.portfolio-link{color:#3b82f6;text-decoration:none;font-size:.875rem}.portfolio-link:hover{text-decoration:underline}.featured-toggle{background:transparent;border:1px solid #e2e8f0;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;color:#64748b;cursor:pointer;transition:all .2s}.featured-toggle.active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.featured-toggle:hover{background:#f8fafc}.featured-toggle.active:hover{background:#fde68a}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.admin-table th,.admin-table td{padding:.5rem}}.table-responsive-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.admin-table{width:100%;white-space:nowrap;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #e5e7eb}.chart-container{background:#fff;padding:1rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin:1rem 0}@media (prefers-color-scheme: dark){.stat-card,.table-responsive-container,.chart-container{background:#1f2937}.stat-title{color:#9ca3af}.stat-value{color:#f3f4f6}.admin-table th{color:#9ca3af}.admin-table td{color:#f3f4f6;border-bottom-color:#374151}}.analytics{display:grid;gap:1.5rem}.analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.chart-title{font-size:1.125rem;font-weight:500;color:#374151;margin-bottom:1rem}.analytics-trends{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.trend-card{padding:1rem;background:#f9fafb;border-radius:.5rem}.trend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.trend-title{font-weight:500;color:#374151}.trend-change{font-size:.875rem;font-weight:500}.trend-change.positive{color:#059669}.trend-change.negative{color:#dc2626}.trend-value{font-size:1.5rem;font-weight:600;color:#111827;margin:.5rem 0}.trend-period{font-size:.875rem;color:#6b7280}.analytics-insights{background:#fff;padding:1.5rem;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.insights-grid{display:grid;gap:1rem;margin-top:1rem}.insight-card{display:flex;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.5rem}.insight-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:9999px;font-size:1.25rem}.insight-icon.positive{background:#dcfce7;color:#059669}.insight-icon.negative{background:#fee2e2;color:#dc2626}.insight-icon.neutral{background:#f3f4f6;color:#4b5563}.insight-title{font-weight:500;color:#374151;margin-bottom:.25rem}.insight-description{font-size:.875rem;color:#6b7280}@media (max-width: 768px){.analytics{gap:1rem}.trend-grid,.analytics-summary{grid-template-columns:1fr}.insight-card{flex-direction:column;text-align:center}.insight-icon{margin:0 auto}.chart-container{padding:.5rem}}.blog-page{min-height:100vh;padding:1rem;background:var(--bg-gradient);overflow-y:auto;-webkit-overflow-scrolling:touch}.blog-header{text-align:center;margin-bottom:2rem;padding-top:4rem}.blog-header h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:1rem}.blog-header p{color:var(--text-secondary);font-size:1.2rem}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem}.blog-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease}.blog-image{width:100%;height:200px;object-fit:cover}.blog-content{padding:1.5rem}.blog-content h2{color:var(--text-primary);margin-bottom:1rem}.blog-content p,.blog-content time{color:var(--text-primary)}.blog-post-content h2{color:var(--text-primary);margin:1.5rem 0 1rem}.steps-list{padding-left:1.5rem;margin-bottom:1.5rem}.steps-list li{margin-bottom:.75rem;color:var(--text-primary);line-height:1.6}.copy-email-btn{display:inline-flex;align-items:center;gap:.5rem;margin:.5rem 0;padding:.5rem 1rem;background:var(--bg-light);border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;position:relative;color:var(--text-primary)}.copy-email-btn:hover{background:var(--bg-hover)}.copy-tooltip{position:absolute;top:-2rem;left:50%;transform:translate(-50%);background:var(--text-primary);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem}.important-notes{background:var(--bg-light);padding:1rem;margin:1rem 0;border-radius:.5rem;color:var(--text-primary)}.important-notes h3{color:var(--text-primary);margin-bottom:.5rem}.important-notes ul{list-style-type:disc;margin-left:1.5rem}.important-notes li{color:var(--text-primary);margin-bottom:.75rem}@media (max-width: 768px){.blog-page{height:auto;min-height:100vh;padding:.5rem;position:relative}.blog-header{padding-top:5rem;margin-bottom:1rem}.blog-grid{grid-template-columns:1fr;gap:1rem;padding:0}.blog-card{width:100%;margin-bottom:1rem;box-sizing:border-box;background:#fff}.back-button{position:fixed;top:1rem;left:1rem;z-index:1000}.expanded-content{width:100%;box-sizing:border-box}.copy-email-btn{width:100%;word-break:break-all}.blog-header h1{font-size:1.75rem}.blog-content{padding:1rem}.blog-content h2,.blog-content p,.blog-content time,.blog-post-content h2,.steps-list li,.important-notes li,.important-notes h3{color:var(--text-primary)}.important-notes{padding:.75rem;margin:.75rem 0;font-size:.9rem}}.terms-page,.privacy-page{min-height:100vh;padding:2rem;background:var(--bg-gradient)}.terms-content,.privacy-content{max-width:1200px;margin:0 auto;padding-top:3rem}.term-icon,.policy-icon{font-size:2rem;margin-bottom:1rem}.term-card h2,.policy-card h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem}.term-card p,.policy-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.term-card ul,.policy-card ul{list-style:none;padding:0}.term-card li,.policy-card li{color:var(--text-secondary);margin-bottom:.75rem;padding-left:1.5rem;position:relative}.term-card li:before,.policy-card li:before{content:"•";color:var(--primary-color);position:absolute;left:0}.privacy-page{min-height:100vh;padding:1rem;background:var(--bg-gradient);overflow-y:auto;-webkit-overflow-scrolling:touch}.privacy-header{text-align:center;margin-bottom:2rem;padding-top:4rem}.privacy-header h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:.5rem}.privacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem}.policy-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.policy-icon{font-size:2.5rem;margin-bottom:1.5rem;text-align:center}.policy-card h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:1rem;text-align:center}.read-more{display:block;width:100%;padding:.75rem;margin:1rem 0;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;transition:all .2s ease}.read-more:hover{background:var(--primary-dark)}.expanded-content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.policy-card ul{list-style:none;padding:0;margin:0}.policy-card li{color:var(--text-secondary);margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:.5rem;transition:all .2s ease}.policy-card li:hover{transform:translate(5px);background:var(--bg-hover)}.back-button{position:fixed;top:1rem;left:1rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;z-index:1000}@media (max-width: 768px){.terms-page,.privacy-page{padding:1rem}.terms-header h1,.privacy-header h1{font-size:2rem}.terms-grid,.privacy-grid{grid-template-columns:1fr}.privacy-page{height:auto;min-height:100vh;padding:.5rem;position:relative}.privacy-header{padding-top:5rem;margin-bottom:1rem}.privacy-header h1{font-size:1.75rem}.privacy-grid{grid-template-columns:1fr;gap:1rem;padding:0}.policy-card{width:100%;margin-bottom:1rem;padding:1.5rem;box-sizing:border-box}.policy-card h2{font-size:1.25rem}.policy-card li{padding:.5rem;margin-bottom:.5rem;font-size:.9rem}.back-button{padding:.5rem 1rem;font-size:.875rem}}.terms-page,.privacy-page{min-height:100vh;padding:1rem;background:var(--bg-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.terms-content,.privacy-content{max-width:1200px;margin:0 auto;padding-top:4rem;padding-bottom:2rem}.terms-header,.privacy-header{text-align:center;margin-bottom:3rem}.terms-header h1,.privacy-header h1{font-size:2.5rem;color:var(--text-primary);margin-bottom:.5rem}.last-updated{color:var(--text-secondary);font-style:italic}.terms-grid,.privacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem}.term-card,.policy-card{background:#fff;padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000001a}.term-icon,.policy-icon{font-size:2.5rem;margin-bottom:1.5rem;text-align:center}.term-card h2,.policy-card h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem;text-align:center}.term-card p,.policy-card p{color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.term-card ul,.policy-card ul{list-style:none;padding:0;margin:0}.term-card li,.policy-card li{color:var(--text-primary);background:var(--bg-secondary);margin-bottom:.75rem;border-radius:.5rem;transition:all .2s ease;position:relative;padding:.75rem 1rem .75rem 2rem}.term-card li:before,.policy-card li:before{content:"→";color:var(--primary-color);position:absolute;left:.75rem;font-weight:700}.back-button{position:fixed;top:1rem;left:1rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;z-index:1000;box-shadow:0 2px 4px #0000001a}.back-button:hover{background:var(--primary-dark)}@media (max-width: 768px){.terms-page,.privacy-page{padding:.5rem;background:var(--bg-primary)}.terms-content,.privacy-content{padding-top:5rem;padding-bottom:1rem}.terms-header h1,.privacy-header h1{font-size:1.75rem;color:var(--text-primary)}.terms-grid,.privacy-grid{grid-template-columns:1fr;gap:1rem;padding:.5rem}.term-card,.policy-card{padding:1.5rem;margin-bottom:1rem}.term-card h2,.policy-card h2{font-size:1.25rem}.term-card p,.term-card li{font-size:.95rem}.term-icon{font-size:2rem;margin-bottom:1rem}.back-button{padding:.5rem 1rem;font-size:.875rem}.term-card,.term-card h2,.term-card p,.term-card li{background:#fff;color:var(--text-primary)}.term-card li{background:var(--bg-light);border:1px solid var(--border-color)}.term-card li:hover{transform:none}}:root{--primary-color: #9c27b0;--primary-light: #ba68c8;--primary-dark: #7b1fa2;--background-light: #faf4fb;--text-dark: #2c3e50;--text-light: #666;--shadow-color: rgba(156, 39, 176, .1)}.photographer-directory{padding:2rem;background-color:var(--background-light);min-height:100vh;background-image:linear-gradient(45deg,#f6eef8 25%,transparent 25%),linear-gradient(-45deg,#f6eef8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f6eef8 75%),linear-gradient(-45deg,transparent 75%,#f6eef8 75%);background-size:20px 20px}.directory-header{text-align:center;margin-bottom:3rem;padding:3rem;background:linear-gradient(to bottom,#fffffff2,#ffffffd9);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;box-shadow:0 10px 30px var(--shadow-color)}.directory-header h1{font-size:2.5rem;color:var(--primary-color);margin-bottom:1rem;font-family:Playfair Display,serif}.directory-header p{font-size:1.2rem;color:var(--text-light)}.filters-section{background:#fff;padding:2rem;border-radius:15px;box-shadow:0 5px 15px var(--shadow-color);margin-bottom:3rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:var(--text-dark);font-weight:500;font-size:.9rem}.filter-group select{padding:.75rem;border:2px solid #e2e8f0;border-radius:10px;font-size:1rem;color:var(--text-dark);background-color:#fff;transition:all .3s ease}.filter-group select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px var(--shadow-color);outline:none}.photographers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:1rem}.photographer-card{background:#fff;border-radius:15px;padding:2rem;position:relative;box-shadow:0 5px 15px var(--shadow-color);transition:all .3s ease;overflow:hidden;display:flex;flex-direction:column;gap:.75rem}.photographer-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(to right,var(--primary-light),var(--primary-dark));opacity:0;transition:opacity .3s ease}.photographer-card:hover:before{opacity:1}.featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(45deg,gold,orange);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.3rem;box-shadow:0 2px 5px #ffd7004d}.star{color:#fff;font-size:1.1rem}.photographer-card h3{font-size:1.4rem;color:var(--primary-dark);margin-bottom:1rem;font-weight:600}.location{display:flex;align-items:center;gap:.5rem;color:var(--text-light);margin-bottom:1rem;font-size:.95rem}.specializations{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.specialization-tag{background:var(--background-light);color:var(--primary-dark);padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500;transition:all .3s ease}.specialization-tag:hover{background:var(--primary-light);color:#fff;transform:scale(1.05)}.view-portfolio-btn{display:inline-block;background:linear-gradient(45deg,var(--primary-color),var(--primary-dark));color:#fff;padding:.8rem 1.5rem;border-radius:25px;text-decoration:none;font-weight:500;transition:all .3s ease;text-align:center;width:100%}.view-portfolio-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow-color)}.loading-spinner{text-align:center;padding:3rem;color:var(--primary-color);font-size:1.2rem}.no-results{text-align:center;padding:3rem;background:#fff;border-radius:15px;box-shadow:0 5px 15px var(--shadow-color)}.no-results h3{color:var(--primary-dark);font-size:1.5rem;margin-bottom:1rem}.no-results p{color:var(--text-light)}.back-nav{padding:1rem 2rem;max-width:800px;margin:0 auto;background:#ffffffe6;border-radius:10px;box-shadow:0 2px 8px var(--shadow-color)}.back-button{display:inline-flex;align-items:center;color:var(--primary-color);font-weight:600;font-size:1.1rem;text-decoration:none;padding:.5rem 1rem;border-radius:8px;background:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .2s ease}.back-button:hover{color:var(--primary-dark);transform:translate(-4px);background:#fff;box-shadow:0 2px 12px var(--shadow-color)}.back-button svg{width:24px;height:24px;margin-right:.75rem;stroke-width:2.5}@media (max-width: 768px){.photographer-directory{padding:1rem}.directory-header{padding:2rem 1rem}.directory-header h1{font-size:2rem}.filters-section{padding:1.5rem}.photographers-grid{grid-template-columns:1fr}.photographer-card{padding:1.5rem}}.bio-section{margin:.75rem 0;position:relative}.bio-content{font-size:.95rem;line-height:1.5;color:#4a5568;overflow:hidden;position:relative}.bio-content:not(.expanded){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.read-more-btn{color:#6b46c1;font-size:.85rem;padding:.25rem 0;background:none;border:none;cursor:pointer;display:block;margin-top:.25rem;font-weight:500;transition:color .2s ease}.read-more-btn:hover{color:#553c9a;text-decoration:underline}.bio-section+.specializations{margin-top:.5rem}.photographer-profile{max-width:800px;margin:2rem auto;padding:0 1rem}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile-header h1{font-size:2rem;color:#1e293b;margin:0}.status-badge{padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500}.status-badge[data-status=pending]{background-color:#fef3c7;color:#92400e}.status-badge[data-status=approved]{background-color:#dcfce7;color:#166534}.status-badge[data-status=rejected]{background-color:#fee2e2;color:#991b1b}.alert{padding:1rem;border-radius:.5rem;margin-bottom:2rem}.alert.info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.application-info{background-color:#f8fafc;padding:1.5rem;border-radius:.5rem;margin-bottom:2rem}.application-info h2{color:#1e293b;font-size:1.5rem;margin-bottom:1rem}.application-info ul{margin-top:1rem;padding-left:1.5rem}.application-info li{margin-bottom:.5rem;color:#475569}.profile-form{background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.form-section{margin-bottom:2rem}.form-section h3{color:#1e293b;font-size:1.25rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#475569;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:1rem;color:#1e293b;transition:border-color .2s}.form-group textarea{min-height:120px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.specializations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.specialization-checkbox{display:flex;align-items:center;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .2s}.specialization-checkbox:hover{background-color:#f8fafc}.specialization-checkbox input{margin-right:.5rem;width:auto}.specialization-checkbox span{color:#475569;font-size:.875rem}.error-message{background-color:#fee2e2;color:#991b1b;padding:1rem;border-radius:.375rem;margin-bottom:1rem}.submit-btn{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;width:100%}.submit-btn:hover{background-color:#2563eb}.submit-btn:disabled{background-color:#94a3b8;cursor:not-allowed}@media (max-width: 640px){.profile-header{flex-direction:column;align-items:flex-start;gap:1rem}.specializations-grid{grid-template-columns:1fr}.profile-form{padding:1rem}}.subdomain-input-wrapper{position:relative;display:flex;align-items:center;gap:1rem}.subdomain-input-wrapper input{flex:1}.subdomain-input-wrapper input.valid{border-color:#4caf50}.subdomain-input-wrapper input.invalid{border-color:#f44336}.subdomain-input-wrapper .checking{color:#666;font-size:.9rem}.subdomain-input-wrapper .available{color:#4caf50;font-size:.9rem}.subdomain-input-wrapper .unavailable{color:#f44336;font-size:.9rem}.free-tools-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.hero-section{text-align:center;margin-bottom:3rem}.hero-section h1{font-size:2.5rem;color:#1e293b;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;color:#64748b}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.tool-card{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a}.tool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tool-header h2{font-size:1.5rem;color:#1e293b}.tool-badge{background:#e0f2fe;color:#0284c7;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.tool-description{color:#64748b;margin-bottom:1.5rem;line-height:1.6}.tool-features{list-style:none;padding:0;margin:0 0 1.5rem}.tool-features li{color:#475569;padding-left:1.5rem;margin-bottom:.5rem;position:relative}.tool-features li:before{content:"✓";position:absolute;left:0;color:#22c55e}.tool-link{display:inline-flex;align-items:center;gap:.5rem;color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s}.tool-link:hover{color:#1d4ed8}.tools-disclaimer{background:#f8fafc;border-radius:.75rem;padding:1.5rem;margin-top:2rem}.tools-disclaimer p{color:#64748b;font-size:.875rem;line-height:1.6;margin:0}@media (prefers-color-scheme: dark){.tool-card{background:#1f2937}.hero-section h1{color:#f1f5f9}.hero-subtitle{color:#94a3b8}.tool-header h2{color:#f1f5f9}.tool-description{color:#94a3b8}.tool-features li{color:#cbd5e1}.tools-disclaimer{background:#1f2937}.tools-disclaimer p{color:#94a3b8}}@media (max-width: 768px){.hero-section h1{font-size:2rem}.hero-subtitle{font-size:1.125rem}.tools-grid{grid-template-columns:1fr}.tool-card{padding:1.5rem}}.tools-header{text-align:center;margin-bottom:3rem;position:relative}.back-button{position:absolute;left:0;top:0;padding:.5rem 1rem;background:none;border:none;color:#2563eb;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:color .2s}.back-button:hover{color:#1d4ed8}@media (prefers-color-scheme: dark){.back-button{color:#60a5fa}.back-button:hover{color:#93c5fd}}@media (max-width: 768px){.tools-header{padding-top:3rem}.back-button{top:1rem;left:50%;transform:translate(-50%)}}.faq-page{padding:2rem;max-width:1200px;margin:0 auto;min-height:100vh;background-color:var(--background-light)}.faq-content{padding:2rem}.back-button{background:var(--primary-color);color:#fff;padding:.8rem 1.5rem;border-radius:8px;border:none;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem}.faq-header{text-align:center;margin-bottom:3rem}.faq-header h1{font-size:2.5rem;color:var(--text-dark);margin-bottom:1rem}.faq-header p{color:var(--text-light);font-size:1.2rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.faq-item{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 12px var(--shadow-color)}.faq-item h2{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.faq-item p{color:var(--text-light);line-height:1.6}@media (max-width: 768px){.faq-page,.faq-content{padding:1rem}.faq-header h1{font-size:2rem}.faq-header p{font-size:1rem}.faq-grid{grid-template-columns:1fr}}
