:root{color-scheme:light;--bg:#ffffff;--bg-soft:#f7f7f7;--panel:#ffffff;--panel-subtle:#fafafa;--panel-border:#cccccc;--text:#1f1f1f;--muted:#5b5b5b;--muted-strong:#3f3f3f;--accent:#400a59;--accent-strong:#2d073f;--accent-pop:#d0ff00;--accent-soft:#f5f7ea;--danger:#b42318;--shadow:0 10px 28px rgba(31,31,31,0.08);--accent-rgb:64,10,89;--text-rgb:31,31,31;--soft-rgb:204,204,204}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:Segoe UI,Avenir Next,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}.shell{min-height:100vh;padding:22px}.frame{max-width:1240px;margin:0 auto}.topbar{position:-webkit-sticky;position:sticky;top:12px;z-index:40;justify-content:space-between;gap:18px;padding:14px 18px;border:1px solid var(--panel-border);border-radius:8px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand,.topbar{display:flex;align-items:center}.brand{min-width:0;gap:14px}.brand-logo{display:block;width:136px;max-width:32vw;height:42px;object-fit:contain;object-position:left center}.brand-text{display:grid;grid-gap:2px;gap:2px}.brand strong{font-size:1rem;letter-spacing:0}.brand span,.eyebrow,.muted{color:var(--muted)}.eyebrow{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.link-button,.nav a,.nav button{padding:8px 11px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted-strong);transition:background .16s ease,border-color .16s ease,color .16s ease}.link-button:hover,.nav a:hover,.nav button:hover{border-color:var(--panel-border);background:var(--bg-soft);color:var(--accent)}.nav a[aria-current=page]{border-color:var(--accent);background:var(--accent);color:#ffffff}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);grid-gap:18px;gap:18px;margin-top:18px}.card{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.card-pad{padding:22px}.stack{display:grid;grid-gap:16px;gap:16px}.title{margin:0;font-size:2.15rem;line-height:1.08;letter-spacing:0}.copy{max-width:66ch;color:var(--muted);line-height:1.62}.copy-error{color:var(--danger)}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.photo-chip,.pill,.status{display:inline-flex;justify-self:start;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel-subtle);color:var(--muted-strong);font-size:.82rem;font-weight:700}.photo-chip,.status.neutral{border-color:var(--accent-pop);background:var(--accent-pop);color:#1f1f1f}.status.warn{border-color:rgba(180,35,24,.28);background:#fff1f0;color:var(--danger)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.cart-items,.field-grid,.price-breakdown,.report-grid,.table{display:grid;grid-gap:12px;gap:12px}.report-card{background:var(--panel-subtle)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.token-preview{font-family:SFMono-Regular,ui-monospace,monospace;font-size:.9rem}.field{display:grid;grid-gap:7px;gap:7px;min-width:0}.field label{font-size:.9rem;color:var(--muted)}.field input,.field select,.field textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--panel-border);border-radius:8px;background:#ffffff;color:var(--text);font:inherit;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(var(--accent-rgb),.18);border-color:var(--accent)}.field textarea{min-height:120px;resize:vertical}.button-row,.gallery-card-actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:800;transition:border-color .16s ease,background .16s ease,color .16s ease}.button-primary{background:var(--accent);color:#ffffff}.button-primary:hover{background:var(--accent-strong)}.button-secondary{background:#ffffff;color:var(--accent);border-color:var(--accent)}.button-secondary:hover{background:var(--accent-soft)}.button-danger{background:#ffffff;color:var(--danger);border-color:rgba(180,35,24,.38)}.button-danger:hover{background:#fff1f0}.cart-item,.detail-row,.event-meta-item,.hero-feature,.photo-row,.row,.toggle-row{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-subtle)}.row{display:grid;grid-template-columns:1.4fr .65fr .6fr .9fr;grid-gap:12px;gap:12px;align-items:center;padding:13px 14px}.row-button{width:100%;text-align:left;cursor:pointer;color:inherit}.photo-row.is-selected,.row-button.is-selected,.row-button:hover{border-color:var(--accent);background:var(--accent-soft)}.photo-row{display:grid;grid-template-columns:34px minmax(160px,1.2fr) minmax(140px,1.1fr) .55fr .7fr .7fr .7fr;grid-gap:12px;gap:12px;align-items:center;padding:13px 14px}.selection-check{display:flex;align-items:center;justify-content:center}.photo-edit-button{border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.photo-edit-button:hover{color:var(--accent)}.section-note{color:var(--muted);line-height:1.5}.verification-callout{display:grid;grid-gap:8px;gap:8px;padding:16px;border:2px solid var(--accent-pop);border-radius:8px;background:#fbffe8;color:var(--ink)}.verification-callout p{margin:0;color:var(--muted-strong);line-height:1.5}.verification-callout strong{font-size:1.15rem}.verification-callout.is-success{border-color:rgba(64,10,89,.24);background:#faf7fb}.download-action-panel{display:grid;grid-gap:10px;gap:10px;padding:18px;border:2px solid var(--accent);border-radius:8px;background:#fbfbfb}.download-action-panel strong{font-size:1.25rem}.gallery-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.gallery-workspace{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.72fr);grid-gap:18px;gap:18px;align-items:start}.gallery-main{min-width:0}.cart-panel{position:-webkit-sticky;position:sticky;top:20px;align-self:start}.toggle-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 14px}.toggle-row strong{display:block;margin-bottom:6px}.toggle-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.cart-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px}.cart-item p{margin:6px 0 0;color:var(--muted)}.detail-row{display:grid;grid-gap:6px;gap:6px;padding:13px 14px}.checkout-banner{border-left:6px solid var(--accent-pop)}.checkout-banner.is-cancelled{border-left-color:var(--panel-border)}.checkout-receipt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.gallery-card-action,.gallery-card-button{width:100%}.gallery-status-summary{text-align:right}.find-me-form{display:grid;grid-gap:12px;gap:12px}.find-me-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.find-me-grid .field{gap:4px}.find-me-grid .field label{font-size:.78rem}.find-me-grid .field input{padding:8px 10px}.find-me-actions .button{padding:8px 12px}.gallery-card{display:grid;grid-gap:12px;gap:12px}.photo-stage-button{width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.photo-stage-inner{position:relative;min-height:220px;border:1px solid var(--panel-border);border-radius:8px;overflow:hidden;isolation:isolate;background:var(--panel-subtle)}.photo-stage-inner.has-image{min-height:0}.lightbox-image,.photo-stage-image{position:absolute;inset:0;width:100%;height:100%}.photo-stage-image{object-fit:cover}.lightbox-image{object-fit:contain}.gallery-card.is-selected .photo-stage-inner{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.12)}.photo-selected-badge{position:absolute;top:12px;right:12px;z-index:2}.photo-glow{display:none}.photo-index{position:absolute;top:12px;left:12px;z-index:2;padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.86);color:var(--muted-strong);font-size:.78rem;font-weight:800;letter-spacing:.06em}.photo-frame{display:grid;grid-gap:6px;gap:6px;min-height:124px}.photo-frame strong{font-size:1rem;line-height:1.25}.photo-frame p{margin:0;color:var(--muted);line-height:1.45}.lightbox-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(31,31,31,.58);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-panel{width:min(920px,100%);display:grid;grid-gap:16px;gap:16px;padding:20px;background:#ffffff;box-shadow:var(--shadow)}.lightbox-panel,.lightbox-photo{border-radius:8px;border:1px solid var(--panel-border)}.lightbox-photo{position:relative;min-height:420px;overflow:hidden;background:var(--panel-subtle)}.lightbox-photo:after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:rgba(255,255,255,.72);pointer-events:none}.lightbox-copy{position:absolute;inset:auto 20px 20px 20px;display:grid;grid-gap:10px;gap:10px;max-width:32rem;z-index:2}.lightbox-copy h2{margin:0;font-size:2rem;line-height:1.08}.lightbox-copy p{margin:0;color:var(--muted);line-height:1.55}.lightbox-note{font-size:.9rem;color:var(--muted)}.gallery-list-item h2{margin:0;font-size:1.2rem}.hero-panel{margin-top:18px;overflow:hidden;border:0;border-radius:0;background:#ffffff;box-shadow:none;border-bottom:1px solid var(--panel-border)}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.64fr);grid-gap:28px;gap:28px;align-items:center}.hero-copy{justify-content:center;min-height:240px}.hero-title{max-width:18ch;font-size:2.75rem}.hero-lead{max-width:58ch;font-size:1rem}.hero-aside{display:flex}.hero-aside-card{width:100%;display:grid;grid-gap:14px;gap:14px;padding:16px;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-subtle)}.hero-feature-list{display:grid;grid-gap:10px;gap:10px}.hero-feature{display:grid;grid-gap:4px;gap:4px;padding:12px}.hero-feature strong{font-size:.98rem}.hero-feature span{color:var(--muted);line-height:1.5}.spotlight-panel{background:#ffffff}.spotlight-title{margin:4px 0 0;font-size:1.75rem;letter-spacing:0}.spotlight-copy{max-width:48ch;font-size:1rem}.event-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.event-meta-item{display:grid;grid-gap:4px;gap:4px;padding:12px}.event-meta-item strong{font-size:1rem}.event-meta-label{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.gallery-list-hero,.latest-event-visual{position:relative;min-height:300px;overflow:hidden;border-radius:8px;border:1px solid var(--panel-border);background:var(--panel-subtle)}.gallery-list-hero-image,.latest-event-image{width:100%;height:100%;object-fit:cover;display:block}.latest-event-image{filter:saturate(.9) contrast(.98)}.latest-event-visual:after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:rgba(255,255,255,.74);pointer-events:none}.latest-event-card{background:var(--panel-subtle)}.latest-event-overlay{position:absolute;inset:auto 14px 14px 14px;z-index:1;display:grid;grid-gap:4px;gap:4px;padding:12px;max-width:22rem;border-radius:8px;border:1px solid var(--panel-border);background:rgba(255,255,255,.92)}.latest-event-kicker{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.latest-event-fallback{position:absolute;inset:0;display:grid;place-items:center;grid-gap:8px;gap:8px;text-align:center;color:var(--text);background:var(--accent-soft)}@media (max-width:960px){.topbar{position:static;align-items:flex-start;flex-direction:column}.nav{width:100%;justify-content:flex-start}.gallery-workspace,.grid-2,.hero-grid,.hero-layout{grid-template-columns:1fr}.cart-panel{position:static}.row{grid-template-columns:1fr}.photo-row{grid-template-columns:34px 1fr}.photo-row .muted,.photo-row .status{grid-column:2}.checkout-receipt-grid,.detail-grid,.event-meta-grid,.find-me-grid,.gallery-grid,.gallery-split{grid-template-columns:1fr}.hero-copy{min-height:0}.hero-title,.title{font-size:2rem}.lightbox-photo{min-height:320px}}