:root{--pine: #14201a;--pine-2: #1d2e25;--green: #22302a;--wine: #8c1d23;--wine-2: #6f151a;--gold: #c9a45c;--gold-soft: #e3c98f;--cream: #f4ebdc;--cream-2: #ebdfca;--paper: #fbf6ec;--line: #dccbb0;--brown: #5a3a24;--ink: #2a1e16;--ink-soft: #6a5646;--red: #8c1d23;--display: "Cinzel", "Times New Roman", serif;--serif: "EB Garamond", Georgia, serif;--hand: "Caveat", cursive;--sans: "Nunito Sans", Arial, sans-serif;--fallback: radial-gradient(circle at 18% 28%, rgba(255, 196, 110, .38), transparent 16%), radial-gradient(circle at 78% 22%, rgba(255, 176, 90, .3), transparent 14%), radial-gradient(circle at 62% 78%, rgba(190, 40, 40, .28), transparent 22%), radial-gradient(circle at 35% 85%, rgba(255, 210, 140, .18), transparent 12%), linear-gradient(160deg, #3a2414, #14201a 70%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.5}h1,h2{font-family:var(--display);font-weight:600;line-height:1.15;margin:0 0 .5em;text-wrap:balance}h1{font-size:clamp(2.2rem,6vw,4rem)}h2{font-size:clamp(1.5rem,3.4vw,2.2rem)}h3{margin:0 0 .3em;font-size:1.15rem}p{margin:0 0 .7em}a{color:inherit}.muted{color:var(--ink-soft);font-size:.95rem}.error{color:var(--red);font-weight:600}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.icon{width:1.4em;height:1.4em;flex:none}.site-header{position:sticky;top:0;z-index:10;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:10px clamp(16px,3vw,32px);background:#14201af5;color:var(--cream);border-bottom:1px solid rgba(201,164,92,.35)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:.95rem;line-height:1.05;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--gold-soft)}.brand .icon{width:2em;height:2em;color:var(--gold)}.site-nav{display:flex;gap:clamp(14px,2.4vw,30px);font-size:1rem}.site-nav a{text-decoration:none;color:var(--cream);opacity:.85}.site-nav a:hover{opacity:1;color:var(--gold-soft)}.site-footer{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;padding:28px clamp(16px,3vw,32px);background:var(--pine);color:var(--cream-2);font-size:.95rem}.site-footer p{margin:0}.footer-legal{font-size:.85rem;opacity:.85}.terms h2{font-size:1.3rem;margin-top:1.6em}.terms h3{font-family:var(--display);font-size:1rem;margin-top:1.2em}.terms li{margin-bottom:.4em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border:1px solid transparent;border-radius:4px;padding:10px 20px;font:inherit;font-family:var(--display);font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;text-align:center;transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:wait;transform:none}.btn-primary{background:var(--wine);color:#fff4e2;border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--wine),inset 0 0 0 3px #e3c98f80}.btn-primary:hover{background:var(--wine-2)}.btn-cream{background:var(--gold-soft);color:var(--wine-2);border-color:var(--gold)}.btn-outline{background:transparent;border-color:currentColor;color:inherit}.btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.btn-lg{padding:14px 30px;font-size:1rem}.btn-sm{padding:6px 14px;font-size:.78rem}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.photo{background-color:var(--pine);background-image:var(--shade, none),var(--img, none),var(--fallback);background-size:cover;background-position:center}.hero{--shade: radial-gradient(ellipse 60% 55% at center, rgba(10, 14, 11, .72), rgba(10, 14, 11, .35) 70%, rgba(10, 14, 11, .6));position:relative;overflow:hidden;min-height:min(88vh,760px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff6e6;padding:60px 16px 0}.hero-inner{position:relative;max-width:720px}.hero h1{text-transform:uppercase;color:#f6e2b8;text-shadow:0 2px 18px rgba(0,0,0,.6);margin-bottom:.2em}.hero h1 span{display:block}.hero-sub{font-size:clamp(1.25rem,2.6vw,1.6rem);margin-bottom:.6em}.hero-lead{max-width:520px;margin:0 auto 1.6em;color:#ecdcc4}.season{position:relative;list-style:none;margin:48px 0 0;padding:14px 16px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 36px;width:100%;border-top:1px solid rgba(201,164,92,.35);background:#0a0e0b73;font-size:1rem}.season li{display:flex;align-items:center;gap:8px}.season .icon{color:var(--gold);width:1.2em;height:1.2em}.snow{position:absolute;top:-100%;right:0;bottom:0;left:0;pointer-events:none;opacity:.8;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(1.5px 1.5px at 120px 80px,#fff,transparent),radial-gradient(2.5px 2.5px at 200px 160px,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 280px 40px,#fff,transparent),radial-gradient(2px 2px at 60px 220px,rgba(255,255,255,.8),transparent);background-size:300px 260px;animation:snow 14s linear infinite}@keyframes snow{to{transform:translateY(50%)}}@media (prefers-reduced-motion: reduce){.snow{animation:none}html{scroll-behavior:auto}}.section{padding:clamp(40px,7vw,80px) 16px}.section>*{max-width:1140px;margin-left:auto;margin-right:auto}.section-head{text-align:center;margin-bottom:32px}.section-head h2{text-transform:uppercase;margin-bottom:.2em}.section-head p{margin:0;color:var(--ink-soft)}.paper-bg{background:var(--paper)}.cream-bg{background:var(--cream)}.pine-bg{background:radial-gradient(ellipse at top,var(--pine-2),var(--pine) 70%);color:var(--cream)}.pine-bg .section-head h2{color:#f6e2b8}.pine-bg .section-head p{color:var(--cream-2)}.pine-bg em{font-style:normal;color:var(--gold-soft);font-weight:600}.scenes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.scene{--shade: linear-gradient(to top, rgba(12, 10, 8, .9), rgba(12, 10, 8, .1) 55%);aspect-ratio:4 / 3.4;display:flex;align-items:flex-end;border:1px solid rgba(201,164,92,.5);color:#fff4e2}.scene-caption{padding:18px 20px}.scene-caption h3{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:1.15rem;letter-spacing:.04em}.scene-num{color:var(--gold)}.scene-caption p{margin:0;color:#ecdcc4;font-size:1rem}.snowband{--shade: linear-gradient(to right, rgba(10, 12, 10, 0) 30%, rgba(10, 12, 10, .55));background-position:10% 30%;display:flex;justify-content:flex-end;padding:clamp(40px,8vw,90px) clamp(16px,6vw,80px);min-height:380px;align-items:center}.parchment{max-width:460px;padding:30px 32px;background:linear-gradient(135deg,#f7ecd4,#ead7b4);color:var(--ink);border-radius:3px;box-shadow:0 10px 40px #00000073}.parchment h2{text-transform:uppercase}.tickets-offer{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}.offer{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 26px 26px;background:linear-gradient(160deg,#f8eedb,#ecdcbc);color:var(--ink);border:1px solid var(--gold);box-shadow:inset 0 0 0 6px #f6ead2,inset 0 0 0 7px #8c643273,0 14px 30px #00000059}.offer>.icon{width:2em;height:2em;color:var(--brown)}.offer h3{font-family:var(--display);font-weight:600;text-transform:uppercase;font-size:1.2rem;letter-spacing:.04em;margin-top:8px}.offer-price{font-family:var(--display);font-size:2.3rem;font-weight:600;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid rgba(140,100,50,.35);width:100%}.offer ul{list-style:none;padding:0;margin:0 0 22px;text-align:left;flex:1;width:100%;font-size:1rem}.offer li{padding:4px 0 4px 26px;position:relative}.offer li:before{content:"✓";position:absolute;left:2px;color:var(--wine);font-weight:700}.offer li.offer-note{font-style:italic;color:var(--ink-soft)}.offer li.offer-note:before{content:"•"}.offer .btn{width:100%}.offer-featured{background:linear-gradient(160deg,#9a232a,#74161b);color:#fff1dc;box-shadow:inset 0 0 0 6px #8c1d23,inset 0 0 0 7px #e3c98f99,0 18px 40px #00000073}.offer-featured>.icon,.offer-featured li:before{color:var(--gold-soft)}.offer-featured .offer-price{border-color:#e3c98f66}.offer-badge{position:absolute;top:-13px;left:50%;transform:translate(-50%);margin:0;padding:3px 14px;background:var(--gold-soft);color:var(--wine-2);font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}@media (min-width: 900px){.offer-featured{transform:translateY(-10px)}}.handnote{text-align:center;font-family:var(--hand);font-size:1.6rem;color:var(--gold-soft);margin-top:28px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;text-align:center}.steps li{display:flex;flex-direction:column;align-items:center}.step-num{font-family:var(--display);font-size:1.6rem;color:var(--wine)}.steps .icon{width:2.2em;height:2.2em;color:var(--ink);margin:6px 0 10px}.steps h3{font-weight:600;font-size:1.2rem}.steps p{color:var(--ink-soft);font-size:1rem;max-width:260px}.palette{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 28px;margin:0 auto 28px}.palette li{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:1rem}.swatch{width:64px;height:64px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line),0 4px 10px #00000026}.wear{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.wear h3{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;letter-spacing:.04em}.wear-list{list-style:none;padding:0;margin:0}.wear-list li{position:relative;padding:6px 0 6px 30px;border-bottom:1px solid var(--line)}.wear-list.yes li:before{content:"✓";position:absolute;left:4px;color:#2f6a3f;font-weight:700}.wear-list.no li:before{content:"✕";position:absolute;left:4px;color:var(--wine);font-weight:700}.wear-tip{text-align:center;margin-top:20px}.gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.gallery img{width:100%;aspect-ratio:4 / 5;object-fit:cover;scroll-snap-align:start;border:1px solid rgba(201,164,92,.5)}.extras{max-width:760px;font-size:1.02rem}.finale{--shade: linear-gradient(to right, rgba(10, 12, 10, .85), rgba(10, 12, 10, .35));color:#fff4e2;padding:clamp(48px,8vw,90px) 16px}.finale-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between}.finale h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,2.6rem);margin:0}.finale h2 span{display:block;font-size:.7em;color:#ecdcc4}.finale-meta{margin:10px 0 0;font-size:.95rem;color:#ecdcc4}.narrow{max-width:720px;margin:0 auto;padding:40px 16px 72px}.narrow>h1{font-size:clamp(1.8rem,4vw,2.6rem);text-transform:uppercase}.form{display:flex;flex-direction:column;gap:18px}fieldset{border:1px solid var(--line);border-radius:4px;padding:20px;background:var(--paper);display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px #c9a45c59}legend{font-family:var(--display);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:0 8px;color:var(--wine)}.field{display:flex;flex-direction:column;gap:4px;font-size:.95rem;font-weight:600;min-width:0}input,select,textarea{font:inherit;font-weight:400;padding:9px 10px;border:1px solid #c4b28f;border-radius:4px;background:#fff;color:var(--ink);width:100%}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--wine)}.check{display:flex;gap:10px;align-items:flex-start;font-size:1rem}.check input{margin-top:6px}.choices{display:grid;gap:10px}.choice{display:grid;grid-template-columns:auto 1fr;column-gap:10px;border:1px solid var(--line);border-radius:4px;padding:12px 14px;cursor:pointer;background:#fff}.choice.on{border-color:var(--wine);background:#fbeee6;box-shadow:inset 3px 0 0 var(--wine)}.choice-title{font-weight:600}.choice-sub{grid-column:2;font-size:.95rem;color:var(--ink-soft)}.notice{background:#fbeee6;border-left:3px solid var(--wine);padding:8px 12px;color:var(--ink)}.times{display:flex;flex-wrap:wrap;gap:8px}.time{font:inherit;font-weight:600;padding:10px 16px;border-radius:4px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}.time.on{background:var(--wine);color:#fff4e2;border-color:var(--wine)}.table{width:100%;border-collapse:collapse;background:var(--paper)}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.table th.num,.table td.num{text-align:right}.admin-nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:10px 16px;background:var(--pine);color:var(--cream);font-family:var(--sans)}.admin-nav strong{font-family:var(--display);color:var(--gold-soft);letter-spacing:.06em;text-transform:uppercase}.admin-nav a{text-decoration:none;padding:4px 2px;border-bottom:2px solid transparent}.admin-nav a.active{border-color:var(--gold)}.spacer{flex:1}.admin{max-width:1200px;margin:0 auto;padding:20px 16px 64px;font-family:var(--sans);font-size:16px;color:var(--green)}.admin .btn{font-family:var(--sans);text-transform:none;letter-spacing:0}.admin fieldset{box-shadow:none}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.toolbar h1{font-size:1.6rem;margin:0;flex:1 1 260px}.toolbar input[type=date]{width:auto}.order{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:14px}.order header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.order-time{font-family:var(--display);font-size:1.5rem}.order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.order-grid p{margin-bottom:.4em;overflow-wrap:anywhere}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0}.row .field{flex:0 1 150px}.row .grow{flex:1 1 200px}.backdoor{border-top:1px dashed var(--line);padding-top:8px}.pill{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700;background:var(--cream-2)}.pill-reserved,.pill-paid,.pill-delivered{background:#d5e6d6}.pill-pending_payment,.pill-conflict{background:#f3d9c2}.pill-cancelled,.pill-expired{background:#e6d3d1}.client-search{flex:1 1 280px;max-width:420px;font-size:1rem}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{font:inherit;font-size:.9rem;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.chip.on{background:var(--pine);color:var(--cream);border-color:var(--pine)}.chip-count{opacity:.7;margin-left:2px}.clients-table tbody tr{cursor:pointer}.clients-table tbody tr:hover{background:#fff}.clients-table tr.unread td{background:#fbeee6}.order-detail-link{margin-left:auto;font-size:.9rem}.payout-row{cursor:pointer}.payout-detail{background:var(--cream);padding:6px 10px 12px!important}.badge{display:inline-block;min-width:1.4em;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--wine);color:#fff4e2;font-size:.75rem;text-align:center}.inbox{list-style:none;padding:0;margin:8px 0;background:var(--paper);border:1px solid var(--line);border-radius:6px}.inbox li{border-bottom:1px solid var(--line);padding:6px 10px}.inbox li:last-child{border-bottom:0}.inbox li.unread .inbox-from,.inbox li.unread .inbox-subject{font-weight:700}.inbox-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr auto;gap:10px;width:100%;padding:4px 0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.inbox-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-date{color:var(--ink-soft);font-size:.85rem;white-space:nowrap}.inbox-meta{font-size:.85rem}.message-body pre{white-space:pre-wrap;font-family:var(--sans);font-size:.95rem;background:#fff;border:1px solid var(--line);padding:10px;border-radius:4px;max-height:420px;overflow:auto}.reply-box{display:flex;flex-direction:column;gap:6px;margin:6px 0}@media (max-width: 700px){.inbox-row{grid-template-columns:1fr;gap:2px}}.ticket{--ink-brown: #4a3220;position:relative;display:grid;grid-template-columns:1fr 58mm 14mm;width:210mm;height:99mm;background:radial-gradient(ellipse at 30% 40%,#fbf3e1,#f1e3c4 75%,#e6d2ab);color:var(--ink-brown);font-family:var(--serif);break-inside:avoid;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ticket:before{content:"";position:absolute;top:5mm;right:8mm;bottom:5mm;left:8mm;border:.5mm solid rgba(74,50,32,.55);box-shadow:inset 0 0 0 1mm #f4e8cf,inset 0 0 0 1.35mm #4a322059;pointer-events:none}.ticket p{margin:0}.ticket-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9mm 4mm 9mm 14mm;min-width:0}.ticket-title{font-family:var(--display);font-weight:700;font-size:10mm;letter-spacing:.04em;text-transform:uppercase;color:#8c1d23;line-height:1;transform:rotate(-2deg)}.ticket-slot{display:flex;align-items:flex-end;justify-content:center;border-color:transparent;border-style:solid;border-width:0}.ticket-slot-name{width:112mm;height:14mm;border-bottom-width:.3mm}.ticket-slot-name .fill{font-family:var(--display);font-weight:600;font-size:11mm;line-height:1;white-space:nowrap}.ticket-caption{font-family:var(--display);font-size:2.8mm;letter-spacing:.18em;text-transform:uppercase;margin-top:.8mm!important}.ticket-art{width:112mm;height:auto;margin:1mm 0}.ticket-kind{font-family:var(--display);font-size:2.9mm;letter-spacing:.12em;text-transform:uppercase}.ticket-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:.5mm dashed rgba(74,50,32,.55);margin:9mm 0;padding:0 3mm}.ticket-platform{font-family:var(--display);font-weight:600;font-size:5mm;letter-spacing:.06em;text-transform:uppercase}.ticket-24{font-family:var(--display);font-weight:700;font-size:22mm;line-height:1;color:#8c1d23;margin-bottom:2mm!important}.ticket-slot-small{width:38mm;height:7mm;border-bottom-width:.3mm}.ticket-slot-small .fill{font-size:5mm;line-height:1}.ticket-stub .ticket-caption{margin:.8mm 0 2mm!important}.ticket-no{display:flex;align-items:center;justify-content:center;gap:1.5mm;margin:9mm 9mm 9mm 0;border-left:.4mm solid rgba(74,50,32,.45);writing-mode:vertical-rl;transform:rotate(180deg)}.ticket-no-label{font-family:var(--display);font-size:3.6mm}.ticket-slot-no{width:6mm;height:34mm;border-left-width:.3mm;align-items:center}.ticket-slot-no .fill{font-family:var(--display);font-size:4mm;letter-spacing:.25em}.ticket-full{-webkit-mask:radial-gradient(circle 5mm at left center,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 5mm at right center,transparent 98%,#000) right / 51% 100% no-repeat;mask:radial-gradient(circle 5mm at left center,transparent 98%,#000) left / 51% 100% no-repeat,radial-gradient(circle 5mm at right center,transparent 98%,#000) right / 51% 100% no-repeat}.ticket-full .ticket-caption,.ticket-blank .fill{visibility:hidden}.ticket-blank .ticket-slot{border-color:#4a322099}.ticket-overlay{background:none}.ticket-overlay:before{display:none}.ticket-overlay *{visibility:hidden}.ticket-overlay .fill{visibility:visible;color:#2a1a10}.ticket-overlay .ticket-stub,.ticket-overlay .ticket-no{border-color:transparent}.tickets-preview{display:flex;flex-direction:column;align-items:flex-start;gap:6mm;overflow-x:auto;padding-bottom:8px}.print-only{display:none}.ticket-page{position:relative;width:99mm;height:210mm;overflow:hidden;break-after:page}.ticket-page-inner{position:absolute;transform-origin:0 0}.ticket-bleed{width:216mm;height:105mm;padding:3mm;background:radial-gradient(ellipse at 30% 40%,#fbf3e1,#f1e3c4 75%,#e6d2ab);-webkit-print-color-adjust:exact;print-color-adjust:exact}.ticket-bleed .ticket{background:none}.gallery-page{max-width:1280px;margin:0 auto;padding:32px 16px 72px}.gallery-head{margin-bottom:20px}.gallery-head h1{font-size:clamp(1.8rem,4vw,2.6rem);text-transform:uppercase;margin-bottom:.2em}.gallery-head .eyebrow{color:var(--wine);margin-bottom:4px}.lead-note{max-width:760px}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.gallery-tools{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;margin-bottom:10px}.counter{font-size:1.05rem}.photo-grid{columns:4 190px;column-gap:8px}.photo-grid figure{break-inside:avoid;margin-bottom:8px!important}.photo-grid figure{position:relative;margin:0;background:var(--cream-2);border:2px solid transparent}.photo-grid figure.on{border-color:var(--wine)}.photo-open{display:block;padding:0;border:0;background:none;cursor:zoom-in;width:100%}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:auto}.heart{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;border:0;background:#fffaf0eb;color:var(--wine);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 1px 4px #00000040}.heart[aria-pressed=true]{background:var(--wine);color:#fff4e2}.heart:disabled{cursor:default}.photo-badges{position:absolute;left:6px;bottom:6px;right:6px;font-size:.75rem;background:#14201ad9;color:var(--cream);padding:2px 6px;border-radius:3px}.order-summary{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}.order-summary h2{font-size:1.4rem;text-transform:uppercase;margin:0}.order-summary fieldset{padding:14px;gap:8px}.summary-table td{padding:6px 10px;font-size:.98rem}.summary-table .total td{font-weight:700;font-size:1.1rem;border-bottom:0}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0a0c0aeb;display:flex;align-items:center;justify-content:center;padding:12px}.lightbox-inner{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%;max-height:100%}.lightbox-inner img{max-width:min(1000px,100%);max-height:calc(100vh - 170px);object-fit:contain}.lightbox-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;color:var(--cream)}.lightbox-bar .btn-outline{color:var(--cream)}.lightbox-extras{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;background:var(--paper);padding:10px 14px;border-radius:4px}.stepper{display:flex;align-items:center;gap:6px;font-size:.95rem}.stepper button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:1.1rem;cursor:pointer}.stepper output{min-width:1.6em;text-align:center;font-weight:700}@media (max-width: 900px){.gallery-layout{grid-template-columns:1fr}.order-summary{position:static}.photo-grid{columns:2 140px}}.finals{margin:0 0 36px;padding:20px;background:var(--paper);border:1px solid var(--line)}.finals-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.finals-head h2{margin:0;text-transform:uppercase;font-size:1.5rem}.finals video{display:block;width:100%;background:#000}.finals .download{position:absolute;right:6px;bottom:6px;background:var(--wine);color:#fff4e2;padding:4px 10px;border-radius:3px;font-size:.85rem;text-decoration:none}.gallery-done .heart{display:none}.finals-panel{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line)}.video-tile{height:90px;display:flex;align-items:center;justify-content:center;background:var(--pine);color:var(--cream)}.dropzone{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px;margin:8px 0;border:2px dashed var(--line);border-radius:6px;background:#fff}.dropzone.busy{opacity:.7}.admin-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin:8px 0}.admin-thumbs figure{margin:0;font-size:.75rem}.admin-thumbs img{width:100%;height:90px;object-fit:cover;display:block}.admin-thumbs figcaption{display:flex;justify-content:space-between;gap:4px;overflow-wrap:anywhere}.link-btn{border:0;background:none;color:var(--red);cursor:pointer;font-size:1rem;padding:0 2px}.selection-summary{background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:8px}.selection-summary p{margin-bottom:.4em}.reorder-note{background:#fbeee6;padding:4px 8px;border-radius:4px}@media (max-width: 860px){.site-nav{display:none}.snowband{justify-content:center}}@media print{.no-print,.site-header,.site-footer{display:none!important}body{background:#fff}.admin{padding:0;max-width:none}.print-only{display:block}body:has(.print-only) .admin-nav{display:none!important}}
