.brand svg{display:block;width:132px;height:auto}.brand{text-decoration:none}#comment-body{width:100%;min-height:80px;font:inherit;padding:12px;border:1px solid var(--line)}#viewer-comments p{white-space:pre-wrap;overflow-wrap:anywhere}#viewer-reactions{margin:20px 0;flex-wrap:wrap}#viewer-reactions [aria-pressed=true]{background:#edf1e7;border-color:var(--sage)}.gallery-cover{display:block;width:100%;max-width:1100px;height:clamp(220px,40vw,500px);object-fit:cover;margin:0 auto 30px;border-radius:5px}.hero.align-left{text-align:left}.hero.align-left h1{margin-left:0}.hero.type-bold h1{font-family:Arial,sans-serif;font-weight:900}.gallery-intro{max-width:720px;margin:50px auto;padding:0 22px}.gallery-intro p{white-space:pre-line}.photos.grid-large{columns:3 350px}.photos.spacing-airy{column-gap:24px;padding:24px}.photos.spacing-airy figure{margin-bottom:24px}@media(max-width:500px){.photos.grid-large{columns:1}.photos.spacing-airy{column-gap:12px;padding:12px}.photos.spacing-airy figure{margin-bottom:12px}}
:root{--ink:#30372e;--paper:#fff;--soft:#f5f6f2;--sage:#738563;--line:#dfe4da;--muted:#656e60;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--soft);color:var(--ink);font:15px/1.5 Arial,sans-serif}button,input{font:inherit}button,a,input{touch-action:manipulation}:focus-visible{outline:2px solid var(--sage);outline-offset:4px}button,a{cursor:pointer}a{color:inherit}h1,h2{font:400 clamp(36px,7vw,58px)/1.08 Georgia,serif;letter-spacing:-.035em;overflow-wrap:anywhere}h1{margin:18px 0}p{color:var(--muted)}.brand{font:900 25px/1 Arial,sans-serif;letter-spacing:-1.4px;text-decoration:none}.brand span{font-weight:400}.badge{font:600 10px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.gate{min-height:90dvh;display:grid;place-items:center;padding:28px 20px}.card{width:min(100%,490px);padding:36px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.card .brand{display:block;margin-bottom:38px}.heart{font:32px Georgia,serif;color:var(--sage);margin-bottom:16px}label{display:block;font-size:12px;font-weight:600;margin:25px 0 8px}input{width:100%;padding:14px;border:1px solid #b9c2b1;border-radius:4px;background:#fff;color:var(--ink)}.pin{font:22px ui-monospace,monospace;letter-spacing:.3em}.primary,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:#fff;font-weight:600;text-decoration:none}.primary{width:100%;margin-top:16px}.button.light{background:#fff;color:var(--ink);border-color:var(--line)}button:disabled{opacity:.5;cursor:wait}.subtle{display:block;margin-top:20px;font-size:12px;text-align:center}.notice{position:fixed;z-index:50;bottom:20px;left:50%;transform:translateX(-50%);width:min(90%,520px);padding:14px 18px;background:#edf1e7;border:1px solid var(--sage);border-radius:5px;color:var(--ink);box-shadow:0 8px 30px #0002}.camera{height:100dvh;display:flex;flex-direction:column;background:#fff}.camera-top{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;gap:14px;border-bottom:1px solid var(--line);min-height:78px}.camera-heading{text-align:center}.camera-heading small{display:block;font-size:10px;color:var(--muted);max-width:180px;overflow-wrap:anywhere}.viewfinder{position:relative;flex:1;min-height:200px;background:#20271f;overflow:hidden}.viewfinder video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.camera-hint{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:25px;color:#fff}.camera-hint h2{font-size:38px}.camera-hint p{max-width:300px;color:#d9e0d4}.camera-hint .button{background:#edf1e7;color:var(--ink)}.camera-controls{padding:16px 18px calc(22px + env(safe-area-inset-bottom));background:#fff}.filters{display:flex;justify-content:center;gap:7px;overflow:auto;padding-bottom:20px}.filters button{border:1px solid var(--line);border-radius:30px;padding:8px 11px;background:#fff;font-size:11px}.filters [aria-pressed=true]{background:#edf1e7;border-color:var(--sage)}.shutter-row{display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;text-align:center}.counter strong{display:block;font:32px Georgia,serif}.counter small{font-size:9px;color:var(--muted);letter-spacing:.1em}.shutter{width:68px;height:68px;border:5px solid #fff;border-radius:50%;background:var(--sage);box-shadow:0 0 0 2px var(--sage)}.retry{display:block;margin:16px auto 0}.top{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px clamp(18px,3vw,48px);background:#fff;border-bottom:1px solid var(--line)}.hero{padding:70px 22px;text-align:center;background:#edf1e7}.hero h1{max-width:900px;margin:20px auto}.gallery-note{text-align:center;margin:30px auto;padding:0 22px;max-width:620px}.photos{columns:4 230px;column-gap:8px;padding:8px}.photos figure{break-inside:avoid;margin:0 0 8px;background:#fff;border:1px solid var(--line)}.photo-open{display:block;padding:0;border:0;background:#eee;width:100%}.photos img{display:block;width:100%;height:auto}.photos figcaption{padding:9px 12px;font-size:11px;color:var(--muted)}.gallery-actions{display:flex;justify-content:center;gap:12px;margin:24px 0 65px}dialog{width:min(96vw,1100px);max-height:94dvh;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}dialog::backdrop{background:#20271fcc}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.viewer-image{display:block;max-width:100%;max-height:72dvh;margin:auto;object-fit:contain}.viewer-actions{text-align:center;margin:16px 0 0}.staging-strip{text-align:center;padding:6px;background:#edf1e7;color:var(--muted);font-size:10px;letter-spacing:.06em}.complete-mark{font:50px Georgia,serif;color:var(--sage)}@media(min-width:800px){.camera{width:520px;height:92dvh;margin:4dvh auto;border:1px solid var(--line);border-radius:15px;overflow:hidden}.camera .viewfinder{min-height:320px}}@media(max-width:500px){.card{padding:28px}.top .brand{font-size:22px}.top .button{font-size:11px;padding:8px 12px}.camera-top .brand{font-size:23px}.camera-top .button{font-size:10px;padding:8px}.hero{padding:48px 20px}.photos{columns:2;column-gap:5px;padding:5px}.photos figure{margin-bottom:5px}}/* Shared visual language with the public wedding demo. */
#gallery{color:#252822;background:#fff;font-family:Arial,Helvetica,sans-serif}
#gallery .top{min-height:88px;padding:15px 4%;border-bottom:0}
#gallery .top img{width:132px}
#gallery .button{border:1px solid #303a2e;border-radius:4px;background:#303a2e;color:#fff;font-weight:500;min-height:43px}
#gallery .button.light{border-color:#dcded7;background:#fff;color:#252822}
#gallery .button:hover{filter:brightness(.94)}
#gallery .hero{margin:0 24px;min-height:400px;height:min(680px,74vh);background:#f5f6f2;color:#252822}
#gallery .hero-cover{color:#fff}
#gallery .hero-shade{background:linear-gradient(0deg,#1320148c,#14201405 90%)}
#gallery .hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;width:100%;padding:35px}
#gallery.cover-left .hero{place-items:center;text-align:left}
#gallery.cover-left .hero-content{align-items:flex-start;padding-left:clamp(35px,7vw,120px)}
#gallery .eyebrow{font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.2em}
#gallery .hero h1,#gallery.type-serif .hero h1{font:400 clamp(52px,6.7vw,100px)/1.15 Georgia,serif;letter-spacing:-.045em;text-shadow:none;margin:13px 0 20px}
#gallery.type-bold .hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.06em}
#gallery .event-date{font:400 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.06em;text-transform:none}
#gallery .event-date span{margin:0 8px}
#gallery .hero-link{margin-top:35px;padding:14px 19px;border:1px solid currentColor;font-size:11px;text-decoration:none}
#gallery .hero-cover .hero-link{border-color:#ffffff90}
#gallery .hero-link span{margin-left:14px}
#gallery .host-note{background:#fff;color:#252822}
#gallery .gallery-intro{text-align:center;padding:75px 24px 62px}
#gallery .gallery-intro h2{font:400 clamp(32px,3.4vw,48px)/1.2 Georgia,serif;letter-spacing:-.035em;margin:18px 0}
#gallery .gallery-intro p{max-width:570px;margin:0 auto;color:#777b73;font-size:14px;line-height:1.8;white-space:pre-line}
#gallery .host-tools{max-width:1500px;margin:0 auto 14px;padding:18px 4%;border-top:1px solid #e6e7e1;border-bottom:1px solid #e6e7e1}
#gallery .gallery-toolbar{max-width:1500px;margin:auto;padding:26px 4%;border-top:1px solid #e6e7e1;display:flex;align-items:center;justify-content:space-between;gap:20px;scroll-margin-top:15px}
#gallery .gallery-toolbar h2{margin:0 0 8px;font-size:15px;font-weight:500}
#gallery .gallery-toolbar p{margin:0;color:#7a7e75;font-size:11px}
#gallery .gallery-toolbar p strong{font-weight:500}
#gallery .gallery-actions{display:flex;gap:10px;font-size:12px}
#gallery .gallery-actions .button:first-child{gap:8px}
#gallery .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto;gap:26px 16px;max-width:1500px;margin:0 auto;padding:0 4% 70px}
#gallery.grid-large .gallery{grid-template-columns:repeat(2,minmax(0,1fr));columns:auto}
#gallery.spacing-airy .gallery{column-gap:24px;row-gap:32px;padding-left:4%;padding-right:4%}
#gallery .shot,#gallery.spacing-airy .shot{margin:0;background:transparent;overflow:visible}
#gallery .shot-open{aspect-ratio:1;background:#e9eae4}
#gallery .shot-open img{width:100%;height:100%;object-fit:cover}
#gallery .caption{position:static;min-height:0;padding:13px 2px 0;background:none;color:#252822;font-size:12px}
#gallery .caption strong{text-shadow:none;font-weight:500}
#gallery .moderate{pointer-events:auto}
#gallery .hidden-label{top:12px;left:12px}
#gallery .empty,#gallery .locked{max-width:1050px;margin:25px auto 70px;padding:65px 25px;border:1px solid #e6e7e1;box-shadow:none}
#gallery .empty h2,#gallery .locked h2{font:400 clamp(31px,4vw,48px)/1.2 Georgia,serif}
#gallery .gallery-share{position:relative;width:min(440px,calc(100vw - 24px));padding:44px 30px 25px;border:0;border-radius:8px;text-align:center;color:#252822}
#gallery .gallery-share::backdrop{background:#171a16b8;backdrop-filter:blur(5px)}
#gallery .gallery-share h2{font:32px Georgia,serif;margin:18px 0}
#gallery .gallery-share p{color:#74796e;font-size:13px;line-height:1.6}
#gallery .gallery-share canvas{display:block;max-width:100%;margin:22px auto}
#gallery .gallery-share .share-actions{display:flex;justify-content:center;gap:8px}
#gallery #gallery-share-close{position:absolute;top:12px;right:12px}
#gallery .gallery-share #gallery-share-status{min-height:20px;overflow-wrap:anywhere}
@media(max-width:700px){#gallery .top{min-height:72px;padding:12px 20px}#gallery .top img{width:110px}#gallery .hero{margin:0 12px;min-height:380px;height:65vh;max-height:580px}#gallery .hero-content{padding:26px}#gallery .hero h1,#gallery.type-serif .hero h1{font-size:53px}#gallery.cover-left .hero-content{padding-left:28px}#gallery .gallery-intro{padding:55px 20px 40px}#gallery .host-tools{margin:0 16px 12px;padding:15px 0;flex-wrap:wrap}#gallery .gallery-toolbar{margin:0 16px;padding:25px 0;align-items:flex-start;flex-direction:column}#gallery .gallery-actions{width:100%}#gallery .gallery-actions .button:first-child{flex:1}#gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 9px;padding:0 16px 45px}#gallery.grid-large .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}#gallery.spacing-airy .gallery{gap:18px 12px;padding-left:16px;padding-right:16px}#gallery .caption{padding:11px 0;font-size:11px}#gallery .empty,#gallery .locked{margin:25px 16px 55px}}


#gallery{background:#fff;color:#252822}#gallery .hero{position:relative;display:grid;overflow:hidden;text-align:center;padding:0}#gallery .gallery-cover,#gallery .hero-shade{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;border-radius:0}#gallery .gallery-cover{object-fit:cover}#gallery .hero-shade{background:linear-gradient(0deg,#1320148c,#14201405 90%)}#gallery .hero-content{position:relative;z-index:2}#gallery .hero:not(.hero-cover) .hero-shade{display:none}#gallery.cover-left .hero-content{text-align:left}#gallery .hero-cover{color:#fff}#gallery .event-date{margin:0;color:inherit}#gallery .top .brand svg{display:block;width:132px;height:auto}#gallery .top .brand{text-decoration:none}#gallery .gallery-intro{max-width:none;margin:0}#gallery .gallery-toolbar{display:flex;align-items:center;justify-content:space-between}#gallery .gallery-toolbar h2{font-family:Arial,sans-serif}#gallery .photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));columns:unset;gap:26px 16px;max-width:1500px;margin:auto;padding:0 4% 70px}#gallery.grid-large .photos{grid-template-columns:repeat(2,minmax(0,1fr))}#gallery.spacing-airy .photos{gap:32px 24px}#gallery .photos figure{margin:0;background:transparent;border:0;border-radius:0}#gallery .photo-open{display:block;width:100%;aspect-ratio:1;border:0;padding:0;overflow:hidden;background:#e9eae4}#gallery .photo-open img{display:block;width:100%;height:100%;object-fit:cover}#gallery .photos figcaption{border:0;position:static;background:none;padding:13px 2px 0;color:#252822;font-size:12px}#gallery .host-note{margin:18px 0 0;font-size:11px}@media(max-width:700px){#gallery .photos,#gallery.grid-large .photos{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 45px;gap:14px 9px}}
