:root{--paper:#fcfaf6;--paper-deep:#f3f1eb;--ink:#555c4c;--muted:#797b73;--gold:#7c8069;--gold-soft:#bfc4ae;--white:#FFFFFF;--green:#4E8A6B;--red:#B84A44;--line:rgba(124,128,105,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.hero{min-height:760px;height:95vh;position:relative;overflow:hidden;background:var(--ink)}.hero-image{object-fit:cover;object-position:center 30%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,34,39,.78),rgba(25,34,39,.28) 60%,rgba(25,34,39,.16))}.site-header{height:74px;position:absolute;z-index:5;top:0;left:0;right:0;justify-content:space-between;padding:0 clamp(22px,5vw,76px);color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}.brand,.site-header{display:flex;align-items:center}.brand{gap:10px;font-weight:700;letter-spacing:.14em}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.nav a{opacity:.86}.nav a:hover{opacity:1}.admin-link{border:1px solid rgba(255,255,255,.5);padding:9px 15px}.icon-button{background:none;border:0;color:inherit;display:grid;place-items:center}.menu-button{display:none}.hero-content{position:absolute;z-index:2;left:clamp(24px,8vw,120px);top:50%;transform:translateY(-42%);max-width:700px;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700}.light{color:rgba(255,255,255,.72)}.hero h1,.intro-band h2,.location-strip h2,.section-heading h2{font-family:var(--font-serif),serif;letter-spacing:0}.hero h1{font-size:clamp(72px,11vw,148px);font-weight:500;line-height:.78;margin:32px 0}.hero h1 em{color:var(--gold);font-weight:400}.hero-content p{font-family:var(--font-serif),serif;font-size:22px;line-height:1.5;max-width:600px}.hero-cta,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:#FFFFFF;border:0;padding:14px 20px;font-size:13px;font-weight:700;margin-top:18px}.passport-stamp{position:absolute;z-index:2;right:8vw;bottom:9%;width:130px;height:130px;border:2px solid rgba(255,255,255,.52);border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;font-family:var(--font-serif),serif;font-size:30px;transform:rotate(-9deg)}.passport-stamp small{font-family:var(--font-sans),sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.intro-band{text-align:center;padding:80px 24px;background:var(--white)}.intro-band span{font-size:11px;text-transform:uppercase;letter-spacing:.4em}.intro-band h2{font-size:clamp(48px,7vw,84px);font-weight:500;margin:18px 0 10px}.intro-band p{color:var(--muted);max-width:620px;margin:auto;line-height:1.7}.content-section{padding:100px clamp(22px,7vw,110px);max-width:1440px;margin:auto}.section-heading{margin-bottom:42px}.section-heading h2{font-size:clamp(45px,6vw,72px);font-weight:500;margin:10px 0}.timeline{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:90px 1fr 230px;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.event-time{font-family:var(--font-serif),serif;font-size:24px;font-weight:600;color:var(--gold);white-space:nowrap}.event-row span{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);font-weight:700}.event-row h3{font-family:var(--font-serif),serif;font-size:30px;margin:5px 0}.event-row p{color:var(--muted);line-height:1.55;margin:0}.event-venue{display:flex;gap:8px;align-items:center;justify-self:end;font-size:13px;color:var(--ink);font-weight:600}.action-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);padding:0 clamp(22px,7vw,110px)}.action-card{padding:56px 36px;color:#fff;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:flex-start;min-height:360px}.action-card:first-child{border-left:1px solid rgba(255,255,255,.12)}.action-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(124,128,105,.65);color:var(--gold)}.action-card h3{font-family:var(--font-serif),serif;font-size:32px;margin:30px 0 8px}.action-card p{color:rgba(255,255,255,.66);line-height:1.6;flex:1 1}.action-card .action-link,.action-card a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--gold);padding-bottom:6px}.action-card .action-link{align-self:flex-start;background:none;border-top:0;border-left:0;border-right:0;color:inherit;cursor:pointer;padding-left:0;padding-right:0}.gallery-section{background:#555c4c;padding:100px clamp(22px,7vw,110px);color:#fff}.light-heading h2{color:#fff}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-auto-rows:290px;gap:14px}.gallery-item{margin:0;position:relative;overflow:hidden}.gallery-item.featured{grid-row:span 2}.gallery-item img{object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.03)}.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(15,22,25,.8))}.gallery-item figcaption{position:absolute;z-index:2;left:22px;bottom:18px}.gallery-item h3{font-family:var(--font-serif),serif;font-size:28px;margin:0}.gallery-item p{margin:4px 0;color:rgba(255,255,255,.72)}.gallery-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover video{transform:scale(1.03)}.gallery-play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;pointer-events:none}.gallery-open{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;background:none;cursor:zoom-in;padding:0}.family-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.family-card{background:rgba(255,253,248,.72);padding:12px 12px 20px}.family-image{height:260px;position:relative;margin-bottom:18px;overflow:hidden}.family-image img{object-fit:cover}.family-card span{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-weight:700}.family-card h3{font-family:var(--font-serif),serif;font-size:28px;margin:7px 0 0}.family-card p{color:var(--muted);margin:2px 0}.location-strip{background:var(--gold);display:flex;align-items:center;justify-content:space-between;padding:70px clamp(22px,8vw,130px)}.location-strip>div{display:grid;grid-template-columns:32px 1fr;column-gap:10px}.location-strip h2,.location-strip p,.location-strip span{grid-column:2}.location-strip h2{font-size:44px;margin:8px 0}.location-strip p{margin:0}.location-strip a{display:flex;align-items:center;gap:9px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:7px}.location-strip .location-links{display:flex;grid-template-columns:none;gap:26px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:100px clamp(22px,7vw,110px)}.assistant-shell,.upload-form{background:rgba(255,253,248,.84);border:1px solid var(--line);padding:30px;min-height:520px}.assistant-heading{display:flex;align-items:center;gap:14px}.admin-panel h2,.assistant-heading h2,.upload-form h2{font-family:var(--font-serif),serif;font-size:36px;margin:4px 0}.message-list{height:300px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:22px 0}.message{align-self:flex-start;background:var(--paper);padding:12px 14px;max-width:82%;line-height:1.5;font-size:13px}.message.guest{align-self:flex-end;background:var(--ink);color:#fff}.assistant-form{display:flex}.assistant-form input,.form-grid input,.form-grid select,.form-grid textarea,.question-list input{width:100%;border:1px solid var(--line);background:#fff;padding:13px;outline:0}.assistant-form button{width:48px;border:0;background:var(--ink);color:#fff}.upload-form p{color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.form-grid textarea{grid-column:1/-1;min-height:110px;resize:vertical}.success{gap:8px;color:var(--green)!important}.success,footer{display:flex;align-items:center}footer{background:#474d3e;color:#fff;padding:50px clamp(22px,7vw,110px);justify-content:space-between;gap:30px}footer p{color:rgba(255,255,255,.62)}footer>div:last-child{display:flex;align-items:center;gap:26px;font-size:12px}.footer-event{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82)}.footer-event>svg{color:var(--gold);flex-shrink:0}.footer-event span{display:flex;flex-direction:column;line-height:1.5}.footer-event strong{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#fff;font-weight:700}.admin-page{min-height:100vh;background:#eef3f4;display:grid;grid-template-columns:240px 1fr}.admin-sidebar{background:var(--ink);color:#fff;padding:30px 22px;position:sticky;top:0;height:100vh}.admin-sidebar,.admin-sidebar nav{display:flex;flex-direction:column}.admin-sidebar nav{gap:7px;margin:60px 0;flex:1 1}.admin-sidebar nav a{padding:12px 14px;color:rgba(255,255,255,.64)}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:rgba(255,255,255,.09);color:#fff}.admin-sidebar>a{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.68)}.admin-main{padding:38px clamp(22px,4vw,60px)}.admin-main>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-main h1{font-family:var(--font-serif),serif;font-size:46px;margin:4px 0}.admin-avatar{width:42px;height:42px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-size:12px;font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats-grid article{background:#fff;border:1px solid var(--line);padding:20px;display:flex;gap:14px;align-items:center}.stats-grid svg{color:var(--gold)}.stats-grid strong{display:block;font-size:28px}.stats-grid span{font-size:11px;color:var(--muted)}.admin-panel{border:1px solid var(--line);padding:24px;margin-top:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.admin-list article{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.file-icon{width:42px;height:42px;background:var(--paper);display:grid;place-items:center}.list-copy{flex:1 1}.list-copy h3{font-size:14px;margin:0 0 4px}.list-copy p{font-size:11px;color:var(--muted);margin:0}.status{font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:6px 9px;background:#eee}.status.approved{color:var(--green);background:rgba(46,125,101,.12)}.status.rejected{color:var(--red);background:rgba(183,92,82,.12)}.row-actions{display:flex;gap:6px}.row-actions button{width:36px;height:36px;border:1px solid var(--line);background:#fff}.row-actions .approve{background:var(--green);color:#fff}.question-list article{align-items:flex-start}.question-list form{display:flex;margin-top:12px}.question-list form button{border:0;background:var(--ink);color:#fff;padding:0 14px}.answer-box{background:var(--paper);padding:10px;margin-top:10px;font-size:13px}.panel-note{color:var(--muted)}@media(max-width:900px){.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ink);padding:22px;flex-direction:column}.nav.open{display:flex}.menu-button{display:grid}.hero{min-height:680px}.passport-stamp{display:none}.event-row{grid-template-columns:78px 1fr}.event-venue{grid-column:2;justify-self:start}.action-band{grid-template-columns:1fr}.action-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);min-height:280px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:320px}.gallery-item.featured{grid-row:auto}.family-grid{grid-template-columns:1fr 1fr}.tools-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.admin-page{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-sidebar nav{flex-direction:row;overflow:auto;margin:24px 0}.admin-main{padding:25px}.location-strip{gap:28px}.location-strip,footer{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.hero-content{top:48%}.hero h1{font-size:67px}.hero-content p{font-size:18px}.content-section,.gallery-section,.tools-grid{padding-top:70px;padding-bottom:70px}.event-row{grid-template-columns:70px 1fr;gap:14px}.event-row h3{font-size:25px}.event-time{font-size:20px}.family-grid{grid-template-columns:1fr}.family-image{height:340px}.form-grid{grid-template-columns:1fr}.form-grid textarea{grid-column:auto}.stats-grid{grid-template-columns:1fr}.admin-main h1{font-size:38px}.admin-list article{align-items:flex-start;flex-wrap:wrap}.status{margin-left:auto}.panel-heading{align-items:flex-start;gap:14px;flex-direction:column}footer>div:last-child{flex-wrap:wrap}}.preview-timer{position:fixed;z-index:80;right:16px;bottom:16px;display:flex;align-items:center;gap:7px;background:rgba(32,43,48,.92);color:#fff;padding:9px 12px;font-size:11px;letter-spacing:.05em;box-shadow:0 8px 24px rgba(0,0,0,.2)}.wedding-switcher{position:relative;margin-bottom:12px}.wedding-switcher>button{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:9px 13px;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;max-width:340px}.wedding-switcher>button:hover{border-color:var(--gold)}.wedding-switcher>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-switcher>button .flip{transform:rotate(180deg)}.wedding-switcher-menu{position:absolute;z-index:60;top:calc(100% + 6px);left:0;min-width:290px;max-width:380px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(0,0,0,.16)}.wedding-switcher-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:11px 13px;text-align:left;cursor:pointer}.wedding-switcher-menu button:last-child{border-bottom:0}.wedding-switcher-menu button:hover{background:var(--paper)}.wedding-switcher-menu button span{display:grid;gap:2px;min-width:0}.wedding-switcher-menu strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-switcher-all{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-top:1px solid var(--line);background:var(--paper);font-size:12px;font-weight:700}.wedding-switcher-all:hover{color:var(--gold)}.wedding-switcher-menu small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-return{position:fixed;z-index:80;left:16px;bottom:16px;display:flex;gap:1px;box-shadow:0 8px 24px rgba(0,0,0,.2)}.admin-return a{display:flex;align-items:center;gap:7px;background:rgba(32,43,48,.92);color:#fff;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.05em;text-decoration:none}.admin-return a:hover{background:var(--gold);color:#FFFFFF}@media(max-width:560px){.admin-return{left:12px;bottom:12px}.admin-return a{padding:8px 10px;font-size:10px}}.access-gate{background:rgba(28,39,44,.88)}.access-gate-panel{width:min(430px,100%);background:var(--paper);border:1px solid rgba(124,128,105,.7);padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.34)}.access-logo{border-radius:22px;border:1px solid var(--gold);margin-bottom:22px}.access-gate-panel h2{font-family:var(--font-serif),serif;font-size:44px;font-weight:500;margin:9px 0}.access-gate-panel p{color:var(--muted);line-height:1.65;margin:0 auto 22px;max-width:340px}.access-gate-panel form{gap:12px}.code-field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:0 14px}.code-field input{width:100%;border:0;outline:0;background:transparent;text-align:center;padding:14px;font-size:24px;letter-spacing:.5em;font-weight:700}.code-field.name-field input{text-align:left;font-size:16px;letter-spacing:normal;font-weight:500}.access-gate-panel .primary-button{margin:0}.access-gate-panel small{margin-top:16px;color:var(--muted);font-size:10px}.access-error{color:var(--red);font-size:12px;font-weight:600}.admin-login{min-height:100vh;display:grid;place-items:center;padding:22px;background:var(--paper)}.admin-login form{width:min(420px,100%);background:#fff;border:1px solid var(--line);padding:38px;text-align:center}.admin-login h1{font-family:var(--font-serif),serif;font-size:45px;margin:8px 0}.admin-login p{color:var(--muted)}.admin-login input{width:100%;padding:15px;text-align:center;font-size:24px;letter-spacing:.45em;border:1px solid var(--line);margin:16px 0}.admin-login .primary-button{width:100%;margin:0}.admin-login a{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:12px}.editor-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.editor-form input,.editor-form select{border:1px solid var(--line);padding:12px;background:#fff;min-width:0}.editor-form .wide{grid-column:1/-1}.editor-form .primary-button{margin:0}.upload-control{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink);padding:12px;font-size:12px;font-weight:700;cursor:pointer}.upload-control input{display:none}.upload-file-hint{margin:14px 0 0;font-size:11px;font-weight:700;color:var(--muted)}.upload-file-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto}.upload-file-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);padding:8px 10px;font-size:12px}.upload-file-list li span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-list li select{flex-shrink:0;max-width:46%;border:1px solid var(--line);background:#fff;padding:6px 8px;font-size:12px}.upload-file-list li button{border:0;background:transparent;color:var(--red);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.content-records{border-top:1px solid var(--line)}.content-records article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.content-records article div{display:grid;gap:4px}.content-records span{font-size:11px;color:var(--muted)}.content-records button{border:0;background:transparent;color:var(--red)}.ios-media-choice-overlay{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:18px;background:rgba(25,34,39,.66);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.ios-media-choice{position:relative;width:min(430px,100%);padding:28px;background:var(--white);border:1px solid rgba(124,128,105,.42);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.3)}.ios-media-choice>span{display:block;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.ios-media-choice h2{max-width:330px;margin:8px 40px 6px 0;font-family:var(--font-serif),serif;font-size:30px;line-height:1.08}.ios-media-choice>p{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.ios-media-choice-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:var(--ink);background:var(--paper);cursor:pointer}.ios-media-choice-close svg{width:19px;height:19px}.ios-media-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ios-media-choice-actions button{min-height:148px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 12px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:#fff;cursor:pointer;text-align:center}.ios-media-choice-actions button:focus-visible,.ios-media-choice-actions button:hover{border-color:var(--gold);background:rgba(124,128,105,.08)}.ios-media-choice-actions svg{width:31px;height:31px;margin-bottom:5px;color:var(--gold)}.ios-media-choice-actions strong{font-size:15px}.ios-media-choice-actions small{color:var(--muted);font-size:10px;line-height:1.35}.ios-picker-notice{position:fixed;z-index:1210;right:14px;bottom:14px;left:14px;max-width:560px;margin:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff;background:rgba(32,43,48,.96);border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 16px 42px rgba(0,0,0,.3)}.ios-picker-notice span{flex:1 1;font-size:12px;line-height:1.45}.ios-picker-notice button{flex:none;border:0;color:var(--gold);background:transparent;font-size:12px;font-weight:700;cursor:pointer}.ios-picker-notice button:last-child{width:30px;height:30px;display:grid;place-items:center;color:#fff}.ios-picker-notice svg{width:17px;height:17px}@media(max-width:520px){.ios-media-choice-overlay{place-items:end center;padding:0}.ios-media-choice{width:100%;padding:25px 18px max(22px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.ios-media-choice h2{font-size:27px}.ios-media-choice-actions{gap:9px}.ios-media-choice-actions button{min-height:136px}.ios-picker-notice{bottom:max(10px,env(safe-area-inset-bottom));border-radius:12px}}.content-records .record-actions{display:flex;align-items:center;gap:8px}.content-records .record-actions .btn-edit{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px;font-weight:600;padding:7px 11px;border-radius:6px;cursor:pointer}.content-records .record-actions .btn-edit:hover{border-color:var(--gold);color:var(--gold)}.content-records .record-actions .btn-record-delete{color:var(--red)}.record-pos{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;align-self:center;font-size:13px;font-weight:700;color:var(--gold);background:rgba(124,128,105,.12);border:1px solid rgba(124,128,105,.4);border-radius:20px;padding:5px 11px 5px 6px;cursor:grab;-webkit-user-select:none;user-select:none}.record-pos svg{color:var(--muted)}.reorderable{cursor:grab}.reorderable:active{cursor:grabbing}.reorderable[data-dragging]{opacity:.45}.reorderable[data-drop-target]{box-shadow:inset 0 2px 0 var(--gold)}.admin-notice{background:var(--paper);border-left:3px solid var(--gold);padding:12px;margin-bottom:16px;font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.editor-form .field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}.editor-form .field.wide{grid-column:1/-1}.editor-form .field input,.editor-form .field select,.editor-form .field textarea{width:100%}.field-label{font-size:13px;font-weight:700;color:var(--ink,#222);letter-spacing:.01em}.field-hint{font-size:12px;color:var(--muted,#6b7280);line-height:1.4}.permission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.permission-head>div:first-child{display:flex;flex-direction:column;gap:5px}.permission-actions{display:flex;gap:8px;flex-shrink:0}.permission-actions button{border:1px solid var(--line);background:#fff;color:var(--ink,#222);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:7px 12px;cursor:pointer}.permission-actions button:hover{border-color:var(--gold,var(--gold));color:var(--gold,var(--gold))}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px}.permission-check{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--ink,#222);cursor:pointer;border:1px solid var(--line);background:#fff;padding:11px 13px;border-radius:9px;transition:border-color .15s,background .15s}.permission-check:hover{border-color:var(--gold,var(--gold))}.permission-check:has(input:checked){border-color:var(--gold,var(--gold));background:rgba(124,128,105,.1)}.permission-check input{width:17px;height:17px;flex-shrink:0;accent-color:var(--gold,var(--gold));cursor:pointer}.login-role{font-weight:700;color:var(--ink,#222)!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important}@media(max-width:560px){.editor-form{grid-template-columns:1fr}.editor-form .field.wide,.editor-form .wide{grid-column:auto}}.family-image>img,.gallery-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}button.family-image{display:block;width:100%;padding:0;border:0;background:none;font:inherit;cursor:zoom-in}button.family-image:hover>img{transform:scale(1.06)}.hero-shade{background:linear-gradient(90deg,rgba(18,26,30,.9),rgba(18,26,30,.5) 52%,rgba(18,26,30,.2)),linear-gradient(0deg,rgba(13,19,23,.72),transparent 42%)}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.32em;font-size:11px;font-weight:700;color:var(--gold);border:1px solid rgba(124,128,105,.55);border-radius:999px;padding:8px 16px;background:rgba(124,128,105,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero h1.hero-title{font-size:clamp(56px,12vw,152px);font-weight:500;line-height:.82;margin:24px 0 0;text-shadow:0 14px 44px rgba(0,0,0,.5)}.hero h1.hero-title em{color:var(--gold);font-weight:400;font-style:italic}.hero-rule{display:flex;align-items:center;gap:14px;max-width:340px;margin:22px 0 20px}.hero-rule span{flex:1 1;height:1px;background:linear-gradient(90deg,transparent,rgba(124,128,105,.85))}.hero-rule span:last-child{background:linear-gradient(90deg,rgba(124,128,105,.85),transparent)}.hero-rule .hero-rule-dot{flex:0 0 7px;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}.hero-content p.hero-tagline{font-family:var(--font-serif),serif;font-size:clamp(18px,2vw,24px);line-height:1.55;max-width:540px;color:rgba(255,255,255,.92)}.hero-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}.hero-meta span{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.88)}.hero-meta span svg{color:var(--gold)}.hero-meta .hero-meta-sep{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.4)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}.hero-cta{margin-top:0;box-shadow:0 14px 34px rgba(124,128,105,.34);transition:transform .25s ease,box-shadow .25s ease}.hero-cta:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(124,128,105,.5)}.hero-pill{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .25s ease,background .25s ease,border-color .25s ease}.hero-pill svg{color:var(--gold)}.hero-pill:hover{transform:translateY(-3px);background:rgba(255,255,255,.16);border-color:var(--gold)}.hero-scroll{position:absolute;z-index:2;left:50%;bottom:26px;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.5);border-radius:14px;display:flex;justify-content:center;padding-top:7px}.hero-scroll-dot{width:4px;height:8px;border-radius:2px;background:#fff;animation:scrollDot 1.6s ease-in-out infinite}@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(12px)}}.hero-content>*{opacity:0;animation:heroUp .9s cubic-bezier(.2,.7,.2,1) forwards}.hero-content>:first-child{animation-delay:.15s}.hero-content>:nth-child(2){animation-delay:.28s}.hero-content>:nth-child(3){animation-delay:.4s}.hero-content>:nth-child(4){animation-delay:.52s}.hero-content>:nth-child(5){animation-delay:.64s}.hero-content>:nth-child(6){animation-delay:.76s}@keyframes heroUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.passport-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-color:rgba(124,128,105,.7);box-shadow:inset 0 0 0 5px rgba(255,255,255,.14),0 18px 40px rgba(0,0,0,.3);animation:stampFloat 6s ease-in-out infinite}.passport-stamp span{color:var(--gold)}.passport-stamp small{color:rgba(255,255,255,.78)}@keyframes stampFloat{0%,to{transform:rotate(-9deg) translateY(0)}50%{transform:rotate(-9deg) translateY(-9px)}}.hero-photos{display:none;position:absolute;z-index:2;top:50%;right:clamp(24px,5vw,90px);width:clamp(280px,30vw,420px);transform:translateY(-50%)}.hero-photo{position:relative;width:100%;box-shadow:0 30px 70px rgba(0,0,0,.45);transform:rotate(2.5deg);animation:photoIn 1s cubic-bezier(.2,.7,.2,1) .5s both}.hero-photo,.hero-photo-center{padding:14px 14px 54px;background:rgba(255,253,248,.97)}.hero-photo-center{display:none;position:absolute;z-index:2;left:50%;top:50%;width:clamp(260px,26vw,380px);box-shadow:0 34px 80px rgba(0,0,0,.5);transform:translate(-50%,-50%) rotate(-3deg);animation:photoCenterIn 1.1s cubic-bezier(.2,.7,.2,1) .4s both}.hero-photo-img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:3/4}.hero-photo-tag{display:block;text-align:center;margin-top:14px;font-family:var(--font-serif),serif;font-size:25px;color:var(--ink)}.hero-photo .passport-stamp{right:auto;bottom:auto;top:-26px;left:-26px;width:104px;height:104px;font-size:23px;background:rgba(18,26,30,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes photoIn{0%{opacity:0;transform:rotate(2.5deg) scale(.92)}to{opacity:1;transform:rotate(2.5deg) scale(1)}}@keyframes photoCenterIn{0%{opacity:0;transform:translate(-50%,-42%) rotate(-3deg) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}}@media (min-width:1024px){.hero-photo-center,.hero-photos{display:block}.hero-content{max-width:min(620px,52vw)}}@media (prefers-reduced-motion:reduce){.hero-content>*,.hero-scroll-dot,.passport-stamp{animation:none;opacity:1}}@media (max-width:560px){.hero-rule{max-width:220px}.hero-meta{gap:12px}}.transport-modal{position:fixed;z-index:1000;inset:0;display:grid;align-items:start;justify-items:center;overflow-y:auto;padding:clamp(92px,12vh,128px) 22px 22px;background:rgba(14,21,25,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .25s ease}.transport-card{position:relative;width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;text-align:center;background:linear-gradient(180deg,#fffdf8,#f4ecdc);border:1px solid rgba(124,128,105,.62);border-radius:8px;padding:38px 30px 30px;box-shadow:0 28px 80px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.35);animation:popUp .3s cubic-bezier(.2,.7,.2,1)}.transport-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--gold),#e3c579,var(--gold))}.transport-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(35,32,31,.12);border-radius:50%;background:rgba(255,255,255,.72);color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.transport-close:hover{background:#fff;color:var(--ink);transform:translateY(-1px)}.transport-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:var(--green)}.transport-head svg:first-child{width:48px;height:48px;padding:12px;border:1px solid rgba(124,128,105,.5);border-radius:50%;background:rgba(124,128,105,.12);color:var(--gold);flex-shrink:0}.transport-head svg:last-child{display:none}.transport-head h3{margin:0;font-family:var(--font-serif),serif;font-size:clamp(26px,5vw,34px);font-weight:500;line-height:1.05;letter-spacing:0;color:var(--ink)}.transport-message{margin:16px auto 0;max-width:330px;font-family:var(--font-serif),serif;font-size:18px;line-height:1.65;color:#735f3b;white-space:pre-wrap;text-align:left;overflow-wrap:break-word}.transport-date{display:inline-block;color:var(--gold);font-weight:700}.transport-heart{color:var(--gold);fill:var(--gold);margin-top:14px}@media (max-width:560px){.transport-modal{padding:74px 16px 16px}.transport-card{max-height:calc(100dvh - 90px);padding:34px 22px 26px}.transport-message{font-size:17px;line-height:1.6}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lang-toggle{display:inline-flex;align-items:center;gap:6px}.lang-toggle button{background:none;border:0;padding:2px;cursor:pointer;border-radius:4px;line-height:0;opacity:.5;transition:opacity .2s,box-shadow .2s,transform .2s}.lang-toggle button:hover{opacity:.85;transform:translateY(-1px)}.lang-toggle button.active{opacity:1;box-shadow:0 0 0 2px var(--gold)}.lang-toggle button:disabled{cursor:default}.lang-toggle .flag{display:block;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.3)}.header-stores{display:flex;align-items:center;gap:10px}.store-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:10px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.18);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.store-badge:hover{border-color:var(--gold);background:rgba(255,255,255,.2);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.22)}.store-badge span{display:flex;flex-direction:column;line-height:1.05;text-align:left}.store-badge small{font-size:8px;text-transform:uppercase;letter-spacing:.07em;opacity:.85}.store-badge strong{font-size:12px;font-weight:700;letter-spacing:.02em}.store-badge{cursor:pointer;font:inherit}@media (max-width:900px){.header-stores{margin-top:8px}}.store-modal{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:22px;background:rgba(8,12,15,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}.store-modal-card{position:relative;width:min(400px,100%);background:var(--paper);border:1px solid rgba(124,128,105,.6);border-radius:14px;padding:34px 28px 30px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4)}.store-modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.08);color:var(--ink);display:grid;place-items:center;cursor:pointer}.store-modal-close:hover{background:rgba(0,0,0,.16)}.store-modal-badge{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--ink);color:#fff;margin-bottom:14px}.store-modal-card h3{font-family:var(--font-serif),serif;font-size:26px;font-weight:500;margin:0 0 8px;color:var(--ink)}.store-modal-card p{color:var(--muted);line-height:1.6;margin:0 auto 18px;max-width:320px}.store-download{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#FFFFFF;font-weight:700;font-size:14px;padding:13px 20px;border-radius:10px}.store-download:hover{filter:brightness(1.05)}.store-modal-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;color:var(--muted);font-size:11px;line-height:1.4}.family-group{margin-top:44px}.family-group:first-of-type{margin-top:6px}.family-group-head{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.family-group-head h3{font-family:var(--font-serif),serif;font-size:clamp(28px,4vw,44px);font-weight:500;margin:4px 0 0}.content-records .family-row-actions{display:flex;align-items:center;gap:10px}.family-side-select{border:1px solid var(--line);background:#fff;padding:8px 10px;font-size:12px;border-radius:6px;cursor:pointer}.empty-hint{opacity:.5;padding:12px 0}.event-records{border-top:1px solid var(--line)}.event-record{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.event-record-main{flex:1 1}.event-record-main strong{font-size:15px}.event-record-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;opacity:.7;font-size:13px}.event-record-meta span{display:flex;align-items:center;gap:3px}.event-record-desc{margin:6px 0 0;font-size:13px;opacity:.6}.event-record-actions{display:flex;gap:6px;flex-shrink:0}.editor-form.inline-edit{background:rgba(35,32,31,.05);padding:16px;border-radius:10px;margin-bottom:8px}.edit-title{grid-column:1/-1;margin-bottom:4px}.edit-actions{grid-column:1/-1;display:flex;gap:8px}.btn-approve,.btn-cancel,.btn-edit,.btn-reject{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer}.btn-edit{background:rgba(99,102,241,.15);color:#4f46e5}.btn-cancel{background:rgba(35,32,31,.1);color:inherit}.btn-approve{background:rgba(46,125,101,.15);color:var(--green)}.btn-reject{background:rgba(239,68,68,.12);color:var(--red)}.btn-icon-delete{padding:7px 10px;background:rgba(239,68,68,.12);color:var(--red)}.btn-delete-text,.btn-icon-delete{border:0;border-radius:8px;cursor:pointer}.btn-delete-text{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:13px;background:rgba(35,32,31,.08);color:var(--ink)}.btn-delete-text:hover{background:rgba(239,68,68,.12);color:var(--red)}.sidebar-signout{margin-top:8px;opacity:.6;background:none;color:inherit}.carousel-thumb{width:64px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.upload-records{border-top:1px solid var(--line)}.upload-card{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}.upload-card-media{width:96px;height:96px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--paper);display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;position:relative}.upload-card-media:disabled{cursor:default}.upload-card-media img,.upload-card-media video{width:100%;height:100%;object-fit:cover}.upload-card-zoom{position:absolute;right:5px;bottom:5px;width:24px;height:24px;border-radius:6px;background:rgba(12,16,20,.6);color:#fff;display:grid;place-items:center;opacity:0;transition:opacity .2s ease}.upload-card-media:hover .upload-card-zoom{opacity:1}.upload-no-preview{font-size:11px;opacity:.5;text-align:center;padding:6px}.upload-card-body{flex:1 1;min-width:0}.upload-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upload-card-head strong{font-size:15px}.upload-card-type{font-size:12px;opacity:.6}.upload-card-caption{margin:6px 0 0;font-size:13px;opacity:.8}.upload-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;opacity:.55;font-size:12px}.upload-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.upload-card-actions button:disabled{opacity:.5;cursor:default}.upload-status{font-size:11px;font-weight:600;text-transform:capitalize;padding:1px 8px;border-radius:999px;border:1px solid}.upload-status.pending{color:#b8860b}.upload-status.approved{color:var(--green)}.upload-status.rejected{color:var(--red)}.lightbox{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:24px;background:rgba(8,12,15,.93);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}.lightbox-close{position:absolute;top:max(14px,env(safe-area-inset-top,0px));right:14px;z-index:5;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(15,20,25,.72);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.5)}.lightbox-close:hover{background:rgba(15,20,25,.9)}.lightbox-stage{max-width:min(940px,94vw);max-height:88vh;display:flex}.lightbox-media{max-width:100%;max-height:88vh;object-fit:contain}.lightbox-media,.lightbox-stage.with-info{border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.lightbox-stage.with-info{max-width:min(1120px,95vw);align-items:stretch;background:var(--white);overflow:hidden}.lightbox-stage.with-info .lightbox-media{border-radius:0;box-shadow:none;max-width:min(64vw,70vh);max-height:88vh}.lightbox-info{width:min(360px,38vw);max-height:88vh;overflow:auto;padding:34px 30px;display:flex;flex-direction:column;justify-content:center;color:var(--ink)}.lightbox-info h3{font-family:var(--font-serif),serif;font-size:32px;font-weight:500;margin:0 0 14px}.lightbox-info p{margin:0;line-height:1.75;color:var(--muted);white-space:pre-wrap}.lightbox-desc.justify{text-align:justify;text-justify:inter-word}@media(max-width:680px){.lightbox{padding:14px}.lightbox-close{width:48px;height:48px;top:max(10px,env(safe-area-inset-top,0px));right:10px}.lightbox-stage.with-info{flex-direction:column;max-height:90vh;overflow:auto}.lightbox-stage.with-info .lightbox-media{max-width:100%;max-height:54vh}.lightbox-info{width:100%;max-height:none;padding:22px 24px;justify-content:flex-start}.lightbox-info h3{font-size:26px}}.memories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.memory-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px}.memory-card,.memory-open{position:relative;overflow:hidden;background:var(--paper)}.memory-open{aspect-ratio:1/1;border:0;padding:0;cursor:pointer;width:100%}.memory-open img,.memory-open video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.memory-open:hover img,.memory-open:hover video{transform:scale(1.04)}.memory-pending{position:absolute;z-index:2;top:8px;left:8px;padding:3px 9px;border-radius:999px;background:#fbbf24;color:#3a2d05;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.memory-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.5)}.memory-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:18px 12px 10px;background:linear-gradient(transparent,rgba(15,22,25,.85));color:#fff;font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-reactions{display:flex;align-items:center;gap:2px;padding:5px 6px;background:#fff;flex-wrap:wrap;border-top:1px solid var(--line)}.memory-reactions .reaction{display:inline-flex;align-items:center;gap:3px;border:0;background:none;cursor:pointer;padding:4px 7px;border-radius:999px;line-height:1;transition:background .15s}.memory-reactions .reaction:hover{background:rgba(0,0,0,.06)}.memory-reactions .reaction.active{background:rgba(124,128,105,.2)}.memory-reactions .reaction:disabled{cursor:default}.reaction-emoji{font-size:15px;filter:grayscale(.15)}.reaction.active .reaction-emoji{filter:none}.reaction-count{font-size:11px;font-weight:700;color:var(--ink)}.lightbox-reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:14px}.lightbox-reactions .reaction{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:#fff;cursor:pointer;padding:6px 11px;border-radius:999px;line-height:1}.lightbox-reactions .reaction.active{background:rgba(124,128,105,.2);border-color:var(--gold)}@media (max-width:900px){.memories-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.memories-grid{grid-template-columns:1fr 1fr}}.see-more-wrap{display:flex;justify-content:center;margin-top:26px}.see-more{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;transition:background .2s ease,color .2s ease}.see-more:hover{background:var(--ink);color:#fff}.message{white-space:pre-line;word-break:break-word}.event-live-btn,.event-watch-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;cursor:pointer;border:0}.event-live-btn{background:var(--red);color:#fff}.event-live-btn:hover{filter:brightness(1.08)}.event-watch-btn{background:transparent;color:var(--ink);border:1px solid var(--ink)}.event-watch-btn:hover{background:var(--ink);color:#fff}.live-dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:livePulse 1.2s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.event-live-tag{color:var(--red)!important;font-weight:700}.live-banner{position:fixed;z-index:90;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:9px;padding:12px 20px;border:0;border-radius:999px;cursor:pointer;background:var(--red);color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em;box-shadow:0 14px 34px rgba(183,92,82,.5);animation:liveBannerIn .4s ease}.live-banner:hover{filter:brightness(1.08);transform:translateY(-2px);transition:transform .2s ease}@keyframes liveBannerIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.event-player-stage{width:min(960px,94vw)}.event-player-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#000;box-shadow:0 30px 90px rgba(0,0,0,.6);display:block}.upload-section{padding:90px clamp(22px,7vw,110px);max-width:820px;margin:0 auto;width:100%}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;font-weight:700;color:rgba(255,255,255,.76)}.footer-links a{border-bottom:1px solid rgba(124,128,105,.65);padding-bottom:5px}.footer-links a:hover{color:#fff;border-color:var(--gold)}.legal-page{min-height:100vh;background:var(--paper);color:var(--ink)}.legal-hero{background:#474d3e;color:#fff;padding:70px clamp(22px,8vw,130px) 58px}.legal-back{display:inline-flex;margin-bottom:34px;font-size:12px;font-weight:700;color:rgba(255,255,255,.72);border-bottom:1px solid rgba(124,128,105,.65);padding-bottom:6px}.legal-back:hover{color:#fff;border-color:var(--gold)}.legal-hero h1{font-family:var(--font-serif),serif;font-size:clamp(46px,7vw,82px);font-weight:500;line-height:1;margin:14px 0 18px;max-width:980px}.legal-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.72);line-height:1.7}.legal-content{max-width:980px;margin:0 auto;padding:70px clamp(22px,7vw,90px) 90px}.legal-content article{padding:28px 0;border-bottom:1px solid var(--line)}.legal-content article:first-child{border-top:1px solid var(--line)}.legal-content h2{font-family:var(--font-serif),serif;font-size:32px;font-weight:500;margin:0 0 10px}.legal-content p{margin:0;color:var(--muted);line-height:1.8}.chat-widget{position:fixed;z-index:95;right:22px;bottom:22px;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.chat-launcher{position:relative;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:var(--gold);color:#FFFFFF;display:grid;place-items:center;box-shadow:0 12px 30px rgba(124,128,105,.5);transition:transform .2s ease,background .2s ease}.chat-launcher:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;animation:chat-pulse 2.4s ease-out infinite}.chat-launcher svg{transform-origin:50% 60%;animation:chat-wiggle 3.4s ease-in-out infinite}.chat-launcher:hover{transform:scale(1.07)}.chat-launcher:hover svg{animation-play-state:paused}.chat-launcher.open{background:var(--ink);color:#fff}.chat-launcher.open:after{display:none}.chat-launcher.open svg{animation:none}@keyframes chat-pulse{0%{box-shadow:0 0 0 0 rgba(124,128,105,.5)}70%{box-shadow:0 0 0 16px rgba(124,128,105,0)}to{box-shadow:0 0 0 0 rgba(124,128,105,0)}}@keyframes chat-wiggle{0%,82%,to{transform:rotate(0)}88%{transform:rotate(-13deg)}94%{transform:rotate(11deg)}}@media (prefers-reduced-motion:reduce){.chat-launcher svg,.chat-launcher:after,.chat-nudge{animation:none}}.chat-nudge{position:relative;max-width:274px;animation:nudge-pop .5s cubic-bezier(.18,.89,.32,1.28) both}.chat-nudge-body{display:flex;align-items:flex-start;gap:10px;text-align:left;font:inherit;cursor:pointer;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:16px 16px 4px 16px;padding:12px 14px;box-shadow:0 16px 38px rgba(31,41,46,.24);transition:border-color .2s ease}.chat-nudge-body:hover{border-color:var(--gold)}.chat-nudge-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--gold);color:#FFFFFF;display:grid;place-items:center}.chat-nudge-text{display:flex;flex-direction:column;gap:3px;font-size:12.5px;line-height:1.45}.chat-nudge-text strong{font-size:13px;font-weight:700;color:var(--gold)}.chat-nudge-close{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;border:0;cursor:pointer;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 3px 8px rgba(0,0,0,.25)}@keyframes nudge-pop{0%{opacity:0;transform:translateY(16px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-panel{width:min(370px,calc(100vw - 32px));height:min(520px,72vh);background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 70px rgba(0,0,0,.32);animation:chatIn .25s ease}@keyframes chatIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{background:var(--ink);color:#fff;padding:14px 16px;justify-content:space-between;flex-shrink:0}.chat-header,.chat-header-info{display:flex;align-items:center}.chat-header-info{gap:11px}.chat-avatar{width:34px;height:34px;border-radius:50%;background:var(--gold);color:#FFFFFF;display:grid;place-items:center;flex-shrink:0}.chat-header-info strong{display:block;font-size:14px}.chat-header-info span{font-size:11px;opacity:.7}.chat-close{background:rgba(255,255,255,.12);border:0;color:#fff;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.chat-close:hover{background:rgba(255,255,255,.22)}.chat-messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--paper)}.chat-msg{max-width:84%;padding:10px 13px;border-radius:13px;font-size:13px;line-height:1.5;white-space:pre-line;word-break:break-word}.chat-msg:not(.guest){align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.chat-msg.guest{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}.chat-msg.typing{opacity:.6;letter-spacing:.15em}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);background:#fff;flex-shrink:0}.chat-input input{flex:1 1;border:1px solid var(--line);border-radius:999px;padding:11px 16px;outline:0;font-size:13px;background:#fff}.chat-input button{width:42px;height:42px;border-radius:50%;border:0;background:var(--gold);color:#FFFFFF;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.chat-input button:disabled{opacity:.5;cursor:default}.panel-hint{margin:0 0 12px;line-height:1.5}.admin-empty,.panel-hint{font-size:13px;color:var(--muted,#6b7280)}.admin-empty{margin:6px 0}.admin-brand{display:flex;align-items:center;gap:11px}.admin-brand-mark{flex-shrink:0;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(124,128,105,.16);color:var(--gold);border:1px solid rgba(124,128,105,.4)}.admin-brand-text{display:flex;flex-direction:column;line-height:1.2}.admin-brand-text strong{font-size:15px;font-weight:700;letter-spacing:.02em}.admin-brand-text small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}.admin-sidebar nav{gap:3px;margin:34px 0}.admin-sidebar nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:9px;color:rgba(255,255,255,.6);font-size:13px;font-weight:500;border-left:2px solid transparent;transition:background .18s ease,color .18s ease,border-color .18s ease}.admin-sidebar nav a svg{flex-shrink:0;opacity:.85}.admin-sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}.admin-sidebar nav a.active{background:rgba(124,128,105,.14);color:#fff;border-left-color:var(--gold)}.admin-sidebar nav a.active svg{opacity:1;color:var(--gold)}.admin-sidebar-foot{display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.admin-sidebar-foot a{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.62);padding:6px 4px}.admin-sidebar-foot a:hover{color:#fff}.sidebar-signout{display:flex;align-items:center;gap:8px;margin-top:2px;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.85);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,color .18s ease}.sidebar-signout:hover{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.4);color:#fff}.admin-panel{border-radius:14px;box-shadow:0 1px 2px rgba(16,24,32,.04);margin-top:16px}.admin-panel h2{font-size:24px}.admin-main h1{font-size:38px}@media (max-width:900px){.admin-sidebar nav a{border-left:0}}.admin-main>header{gap:20px}.admin-header-copy{max-width:660px;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.admin-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.admin-preview-link{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:12px;font-weight:700;transition:border-color .18s ease,background .18s ease}.admin-preview-link:hover{border-color:var(--gold);background:var(--paper)}.admin-overview{margin-bottom:24px;padding:25px 26px 20px;border:1px solid rgba(124,128,105,.28);border-radius:15px;background:linear-gradient(135deg,#fffdf8,#fff 58%,#f5f0e6);box-shadow:0 8px 26px rgba(37,45,49,.05)}.admin-overview-intro h2{margin:6px 0 7px;font-family:var(--font-serif),serif;font-size:30px;font-weight:600}.admin-overview-intro p{max-width:620px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.admin-stat{min-height:86px;display:grid;grid-template-columns:22px 1fr;grid-template-rows:1fr auto;align-items:center;padding:14px;border:1px solid rgba(35,32,31,.1);border-radius:10px;background:rgba(255,255,255,.7)}.admin-stat svg{grid-row:1/-1;color:var(--gold)}.admin-stat strong{align-self:end;font-size:23px;line-height:1}.admin-stat span{align-self:start;margin-top:5px;color:var(--muted);font-size:11px;font-weight:600}.admin-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.admin-shortcuts a{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.admin-shortcuts a:hover{border-color:rgba(124,128,105,.75);box-shadow:0 5px 15px rgba(37,45,49,.08);transform:translateY(-1px)}.admin-shortcuts svg{flex:none;margin-top:2px;color:var(--gold)}.admin-shortcuts span{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-shortcuts strong{font-size:12px;line-height:1.3}.admin-shortcuts small{overflow:hidden;color:var(--muted);font-size:10.5px;line-height:1.35;text-overflow:ellipsis}.admin-overview-note{margin:14px 0 0;color:var(--muted);font-size:11px;font-weight:600}@media (max-width:1050px){.admin-shortcuts,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.admin-main>header{align-items:flex-start;flex-direction:column;margin-bottom:20px}.admin-main h1{font-size:34px}.admin-header-actions{width:100%;justify-content:space-between}.admin-overview{padding:20px 17px 16px}.admin-overview-intro h2{font-size:27px}.admin-shortcuts,.admin-stats{grid-template-columns:1fr 1fr;gap:8px}.admin-stat{min-height:76px}.admin-shortcuts a,.admin-stat{padding:11px}.admin-shortcuts small{white-space:normal}.admin-overview-note{line-height:1.5}}@media (max-width:410px){.admin-shortcuts,.admin-stats{grid-template-columns:1fr}.admin-header-actions{align-items:flex-start;flex-direction:column;gap:10px}}.admin-page{background:#f0f2f5}.admin-sidebar{z-index:5;padding:22px 12px;color:#1c1e21;border-right:1px solid #dddfe2;box-shadow:1px 0 2px rgba(0,0,0,.04)}.admin-brand{padding:0 10px 16px;border-bottom:1px solid #e4e6eb}.admin-brand-mark{width:36px;height:36px;border-radius:50%;background:#1877f2}.admin-brand-text small{color:#65676b}.admin-sidebar nav{gap:2px;margin:18px 0;overflow-y:auto}.admin-sidebar nav a{min-height:42px;padding:10px 11px;border-left:0;border-radius:8px;color:#1c1e21}.admin-sidebar nav a svg{color:#65676b}.admin-sidebar nav a:hover{background:#f2f3f5;color:#1c1e21}.admin-sidebar nav a.active{border-left:0;background:#e7f3ff;color:#1877f2}.admin-sidebar nav a.active svg{color:#1877f2}.admin-sidebar-foot{padding:14px 10px 0;border-top:1px solid #e4e6eb}.admin-sidebar-foot a{padding:8px 0;color:#65676b}.admin-sidebar-foot a:hover{color:#1877f2}.sidebar-signout{border:0;background:#e4e6eb;color:#1c1e21}.sidebar-signout:hover{background:#fbe7e9;color:#d93025}.admin-main{width:min(1120px,100%);margin:0 auto;padding:30px clamp(20px,3vw,40px) 56px}.admin-main>header{margin-bottom:16px;padding:0 4px}.admin-main h1{color:#1c1e21;font-family:var(--font-sans),sans-serif;font-size:30px;font-weight:700;letter-spacing:-.5px}.admin-main .eyebrow{color:#1877f2;letter-spacing:.08em}.admin-header-copy{color:#65676b}.admin-preview-link{border:0;border-radius:7px;background:#1877f2}.admin-preview-link:hover{background:#166fe5}.admin-overview{position:relative;overflow:hidden;padding:0 0 17px;border:1px solid #dddfe2;border-radius:9px;box-shadow:0 1px 2px rgba(0,0,0,.12)}.admin-overview-intro{padding:25px 24px 23px;background:linear-gradient(120deg,#1877f2,#4f9cff)}.admin-overview-intro .eyebrow{color:rgba(255,255,255,.78)}.admin-overview-intro h2{font-family:var(--font-sans),sans-serif;font-size:24px;font-weight:700}.admin-stats{padding:0 17px;margin-top:17px}.admin-stat{min-height:78px;border-color:#e4e6eb;border-radius:8px}.admin-stat svg{color:#1877f2}.admin-stat strong{color:#1c1e21;font-size:22px}.admin-stat span{color:#65676b}.admin-shortcuts{padding:0 17px;margin-top:12px}.admin-shortcuts a{border-color:#e4e6eb;border-radius:8px;background:#f7f8fa}.admin-shortcuts a:hover{border-color:#b6d7ff;background:#e7f3ff}.admin-shortcuts svg{color:#1877f2}.admin-shortcuts strong{color:#1c1e21}.admin-overview-note{padding:0 17px;color:#65676b}.admin-panel{padding:22px 24px;border-color:#dddfe2;border-radius:9px;box-shadow:0 1px 2px rgba(0,0,0,.12)}.admin-panel h2{font-family:var(--font-sans),sans-serif;font-size:21px;font-weight:700;color:#1c1e21}.panel-icon{border-radius:50%;background:#e7f3ff;color:#1877f2}.primary-button{border-radius:7px;background:#1877f2;color:#fff}.primary-button:hover{background:#166fe5}.editor-form input,.editor-form select,.editor-form textarea{border-color:#ccd0d5;border-radius:7px}.editor-form input:focus,.editor-form select:focus,.editor-form textarea:focus{outline:2px solid #b6d7ff;border-color:#1877f2}@media (max-width:900px){.admin-page{grid-template-columns:1fr}.admin-sidebar{padding:14px 14px 10px;border-right:0;border-bottom:1px solid #dddfe2}.admin-brand{padding:0 4px 12px}.admin-sidebar nav{margin:12px 0;gap:5px}.admin-sidebar nav a{white-space:nowrap}.admin-sidebar-foot{display:none}.admin-main{padding:23px 16px 42px}}@media (max-width:700px){.admin-overview-intro{padding:21px 18px}.admin-overview-note,.admin-shortcuts,.admin-stats{padding:0 12px}.admin-panel{padding:19px 16px}.admin-main h1{font-size:27px}}.panel-heading-main{display:flex;align-items:center;gap:13px}.panel-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(124,128,105,.14);color:var(--gold);border:1px solid rgba(124,128,105,.32)}.upload-card-meta span,.upload-card-type{display:inline-flex;align-items:center;gap:5px}.upload-card-meta svg,.upload-card-type svg{opacity:.7}.edit-title{display:inline-flex;align-items:center;gap:7px}.form-flash{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:230px;margin:20px 0;background:#fff;border:1px dashed rgba(46,125,101,.5);border-radius:12px;text-align:center;animation:fadeIn .2s ease}.form-flash,.form-flash svg{color:var(--green)}.form-flash strong{font-family:var(--font-serif),serif;font-size:24px;font-weight:500;color:var(--ink)}.rich-field{display:flex;flex-direction:column;gap:8px}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rich-toolbar button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:6px 9px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.rich-toolbar button:hover{border-color:var(--gold);color:var(--gold)}.rich-hint{font-size:11px;color:var(--muted);margin-left:auto}.rich-field textarea{width:100%;border:1px solid var(--line);padding:12px;background:#fff;min-height:84px;resize:vertical;font:inherit;line-height:1.5}.rich-preview{border:1px dashed var(--line);border-radius:8px;padding:11px 14px;background:rgba(124,128,105,.06)}.rich-preview-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:700;margin-bottom:6px}.formatted{line-height:1.65}.formatted>:first-child{margin-top:0}.formatted>:last-child{margin-bottom:0}.formatted h4{font-family:var(--font-serif),serif;font-size:1.2em;font-weight:600;margin:.7em 0 .3em}.formatted p,.formatted ul{margin:.45em 0}.formatted ul{padding-left:1.2em}.formatted li{margin:.2em 0}.formatted strong{font-weight:700}.formatted em{font-style:italic}.formatted a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.formatted a:hover{opacity:.8}.image-list-grid{display:flex;flex-wrap:wrap;gap:10px}.image-thumb{position:relative;width:84px;height:84px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.image-thumb>img{width:100%;height:100%;object-fit:cover}.image-thumb-badge{position:absolute;left:0;right:0;bottom:0;background:rgba(124,128,105,.92);color:#FFFFFF;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center;padding:2px}.image-thumb>button{position:absolute;top:3px;right:3px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;cursor:pointer}.image-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:84px;height:84px;border:1px dashed var(--line);border-radius:8px;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;text-align:center}.image-add:hover{border-color:var(--gold);color:var(--gold)}.image-add input{display:none}.family-edit{padding:12px 0;border-bottom:1px solid var(--line)}.lightbox-gallery{display:flex;flex-direction:column;gap:12px;min-width:0;align-items:center;max-height:88vh}.lightbox-stage.with-info .lightbox-gallery .lightbox-media{max-height:calc(86vh - 94px);min-height:0}.lightbox-thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:100%;flex-shrink:0}.lightbox-thumbs button{width:62px;height:62px;border:2px solid transparent;border-radius:6px;overflow:hidden;padding:0;cursor:pointer;background:none;opacity:.55;transition:opacity .2s,border-color .2s}.lightbox-thumbs button:hover{opacity:1}.lightbox-thumbs button.active{opacity:1;border-color:var(--gold)}.lightbox-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.admin-toast{position:fixed;z-index:1200;right:20px;bottom:20px;display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:9px;padding:13px 15px;box-shadow:0 14px 44px rgba(0,0,0,.2);max-width:380px;animation:toastIn .28s cubic-bezier(.2,.7,.2,1)}.admin-toast>svg:first-child{color:var(--green);flex-shrink:0}.admin-toast span{font-size:13px;font-weight:600;color:var(--ink);line-height:1.45}.admin-toast button{margin-left:2px;border:0;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.admin-toast button:hover{color:var(--ink)}.admin-toast.error{border-left-color:var(--red)}.admin-toast.error>svg:first-child{color:var(--red)}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.admin-toast{right:12px;left:12px;bottom:12px;max-width:none}}.qr-preview{width:150px;height:150px;object-fit:contain;border:1px solid var(--line);background:#fff;padding:6px;border-radius:8px;margin-top:4px}.settings-group-title{grid-column:1/-1;margin:22px 0 2px;font-family:var(--font-serif),serif;font-size:20px;font-weight:600;color:var(--ink);border-top:1px solid var(--line);padding-top:20px}.visitor-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.visitor-row{display:grid;grid-template-columns:44px 1fr 180px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.visitor-row:last-child{border-bottom:0}.visitor-row strong{font-weight:600;color:var(--ink)}.visitor-row>span:last-child{color:var(--muted);font-size:13px}.visitor-head{background:var(--paper);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.visitor-head,.visitor-head span:last-child{color:var(--muted)}@media(max-width:560px){.visitor-row{grid-template-columns:30px 1fr;row-gap:2px}.visitor-row>span:last-child{grid-column:1/-1;padding-left:42px;font-size:12px}.visitor-head{display:none}}.hero-image-tools{display:flex;flex-direction:column;gap:8px;margin-top:-2px}.hero-image-preview{width:100%;max-height:180px;object-fit:cover;border:1px solid var(--line);border-radius:8px}.gift-modal{position:fixed;z-index:1100;inset:0;display:grid;align-items:start;justify-items:center;overflow-y:auto;padding:clamp(80px,10vh,120px) 22px 22px;background:rgba(14,21,25,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .25s ease}.gift-card{position:relative;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;text-align:center;background:linear-gradient(180deg,#fffdf8,#f4ecdc);border:1px solid rgba(124,128,105,.62);border-radius:8px;padding:34px 28px 26px;box-shadow:0 28px 80px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.35);animation:popUp .3s cubic-bezier(.2,.7,.2,1)}.gift-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(35,32,31,.12);border-radius:50%;background:rgba(255,255,255,.72);color:var(--muted);cursor:pointer}.gift-close:hover{background:#fff;color:var(--ink)}.gift-head{display:flex;align-items:center;justify-content:center;gap:11px;color:var(--gold)}.gift-head h3{font-family:var(--font-serif),serif;font-size:26px;margin:0;color:var(--ink)}.gift-field{display:flex;flex-direction:column;gap:6px;text-align:left;margin:20px 0 6px}.gift-field span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.gift-field select{width:100%;border:1px solid var(--line);background:#fff;padding:12px;font-size:14px}.gift-methods{gap:16px;margin-top:8px}.gift-method,.gift-methods{display:flex;flex-direction:column}.gift-method{align-items:center;gap:10px;border-top:1px solid rgba(124,128,105,.3);padding-top:16px}.gift-method:first-child{border-top:0;padding-top:0}.gift-pay{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#FFFFFF;font-weight:700;padding:13px 22px;font-size:14px}.gift-pay:hover{filter:brightness(1.05)}.gift-qr{display:flex;flex-direction:column;align-items:center;gap:8px}.gift-qr img{width:210px;height:210px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}.gift-qr span{font-size:13px;color:var(--muted)}.gift-account{white-space:pre-wrap;text-align:left;width:100%;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;font-family:var(--font-sans),sans-serif;color:var(--ink);margin:0}.gift-account,.gift-note{font-size:13px;line-height:1.6}.gift-note{margin:2px 0 0;color:#735f3b;font-family:var(--font-serif),serif}.gift-heart{color:var(--gold);fill:var(--gold);margin-top:16px}body{overflow-x:clip}.hero-content{max-width:min(700px,88vw)}.hero h1{overflow-wrap:break-word}@media(max-width:1200px){.family-grid,.memories-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.event-record{flex-wrap:wrap}.editor-form{grid-template-columns:1fr}.editor-form .field.wide,.editor-form .wide{grid-column:auto}}@media(max-width:480px){.content-section,.gallery-section,.tools-grid{padding-left:16px;padding-right:16px}.admin-main{padding:20px 13px}.hero h1{font-size:clamp(44px,13vw,62px)}.lightbox-thumbs button{width:52px;height:52px}}.hero{height:100svh;min-height:560px}@media (min-width:1024px) and (max-height:760px){.hero-photos{width:clamp(240px,26vw,340px)}.hero-photo-center{width:clamp(220px,22vw,300px)}}@media (max-height:500px){.hero{min-height:0;height:auto;overflow:visible;padding:96px 20px 64px}.hero-content{position:static;transform:none;margin-inline:auto}.hero-photo-center,.hero-photos{position:static;transform:none;margin:24px auto 0}.hero-scroll{display:none}}footer{flex-wrap:wrap}footer p{max-width:52ch}@media (max-width:900px){footer{gap:22px;padding:44px clamp(20px,6vw,60px)}.footer-links{gap:14px}}@media (max-width:560px){footer{padding:40px 18px;gap:18px}.footer-links{gap:10px}.footer-links,footer>div:last-child{flex-direction:column;align-items:flex-start}footer>div:last-child{gap:14px}}@media (min-width:1024px){.hero-content{max-width:min(500px,40vw)}.hero h1.hero-title{font-size:clamp(56px,8.5vw,140px)}.hero-actions,.hero-content p.hero-tagline,.hero-meta{max-width:27vw}}.location-strip h2{font-size:clamp(30px,7vw,44px)}.action-card h3,.family-card h3,.gallery-item h3,.intro-band h2,.legal-content h2,.legal-hero h1,.location-strip h2,.section-heading h2{overflow-wrap:break-word}@media (min-width:901px) and (max-width:1080px){.nav{gap:16px}.store-badge{padding:6px 9px}.store-badge strong{font-size:11px}}@media (max-width:900px){.location-links{justify-content:flex-start}.family-grid{grid-template-columns:1fr 1fr}.memories-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:560px){.intro-band{padding:56px 18px}.location-strip{padding:48px 18px}.action-card{padding:40px 24px;min-height:0}.gallery-grid{grid-auto-rows:240px}.family-grid{grid-template-columns:1fr}.memories-grid{grid-template-columns:1fr 1fr}}@media (max-width:400px){.gallery-grid{grid-auto-rows:210px}.family-image{height:280px}}.content-records article>div:not(.record-actions){flex:1 1;min-width:0}.gallery-by-event-link{display:block;margin-top:10px;font-size:12px;font-weight:700;color:var(--gold)}.gallery-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.gallery-picker-card{position:relative;display:block;height:200px;overflow:hidden;background:var(--ink);border:1px solid var(--line)}.gallery-picker-card img,.gallery-picker-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-picker-card:hover img,.gallery-picker-card:hover video{transform:scale(1.05)}.gallery-picker-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(15,22,25,.82))}.gallery-picker-caption{position:absolute;z-index:2;left:16px;bottom:12px;right:16px;display:flex;flex-direction:column;color:#fff}.gallery-picker-caption strong{font-family:var(--font-serif),serif;font-size:20px}.gallery-picker-caption span{font-size:11px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.1em}.swipe-content{display:flex;justify-content:center}.swipe-deck{position:relative;width:min(420px,100%);height:min(78vh,620px);touch-action:pan-y}.swipe-card{position:absolute;inset:0;background:var(--ink);border:1px solid var(--line);overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none}.swipe-card:not(.swipe-card-top){pointer-events:none}.swipe-card img,.swipe-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.swipe-card-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:16px 18px;background:linear-gradient(transparent,rgba(15,22,25,.85));color:#fff;display:flex;flex-direction:column;gap:2px}.swipe-card-overlay strong{font-family:var(--font-serif),serif;font-size:20px}.swipe-card-overlay span{font-size:12px;color:rgba(255,255,255,.78)}.swipe-progress{position:absolute;top:12px;right:16px;z-index:3;font-size:11px;font-weight:700;color:#fff;background:rgba(0,0,0,.45);padding:4px 9px}.swipe-end{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 0;text-align:center}@media(max-width:560px){.swipe-deck{height:70vh}}.assign-events-back{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px}.assign-events-toolbar{display:flex;align-items:center;gap:10px;margin:16px 0;flex-wrap:wrap}.assign-events-toolbar select{border:1px solid var(--line);padding:10px;background:#fff}.btn-select-all{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;padding:9px 12px;font-size:12px;font-weight:700;cursor:pointer}.assign-events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.assign-events-item{position:relative;display:block;height:220px;border:2px solid var(--line);overflow:hidden;cursor:pointer}.assign-events-item.selected{border-color:var(--gold)}.assign-events-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.assign-events-item input{position:absolute;z-index:3;top:8px;left:8px;width:18px;height:18px}.assign-events-item img,.assign-events-item video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.assign-events-zoom{position:absolute;z-index:3;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:6px;background:rgba(12,16,20,.6);color:#fff;display:grid;place-items:center;cursor:pointer}.assign-events-zoom:hover{background:rgba(12,16,20,.9)}.assign-events-meta{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:8px 10px;background:linear-gradient(transparent,rgba(15,22,25,.82));color:#fff;display:flex;flex-direction:column;font-size:11px}.assign-events-meta strong{font-size:12px}.memories-page-top{padding:24px clamp(22px,7vw,110px) 0}.memories-empty-cta{color:var(--gold);font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:2px}.memories-page-top .legal-back{color:var(--muted);border-bottom:1px solid var(--gold);padding-bottom:4px}.memories-page-top .legal-back:hover{color:var(--ink)}.upload-voice-recorder{grid-column:1/-1;margin:0 0 14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--white) 72%,transparent)}.upload-voice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:var(--ink)}.upload-voice-heading>span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.upload-voice-heading small{color:var(--muted);font-size:10px;text-align:right}.upload-voice-recording,.upload-voice-start{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;font-weight:700}.upload-voice-start:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,#fff)}.upload-voice-recording{color:#a3342d;border-color:color-mix(in srgb,#a3342d 30%,transparent);background:color-mix(in srgb,#a3342d 7%,#fff)}.upload-voice-pulse{width:9px;height:9px;border-radius:50%;background:#c43c34;box-shadow:0 0 0 0 rgba(196,60,52,.4);animation:voice-recording-pulse 1.4s infinite}.upload-voice-preview{display:flex;align-items:center;gap:9px}.upload-voice-preview audio{width:100%;height:40px;min-width:0}.upload-voice-preview button{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:#a3342d;cursor:pointer}.upload-voice-error{margin:8px 0 0;color:#a3342d;font-size:11px}@keyframes voice-recording-pulse{70%{box-shadow:0 0 0 8px rgba(196,60,52,0)}to{box-shadow:0 0 0 0 rgba(196,60,52,0)}}.image-voice-player{position:absolute;z-index:9;left:16px;bottom:16px}.image-voice-player audio{display:none}.image-voice-player button{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:rgba(20,24,26,.72);box-shadow:0 8px 24px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;font-size:12px;font-weight:700}.image-voice-player button:hover{background:rgba(20,24,26,.9)}.image-voice-player svg{width:17px;height:17px;fill:none}.image-voice-player .image-voice-mark{width:14px;height:14px;opacity:.72}.story-viewer-media .image-voice-player,.swipe-card .image-voice-player{bottom:78px}.image-scroll-media .image-voice-player{top:18px;bottom:auto}.super-upload-media .image-voice-player{bottom:12px}@media(max-width:520px){.upload-voice-heading{align-items:flex-start;flex-direction:column}.upload-voice-heading small{text-align:left}.image-voice-player{left:10px;bottom:10px}.image-voice-player button{min-height:40px;padding:8px 10px}.story-viewer-media .image-voice-player,.swipe-card .image-voice-player{bottom:70px}.image-scroll-media .image-voice-player{top:10px;bottom:auto}}.admin-page{background:var(--blush-2);grid-template-columns:272px minmax(0,1fr)}.admin-sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);box-shadow:1px 0 2px rgba(35,32,31,.05)}.admin-brand{border-bottom-color:var(--line)}.admin-brand-mark{background:var(--rose);border:0;color:#fff}.admin-brand-text small{color:var(--muted)}.admin-sidebar nav a{color:var(--ink-2);font-weight:600}.admin-sidebar nav a svg{color:var(--muted);opacity:1}.admin-sidebar nav a:hover{background:var(--blush-2);color:var(--ink)}.admin-sidebar nav a.active{background:var(--rose-wash);color:var(--rose)}.admin-sidebar nav a.active svg{color:var(--rose)}.admin-sidebar-foot{border-top-color:var(--line)}.admin-sidebar-foot a{color:var(--muted);font-weight:600}.admin-sidebar-foot a:hover{color:var(--rose)}.sidebar-signout{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2)}.sidebar-signout:hover{background:var(--red-wash);color:var(--red)}.admin-main,.admin-main h1{color:var(--ink)}.admin-main h1{font-family:var(--display)}.admin-main .eyebrow{color:var(--rose)}.admin-header-copy{color:var(--ink-2)}.admin-preview-link{border:1px solid var(--rose);border-radius:999px;background:var(--rose);color:#fff}.admin-preview-link:hover{background:var(--rose-deep);border-color:var(--rose-deep);color:#fff}.admin-overview{border-color:var(--line);background:#fff;box-shadow:var(--shadow-sm)}.admin-overview-intro{color:#fff;background:linear-gradient(120deg,var(--rose),var(--rose-deep))}.admin-overview-intro .eyebrow{color:rgba(255,255,255,.8)}.admin-overview-intro h2{color:#fff;font-family:var(--display)}.admin-overview-intro p{color:rgba(255,255,255,.92)}.admin-stat{border-color:var(--line);background:#fff}.admin-stat strong{color:var(--ink)}.admin-overview-note,.admin-shortcuts small,.admin-stat span{color:var(--muted)}.admin-shortcuts svg,.admin-stat svg{color:var(--rose)}.admin-shortcuts a{border-color:var(--line);background:var(--blush-2)}.admin-shortcuts a:hover{border-color:var(--rose-soft);background:var(--rose-wash);box-shadow:none}.admin-shortcuts strong{color:var(--ink)}.admin-panel{border-color:var(--line);background:#fff;box-shadow:var(--shadow-sm)}.admin-panel h2{color:var(--ink);font-family:var(--display)}.panel-icon{border:0;background:var(--rose-wash);color:var(--rose)}.admin-page .primary-button{border-radius:999px;background:var(--rose);color:#fff}.admin-page .primary-button:hover{background:var(--rose-deep)}.admin-page .editor-form input,.admin-page .editor-form select,.admin-page .editor-form textarea{border-color:var(--line);border-radius:9px}.admin-page .editor-form input:focus,.admin-page .editor-form select:focus,.admin-page .editor-form textarea:focus{outline:2px solid var(--rose-wash);border-color:var(--rose)}.login-managed{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:#8a8f98;background:rgba(0,0,0,.04)}.login-hint{display:block;margin-top:2px;font-size:12px;color:#8a8f98;font-style:italic}.panel-description{margin:6px 0 0;max-width:68ch;font-size:13px;line-height:1.6;color:var(--muted,#6b7280)}.brand-logo-img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}:is(.lp-seal,.au-seal,.pf-brand-mark,.policy-brand>span:first-child):has(>.brand-logo-img){width:40px!important;height:40px!important;aspect-ratio:1;padding:0!important;background:#fcfaf6!important;border:1px solid #dedfd3!important;border-radius:50%!important;box-shadow:0 3px 10px rgba(85,92,76,.08)!important;overflow:hidden}.primary-button{border-radius:999px;background:var(--gold);color:#ffffff}.primary-button:hover{background:#60664f}.access-gate{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(32,38,30,.62);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.access-gate-panel{position:relative;overflow:hidden;width:min(440px,100%);padding:40px 34px 32px;border-radius:18px;border:1px solid #e2e0d5;background:radial-gradient(ellipse at top right,#f2efe6 0,transparent 56%),radial-gradient(ellipse at bottom left,#f3f1eb 0,transparent 52%),#fcfaf6;color:#555c4c;text-align:center;box-shadow:0 28px 72px rgba(32,38,30,.28)}.access-botanical{position:absolute;width:175px;height:auto;color:#93997b;pointer-events:none}.access-gate-leaves{right:-46px;top:-54px;transform:rotate(111deg);opacity:.48;z-index:0}.access-gate-panel>:not(.access-botanical){position:relative;z-index:1}.access-seal{width:78px;height:78px;margin:0 auto 18px;border-radius:50%;border:1px solid #dedfd3;background:#fcfaf6;box-shadow:0 6px 18px rgba(85,92,76,.1);overflow:hidden;display:grid;place-items:center}.access-gate-panel .access-logo{display:block;width:100%;height:100%;margin:0;border:0;border-radius:50%;object-fit:contain}.access-gate-panel .eyebrow{display:block;margin:0 0 10px;font-family:var(--font-karla),var(--font-sans),sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:#71775f}.access-gate-panel h2{margin:0 0 12px;font-family:var(--font-serif),Georgia,serif;font-size:clamp(38px,6vw,48px);font-weight:400;line-height:1.02;letter-spacing:-.035em;color:#555c4c}.access-gate-panel p{margin:0 auto 24px;max-width:34ch;font-family:var(--font-karla),var(--font-sans),sans-serif;font-size:14.5px;line-height:1.68;color:#797b73}.access-gate-panel form{display:grid;gap:13px}.access-gate-panel .code-field{display:flex;align-items:center;gap:11px;min-height:50px;padding:0 15px;border:1px solid #dedfd3;border-radius:10px;background:#ffffff;color:#7c8069;box-shadow:0 2px 8px rgba(85,92,76,.03);transition:border-color .18s ease,box-shadow .18s ease}.access-gate-panel .code-field:hover{border-color:#bfc3b0}.access-gate-panel .code-field:focus-within{border-color:#7c8069;box-shadow:0 0 0 3px rgba(124,128,105,.15)}.access-gate-panel .code-field svg{flex:none;color:#7c8069;stroke-width:1.6}.access-gate-panel .code-field input{width:100%;border:0;outline:0;background:transparent;padding:13px 0;text-align:left;font-family:var(--font-karla),var(--font-sans),sans-serif;font-size:14.5px;font-weight:500;letter-spacing:normal;color:#555c4c}.access-gate-panel .code-field input::placeholder{color:#a2a598;font-weight:400;letter-spacing:normal}.access-gate-panel .access-error{margin:2px 0;padding:10px 12px;border-radius:8px;border:1px solid #e2b8b5;background:#fdf2f1;color:#8e332e;font-size:12.5px}.access-gate-panel .access-error,.access-gate-panel .primary-button{font-family:var(--font-karla),var(--font-sans),sans-serif;font-weight:500}.access-gate-panel .primary-button{width:100%;min-height:50px;margin:6px 0 0;padding:13px 26px;border:1px solid #7c8069;border-radius:999px;background:#7c8069;color:#ffffff;font-size:13.5px;letter-spacing:.02em;box-shadow:0 8px 20px rgba(96,102,79,.2);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,box-shadow .22s ease}.access-gate-panel .primary-button:hover:not(:disabled){background:#60664f;border-color:#60664f;box-shadow:0 10px 24px rgba(96,102,79,.28)}.access-gate-panel .primary-button:disabled{opacity:.68;cursor:default}.access-gate-panel small{display:block;margin-top:18px;font-family:var(--font-karla),var(--font-sans),sans-serif;font-size:11.5px;color:#85867e}.admin-login input{font-size:16px;letter-spacing:normal;border-radius:10px}.feed-page .bmark img[data-custom-logo],.feed-page .bmark:has([data-custom-logo]),[data-custom-logo]{border-radius:0}.wedding-owner-shortcuts{position:fixed;left:20px;bottom:20px;z-index:210;max-width:calc(100vw - 40px);padding:5px;border:1px solid #dce5d1;border-radius:12px;background:#fffefa;box-shadow:0 5px 20px #24331c16}.wedding-owner-shortcuts nav{display:flex;flex-wrap:wrap;gap:3px}.wedding-owner-shortcuts a{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:7px;color:#647951;font-size:11px;font-weight:600;text-decoration:none}.wedding-owner-shortcuts a:hover{background:#f0f4e9}body:has(.we-toolbar) .wedding-owner-shortcuts{bottom:86px}body:has(.we-toolbar.is-editing) .wedding-owner-shortcuts{display:none}@media(max-width:700px){.wedding-owner-shortcuts{left:10px;bottom:77px;max-width:calc(100vw - 20px)}body:has(.we-toolbar) .wedding-owner-shortcuts{bottom:78px}body:has(.we-toolbar[data-page=memories]) .wedding-owner-shortcuts{bottom:143px}.wedding-owner-shortcuts a{padding:7px 8px;font-size:10px}}