@charset "UTF-8";
:root{--ink:#291b21;--wine:#512b37;--paper:#f7f2e9;--muted:#77665f;--rose:#d8a799;--gold:#efd6ac;--line:#ddd2c5;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:6px}img{display:block;max-width:100%}::selection{background:var(--wine);color:var(--paper)}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--ink);z-index:100;padding:12px}.skip:focus{top:12px}
.site-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:27px 5.5%;color:var(--paper);border-bottom:1px solid #ffffff26}.monogram{font-family:var(--serif);font-size:30px;letter-spacing:-2px;white-space:nowrap}.monogram span{font-style:italic;color:var(--rose);font-size:24px;margin:0 4px}.site-header nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-download{border:1px solid #ffffff63;padding:10px 22px;border-radius:100px}.nav-download span{margin-left:20px}.hero{min-height:780px;height:100svh;max-height:1100px;background:var(--ink);color:var(--paper);position:relative;isolation:isolate;overflow:clip}.hero-media{position:absolute;inset:0 0 0 33%}.hero-frame{position:absolute;inset:0}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:55% 25%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#291b21 5%,#291b21f2 26%,#291b2100 65%),linear-gradient(0deg,#291b21cf,transparent 35%),linear-gradient(180deg,#291b2166,transparent 25%)}.light-leak{position:absolute;width:45vw;height:45vw;right:-25vw;bottom:-22vw;border-radius:50%;background:#ffb98536;filter:blur(70px);pointer-events:none}.hero-copy{position:relative;padding:180px 5.5% 130px;max-width:760px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:500;letter-spacing:2.8px;margin:0 0 26px}.hero .eyebrow{color:var(--gold)}.eyebrow span{margin:0 10px}h1{font-family:var(--serif);font-weight:400;font-size:clamp(100px,11vw,168px);line-height:.88;letter-spacing:-9px;margin:30px 0}h1 i{font-size:.7em;font-weight:400;color:var(--rose);margin-left:12px}.full-stop{color:var(--rose)}.hero-line{font-size:17px;line-height:1.65;color:#eee0d5;letter-spacing:.2px;margin:30px 0}.button{display:inline-flex;gap:35px;align-items:center;justify-content:center;border:0;border-radius:100px;padding:17px 26px;font-size:14px;font-weight:600;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:var(--gold)}.button span{font-size:23px;font-weight:400;line-height:1}.hero-bottom{position:absolute;inset:auto 5.5% 35px;display:flex;align-items:center;justify-content:space-between;gap:24px}.small-caps{font-size:12px;text-transform:uppercase;letter-spacing:2px}.scroll-cue{font-size:13px}.scroll-cue span{display:inline-block;margin-left:18px}.gallery-section{padding:100px 5.5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:50px}.section-heading .eyebrow{color:var(--wine);margin-bottom:20px}h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,67px);font-weight:400;line-height:1.1;letter-spacing:-2.5px;margin:0}h2 em{font-weight:400;color:var(--wine)}.section-heading>p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 5px}.gallery{columns:3;column-gap:22px}.gallery>img{width:100%;margin-bottom:22px}.download-section{padding:105px 5.5%;text-align:center;background:var(--wine);color:var(--paper)}.download-section .eyebrow{color:var(--gold)}.download-section h2 em{color:var(--rose)}.download-section .button{margin-top:40px}.download-detail{font-size:13px;color:#e0c9c6;margin:20px 0 0}footer{display:flex;align-items:center;justify-content:space-between;padding:30px 5.5%;gap:20px}footer p{font-size:14px}footer>span{font-size:12px;letter-spacing:2px}
@media(min-width:1600px){.hero-copy{padding-top:210px}}
@media(max-width:760px){.site-header{padding:20px 6%}.site-header nav{gap:18px}.nav-download{padding:8px 14px}.nav-download span{margin-left:10px}.hero{min-height:790px;max-height:1000px}.hero-media{inset:0 0 30% 0}.hero-frame img{object-position:50% 20%}.hero-shade{background:linear-gradient(0deg,#291b21 10%,#291b21cf 28%,#291b2100 65%),linear-gradient(180deg,#291b2180,transparent 22%)}.hero-copy{padding:390px 6% 100px;max-width:100%}.hero .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:24px}h1{font-size:100px;letter-spacing:-5px;line-height:.88;margin:0 0 22px}h1 br{display:none}h1 i{font-size:.65em;margin-left:0}.hero-line{font-size:15px;margin:20px 0}.hero-bottom{inset:auto 6% 24px}.hero-bottom .small-caps{display:none}.gallery-section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;font-size:14px}h2{letter-spacing:-1.7px}.gallery{columns:2;column-gap:12px}.gallery>img{margin-bottom:12px}.download-section{padding:70px 6%}footer{padding:25px 6%}footer>span{display:none}footer p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Movement is applied only to the photograph as a whole; faces and image content are untouched. */
[hidden]{display:none!important}.hero-frame{opacity:0;transition:opacity 1.6s ease;overflow:hidden}.hero-frame.is-active{opacity:1}.hero-frame picture{display:block;height:100%}.hero-frame img{object-position:50% 12%;transform:scale(1.045);transition:transform 7.5s linear}.hero-frame.is-active img{transform:scale(1)}.hero-controls{position:absolute;right:5.5%;bottom:105px;display:flex;align-items:center;gap:22px;z-index:2}.slide-number{font-size:14px;letter-spacing:2px}.slide-number i{font-style:normal;opacity:.65;margin-left:6px}.slide-dots{display:flex;gap:10px}.slide-dot{background:transparent;border:0;padding:12px 0;width:30px;position:relative}.slide-dot::before{content:'';height:2px;background:#ffffff60;display:block;transition:background .3s}.slide-dot.active::before{background:var(--gold)}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff50;color:inherit;border-radius:50%;background:#291b2130;font-size:20px;line-height:1}.icon-button:hover{background:#ffffff20}.light-leak{animation:light-drift 12s ease-in-out infinite alternate}.glints{position:absolute;inset:0;pointer-events:none;overflow:hidden}.glints span{position:absolute;border-radius:50%;width:3px;height:3px;background:var(--gold);box-shadow:0 0 13px 3px #efd6ac55;opacity:0;animation:glint 9s infinite ease-in-out}.glints span:nth-child(1){left:42%;top:75%}.glints span:nth-child(2){left:52%;top:50%;animation-delay:2s}.glints span:nth-child(3){left:90%;top:72%;animation-delay:4s}.glints span:nth-child(4){left:82%;top:87%;animation-delay:6s}.glints span:nth-child(5){left:15%;top:26%;animation-delay:3s}.glints span:nth-child(6){left:62%;top:30%;animation-delay:7s}.scroll-cue span{animation:scroll-nudge 2s ease-in-out infinite}.hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-line,.hero-copy .button{animation:arrive 1.2s both}.hero-copy h1{animation-delay:.12s}.hero-copy .hero-line{animation-delay:.25s}.hero-copy .button{animation-delay:.4s}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused .hero-frame img{transition:none;transform:scale(1)}
.ribbon{overflow:hidden;background:var(--wine);color:var(--gold);border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}.ribbon-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.ribbon-track>span{font-family:var(--serif);font-size:30px;white-space:nowrap;padding:17px 0}.ribbon-track i{font-size:20px;font-style:normal;margin:0 48px;color:var(--rose)}.highlights{max-width:1550px;margin:0 auto;padding:110px 7% 105px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%}.highlight-copy p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.9;margin:30px 0}.highlight-copy h2{font-size:clamp(37px,3.8vw,58px)}.text-button{border:0;border-bottom:1px solid currentColor;padding:0 0 8px;background:none;color:var(--wine);font-size:14px}.text-button span{display:inline-block;margin-left:30px;font-size:22px;transition:transform .2s}.text-button:hover span{transform:translate(3px,-3px)}.polaroid-stack{position:relative;height:480px;perspective:1200px}.polaroid{position:absolute;display:block;top:10%;background:#fffaf0;border:0;padding:14px 14px 18px;box-shadow:0 14px 38px #291b2126;transform-origin:center;transition:transform .6s,box-shadow .6s;text-align:center;color:var(--wine)}.polaroid img{width:100%;object-fit:cover}.polaroid span{display:block;font-family:var(--serif);font-size:17px;font-style:italic;margin-top:15px}.polaroid-back{left:0;width:66%;transform:rotate(-11deg) translateY(8px);z-index:1}.polaroid-back img{aspect-ratio:1.3;object-fit:contain;background:#eae5da}.polaroid-front{right:0;top:17%;width:52%;transform:rotate(10deg);z-index:2}.polaroid-front img{aspect-ratio:.85;object-position:50% 15%}.polaroid:hover,.polaroid:focus-visible{z-index:4;transform:rotate(0deg) translateY(-15px) scale(1.035);box-shadow:0 25px 50px #291b2140}.handwritten{position:absolute;bottom:0;left:8%;font-family:var(--serif);font-size:26px;font-style:italic;color:var(--muted);transform:rotate(-8deg)}.gallery-section{border-top:1px solid var(--line);padding-top:90px}.count-badge{display:inline-block;background:#e9ddd2;border-radius:100px;padding:2px 9px;letter-spacing:0;margin-left:9px;font-size:12px}.album-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}.album-tab{padding:10px 17px;border:1px solid var(--line);border-radius:100px;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap;transition:background .25s,color .25s,border .25s}.album-tab span{font-size:11px;margin-left:7px;opacity:.7}.album-tab:hover{color:var(--ink);border-color:var(--wine)}.album-tab.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.gallery{columns:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}.photo-card{position:relative;display:block;width:100%;padding:0;border:0;background:#e7ddd2;overflow:hidden;aspect-ratio:.82;text-align:left;isolation:isolate}.photo-card:nth-child(8n+2),.photo-card:nth-child(8n+7){aspect-ratio:.68}.photo-card:nth-child(8n+3),.photo-card:nth-child(8n+6){aspect-ratio:1.03}.photo-card img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .6s}.photo-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#291b21b3);opacity:0;transition:opacity .4s;z-index:1;pointer-events:none}.photo-card:hover img,.photo-card:focus-visible img{transform:scale(1.045);filter:saturate(1.05)}.photo-card:hover::after,.photo-card:focus-visible::after{opacity:1}.photo-caption{position:absolute;left:17px;bottom:18px;right:36px;color:white;z-index:2;font-size:12px;opacity:0;transform:translateY(5px);transition:opacity .4s,transform .4s}.photo-open{position:absolute;right:15px;bottom:14px;font-size:24px;color:white;z-index:2;opacity:0;transition:opacity .4s}.photo-number{position:absolute;top:11px;left:12px;color:white;font-size:10px;letter-spacing:1px;background:#291b214f;padding:2px 6px;border-radius:2px;z-index:2}.photo-card:hover .photo-caption,.photo-card:focus-visible .photo-caption{opacity:1;transform:none}.photo-card:hover .photo-open,.photo-card:focus-visible .photo-open{opacity:1}.gallery-more{text-align:center;margin-top:40px}.gallery-more p{color:var(--muted);font-size:13px;margin:0 0 18px}.button-outline{background:transparent;color:var(--ink);border:1px solid #b5a699}.button-outline:hover{background:#ede3d6}.download-section{position:relative;isolation:isolate;overflow:hidden;padding-top:120px;padding-bottom:115px}.download-copy{position:relative;z-index:2}.download-intro{font-size:15px;color:#ecdcd4;margin:26px 0 0}.download-note{font-size:12px;color:#ccb4b5;margin:5px 0 0}.download-photo{position:absolute;top:100px;width:200px;background:var(--paper);padding:10px 10px 35px;box-shadow:0 15px 35px #0003;z-index:0}.download-photo img{width:100%;aspect-ratio:.73;object-fit:cover;object-position:50% 18%}.download-left{left:-50px;transform:rotate(-15deg)}.download-right{right:-50px;transform:rotate(14deg)}.footer-motion{font-size:12px;border:0;color:var(--muted);padding:5px}.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}.will-reveal.visible{opacity:1;transform:none}.motion-paused .will-reveal{opacity:1;transform:none}.lightbox-open{overflow:hidden}.lightbox{width:100%;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;border:0;padding:0;background:#1b1419f7;color:var(--paper);overflow:hidden}.lightbox::backdrop{background:#1b1419}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:18px 3%;gap:12px;flex-shrink:0}.lightbox-brand{font-family:var(--serif);font-size:23px}.lightbox-brand i{color:var(--rose)}.lightbox-tools{display:flex;align-items:center;gap:24px}.lightbox-play{border:0;border-bottom:1px solid #ffffff44;padding:8px 0;background:transparent;color:var(--paper);font-size:13px}.lightbox-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:space-between;padding:0 3%;gap:20px}.lightbox-stage figure{flex:1;min-width:0;height:100%;margin:0;display:flex;align-items:center;justify-content:center;position:relative}.lightbox-stage img{width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .3s;touch-action:pan-y pinch-zoom}.lightbox-stage img.loading{opacity:.35}.lightbox-stage figcaption{position:absolute;background:var(--ink);padding:20px;max-width:400px;bottom:30%;text-align:center}.lightbox-prev,.lightbox-next{flex-shrink:0;width:48px;height:48px}.lightbox-bottom{padding:18px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.lightbox-bottom p{margin:0;font-size:13px}.lightbox-hint{color:#bba9a4;font-size:12px!important}.lightbox-hint span{margin:0 10px}.slideshow-progress{height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.is-playing .slideshow-progress{animation:slideshow 4.5s linear infinite}
@keyframes light-drift{to{transform:translate(-20vw,-15vw);opacity:.5}}@keyframes glint{0%,100%{opacity:0;transform:translateY(10px)}45%{opacity:.7}75%{opacity:0;transform:translateY(-80px)}}@keyframes scroll-nudge{50%{transform:translateY(5px)}}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes slideshow{to{transform:scaleX(1)}}
@media(min-width:1700px){.gallery{grid-template-columns:repeat(5,minmax(0,1fr))}.download-left{left:3%}.download-right{right:3%}.polaroid-stack{height:550px}}
@media(max-width:1100px){.hero-controls{bottom:100px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.highlights{padding:80px 6%;gap:5%}.polaroid-stack{height:390px}.handwritten{font-size:21px}.download-photo{width:160px;top:140px}.download-left{left:-70px}.download-right{right:-70px}}
@media(max-width:760px){.hero{min-height:840px;max-height:1000px}.hero-copy{padding-top:430px;padding-bottom:155px}.hero-media{bottom:24%}.hero-frame img{object-position:50% 7%}.hero-copy h1{font-size:clamp(80px,16.5vw,115px);white-space:nowrap;letter-spacing:-4px}.hero-copy .hero-line{margin:20px 0}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.5px}.hero-controls{right:6%;bottom:22px;gap:12px}.slide-number{font-size:11px}.slide-number i{display:none}.slide-dots{gap:6px}.slide-dot{width:20px}.hero-controls .icon-button{width:34px;height:34px;font-size:17px}.hero-bottom{right:auto;bottom:26px}.scroll-cue{font-size:11px}.scroll-cue span{margin-left:8px}.ribbon-track>span{font-size:24px;padding:13px 0}.ribbon-track i{margin:0 24px;font-size:17px}.highlights{grid-template-columns:1fr;padding:65px 6% 50px;gap:25px}.highlight-copy p:not(.eyebrow){font-size:15px;margin:24px 0}.polaroid-stack{max-width:470px;width:100%;height:400px;margin:0 auto}.polaroid-back{top:10%}.polaroid-front{top:16%;width:48%}.handwritten{bottom:12px}.gallery-section{padding-top:65px}.album-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:20px;margin-bottom:24px;scrollbar-width:thin;scrollbar-color:var(--rose) transparent}.album-tab{font-size:13px;padding:9px 15px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-card{aspect-ratio:.78!important}.photo-number{font-size:10px;top:8px;left:8px}.photo-caption{font-size:11px;left:12px;bottom:12px}.download-section{padding:75px 6% 80px}.download-photo{display:none}.download-intro{font-size:14px;max-width:290px;margin:25px auto 0}.download-section .button{margin-top:30px;padding:16px 20px;gap:20px}.download-detail{font-size:12px}.download-note{font-size:11px}footer{flex-wrap:wrap;gap:10px}footer .footer-motion{width:100%;text-align:center;padding-top:5px}.lightbox-top{padding:14px 4%}.lightbox-brand{font-size:21px}.lightbox-tools{gap:14px}.lightbox-play{font-size:12px}.lightbox-stage{padding:0;position:relative}.lightbox-stage figure{height:100%;width:100%}.lightbox-prev,.lightbox-next{position:absolute;bottom:16px;width:42px;height:42px;z-index:2;background:#291b2177}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-bottom{justify-content:center;text-align:center;padding:18px 5%}.lightbox-bottom p{font-size:12px}.lightbox-hint{display:none}}
@media(max-width:380px){.site-header nav{gap:14px;font-size:12px}.nav-download{padding:8px 12px}.hero-copy h1{font-size:77px;letter-spacing:-5px}.polaroid-stack{height:340px}.hero-controls{gap:8px}.slide-dot{width:15px}.scroll-cue{font-size:10px}.hero-copy .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none}.hero-frame img{transform:none!important}.ribbon-track{animation:none}.glints{display:none}.photo-card:hover img{transform:none}html{scroll-behavior:auto}}

/* Keep full image proportions in the album, including panoramic groups and tall portraits. */
.highlights{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.highlight-copy,.polaroid-stack{min-width:0}.polaroid img{height:auto}.gallery{grid-auto-rows:8px}.photo-card,.photo-card:nth-child(n){aspect-ratio:auto}.photo-card img{height:auto;aspect-ratio:var(--ratio);object-fit:contain}h1{letter-spacing:-6px}
.hero-media{z-index:0}.hero-shade{z-index:1;pointer-events:none}.light-leak,.glints{z-index:2}.hero-copy,.hero-bottom,.hero-controls{z-index:3}.site-header{background:linear-gradient(#291b2166,transparent)}
.hero-media{mask-image:linear-gradient(90deg,transparent,#000 14%)}.photo-number,.album-tab span,.download-note{font-size:12px}
@media(max-width:1100px){h1{letter-spacing:-4px}}
@media(max-width:760px){.highlights{grid-template-columns:minmax(0,1fr)}.photo-card,.photo-card:nth-child(n){aspect-ratio:auto!important}.hero-copy h1{letter-spacing:-4px}.hero-media{mask-image:none}.hero-shade{background:linear-gradient(0deg,#291b21 28%,#291b21c9 40%,#291b2100 72%),linear-gradient(180deg,#291b2155,transparent 22%)}.scroll-cue,.hero-copy .eyebrow,.album-tab span,.download-note{font-size:12px}.hero-copy .eyebrow{letter-spacing:1px}}
.highlight-copy p.thankyou-signature{margin:24px 0 30px;color:var(--wine);font-size:14px;line-height:1.7}.thankyou-signature span{font-family:var(--serif);font-size:28px;font-style:italic}

@media(max-width:760px){.hero-frame .hero-wide-image{height:70%;object-position:50% 30%;mask-image:linear-gradient(#000 75%,transparent)}}
