.wedding-app{--paper:#f8f9f5;--white:#fff;--ink:#2d382e;--muted:#7c8176;--olive:#65754d;--olive-dark:#4e603a;--olive-light:#edf1e6;--line:#e5e8df;--serif:"Noto Serif", Georgia, serif;--sans:"Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow:0 8px 30px #29372b08}.wedding-app .activity-intro{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 18px;display:flex}.wedding-app .activity-intro h2{font-family:var(--sans);font-size:21px;font-weight:600}.wedding-app .activity-intro p,.wedding-app .activity-footnote{color:#687267;font-size:12px;line-height:1.7}.wedding-app .activity-intro>span{border:1px solid var(--line);border-radius:99px;flex-shrink:0;padding:7px 12px;font-size:11px}.wedding-app .wedding-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.wedding-app .wedding-card-wrap{min-width:0;position:relative}.wedding-app .wedding-card-wrap>.album-card{width:100%;height:100%}.wedding-app .wedding-card-trash{z-index:2;color:#713d46;background:#fffffff2;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 2px 10px #00000012}.wedding-app .wedding-card-trash:hover{background:#fce9ec}.wedding-app .wedding-detail-actions{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.wedding-app .wedding-detail-trash{color:#80515a;font-size:12px}.wedding-app .wedding-trash-list{gap:12px;display:grid}.wedding-app .wedding-folder-sync{background:#f1f7f4;border:1px solid #cedfd9;border-radius:16px;margin:0 0 22px;padding:20px}.wedding-app .wedding-folder-sync[hidden]{display:none}.wedding-app .folder-sync-heading,.wedding-app .folder-sync-actions,.wedding-app .folder-sync-status,.wedding-app .review-moderation{align-items:center;gap:12px;display:flex}.wedding-app .folder-sync-heading>div{flex:1;min-width:0}.wedding-app .folder-sync-heading h2{font-family:var(--sans);font-size:17px;font-weight:600}.wedding-app .folder-sync-heading p{color:#597368;overflow-wrap:anywhere;font-size:12px}.wedding-app .folder-sync-actions{flex-wrap:wrap;margin-top:18px}.wedding-app .folder-sync-actions>label{min-width:215px}.wedding-app .folder-sync-actions select{background:#fff;margin:5px 0 0}.wedding-app .folder-sync-status{overflow-wrap:anywhere;min-height:26px;margin-top:14px;font-size:12px}.wedding-app .folder-support-note{color:#61766b;margin-top:12px;font-size:12px;line-height:1.7}.wedding-app .folder-live{color:#326951;align-items:center;gap:6px;font-size:12px;display:inline-flex}.wedding-app .folder-live i{background:#3f8b62;border-radius:50%;width:7px;height:7px}.wedding-app .review-moderation{background:#eef2e7;border-radius:12px;flex-wrap:wrap;margin-bottom:18px;padding:12px 15px}.wedding-app .review-moderation>span{flex:1;min-width:170px}.wedding-app .live-review{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;padding:16px;display:grid}.wedding-app .review-image{background:#202a25;border-radius:10px;place-items:center;height:min(49dvh,540px);min-height:180px;display:grid;overflow:hidden}.wedding-app .review-image>*,.wedding-app .review-image img{object-fit:contain;width:100%;height:100%;min-height:0}.wedding-app .review-image .photo-image{aspect-ratio:auto;height:100%}.wedding-app .review-image .photo-image img{object-fit:contain;width:100%;height:100%}.wedding-app .review-caption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.wedding-app .review-badge{color:#7d6324;background:#f4edd7;border-radius:99px;padding:4px 9px;font-size:11px;display:inline-flex}.wedding-app .review-badge.approved{color:#2d6b4b;background:#e4f2e9}.wedding-app .review-badge.rejected,.wedding-app .review-badge.withdrawn{color:#95525e;background:#fae9ed}.wedding-app .photo-tile>.review-badge{position:absolute;top:8px;right:8px}.wedding-app .review-decisions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.wedding-app .review-decisions>.button{min-width:140px;min-height:48px;font-size:14px}.wedding-app .button.review-reject{color:#8b4351;background:#fceef1;border:1px solid #ebc5cd}.wedding-app .review-preservation{color:var(--muted);margin-top:16px;font-size:12px}.wedding-app .review-bulk{border:1px solid var(--line);background:#fff;border-radius:12px;margin:14px 0;padding:12px 15px}.wedding-app .review-bulk summary{cursor:pointer;font-weight:600}.wedding-app .review-bulk>.inline-actions{flex-wrap:wrap;margin-top:12px}.wedding-app .modal.review-modal{flex-direction:column;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);display:flex}.wedding-app .review-modal>.live-review{border:0;flex-direction:column;flex:1;min-height:0;display:flex}.wedding-app .review-modal .review-image{flex:1;height:auto;min-height:0}@media (width<=540px){.wedding-app .wedding-folder-sync{padding:15px}.wedding-app .folder-sync-actions>label{width:100%}.wedding-app .review-gallery .gallery-toolbar{align-items:stretch}.wedding-app .review-gallery .filters{flex-wrap:wrap}.wedding-app .review-decisions>.button{flex:1;min-width:110px}.wedding-app .modal.review-modal{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}.wedding-app .wedding-trash-row{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:18px;padding:18px;display:flex}.wedding-app .wedding-trash-row>img{object-fit:cover;border-radius:12px;width:76px;height:76px}.wedding-app .wedding-trash-row>div{flex:1;min-width:0}.wedding-app .wedding-trash-row h2{overflow-wrap:anywhere;font-size:24px}.wedding-app .wedding-trash-row p{margin:5px 0;font-size:12px}.wedding-app .wedding-trash-row small{color:var(--muted);font-size:11px}@media (width<=540px){.wedding-app .wedding-trash-row{flex-wrap:wrap;gap:12px}.wedding-app .wedding-trash-row>img{width:58px;height:58px}.wedding-app .wedding-trash-row h2{font-size:21px}.wedding-app .wedding-trash-row>.button{width:100%}}.wedding-app .wedding-activity-card{--activity:#8d4c56;--activity-bg:#f5e8e7;border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:24px}.wedding-app .wedding-activity-card.violet{--activity:#68538a;--activity-bg:#eee9f8}.wedding-app .wedding-activity-card.blue{--activity:#3e6685;--activity-bg:#e7eff4}.wedding-app .wedding-activity-card.green{--activity:#376a56;--activity-bg:#e8f1ed}.wedding-app .activity-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.wedding-app .activity-icon{width:52px;height:52px;color:var(--activity);background:var(--activity-bg);border-radius:15px;place-items:center;display:grid}.wedding-app .activity-status{color:#747a71;align-items:center;gap:5px;font-size:11px;display:inline-flex}.wedding-app .activity-status.on{color:#376a56}.wedding-app .wedding-activity-card h3{font-size:17px;font-weight:600}.wedding-app .wedding-activity-card>p{color:#687267;overflow-wrap:anywhere;min-height:40px;margin-top:6px;font-size:12px}.wedding-app .activity-card-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.wedding-app .activity-remove{color:#747a71;text-underline-offset:4px;padding:10px 4px;font-size:11px;text-decoration:underline}.wedding-app .activity-change{margin-top:15px;font-size:11px}.wedding-app .wedding-detail-tools{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.wedding-app .wedding-detail-tools>button{min-height:44px}.wedding-app .activity-workspace-heading{flex-wrap:wrap;align-items:center;gap:12px 24px;margin:14px 0 22px;display:flex}.wedding-app .activity-workspace-heading>h2{font-size:20px}.wedding-app .activity-workspace-heading>button{min-height:44px}.wedding-app .activity-settings{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:22px}.wedding-app .activity-settings>summary{cursor:pointer;align-items:center;gap:10px;min-height:56px;padding:18px 22px;font-weight:600;display:flex}.wedding-app .activity-settings>summary:after{content:"+";margin-left:auto;font-size:22px}.wedding-app .activity-settings[open]>summary:after{content:"−"}.wedding-app .activity-settings>summary::-webkit-details-marker{display:none}.wedding-app .activity-settings .settings-form{padding:0 18px 18px}.wedding-app .activity-settings .wedding-folder-sync{box-shadow:none;border:0;margin:0}.wedding-app .folder-running-note{color:#376a56;margin-left:auto;font-size:12px}.wedding-app .activity-settings .panel{box-shadow:none;border:0;padding:10px 4px}.wedding-app .activity-settings-fields{border:0;min-width:0;margin:0;padding:0}.wedding-app .activity-switch{color:#596255;align-items:center;gap:7px;min-height:44px;font-size:12px;font-weight:600;display:inline-flex}.wedding-app .activity-switch>span:first-child{background:#d6dbd3;border-radius:20px;width:34px;height:21px;padding:3px;transition:background .18s}.wedding-app .activity-switch>span:first-child:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .18s;display:block;box-shadow:0 1px 3px #0002}.wedding-app .activity-switch[aria-checked=true]>span:first-child{background:var(--activity)}.wedding-app .activity-switch[aria-checked=true]>span:first-child:after{transform:translate(13px)}.wedding-app .wedding-activity-card.is-active{border-color:color-mix(in srgb, var(--activity) 32%, white)}.wedding-app .activity-card-actions>.button{flex:1}@media (prefers-reduced-motion:reduce){.wedding-app .activity-switch>span:first-child,.wedding-app .activity-switch>span:first-child:after{transition:none}}@media (width<=480px){.wedding-app .wedding-detail-tools{gap:12px}.wedding-app .wedding-detail-tools>button{font-size:11px}.wedding-app .activity-workspace-heading>h2{font-size:17px}.wedding-app .activity-card-actions{gap:8px}}@media (width<=640px){.wedding-app .wedding-activities .wedding-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wedding-app .wedding-activities .wedding-activity-card{flex-direction:column;padding:14px;display:flex}.wedding-app .wedding-activities .activity-card-top{gap:6px;margin-bottom:12px}.wedding-app .wedding-activities .activity-icon{border-radius:12px;flex-shrink:0;width:38px;height:38px}.wedding-app .wedding-activities .activity-icon>svg{width:22px;height:22px}.wedding-app .wedding-activities .activity-status{text-align:right;max-width:76px;font-size:10px}.wedding-app .wedding-activities .wedding-activity-card h3{min-height:40px;font-size:15px;line-height:1.35}.wedding-app .wedding-activities .wedding-activity-card>p{display:none}.wedding-app .wedding-activities .activity-card-actions{gap:4px;margin-top:14px}.wedding-app .wedding-activities .activity-card-actions>.button{flex-basis:100%;padding:10px 6px;font-size:12px}.wedding-app .wedding-activities .activity-switch{gap:5px;margin:0 auto;font-size:11px}}.wedding-app .activity-footnote{max-width:800px;margin:20px 0 12px}.wedding-app .wedding-delivery{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;display:grid}.wedding-app .delivery-cover{object-fit:cover;border-radius:12px;width:180px;height:200px}.wedding-app .delivery-placeholder{color:#376a56;background:#e8f1ed;place-items:center;display:grid}.wedding-app .wedding-delivery h2{overflow-wrap:anywhere;margin:8px 0;font-size:28px}@media (width<=640px){.wedding-app .activity-intro{align-items:flex-start}.wedding-app .activity-intro>span{display:none}.wedding-app .wedding-activity-grid{grid-template-columns:minmax(0,1fr);gap:12px}.wedding-app .wedding-activity-card{padding:18px}.wedding-app .wedding-activity-card>p{min-height:0}.wedding-app .wedding-delivery{grid-template-columns:minmax(0,1fr);gap:18px}.wedding-app .delivery-cover{width:100%;height:160px}}.wedding-app *{box-sizing:border-box}.wedding-app{scroll-behavior:smooth;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.65}.wedding-app button:not(:where(.wedding-quiz-panel *)),.wedding-app input:not(:where(.wedding-quiz-panel *)),.wedding-app select:not(:where(.wedding-quiz-panel *)),.wedding-app textarea:not(:where(.wedding-quiz-panel *)){font:inherit}.wedding-app button,.wedding-app a,.wedding-app input,.wedding-app textarea,.wedding-app select{-webkit-tap-highlight-color:transparent}.wedding-app button:not(:where(.wedding-quiz-panel *)){cursor:pointer;color:inherit}.wedding-app button:disabled{cursor:not-allowed;opacity:.48}.wedding-app button:not(:where(.wedding-quiz-panel *)){background:0 0;border:0}.wedding-app a:not(:where(.wedding-quiz-panel *)){color:inherit;text-decoration:none}.wedding-app img{max-width:100%;display:block}.wedding-app svg{vertical-align:middle;flex-shrink:0}.wedding-app h1:not(:where(.wedding-quiz-panel *)),.wedding-app h2:not(:where(.wedding-quiz-panel *)),.wedding-app h3:not(:where(.wedding-quiz-panel *)),.wedding-app p:not(:where(.wedding-quiz-panel *)){margin:0}.wedding-app h1:not(:where(.wedding-quiz-panel *)),.wedding-app h2:not(:where(.wedding-quiz-panel *)),.wedding-app h3:not(:where(.wedding-quiz-panel *)){line-height:1.2}.wedding-app h1:not(:where(.wedding-quiz-panel *)),.wedding-app h2:not(:where(.wedding-quiz-panel *)){font-family:var(--serif);font-weight:400}.wedding-app em{color:var(--olive);font-style:normal}.wedding-app :focus-visible{outline-offset:4px;border-radius:5px;outline:3px solid #879b69}.wedding-app ::selection{background:#dfe6d2}.wedding-app .visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.wedding-app .button{white-space:nowrap;text-align:center;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:45px;padding:11px 18px;font-size:12px;font-weight:500;line-height:1.5;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.wedding-app .button.primary{background:var(--olive);color:#fff;border-color:var(--olive);box-shadow:0 3px 5px #3e4c2a08}.wedding-app .button.primary:hover:not(:disabled){background:var(--olive-dark);border-color:var(--olive-dark)}.wedding-app .button.secondary{border-color:var(--line);color:var(--ink);background:#fff}.wedding-app .button.secondary:hover:not(:disabled){background:#f3f5ed;border-color:#ccd4c0}.wedding-app .button.small{min-height:36px;padding:8px 13px;font-size:11px}.wedding-app .button.danger{color:#fff;background:#b65348;border-color:#b65348}.wedding-app .button:hover:not(:disabled){transform:translateY(-1px)}.wedding-app .icon-button{width:36px;height:36px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.wedding-app .icon-button:hover:not(:disabled){background:var(--olive-light);color:var(--olive)}.wedding-app .text-action{color:var(--olive);align-items:center;gap:7px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.wedding-app .text-action:hover{text-underline-offset:4px;text-decoration:underline}.wedding-app .eyebrow{font-family:var(--sans);letter-spacing:1.55px;color:var(--olive);align-items:center;gap:9px;font-size:9px;font-weight:600;line-height:1.7;display:flex}.wedding-app .little-line{background:var(--olive);width:18px;height:1px}.wedding-app .muted{color:var(--muted)}.wedding-app .inline-actions{align-items:center;gap:10px;display:flex}.wedding-app .brand{color:#43543a;font-family:var(--serif);letter-spacing:-1.7px;align-items:center;gap:10px;font-size:40px;font-weight:400;line-height:1;display:inline-flex}.wedding-app .brand-dot{color:#99aa80}.wedding-app .brand-mark{width:37px;height:33px;display:inline-block;position:relative;transform:rotate(-15deg)}.wedding-app .brand-mark>svg{position:absolute;top:5px;left:0}.wedding-app .brand-mark>svg+svg{top:9px;left:13px;transform:rotate(31deg)}.wedding-app .brand-link{align-items:center;display:inline-flex}.wedding-app .brand.light{color:#fff}.wedding-app .dashboard-shell{min-height:100vh;display:flex}.wedding-app .sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;flex-shrink:0;width:238px;padding:35px 21px 18px;display:flex;position:fixed;inset:0 auto 0 0}.wedding-app .sidebar>.brand-link{margin:0 0 13px 17px}.wedding-app .sidebar-tagline{letter-spacing:1.6px;color:#9a9d91;margin-left:17px;font-size:7.5px;font-weight:500}.wedding-app .nav-label{letter-spacing:1.5px;color:#a2a69c;margin:52px 14px 14px;font-size:8px;font-weight:500}.wedding-app .sidebar nav{flex-direction:column;gap:7px;display:flex}.wedding-app .nav-item{text-align:left;color:#83877d;border-radius:7px;align-items:center;gap:12px;width:100%;min-height:45px;padding:13px 14px;font-size:11.5px;display:flex;position:relative}.wedding-app .nav-item:hover{background:#f5f6f1}.wedding-app .nav-item.active{color:#5a6d40;background:#edf1e5;font-weight:600}.wedding-app .nav-count{background:#dfe7d2;border-radius:5px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;font-size:9px;display:flex}.wedding-app .sidebar-note{background:#f8f9f4;border:1px solid #ecefe4;border-radius:11px;margin-top:auto;margin-bottom:27px;padding:18px 17px;position:relative;overflow:hidden}.wedding-app .sidebar-note:after{content:"";border:1px solid #e9edde;border-radius:50%;width:75px;height:75px;position:absolute;top:-25px;right:-27px}.wedding-app .tiny-spark{color:#88996f;margin-bottom:13px;display:block}.wedding-app .sidebar-note h3{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.35}.wedding-app .sidebar-note p{color:#919588;margin-top:8px;font-size:10px;line-height:1.8}.wedding-app .sidebar-note a{color:var(--olive);align-items:center;gap:6px;margin-top:15px;font-size:10px;font-weight:500;display:flex}.wedding-app .sidebar-bottom{border-top:1px solid var(--line);align-items:center;gap:9px;padding-top:18px;display:flex}.wedding-app .sidebar-bottom>div{flex:1;min-width:0;line-height:1.5}.wedding-app .sidebar-bottom strong{font-size:10px;font-weight:500;display:block}.wedding-app .sidebar-bottom small{color:#9a9d95;white-space:nowrap;text-overflow:ellipsis;font-size:8.5px;display:block;overflow:hidden}.wedding-app .sidebar-bottom>svg{color:#a1ad91}.wedding-app .avatar{color:#75855c;width:34px;height:34px;font-size:12px;font-family:var(--serif);background:#ebeee4;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wedding-app .small-avatar{border:3px solid #fff;width:31px;height:31px;box-shadow:0 0 0 1px #e8ebdf}.wedding-app .dashboard-main{width:calc(100% - 238px);min-width:0;margin-left:238px}.wedding-app .topbar{border-bottom:1px solid var(--line);background:#fdfefb;justify-content:space-between;align-items:center;gap:15px;height:77px;padding:0 47px;display:flex}.wedding-app .breadcrumb{color:#9a9e94;align-items:center;gap:14px;min-width:0;font-size:10px;display:flex}.wedding-app .breadcrumb strong{color:#596450;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.wedding-app .topbar-actions{align-items:center;gap:23px;display:flex}.wedding-app .topbar-demo{color:#848b7a;align-items:center;gap:7px;font-size:9px;display:flex}.wedding-app .mobile-menu{display:none}.wedding-app .workspace{max-width:1450px;min-height:calc(100vh - 77px);margin:0 auto;padding:39px 47px 0}.wedding-app .page-intro{justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.wedding-app .page-intro h1{letter-spacing:-.6px;margin:9px 0;font-size:39px;line-height:1.3}.wedding-app .page-intro h1 em{display:inline-block}.wedding-app .page-intro p{color:#93988c;max-width:660px;font-size:10.5px;line-height:1.8}.wedding-app .page-intro>.button{flex-shrink:0;margin-top:20px}.wedding-app .stats-row{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;grid-template-columns:repeat(3,1fr);margin-bottom:35px;padding:22px 0;display:grid}.wedding-app .stat{border-right:1px solid var(--line);align-items:center;gap:16px;padding:0 24px;display:flex}.wedding-app .stat:last-child{border:0}.wedding-app .stat-icon{color:#8c9b75;background:#f3f5ed;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.wedding-app .stat-number{font-family:var(--serif);align-items:baseline;gap:10px;font-size:29px;line-height:1.2;display:flex}.wedding-app .stat-number>span:not(.skeleton-number){font-family:var(--sans);color:#6b7561;font-size:10px;font-weight:500}.wedding-app .stat small{color:#a2a79a;margin-top:6px;font-size:9px;line-height:1.5;display:block}.wedding-app .skeleton-number{background:#edf0e5;border-radius:4px;width:20px;height:23px;display:inline-block}.wedding-app .section-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 20px;display:flex}.wedding-app .section-heading h2{letter-spacing:-.25px;align-items:center;gap:10px;font-size:25px;display:flex}.wedding-app .count-label{font-family:var(--sans);color:#889576;background:#eaf0e0;border-radius:6px;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:9px;display:inline-flex}.wedding-app .section-heading p{color:#9b9f93;margin-top:6px;font-size:9px}.wedding-app .filters{background:#eff1e9;border:1px solid #e7eadf;border-radius:7px;gap:3px;max-width:100%;padding:4px;display:inline-flex}.wedding-app .filters button{color:#929985;white-space:nowrap;border-radius:4px;min-height:28px;padding:6px 14px;font-size:10px}.wedding-app .filters button.selected{color:#5c6c48;background:#fff;font-weight:500;box-shadow:0 1px 4px #3e4d1e0b}.wedding-app .filters button span{color:var(--olive);background:#dfe9d3;border-radius:20px;justify-content:center;min-width:17px;margin-left:4px;font-size:9px;display:inline-flex}.wedding-app .album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;display:grid}.wedding-app .album-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:12px;width:100%;padding:0;transition:box-shadow .2s,transform .2s;display:block;overflow:hidden}.wedding-app .album-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #3d4f2812}.wedding-app .album-cover{background:#e7e8dd;height:211px;position:relative;overflow:hidden}.wedding-app .album-cover>img{object-fit:cover;object-position:50% 36%;width:100%;height:100%;transition:transform .8s}.wedding-app .album-card:hover .album-cover>img{transform:scale(1.035)}.wedding-app .album-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000,#1526194d);position:absolute;inset:40% 0 0}.wedding-app .status-badge{color:#5d7048;z-index:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffdf3e8;border-radius:5px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;font-weight:500;line-height:1.4;display:inline-flex;position:absolute;top:15px;left:16px}.wedding-app .status-badge i{background:#819a5b;border-radius:50%;width:5px;height:5px}.wedding-app .status-badge.closed{color:#746f61}.wedding-app .status-badge.closed i{background:#a89b83}.wedding-app .demo-badge{background:#f6f8efeb}.wedding-app .album-open{color:#fff;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:29px;height:29px;display:flex;position:absolute;top:14px;right:14px}.wedding-app .cover-caption{color:#fffcf5d9;letter-spacing:.4px;z-index:1;font-family:Georgia,serif;font-size:21px;font-style:italic;position:absolute;bottom:16px;left:22px}.wedding-app .album-info{padding:21px 23px 0}.wedding-app .album-info h3{font-family:var(--serif);letter-spacing:.1px;overflow-wrap:anywhere;font-size:29px;font-weight:400;line-height:1.1}.wedding-app .album-info h3 em{color:#94a27e;margin:0 4px;font-size:26px}.wedding-app .album-date{color:#969c8f;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:9px;display:flex}.wedding-app .album-date>svg{color:#a6b095}.wedding-app .album-date>span{padding:0 2px}.wedding-app .album-footer{color:#7c896b;border-top:1px solid #edf0e8;justify-content:space-between;align-items:center;gap:10px;margin-top:19px;padding:16px 0;font-size:9px;display:flex}.wedding-app .album-footer>span{align-items:center;gap:6px;display:flex}.wedding-app .album-footer>svg{color:#8b9978}.wedding-app .mini-photo-stack{padding-left:0;gap:0!important}.wedding-app .mini-photo-stack img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:25px;height:25px;margin-left:-6px}.wedding-app .mini-photo-stack img:first-child{margin-left:0}.wedding-app .mini-photo-stack>span{color:#969c8f;margin-left:8px;font-size:8px}.wedding-app .new-album-card{text-align:center;background:#fafbf7;border:1px dashed #cdd7be;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:370px;padding:26px 20px;transition:background .2s,border-color .2s;display:flex}.wedding-app .new-album-card:hover{background:#f2f5e9;border-color:#9bab80}.wedding-app .new-album-icon{color:#8a9b71;background:#edf2e3;border-radius:50%;justify-content:center;align-items:center;width:59px;height:59px;margin-bottom:22px;display:flex;box-shadow:0 0 0 8px #f4f7ee}.wedding-app .new-album-card h3{font-family:var(--serif);color:#536548;font-size:25px;font-weight:400;line-height:1.35}.wedding-app .new-album-card p{color:#9ba18f;margin:10px 0 20px;font-size:10px;line-height:1.9}.wedding-app .new-album-card .text-action{gap:8px;font-size:10px}.wedding-app .empty-inline{color:var(--muted);text-align:center;padding:30px}.wedding-app .how-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.35fr 1fr 1fr 1fr;gap:26px;margin-top:32px;padding:25px 0;display:grid}.wedding-app .how-strip-title .eyebrow{letter-spacing:1.7px;font-size:7px}.wedding-app .how-strip-title h2{margin:8px 0 13px;font-size:23px;line-height:1.45}.wedding-app .how-strip-title h2 em{color:#74855d}.wedding-app .how-strip-title .text-action{font-size:9px}.wedding-app .how-step{padding-top:4px;position:relative}.wedding-app .step-icon{color:#879d65;margin-bottom:18px;display:block}.wedding-app .how-step small{font-family:var(--serif);color:#c7cebc;font-size:16px;position:absolute;top:9px;right:15px}.wedding-app .how-step h3{color:#58694a;font-size:10px;font-weight:500;line-height:1.5}.wedding-app .how-step p{color:#a0a694;margin-top:8px;font-size:9px;line-height:1.9}.wedding-app .quiet-note{color:#9ba58e;justify-content:center;align-items:center;gap:7px;padding:21px 8px 4px;font-size:8px;display:flex}.wedding-app .dashboard-footer{color:#a5ab9b;justify-content:space-between;align-items:center;gap:15px;margin-top:15px;padding:24px 0 21px;font-size:8px;display:flex}.wedding-app .dashboard-footer>span:first-child{font-family:var(--serif);color:#9aa788;align-items:center;gap:10px;font-size:19px;display:flex}.wedding-app .dashboard-footer>span:first-child>span{font-family:var(--sans);color:#a5ab9b;font-size:8px}.wedding-app .dashboard-footer>span:last-child{align-items:center;gap:6px;display:flex}.wedding-app .search-field{border:1px solid var(--line);color:#95a080;background:#fff;border-radius:7px;align-items:center;gap:9px;max-width:400px;margin-bottom:19px;padding:0 13px;display:flex}.wedding-app .search-field input{background:0 0;border:0;outline:0;width:100%;margin:0;font-size:11px}.wedding-app .panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:11px;padding:25px}.wedding-app .panel-title{color:var(--olive);align-items:center;gap:10px;margin-bottom:25px;display:flex}.wedding-app .panel-title h2{color:var(--ink);font-size:25px}.wedding-app label:not(:where(.wedding-quiz-panel *)){color:#53614a;font-size:11px;font-weight:500;display:block}.wedding-app label>span:not(.toggle):not(.toggle-row>span){color:#899974}.wedding-app label>small,.wedding-app legend small{color:#a0a796;margin-left:4px;font-size:9px;font-weight:400}.wedding-app input:not([type=checkbox]):not([type=file]):not(:where(.wedding-quiz-panel *)),.wedding-app textarea:not(:where(.wedding-quiz-panel *)),.wedding-app select:not(:where(.wedding-quiz-panel *)){width:100%;min-height:44px;color:var(--ink);background:#fcfdfa;border:1px solid #e0e5d8;border-radius:7px;outline:none;margin-top:7px;padding:11px 12px;font-size:12px;font-weight:400;line-height:1.6;transition:border-color .15s,box-shadow .15s;display:block}.wedding-app input:focus,.wedding-app textarea:focus,.wedding-app select:focus{box-shadow:0 0 0 3px #e7eddd;border-color:#9cae83!important}.wedding-app input::placeholder,.wedding-app textarea::placeholder{color:#a7ac9e;font-size:10px}.wedding-app textarea{resize:vertical}.wedding-app input[type=date]{appearance:none;min-width:0;max-width:100%;min-height:44px}.wedding-app .form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.wedding-app .event-form{padding:1px 27px 0}.wedding-app .form-intro{color:var(--muted);margin-bottom:25px;font-size:11px;line-height:1.8}.wedding-app .event-form>.notice{margin-bottom:20px}.wedding-app .event-form>label{margin-bottom:22px}.wedding-app .cover-picker{border:0;margin:22px 0 0;padding:0}.wedding-app .cover-picker legend{color:#53614a;margin-bottom:11px;padding:0;font-size:11px;font-weight:500}.wedding-app .cover-picker>div{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.wedding-app .cover-picker button{background:#f4f6ef;border:1px solid #0000;border-radius:8px;height:70px;padding:3px;position:relative}.wedding-app .cover-picker button.chosen{background:#edf2e5;border-color:#799357;box-shadow:0 0 0 1px #799357}.wedding-app .cover-picker img{object-fit:cover;object-position:50% 35%;border-radius:4px;width:100%;height:100%}.wedding-app .cover-picker button>span{background:var(--olive);color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;display:flex;position:absolute;bottom:8px;right:8px}.wedding-app .form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding:19px 0;display:flex}.wedding-app .form-footer>span{color:#94a180;align-items:center;gap:6px;font-size:9px;display:flex}.wedding-app .modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overscroll-behavior:contain;background:#1827196e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.wedding-app .modal{background:#fffefa;border:1px solid #ffffffb8;border-radius:16px;outline:none;width:100%;max-width:610px;max-height:calc(100dvh - 48px);animation:.2s wedding-modal-in;overflow:auto;box-shadow:0 20px 80px #0f1c2430}.wedding-app .modal.wide{max-width:960px}.wedding-app .modal-head{z-index:3;background:#fffefafa;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:15px;padding:24px 27px 17px;display:flex;position:sticky;top:0}.wedding-app .modal-head h2{font-size:27px;line-height:1.25}.wedding-app .modal-head .icon-button{flex-shrink:0}.wedding-app .modal-body{padding:2px 27px 27px}.wedding-app .modal-body>p{color:#7c8572;margin-bottom:20px;font-size:12px;line-height:1.9}.wedding-app .modal-body .form-footer{padding-bottom:0}.wedding-app .notice{color:#607848;background:#eef4e6;border:1px solid #dfe8d4;border-radius:8px;align-items:flex-start;gap:9px;margin:12px 0;padding:12px 15px;font-size:11px;line-height:1.8;display:flex}.wedding-app .notice>svg{margin-top:2px}.wedding-app .notice a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.wedding-app .notice.error{color:#a15e45;background:#fff4ef;border-color:#f0dfd1}.wedding-app .notice span>svg{margin-right:5px}.wedding-app .load-error{align-items:center;gap:12px;margin-bottom:18px;display:flex}.wedding-app .load-error .notice{flex:1}.wedding-app .toast{color:#fff;z-index:150;background:#34472f;border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 30px);padding:14px 18px;font-size:11px;animation:.2s wedding-toast-in;display:flex;position:fixed;bottom:24px;left:calc(50% + 100px);transform:translate(-50%);box-shadow:0 8px 25px #152b2226}.wedding-app .toast>button{color:#c2d1b6;align-items:center;padding:3px 0 3px 8px;display:flex}.wedding-app .back-link{color:#8c997b;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:10px;display:inline-flex}.wedding-app .event-heading{align-items:center;gap:22px;margin-bottom:32px;display:flex}.wedding-app .event-heading>img{object-fit:cover;object-position:50% 35%;border-radius:11px;width:88px;height:88px;box-shadow:0 3px 10px #26321a08}.wedding-app .event-heading>div{flex:1;min-width:0}.wedding-app .event-heading h1{overflow-wrap:anywhere;margin:4px 0 3px;font-size:39px;line-height:1.3}.wedding-app .event-heading h1 em{color:#9baa82;padding:0 4px}.wedding-app .event-heading p{color:#959e88;flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.wedding-app .event-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:28px;margin-bottom:29px;display:flex;overflow:auto}.wedding-app .event-tabs>button{color:#939c86;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;min-height:40px;padding:0 2px 15px;font-size:11px;display:flex;position:relative}.wedding-app .event-tabs>button.active{color:var(--olive);border-color:var(--olive);font-weight:500}.wedding-app .event-tabs>button>span{text-align:center;background:#e8eedf;border-radius:4px;min-width:20px;margin-left:3px;padding:0 4px;font-size:9px}.wedding-app .gallery-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.wedding-app .empty-state{border:1px solid var(--line);text-align:center;color:#8b9c78;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:14px;padding:65px 25px;display:flex}.wedding-app .empty-state h2{color:#5f7250;margin-top:7px;font-size:30px}.wedding-app .empty-state p{color:#9ca68f;max-width:430px;font-size:11px;line-height:1.9}.wedding-app .empty-state>.inline-actions,.wedding-app .empty-state>.button{margin-top:8px}.wedding-app .empty-icon{color:#92a67a;background:#f0f4e9;border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;display:flex}.wedding-app .loading-state{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:75px 20px;font-size:12px;display:flex}.wedding-app .photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.wedding-app .photo-tile{background:#fff;border-radius:9px;position:relative;overflow:hidden;box-shadow:0 2px 7px #21331706}.wedding-app .photo-image{aspect-ratio:4/5;background:#edf0e6;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.wedding-app .photo-image>img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.wedding-app .photo-image:hover>img{transform:scale(1.035)}.wedding-app .photo-caption{color:#929d83;justify-content:space-between;align-items:center;gap:5px;min-height:42px;padding:6px 10px;font-size:10px;display:flex}.wedding-app .photo-caption>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.wedding-app .photo-caption>div{display:flex}.wedding-app .photo-caption .icon-button{width:29px;height:29px}.wedding-app .photo-caption .approve{color:#718f4d}.wedding-app .admin-photo-grid .photo-image{height:auto}.wedding-app .pending-label{color:#9c8752;background:#fdf9edee;border-radius:4px;padding:4px 7px;font-size:8px;position:absolute;top:9px;left:9px}.wedding-app .image-fallback{color:#9aab85;text-align:center;background:#ecf0e5;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;min-height:150px;padding:20px;display:flex}.wedding-app .image-fallback small{font-size:9px}.wedding-app .lightbox-image{background:#17211a;justify-content:center;align-items:center;height:min(68vh,700px);display:flex;position:relative}.wedding-app .lightbox-image>img{object-fit:contain;width:100%;height:100%}.wedding-app .lightbox-image .image-fallback{color:#b1c3a2;background:#1b281e;height:100%}.wedding-app .lightbox-image .icon-button{color:#495e39;background:#fffdf2e8;border-radius:50%;width:37px;height:37px;position:absolute;top:50%;transform:translateY(-50%)}.wedding-app .lightbox-prev{left:14px}.wedding-app .lightbox-next{right:14px}.wedding-app .lightbox-caption{color:#9aa58c;justify-content:space-between;align-items:center;gap:15px;padding:17px 22px;font-size:11px;display:flex}.wedding-app .load-more{justify-content:center;margin-top:27px;display:flex}.wedding-app .download-parts{flex-direction:column;gap:11px;display:flex}.wedding-app .settings-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.wedding-app .settings-columns .form-row{gap:12px}.wedding-app .toggle-row{cursor:pointer;border-bottom:1px solid #edf0e6;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;display:flex}.wedding-app .toggle-row:first-of-type{padding-top:0}.wedding-app .toggle-row strong{color:#596a4c;font-size:11px;font-weight:500;line-height:1.65;display:block}.wedding-app .toggle-row small{color:#a1a895;margin-top:5px;font-size:9px;font-weight:400;line-height:1.9;display:block}.wedding-app .toggle{flex-shrink:0;width:36px;height:21px;display:block;position:relative}.wedding-app .toggle input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.wedding-app .toggle>span{background:#dce1d3;border-radius:15px;transition:background .2s;position:absolute;inset:0}.wedding-app .toggle>span:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #50613b17}.wedding-app .toggle input:checked+span{background:#829864}.wedding-app .toggle input:checked+span:after{transform:translate(15px)}.wedding-app .toggle input:focus-visible+span{outline-offset:3px;outline:3px solid #b3c69c}.wedding-app .limits-section{margin-top:25px}.wedding-app .limits-section h3{font-family:var(--serif);color:#60764e;margin-bottom:8px;font-size:22px;font-weight:400}.wedding-app .limits-section>p,.wedding-app .limits-section>small{color:#9ca78d;font-size:9px;line-height:1.9}.wedding-app .limits-section .form-row{margin-top:17px;margin-bottom:12px}.wedding-app .limits-section label{font-size:10px}.wedding-app .settings-save{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.wedding-app .settings-save>span{color:#98a18d;font-size:10px}.wedding-app .album-select{max-width:440px;margin-bottom:25px}.wedding-app .help-layout{grid-template-columns:1fr 1fr;align-items:start;gap:30px;display:grid}.wedding-app .help-steps>h2,.wedding-app .help-faq>h2{margin-bottom:26px;font-size:29px}.wedding-app .help-step{gap:17px;margin:0 0 27px;display:flex}.wedding-app .help-step>span{font-family:var(--serif);color:#b1bda0;border:1px solid #e2e8d7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:25px;display:flex}.wedding-app .help-step h3{color:#60704d;margin:4px 0 10px;font-size:12px;font-weight:500}.wedding-app .help-step p{color:#939f84;font-size:10px;line-height:1.9}.wedding-app .help-faq details{border-bottom:1px solid var(--line);padding:17px 0}.wedding-app .help-faq summary{cursor:pointer;color:#667752;justify-content:space-between;align-items:center;gap:15px;font-size:11px;font-weight:500;list-style:none;display:flex}.wedding-app .help-faq summary::-webkit-details-marker{display:none}.wedding-app .help-faq details p{color:#929f82;margin:15px 0 4px;font-size:10px;line-height:1.9}.wedding-app .help-faq details[open] summary>svg{transform:rotate(45deg)}.wedding-app .help-tip{color:#8c9f72;background:#eff3e6;border:1px solid #e4ead9;border-radius:10px;margin-top:25px;padding:23px}.wedding-app .help-tip h3{font-family:var(--serif);color:#657b4f;margin:15px 0 11px;font-size:24px;font-weight:400}.wedding-app .help-tip p{color:#94a082;font-size:10px;line-height:1.9}.wedding-app .standalone-state{text-align:center;color:#7f9368;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:70vh;padding:60px 25px;display:flex}.wedding-app .standalone-state h1{color:#4f6540;max-width:600px;font-size:37px}.wedding-app .standalone-state p{color:#8c9a7d;max-width:460px;font-size:13px}.wedding-app .guest-page{background:#fcfcf7;min-height:100vh}.wedding-app .guest-header{justify-content:space-between;align-items:center;max-width:1120px;height:86px;margin:auto;padding:0 38px;display:flex}.wedding-app .guest-header .brand{font-size:36px}.wedding-app .guest-header>div{align-items:center;gap:25px;display:flex}.wedding-app .guest-back{color:#8e9b7e;align-items:center;gap:6px;font-size:10px;display:flex}.wedding-app .language-button{color:#7d8c6d;align-items:center;gap:7px;padding:7px;font-size:11px;display:flex}.wedding-app .language-globe{font-size:19px;line-height:1}.wedding-app .demo-banner{color:#819666;background:#edf2e4;border-top:1px solid #e6ecdc;border-bottom:1px solid #e6ecdc;justify-content:center;align-items:center;gap:30px;padding:9px 20px;font-size:9px;display:flex}.wedding-app .demo-banner>span,.wedding-app .demo-banner>a{align-items:center;gap:6px;display:flex}.wedding-app .demo-banner>a{font-weight:500}.wedding-app .guest-main{max-width:1044px;margin:28px auto 0;padding:0 28px}.wedding-app .guest-hero{background:#fff;border:1px solid #e8ebdf;border-radius:13px;grid-template-columns:.9fr 1.1fr;min-height:510px;display:grid;overflow:hidden;box-shadow:0 10px 40px #31402204}.wedding-app .guest-hero-image{background:#dde3d3;min-height:510px;position:relative}.wedding-app .guest-hero-image>img{object-fit:cover;object-position:50% 38%;width:100%;height:100%;position:absolute;inset:0}.wedding-app .guest-hero-image:after{content:"";background:linear-gradient(#0000,#1c281866);position:absolute;inset:50% 0 0}.wedding-app .guest-photo-note{z-index:1;color:#fffdf6db;font-family:Georgia,serif;font-size:20px;font-style:italic;line-height:1.5;position:absolute;bottom:27px;left:27px;right:20px}.wedding-app .hero-heart{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff9;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:24px;left:25px}.wedding-app .guest-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:43px 31px;display:flex}.wedding-app .guest-welcome>.eyebrow{letter-spacing:1.5px;color:#a2ad91;justify-content:center;font-size:8px}.wedding-app .guest-welcome h1{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:100%;margin:13px 0 14px;font-size:52px;line-height:1.3;display:flex}.wedding-app .guest-welcome h1 em{color:#a1af8b;font-size:39px}.wedding-app .wedding-meta{color:#9ba68d;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:9px;line-height:1.8;display:flex}.wedding-app .wedding-meta i{background:#b3bda7;border-radius:50%;width:3px;height:3px}.wedding-app .welcome-message{color:#929d85;white-space:pre-line;max-width:330px;margin-top:22px;font-size:11px;line-height:2}.wedding-app .tiny-divider{color:#c1cbb3;align-items:center;gap:11px;margin:25px 0 21px;display:flex}.wedding-app .tiny-divider>span{background:#e2e8d8;width:34px;height:1px}.wedding-app .guest-welcome h2{color:#607750;max-width:100%;margin-bottom:18px;font-size:26px;line-height:1.45}.wedding-app .guest-welcome>p:not(.welcome-message):not(.no-app-note){color:#9aa68c;font-size:11px}.wedding-app .guest-upload-actions{flex-direction:column;gap:10px;width:100%;max-width:310px;display:flex}.wedding-app .guest-upload-actions .button{min-height:47px;font-size:12px}.wedding-app .guest-upload-actions .button.secondary{color:#7d8c69;background:#fffefa;border-color:#dde5d2}.wedding-app .no-app-note{color:#a6af9a;justify-content:center;align-items:flex-start;gap:5px;max-width:325px;margin-top:15px;font-size:8px;line-height:1.7;display:flex}.wedding-app .no-app-note>svg{width:12px;margin-top:1px}.wedding-app .guest-gallery{margin-top:52px}.wedding-app .guest-gallery-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;display:flex}.wedding-app .guest-gallery-title .eyebrow{letter-spacing:1.7px;color:#99aa83;font-size:7px}.wedding-app .guest-gallery-title h2{color:#526b41;align-items:center;gap:11px;margin:7px 0;font-size:33px;display:flex}.wedding-app .guest-gallery-title h2>span{font-family:var(--sans);color:#8fa475;background:#ecf2e2;border-radius:6px;justify-content:center;align-items:center;min-width:25px;min-height:24px;padding:2px 6px;font-size:10px;display:flex}.wedding-app .guest-gallery-title p{color:#a0aa93;font-size:10px}.wedding-app .gallery-refresh{background:#fff;border:1px solid #e2e9d8}.wedding-app .guest-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.wedding-app .guest-photo-grid .photo-tile{border-radius:9px;box-shadow:0 4px 15px #35432908}.wedding-app .guest-photo-grid .photo-tile:nth-child(3n+2){margin-top:25px;margin-bottom:-25px}.wedding-app .guest-photo-grid .photo-image{aspect-ratio:4/5}.wedding-app .sample-photo-label{color:#667956;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff9;border-radius:4px;padding:3px 6px;font-size:7px;position:absolute;bottom:9px;right:9px}.wedding-app .guest-empty{background:#fbfcf8;border:1px dashed #dce5ce;padding:55px 25px}.wedding-app .guest-empty h3{font-family:var(--serif);color:#7e9466;font-size:26px;font-weight:400;line-height:1.4}.wedding-app .guest-information{color:#a2b18e;justify-content:center;align-items:flex-start;gap:9px;max-width:550px;margin:65px auto 22px;display:flex}.wedding-app .guest-my-photos{max-width:1080px;margin:26px auto 0;padding:0 20px}.wedding-app .guest-my-photos-content{background:#fbfcf8;border:1px solid #e2e8d9;border-radius:20px;margin-top:16px;padding:20px}.wedding-app .guest-my-photos-content>p{color:#65725b;margin:0 0 14px;font-size:13px}.wedding-app .guest-my-photos-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;display:grid}.wedding-app .guest-my-photos-grid article{background:#fff;border:1px solid #e2e8d9;border-radius:12px;overflow:hidden}.wedding-app .guest-my-photos-grid img{object-fit:cover;width:100%;height:126px}.wedding-app .guest-my-photos-grid article>div{gap:3px;padding:9px;font-size:12px;display:grid}.wedding-app .guest-my-photos-grid small{color:#818b78;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wedding-app .admin-photo-select{z-index:4;background:#fff;border-radius:20px;align-items:center;gap:6px;min-width:36px;min-height:36px;padding:6px 10px;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 8px #0002}.wedding-app .admin-photo-select input{accent-color:#426d42;width:18px;height:18px}.wedding-home{color:#213527;background:#f8f8f3;grid-template-columns:minmax(0,1fr) minmax(440px,1fr);min-height:100dvh;display:grid}.wedding-home-cover{min-height:100dvh;overflow:hidden}.wedding-home-cover img{object-fit:cover;width:100%;height:100%}.wedding-home-body{flex-direction:column;justify-content:center;max-width:720px;padding:clamp(32px,6vw,90px);display:flex}.wedding-home-body h1{margin:12px 0;font-family:Georgia,serif;font-size:clamp(48px,6vw,96px);font-weight:400;line-height:1.05}.wedding-home-body h1 em{color:#9ab29a;font-weight:400}.wedding-home-body>p{color:#69786b;line-height:1.65}.wedding-home-services{gap:12px;margin:32px 0;display:grid}.wedding-home-services a{color:inherit;background:#fff;border:1px solid #dfe7db;border-radius:16px;grid-template-columns:36px 1fr;column-gap:12px;padding:18px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid}.wedding-home-services a:hover{transform:translateY(-2px);box-shadow:0 8px 24px #20372518}.wedding-home-services a svg{color:#56805a;grid-row:span 2;align-self:center}.wedding-home-services a strong{font-size:17px}.wedding-home-services a span{color:#758276;font-size:13px}.wedding-home-body>small{color:#879487;align-items:center;gap:7px;display:flex}.wedding-home-state{color:#415648;background:#f8f8f3;place-items:center;min-height:100dvh;display:grid}@media (width<=800px){.wedding-home{display:block}.wedding-home-cover{height:30dvh;min-height:0}.wedding-home-body{padding:28px 20px 50px}.wedding-home-body h1{font-size:clamp(42px,12vw,70px)}}.wedding-app .service-options{background:#fbfdf8;border:1px solid #dce7d6;border-radius:16px;margin-bottom:22px;padding:18px}.wedding-app .service-options h3{margin:0 0 6px}.wedding-app .service-options p{color:#647564;margin:0 0 15px;font-size:13px}.wedding-app .service-quiz-select{gap:7px;margin:15px 0;font-weight:600;display:grid}.wedding-app .service-quiz-select select{background:#fff;border:1px solid #ced9c9;border-radius:10px;width:100%;padding:11px 12px}.wedding-display,.wedding-display-empty,.wedding-display-quiz{color:#fff;background:#121813;border:0;width:100vw;height:100dvh;margin:0}.wedding-display{place-items:center;display:grid;position:relative;overflow:hidden}.wedding-display>img{object-fit:contain;width:100%;height:100%;animation:.7s both wedding-slide-in}.wedding-display-caption{background:linear-gradient(#0000,#101510dc);align-items:baseline;gap:20px;padding:35px 45px 22px;display:flex;position:absolute;bottom:0;left:0;right:0}.wedding-display-caption span{letter-spacing:.2em;font-size:11px}.wedding-display-caption strong{font-family:Georgia,serif;font-size:clamp(25px,3vw,52px);font-weight:400}.wedding-display-caption small{margin-left:auto}.wedding-display-empty{place-items:center;display:grid}@keyframes wedding-slide-in{0%{opacity:.25;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.wedding-display>img{animation:none}}.wedding-app .wedding-display-control{max-width:800px}.wedding-app .wedding-display-control>p{color:#6b796a;line-height:1.6}.wedding-app .wedding-display-control-actions{flex-wrap:wrap;gap:12px;margin:25px 0 15px;display:flex}.wedding-app .wedding-rehearsal{max-width:900px}.wedding-app .wedding-rehearsal>p{color:#687969;line-height:1.65}.wedding-app .wedding-rehearsal-list{gap:9px;margin:20px 0;display:grid}.wedding-app .wedding-rehearsal-list>div{background:#fbfdf8;border:1px solid #dfe8d9;border-radius:13px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.wedding-app .wedding-rehearsal-list>div>span,.wedding-app .wedding-rehearsal-list>div>svg{color:#4c8b55}.wedding-app .wedding-rehearsal-list small{color:#718072}.wedding-app .wedding-rehearsal-list a{color:#326b45;margin-left:auto}.wedding-app .guest-information>svg{margin-top:2px}.wedding-app .guest-information p{text-align:left;font-size:9px;line-height:1.9}.wedding-app .demo-footnote{text-align:center;color:#adb69f;max-width:550px;margin:0 auto;font-size:8px;line-height:1.8}.wedding-app .guest-footer{text-align:center;border-top:1px solid #e9eddf;flex-direction:column;align-items:center;gap:11px;margin-top:35px;padding:34px 20px 28px;display:flex}.wedding-app .guest-footer .brand{color:#9aad82;font-size:32px}.wedding-app .guest-footer .brand-mark{margin-right:-7px;transform:scale(.78)rotate(-15deg)}.wedding-app .guest-footer>p{font-family:var(--serif);color:#9dad88;font-size:19px}.wedding-app .guest-footer>button{color:#a4b08f;padding:4px;font-size:9px}.wedding-app .guest-footer-credit{color:#b1bba0;letter-spacing:.5px;font-size:7px}.wedding-app .help-formats{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.wedding-app .help-formats>span{color:#8ba070;border:1px solid #e1e8d6;border-radius:6px;padding:6px 12px;font-size:9px}.wedding-app .upload-dialog{padding:0 27px}.wedding-app .upload-dialog>.notice:first-child{margin-top:0}.wedding-app .guest-name-label{margin:5px 0 22px}.wedding-app .guest-name-label input{font-size:14px}.wedding-app .queue-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;display:flex}.wedding-app .queue-heading strong{color:#859573;font-size:10px;font-weight:500}.wedding-app .queue-heading .text-action{font-size:9px}.wedding-app .upload-queue{overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:9px;max-height:320px;overflow-y:auto}.wedding-app .queue-item{border-bottom:1px solid #edf1e5;align-items:center;gap:12px;padding:12px;display:flex}.wedding-app .queue-item:last-child{border:0}.wedding-app .queue-thumb{color:#a5b68c;background:#edf2e4;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:49px;display:flex;position:relative;overflow:hidden}.wedding-app .queue-thumb>img{object-fit:cover;width:100%;height:100%}.wedding-app .queue-thumb>span{color:#fff;background:#507a3e55;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.wedding-app .queue-info{flex:1;min-width:0}.wedding-app .queue-info strong{white-space:nowrap;text-overflow:ellipsis;color:#657a53;font-size:10px;font-weight:500;display:block;overflow:hidden}.wedding-app .queue-info>small{color:#a2af92;margin-top:5px;font-size:8px;display:block}.wedding-app .queue-item>.spin,.wedding-app .done-icon{color:#8ca76a;flex-shrink:0}.wedding-app .progress-track{background:#e8eddf;border-radius:8px;max-width:300px;height:4px;margin-top:9px;overflow:hidden}.wedding-app .progress-track>span{background:#9aaf7d;border-radius:8px;height:100%;transition:width .2s;display:block}.wedding-app .queue-error{color:#ba8467;margin-top:4px;font-size:8px;line-height:1.7;display:block}.wedding-app .queue-item.error{background:#fffaf5}.wedding-app .upload-note{color:#a0ad8f;max-width:470px;margin:17px 0;font-size:9px;line-height:1.9}.wedding-app .upload-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:18px 0 22px;display:flex}.wedding-app .upload-success{color:#789854;background:#f0f7e6;border:1px solid #e1edcf;border-radius:9px;align-items:flex-start;gap:13px;margin-bottom:20px;padding:16px;display:flex}.wedding-app .upload-success strong{font-size:12px;font-weight:500}.wedding-app .upload-success p{color:#95a780;margin-top:5px;font-size:10px;line-height:1.8}.wedding-app .spin{animation:.9s linear infinite wedding-spin}@keyframes wedding-spin{to{transform:rotate(360deg)}}@keyframes wedding-modal-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes wedding-toast-in{0%{opacity:0;margin-bottom:-6px}to{opacity:1;margin-bottom:0}}@media (width>=1600px){.wedding-app .workspace{padding-top:48px}.wedding-app .album-cover{height:260px}.wedding-app .new-album-card{min-height:416px}.wedding-app .how-strip{margin-top:40px;padding:30px 0}.wedding-app .page-intro h1{font-size:46px}.wedding-app .stats-row{margin-bottom:43px}.wedding-app .album-info{padding-top:24px}}@media (width<=1190px){.wedding-app .sidebar{width:211px;padding-left:17px;padding-right:17px}.wedding-app .sidebar-note{padding:15px}.wedding-app .dashboard-main{width:calc(100% - 211px);margin-left:211px}.wedding-app .topbar{padding:0 30px}.wedding-app .workspace{padding-left:30px;padding-right:30px}.wedding-app .page-intro h1{font-size:33px}.wedding-app .page-intro p{font-size:10px}.wedding-app .stat{gap:11px;padding:0 17px}.wedding-app .stat-icon{width:37px;height:37px}.wedding-app .stat-number{gap:7px;font-size:25px}.wedding-app .stat-number>span:not(.skeleton-number){font-size:9px}.wedding-app .stat small{font-size:8px}.wedding-app .mini-photo-stack>span{font-size:7px}.wedding-app .how-strip{gap:17px}.wedding-app .how-strip-title h2{font-size:21px}.wedding-app .how-step h3{font-size:9px}.wedding-app .how-step p{font-size:8px}.wedding-app .settings-columns{grid-template-columns:1fr}.wedding-app .settings-columns .panel{max-width:none}.wedding-app .settings-columns .form-row{gap:16px}.wedding-app .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wedding-app .guest-welcome h1{font-size:47px}}@media (width<=960px){.wedding-app .sidebar{width:185px;padding-left:13px;padding-right:13px}.wedding-app .sidebar>.brand-link{margin-left:11px}.wedding-app .sidebar-tagline{letter-spacing:1.3px;margin-left:11px;font-size:6.5px}.wedding-app .sidebar .brand{font-size:36px}.wedding-app .nav-item{gap:9px;padding-left:12px;padding-right:12px;font-size:10px}.wedding-app .nav-item>svg{width:17px}.wedding-app .sidebar-note h3{font-size:19px}.wedding-app .sidebar-note p{font-size:9px}.wedding-app .dashboard-main{width:calc(100% - 185px);margin-left:185px}.wedding-app .workspace{padding-left:24px;padding-right:24px}.wedding-app .topbar{padding:0 24px}.wedding-app .page-intro{align-items:flex-start;gap:15px}.wedding-app .page-intro h1{max-width:400px;font-size:31px}.wedding-app .page-intro>.button{gap:6px;min-height:40px;margin-top:29px;padding:10px 13px;font-size:10px}.wedding-app .stat{gap:9px;padding:0 14px}.wedding-app .stat-icon{background:0 0;width:30px;height:35px}.wedding-app .stat-icon>svg{width:21px}.wedding-app .stat-number{line-height:1.1;display:block}.wedding-app .stat-number>span:not(.skeleton-number){margin-top:5px;font-size:8px;display:block}.wedding-app .stat small{margin-top:5px;font-size:7px}.wedding-app .stats-row{padding:17px 0}.wedding-app .album-cover{height:185px}.wedding-app .album-info{padding-left:18px;padding-right:18px}.wedding-app .album-info h3{font-size:26px}.wedding-app .album-date{font-size:8px}.wedding-app .mini-photo-stack>span{display:none}.wedding-app .new-album-card{min-height:342px}.wedding-app .new-album-card h3{font-size:22px}.wedding-app .new-album-card p{font-size:9px}.wedding-app .album-grid{gap:17px}.wedding-app .section-heading h2{font-size:23px}.wedding-app .filters button{padding:5px 10px;font-size:9px}.wedding-app .how-strip{grid-template-columns:1.2fr 1fr 1fr;gap:15px}.wedding-app .how-strip-title{grid-column:1/-1;align-items:center;gap:20px;display:flex}.wedding-app .how-strip-title .eyebrow{display:none}.wedding-app .how-strip-title h2{margin:0 auto 10px 0;font-size:20px}.wedding-app .how-strip-title h2 br{display:none}.wedding-app .how-strip-title .text-action,.wedding-app .how-step p{font-size:8px}.wedding-app .how-step h3{font-size:9px}.wedding-app .event-heading{flex-wrap:wrap;gap:16px}.wedding-app .event-heading>img{width:70px;height:70px}.wedding-app .event-heading h1{font-size:34px}.wedding-app .event-heading>.button{margin-left:86px;font-size:10px}.wedding-app .help-layout{grid-template-columns:1fr}.wedding-app .guest-main{padding:0 24px}.wedding-app .guest-header{padding:0 26px}.wedding-app .guest-welcome{padding:30px 25px}.wedding-app .guest-welcome h1{gap:8px;font-size:42px}.wedding-app .guest-welcome h1 em{font-size:31px}.wedding-app .guest-welcome>.eyebrow{letter-spacing:1px;font-size:7px}.wedding-app .guest-hero,.wedding-app .guest-hero-image{min-height:490px}.wedding-app .welcome-message{font-size:10px}.wedding-app .guest-photo-note{font-size:17px}.wedding-app .guest-welcome h2{font-size:24px}.wedding-app .wedding-meta{gap:7px;font-size:8px}.wedding-app .guest-upload-actions .button{font-size:11px}}@media (width<=760px){.wedding-app .sidebar{width:238px;padding:27px 21px 18px;transition:transform .22s;transform:translate(-100%)}.wedding-app .sidebar.open{transform:translate(0)}.wedding-app .sidebar-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:29;background:#12201666;position:fixed;inset:0}.wedding-app .sidebar>.brand-link{margin-left:17px}.wedding-app .sidebar .brand{font-size:40px}.wedding-app .sidebar-tagline{letter-spacing:1.6px;margin-left:17px;font-size:7.5px}.wedding-app .nav-item{gap:13px;padding:13px 14px;font-size:12px}.wedding-app .nav-item>svg{width:19px}.wedding-app .sidebar-note h3{font-size:22px}.wedding-app .sidebar-note p{font-size:10px}.wedding-app .dashboard-main{width:100%;margin-left:0}.wedding-app .mobile-menu{margin-left:-9px;display:flex}.wedding-app .topbar{height:65px;padding:0 25px}.wedding-app .breadcrumb{gap:10px;font-size:9px}.wedding-app .topbar-demo{font-size:8px}.wedding-app .topbar-actions{gap:16px}.wedding-app .workspace{padding:30px 25px 0}.wedding-app .page-intro h1{max-width:480px;font-size:34px}.wedding-app .page-intro p{max-width:420px;font-size:10px}.wedding-app .page-intro>.button{font-size:11px}.wedding-app .stats-row{margin-bottom:30px}.wedding-app .stat-number{gap:8px;font-size:29px;display:flex}.wedding-app .stat-number>span:not(.skeleton-number){max-width:85px;font-size:8px;line-height:1.6}.wedding-app .stat small{font-size:7px}.wedding-app .stat-icon{width:29px}.wedding-app .album-cover{height:215px}.wedding-app .new-album-card{min-height:365px}.wedding-app .album-info h3{font-size:29px}.wedding-app .album-date{font-size:8px}.wedding-app .mini-photo-stack>span{max-width:115px;font-size:6.5px;line-height:1.5;display:inline}.wedding-app .how-strip{gap:20px;padding:23px 0}.wedding-app .how-step h3{font-size:10px}.wedding-app .how-step p{font-size:9px}.wedding-app .how-strip-title h2{font-size:23px}.wedding-app .how-strip-title .text-action{font-size:9px}.wedding-app .quiet-note{font-size:8px}.wedding-app .toast{left:50%}.wedding-app .event-heading>.button{margin-left:0}.wedding-app .event-tabs{gap:25px}.wedding-app .guest-header{height:72px}.wedding-app .guest-main{margin-top:22px;padding:0 21px}.wedding-app .guest-hero{grid-template-columns:1fr;max-width:560px;min-height:0;margin:0 auto}.wedding-app .guest-hero-image{height:290px;min-height:290px}.wedding-app .guest-hero-image>img{object-position:50% 40%}.wedding-app .guest-photo-note{font-size:22px;bottom:20px;left:25px}.wedding-app .guest-welcome{padding:34px 28px 32px}.wedding-app .guest-welcome>.eyebrow{letter-spacing:1.35px;font-size:8px}.wedding-app .guest-welcome h1{margin:15px 0;font-size:56px}.wedding-app .guest-welcome h1 em{font-size:40px}.wedding-app .wedding-meta{gap:10px;font-size:10px}.wedding-app .welcome-message{max-width:370px;font-size:12px}.wedding-app .guest-welcome h2{font-size:29px}.wedding-app .guest-upload-actions{flex-direction:row;max-width:none}.wedding-app .guest-upload-actions .button{flex:1;gap:8px;min-height:49px;padding:12px 10px;font-size:11px}.wedding-app .no-app-note{font-size:9px}.wedding-app .guest-gallery{margin-top:38px}.wedding-app .guest-photo-grid{gap:10px}.wedding-app .guest-gallery-title h2{font-size:31px}.wedding-app .guest-gallery-title p{font-size:9px}.wedding-app .guest-information{margin-top:58px}.wedding-app .help-layout{gap:30px}.wedding-app .photo-grid.admin-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wedding-app .modal{max-height:calc(100dvh - 30px)}.wedding-app .modal-backdrop{padding:15px}.wedding-app .modal-head h2{font-size:27px}.wedding-app .form-row{gap:14px}}@media (width<=540px){.wedding-app{font-size:13px}.wedding-app .topbar{height:62px;padding:0 19px}.wedding-app .topbar-demo{display:none}.wedding-app .breadcrumb{gap:8px}.wedding-app .workspace{padding:25px 19px 0}.wedding-app .page-intro{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:24px}.wedding-app .page-intro .eyebrow{letter-spacing:1.3px;font-size:7px}.wedding-app .page-intro h1{margin:9px 0 10px;font-size:35px;line-height:1.25}.wedding-app .page-intro h1 em{display:block}.wedding-app .page-intro p{max-width:335px;font-size:10px;line-height:1.9}.wedding-app .page-intro>.button{gap:8px;min-height:42px;margin-top:0;padding:10px 16px;font-size:11px}.wedding-app .stats-row{border-radius:9px;margin-bottom:29px;padding:16px 0}.wedding-app .stat{flex-direction:column;align-items:flex-start;gap:6px;padding:0 12px}.wedding-app .stat-icon{width:22px;height:22px}.wedding-app .stat-icon>svg{width:18px;height:18px}.wedding-app .stat-number{align-items:center;gap:6px;font-size:27px;display:flex}.wedding-app .stat-number>span:not(.skeleton-number){max-width:64px;margin-top:0;font-size:7.5px;line-height:1.4}.wedding-app .stat small{max-width:84px;margin-top:4px;font-size:6px;line-height:1.7}.wedding-app .section-heading{align-items:flex-end;gap:8px;margin-bottom:17px}.wedding-app .section-heading h2{gap:8px;font-size:25px}.wedding-app .count-label{width:19px;min-width:19px;height:19px;font-size:8px}.wedding-app .section-heading p{max-width:170px;margin-top:6px;font-size:8px;line-height:1.8}.wedding-app .filters{gap:1px;padding:3px}.wedding-app .filters button{min-height:26px;padding:4px 9px;font-size:8px}.wedding-app .album-grid{grid-template-columns:1fr;gap:17px}.wedding-app .album-cover{height:230px}.wedding-app .album-info{padding:22px 22px 0}.wedding-app .album-info h3{font-size:32px}.wedding-app .album-date{gap:7px;margin-top:10px;font-size:9px}.wedding-app .album-footer{margin-top:20px;padding:15px 0;font-size:10px}.wedding-app .mini-photo-stack>span{max-width:none;font-size:8px}.wedding-app .mini-photo-stack img{width:26px;height:26px}.wedding-app .new-album-card{min-height:258px;padding:26px 18px}.wedding-app .new-album-icon{width:45px;height:45px;margin-bottom:18px;box-shadow:0 0 0 6px #f4f7ee}.wedding-app .new-album-card h3{font-size:26px}.wedding-app .new-album-card p{margin-top:8px;margin-bottom:17px;font-size:10px}.wedding-app .new-album-card .text-action{font-size:10px}.wedding-app .how-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;padding:24px 0}.wedding-app .how-strip-title{display:block}.wedding-app .how-strip-title h2{margin-bottom:11px;font-size:25px}.wedding-app .how-strip-title h2 br{display:block}.wedding-app .how-strip-title .text-action{font-size:9px}.wedding-app .how-step small{font-size:15px;right:3px}.wedding-app .how-step h3{max-width:90px;font-size:8px;line-height:1.8}.wedding-app .how-step p{font-size:7px;line-height:1.9}.wedding-app .step-icon{margin-bottom:13px}.wedding-app .step-icon svg{width:21px}.wedding-app .quiet-note{text-align:center;align-items:flex-start;padding-top:19px;font-size:7px;line-height:1.8}.wedding-app .quiet-note>svg{width:15px;margin-top:3px}.wedding-app .dashboard-footer{align-items:flex-end;gap:8px;padding-top:17px}.wedding-app .dashboard-footer>span:first-child{font-size:22px;line-height:1;display:block}.wedding-app .dashboard-footer>span:first-child>span{margin-top:6px;font-size:7px;line-height:1.8;display:block}.wedding-app .dashboard-footer>span:last-child{font-size:6.5px}.wedding-app .event-heading{gap:14px;margin-bottom:25px}.wedding-app .event-heading>img{width:62px;height:74px}.wedding-app .event-heading .eyebrow{letter-spacing:1.3px;font-size:7px}.wedding-app .event-heading h1{font-size:31px;line-height:1.25}.wedding-app .event-heading p{font-size:8px}.wedding-app .event-heading>.button{width:100%;margin-top:4px;font-size:10px}.wedding-app .back-link{margin-bottom:20px}.wedding-app .event-tabs{gap:20px;margin-bottom:23px}.wedding-app .event-tabs>button{gap:6px;padding-bottom:13px;font-size:9px}.wedding-app .event-tabs>button>svg{width:15px}.wedding-app .event-tabs>button>span{min-width:18px;font-size:8px}.wedding-app .gallery-toolbar{align-items:center;gap:8px}.wedding-app .gallery-toolbar .filters{flex:1;width:max-content;max-width:240px}.wedding-app .gallery-toolbar .filters button{padding:5px 8px;font-size:8px}.wedding-app .gallery-toolbar .inline-actions{gap:4px}.wedding-app .gallery-toolbar .button{gap:5px;padding:8px;font-size:8px}.wedding-app .gallery-toolbar .icon-button{width:29px;padding:5px}.wedding-app .gallery-toolbar .button>svg{width:13px}.wedding-app .photo-grid.admin-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wedding-app .empty-state{gap:12px;padding:45px 20px}.wedding-app .empty-state h2{font-size:27px}.wedding-app .empty-state p{font-size:10px}.wedding-app .empty-state .inline-actions{gap:8px}.wedding-app .empty-state .button{padding:9px 12px;font-size:9px}.wedding-app .panel{padding:22px 18px}.wedding-app .panel-title h2{font-size:25px}.wedding-app .settings-columns{gap:17px}.wedding-app .settings-save{flex-direction:column;align-items:stretch;gap:14px}.wedding-app .settings-save>span{text-align:center;font-size:9px}.wedding-app .settings-save>.button{width:100%}.wedding-app .form-row{gap:12px}.wedding-app .form-row label{font-size:10px}.wedding-app .form-row label small{margin:3px 0 0;display:block}.wedding-app .form-row input{margin-top:7px;font-size:14px}.wedding-app .form-row input[type=date]{font-size:13px}.wedding-app .form-row input::placeholder{font-size:9px}.wedding-app input:not([type=checkbox]):not([type=file]),.wedding-app textarea,.wedding-app select{min-height:46px;font-size:16px}.wedding-app input::placeholder,.wedding-app textarea::placeholder{font-size:11px}.wedding-app .modal-backdrop{padding:12px}.wedding-app .modal{border-radius:13px;max-height:calc(100dvh - 24px)}.wedding-app .modal-head{border-radius:13px 13px 0 0;align-items:flex-start;padding:20px 20px 16px}.wedding-app .modal-head h2{max-width:300px;font-size:27px;line-height:1.3}.wedding-app .modal-head .icon-button{margin-top:-3px;margin-right:-7px}.wedding-app .event-form{padding:0 20px}.wedding-app .form-intro{margin-bottom:20px;font-size:10px}.wedding-app .form-footer{flex-direction:column-reverse;align-items:stretch;gap:14px;margin-top:22px;padding:17px 0}.wedding-app .form-footer>span{justify-content:center;font-size:9px}.wedding-app .form-footer .button{width:100%;min-height:46px;font-size:12px}.wedding-app .modal-body{padding:0 20px 23px}.wedding-app .modal-body>p{font-size:11px}.wedding-app .cover-picker legend{font-size:10px}.wedding-app .cover-picker legend small{font-size:8px}.wedding-app .cover-picker button{height:61px}.wedding-app .toast{width:max-content;padding:13px 15px;font-size:10px;bottom:16px}.wedding-app .notice{gap:7px;padding:11px 12px;font-size:10px}.wedding-app .lightbox-image{height:55vh}.wedding-app .lightbox-caption{padding:14px;font-size:10px}.wedding-app .lightbox-caption .button{gap:6px;padding:8px;font-size:9px}.wedding-app .guest-header{height:67px;padding:0 22px}.wedding-app .guest-header .brand{font-size:34px}.wedding-app .guest-header>div{gap:13px}.wedding-app .guest-back{font-size:8px}.wedding-app .guest-back svg{width:13px}.wedding-app .language-button{gap:5px;padding:7px 0 7px 7px;font-size:10px}.wedding-app .language-globe{font-size:17px}.wedding-app .demo-banner{justify-content:space-between;gap:25px;padding:9px 18px;font-size:8px}.wedding-app .guest-main{margin-top:16px;padding:0 17px}.wedding-app .guest-hero{border-radius:10px}.wedding-app .guest-hero-image{height:237px;min-height:237px}.wedding-app .guest-hero-image>img{object-position:50% 40%}.wedding-app .hero-heart{width:32px;height:32px;top:18px;left:18px}.wedding-app .hero-heart>svg{width:18px}.wedding-app .guest-photo-note{font-size:18px;bottom:18px;left:20px}.wedding-app .guest-welcome{padding:28px 21px 27px}.wedding-app .guest-welcome>.eyebrow{letter-spacing:1.2px;font-size:6.5px}.wedding-app .guest-welcome h1{gap:8px;margin:15px 0 12px;font-size:49px}.wedding-app .guest-welcome h1 em{font-size:34px}.wedding-app .wedding-meta{gap:8px;font-size:8px}.wedding-app .welcome-message{max-width:310px;margin-top:20px;font-size:10px;line-height:2}.wedding-app .tiny-divider{margin:21px 0 18px}.wedding-app .guest-welcome h2{margin-bottom:17px;font-size:27px}.wedding-app .guest-upload-actions{flex-direction:column;gap:10px;max-width:100%}.wedding-app .guest-upload-actions .button{gap:10px;min-height:49px;padding:12px 10px;font-size:12px}.wedding-app .no-app-note{gap:5px;max-width:290px;margin-top:12px;font-size:7.5px}.wedding-app .no-app-note>svg{width:11px}.wedding-app .guest-gallery{margin-top:33px}.wedding-app .guest-gallery-title{margin-bottom:20px}.wedding-app .guest-gallery-title .eyebrow{letter-spacing:1.4px;font-size:6px}.wedding-app .guest-gallery-title h2{gap:10px;margin:6px 0;font-size:30px}.wedding-app .guest-gallery-title h2>span{min-width:23px;min-height:22px;font-size:9px}.wedding-app .guest-gallery-title p{max-width:245px;font-size:8px;line-height:1.9}.wedding-app .guest-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wedding-app .guest-photo-grid .photo-tile:nth-child(3n+2){margin:0}.wedding-app .guest-photo-grid .photo-tile:nth-child(2n){margin-top:18px;margin-bottom:-18px}.wedding-app .guest-photo-grid .photo-image{aspect-ratio:3/4}.wedding-app .sample-photo-label{padding:3px 5px;font-size:6px;bottom:7px;right:7px}.wedding-app .guest-information{gap:7px;margin:53px auto 18px;padding:0 10px}.wedding-app .guest-information p{font-size:8px}.wedding-app .guest-information>svg{width:16px}.wedding-app .demo-footnote{padding:0 10px;font-size:7px}.wedding-app .guest-footer{gap:9px;margin-top:25px;padding:27px 20px}.wedding-app .guest-footer>p{font-size:18px}.wedding-app .guest-footer>button{font-size:9px}.wedding-app .guest-footer-credit{font-size:6px}.wedding-app .guest-empty{padding:40px 19px}.wedding-app .guest-empty h3{font-size:24px}.wedding-app .guest-empty p{font-size:10px}.wedding-app .guest-empty .button{min-height:44px;font-size:11px}.wedding-app .upload-dialog{padding:0 20px}.wedding-app .guest-name-label input{font-size:16px}.wedding-app .queue-heading{gap:8px}.wedding-app .queue-heading strong{font-size:9px}.wedding-app .queue-heading .text-action{gap:4px;font-size:8px}.wedding-app .upload-queue{max-height:290px}.wedding-app .queue-item{gap:9px;padding:10px}.wedding-app .queue-thumb{width:40px;height:46px}.wedding-app .queue-info strong{font-size:9px}.wedding-app .queue-info>small{font-size:8px}.wedding-app .upload-footer{gap:10px;padding:16px 0 20px}.wedding-app .upload-footer .button{white-space:normal;gap:7px;min-height:45px;padding:9px 14px;font-size:10px;line-height:1.6}.wedding-app .upload-note{font-size:8px;line-height:1.9}.wedding-app .upload-success{gap:10px;padding:13px}.wedding-app .upload-success strong{font-size:11px}.wedding-app .upload-success p{font-size:9px}.wedding-app .help-steps>h2,.wedding-app .help-faq>h2{font-size:28px}.wedding-app .help-step p{font-size:10px}.wedding-app .help-faq summary,.wedding-app .help-faq details p{font-size:11px}}@media (width<=360px){.wedding-app .workspace{padding-left:15px;padding-right:15px}.wedding-app .page-intro h1{font-size:32px}.wedding-app .stat{padding:0 9px}.wedding-app .stat-number{gap:5px;font-size:24px}.wedding-app .stat-number>span:not(.skeleton-number){font-size:6.5px}.wedding-app .section-heading h2{font-size:23px}.wedding-app .filters button{padding:4px 7px;font-size:7px}.wedding-app .guest-main{padding:0 12px}.wedding-app .guest-welcome{padding:27px 17px}.wedding-app .guest-welcome h1{font-size:43px}.wedding-app .guest-welcome h1 em{font-size:31px}.wedding-app .guest-hero-image{height:214px;min-height:214px}.wedding-app .guest-back span{display:none}.wedding-app .modal-backdrop{padding:8px}.wedding-app .modal-head{padding-left:17px;padding-right:17px}.wedding-app .modal-head h2{font-size:25px}.wedding-app .event-form,.wedding-app .upload-dialog{padding-left:17px;padding-right:17px}.wedding-app .form-row{gap:9px}.wedding-app .form-row input{font-size:12px}.wedding-app .cover-picker legend small{margin:4px 0 0;display:block}.wedding-app .gallery-toolbar{flex-wrap:wrap}.wedding-app .event-tabs{gap:15px}.wedding-app .event-tabs>button{font-size:8px}}@media (prefers-reduced-motion:reduce){.wedding-app{scroll-behavior:auto}.wedding-app *,.wedding-app :before,.wedding-app :after{transition:none!important;animation:none!important}.wedding-app .spin{opacity:.7}}.wedding-app .demo-album .album-cover>img{object-position:50% 28%}@media (width>=761px){.wedding-app .page-intro p,.wedding-app .nav-item{font-size:12px}.wedding-app .topbar-demo{font-size:10px}.wedding-app .stat-number>span:not(.skeleton-number){font-size:11px}.wedding-app .stat small,.wedding-app .section-heading p,.wedding-app .album-date,.wedding-app .album-footer{font-size:10px}.wedding-app .mini-photo-stack>span{font-size:9px}.wedding-app .new-album-card p,.wedding-app .new-album-card .text-action,.wedding-app .how-step h3{font-size:11px}.wedding-app .how-step p{font-size:10px}.wedding-app .quiet-note,.wedding-app .dashboard-footer>span:first-child>span,.wedding-app .dashboard-footer>span:last-child{font-size:9px}}@media (width<=540px){.wedding-app .guest-hero-image{height:190px;min-height:190px}.wedding-app .guest-hero-image>img{object-position:50% 27%}.wedding-app .guest-welcome{padding:24px 21px}.wedding-app .guest-welcome h1{gap:6px;margin:12px 0;font-size:40px;line-height:1.2}.wedding-app .guest-welcome h1 em{font-size:29px}.wedding-app .guest-welcome>.eyebrow{letter-spacing:.9px;font-size:7px}.wedding-app .wedding-meta{font-size:10px}.wedding-app .welcome-message{margin-top:16px;font-size:11px;line-height:1.9}.wedding-app .tiny-divider{margin:16px 0 12px}.wedding-app .guest-welcome h2{margin-bottom:15px;font-size:25px}.wedding-app .guest-upload-actions .button{min-height:48px;font-size:13px}.wedding-app .no-app-note{max-width:290px;font-size:8.5px}.wedding-app .guest-gallery-title p{max-width:265px;font-size:10px}.wedding-app .guest-gallery-title .eyebrow{font-size:7px}.wedding-app .guest-information p{font-size:10px}.wedding-app .guest-footer>button{font-size:11px}.wedding-app .demo-footnote,.wedding-app .guest-back,.wedding-app .demo-banner{font-size:9px}}@media (width<=360px){.wedding-app .guest-hero-image{height:170px;min-height:170px}.wedding-app .guest-welcome{padding:23px 16px}.wedding-app .guest-welcome h1{font-size:35px}.wedding-app .guest-welcome h1 em{font-size:25px}.wedding-app .wedding-meta{font-size:9px}.wedding-app .guest-welcome h2{font-size:24px}}.wedding-app{--muted:#6f7965}.wedding-app .page-intro p,.wedding-app .section-heading p,.wedding-app .stat small,.wedding-app .album-date,.wedding-app .new-album-card p,.wedding-app .how-step p,.wedding-app .sidebar-note p,.wedding-app .mini-photo-stack>span{color:#727b69}.wedding-app .welcome-message,.wedding-app .wedding-meta,.wedding-app .no-app-note,.wedding-app .guest-gallery-title p,.wedding-app .guest-information,.wedding-app .demo-footnote,.wedding-app .guest-footer>button{color:#6e795f}.wedding-app .guest-upload-actions .button.secondary{color:#65784c}.wedding-app .guest-empty p,.wedding-app .empty-state p,.wedding-app .upload-note,.wedding-app .queue-info>small,.wedding-app .guest-name-label>small{color:#778467}@media (width<=540px){.wedding-app .welcome-message{font-size:12px}.wedding-app .wedding-meta{font-size:10px}.wedding-app .no-app-note{font-size:9px}.wedding-app .guest-gallery-title p{font-size:11px}.wedding-app .guest-information p,.wedding-app .upload-note{font-size:10px}.wedding-app .queue-info strong{font-size:11px}.wedding-app .queue-info>small{font-size:10px}.wedding-app .guest-name-label{font-size:12px}.wedding-app .guest-name-label>small{font-size:10px}}.wedding-app{min-width:0}.wedding-studio-app{background:#f8f9f5;border:1px solid #e3e6dd;border-radius:24px;padding:clamp(17px,2.5vw,32px)}.wedding-app .wedding-dashboard{min-height:40rem}.wedding-app .wedding-dashboard .dashboard-main{width:100%;min-width:0;margin-left:0}.wedding-app .wedding-dashboard .workspace{max-width:none;min-height:0;padding:27px 0 0}.wedding-app .event-open .wedding-native-toolbar{display:none}.wedding-app .event-open .workspace{padding-top:0}.wedding-app .event-open .back-link{margin-bottom:16px}.wedding-app .event-open .event-heading{margin-bottom:18px}@media (width>=1100px){.wedding-app .wedding-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wedding-app .wedding-activity-card{padding:18px}.wedding-app .activity-card-actions{gap:8px}}.wedding-app .wedding-dashboard .page-intro{margin-top:0}.wedding-app .wedding-native-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-bottom:18px;display:flex}.wedding-app .wedding-native-toolbar nav{flex-wrap:wrap;gap:6px;display:flex}.wedding-app .wedding-native-toolbar button{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:22px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;display:inline-flex}.wedding-app .wedding-native-toolbar button:hover{color:var(--ink);background:#f3f5ee}.wedding-app .wedding-native-toolbar button.active{color:#405332;background:#edf2e5;border-color:#dce3d1}.wedding-app .wedding-native-toolbar>a{min-height:40px;color:var(--olive);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.wedding-app .download-parts .button{white-space:normal;text-align:left;justify-content:flex-start}@media (width<=650px){.wedding-app .wedding-native-toolbar{gap:5px}.wedding-app .wedding-native-toolbar button{padding:9px 11px;font-size:11px}.wedding-app .wedding-native-toolbar>a{margin-left:11px}.wedding-app .wedding-dashboard .section-heading{flex-direction:column;align-items:flex-start;gap:15px}.wedding-app .wedding-dashboard .section-heading>div{width:100%}.wedding-app .wedding-dashboard .section-heading .filters{width:auto}.wedding-app .wedding-dashboard .section-heading h2{white-space:normal}.wedding-app .stats-row{grid-template-columns:1fr}.wedding-app .stat{border-right:0;border-bottom:1px solid var(--line);padding:15px 0}.wedding-app .stat:last-child{border-bottom:0}}.wedding-app .modal.photo-lightbox{grid-template-rows:auto minmax(0,1fr) auto;height:min(900px,100dvh - 32px);max-height:calc(100dvh - 32px);display:grid;overflow:hidden}.wedding-app .photo-lightbox .lightbox-image{height:auto;min-height:0}.wedding-app .photo-lightbox .lightbox-caption>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wedding-app .photo-lightbox .lightbox-caption>.button{flex-shrink:0}@media (width<=540px){.wedding-app .modal.photo-lightbox{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}@media (width<=540px) and (height<=680px){.wedding-app .guest-header{height:54px}.wedding-app .guest-main{margin-top:8px;padding:0 10px}.wedding-app .guest-hero-image{height:clamp(104px,23dvh,140px);min-height:104px}.wedding-app .guest-photo-note,.wedding-app .tiny-divider{display:none}.wedding-app .guest-welcome{padding:12px 16px 14px}.wedding-app .guest-welcome h1{margin:5px 0;font-size:clamp(28px,9vw,36px)}.wedding-app .welcome-message{margin-top:7px;line-height:1.45}.wedding-app .guest-welcome h2{margin:10px 0;font-size:20px}.wedding-app .guest-upload-actions{gap:6px}.wedding-app .guest-upload-actions .button{min-height:40px;padding:8px}.wedding-app .no-app-note{margin-top:7px;line-height:1.35}}.wedding-app .wedding-activity-card.music{--activity:#496e5d;--activity-bg:#e6f0e9}.wedding-app .wedding-activity-card.website{--activity:#8b6d3e;--activity-bg:#f0e5cf}@media (width>=1100px){.wedding-app .wedding-activities .wedding-activity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.wedding-app .wedding-activities .wedding-activity-card{padding:18px}.wedding-app .wedding-activities .activity-card-actions{gap:6px}.wedding-app .wedding-activities .activity-card-actions>.button{padding:10px;font-size:12px}}@media (width<=650px){.wedding-app .event-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.wedding-app .event-tabs>button{white-space:normal;text-align:center;justify-content:center;min-height:45px;padding:6px 3px;font-size:10px}}
