:root{color-scheme:light;--ivory: #faf6ec;--paper: #fffdf6;--cream: #f3ead9;--linen: #ece1cc;--gold: #b08d4f;--gold-deep: #8a6a34;--gold-soft: #d5bd8e;--gold-line: rgba(176, 141, 79, .4);--gold-faint: rgba(176, 141, 79, .16);--forest: #22382b;--forest-deep: #14251b;--sage: #75866f;--rose: #a86a74;--ink: #2b2118;--muted: #7c7060;--line: rgba(122, 96, 58, .18);--line-strong: rgba(122, 96, 58, .3);--shadow-soft: 0 18px 50px rgba(66, 48, 26, .1);--shadow-lift: 0 26px 70px rgba(66, 48, 26, .16);--radius: 3px;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-script: "Great Vibes", "Segoe Script", cursive;--font-sans: Jost, Inter, ui-sans-serif, system-ui, sans-serif;font-family:var(--font-sans);background:var(--ivory);color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{position:relative;margin:0;min-width:320px;min-height:100vh;font-weight:400;letter-spacing:.01em;background:radial-gradient(60rem 38rem at 8% -6%,rgba(213,189,142,.22),transparent 60%),radial-gradient(52rem 34rem at 104% 12%,rgba(168,106,116,.1),transparent 62%),linear-gradient(180deg,#fbf7ee,#f4ecdc 55%,#fbf7ef)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.28 0 0 0 0 0.18 0 0 0 0.05 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>")}body,button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}::selection{color:var(--paper);background:var(--forest)}.app-shell{min-height:100vh}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font-serif);font-weight:500;line-height:1.08;letter-spacing:.005em}h3{font-family:var(--font-serif);font-weight:600;letter-spacing:.01em}.eyebrow{display:inline-flex;align-items:center;gap:.75rem;margin:0 0 .7rem;color:var(--gold-deep);font-size:.74rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase}.eyebrow:before,.eyebrow:after{width:2.1rem;height:1px;content:"";background:linear-gradient(90deg,transparent,var(--gold-line))}.eyebrow:after{background:linear-gradient(90deg,var(--gold-line),transparent)}.ornament{display:block;width:min(15rem,68%);height:auto;color:var(--gold)}.heading-ornament{margin:.55rem 0 1rem}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem max(1rem,calc((100% - 1180px)/2));background:#faf6ecd1;border-bottom:1px solid var(--line);box-shadow:0 1px #fff9 inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:.72rem;min-width:max-content}.brand-mark{position:relative;display:inline-grid;place-items:center;width:2.7rem;height:2.7rem;color:var(--gold-deep);background:var(--paper);border:1px solid var(--gold-line);border-radius:50%;box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--gold-faint);font-family:var(--font-serif);font-size:1.02rem;font-weight:600;letter-spacing:.08em}.brand-names{display:inline-flex;align-items:baseline;gap:.4rem;color:var(--ink);font-family:var(--font-serif);font-size:1.22rem;font-weight:600;letter-spacing:.03em;line-height:1}.brand-names small{color:var(--gold);font-family:var(--font-script);font-size:1.15rem;transform:translateY(.08rem)}.main-nav{display:flex;gap:.3rem;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-link{position:relative;display:inline-flex;align-items:center;gap:.42rem;padding:.72rem .78rem;color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:color .18s ease}.nav-link:after{content:"";position:absolute;left:.78rem;right:.78rem;bottom:.4rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .22s ease}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.btn,.icon-text-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.85rem;border-radius:999px;font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.1;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.btn{padding:.9rem 1.5rem;border:1px solid transparent;text-align:center}.btn:hover,.icon-text-button:hover{transform:translateY(-1px)}.btn-primary{color:#f7f2e6;background:linear-gradient(150deg,var(--forest),var(--forest-deep));border-color:#d5bd8e59;box-shadow:0 0 0 4px #22382b0f,0 16px 34px #14251b42}.btn-primary:hover{border-color:#d5bd8eb3;box-shadow:0 0 0 4px #22382b17,0 20px 42px #14251b52}.btn-secondary{color:var(--ink);background:#fffdf6bf;border-color:var(--gold-line)}.btn-secondary:hover{background:var(--paper);border-color:var(--gold)}.btn-success{color:#f7f2e6;background:var(--forest)}.btn-soft-danger{color:#7a343a;background:#f7e7e4;border-color:#7a343a33}.btn-small{min-height:2.4rem;padding:.58rem 1rem;font-size:.76rem}.btn-full{width:100%}.icon-button{display:inline-grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;color:var(--ink);background:#fffdf8f0;border:1px solid var(--gold-line);box-shadow:0 12px 28px #12100e38;transition:transform .16s ease,background .16s ease}.icon-button:hover{transform:scale(1.05);background:#fff}.icon-text-button{padding:.7rem 1rem;color:var(--ink);background:#fffdf7d9;border:1px solid var(--line);font-size:.76rem}.icon-text-button:hover{border-color:var(--gold-line);background:var(--paper)}.hero-section{position:relative;isolation:isolate;display:grid;align-items:center;min-height:86svh;overflow:hidden;padding:5rem max(1.4rem,calc((100% - 1180px)/2)) 4.6rem;border-bottom:1px solid var(--line)}.hero-section:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;content:"";background:linear-gradient(90deg,#faf6ecf7,#faf6ece0 40%,#faf6ec47 78%),linear-gradient(180deg,#faf6ec33,#2b211838),url(/wedding-hero-editorial.png) center / cover no-repeat}.hero-section:after{position:absolute;inset:auto 0 0 0;z-index:-2;height:12rem;content:"";background:linear-gradient(180deg,rgba(250,246,236,0),var(--ivory))}.hero-frame{position:absolute;top:1.1rem;right:1.1rem;bottom:1.1rem;left:1.1rem;z-index:1;pointer-events:none;border:1px solid rgba(176,141,79,.45)}.hero-frame:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(176,141,79,.22)}.hero-content{position:relative;z-index:2;width:min(100%,700px);padding-left:.4rem}.hero-content>*{animation:fadeUp .7s ease both}.hero-content>*:nth-child(2){animation-delay:70ms}.hero-content>*:nth-child(3){animation-delay:.14s}.hero-content>*:nth-child(4){animation-delay:.21s}.hero-content>*:nth-child(5){animation-delay:.28s}.hero-content>*:nth-child(6){animation-delay:.35s}.hero-content>*:nth-child(7){animation-delay:.42s}.hero-content>*:nth-child(8){animation-delay:.49s}.hero-script{margin:0 0 .4rem;color:var(--gold-deep);font-family:var(--font-script);font-size:clamp(1.7rem,3.4vw,2.3rem);line-height:1.2}.hero-names{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.1rem;margin-bottom:.6rem;font-size:clamp(3.2rem,8.5vw,6.1rem);font-weight:500;letter-spacing:.02em}.hero-names em{color:var(--gold);font-family:var(--font-script);font-style:normal;font-size:.62em;transform:translateY(.06em)}.hero-ornament{margin:.4rem 0 1.2rem}.hero-date{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;margin-bottom:1.15rem;padding:.55rem 1.05rem;color:var(--forest);background:#fffdf6b8;border:1px solid var(--gold-line);border-radius:999px;font-family:var(--font-serif);font-size:1.06rem;font-weight:600;letter-spacing:.1em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-copy{max-width:40rem;margin:1.35rem 0 1.5rem;color:#52483c;font-size:1.06rem;font-weight:300;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.hero-assurance{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}.hero-assurance span{display:inline-flex;align-items:center;gap:.42rem;padding:.5rem .85rem;color:var(--forest);background:#fffdf699;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(4.4rem,1fr));gap:.6rem;width:min(100%,30rem)}.countdown-item{position:relative;min-height:5.4rem;padding:.85rem .5rem .75rem;text-align:center;background:#fffdf6a8;border:1px solid var(--gold-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 26px #523e2714}.countdown-item:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;pointer-events:none;border:1px solid var(--gold-faint)}.countdown-item strong{display:block;color:var(--ink);font-family:var(--font-serif);font-size:2.05rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.countdown-item span{display:block;margin-top:.42rem;color:var(--muted);font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.section-inner{width:min(100% - 2.4rem,1180px);margin-inline:auto}.story-section,.quick-section,.page-section{position:relative;padding:4.6rem 0}.story-section{overflow:hidden;text-align:center}.story-section:before{content:"&";position:absolute;top:50%;left:50%;z-index:0;transform:translate(-50%,-54%);color:var(--gold);opacity:.07;font-family:var(--font-script);font-size:clamp(16rem,34vw,26rem);line-height:1;pointer-events:none}.story-inner{position:relative;z-index:1;display:grid;justify-items:center;max-width:46rem}.story-inner h2{max-width:32rem;margin-bottom:.4rem;font-size:clamp(1.9rem,4vw,2.7rem)}.story-ornament{margin:.8rem 0 1.3rem}.story-text{color:var(--muted);font-size:1.05rem;font-weight:300;line-height:1.9}.signature-line{margin:1rem 0 0;color:var(--gold-deep);font-family:var(--font-script);font-size:2.1rem;line-height:1.3}.quick-section{background:linear-gradient(180deg,#ece1cc8c,#faf6ece6),var(--linen);border-top:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.info-card,.venue-panel,.upload-form,.login-form,.admin-photo-card,.empty-state,.timeline-item,.photo-card,.upload-promise{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,#fffdf6f0,#faf6eccc),var(--paper);box-shadow:var(--shadow-soft)}.info-card{position:relative;min-height:12rem;overflow:hidden;padding:1.7rem 1.5rem 1.5rem;text-align:center;outline:1px solid var(--gold-faint);outline-offset:-7px;transition:transform .22s ease,box-shadow .22s ease,outline-color .22s ease}.info-card:hover{transform:translateY(-4px);outline-color:var(--gold-line);box-shadow:var(--shadow-lift)}.card-icon{display:inline-grid;place-items:center;width:3.3rem;height:3.3rem;color:var(--gold-deep);border:1px solid var(--gold-line);border-radius:50%;background:var(--paper);box-shadow:0 0 0 4px var(--gold-faint)}.info-card h3{margin:1rem 0 .45rem;font-size:1.32rem}.info-card p{margin-bottom:0;color:var(--muted);font-weight:300;line-height:1.7}.page-heading{margin-bottom:2.2rem}.page-heading h1{max-width:42rem;margin-bottom:.3rem;font-size:clamp(2.2rem,5vw,3.1rem)}.page-heading p{max-width:45rem;margin-bottom:0;color:var(--muted);font-weight:300;line-height:1.75}.program-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);gap:1.4rem;align-items:start}.timeline{position:relative;display:grid;gap:1.1rem;padding-left:1.7rem}.timeline:before{content:"";position:absolute;top:.6rem;bottom:.6rem;left:0;width:1px;background:linear-gradient(180deg,transparent,var(--gold-line) 10%,var(--gold-line) 90%,transparent)}.timeline-item{position:relative;display:grid;grid-template-columns:5.6rem 1fr;gap:1.15rem;padding:1.35rem 1.4rem;outline:1px solid var(--gold-faint);outline-offset:-6px}.timeline-item:before{content:"";position:absolute;top:1.7rem;left:calc(-1.7rem - 4px);width:9px;height:9px;transform:rotate(45deg);background:var(--gold);box-shadow:0 0 0 3px var(--ivory),0 0 0 4px var(--gold-line)}.timeline-item time{color:var(--gold-deep);font-family:var(--font-serif);font-size:1.7rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.timeline-item h2{margin-bottom:.35rem;font-size:1.5rem}.timeline-item p{margin-bottom:0;color:var(--muted);font-weight:300;line-height:1.7}.venue-panel{position:sticky;top:5.5rem;padding:1.5rem 1.4rem;outline:1px solid var(--gold-faint);outline-offset:-6px}.venue-panel h2{margin:.9rem 0 .7rem;font-size:1.65rem}.venue-panel p{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--muted);font-weight:300}.venue-panel p svg{color:var(--gold-deep);flex-shrink:0}.venue-panel .btn{width:100%;margin-top:.45rem}.upload-layout,.login-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(20rem,.72fr);gap:1.5rem;align-items:start}.upload-intro{display:grid;gap:1.1rem}.upload-promise{display:flex;align-items:flex-start;gap:.75rem;max-width:35rem;padding:1.05rem 1.15rem;color:var(--forest);font-weight:300;line-height:1.65}.upload-promise svg{color:var(--gold-deep);flex-shrink:0}.upload-form,.login-form{display:grid;gap:1.05rem;padding:1.5rem 1.4rem;outline:1px solid var(--gold-faint);outline-offset:-7px}.login-form>svg{color:var(--gold-deep);justify-self:center}label{display:grid;gap:.45rem}label>span,.upload-form span,.login-form span{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem;color:var(--ink);background:#fffefa;font-weight:400;letter-spacing:.02em;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,textarea:focus{border-color:var(--gold);background:var(--paper);box-shadow:0 0 0 3px var(--gold-faint)}textarea{resize:vertical}.file-drop{position:relative;display:grid;place-items:center;gap:.1rem;min-height:12rem;overflow:hidden;padding:1.4rem;text-align:center;color:var(--ink);border:1px dashed var(--gold-line);border-radius:var(--radius);background:linear-gradient(135deg,#fffdf6e6,#ece1cc80),var(--linen);transition:border-color .18s ease,background .18s ease}.file-drop:hover{border-color:var(--gold)}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-drop svg,.file-drop strong,.file-drop>span{position:relative}.file-drop svg{color:var(--gold-deep)}.file-drop strong{display:block;margin-top:.5rem;font-family:var(--font-serif);font-size:1.25rem;font-weight:600}.file-drop>span{color:var(--muted);font-size:.8rem;font-weight:400;letter-spacing:.04em;text-transform:none}.file-summary{display:flex;align-items:center;gap:.5rem;min-height:2.65rem;padding:.72rem .9rem;color:var(--forest);background:#75866f1f;border-radius:var(--radius);font-size:.9rem;font-weight:500;letter-spacing:.04em}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.preview-tile{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#ece1cc}.preview-tile img{width:100%;aspect-ratio:1;object-fit:cover}.preview-tile figcaption{position:absolute;inset:auto 0 0 0;overflow:hidden;padding:1.15rem .45rem .42rem;color:#fffdf7;background:linear-gradient(180deg,transparent,rgba(22,18,14,.74));font-size:.7rem;font-weight:500;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}.form-feedback{display:flex;align-items:center;gap:.5rem;padding:.8rem .9rem;border-radius:var(--radius);line-height:1.5}.form-feedback.success{color:#24452b;background:#75866f2e;border:1px solid rgba(117,134,111,.3)}.form-feedback.error,.empty-state.error{color:#7a343a;background:#f8e9e7;border:1px solid rgba(122,52,58,.2)}.photo-grid{columns:3 14.5rem;column-gap:1rem}.photo-card{display:inline-block;width:100%;margin:0 0 1rem;padding:.5rem .5rem 0;break-inside:avoid;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.photo-card:hover{transform:translateY(-3px);border-color:var(--gold-line);box-shadow:var(--shadow-lift)}.photo-button{width:100%;aspect-ratio:4 / 5;padding:0;overflow:hidden;border-radius:2px;background:#ece1cc}.photo-card:nth-child(3n+2) .photo-button{aspect-ratio:1}.photo-card:nth-child(4n) .photo-button{aspect-ratio:5 / 4}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .32s ease,filter .32s ease}.photo-button:hover img{filter:saturate(1.05) contrast(1.02);transform:scale(1.04)}.photo-meta{display:grid;gap:.3rem;padding:.75rem .35rem .85rem}.photo-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.photo-guest{display:flex;align-items:center;gap:.42rem;min-width:0;color:var(--ink);font-family:var(--font-serif);font-size:1.08rem;font-weight:600}.photo-guest svg{color:var(--gold-deep);flex-shrink:0}.like-button{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;min-height:2rem;padding:.32rem .72rem;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease}.like-button:hover{color:var(--rose);border-color:#a86a7473;transform:translateY(-1px)}.like-button.liked{color:var(--rose);background:#a86a741f;border-color:#a86a7473}.like-button.liked svg{fill:currentColor;animation:likePop .34s ease}@keyframes likePop{0%{transform:scale(1)}45%{transform:scale(1.35)}to{transform:scale(1)}}.photo-meta p{display:flex;align-items:flex-start;gap:.42rem;margin-bottom:0;color:var(--muted);font-size:.9rem;font-weight:300;line-height:1.55}.empty-state{display:grid;place-items:center;min-height:12.5rem;padding:1.4rem;text-align:center}.empty-state p{margin-bottom:0;color:var(--muted);font-weight:300}.gallery-empty{gap:.4rem}.gallery-empty svg{color:var(--gold-deep)}.gallery-empty strong{display:inline-grid;place-items:center;width:4.3rem;height:4.3rem;color:var(--gold-deep);border:1px solid var(--gold-line);border-radius:50%;box-shadow:0 0 0 4px var(--gold-faint);font-family:var(--font-serif);font-size:1.35rem;font-weight:600}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:4.5rem 1rem 1.5rem;background:#15110ce6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .18s ease both}.lightbox figure{display:grid;gap:.9rem;width:min(100%,960px);margin:0}.lightbox img{width:100%;max-height:72vh;object-fit:contain;border:1px solid rgba(213,189,142,.25);border-radius:var(--radius);background:#15120f;box-shadow:0 24px 70px #0006}.lightbox figcaption{display:grid;gap:.3rem;color:#fdf8ec;text-align:center}.lightbox figcaption strong{font-family:var(--font-serif);font-size:1.3rem;font-weight:600;letter-spacing:.04em}.lightbox figcaption span{color:#dcccab;font-weight:300;font-style:italic}.lightbox figcaption .like-button{justify-self:center;margin-top:.25rem;color:#dcccab;border-color:#d5bd8e59}.lightbox figcaption .like-button:hover,.lightbox figcaption .like-button.liked{color:#eba7b4;border-color:#eba7b480;background:#eba7b41f}.lightbox-close{position:absolute;top:1rem;right:1rem}.lightbox-prev,.lightbox-next{position:absolute;top:50%}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.admin-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:start;margin-bottom:1.5rem}.admin-heading h1{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;font-size:clamp(1.9rem,4vw,2.5rem)}.admin-heading h1 svg{color:var(--gold-deep)}.admin-heading p{margin-bottom:0;color:var(--muted);font-weight:300}.admin-stats{display:flex;gap:.6rem}.admin-stats span{display:grid;gap:.15rem;min-width:6.8rem;padding:.8rem;color:var(--muted);background:#fffdf7d9;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 26px #3a2e2012;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.admin-stats strong{color:var(--ink);font-family:var(--font-serif);font-size:1.7rem;font-weight:600;line-height:1}.admin-toolbar{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end;align-content:flex-start}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;max-width:30rem;min-height:3rem;margin-bottom:1.1rem;padding:.3rem;border:1px solid var(--line);border-radius:999px;background:#fffdf8bf}.segmented-control button{min-height:2.35rem;border-radius:999px;color:var(--muted);background:transparent;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .18s ease,color .18s ease}.segmented-control button.active{color:#f7f2e6;background:var(--forest)}.admin-photo-list{display:grid;gap:.9rem}.admin-photo-card{display:grid;grid-template-columns:9.25rem 1fr;overflow:hidden}.admin-photo-card>img{width:100%;height:100%;min-height:10rem;object-fit:cover;background:#ece1cc}.admin-photo-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1.05rem}.admin-photo-body h3{display:flex;align-items:center;gap:.45rem;margin-bottom:.5rem;font-size:1.18rem}.admin-photo-body h3 svg,.admin-photo-body p svg,.admin-photo-body time svg{color:var(--gold-deep);flex-shrink:0}.admin-photo-body p{display:flex;align-items:flex-start;gap:.45rem;margin-bottom:.5rem;color:var(--muted);font-weight:300;line-height:1.55}.admin-photo-body time{display:flex;align-items:center;gap:.45rem;color:var(--forest);font-size:.85rem;font-weight:500;letter-spacing:.04em}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-content:flex-start}.site-footer{display:grid;justify-items:center;gap:.5rem;padding:3rem 1rem 3.2rem;text-align:center;background:linear-gradient(180deg,#ece1cc99,#faf6ece6),var(--linen);border-top:1px solid var(--line)}.site-footer p{margin:0}.footer-script{color:var(--gold-deep);font-family:var(--font-script);font-size:clamp(2rem,5vw,2.7rem);line-height:1.25}.footer-ornament{width:min(13rem,60%);margin:.2rem 0 .5rem}.footer-note{color:var(--muted);font-weight:300}.footer-date{color:var(--gold-deep);font-size:.74rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:920px){.admin-heading{grid-template-columns:1fr}.admin-stats,.admin-toolbar{justify-content:stretch}.admin-stats span,.admin-toolbar>*{flex:1 1 9rem}}@media(max-width:820px){.site-header{align-items:flex-start;flex-direction:column;gap:.3rem}.main-nav{width:100%;padding-bottom:.15rem}.hero-section{min-height:78svh;padding-top:3.4rem;padding-bottom:3.6rem}.hero-section:before{background:linear-gradient(180deg,#faf6ecf5,#faf6ecdb 52%,#faf6ec80),url(/wedding-hero-editorial.png) center / cover no-repeat}.hero-frame{top:.7rem;right:.7rem;bottom:.7rem;left:.7rem}.quick-grid,.program-layout,.upload-layout,.login-layout{grid-template-columns:1fr}.venue-panel{position:static}.photo-grid{columns:2 13rem}}@media(max-width:560px){.site-header{padding:.65rem .8rem}.brand-mark{width:2.35rem;height:2.35rem;font-size:.9rem}.brand-names{font-size:1.08rem}.nav-link{padding:.62rem .55rem;font-size:.72rem}.hero-copy{font-size:.98rem}.hero-actions .btn{width:100%}.hero-assurance span{flex:1 1 9rem}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.countdown-item{min-height:4.6rem;padding:.65rem .3rem .6rem}.countdown-item strong{font-size:1.55rem}.countdown-item span{font-size:.56rem}.story-section,.quick-section,.page-section{padding:3rem 0}.timeline{padding-left:1.3rem}.timeline-item{grid-template-columns:1fr;gap:.4rem}.timeline-item:before{left:calc(-1.3rem - 4px)}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{columns:1}.lightbox-prev,.lightbox-next{top:auto;bottom:1rem}.admin-photo-card{grid-template-columns:1fr}.admin-photo-card>img{height:auto;max-height:75vh;aspect-ratio:auto;object-fit:contain;min-height:0;background:#efe6d4}.admin-photo-body{background:var(--paper)}.admin-photo-body{grid-template-columns:1fr}.admin-actions{justify-content:stretch}.admin-actions .btn{flex:1 1 8rem}}
