.scan-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.scan-modal{background:#fff;border-radius:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;padding:32px;position:relative;box-shadow:0 20px 60px #0003}.scan-modal__close{position:absolute;top:12px;right:12px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.scan-modal__close:hover{background:#f3f4f6}.scan-modal__title{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 8px}.scan-modal__desc{font-size:14px;color:#6b7280;margin:0 0 24px;line-height:1.5}.scan-modal__tabs{display:flex;gap:8px;margin-bottom:20px}.scan-modal__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.scan-modal__tab:hover{border-color:#d1d5db;background:#f9fafb}.scan-modal__tab--active{border-color:#e11d48;background:#fef2f2;color:#e11d48}.scan-modal__body{min-height:200px}.scan-modal__camera-start,.scan-modal__upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 20px;border:2px dashed #d1d5db;border-radius:16px;color:#9ca3af;cursor:pointer;transition:all .2s}.scan-modal__upload-area:hover{border-color:#e11d48;background:#fef2f2}.scan-modal__upload-area--preview{padding:0;border:2px solid #e5e7eb;cursor:pointer;overflow:hidden;position:relative}.scan-modal__upload-area--preview:hover{border-color:#e11d48}.scan-modal__upload-preview{width:100%;max-height:300px;object-fit:contain;display:block}.scan-modal__upload-change{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:14px;font-weight:600;opacity:0;transition:opacity .2s}.scan-modal__upload-area--preview:hover .scan-modal__upload-change{opacity:1}.scan-modal__preview-remove{position:absolute;top:8px;right:8px;width:32px;height:32px;border:none;border-radius:50%;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:2}.scan-modal__preview-remove:hover{background:#e11d48d9}.scan-modal__upload-hint{font-size:12px;color:#d1d5db}.scan-modal__camera-live{display:flex;flex-direction:column;align-items:center;gap:12px}.scan-modal__video{width:100%;max-height:360px;object-fit:cover;border-radius:12px;background:#000}.scan-modal__btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.scan-modal__btn--primary{background:#e11d48;color:#fff}.scan-modal__btn--primary:hover{background:#be123c}.scan-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.scan-modal__btn--capture{width:100%;justify-content:center}.scan-modal__link-row{display:flex;gap:8px}.scan-modal__label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.scan-modal__input{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline:none;transition:border-color .2s}.scan-modal__input:focus{border-color:#e11d48;box-shadow:0 0 0 3px #e11d481a}.scan-modal__preview{margin-top:16px;border-radius:12px;overflow:hidden}.scan-modal__preview img{width:100%;max-height:300px;object-fit:contain;border-radius:12px}.scan-modal__loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;color:#6b7280}.scan-modal__spinner{animation:scan-spin 1s linear infinite}@keyframes scan-spin{to{transform:rotate(360deg)}}.scan-modal__error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#fef2f2;color:#e11d48;font-size:13px;border-radius:10px}.scan-modal__captcha{display:flex;justify-content:center;margin-top:14px;min-height:65px}.scan-modal__captcha--hidden{display:none}.scan-modal__gate-hint{text-align:center;color:#9ca3af;font-size:13px;margin-top:10px}.navbar .user-menu-name,.navbar .user-menu-logout{font-family:var(--font-body)}.btn-scan-header{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(165,37,36,.3);border-radius:50%;background:transparent;color:var(--color-red-primary);font-weight:700;cursor:pointer;transition:background .2s,color .2s}.btn-scan-header:hover{background:var(--color-red-light);color:var(--color-red-primary)}.navbar__header-scan{display:none}.navbar__inner{position:relative;z-index:1002;gap:8px}.navbar__header-cta{display:none}.navbar__toggle{display:none;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;border:none;border-radius:12px;background:transparent;color:var(--color-heading);cursor:pointer;transition:background .2s ease,color .2s ease}.navbar__toggle:hover{background:#0000000d;color:var(--color-red-primary)}.navbar__mobile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;pointer-events:none;visibility:hidden}.navbar__mobile--open{pointer-events:auto;visibility:visible}.navbar--open{background:#fff}.navbar__mobile-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a80;opacity:0;transition:opacity .25s ease;cursor:pointer}.navbar__mobile--open .navbar__mobile-backdrop{opacity:1}.navbar__mobile-panel{position:absolute;top:var(--navbar-height);right:0;left:0;bottom:0;min-height:calc(100dvh - var(--navbar-height));overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;padding:8px 16px 32px;box-shadow:0 12px 40px #0f172a1f;transform:translateY(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1)}.navbar__mobile--open .navbar__mobile-panel{transform:translateY(0)}.navbar__mobile-links{display:flex;flex-direction:column;gap:2px}.navbar__mobile-links a{display:flex;align-items:center;min-height:48px;padding:0 14px;border-radius:12px;font-size:16px;font-weight:600;color:var(--color-heading);text-decoration:none;transition:background .15s ease,color .15s ease}.navbar__mobile-links a:hover{background:var(--color-red-light);color:var(--color-red-primary)}.navbar__mobile-user{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px 0;margin-top:8px;font-size:15px;font-weight:600;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.navbar__mobile-logout{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:none;border-radius:12px;background:transparent;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.navbar__mobile-logout:hover{background:#fef2f2;color:var(--color-error)}@media (max-width: 767px){.navbar .logo{font-size:18px;gap:6px;flex-shrink:1;min-width:0}.navbar .logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar .nav-links.nav-links--desktop{display:none}.navbar__header-scan{display:inline-flex}.navbar__header-cta{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:10px 24px;font-size:14px;line-height:1.2;white-space:nowrap;box-shadow:0 4px 10px #a5252438}.navbar__header-cta:hover{transform:none}.navbar__toggle{display:inline-flex}}@media (min-width: 480px) and (max-width: 767px){.navbar__header-cta{padding:10px 24px;font-size:14px}}@media (min-width: 768px){.navbar__mobile{display:none}}.nav-referral-link{display:inline-flex;align-items:center;gap:5px}.nav-referral-badge{display:inline-block;background:#fef3c7;color:#d97706;font-size:10px;font-weight:700;padding:1px 5px;border-radius:20px;letter-spacing:.02em;vertical-align:middle;line-height:1.6}.nav-dropdown{position:relative;display:inline-flex;align-items:center}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--color-heading);font:inherit;cursor:pointer;padding:0}.nav-dropdown-trigger:hover{color:var(--color-red-primary)}.nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);min-width:210px;background:#fff;border-radius:14px;box-shadow:0 12px 32px #00000024;padding:8px;z-index:1200;display:flex;flex-direction:column;gap:2px}.nav-dropdown-menu:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.nav-dropdown-menu a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;color:var(--color-heading);font-size:14px;white-space:nowrap;transition:background .15s ease,color .15s ease}.nav-dropdown-menu a:hover{background:#a5252412;color:var(--color-red-primary)}.nav-dropdown-emoji{font-size:16px}.navbar__mobile-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-top:6px}.navbar__mobile-sublink{padding-left:12px!important}.add-email-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118278c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:3000;padding:16px}.add-email-modal{position:relative;width:100%;max-width:420px;background:#fff;border-radius:18px;padding:36px 28px 28px;box-shadow:0 20px 60px #00000040;text-align:center;animation:addEmailPop .18s ease-out}@keyframes addEmailPop{0%{transform:translateY(10px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.add-email-close{position:absolute;top:14px;right:14px;background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;line-height:0}.add-email-close:hover{color:#4b5563}.add-email-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fef2f2;color:#e84c3d}.add-email-modal h3{font-size:19px;font-weight:700;color:#1f2937;margin:0 0 8px}.add-email-desc{font-size:14px;line-height:1.55;color:#6b7280;margin:0 0 24px}.add-email-input-group{position:relative;margin-bottom:16px}.add-email-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af}.add-email-input-group input{width:100%;padding:13px 14px 13px 42px;border:1px solid #d1d5db;border-radius:12px;font-size:15px;outline:none;transition:border-color .15s}.add-email-input-group input:focus{border-color:#e84c3d}.add-email-code-row{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.add-email-code-input{width:46px;height:54px;text-align:center;font-size:22px;font-weight:700;border:2px solid #d1d5db;border-radius:10px;outline:none;font-family:monospace;background:#fff;transition:all .15s}.add-email-code-input.filled{border-color:#e84c3d;background:#fef2f2}.add-email-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#e84c3d,#c0392b);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s}.add-email-submit:hover{opacity:.92}.add-email-submit:disabled{opacity:.55;cursor:not-allowed}.add-email-resend{margin-top:14px;background:none;border:none;color:#e84c3d;font-size:14px;text-decoration:underline;cursor:pointer}.add-email-resend:disabled{opacity:.6;cursor:not-allowed}.add-email-error{color:#ef4444;font-size:13.5px;margin:0 0 14px}:root{--device-bar-height: 44px}.device-bar{position:fixed;top:0;left:0;right:0;z-index:1200;background:linear-gradient(135deg,#e84c3d,#c0392b);color:#fff;display:flex;align-items:center}.device-bar__inner{width:100%;max-width:1200px;margin:0 auto;padding:8px 44px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.device-bar__close{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:#ffffff2e;color:#fff;cursor:pointer;transition:background .15s}.device-bar__close:hover{background:#ffffff4d}.device-bar__text{display:inline-flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;font-weight:500}.device-bar__icon{flex-shrink:0}.device-bar__btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 14px;border:none;border-radius:999px;background:#fff;color:#c0392b;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.device-bar__btn:hover{background:#fef2f2}.device-bar__btn:active{transform:scale(.97)}body.has-device-bar .navbar{top:var(--device-bar-height)}body.has-device-bar .navbar__mobile-panel{top:calc(var(--device-bar-height) + var(--navbar-height))}@media (max-width: 640px){.device-bar__text{font-size:12px}}.btn{font-weight:600;border-radius:50px;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-family:var(--font-body)}.btn-primary{background:var(--color-red-primary);color:#fff;box-shadow:0 8px 24px #a5252440}.btn-primary:hover{background:var(--color-red-dark);transform:translateY(-2px);box-shadow:0 12px 32px #a5252459}.btn-secondary{background:#fff;border:2px solid var(--color-red-primary);color:var(--color-red-primary);box-shadow:var(--shadow-1)}.btn-secondary:hover{background:var(--color-red-light);transform:translateY(-2px)}.btn-sm{padding:10px 24px;font-size:14px}.btn-md{padding:14px 36px;font-size:16px}.btn-lg{padding:18px 48px;font-size:18px;font-weight:700}.tpl-preview-scroll{position:relative;width:100%;height:100%;overflow:hidden;display:block}.tpl-preview-scroll__img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:object-position 5.5s ease-in-out}.tpl-preview-scroll:hover .tpl-preview-scroll__img,.tpl-card:hover .tpl-preview-scroll__img,.template-carousel__card:hover .tpl-preview-scroll__img,.ctm-card:hover .tpl-preview-scroll__img{object-position:center bottom}@media (prefers-reduced-motion: reduce){.tpl-preview-scroll__img{transition:none}}@media (hover: none){.swiper-slide-active .tpl-preview-scroll__img{object-position:center bottom;transition:object-position 6s ease-in-out}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.template-carousel{width:100%;margin-bottom:40px}.template-carousel__wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:0 52px}.template-carousel__wrap:before,.template-carousel__wrap:after{content:"";position:absolute;top:0;bottom:0;width:12%;z-index:2;pointer-events:none}.template-carousel__wrap:before{left:52px;background:linear-gradient(to right,var(--section-bg, #fff),rgba(255,255,255,0))}.template-carousel__wrap:after{right:52px;background:linear-gradient(to left,var(--section-bg, #fff),rgba(255,255,255,0))}.template-carousel__swiper{width:100%;max-width:1180px;padding:24px 0 56px!important;overflow:hidden!important}.template-carousel__slide{width:220px;height:auto}.template-carousel__card{display:block;text-decoration:none;color:inherit}.template-carousel__card:hover .template-carousel__phone,.template-carousel__card:focus-visible .template-carousel__phone{box-shadow:0 28px 56px #a525242e}.template-carousel__phone{position:relative;width:100%;aspect-ratio:9 / 16;max-height:380px;border-radius:20px;overflow:hidden;background:#f3f4f6;box-shadow:0 16px 40px #0000001f;border:3px solid #fff;transition:box-shadow .35s ease,transform .35s ease}.template-carousel__phone>.tpl-preview-scroll{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.template-carousel__info{position:absolute;left:0;right:0;bottom:0;top:auto;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 12px 12px;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 45%,transparent 100%);pointer-events:none;transition:padding .3s ease,background .3s ease}.template-carousel__card:hover .template-carousel__info,.template-carousel__card:focus-visible .template-carousel__info{padding:28px 12px 12px;background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.6) 55%,transparent 100%)}.template-carousel__info-title{margin:0;font-size:14px;font-weight:700;line-height:1.25;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.45)}.template-carousel__info-desc{margin:0;font-size:11px;line-height:1.35;color:#ffffffe6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:0;opacity:0;transform:translateY(6px);transition:max-height .35s ease,opacity .3s ease,transform .3s ease,margin .3s ease}.template-carousel__tags{display:flex;flex-wrap:wrap;gap:4px;max-height:0;opacity:0;overflow:hidden;transform:translateY(6px);transition:max-height .35s ease,opacity .3s ease,transform .3s ease,margin .3s ease}.template-carousel__card:hover .template-carousel__info-desc,.template-carousel__card:focus-visible .template-carousel__info-desc{margin:4px 0 6px;max-height:3em;opacity:1;transform:translateY(0)}.template-carousel__card:hover .template-carousel__tags,.template-carousel__card:focus-visible .template-carousel__tags{max-height:48px;opacity:1;transform:translateY(0)}.template-carousel__tag{padding:3px 8px;border-radius:999px;font-size:10px;font-weight:600;color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.template-carousel__badge{position:absolute;top:12px;right:12px;z-index:2;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:#10b981}.template-carousel__badge.luxury{background:linear-gradient(135deg,#d4af37,#b8860b)}.template-carousel__badge.traditional{background:var(--color-red-primary)}.swiper-slide-active .template-carousel__phone{transform:scale(1.02);box-shadow:0 24px 48px #00000029}.template-carousel__nav{position:absolute;top:42%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;color:#374151;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #00000014;transition:var(--transition);flex-shrink:0}.template-carousel__nav:hover{background:var(--color-red-primary);color:#fff;border-color:var(--color-red-primary);box-shadow:0 6px 20px #a5252440}.template-carousel__nav--prev{left:0}.template-carousel__nav--next{right:0}.template-carousel__nav:disabled{opacity:.35;cursor:not-allowed}.template-carousel__swiper .swiper-pagination{bottom:8px!important}.template-carousel__swiper .swiper-pagination-bullet{width:8px;height:8px;background:#d1d5db;opacity:1;transition:var(--transition)}.template-carousel__swiper .swiper-pagination-bullet-active{width:24px;border-radius:4px;background:var(--color-red-primary)}@media (max-width: 768px){.template-carousel__wrap{padding:0 12px}.template-carousel__wrap:before,.template-carousel__wrap:after{width:20px}.template-carousel__wrap:before{left:12px}.template-carousel__wrap:after{right:12px}.template-carousel__slide{width:168px}.template-carousel__phone{max-height:300px;border-radius:16px}.template-carousel__info{padding:8px 10px 10px}.template-carousel__card:hover .template-carousel__info,.template-carousel__card:focus-visible .template-carousel__info{padding:22px 10px 10px}.template-carousel__info-title{font-size:13px}.template-carousel__info-desc{font-size:10px;-webkit-line-clamp:2}.template-carousel__nav{width:38px;height:38px}.template-carousel__nav--prev{left:-4px}.template-carousel__nav--next{right:-4px}}@media (max-width: 480px){.template-carousel__wrap{padding:0 10px}.template-carousel__wrap:before{left:10px}.template-carousel__wrap:after{right:10px}.template-carousel__slide{width:150px}.template-carousel__phone{max-height:260px}.template-carousel__info{padding:8px}.template-carousel__card:hover .template-carousel__info,.template-carousel__card:focus-visible .template-carousel__info{padding:18px 8px 8px}.template-carousel__info-title{font-size:12px}.template-carousel__tag{font-size:9px;padding:2px 6px}}.wedding-showcase{position:relative;padding:88px 0 96px;background-color:#4a0f16;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.wedding-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1e060a9e,#1e060a6b 45%,#1e060aa8);pointer-events:none}.wedding-showcase__aurora{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.wedding-showcase__aurora:before,.wedding-showcase__aurora:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}.wedding-showcase__aurora:before{top:-160px;left:-80px;background:radial-gradient(circle,rgba(225,29,72,.28),transparent 70%);animation:ws-drift-1 16s ease-in-out infinite alternate}.wedding-showcase__aurora:after{bottom:-180px;right:-60px;background:radial-gradient(circle,rgba(212,175,55,.3),transparent 70%);animation:ws-drift-2 20s ease-in-out infinite alternate}@keyframes ws-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(90px,50px) scale(1.15)}}@keyframes ws-drift-2{0%{transform:translate(0) scale(1.1)}to{transform:translate(-80px,-40px) scale(.95)}}.wedding-showcase .container{position:relative;z-index:1}.wedding-showcase__header{text-align:center;max-width:680px;margin:0 auto 44px}.wedding-showcase__eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:5px 16px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffd97a;background:#ffd97a1f;border:1px solid rgba(255,217,122,.35)}.wedding-showcase__eyebrow svg{color:#ff5c7a}.wedding-showcase__title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.2;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.4);margin:0 0 12px}.wedding-showcase__title .highlight{font-family:var(--font-decorative);font-weight:700;font-size:1.25em;background:linear-gradient(120deg,var(--color-red-primary),#e11d48 55%,var(--color-gold-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.wedding-showcase__subtitle{font-size:17px;line-height:1.6;color:#ffffffd9;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.35)}.wedding-showcase__subtitle .highlight{color:#ffd97a;font-weight:600}.wedding-showcase__swiper{padding:24px 0 40px;overflow:hidden}.wedding-showcase__slide{width:300px}@media (max-width: 480px){.wedding-showcase__slide{width:240px}}.ws-card{display:block;position:relative;width:100%;aspect-ratio:3 / 4;border-radius:20px;overflow:hidden;text-decoration:none;box-shadow:0 24px 50px #78142840;border:1px solid rgba(212,175,55,.4);background:#2d1018}.ws-card__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top}.ws-card__badge{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:#e11d48e0;box-shadow:0 2px 10px #e11d4866}.ws-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:26px 18px 22px;text-align:center;background:linear-gradient(to top,rgba(20,6,10,.85) 8%,rgba(20,6,10,.35) 42%,transparent 68%)}.ws-card--textonly{background:radial-gradient(circle at 50% 28%,rgba(255,217,122,.16),transparent 60%),linear-gradient(165deg,#7a1522,#4a0f16 55%,#2d0810)}.ws-card--textonly:after{content:"囍";position:absolute;top:22px;left:50%;transform:translate(-50%);font-size:40px;color:#ffd97a8c;z-index:1}.ws-card--textonly .ws-card__overlay{justify-content:center;gap:10px;background:none;padding:24px 20px}.ws-card__label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#ffd97abf}.ws-card__names{font-family:var(--font-decorative);font-size:27px;line-height:1.15;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}.ws-card__amp{color:var(--color-gold-accent)}.ws-card__date{font-size:12px;letter-spacing:.12em;color:#ffffffd1;padding-top:2px;border-top:1px solid rgba(212,175,55,.5)}@media (prefers-reduced-motion: reduce){.wedding-showcase__aurora:before,.wedding-showcase__aurora:after{animation:none!important}.wedding-showcase__slide{opacity:1!important}}.multilang{position:relative;padding:96px 0;background:linear-gradient(180deg,#fff,#f8f9fc,#fff);overflow:hidden}.multilang__bg-ornament{position:absolute;top:-40%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(165,37,36,.04) 0%,transparent 70%);pointer-events:none;border-radius:50%}.multilang__header{text-align:center;margin-bottom:48px}.multilang__icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#a525241a,#a525240a);display:flex;align-items:center;justify-content:center;color:var(--color-red-primary);margin:0 auto 20px}.multilang__title{font-family:var(--font-heading);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;color:var(--color-heading);margin:0 0 12px;line-height:1.2}.multilang__title-accent{font-family:Dancing Script,cursive;font-weight:700;font-size:1.35em;color:var(--color-red-primary)}.multilang__desc{font-size:16px;line-height:1.65;color:var(--color-text-muted);margin:0 auto;max-width:560px}.multilang__demo{max-width:640px;margin:0 auto 48px;background:#fff;border:1px solid #eef0f2;border-radius:16px;box-shadow:0 8px 32px #0000000f;overflow:hidden}.multilang__demo-header{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#f8f9fa;border-bottom:1px solid #eef0f2;font-size:13px;color:#9ca3af}.multilang__demo-dot{width:10px;height:10px;border-radius:50%;background:#22c55e}.multilang__demo-label{flex:1;font-weight:500}.multilang__demo-switcher{display:flex;align-items:center;gap:6px;padding:4px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:12px;font-weight:600;color:var(--color-heading);cursor:default}.multilang__demo-flag{font-size:16px;line-height:1}.multilang__demo-lang{font-size:12px}.multilang__demo-body{padding:24px 28px;display:flex;flex-direction:column;gap:18px}.multilang__demo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.multilang__demo-vi{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-heading);min-width:150px}.multilang__demo-sep{width:1px;height:24px;background:#e5e7eb;flex-shrink:0}.multilang__demo-others{display:flex;gap:8px;flex-wrap:wrap}.multilang__demo-tag{font-size:12px;font-weight:600;color:var(--color-red-primary);background:#a525240f;padding:4px 10px;border-radius:6px;white-space:nowrap}.multilang__languages{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:36px}.multilang__lang{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#fff;border:1px solid #eef0f2;border-radius:12px;box-shadow:0 2px 8px #0000000a;transition:all .2s}.multilang__lang:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014;border-color:var(--color-red-light, #fecaca)}.multilang__lang-flag{font-size:20px;line-height:1}.multilang__lang-code{font-size:11px;font-weight:800;color:var(--color-red-primary);letter-spacing:.03em}.multilang__lang-label{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.multilang__features{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-bottom:40px}.multilang__feat{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.multilang__feat-icon{width:22px;height:22px;border-radius:50%;background:#a525241a;color:var(--color-red-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.multilang__cta-wrap{text-align:center}.multilang__cta{display:inline-flex!important;align-items:center;gap:8px;border-radius:999px!important;padding-left:32px!important;padding-right:32px!important;min-width:220px;justify-content:center}@media (max-width: 600px){.multilang{padding:64px 0}.multilang__demo-body{padding:16px}.multilang__demo-vi{min-width:100px;font-size:14px}.multilang__demo-row{gap:10px}.multilang__features{flex-direction:column;align-items:center;gap:10px}}.blog-guide{padding:96px 0 100px;background:var(--section-bg);border-top:1px solid #eef0f2}.blog-guide__header{text-align:center;max-width:640px;margin:0 auto 48px}.blog-guide__title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.25;color:var(--color-heading);margin:0 0 12px}.blog-guide__title-script{font-family:Dancing Script,cursive;font-weight:700;font-size:1.2em;color:var(--color-red-primary)}.blog-guide__subtitle{font-size:17px;line-height:1.6;color:var(--color-text-muted);margin:0}.blog-guide__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:40px}.blog-card{background:#fff;border-radius:16px;border:1px solid #ebebeb;overflow:hidden;transition:box-shadow .3s ease,transform .3s ease}.blog-card:hover{box-shadow:0 12px 40px #00000014;transform:translateY(-4px)}.blog-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.blog-card__thumb{aspect-ratio:16 / 10;overflow:hidden;background:#f3f4f6}.blog-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.blog-card:hover .blog-card__thumb img{transform:scale(1.04)}.blog-card__thumb--dark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#b4141ebf,#780a14d9);pointer-events:none}.blog-card__thumb--dark{position:relative}.blog-card__body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1;gap:12px}.blog-card__title{font-family:var(--font-heading);font-size:16px;font-weight:700;line-height:1.45;color:var(--color-heading);margin:0;flex:1}.blog-card__time{font-size:13px;color:#9ca3af;margin-top:auto}.blog-guide__footer{text-align:center}.blog-guide__more{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--color-red-primary);text-decoration:none;transition:gap .2s ease,opacity .2s ease}.blog-guide__more:hover{gap:12px;opacity:.85}@media (max-width: 900px){.blog-guide__grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}@media (max-width: 600px){.blog-guide{padding:72px 0 80px}}.home-page{overflow-x:hidden}.scan-hero{position:relative;padding:12px 0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);overflow:hidden}.scan-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.12;pointer-events:none}.scan-hero__aurora{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.scan-hero__aurora:before,.scan-hero__aurora:after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;filter:blur(90px);opacity:.35;will-change:transform}.scan-hero__aurora:before{top:-180px;left:-120px;background:radial-gradient(circle,rgba(225,29,72,.55),transparent 70%);animation:aurora-drift-1 14s ease-in-out infinite alternate}.scan-hero__aurora:after{bottom:-220px;right:-100px;background:radial-gradient(circle,rgba(99,102,241,.5),transparent 70%);animation:aurora-drift-2 18s ease-in-out infinite alternate}@keyframes aurora-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(140px,60px) scale(1.15)}}@keyframes aurora-drift-2{0%{transform:translate(0) scale(1.1)}to{transform:translate(-120px,-50px) scale(.95)}}.scan-hero .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;position:relative;z-index:1}.scan-hero__badge{display:inline-block;background:#e11d4833;color:#fb7185;font-size:.75rem;font-weight:600;padding:5px 14px;border-radius:50px;margin-bottom:16px;letter-spacing:.03em;border:1px solid rgba(251,113,133,.25);box-shadow:0 0 18px #e11d4840;animation:badge-glow 2.6s ease-in-out infinite}@keyframes badge-glow{0%,to{box-shadow:0 0 10px #e11d4833}50%{box-shadow:0 0 24px #e11d4873}}.scan-hero__title{font-family:var(--font-heading);font-size:36px;font-weight:800;color:#fff;margin:0 0 12px;line-height:1.15}.scan-hero__desc{color:#94a3b8;font-size:15px;line-height:1.6;margin:0 0 28px}.scan-hero__desc strong{color:#fb7185}.scan-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.scan-hero__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .25s cubic-bezier(.34,1.56,.64,1);border:none;position:relative;overflow:hidden}.scan-hero__btn--primary{background:linear-gradient(135deg,#f43f5e,#e11d48 55%,#be123c);color:#fff;box-shadow:0 4px 16px #e11d484d}.scan-hero__btn--primary:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-20deg);animation:btn-sheen 3.2s ease-in-out infinite}@keyframes btn-sheen{0%,55%{left:-80%}85%,to{left:130%}}.scan-hero__btn--primary:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 32px #e11d4880}.scan-hero__btn--secondary{background:#ffffff1a;color:#e2e8f0;border:1px solid rgba(255,255,255,.15)}.scan-hero__btn--secondary:hover{background:#ffffff26;color:#fff}.scan-hero__visual{display:flex;justify-content:center;align-items:center;min-height:320px}.scan-hero__anim{position:relative;width:260px;height:320px}.scan-hero__card{position:absolute;top:50%;left:50%;width:200px;height:auto;border-radius:12px;box-shadow:0 8px 32px #0006;z-index:2;transition:all .5s ease}.scan-hero__card--visible{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}.scan-hero__card--fading{opacity:.3;transform:translate(-50%,-50%) scale(.9) rotate(3deg)}.scan-hero__card--hidden{opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(5deg);pointer-events:none}.scan-hero__phone{position:absolute;top:50%;width:140px;height:280px;z-index:3;transition:all .6s cubic-bezier(.34,1.56,.64,1)}.scan-hero__phone--hidden{right:-60px;opacity:0;transform:translateY(-50%) scale(.7)}.scan-hero__phone--flying{right:0;opacity:.8;transform:translateY(-50%) scale(.95)}.scan-hero__phone--placed{right:0;opacity:1;transform:translateY(-50%) scale(1)}.scan-hero__phone-bezel{width:100%;height:100%;background:linear-gradient(160deg,#3a3a4e,#1a1a28);border-radius:28px;padding:6px;box-shadow:0 12px 40px #00000080,0 0 0 1px #ffffff0f;position:relative;overflow:hidden}.scan-hero__phone-screen{width:100%;height:100%;background:#0d0d1a;border-radius:22px;overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 12px}.scan-hero__phone-dynamic-island{position:absolute;top:8px;left:50%;transform:translate(-50%);width:60px;height:18px;background:#000;border-radius:12px;z-index:5}.scan-hero__phone-scanner{display:flex;flex-direction:column;align-items:center;gap:10px;animation:scanner-fade-in .3s ease-out}@keyframes scanner-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scan-hero__phone-scanner-icon{width:48px;height:48px;border:2px solid rgba(251,113,133,.5);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fb7185;animation:scanner-pulse .8s ease-in-out infinite}@keyframes scanner-pulse{0%,to{border-color:#fb718580;transform:scale(1)}50%{border-color:#fb7185e6;transform:scale(1.08)}}.scan-hero__phone-scanner-line{width:80px;height:2px;background:linear-gradient(90deg,transparent,#fb7185,transparent);animation:scanner-sweep .8s ease-in-out infinite}@keyframes scanner-sweep{0%,to{opacity:.3;transform:translate(-10px)}50%{opacity:1;transform:translate(10px)}}.scan-hero__phone-scanner-label{font-size:10px;color:#6b7280;letter-spacing:.05em}.scan-hero__phone-info{display:flex;flex-direction:column;gap:6px;width:100%}.scan-hero__phone-row{font-size:9px;color:#94a3b8;padding:4px 8px;background:#ffffff0a;border-radius:4px;opacity:0;transform:translate(-8px);transition:all .3s ease-out}.scan-hero__phone-row--show{opacity:1;transform:translate(0)}.scan-hero__phone-row--done{color:#34d399;background:#34d39914;font-weight:600;margin-top:4px}.scan-hero__scan-ray{position:absolute;top:50%;left:50%;width:100px;height:2px;background:linear-gradient(90deg,rgba(251,113,133,.7),transparent);transform:translateY(-50%);z-index:1;animation:scan-ray-pulse .7s ease-in-out infinite}@keyframes scan-ray-pulse{0%,to{opacity:.4}50%{opacity:1}}@media (max-width: 768px){.scan-hero{padding:32px 0 40px}.scan-hero .container{grid-template-columns:1fr;text-align:center}.scan-hero__actions{justify-content:center}.scan-hero__visual{display:none}.scan-hero__title{font-size:28px}}.hero{padding:48px 0 72px;min-height:auto;position:relative;display:flex;align-items:center;background:linear-gradient(135deg,var(--color-surface) 0%,#fff0f0 100%);overflow:hidden}.hero-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0}.hero-gradient:before,.hero-gradient:after{content:"";position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}.hero-gradient:before{width:460px;height:460px;top:-140px;right:-80px;background:radial-gradient(circle,rgba(255,190,200,.55),transparent 68%);animation:hero-blob-1 16s ease-in-out infinite alternate}.hero-gradient:after{width:380px;height:380px;bottom:-120px;left:-60px;background:radial-gradient(circle,rgba(212,175,55,.28),transparent 68%);animation:hero-blob-2 20s ease-in-out infinite alternate}@keyframes hero-blob-1{0%{transform:translate(0) scale(1)}to{transform:translate(-90px,70px) scale(1.18)}}@keyframes hero-blob-2{0%{transform:translate(0) scale(1.1)}to{transform:translate(80px,-50px) scale(.92)}}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0}.particle{position:absolute;width:var(--size, 14px);height:var(--size, 14px);animation:particle-rise 8s linear infinite;opacity:0;will-change:transform,opacity}.particle:before{content:"♥";display:block;font-size:var(--size, 14px);line-height:1;color:#e11d484d;text-shadow:0 0 10px rgba(225,29,72,.25);animation:particle-spin 5s ease-in-out infinite alternate}.particle--gold:before{content:"✦";color:#d4af378c;text-shadow:0 0 8px rgba(212,175,55,.5)}@keyframes particle-rise{0%{transform:translateY(30px);opacity:0}12%{opacity:1}80%{opacity:.9}to{transform:translate(var(--sway, 20px),-55vh);opacity:0}}@keyframes particle-spin{0%{transform:rotate(-14deg) scale(.9)}to{transform:rotate(14deg) scale(1.1)}}.hero .container{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.hero-content{z-index:10}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--color-red-light);color:var(--color-red-primary);border-radius:50px;font-size:14px;font-weight:600;margin-bottom:24px}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;color:var(--color-heading);margin-bottom:16px;background:linear-gradient(100deg,var(--color-heading) 0%,var(--color-heading) 38%,var(--color-red-primary) 50%,var(--color-gold-accent) 58%,var(--color-heading) 70%,var(--color-heading) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:title-shimmer 6s ease-in-out infinite}@keyframes title-shimmer{0%,to{background-position:115% 0}50%{background-position:-15% 0}}.hero-title .highlight{position:relative;font-weight:700;background:linear-gradient(120deg,var(--color-red-primary),#e11d48 60%,var(--color-gold-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-title .highlight:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:6px;background:radial-gradient(ellipse at center,#e11d4873,#e11d4800 75%);border-radius:999px}.hero-subtitle{font-size:clamp(1.125rem,2.2vw,1.625rem);font-weight:500;color:#374151;line-height:1.35;margin-bottom:16px}.hero-description{font-size:17px;color:var(--color-text-muted);line-height:1.6;margin-bottom:24px;max-width:480px}.hero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;max-width:100%}.hero-features .feature-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#ffffffd9;border:1px solid rgba(165,37,36,.1);border-radius:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,border-color .3s ease}.hero-features .feature-item:hover{transform:translateY(-4px);border-color:#a525244d;box-shadow:0 12px 28px #a525241f}.hero-features .feature-item:hover .feature-icon{animation:icon-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes icon-pop{0%{transform:scale(1)}50%{transform:scale(1.35) rotate(-8deg)}to{transform:scale(1)}}.hero-features .feature-item strong{display:block;font-size:13px;font-weight:700;color:var(--color-heading);line-height:1.3}.hero-features .feature-item span{display:block;font-size:12px;color:var(--color-text-muted);line-height:1.35}.hero-features .feature-icon{flex-shrink:0;color:var(--color-red-primary);margin-top:2px}.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:32px}.hero-cta .btn-primary{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#c53030 0%,var(--color-red-primary) 55%,var(--color-red-dark) 100%);color:#fff;text-decoration:none;padding:10px 24px;border-radius:50px;font-weight:600;font-size:14px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;box-shadow:0 8px 24px #a5252440;position:relative;overflow:hidden;animation:cta-pulse 2.8s ease-in-out infinite}@keyframes cta-pulse{0%,to{box-shadow:0 8px 24px #a5252440,0 0 #a5252459}50%{box-shadow:0 8px 24px #a525244d,0 0 0 10px #a5252400}}.hero-cta .btn-primary:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);animation:btn-sheen 3.6s ease-in-out infinite}.hero-cta .btn-primary:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 36px #a5252466;animation-play-state:paused}.hero-cta .btn-secondary{display:flex;align-items:center;gap:10px;background:#fff;color:#374151;text-decoration:none;padding:10px 24px;border-radius:50px;font-weight:600;font-size:14px;border:2px solid var(--color-red-primary);transition:var(--transition)}.hero-cta .btn-secondary:hover{background:var(--color-red-light);transform:translateY(-2px)}.hero-stats{display:flex;flex-wrap:wrap;gap:28px 40px}.stat-item{display:flex;flex-direction:column}.stat-number{font-size:32px;font-weight:800;color:var(--color-heading)}.stat-label{font-size:14px;color:var(--color-text-muted)}.hero-preview{position:relative}.phone-mockup-container{position:relative;height:490px;max-width:380px;margin-left:auto;margin-right:auto;display:flex;justify-content:center}.phone-mockup-container:before{content:"";position:absolute;top:50%;left:50%;width:420px;height:420px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(225,29,72,.16),rgba(212,175,55,.1) 45%,transparent 70%);filter:blur(30px);animation:phone-halo 5s ease-in-out infinite alternate;pointer-events:none}@keyframes phone-halo{0%{opacity:.7;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}.phone-mockup-container{transition:transform .5s cubic-bezier(.22,.61,.36,1)}.phone-mockup-container:hover{transform:scale(1.035)}.phone-mockup{position:absolute;width:225px;height:470px;background:linear-gradient(160deg,#5a5a6e,#3a3a4e,#2a2a3a 60%,#1a1a28);border-radius:52px;padding:8px;box-shadow:0 50px 100px #00000040,0 0 0 1px #ffffff14,inset 0 0 20px #ffffff08;animation:float 6s ease-in-out infinite}.phone-mockup.phone-1{z-index:2;transform:translate(-48px)}.phone-mockup.phone-2{z-index:1;transform:translate(48px) translateY(32px);animation-delay:1.5s}.phone-frame{width:100%;height:100%;background:#fff;border-radius:44px;overflow:hidden;position:relative}.phone-frame img{width:100%;height:100%;object-fit:cover;object-position:top}.dynamic-island{position:absolute;top:9px;left:50%;transform:translate(-50%);width:100px;height:28px;background:#000;border-radius:20px;z-index:10;box-shadow:0 0 0 1px #ffffff0d}.phone-mockup:before{content:"";position:absolute;right:-2px;top:140px;width:4px;height:45px;background:linear-gradient(to bottom,#666,#444,#555);border-radius:0 3px 3px 0;z-index:1}.phone-mockup:after{content:"";position:absolute;right:-2px;top:195px;width:4px;height:55px;background:linear-gradient(to bottom,#666,#444,#555);border-radius:0 3px 3px 0;z-index:1}.phone-overlay{position:absolute;top:0;left:0;right:0;z-index:8}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 4px;font-size:11px;font-weight:700;color:#fff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.status-bar .status-time{font-size:13px;font-weight:700;letter-spacing:.3px}.status-icons{display:flex;align-items:center;gap:5px}.signal{width:16px;height:10px;position:relative}.signal:before{content:"";position:absolute;bottom:0;left:0;width:3px;height:4px;background:#fff;border-radius:1px;box-shadow:4px 0 #fff,8px 0 #fff}.wifi{width:14px;height:10px;position:relative}.wifi:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:6px;height:6px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;box-shadow:0 -4px 0 -2px #fff}.battery{width:22px;height:11px;border:1.5px solid #fff;border-radius:3px;position:relative;margin-left:2px}.battery:before{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:2.5px;height:5px;background:#fff;border-radius:0 1px 1px 0}.battery:after{content:"";position:absolute;left:2px;top:2px;bottom:2px;width:60%;background:#34c759;border-radius:1px}@keyframes float{0%,to{transform:translateY(0) translate(-48px)}50%{transform:translateY(-16px) translate(-48px)}}.phone-mockup.phone-2{animation:float2 6s ease-in-out infinite;animation-delay:1.5s}@keyframes float2{0%,to{transform:translateY(32px) translate(48px)}50%{transform:translateY(16px) translate(48px)}}.templates-section{padding:80px 0 96px;background:var(--section-bg);border-top:1px solid #eef0f2;overflow:hidden}.templates-section .container{overflow:visible}.templates-section .section-title .highlight{font-style:italic;background:linear-gradient(120deg,var(--color-red-primary),#e11d48 55%,var(--color-gold-accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-header{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:640px;margin-left:auto;margin-right:auto;margin-bottom:48px}.section-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-red-light);color:var(--color-red-primary);padding:6px 12px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:16px;border:1px solid rgba(165,37,36,.15)}.section-badge svg{animation:badge-star-twinkle 2.4s ease-in-out infinite}@keyframes badge-star-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.25) rotate(72deg);opacity:.75}}.section-title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.2;color:var(--color-heading);margin-bottom:12px}.section-subtitle{font-size:17px;line-height:1.6;color:var(--color-text-muted);max-width:100%;margin:0}.section-cta--carousel{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:4px}.section-cta--carousel a{display:inline-flex}.section-cta--carousel .btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding-left:32px;padding-right:32px}.section-cta-note{font-size:14px;color:var(--color-text-muted);margin:0;text-align:center}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-bottom:48px}.template-card{background:#fff;border-radius:20px;overflow:hidden;border:1px solid #f3f4f6;transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease,border-color .35s ease;position:relative}.template-card:hover{transform:translateY(-10px);box-shadow:0 24px 48px #a5252424;border-color:#a525242e}.template-card .template-image{overflow:hidden}.template-card .template-image img{transition:transform .6s cubic-bezier(.22,.61,.36,1)}.template-card:hover .template-image img{transform:scale(1.06)}.template-card .template-image:after{content:"";position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .7s ease;pointer-events:none}.template-card:hover .template-image:after{left:125%}.template-image{aspect-ratio:3 / 4;height:auto;max-height:340px;position:relative}.template-image img{width:100%;height:100%;object-fit:cover}.template-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}.template-card:hover .template-overlay{opacity:1}.home-page .template-content{padding:14px 16px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.home-page .template-content h3{font-size:16px;font-weight:700;line-height:1.35;color:var(--color-heading);margin:0}.home-page .template-rating{display:inline-flex;align-items:center;gap:8px;padding:0}.home-page .template-rating .stars{display:flex;align-items:center;gap:2px}.home-page .rating-text{font-size:13px;font-weight:600;color:var(--color-text-muted)}.template-badge{position:absolute;top:15px;right:15px;background:#10b981;color:#fff;padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600;z-index:10}.features-section{padding:120px 0;background:#fff}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.feature-card{padding:40px 30px;background:#fdfdfd;border-radius:24px;border:1px solid #f3f4f6;transition:var(--transition);text-align:center}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--color-red-light)}.feature-icon-wrapper{width:80px;height:80px;margin:0 auto 24px;background:var(--color-red-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-red-primary)}.feature-card h3{font-family:var(--font-heading);font-size:24px;font-weight:700;margin-bottom:16px;color:var(--color-heading)}.feature-card p{color:var(--color-text-muted);margin-bottom:24px}.feature-card ul{list-style:none;text-align:left}.feature-card ul li{position:relative;padding-left:24px;margin-bottom:12px;color:#4b5563;font-size:15px}.feature-card ul li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.how-works{padding:96px 0 100px;background:var(--section-bg-alt);border-top:1px solid #e8eaed;border-bottom:1px solid #e8eaed}.how-works__header{text-align:center;max-width:720px;margin:0 auto 56px}.how-works__title{font-family:var(--font-heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;line-height:1.25;color:var(--color-heading);margin:0 0 12px}.how-works__title .highlight--time{font-style:italic;color:var(--color-red-primary)}.how-works__subtitle{font-size:17px;line-height:1.6;color:var(--color-text-muted);margin:0}.how-works__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px 56px;align-items:center;margin-bottom:48px}.how-works__steps{list-style:none;margin:0;padding:0}.how-works__step{display:flex;gap:20px;position:relative;padding-bottom:36px}.how-works__step:last-child{padding-bottom:0}.how-works__step:not(:last-child):before{content:"";position:absolute;left:27px;top:54px;bottom:0;width:2px;background:var(--color-red-primary);opacity:.35}.how-works__step-icon{width:54px;height:54px;flex-shrink:0;border-radius:50%;background:var(--color-red-primary);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;box-shadow:0 8px 20px #a5252440}.how-works__step-body{padding-top:4px;text-align:left}.how-works__step-label{display:block;font-size:13px;font-weight:600;color:var(--color-red-primary);margin-bottom:4px}.how-works__step-body h3{font-family:var(--font-heading);font-size:20px;font-weight:700;color:var(--color-heading);margin:0 0 6px}.how-works__step-body p{font-size:15px;line-height:1.5;color:var(--color-text-muted);margin:0}.how-works__preview-card{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(165deg,#ffe8ee,#fff5f7,#fff 70%);box-shadow:0 24px 56px #0000001a;min-height:480px;padding:28px 24px 32px;display:flex;flex-direction:column}.how-works__preview-top{text-align:center;margin-bottom:8px;position:relative;z-index:2}.how-works__preview-tag{display:block;font-size:13px;color:var(--color-text-muted);margin-bottom:8px}.how-works__preview-brand{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:.04em;color:var(--color-red-primary);margin:0 0 12px}.how-works__preview-link{display:inline-block;padding:6px 16px;font-size:12px;font-weight:600;color:var(--color-red-primary);background:#a525241a;border-radius:999px;text-decoration:none;transition:var(--transition)}.how-works__preview-link:hover{background:var(--color-red-primary);color:#fff}.how-works__phones{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;min-height:280px;margin-top:8px}.how-works__phone{position:absolute;width:120px;border-radius:16px;overflow:hidden;border:3px solid #fff;box-shadow:0 12px 32px #00000026;background:#eee}.how-works__phone img{display:block;width:100%;aspect-ratio:9 / 16;object-fit:cover}.how-works__phone--1{left:8%;bottom:12px;transform:rotate(-8deg);z-index:1}.how-works__phone--2{left:50%;bottom:24px;transform:translate(-50%);z-index:3;width:140px}.how-works__phone--3{right:8%;bottom:12px;transform:rotate(8deg);z-index:2}.how-works__play{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);z-index:5;text-decoration:none}.how-works__play-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:red;box-shadow:0 8px 28px #ff000073;transition:transform .25s ease,box-shadow .25s ease}.how-works__play:hover .how-works__play-icon{transform:scale(1.08);box-shadow:0 12px 36px #ff000080}.how-works__cta{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.how-works__cta a:first-child{display:inline-flex}.how-works__cta-btn{border-radius:999px!important;padding-left:40px!important;padding-right:40px!important;min-width:240px;justify-content:center}.how-works__video-link{font-size:14px;color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.how-works__video-link:hover{color:var(--color-red-primary);text-decoration:underline}.testimonials{padding:120px 0;background:#fff}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.testimonial-card{padding:40px;background:#f9fafb;border-radius:24px;border:1px solid #f3f4f6;transition:var(--transition)}.testimonial-card:hover{background:#fff;box-shadow:var(--shadow);transform:translateY(-5px)}.testimonial-text{font-size:16px;color:#4b5563;font-style:italic;margin:24px 0;line-height:1.8}.testimonial-author{display:flex;flex-direction:column}.testimonial-author strong{font-size:17px;color:var(--color-heading)}.testimonial-author span{font-size:13px;color:#9ca3af}.final-cta{padding:100px 0;background:var(--color-red-primary);text-align:center;color:#fff}.cta-content h2{font-family:var(--font-heading);font-size:48px;font-weight:800;margin-bottom:16px}.cta-content p{font-size:20px;margin-bottom:40px;opacity:.9}.btn-primary-large{display:inline-block;background:#fff;color:var(--color-red-primary);text-decoration:none;padding:10px 24px;border-radius:50px;font-weight:600;font-size:14px;transition:var(--transition);box-shadow:0 8px 24px #0000001f}.btn-primary-large:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0000002e}.footer{padding:80px 0 40px;background:#111827;border-top:1px solid #1f2937;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:60px;margin-bottom:60px}.footer-brand .logo{color:#fff;margin-bottom:24px}.footer-brand p{color:#9ca3af;font-size:15px;line-height:1.7}.footer-links h4,.footer-contact h4{font-size:18px;font-weight:700;margin-bottom:24px}.footer-links{display:flex;flex-direction:column;gap:12px}.footer-links a{color:#9ca3af;text-decoration:none;transition:var(--transition);font-size:15px}.footer-links a:hover{color:#fff;padding-left:5px}.footer-contact p{color:#9ca3af;margin-bottom:12px;font-size:15px}.social-links{display:flex;gap:15px;margin-top:20px}.social-icon{width:40px;height:40px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;text-decoration:none;transition:var(--transition)}.social-icon svg{width:18px;height:18px}.social-icon:hover{background:var(--color-red-primary);transform:translateY(-4px) scale(1.1) rotate(6deg);box-shadow:0 8px 20px #a5252466}.footer-brand .logo-icon{animation:logo-heartbeat 2.2s ease-in-out infinite;transform-origin:center}@keyframes logo-heartbeat{0%,30%,to{transform:scale(1)}10%{transform:scale(1.18)}20%{transform:scale(1.06)}}.footer-bottom{padding-top:40px;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#9ca3af;font-size:14px}.rsvp-section{padding:96px 0;background:var(--section-bg-alt)}.rsvp-section__header{text-align:center;margin-bottom:56px}.rsvp-section__badge{display:inline-block;background:var(--color-red-light, #fef2f2);color:var(--color-red-primary, #e11d48);font-size:.8rem;font-weight:600;padding:6px 16px;border-radius:50px;margin-bottom:20px;letter-spacing:.04em;text-transform:uppercase}.rsvp-section__title{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--color-heading);margin:0 0 16px}.rsvp-section__title .highlight{font-family:Dancing Script,cursive;font-weight:700;font-size:1.35em;color:var(--color-red-primary)}.rsvp-section__subtitle{color:var(--color-text-muted);font-size:17px;max-width:560px;margin:0 auto}.rsvp-section__main{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.rsvp-mockup{background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000014;border:1px solid #eef0f2;overflow:hidden;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s ease}.rsvp-mockup:hover{transform:perspective(1000px) rotateY(-2.5deg) rotateX(1.5deg) translateY(-6px);box-shadow:0 28px 56px #00000021}.rsvp-mockup__header{background:#f8f9fa;padding:14px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #eef0f2}.rsvp-mockup__dots{display:flex;gap:6px}.rsvp-mockup__dots span{width:10px;height:10px;border-radius:50%;background:#e5e7eb}.rsvp-mockup__dots span:first-child{background:#ef4444}.rsvp-mockup__dots span:nth-child(2){background:#f59e0b}.rsvp-mockup__dots span:nth-child(3){background:#22c55e}.rsvp-mockup__title{font-size:13px;color:#9ca3af;font-weight:500}.rsvp-mockup__body{padding:20px}.rsvp-mockup__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.rsvp-mockup__total{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary)}.rsvp-mockup__total strong{color:var(--color-heading)}.rsvp-mockup__import{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-red-primary);font-weight:600;padding:4px 12px;border:1px solid var(--color-red-light, #fecaca);border-radius:999px;background:var(--color-red-light, #fef2f2)}.rsvp-mockup__table{width:100%;border-collapse:collapse;margin-bottom:16px}.rsvp-mockup__table th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:8px 4px;border-bottom:1px solid #f3f4f6}.rsvp-mockup__table td{padding:10px 4px;border-bottom:1px solid #f9fafb;font-size:14px}.rsvp-mockup__table tbody tr{transition:background .2s ease}.rsvp-mockup__table tbody tr:hover{background:#fdf7f7}.rsvp-mockup__col-status,.rsvp-mockup__col-action{width:120px}.rsvp-mockup__name{font-weight:600;color:var(--color-heading)}.rsvp-mockup__badge{display:inline-block;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px}.rsvp-mockup__badge--success{background:#ecfdf5;color:#059669}.rsvp-mockup__badge--warning{background:#fffbeb;color:#d97706}.rsvp-mockup__badge--danger{background:#fef2f2;color:#dc2626}.rsvp-mockup__link{font-size:12px;font-weight:600;color:var(--color-red-primary);cursor:default}.rsvp-mockup__stats{display:flex;gap:20px;padding-top:12px;border-top:1px solid #f3f4f6}.rsvp-mockup__stat{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.rsvp-mockup__stat strong{color:var(--color-heading)}.rsvp-mockup__stat .rsvp-mockup__stat-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:stat-dot-pulse 1.8s ease-in-out infinite}@keyframes stat-dot-pulse{0%,to{box-shadow:0 0 #f59e0b73}60%{box-shadow:0 0 0 6px #f59e0b00}}.rsvp-mockup__stat .rsvp-mockup__stat-cross{font-size:12px;color:#dc2626;font-weight:700}.rsvp-benefits{display:flex;flex-direction:column;gap:28px}.rsvp-benefits__item{display:flex;gap:16px;align-items:flex-start;padding:12px 14px;margin:-12px -14px;border-radius:14px;transition:background .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease}.rsvp-benefits__item:hover{background:#fff;transform:translate(6px);box-shadow:0 10px 28px #00000012}.rsvp-benefits__icon{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.rsvp-benefits__item:hover .rsvp-benefits__icon{transform:scale(1.12) rotate(-6deg)}.rsvp-benefits__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rsvp-benefits__icon--blue{background:#eff6ff;color:#3b82f6}.rsvp-benefits__icon--green{background:#ecfdf5;color:#22c55e}.rsvp-benefits__icon--purple{background:#f5f3ff;color:#8b5cf6}.rsvp-benefits__icon--orange{background:#fff7ed;color:#f97316}.rsvp-benefits__item h3{font-size:16px;font-weight:700;color:var(--color-heading);margin:0 0 4px}.rsvp-benefits__item p{font-size:14px;line-height:1.6;color:#6b7280;margin:0}.rsvp-section__cta{margin-top:12px}.rsvp-section__cta-btn{display:inline-flex!important;align-items:center;gap:10px}@media (max-width: 1024px){.rsvp-section__main{grid-template-columns:1fr;gap:40px}.rsvp-mockup{order:-1}}@media (max-width: 768px){.rsvp-section{padding:64px 0}.rsvp-section__title{font-size:28px}.rsvp-mockup__stats{flex-wrap:wrap;gap:12px}}@media (max-width: 1024px){.hero .container{grid-template-columns:1fr;gap:40px}.hero-content{text-align:center}.hero-description,.hero-features{margin-left:auto;margin-right:auto}.hero-features{max-width:520px}.hero-cta,.hero-stats{justify-content:center}.phone-mockup-container{margin-left:auto;margin-right:auto}.footer-grid{grid-template-columns:1fr 1fr}.testimonials-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.how-works__grid{grid-template-columns:1fr;gap:40px}.how-works__steps{max-width:480px;margin:0 auto}}@media (max-width: 768px){.hero{padding:32px 0 56px}.hero-features{display:none}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn-primary,.hero-cta .btn-secondary{justify-content:center}.phone-mockup-container{height:380px;max-width:300px}.phone-mockup{width:180px;height:380px;border-radius:40px;padding:6px}.phone-frame{border-radius:34px}.dynamic-island{top:7px;width:78px;height:22px;border-radius:16px}.status-bar{padding:10px 16px 3px;font-size:10px}.status-bar .status-time{font-size:11px}.battery{width:18px;height:9px}.phone-mockup:before{top:110px;height:35px}.phone-mockup:after{top:155px;height:45px}.templates-section{padding:56px 0 72px}.templates-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-image{max-height:220px}.features-grid,.testimonials-grid{grid-template-columns:1fr}.how-works__preview-card{min-height:420px}.how-works__phone{width:100px}.how-works__phone--2{width:118px}}@media (max-width: 480px){.templates-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.scan-hero__aurora:before,.scan-hero__aurora:after,.scan-hero__badge,.scan-hero__btn--primary:after,.hero-gradient:before,.hero-gradient:after,.particle,.particle:before,.hero-title,.hero-cta .btn-primary,.hero-cta .btn-primary:after,.phone-mockup,.phone-mockup-container:before,.section-badge svg,.rsvp-mockup__stat-dot,.footer-brand .logo-icon{animation:none!important}.particle{display:none}.hero-features .feature-item,.template-card,.rsvp-mockup,.rsvp-benefits__item,.phone-mockup-container,.social-icon{transition:none!important}}.event-promo{padding:40px 0}.event-promo__card{background:linear-gradient(135deg,#2a2a2a,#3d3226 60%,#5a4326);border-radius:24px;padding:48px 44px;color:#fff;overflow:hidden;position:relative}.event-promo__content{max-width:640px;position:relative;z-index:1}.event-promo__badge{display:inline-block;background:#f7d377;color:#4a3410;font-weight:700;font-size:12px;padding:4px 12px;border-radius:999px;letter-spacing:.5px;margin-bottom:14px}.event-promo__title{font-size:30px;line-height:1.25;margin:0 0 12px}.event-promo__title .highlight{color:#f7d377}.event-promo__subtitle{color:#ffffffd1;font-size:16px;line-height:1.6;margin:0 0 18px}.event-promo__types{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.event-promo__types span{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);padding:7px 14px;border-radius:999px;font-size:14px}.event-promo__cta{background:#f7d377!important;color:#3a2a08!important;border:none!important}@media (max-width: 640px){.event-promo__card{padding:32px 22px;border-radius:18px}.event-promo__title{font-size:23px}.event-promo__subtitle{font-size:15px}}.referral-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140808b8;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:rm-fade .22s ease both}@keyframes rm-fade{0%{opacity:0}to{opacity:1}}.referral-modal{background:#e0273c;border-radius:20px;padding:26px 24px 24px;max-width:400px;width:100%;position:relative;overflow:hidden;text-align:center;box-shadow:0 30px 70px #14040873;animation:rm-up .3s cubic-bezier(.22,1,.36,1) both}@keyframes rm-up{0%{transform:translateY(24px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.rm-dragon{position:absolute;width:210px;height:auto;pointer-events:none;z-index:0;filter:drop-shadow(0 6px 14px rgba(0,0,0,.3)) drop-shadow(0 0 0 rgba(0,0,0,0)) brightness(1.12)}.rm-dragon--top{top:-56px;opacity:.7;right:-64px;transform:rotate(4deg)}.rm-dragon--bottom{opacity:.7;bottom:-48px;width:15rem;left:-60px;transform:rotate(-4deg) scaleX(1)}.referral-modal-close{position:absolute;top:12px;right:12px;background:#0000002e;border:none;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s;z-index:3}.referral-modal-close:hover{background:#00000052}.rm-badge{position:relative;z-index:1;display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#e0273c;background:#ffce3d;padding:6px 14px;border-radius:999px;margin-bottom:14px;transform:rotate(-2deg)}.rm-eyebrow{position:relative;z-index:1;font-size:1.55rem;color:#fff;font-weight:800;letter-spacing:-.005em;line-height:1.22;margin:0 0 20px}.rm-numbers{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:18px}.rm-tile{flex:1;background:#fff;border-radius:20px;padding:18px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 8px #0000001a;transform:rotate(-1.5deg)}.rm-tile:last-child{transform:rotate(1.5deg)}.rm-pct{font-size:50px;font-weight:800;line-height:1;letter-spacing:-.02em}.rm-pct small{font-size:24px;font-weight:700;margin-left:1px}.rm-tile--gold .rm-pct{color:#e0273c}.rm-tile--purple .rm-pct{color:#ff8a00}.rm-tile-label{font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1.3;color:#444}.rm-plus{font-size:20px;font-weight:700;color:#ffce3d;flex-shrink:0}.rm-sub{position:relative;z-index:1;font-size:13px;color:#ffffffe0;margin:0 0 20px;line-height:1.5;padding:0 6px}.rm-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px}.rm-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:#ffce3d;color:#7a1600;border:none;border-radius:14px;padding:15px 24px;font-size:15.5px;font-weight:800;cursor:pointer;letter-spacing:.01em;transition:transform .12s,box-shadow .12s;box-shadow:0 6px #d99c00}.rm-cta-arrow{transition:transform .14s}.rm-cta:hover{transform:translateY(-2px);box-shadow:0 8px #d99c00}.rm-cta:active{transform:translateY(2px);box-shadow:0 3px #d99c00}.rm-cta:hover .rm-cta-arrow{transform:translate(3px)}.rm-skip{background:none;border:none;color:#ffffffb3;font-size:13px;cursor:pointer;padding:4px 8px}.rm-skip:hover{color:#fff}@media (max-width: 400px){.referral-modal{padding:24px 18px 20px;border-radius:18px}.rm-eyebrow{font-size:1.35rem}.rm-pct{font-size:42px}.rm-pct small{font-size:18px}}@media (prefers-reduced-motion: reduce){.referral-modal-overlay,.referral-modal{animation:none}}.inv-preloader{--inv-loader-color: #b3202d;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fdf8f3,#f6ece2);opacity:1;transition:opacity .55s ease}.inv-preloader--hidden{opacity:0;pointer-events:none}.inv-heart-loader{position:relative;width:150px;height:150px;display:grid;place-items:center}.inv-heart-loader__logo{position:absolute;top:50%;left:50%;width:72px;height:72px;transform:translate(-50%,-50%);transform-origin:center;animation:inv-heartbeat 1.3s ease-in-out infinite}.inv-heart-loader__logo--base{background:url(/logo/logo-base.webp) center / contain no-repeat;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18))}.inv-heart-loader__logo--accent{background-color:var(--inv-loader-color);-webkit-mask:url(/logo/logo-accent-mask.webp) center / contain no-repeat;mask:url(/logo/logo-accent-mask.webp) center / contain no-repeat;filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--inv-loader-color) 30%,transparent))}@keyframes inv-heartbeat{0%,to{transform:translate(-50%,-50%) scale(1)}15%{transform:translate(-50%,-50%) scale(1.18)}30%{transform:translate(-50%,-50%) scale(.97)}45%{transform:translate(-50%,-50%) scale(1.1)}60%{transform:translate(-50%,-50%) scale(1)}}@media (prefers-reduced-motion: reduce){.inv-preloader{transition:none}.inv-heart-loader__logo{animation:none}}.wish-toast-layer{position:fixed;top:.6rem;right:.6rem;z-index:60;width:min(290px,74vw);pointer-events:none}.wish-toast{padding:11px 14px;background:#ffffff6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:14px;box-shadow:0 8px 24px #00000024;transform:translate(120%);opacity:0;animation:wish-toast-cycle 5.5s ease forwards;will-change:transform,opacity}.wish-toast__body{min-width:0}.wish-toast__name{margin:0;font-weight:700;font-size:.8rem;letter-spacing:.01em;color:#222}.wish-toast__text{margin:2px 0 0;font-size:.82rem;line-height:1.35;color:#3a3a3a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@keyframes wish-toast-cycle{0%{transform:translate(120%);opacity:0}8%{transform:translate(0);opacity:1}88%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}@media (prefers-reduced-motion: reduce){.wish-toast{animation-duration:5s}}:root{--inv-open-prelude: 1s;--inv-open-leave: .5s;--inv-open-total: calc(var(--inv-open-prelude) + var(--inv-open-leave))}@keyframes inv-cover-bg-layer-bloom{0%{transform:scale(1);opacity:1}to{transform:scale(1.35);opacity:0}}@keyframes inv-chibi-cover-couple-bloom{0%{transform:translate(-50%,-50%) scale(1);opacity:.08}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes inv-hkd-cover-flower-top-bloom{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes inv-hkd-cover-flower-bottom-bloom{0%{transform:translate(-50%,50%) scaleY(-1) scale(1);opacity:1}to{transform:translate(-50%,50%) scaleY(-1) scale(1.35);opacity:0}}@keyframes inv-cover-text-dim{0%{opacity:1}to{opacity:.15}}@keyframes inv-cover-btn-bloom{0%{transform:scale(1);filter:brightness(1);box-shadow:0 4px 14px #0003}70%{transform:scale(1.14);filter:brightness(1.35);box-shadow:0 8px 32px #ffffff59}to{transform:scale(1.18);filter:brightness(1.45);box-shadow:0 12px 40px #ffffff73;opacity:0}}@keyframes inv-cover-leave{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-10vh) rotate(2deg)}to{transform:translateY(-120vh) rotate(5deg)}}@keyframes inv-main-enter{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.hkd-cover--opening,.sld-cover--opening,.spd-cover--opening,.lpd-cover--opening,.lph-cover--opening,.lpv2-cover--opening,.shy-cover--opening,.fl-cover--opening,.chibi-cover--opening,.ldl-cover--opening,.lpv3-cover--opening{transition:none!important}.hkd-cover--opening .hkd-cover__card,.sld-cover--opening .sld-cover__card,.spd-cover--opening .spd-cover__card,.lpd-cover--opening .lpd-cover__card,.lph-cover--opening .lph-cover__card,.lpv2-cover--opening .lpv2-cover__card,.shy-cover--opening .shy-cover__card,.fl-cover--opening .fl-cover__card,.chibi-cover--opening .chibi-cover__card,.ldl-cover--opening .ldl-cover__card,.lpv3-cover--opening .lpv3-cover__card{overflow:visible!important}.hkd-cover--opening.hkd-cover--leaving .hkd-cover__wrap,.sld-cover--opening.sld-cover--leaving .sld-cover__wrap,.spd-cover--opening.spd-cover--leaving .spd-cover__wrap,.lpd-cover--opening.lpd-cover--leaving .lpd-cover__wrap,.lph-cover--opening.lph-cover--leaving .lph-cover__wrap,.lpv2-cover--opening.lpv2-cover--leaving .lpv2-cover__wrap,.shy-cover--opening.shy-cover--leaving .shy-cover__wrap,.fl-cover--opening.fl-cover--leaving .fl-cover__wrap,.chibi-cover--opening.chibi-cover--leaving .chibi-cover__wrap,.ldl-cover--opening.ldl-cover--leaving .ldl-cover__wrap,.lpv3-cover--opening.lpv3-cover--leaving .lpv3-cover__wrap{animation:inv-cover-leave var(--inv-open-leave) cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.hkd-cover--opening .hkd-cover__flower,.sld-cover--opening .sld-cover__dragon .inv-cover-animated,.spd-cover--opening .spd-cover__dragon .inv-cover-animated,.lpd-cover--opening .lpd-cover__rong,.lpd-cover--opening .lpd-cover__phuong,.lpd-cover--opening .lpd-cover__bg-main .inv-cover-animated,.lph-cover--opening .lph-cover__rong,.lph-cover--opening .lph-cover__phuong,.lph-cover--opening .lph-cover__bg-main .inv-cover-animated,.lpv2-cover--opening .lpv2-cover__dragon .inv-cover-animated,.shy-cover--opening .shy-cover__dragon .inv-cover-animated,.fl-cover--opening .fl-cover__dragon,.fl-cover--opening .fl-cover__deco .inv-cover-animated,.chibi-cover--opening .chibi-cover__deco-header,.chibi-cover--opening .chibi-cover__deco-flowers,.lpv3-cover--opening .lpv3-cover__watermark.inv-cover-animated{transform-origin:center center;animation:inv-cover-bg-layer-bloom var(--inv-open-prelude) ease-out forwards}.chibi-cover--opening .chibi-cover__couple{transform-origin:center center;animation:inv-chibi-cover-couple-bloom var(--inv-open-prelude) ease-out forwards}.hkd-cover--opening .hkd-cover__flower--top{animation:inv-hkd-cover-flower-top-bloom var(--inv-open-prelude) ease-out forwards}.hkd-cover--opening .hkd-cover__flower--bottom{animation:inv-hkd-cover-flower-bottom-bloom var(--inv-open-prelude) ease-out forwards}.hkd-cover--opening .hkd-cover__inner>*:not(.hkd-cover__btn),.sld-cover--opening .sld-cover__inner>*:not(.sld-cover__btn),.spd-cover--opening .spd-cover__inner>*:not(.spd-cover__btn),.lpd-cover--opening .lpd-cover__inner>*:not(.lpd-cover__btn),.lph-cover--opening .lph-cover__inner>*:not(.lph-cover__btn),.lpv2-cover--opening .lpv2-cover__inner>*:not(.lpv2-cover__btn),.shy-cover--opening .shy-cover__inner>*:not(.shy-cover__btn),.fl-cover--opening .fl-cover__inner>*:not(.fl-cover__btn),.chibi-cover--opening .chibi-cover__inner>*:not(.chibi-cover__btn),.ldl-cover--opening .ldl-cover__inner>*:not(.ldl-cover__btn),.lpv3-cover--opening .lpv3-cover__inner>*:not(.lpv3-cover__btn){animation:inv-cover-text-dim var(--inv-open-prelude) ease-out forwards}.hkd-cover--opening .hkd-cover__seal,.spd-cover--opening .spd-cover__seal .inv-cover-animated,.lpd-cover--opening .lpd-cover__seal .inv-cover-animated,.lph-cover--opening .lph-cover__seal .inv-cover-animated,.lpv2-cover--opening .lpv2-cover__seal .inv-cover-animated,.shy-cover--opening .shy-cover__seal .inv-cover-animated,.fl-cover--opening .fl-cover__seal .inv-cover-animated,.chibi-cover--opening .chibi-cover__seal,.sld-cover--opening .sld-cover__seal .inv-cover-animated,.lpv3-cover--opening .lpv3-cover__seal .inv-cover-animated{animation:inv-cover-bg-layer-bloom var(--inv-open-prelude) ease-out forwards!important}.hkd-cover--opening .hkd-cover__btn,.sld-cover--opening .sld-cover__btn,.spd-cover--opening .spd-cover__btn,.lpd-cover--opening .lpd-cover__btn,.lph-cover--opening .lph-cover__btn,.lpv2-cover--opening .lpv2-cover__btn,.shy-cover--opening .shy-cover__btn,.fl-cover--opening .fl-cover__btn,.chibi-cover--opening .chibi-cover__btn,.ldl-cover--opening .ldl-cover__btn,.lpv3-cover--opening .lpv3-cover__btn{position:relative;z-index:30;transform-origin:center center;will-change:transform,filter,opacity;animation:inv-cover-btn-bloom var(--inv-open-prelude) cubic-bezier(.34,1.15,.64,1) forwards}.hkd-main,.sld-main,.spd-main,.lpd-main,.lph-main,.lpv2-main,.shy-main,.fl-main,.chibi-main,.ldl-main,.lpv3-main{display:block;opacity:0;visibility:hidden;pointer-events:none}.hkd-main--visible,.sld-main--visible,.spd-main--visible,.lpd-main--visible,.lph-main--visible,.lpv2-main--visible,.shy-main--visible,.fl-main--visible,.chibi-main--visible,.ldl-main--visible,.lpv3-main--visible{visibility:visible;pointer-events:auto;opacity:0;animation:inv-main-enter .95s cubic-bezier(.22,1,.36,1) both}:root{--inv-cover-aspect-sp: 9 / 16;--inv-cover-aspect-pc: 1 / 1;--inv-cover-width-pc: min(100% - 2rem, 520px)}.hkd-cover__card,.sld-cover__card,.spd-cover__card,.lpd-cover__card,.lph-cover__card,.lpv2-cover__card,.shy-cover__card,.ldl-cover__card{height:100%;min-height:0!important}.fl-cover__card,.chibi-cover__card{min-height:0!important}@media (min-width: 768px){.hkd-cover__wrap,.sld-cover__wrap,.spd-cover__wrap,.lpd-cover__wrap,.lph-cover__wrap,.lpv2-cover__wrap,.shy-cover__wrap,.fl-cover__wrap,.chibi-cover__wrap,.ldl-cover__wrap{width:var(--inv-cover-width-pc)!important;max-width:none}.hkd-cover__shadow,.sld-cover__shadow,.spd-cover__shadow,.lpd-cover__shadow,.lph-cover__shadow,.lpv2-cover__shadow,.shy-cover__shadow,.ldl-cover__shadow,.fl-cover__card,.chibi-cover__card{aspect-ratio:var(--inv-cover-aspect-pc)}.hkd-cover__inner,.sld-cover__inner,.spd-cover__inner,.lpd-cover__inner,.lph-cover__inner,.lpv2-cover__inner,.shy-cover__inner,.fl-cover__inner,.chibi-cover__inner,.ldl-cover__inner{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:5rem 1.25rem 1.5rem;gap:.15rem}.hkd-cover__seal,.sld-cover__seal,.spd-cover__seal,.lpd-cover__seal,.lph-cover__seal,.lpv2-cover__seal,.shy-cover__seal,.fl-cover__seal,.chibi-cover__seal{top:42px}.fl-cover--spring:not(.fl-cover--dark):not(.fl-cover--solid) .fl-cover__seal--floral{top:24px}.fl-cover--spring:not(.fl-cover--dark):not(.fl-cover--solid) .fl-cover__inner,.chibi-cover--illust .chibi-cover__inner{padding:4.5rem 1.15rem 1.35rem}.spd .spd-cover__inner{padding:4.25rem 1.25rem 1.5rem}.fl-cover__guest-box,.hkd-cover__guest-box,.spd-cover__guest-box{margin-top:.35rem;margin-bottom:.35rem}.fl-cover__btn,.hkd-cover__btn,.sld-cover__btn,.spd-cover__btn,.lpd-cover__btn,.lph-cover__btn,.lpv2-cover__btn,.shy-cover__btn,.chibi-cover__btn,.ldl-cover__btn{margin-top:.35rem}}.hkd-cover__names,.sld-cover__names,.spd-cover__names,.lpd-cover__names,.lph-cover__names,.lpv2-cover__names,.shy-cover__names,.chibi-cover__names,.fl-cover__names,.ldl-cover__name-en,.ldl-cover__name-vi{font-size:2rem!important}@media (max-width: 768px){.hkd-cover__shadow,.sld-cover__shadow,.spd-cover__shadow,.lpd-cover__shadow,.lph-cover__shadow,.lpv2-cover__shadow,.shy-cover__shadow,.ldl-cover__shadow,.fl-cover__card,.chibi-cover__card{max-height:480px}}.hkd-form,.sld-form,.spd-form,.shy-form,.lpd-form,.lph-form,.lpv2-form,.fl-form,.chibi-form{text-align:center}.hkd-form input,.hkd-form textarea,.hkd-form select,.sld-form input,.sld-form textarea,.sld-form select,.spd-form input,.spd-form textarea,.spd-form select,.shy-form input,.shy-form textarea,.shy-form select,.lpd-form input,.lpd-form textarea,.lpd-form select,.lph-form input,.lph-form textarea,.lph-form select,.lpv2-form input,.lpv2-form textarea,.lpv2-form select,.fl-form input,.fl-form textarea,.fl-form select,.chibi-form input,.chibi-form textarea,.chibi-form select{text-align:left}.hkd-form>button,.sld-form>button,.spd-form>button,.shy-form>button,.lpd-form>button,.lph-form>button,.lpv2-form>button,.fl-form>button,.chibi-form>button{margin-left:auto;margin-right:auto}.fl-section-bar__title,.sld-section-bar__title,.shy-section-bar__title,.spd-section-bar__title,.chibi-section-bar__title,.lpv2-section-bar__title,.lpv2-inline-title,.lpd-title,.lph-title,.hkd-title,.fl-plain-heading,.fl-anh-dao-heading,.section-title-invitation{font-family:var(--font-invitation-section)}.fl-section-bar__title,.shy-section-bar__title,.spd-section-bar__title,.lpv2-section-bar__title,.lpd-title,.hkd-title,.fl-plain-heading,.ldl-section__heading{position:relative;padding-bottom:1.35rem}.fl-section-bar__title:after,.shy-section-bar__title:after,.spd-section-bar__title:after,.lpv2-section-bar__title:after,.lpd-title:after,.hkd-title:after,.fl-plain-heading:after,.ldl-section__heading:after{content:"";display:block;position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(220px,70%);height:20px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;pointer-events:none}.fl-section-bar__title:after,.fl-plain-heading:after{-webkit-mask-image:url(/khung-album/gach-duoi/leaf-swirl-full.png);mask-image:url(/khung-album/gach-duoi/leaf-swirl-full.png)}.shy-section-bar__title:after,.spd-section-bar__title:after,.lpv2-section-bar__title:after,.lpd-title:after,.hkd-title:after,.ldl-section__heading:after{height:12px;-webkit-mask-image:url(/khung-album/gach-duoi/arrow-line-full.png);mask-image:url(/khung-album/gach-duoi/arrow-line-full.png)}.fl-plain-heading--co-ba:after,.fl-plain-heading--nhat-binh:after,.fl-plain-heading--tdx:after{height:26px;-webkit-mask-image:url(/khung-album/gach-duoi/curl-wave-full.png);mask-image:url(/khung-album/gach-duoi/curl-wave-full.png)}.fl--buom-xinh .fl-section-bar__title:after{content:none}*{margin:0;padding:0;box-sizing:border-box}:root{--color-red-primary: #e82641;--color-red-dark: #891d1c;--color-red-light: rgba(165, 37, 36, .1);--color-gold-accent: #D4AF37;--color-rose-pink: #FFE4E1;--color-bg: #FFFFFF;--color-surface: #FFF9F5;--color-text-primary: #2C2C2C;--color-text-secondary: #666666;--color-text-muted: #6b7280;--color-heading: #111827;--color-border: #E5E5E5;--section-bg: #ffffff;--section-bg-alt: #f5f6f8;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--font-main: var(--font-body);--font-decorative: "Dancing Script", cursive;--font-invitation-section: "FC-Gastie", "Times New Roman", Times, serif;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--fs-display: 2rem;--fs-title: 1.5rem;--fs-section: 1.25rem;--fs-subtitle: 1.125rem;--fs-body: 1rem;--fs-caption: .875rem;--fs-small: .75rem;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--shadow-1: 0 2px 8px rgba(0, 0, 0, .08);--shadow-2: 0 8px 24px rgba(0, 0, 0, .12);--shadow-3: 0 12px 32px rgba(0, 0, 0, .16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--navbar-height: 64px}@media (min-width: 768px){:root{--navbar-height: 80px}}footer:empty{display:none}@font-face{font-family:DFVNEDLavonia;src:url(/fonts/DFVNEDLavonia/DFVN%20ED%20Lavonia.ttf) format("truetype"),url(/fonts/DFVNEDLavonia/DFVN%20ED%20Lavonia.otf) format("opentype");font-display:swap}@font-face{font-family:FC-Gastie;src:url(/fonts/FC-Gastie.otf) format("opentype");font-display:swap}@font-face{font-family:"1FTV-Photograph-Signature";src:url(/fonts/1FTV-Photograph-Signature.otf) format("opentype");font-display:swap}@font-face{font-family:GastrolineSignature;src:url(/fonts/GastrolineSignature.otf) format("opentype");font-display:swap}@font-face{font-family:DesignerViet Thillend;src:url(/fonts/DesignerViet-Thillend/iCielThillends-Regular.otf) format("opentype");font-display:swap}@font-face{font-family:SVN-HC Pacifico;src:url(/fonts/nhat-binh/SVN-HC-Pacifico.otf) format("opentype");font-display:swap}@font-face{font-family:SVN-HC Marvin Visions;src:url(/fonts/nhat-binh/SVN-HC-Marvin-Visions.otf) format("opentype");font-display:swap}@font-face{font-family:SVN-HC Built Titling;src:url(/fonts/nhat-binh/SVN-HC-Built-Titling.otf) format("opentype");font-display:swap}@font-face{font-family:SVN-HC Carosello;src:url(/fonts/nhat-binh/SVN-HC-Carosello.otf) format("opentype");font-display:swap}@font-face{font-family:HelveticaNeue;src:url(/fonts/nhat-binh/HelveticaNeueRoman.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:HelveticaNeue;src:url(/fonts/nhat-binh/HelveticaNeueBold.otf) format("opentype");font-weight:700;font-display:swap}@font-face{font-family:SVN-Waliglona;src:url(/fonts/svn-waliglona.otf) format("opentype");font-display:swap}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Allura/Allura-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Allura/Allura-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Allura/Allura-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.3}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width: 768px){.container{padding:0 24px}}.highlight{color:var(--color-red-primary);position:relative;display:inline-block}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);height:var(--navbar-height);display:flex;align-items:center}.navbar .container{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-heading);font-weight:800;font-size:24px;color:#1a1a1a}.logo-icon{height:34px;width:auto;display:block;object-fit:contain}.nav-links{display:flex;align-items:center;gap:32px}@media (max-width: 767px){.navbar .nav-links.nav-links--desktop{display:none}}.nav-links a{text-decoration:none;font-weight:500;color:#4b5563;transition:all .3s;font-size:15px}.nav-links a:hover{color:var(--color-red-primary)}.btn-login-header{background:var(--color-red-primary);color:#fff!important;padding:10px 24px;border-radius:50px;font-weight:600!important;font-size:14px;box-shadow:0 4px 12px #a5252433}.btn-login-header:hover{background:var(--color-red-dark);transform:translateY(-2px);box-shadow:0 6px 16px #a525244d}.user-menu{display:flex;align-items:center;gap:15px}.user-menu-name{font-weight:600;color:var(--color-heading);display:flex;align-items:center;gap:5px;font-size:14px}.user-menu-logout{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;gap:5px;font-size:14px;padding:0}.user-menu-logout:hover{color:var(--color-red-primary)}.app-page{min-height:100vh}.app-page-with-nav{padding-top:var(--navbar-height)}body.has-device-bar{padding-top:var(--device-bar-height, 44px)}.app-gradient-bg{background:linear-gradient(135deg,var(--color-surface) 0%,#fff0f0 100%)}.section-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-red-light);color:var(--color-red-primary);padding:6px 12px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:16px}.page-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:16px;color:var(--color-heading);line-height:1.2}.page-title .highlight{color:var(--color-red-primary)}.page-subtitle{font-size:18px;color:var(--color-text-muted);max-width:600px;margin:0 auto}.invitation-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-surface)}.invitation-fallback-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-red-primary);border-radius:50%;animation:invitation-spin .8s linear infinite}@keyframes invitation-spin{to{transform:rotate(360deg)}}.inv-loader{display:flex;flex-direction:column;align-items:center;gap:14px}.inv-loader__rings{width:116px;height:78px;overflow:visible;animation:inv-rings-rock 3s ease-in-out infinite}.inv-loader__ring{fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:176;filter:drop-shadow(0 2px 5px rgba(0,0,0,.12));animation:inv-ring-draw 2.4s ease-in-out infinite}.inv-loader__ring--2{opacity:.5;animation-delay:.3s}@keyframes inv-ring-draw{0%{stroke-dashoffset:176}50%{stroke-dashoffset:0}to{stroke-dashoffset:-176}}@keyframes inv-rings-rock{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.inv-loader__text{margin:0;font-family:var(--font-display, "Playfair Display", Georgia, serif);font-size:1.05rem;letter-spacing:.1em;color:currentColor;opacity:.85}.inv-loader__text span{animation:inv-loader-dot 1.4s ease-in-out infinite}.inv-loader__text span:nth-child(2){animation-delay:.2s}.inv-loader__text span:nth-child(3){animation-delay:.4s}@keyframes inv-loader-dot{0%,to{opacity:.2}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.inv-loader__rings,.inv-loader__ring,.inv-loader__text span{animation:none}.inv-loader__ring{stroke-dashoffset:0}}.invitation-fallback-link{color:var(--color-red-primary);font-weight:600;text-decoration:underline}.invitation-access-blocked{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:var(--color-surface);font-family:var(--font-body)}.invitation-access-blocked__card{max-width:420px;width:100%;background:#fff;border-radius:16px;padding:28px 24px;text-align:center;box-shadow:var(--shadow-2);border:1px solid var(--color-border)}.invitation-access-blocked__eyebrow{margin:0 0 8px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.invitation-access-blocked__card h1{font-size:1.35rem;margin:0 0 12px;color:var(--color-heading)}.invitation-access-blocked__card p{margin:0 0 12px;color:var(--color-text-secondary);line-height:1.6;font-size:.95rem}.invitation-access-blocked__hint{font-size:.85rem!important;color:var(--color-text-muted)!important;background:#f9fafb;padding:12px;border-radius:10px}.invitation-access-blocked__actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.invitation-access-blocked__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:50px;font-weight:600;text-decoration:none;color:var(--color-heading);border:1px solid var(--color-border);background:#fff}.invitation-access-blocked__btn--primary{background:var(--color-red-primary);border-color:var(--color-red-primary);color:#fff}.guest-cover-greeting{text-align:center;font-size:1.15rem;font-weight:700;margin-bottom:16px;letter-spacing:.02em;text-shadow:0 1px 6px rgba(0,0,0,.35)}.guest-cover-greeting__name{font-family:"1FTV-Photograph-Signature",DFVNEDLavonia,Playfair Display,UNI Chu truyen thong,serif;font-size:1.5em}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--reveal-i, 0) * 90ms);will-change:opacity,transform}[data-reveal=scale]{transform:translateY(16px) scale(.95)}[data-reveal=left]{transform:translate(-40px)}[data-reveal=right]{transform:translate(40px)}[data-reveal].is-revealed{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
