*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #0d0c0b;--ink-2: #1c1a18;--ink-3: #2e2b27;--muted: #6b6560;--sand: #c9b99a;--gold: #d4a853;--gold-dim: #9e7b3a;--cream: #f5f0e8;--white: #fefefe;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--gap: clamp(12px, 2vw, 24px);--radius: 4px;--radius-lg: 8px;--ease: cubic-bezier(.25, .46, .45, .94);--bg: var(--ink);--text: var(--cream);--border: var(--ink-3);--surface: var(--ink-2)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--ink);color:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.full-screen-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--ink)}.spinner{width:36px;height:36px;border:2px solid var(--ink-3);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--ink-2) 25%,var(--ink-3) 50%,var(--ink-2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius)}@keyframes shimmer{to{background-position:-200% 0}}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:all .2s var(--ease)}.btn-gold{background:var(--gold);color:var(--ink)}.btn-gold:hover{background:#e8bd6a;transform:translateY(-1px);box-shadow:0 4px 20px #d4a85359}.btn-outline{border:1px solid var(--muted);color:var(--cream)}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{color:var(--cream)}.btn-whatsapp{background:#25d366;color:#fff}.btn-whatsapp:hover{background:#1ebe5d;transform:translateY(-1px);box-shadow:0 4px 20px #25d3664d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.whatsapp-fab-wrap{position:fixed;bottom:28px;right:28px;z-index:100;display:flex;align-items:center;gap:10px;animation:fab-pop .4s var(--ease) 1s both}.whatsapp-fab-label{background:var(--ink-2);color:var(--cream);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:20px;border:1px solid rgba(37,211,102,.35);box-shadow:0 2px 12px #0006;white-space:nowrap;pointer-events:none}.whatsapp-fab{width:58px;height:58px;flex-shrink:0;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #25d36673;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.whatsapp-fab:hover{transform:scale(1.1);box-shadow:0 6px 32px #25d3668c}.whatsapp-fab svg{width:28px;height:28px}.share-fab{width:50px;height:50px;flex-shrink:0;background:var(--ink-2);color:var(--sand);border-radius:50%;border:1px solid var(--ink-3);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006;transition:transform .2s var(--ease),color .2s,border-color .2s}.share-fab:hover{transform:scale(1.1);color:var(--gold);border-color:var(--gold-dim)}@keyframes fab-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.gallery-header{padding:clamp(40px,8vw,80px) var(--gap) clamp(32px,6vw,60px);text-align:center;border-bottom:1px solid var(--ink-3);position:relative;overflow:hidden}.gallery-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(212,168,83,.06) 0%,transparent 70%);pointer-events:none}.gallery-header .brand{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}.gallery-header h1{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:300;font-style:italic;line-height:1.1;color:var(--white);margin-bottom:12px}.gallery-header .subtitle{font-size:13px;color:var(--muted);letter-spacing:.05em}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);align-items:start;padding:var(--gap);max-width:1400px;margin:0 auto}@media (max-width: 900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.gallery-grid{grid-template-columns:1fr}}.justified-grid{display:flex;flex-direction:column;padding:var(--gap);max-width:1400px;margin:0 auto}.justified-row{display:flex;width:100%}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius);cursor:pointer;background:var(--ink-2);flex-shrink:0}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s var(--ease),filter .3s;filter:brightness(.95)}.gallery-item:hover img{transform:scale(1.04);filter:brightness(1.05)}.gallery-item .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(13,12,11,.5) 0%,transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:16px}.gallery-item:hover .overlay{opacity:1}.gallery-item .overlay-text{font-family:var(--font-body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream)}.gallery-item.skeleton-item{min-height:220px;cursor:default}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0d0c0bf2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;max-width:min(90vw,1200px);max-height:92vh;display:flex;flex-direction:column;gap:10px;animation:modal-up .3s var(--ease);overflow-y:auto;overscroll-behavior:contain}@keyframes modal-up{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}.modal-img-wrap{position:relative;display:flex;align-self:center;border-radius:var(--radius);overflow:hidden}.modal-img-wrap img{max-height:72vh;object-fit:contain;display:block;box-shadow:0 24px 80px #0009}@keyframes swipe-hint{0%,to{transform:translate(0)}25%{transform:translate(-16px)}52%{transform:translate(6px)}74%{transform:translate(-3px)}}.modal-img-wrap.swipe-hint img{animation:swipe-hint .95s ease-in-out 1}.modal-filmstrip{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;max-width:100%;align-self:center}.modal-filmstrip::-webkit-scrollbar{height:5px}.modal-filmstrip::-webkit-scrollbar-track{background:transparent}.modal-filmstrip::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:3px}.filmstrip-thumb{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius);overflow:hidden;scroll-snap-align:center;opacity:.5;outline:2px solid transparent;outline-offset:-2px;transition:opacity .2s,outline-color .2s,transform .2s var(--ease)}.filmstrip-thumb img{width:100%;height:100%;object-fit:cover;display:block}.filmstrip-thumb:hover{opacity:.8}.filmstrip-thumb.active{opacity:1;outline-color:var(--gold);transform:scale(1.06)}@media (max-width: 700px){.filmstrip-thumb{width:46px;height:46px}}.modal-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:210;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:var(--cream);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-nav:hover{background:#ffffff26}.modal-nav.prev{left:24px}.modal-nav.next{right:24px}@media (max-width: 700px){.modal-nav.prev{left:4px}.modal-nav.next{right:4px}}.modal-close{position:fixed;top:20px;right:24px;z-index:210;color:var(--muted);font-size:28px;line-height:1;padding:8px;border-radius:50%;transition:color .2s}.modal-close:hover{color:var(--cream)}.modal-cta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;padding:10px 20px;background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--radius-lg);text-align:center}.modal-cta p{font-family:var(--font-display);font-size:1.05rem;font-style:italic;color:var(--cream);margin:0}.modal-cta .subtext{font-size:11px;color:var(--muted);font-style:normal;font-family:var(--font-body)}@media (max-width: 500px){.modal-cta .subtext{display:none}}.cta-section{padding:clamp(60px,10vw,100px) var(--gap);text-align:center;border-top:1px solid var(--ink-3);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 100%,rgba(212,168,83,.06) 0%,transparent 60%);pointer-events:none}.cta-section h2{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;font-style:italic;color:var(--white);margin-bottom:16px}.cta-section p{font-size:15px;color:var(--muted);max-width:480px;margin:0 auto 36px}.gallery-footer{padding:32px var(--gap);text-align:center;border-top:1px solid var(--ink-3);display:flex;flex-direction:column;gap:8px;align-items:center}.gallery-footer .brand-name{font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:var(--sand)}.gallery-footer .footer-links{display:flex;gap:20px;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.gallery-footer a:hover{color:var(--gold)}.btn-select-mode{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink-3);color:var(--muted);transition:border-color .2s,color .2s}.btn-select-mode:hover,.btn-select-mode.active{border-color:var(--gold);color:var(--gold)}.btn-share{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border-radius:20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink-3);color:var(--muted);transition:border-color .2s,color .2s}.btn-share:hover{border-color:var(--sand);color:var(--sand)}.gallery-grid.selecting .gallery-item{cursor:pointer}.gallery-grid.selecting .gallery-item:hover{transform:scale(.97)}.justified-grid.selecting .gallery-item{cursor:pointer}.justified-grid.selecting .gallery-item:hover img{transform:scale(.97)}.gallery-item.is-selected,.gallery-item.is-active{outline:2px solid var(--gold);outline-offset:-2px}.gallery-item.is-active img{opacity:.85}.select-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:flex-start;justify-content:flex-end;padding:10px}.select-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:transparent;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}.select-checkbox.checked{background:var(--gold);border-color:var(--gold)}.selection-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--ink-2);border-top:1px solid var(--ink-3);padding:14px var(--gap);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 24px #0006}.selection-count{font-size:13px;color:var(--sand);font-family:var(--font-display);font-style:italic;white-space:nowrap}.selection-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.btn-download{background:var(--gold);color:var(--ink);padding:9px 22px;border-radius:4px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;transition:opacity .2s}.btn-download:hover:not(:disabled){opacity:.85}.btn-download:disabled{opacity:.45;cursor:not-allowed}.modal-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 4px}.modal-counter{font-size:12px;color:var(--muted);letter-spacing:.06em}.modal-share-btn{position:absolute;bottom:12px;left:12px;display:inline-flex;align-items:center;gap:7px;padding:8px 16px;background:#0d0c0bb8;border:1px solid rgba(255,255,255,.35);color:var(--cream);border-radius:var(--radius);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,border-color .2s,color .2s}.modal-share-btn:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}@media (max-width: 480px){.modal-share-btn,.modal-download{padding:7px 12px;font-size:11px}.modal-share-btn{left:8px;bottom:8px}.modal-download{right:8px;bottom:8px}}.modal-download{position:absolute;bottom:12px;right:12px;display:inline-flex;align-items:center;gap:7px;padding:8px 16px;background:#0d0c0bb8;border:1px solid rgba(212,168,83,.55);color:var(--gold);border-radius:var(--radius);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,border-color .2s,color .2s}.modal-download:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--ink)}.modal-download:disabled{cursor:default;overflow:hidden}.modal-download-progress{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(212,168,83,.35) var(--pct),transparent var(--pct));transition:background .15s linear;pointer-events:none}.manage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 800px){.manage-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 500px){.manage-grid{grid-template-columns:repeat(2,1fr)}}.manage-photo{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink-3);aspect-ratio:1;cursor:default}.manage-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:filter .2s}.manage-photo:hover img{filter:brightness(.55)}.manage-photo--cover{outline:2px solid var(--gold);outline-offset:-2px}.cover-badge{position:absolute;top:7px;left:7px;background:var(--gold);color:var(--ink);font-size:11px;line-height:1;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.manage-actions{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s}.manage-photo:hover .manage-actions{opacity:1}.manage-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;transition:transform .15s,opacity .15s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.manage-btn:disabled{opacity:.4;cursor:not-allowed}.manage-btn:not(:disabled):hover{transform:scale(1.12)}.manage-btn--cover{background:#d4a853e6;color:var(--ink)}.manage-btn--cover:disabled{background:#d4a85366}.manage-btn--delete{background:#ef4444d9;color:#fff}.admin-layout{min-height:100vh;background:var(--ink)}.admin-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--ink-3);background:var(--ink-2);position:sticky;top:0;z-index:50}.admin-nav .logo{font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--gold)}.admin-main{max-width:1100px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;gap:32px}.card{background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--radius-lg);padding:28px}.card-title{font-family:var(--font-display);font-size:1.5rem;font-style:italic;font-weight:300;color:var(--white);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--ink-3)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.form-input{background:var(--ink);border:1px solid var(--ink-3);color:var(--cream);border-radius:var(--radius);padding:12px 14px;font-family:var(--font-body);font-size:14px;transition:border-color .2s;outline:none}.form-input:focus{border-color:var(--gold)}.form-input::placeholder{color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.upload-zone{border:2px dashed var(--ink-3);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;transition:border-color .2s,background .2s;cursor:pointer}.upload-zone.drag-over{border-color:var(--gold);background:#d4a8530a}.upload-zone .upload-icon{font-size:40px;margin-bottom:12px}.upload-zone p{color:var(--muted);font-size:14px}.upload-zone strong{color:var(--cream)}.progress-bar-wrap{background:var(--ink-3);border-radius:4px;height:4px;overflow:hidden}.progress-bar{height:100%;background:var(--gold);border-radius:4px;transition:width .2s}.gallery-list{display:flex;flex-direction:column;gap:12px}.gallery-list-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--ink);border:1px solid var(--ink-3);border-radius:var(--radius-lg);transition:border-color .2s}.gallery-list-item:hover{border-color:var(--ink-3)}.gallery-list-thumb{width:60px;height:60px;border-radius:var(--radius);object-fit:cover;background:var(--ink-3);flex-shrink:0}.gallery-list-info{flex:1;min-width:0}.gallery-list-info h3{font-family:var(--font-display);font-size:1.15rem;font-style:italic;color:var(--white)}.gallery-list-info .meta{font-size:12px;color:var(--muted);margin-top:2px}.gallery-stat-row{display:flex;gap:12px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.stat-card{background:var(--ink);border:1px solid var(--ink-3);border-radius:var(--radius);padding:16px;text-align:center}.stat-value{font-size:1.4rem;font-weight:700;color:var(--gold)}.stat-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}.device-bar-row{display:flex;align-items:center;gap:12px}.device-bar-label{flex:0 0 100px;font-size:13px;color:var(--sand)}.device-bar-track{flex:1;background:var(--ink);border-radius:20px;height:10px;overflow:hidden}.device-bar-fill{height:100%;background:var(--gold);border-radius:20px;transition:width .4s}.device-bar-count{flex:0 0 32px;text-align:right;font-size:13px;color:var(--muted)}.analytics-table{width:100%;border-collapse:collapse;font-size:13px}.analytics-table th{text-align:left;color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:.06em;padding:8px 12px;border-bottom:1px solid var(--ink-3)}.analytics-table td{padding:10px 12px;border-bottom:1px solid var(--ink-3);color:var(--cream);white-space:nowrap}.analytics-table tr:last-child td{border-bottom:none}.gallery-link-chip{font-size:11px;letter-spacing:.06em;padding:4px 10px;background:var(--ink-3);border-radius:20px;color:var(--sand);cursor:pointer;transition:background .2s}.gallery-link-chip:hover{background:#d4a85326;color:var(--gold)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--ink);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 20%,rgba(212,168,83,.07) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(212,168,83,.05) 0%,transparent 50%);pointer-events:none}.login-card{width:100%;max-width:420px;background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--radius-lg);padding:48px 40px;text-align:center;position:relative}.login-card .logo-text{font-family:var(--font-display);font-size:2rem;font-style:italic;color:var(--gold);margin-bottom:8px}.login-card .subtitle{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:40px}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:var(--ink);border:1px solid var(--ink-3);color:var(--cream);border-radius:var(--radius);font-size:14px;font-weight:500;transition:border-color .2s,background .2s}.btn-google:hover{border-color:var(--muted);background:var(--ink-3)}.toast-container{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{padding:10px 20px;border-radius:20px;font-size:13px;animation:toast-in .3s var(--ease)}.toast-success{background:#25d36626;border:1px solid rgba(37,211,102,.3);color:#4ade80}.toast-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}.toast-info{background:#d4a85326;border:1px solid rgba(212,168,83,.3);color:var(--gold)}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.empty-state{text-align:center;padding:60px 24px;color:var(--muted)}.empty-state .icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state p{font-size:14px}.divider{height:1px;background:var(--ink-3);margin:8px 0}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.badge-gold{background:#d4a85326;color:var(--gold)}.upt-panel{position:fixed;bottom:24px;right:24px;z-index:400;width:320px;background:var(--ink-2);border:1px solid var(--ink-3);border-radius:var(--radius-lg);box-shadow:0 8px 40px #0000008c;overflow:hidden;animation:upt-in .25s var(--ease)}@keyframes upt-in{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.upt-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;background:var(--ink-3);min-height:42px}.upt-toggle{display:flex;align-items:center;gap:8px;color:var(--cream);font-size:13px;font-weight:500;flex:1;text-align:left;cursor:pointer}.upt-chevron{color:var(--muted);transition:transform .2s;flex-shrink:0}.upt-chevron--up{transform:rotate(180deg)}.upt-header-text{flex:1;line-height:1.3}.upt-close{color:var(--muted);padding:4px;margin-left:6px;border-radius:4px;transition:color .2s;display:flex;align-items:center;justify-content:center;cursor:pointer}.upt-close:hover{color:var(--cream)}.upt-list{max-height:290px;overflow-y:auto;padding:4px 0}.upt-list::-webkit-scrollbar{width:4px}.upt-list::-webkit-scrollbar-track{background:transparent}.upt-list::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:2px}.upt-item{display:flex;align-items:flex-start;gap:10px;padding:6px 14px;transition:background .15s}.upt-item:hover{background:#ffffff08}.upt-status{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-top:1px}.upt-status--done{color:#4ade80}.upt-status--error{color:#f87171}.upt-status--uploading{color:var(--gold)}.upt-status--pending{width:8px;height:8px;margin:5px;border-radius:50%;background:var(--ink-3)}.upt-spinner{display:block;width:14px;height:14px;border:2px solid rgba(212,168,83,.25);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}.upt-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-top:1px}.upt-item-name{font-size:12px;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.upt-item--pending .upt-item-name,.upt-item--done .upt-item-name{color:var(--muted)}.upt-item--uploading .upt-item-name{color:var(--cream)}.upt-item--error .upt-item-name{color:#f87171}.upt-progress-track{height:3px;background:var(--ink-3);border-radius:2px;overflow:hidden}.upt-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .12s linear}.upt-item-err{font-size:11px;color:#f87171;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-zone--busy{opacity:.5;cursor:not-allowed;pointer-events:none}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 14px;background:#d4a8531a;border:1px solid rgba(212,168,83,.3);border-radius:var(--radius-md);font-size:12px;color:var(--gold);line-height:1.4}.resume-banner-dismiss{flex-shrink:0;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:3px;transition:color .15s}.resume-banner-dismiss:hover{color:var(--cream)}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,48px);border-bottom:1px solid var(--ink-3);position:sticky;top:0;z-index:50;background:#0d0c0bd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-logo{font-family:var(--font-display);font-style:italic;font-size:20px;color:var(--sand);letter-spacing:.02em;white-space:nowrap}.landing-nav-links{display:flex;gap:32px;align-items:center}.landing-nav-links a{font-size:13px;color:var(--muted);letter-spacing:.04em;transition:color .2s}.landing-nav-links a:hover{color:var(--cream)}.landing-nav-cta{display:flex;align-items:center;gap:10px}.landing-nav-cta .btn-signin{font-size:13px;color:var(--cream);padding:9px 16px;border-radius:var(--radius);transition:color .2s,background .2s}.landing-nav-cta .btn-signin:hover{background:var(--ink-2)}@media (max-width: 760px){.landing-nav-links{display:none}}.hero-wrap{max-width:1240px;margin:0 auto;padding:clamp(48px,8vw,96px) clamp(20px,5vw,48px) clamp(40px,6vw,80px);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:center;position:relative}.hero-wrap:before{content:"";position:absolute;top:-10%;left:10%;right:10%;height:60%;background:radial-gradient(ellipse at 50% 0%,rgba(212,168,83,.08) 0%,transparent 70%);pointer-events:none;z-index:0}@media (max-width: 900px){.hero-wrap{grid-template-columns:1fr}}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:600;margin-bottom:22px}.hero-eyebrow:before{content:"";width:18px;height:1px;background:var(--gold)}.hero-copy h1{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:1.12;color:var(--white);margin-bottom:22px}.hero-copy h1 em{color:var(--gold);font-style:italic}.hero-copy>p{color:var(--muted);font-size:16px;line-height:1.75;max-width:480px;margin-bottom:36px}.hero-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:32px}.btn-lg{padding:15px 32px;font-size:14px}.hero-trust{display:flex;flex-wrap:wrap;gap:20px}.hero-trust span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}.hero-trust span:before{content:"✓";color:var(--gold);font-weight:700}.hero-collage{display:grid;position:relative;z-index:1;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(320px,38vw,460px)}.collage-tile{border-radius:10px;overflow:hidden;position:relative;box-shadow:0 12px 40px #00000073;border:1px solid rgba(255,255,255,.06)}.collage-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.collage-tile:hover img{transform:scale(1.06)}.collage-tile--a{grid-column:1;grid-row:1 / span 2}.collage-tile--b{grid-column:2;grid-row:1}.collage-tile--c{grid-column:3;grid-row:1}.collage-tile--d{grid-column:2;grid-row:2}.collage-tile--e{grid-column:3;grid-row:2}@media (max-width: 900px){.hero-collage{height:clamp(280px,60vw,380px)}}@media (max-width: 520px){.hero-collage{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr}.collage-tile--a{grid-column:1;grid-row:1 / span 2}.collage-tile--b{grid-column:2;grid-row:1}.collage-tile--c{display:none}.collage-tile--d{grid-column:2;grid-row:2}.collage-tile--e{display:none}}.section-heading{text-align:center;max-width:620px;margin:0 auto clamp(36px,5vw,56px)}.section-heading .hero-eyebrow{justify-content:center}.section-heading h2{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.9rem,4vw,2.7rem);color:var(--white);margin-bottom:14px}.section-heading p{color:var(--muted);font-size:15px;line-height:1.7}.steps-strip{max-width:1000px;margin:0 auto;padding:0 clamp(20px,5vw,48px) clamp(48px,7vw,88px);display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media (max-width: 760px){.steps-strip{grid-template-columns:1fr}}.step-item{text-align:center;padding:0 12px}.step-num{width:40px;height:40px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--font-display);font-style:italic;font-size:17px}.step-item h3{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:18px;color:var(--white);margin-bottom:8px}.step-item p{color:var(--muted);font-size:13.5px;line-height:1.6}.feature-section{max-width:1100px;margin:0 auto;padding:clamp(60px,8vw,100px) clamp(20px,5vw,48px)}.feature-grid-v2{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.feature-card-v2{padding:28px 24px;border:1px solid var(--ink-3);border-radius:var(--radius-lg);background:var(--ink-2);transition:border-color .25s,transform .25s var(--ease)}.feature-card-v2:hover{border-color:var(--gold-dim);transform:translateY(-3px)}.feature-icon{width:42px;height:42px;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#d4a8531a;color:var(--gold)}.feature-card-v2 h3{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:18px;color:var(--white);margin-bottom:8px}.feature-card-v2 p{color:var(--muted);font-size:13.5px;line-height:1.65;margin:0}.masonry{max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,48px);column-count:4;column-gap:12px}@media (max-width: 1000px){.masonry{column-count:3}}@media (max-width: 700px){.masonry{column-count:2}}.masonry-item{break-inside:avoid;margin-bottom:12px;position:relative;border-radius:8px;overflow:hidden;cursor:default}.masonry-item img{width:100%;display:block;transition:transform .5s var(--ease),filter .3s;filter:brightness(.95)}.masonry-item:hover img{transform:scale(1.05);filter:brightness(1.05)}.masonry-item .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(13,12,11,.65) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px}.masonry-item:hover .overlay{opacity:1}.masonry-item .overlay-text{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cream)}.pricing-card{padding:32px 28px;border:1px solid var(--ink-3);border-radius:var(--radius-lg);background:var(--ink);text-align:left;position:relative}.pricing-card--featured{border-color:var(--gold-dim);box-shadow:0 0 0 1px var(--gold-dim)}.pricing-badge{position:absolute;top:-12px;right:24px;background:var(--gold);color:var(--ink);font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px}#faq details summary{position:relative;padding-right:28px}#faq details summary::-webkit-details-marker{display:none}#faq details summary:after{content:"+";position:absolute;right:0;top:0;color:var(--sand);font-size:20px;line-height:1}#faq details[open] summary:after{content:"−"}.upt-pause-btn{flex-shrink:0;color:var(--muted);padding:5px 6px;margin-left:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s}.upt-pause-btn:hover{color:var(--cream)}.upt-error-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upt-retry-btn{flex-shrink:0;font-size:10px;font-weight:600;color:var(--gold);border:1px solid rgba(212,168,83,.45);border-radius:3px;padding:1px 6px;cursor:pointer;transition:background .15s,color .15s;line-height:1.6}.upt-retry-btn:hover{background:#d4a85326}.upt-chunk-label{font-size:10px;color:var(--muted);line-height:1}.tour-help-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--muted);color:var(--muted);font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:border-color .2s,color .2s;background:transparent;flex-shrink:0}.tour-help-btn:hover{border-color:var(--gold);color:var(--gold)}.tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.tour-dim{position:fixed;background:#0d0c0bb8;transition:opacity .2s}.tour-spotlight{position:fixed;border:2px solid var(--gold);border-radius:10px;box-shadow:0 0 24px #d4a8538c;pointer-events:none;transition:top .25s var(--ease),left .25s var(--ease),width .25s var(--ease),height .25s var(--ease)}.tour-card{position:fixed;z-index:1001;width:min(340px,calc(100vw - 32px));background:var(--ink-2);border:1px solid var(--ink-3);border-radius:10px;padding:18px 18px 14px;box-shadow:0 12px 40px #00000080;transition:opacity .15s,top .25s var(--ease),left .25s var(--ease)}.tour-card--sheet{width:auto}.tour-close{position:absolute;top:10px;right:10px;color:var(--muted);font-size:13px;line-height:1;padding:4px;cursor:pointer}.tour-close:hover{color:var(--cream)}.tour-step-count{font-size:11px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-weight:700;margin-bottom:6px}.tour-title{font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--cream);margin-bottom:8px;padding-right:16px}.tour-body{font-size:13.5px;color:var(--sand);line-height:1.55;white-space:pre-line}.tour-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.tour-nav{display:flex;gap:8px}.tour-btn{padding:7px 16px;font-size:13px}.tour-skip{font-size:12.5px;padding:6px 4px}.face-strip{display:flex;gap:14px;overflow-x:auto;padding:8px var(--gap) 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.face-strip::-webkit-scrollbar{height:6px}.face-strip::-webkit-scrollbar-thumb{background:var(--ink-3);border-radius:3px}.face-strip-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px;width:68px;background:none;border:none;cursor:pointer;padding:4px 0}.face-strip-item img,.face-strip-all-dot{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--ink-2);border:2px solid transparent;transition:border-color .15s,transform .15s}.face-strip-all-dot{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--sand);letter-spacing:.04em}.face-strip-item:hover img,.face-strip-item:hover .face-strip-all-dot{transform:scale(1.05)}.face-strip-item.is-active img,.face-strip-item.is-active .face-strip-all-dot{border-color:var(--gold)}.face-strip-cap{font-size:11px;color:var(--muted);max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:14px}.face-strip-item.is-active .face-strip-cap{color:var(--gold)}.face-strip-consent{font-size:11.5px;color:var(--muted);text-align:center;padding:0 var(--gap) 8px;max-width:640px;margin:0 auto}.face-chip{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--cream)}.face-chip-actions{display:flex;gap:8px;flex-wrap:wrap}.face-progress{margin-top:8px;background:var(--bg);border-radius:4px;height:6px;overflow:hidden}.face-progress>div{height:100%;background:var(--gold);border-radius:4px;transition:width .4s}.face-h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}.person-list{display:flex;flex-direction:column;gap:10px}.person-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--ink-3)}.cluster-box{border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;margin-bottom:12px}.face-montage{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.face-more{font-size:12px;color:var(--muted);padding:0 6px}.cluster-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.face-pick{background:none;border:2px solid transparent;border-radius:50%;padding:0;cursor:pointer;line-height:0}.face-pick.is-selected{border-color:var(--gold)}
