/* Palette, typefaces and botanical artwork from the wedding invitation. */
@font-face{font-family:Trajan Invito;src:url('/static/trajan-invito.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#545454;--muted:#68685f;--paper:#fefbf2;--card:#fffdf7;--line:#d4cfc7;--rose:#727e56;--rose-dark:#596440;--sage:#637247;--shadow:0 8px 28px #695b3310;--radius:5px}
body{background:var(--paper)}
.wordmark{font-family:Trajan Invito,Georgia,serif;font-size:1rem;white-space:normal}
.wordmark span{color:#917838}
body[data-page="home"]{background:var(--paper);font-family:Georgia,'Times New Roman',serif}
.home-shell{position:relative;width:min(100%,580px);padding:22px 24px max(28px,env(safe-area-inset-bottom));isolation:isolate}
.home-shell .site-header{display:flex;flex-direction:column;gap:0;padding:0;text-align:center}
.wedding-monogram{display:block;width:76px;height:73px;object-fit:contain;margin:0 auto 10px}
.wedding-date{margin:0;color:#76613a;font:12px/1.6 Trajan Invito,Georgia,serif;letter-spacing:.1em}
.home-shell .hero{padding:23px 0 25px;text-align:center}
.home-shell .hero h1{font:400 clamp(1.35rem,5.7vw,1.9rem)/1.5 Trajan Invito,Georgia,serif;letter-spacing:0;color:#616160;margin:0}
.home-shell .hero h1 em{font:inherit;color:inherit}
.home-shell .intro{font:16px/1.6 Georgia,serif;color:var(--muted);margin:14px auto 0}
.home-shell .upload-card{border:1px solid #c9c4b5;border-radius:4px;background:#fffdf8;padding:23px 18px 19px;box-shadow:var(--shadow)}
.home-shell .upload-card-head{justify-content:center;text-align:center;margin-bottom:19px}
.home-shell .upload-card h2{font:400 16px/1.5 Trajan Invito,Georgia,serif;letter-spacing:.02em;color:#80682e}
.home-shell .picker-grid{display:flex;flex-direction:column;gap:11px}
.home-shell .picker{position:relative;flex-direction:row;min-height:58px;gap:12px;border:1px solid #8b956f;border-radius:4px;font:16px/1.4 Georgia,serif;padding:12px;transition:background .15s}
.home-shell .picker-gallery{background:#727e56;color:#fffdf7;border-color:#727e56}
.home-shell .picker-camera{background:transparent;color:#596440}
.home-shell .picker:hover{transform:none;background:#edf0e3;color:#465333}
.home-shell .picker-gallery:hover{background:#596440;color:white}
.home-shell .picker:focus-within{outline:3px solid #917838;outline-offset:3px;transform:none}
.home-shell .picker-icon{width:23px;height:23px;flex-shrink:0}
.picker-hint{text-align:center;font:14px/1.5 Georgia,serif;color:#616160;margin:14px 0 0}
.home-shell .format-note{font:12px/1.65 Arial,sans-serif;color:#707067;margin:7px 0 0}
.home-shell .guest-field{margin-top:19px;padding-top:18px}
.home-shell .guest-field label{font:16px/1.4 Georgia,serif}
.home-shell .guest-field input{font:16px/1.4 Georgia,serif;padding:12px 10px;border-radius:4px;width:100%}
.home-shell .field-row{flex-wrap:wrap}
.home-shell .button{border-radius:4px;min-height:46px;font-size:12px}
.home-shell .field-note{font:14px/1.5 Georgia,serif}
.home-shell .uploads-section{padding-top:28px}
.home-shell .section-heading h2{font:400 16px/1.5 Trajan Invito,Georgia,serif;color:#80682e}
.home-shell .upload-item{grid-template-columns:48px minmax(0,1fr) auto;border-radius:4px;gap:9px}
.home-shell .upload-thumb{width:48px;height:48px;border-radius:3px}
.home-shell .upload-name{font-size:16px}
.home-shell .upload-state{font-size:14px;overflow-wrap:anywhere}
.home-shell .retry-file{min-height:44px;font-size:12px;grid-column:2/-1;justify-self:end}
.home-shell .count-badge{background:#edf0e3;color:#596440;font-size:12px}
.home-shell .home-footer-cta{padding:24px 0 5px}
.home-shell .home-footer-cta p{font:14px/1.5 Georgia,serif;margin-bottom:16px}
.home-shell .home-footer-cta .closing-note{font:400 16px/1.6 Georgia,serif;color:#68685f;margin-bottom:0}
a:focus-visible,button:focus-visible{outline:3px solid #917838;outline-offset:3px}
.toast{max-width:calc(100vw - 32px);font-size:14px;line-height:1.5;bottom:max(20px,env(safe-area-inset-bottom))}
@media(min-width:700px){.home-shell{padding-top:30px}.home-shell .hero{padding-top:28px}.home-shell .upload-card{padding:27px 32px}.home-shell .picker-grid{flex-direction:row}.home-shell .picker{flex:1;flex-direction:column;min-height:108px}.home-shell .home-footer-cta{padding-top:28px}}
@media(max-width:360px){.home-shell{padding-left:16px;padding-right:16px}.home-shell .upload-card{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
body[data-page="home"]{position:relative;min-height:100svh;isolation:isolate}
.floral-frame{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.flower{position:absolute;width:40px;height:90px;opacity:.13}
.top-left{top:-16px;left:7px;transform:rotate(-145deg)}
.top-right{top:-16px;right:7px;transform:rotate(145deg) scaleX(-1)}
.bottom-left{bottom:-10px;left:0;transform:rotate(25deg)}
.bottom-right{bottom:-10px;right:0;transform:rotate(-25deg) scaleX(-1)}


.video-placeholder{display:flex;align-items:center;justify-content:center;background:#edf0e3;color:#637247;font:24px/1 Georgia,serif}.download-original{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;color:var(--rose-dark);font:14px/1.4 Georgia,serif}

.admin-video{display:flex;flex-direction:column;padding:12px;gap:12px}.original-player{display:block;width:100%;max-height:440px;aspect-ratio:16/10;object-fit:contain;background:#252922;border-radius:5px}.admin-video .admin-meta{font-size:14px;line-height:1.6}.player-note{font:14px/1.5 Georgia,serif;color:var(--muted);margin:0}.admin-video .admin-photo-title{font-size:16px}.admin-video .admin-actions button{font-size:12px;min-height:44px}
