@font-face{font-family:Sniglet;src:url(/fonts/Sniglet-Regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Sniglet;src:url(/fonts/Sniglet-ExtraBold.ttf)format("truetype");font-weight:800;font-display:swap}:root{--ink:#212323;--paper:#d2d2d2;--mint:#00ff94;--coral:#fc876b;--red:#b52b33;--olive:#b2b83e;--forest:#037e3a;--violet:#6a6273;--acid:#f0ff94;--sky:#5497a7;--ci-gradient:conic-gradient(from 15deg, var(--mint), var(--coral), var(--red), var(--olive), var(--forest), var(--violet), var(--acid), var(--sky), var(--acid), var(--mint))}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);margin:0;font-family:Sniglet,Arial,sans-serif}button,a{font:inherit;color:inherit}.one-page{background:var(--paper);flex-direction:column;min-height:100svh;display:flex;overflow:hidden}.compact-hero{isolation:isolate;border-bottom:2px solid var(--ink);background:#a8b0a6;justify-content:space-between;align-items:center;gap:3rem;min-height:37svh;padding:clamp(2.3rem,5vh,4.2rem) clamp(1.25rem,6vw,6rem) 2.2rem;display:flex;position:relative;overflow:hidden}.compact-hero:before{content:"";z-index:-1;background:var(--ci-gradient);filter:blur(100px);opacity:.55;position:absolute;inset:-85% -15%}.home-page .compact-hero{flex:1;min-height:60svh;padding-top:clamp(3rem,8svh,6rem);padding-bottom:clamp(4rem,10svh,7rem)}.home-page .album-picker{margin-bottom:clamp(2rem,5svh,3.5rem)}.home-page footer{margin-top:0}.compact-copy{max-width:64rem}h1{letter-spacing:-.055em;margin:0;line-height:.8}h1 .names{white-space:nowrap;font-size:clamp(3rem,7vw,7.2rem);font-weight:800;display:block}h1 .married{color:var(--ink);letter-spacing:-.035em;white-space:nowrap;margin-top:clamp(.5rem,1.15vw,1.1rem);font-size:clamp(1.8rem,3.7vw,3.8rem);font-weight:400;display:block}.wedding-date{letter-spacing:.04em;align-items:center;gap:.55rem;margin:1.45rem 0 0;font-size:clamp(.95rem,1.35vw,1.18rem);font-weight:400;display:flex}.wedding-date span{color:var(--red);font-size:.85em}.couple-photo-wrap{flex:none;width:clamp(15rem,22vw,21rem);margin-right:clamp(1rem,3vw,3rem);position:relative;transform:rotate(2deg)}.couple-photo-placeholder{aspect-ratio:4/3;border:3px solid var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--sky) 72%, white), color-mix(in srgb, var(--coral) 62%, var(--acid)));width:100%;box-shadow:10px 12px 0 var(--ink);text-align:center;border-radius:3rem 2.1rem 3.5rem 2.5rem;place-items:center;display:grid;overflow:hidden}.couple-photo-placeholder span{opacity:.62;font-size:clamp(1rem,1.5vw,1.35rem);font-weight:400;line-height:1.05;transform:rotate(-2deg)}.ci-mark{aspect-ratio:1;border:3px solid var(--ink);background:var(--acid);width:clamp(6.2rem,9vw,8.5rem);box-shadow:6px 7px 0 var(--ink);border-radius:53% 47% 58% 42%;justify-content:center;align-items:center;gap:.2em;font-size:clamp(1.25rem,2vw,1.9rem);font-weight:800;display:flex;position:absolute;bottom:-2rem;left:-2.5rem;transform:rotate(-9deg)}.ci-mark b{color:var(--red);font-size:.75em}.album-picker{z-index:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.4vw,1.2rem);width:min(92rem,100% - 2rem);margin:-1.35rem auto 0;display:grid;position:relative}.soft-button{--button-color:white;border:2px solid var(--ink);background:var(--button-color);min-width:0;min-height:5.9rem;box-shadow:5px 6px 0 var(--ink);text-align:center;cursor:pointer;border-radius:2rem 2.6rem 2.1rem 2.8rem;justify-content:center;align-items:center;padding:1rem 1.35rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.soft-button:hover,.soft-button:focus-visible{outline:none;transform:translateY(-2px)}.soft-button:not(.photographer-button){background:color-mix(in srgb, var(--button-color) 32%, white)}.photographer-button{--button-color:var(--mint);background:var(--mint)}.photobooth-button{--button-color:var(--coral);cursor:default}.soft-button:disabled:hover{transform:none}.soft-button span{flex-direction:column;align-items:center;width:100%;min-width:0;line-height:1.05;display:flex}.soft-button b{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;width:100%;font-size:clamp(.9rem,1.35vw,1.28rem);font-weight:800;overflow:visible}.soft-button small{opacity:.7;margin-top:.35rem;font-size:.75rem}.album-header{background:var(--album-color);border-bottom:2px solid var(--ink);padding:2rem clamp(1.25rem,6vw,6rem) 3rem}.album-back{text-underline-offset:.3em;margin-bottom:2.5rem;font-size:1rem;display:inline-block}.album-header h1{font-size:clamp(3rem,7vw,7.2rem);font-weight:800}.album-header p{margin:1rem 0 0;font-size:1.2rem}.album-content{width:min(92rem,100% - 2rem);margin:2rem auto}.album-empty{margin:0 0 1.5rem;font-size:1rem}.mini-photo-grid{grid-template-columns:repeat(6,1fr);gap:.75rem;display:grid}.mini-photo{aspect-ratio:4/3;border:2px solid var(--ink);background:linear-gradient(145deg, color-mix(in srgb, var(--album-color) 84%, white), color-mix(in srgb, var(--album-color) 42%, var(--violet)));border-radius:1.6rem 2rem 1.5rem 2.1rem;justify-content:space-between;align-items:flex-end;min-height:6rem;padding:.8rem;display:flex}.mini-photo:nth-child(2n){border-radius:2rem 1.4rem 2.1rem 1.6rem}.mini-photo span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.mini-photo b{font-size:1.2rem}footer{background:var(--ink);color:#fff;letter-spacing:.08em;justify-content:space-between;margin-top:auto;padding:1rem clamp(1.25rem,6vw,6rem);font-size:.75rem;display:flex}footer p{margin:0}footer span{color:var(--coral)}@media (width<=900px){.compact-hero{min-height:auto;padding-bottom:3.5rem}.couple-photo-wrap{width:clamp(10rem,22vw,13rem);margin-right:1rem}.ci-mark{width:5.4rem;box-shadow:4px 5px 0 var(--ink);font-size:1.15rem;bottom:-1.2rem;left:-1.4rem}.album-picker{grid-template-columns:repeat(2,1fr);margin-top:-1.6rem}.mini-photo-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=520px){.compact-hero{flex-direction:column;align-items:flex-start;gap:2rem;padding-top:3rem}h1 .names,h1 .married{white-space:normal}.couple-photo-wrap{align-self:flex-end;width:10.5rem;margin:0 1rem 0 0}.album-picker{grid-template-columns:1fr}.soft-button{min-height:4.7rem}.mini-photo-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;gap:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.photobooth-button{cursor:pointer}.soft-button small{font-size:.875rem}button:focus-visible,a:focus-visible,.polaroid-viewer:focus-visible{outline:3px solid var(--red);outline-offset:5px}.photobooth-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem;display:grid}.photobooth-photo{cursor:pointer;background:#fff;border:0;border-radius:0;padding:0;overflow:hidden}.photobooth-photo img{aspect-ratio:3/2;object-fit:contain;width:100%;display:block}.photobooth-placeholder{aspect-ratio:3/2;border:2px solid var(--ink);background:color-mix(in srgb, var(--coral) 25%, white);border-radius:1rem;place-items:center;display:grid}.polaroid-viewer{max-width:900px;margin:auto}.polaroid-canvas{display:grid}.polaroid-layer{filter:drop-shadow(2px 4px 3px #0003);grid-area:1/1;width:100%;height:auto;animation:.18s ease-out appear;display:block}.polaroid-demo{place-items:center;height:clamp(280px,45vw,420px);display:grid;position:relative}.demo-card{aspect-ratio:4/5;background:#fff;border:1px solid #bbb;width:clamp(165px,28vw,250px);position:absolute;box-shadow:2px 5px 8px #0003}.back-two{transform:rotate(-10deg)translate(-20px,5px)}.back-one{transform:rotate(7deg)translate(18px)}.front{flex-direction:column;align-items:center;gap:1rem;padding:12px 12px 30px;display:flex;transform:rotate(-2deg)}.front div{background:color-mix(in srgb, var(--acid) 55%, #aaa);flex:1;width:100%}.front span{font-size:.875rem}.stack-controls,.lightbox-controls{justify-content:center;align-items:center;gap:1.5rem;margin:1.5rem 0;display:flex}.stack-controls button,.lightbox-controls button{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:50%;width:48px;height:48px;font-size:1.5rem}.stack-controls button:disabled{opacity:.35;cursor:default}@keyframes appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}.couple-photo-placeholder img{object-fit:cover;width:100%;height:100%;display:block}.photobooth-photo{display:block}.kitten-stack .demo-card{transform:translateX(var(--offset)) rotate(var(--rotation))}.kitten-stack img{object-fit:cover;flex:1;width:100%;min-height:0}.photo-detail{width:min(1100px,100% - 2rem);margin:2rem auto}.photo-detail>img{object-fit:contain;width:100%;max-height:75svh;display:block}.stack-controls a{border:2px solid var(--ink);background:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.5rem;text-decoration:none;display:grid}.photo-image{background:#deded9;position:relative;overflow:hidden}.photo-image img{object-fit:contain;width:100%;height:100%;display:block}.image-pending{opacity:0}.image-loading,.loading-tile{background:linear-gradient(100deg,#deded9 25%,#eee 50%,#deded9 75%) 0 0/200% 100%;animation:1.4s linear infinite loading-shimmer}.image-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100%;padding:.5rem;font-size:.875rem;display:flex}.image-error button,.retry-button{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:1rem;padding:.5rem .9rem}.photobooth-photo .photo-image{aspect-ratio:3/2}.kitten-stack .photo-image{flex:1;width:100%;min-height:0}.kitten-stack .photo-image img{object-fit:cover}.photo-detail>.photo-image{aspect-ratio:3/2;max-height:75svh}.loading-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem;display:grid}.loading-tile{aspect-ratio:3/2;border-radius:1rem}.loading-grid.polaroids{grid-template-columns:1fr;max-width:250px;margin:2rem auto}.loading-grid.polaroids .loading-tile{aspect-ratio:4/5}.loading-grid.polaroids .loading-tile:not(:first-child){display:none}@keyframes loading-shimmer{to{background-position:-200% 0}}.polaroid-canvas{isolation:isolate;position:relative}.polaroid-canvas .polaroid-layer{object-fit:contain;width:100%;height:100%;animation:none;position:absolute;inset:0}.kitten-stack{isolation:isolate}.stack-photo-pending{visibility:hidden}.polaroid-status{text-align:center;padding:2rem 0}.polaroid-stage{padding:1rem clamp(.5rem,3vw,1.25rem)}.polaroid-viewer{width:100%;max-width:8.8cm;margin-inline:auto}.polaroid-canvas{width:100%;max-height:10.7cm;overflow:visible}.polaroid-canvas .polaroid-layer{object-fit:contain}@media (width<=520px){.polaroid-stage{padding:1.25rem .75rem}}.stack-controls{grid-template-columns:48px 8rem 48px;justify-content:center;gap:clamp(.5rem,4vw,1.5rem);display:grid}.stack-controls>span{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%}.stack-controls button,.stack-controls a{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.instax-detail .photo-image,.instax-grid .photo-image{background:0 0;animation:none}.instax-detail .photo-detail>.photo-image{max-height:none}.detail-skeleton{aspect-ratio:3/2;place-items:center;display:grid;position:relative}.image-status{text-align:center;place-items:center;padding:.5rem;font-size:.875rem;display:grid;position:absolute;inset:0}.instax-grid,.loading-grid.instax{grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));justify-content:stretch;gap:20px;display:grid}.instax-link{width:100%;text-decoration:none;display:block}.instax-grid .photo-image{aspect-ratio:670/1066;background:0 0;width:100%;height:auto;animation:none}.instax-grid .photo-image.image-loading{background:0 0;animation:none}.instax-grid .photo-image img{aspect-ratio:670/1066;object-fit:contain;width:100%;height:auto;display:block}.instax-grid .image-status{font-size:.75rem}.loading-grid.instax .loading-tile{aspect-ratio:670/1066;background:0 0;border-radius:0;animation:none}.instax-detail .photo-detail>.photo-image,.instax-detail .detail-skeleton{aspect-ratio:670/1066;width:335px;max-width:100%;margin-inline:auto}
