@font-face{font-family:Cormorant;src:url(assets/font-1.ttf)}@font-face{font-family:Cormorant;src:url(assets/font-0.ttf);font-style:italic}@font-face{font-family:Jost;src:url(assets/font-3.ttf)}
:root{--ink:#253344;--muted:#66717d;--paper:#fffefa;--blue:#334e70;--line:#dcdedb;--soft:#f3f1eb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Jost,Arial,sans-serif;font-size:16px}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #769bb4;outline-offset:4px}a{color:inherit}button{border:0;background:none;color:inherit}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}.preview-bar{background:var(--blue);color:#fff;padding:10px 4%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.08em;gap:15px}.preview-bar button{color:white;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.brand-header{max-width:1540px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 5%;border-bottom:1px solid var(--line)}.brand-header img{object-fit:contain;mix-blend-mode:multiply;display:block}.private-label{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.private-label svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.3}.cover{max-width:1540px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;padding:60px 5% 70px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.18em;line-height:1.8;margin:0 0 23px}h1,h2,h3{font-family:Cormorant,Georgia,serif;font-weight:400}h1{font-size:clamp(58px,6.4vw,100px);line-height:.96;margin:0 0 27px;letter-spacing:-.035em}h1 em{font-weight:400;color:var(--blue)}.welcome{font-size:18px;line-height:1.7}.personal-note{font-size:13px;color:var(--muted);margin:22px 0 30px;line-height:1.7}.primary{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--blue);color:white;padding:15px 24px;font-size:13px;letter-spacing:.025em;text-decoration:none;min-height:46px}.primary:hover{background:#243d5c}.signature{font:italic 28px Cormorant,Georgia,serif;margin:27px 0 0}.cover-photo{margin:0;position:relative;padding:20px;background:var(--soft)}.cover-photo img{display:block;width:100%;height:auto;max-height:530px;object-fit:contain}.cover-photo figcaption{text-align:right;font:italic 20px Cormorant,Georgia,serif;padding:16px 4px 0}.collection{padding:65px 4% 20px;border-top:1px solid var(--line);max-width:1800px;margin:auto}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.collection-heading .eyebrow{margin-bottom:9px}h2{font-size:clamp(36px,4vw,55px);line-height:1.08;margin:0}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:28px 0;gap:20px}.collection-toolbar p{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:25px}.tabs button{font-size:13px;padding:16px 0;border-bottom:2px solid transparent}.tabs button[aria-pressed=true]{border-color:var(--blue)}.tabs span{font-size:10px;margin-left:7px;color:var(--muted)}.photo-grid{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.photo-tile{position:relative;flex-grow:var(--ratio);flex-basis:calc(var(--ratio)*270px);min-width:0;max-width:100%;margin:0}.photo-open{display:block;padding:0;width:100%;line-height:0}.photo-open img{display:block;width:100%;height:auto}.heart{position:absolute;right:9px;bottom:9px;width:38px;height:38px;border-radius:50%;background:#fffefae8;color:var(--blue);font-size:24px;box-shadow:0 2px 10px #0001}.heart[aria-pressed=true]{background:var(--blue);color:white}.photo-open:hover img{filter:brightness(.97)}.end-note{text-align:center;padding:65px 0 40px;font:italic 28px Cormorant,Georgia,serif;color:var(--muted)}#empty-state{text-align:center;padding:65px 20px}#empty-state h3{font-size:35px}.secondary{border:1px solid var(--blue);padding:13px 20px}.login-layout{max-width:1250px;margin:55px auto 75px;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 5%;align-items:center}.login-photo{margin:0;background:var(--soft);padding:20px}.login-photo img{display:block;width:100%;max-height:650px;object-fit:contain}.login-copy h1{font-size:clamp(55px,5vw,76px)}.login-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}.login-form{margin:27px 0}.login-form label{display:block;font-size:12px;margin:18px 0}.login-form input{display:block;width:100%;padding:14px 12px;border:1px solid var(--line);background:white;font:14px Jost;color:var(--muted);margin-top:8px;border-radius:0}.login-form .primary{width:100%;margin-top:7px}.preview-explanation{font-size:11px;color:var(--muted);text-align:center}.help{font-size:12px!important}footer{text-align:center;background:var(--soft);padding:40px 20px}footer p{font:italic 31px Cormorant;margin:0 0 17px}footer span{font-size:10px;letter-spacing:.2em}footer small{display:block;font-size:10px;color:var(--muted);margin-top:20px}dialog::backdrop{background:#17212bed;backdrop-filter:blur(5px)}#lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;background:#15202b;color:#fff;padding:0}#lightbox[open]{display:flex;flex-direction:column}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 25px;font-size:12px}.lightbox-top button{font-size:22px;min-height:44px;min-width:44px}.viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px}.viewer-stage img{max-width:calc(100% - 112px);height:100%;min-height:0;object-fit:contain}.viewer-stage>button{width:44px;min-width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;font-size:20px}.lightbox-bottom button{padding:12px;margin-left:12px;border:1px solid #ffffff55}.lightbox-bottom{padding-top:20px;padding-bottom:20px}.lightbox-bottom>div{display:flex}#download-dialog{width:min(530px,92vw);padding:48px;border:0;background:var(--paper);color:var(--ink)}#download-dialog h2{font-size:45px}#download-dialog>p{line-height:1.8;font-size:14px;color:var(--muted)}.dialog-close{position:absolute;top:10px;right:12px;width:40px;height:40px}.download-option{display:flex;flex-direction:column;gap:8px;padding:21px;border:1px solid var(--line);margin:25px 0}.download-option strong{font-size:15px;font-weight:400}.download-option span{font-size:12px;color:var(--muted)}.download-preview-note{background:var(--soft);padding:15px;font-size:12px!important}#done-download{width:100%;margin-top:10px}
@media(min-width:1700px){.photo-tile{flex-basis:calc(var(--ratio)*340px)}}@media(max-width:760px){.preview-detail{display:none}.brand-header{padding:10px 6%}.brand-header img{width:65px;height:65px}.private-label{font-size:11px}.cover{grid-template-columns:1fr;gap:35px;padding:38px 6% 40px}.cover-copy{max-width:500px}h1{font-size:66px}.eyebrow{font-size:9px}.welcome{font-size:16px}.personal-note{margin:15px 0 24px}.cover-photo{padding:12px}.signature{font-size:24px}.collection{padding:35px 4% 0}.collection-heading{align-items:flex-start;flex-direction:column;gap:20px}.collection-heading .primary{width:100%}.collection-toolbar{margin:15px 0 20px}.collection-toolbar p{display:none}.tabs{justify-content:space-between;width:100%}.photo-grid{gap:8px}.photo-tile{flex-basis:calc(var(--ratio)*155px)}.heart{width:33px;height:33px;font-size:21px;bottom:6px;right:6px}.end-note{font-size:24px;padding:35px 5%}.login-layout{display:flex;flex-direction:column-reverse;gap:30px;margin:35px 0}.login-photo{max-width:430px}.login-copy h1{font-size:65px}.viewer-stage{padding:0 8px;gap:0;position:relative}.viewer-stage img{max-width:100%;width:100%}.viewer-stage>button{position:absolute;bottom:10px;z-index:1;background:#15202bdd}.viewer-stage #next{right:10px}.viewer-stage #previous{left:10px}.lightbox-top,.lightbox-bottom{padding:10px 14px}.lightbox-bottom{font-size:11px}.lightbox-bottom button{margin-left:6px;padding:11px 8px}#download-dialog{padding:35px 25px}#download-dialog h2{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Neutral entry page: wedding photographs appear only in the gallery preview. */
.login-layout{display:block;max-width:570px;margin:65px auto 85px;padding:0 28px}.login-copy{text-align:center}.login-form{text-align:left}.login-copy h1{font-size:70px}.login-form .preview-explanation{text-align:center}@media(max-width:760px){.login-layout{margin:40px auto 55px}.login-copy h1{font-size:58px}}
