@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/cormorant-garamond-normal-400.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("assets/fonts/cormorant-garamond-italic-400.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/dm-sans-normal-400.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/dm-sans-normal-500.woff2") format("woff2")}

:root{color-scheme:light;--paper:#FAF8F5;--white:#FFF;--wine:#742C3C;--ink:#34483C;--muted:#647065;--line:#E4DED6;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:#EBD8DB;color:var(--wine)}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
a{color:inherit}
.container{width:min(1120px,calc(100% - 80px));margin-inline:auto}
.skip-link{position:fixed;z-index:10;top:12px;left:12px;padding:12px 20px;background:var(--white);border:1px solid var(--wine);border-radius:3px;transform:translateY(-160%);text-decoration:none}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--wine);outline-offset:3px}
.welcome{position:relative;isolation:isolate;overflow:clip;max-width:1420px;margin-inline:auto;padding:53px 40px 49px}
.welcome-content{max-width:660px;margin-inline:auto;text-align:center}
.wedding-date{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--wine);font-size:12px;letter-spacing:.24em;line-height:1.5}
.wedding-date span{width:30px;height:1px;background:#C6ABAF}
h1{font-size:clamp(64px,7.3vw,104px);line-height:1.1;letter-spacing:-.035em;color:var(--wine);margin:14px 0 8px}
.ampersand{font-style:italic;font-size:.83em;margin-inline:.02em}
.tagline{font-family:var(--serif);font-style:italic;font-size:27px;line-height:1.35;letter-spacing:.005em}
.welcome-text{max-width:623px;margin:25px auto 0;font-size:15px;line-height:1.9;text-wrap:pretty}
.botanical{position:absolute;z-index:-1;pointer-events:none}
.botanical-left{width:195px;height:auto;top:46px;left:clamp(18px,4vw,70px);transform:rotate(-7deg)}
.botanical-right{width:121px;height:auto;right:clamp(30px,6vw,106px);top:100px;transform:rotate(12deg)}
.albums{padding-top:18px;outline:none}
.section-heading{display:flex;align-items:center;gap:32px;margin-bottom:32px}
.section-heading h2{font-size:43px;line-height:1.2;letter-spacing:-.025em;text-align:center;white-space:nowrap}
.fine-line{flex:1;height:1px;background:var(--line)}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.album-item{min-width:0;display:flex}
.album-card{display:flex;flex-direction:column;width:100%;background:var(--white);border:1px solid var(--line);border-radius:5px;overflow:hidden;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;box-shadow:0 2px 7px #34483C03}
.album-image{aspect-ratio:4/3;overflow:hidden;background:#ECE7DF;margin:9px 9px 0;border-radius:2px}
.album-image picture,.album-image img{width:100%;height:100%}
.album-image img{object-fit:cover;transition:transform .5s ease}
.album-copy{flex:1;display:flex;flex-direction:column;padding:21px 25px 23px}
.album-copy h3{font-size:34px;line-height:1.1;letter-spacing:-.02em;margin-bottom:13px}
.album-copy p{font-size:14px;line-height:1.8;text-wrap:pretty;margin-bottom:22px}
.album-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #EEE8E2;font-size:12px;font-weight:500;letter-spacing:.035em;color:var(--wine)}
.arrow{font-family:Arial,sans-serif;font-size:22px;font-weight:400;line-height:1;transition:transform .22s ease}
.album-card:focus-visible{outline:3px solid var(--wine);outline-offset:5px;border-color:var(--wine)}
@media(hover:hover){.album-card:hover{border-color:#B58F96;transform:translateY(-3px);box-shadow:0 7px 20px #34483C08}.album-card:hover .album-image img{transform:scale(1.025)}.album-card:hover .arrow{transform:translateX(3px)}}
.album-hint{text-align:center;color:var(--muted);font-size:12px;line-height:1.7;margin:25px auto 0;max-width:600px}
.footer{position:relative;text-align:center;padding:63px 20px 39px;margin-top:29px;border-top:1px solid var(--line)}
.sign-off{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--wine);line-height:1.25}
.footer-date{font-size:11px;letter-spacing:.13em;margin-top:10px;color:var(--muted)}
.footer-flower{position:absolute;top:21px;right:calc(50% - 235px);width:43px;transform:rotate(39deg);pointer-events:none;opacity:.85}

@media(max-width:1150px) and (min-width:900px){.botanical-left{width:145px;left:20px;top:74px}.botanical-right{width:90px;right:25px;top:133px}.welcome-content{max-width:610px}.album-copy{padding-inline:21px}.album-copy p{font-size:13.5px}}
@media(max-width:899px){.container{width:min(560px,calc(100% - 48px))}.welcome{padding:45px 24px 36px}.welcome-content{max-width:580px}.botanical-left{width:118px;top:24px;left:10px;opacity:.85}.botanical-right{width:76px;top:50px;right:18px;opacity:.85}h1{font-size:85px;margin-top:20px}.welcome-text{max-width:550px}.tagline{font-size:25px}.album-grid{grid-template-columns:1fr;gap:28px}.section-heading{gap:20px;margin-bottom:27px}.section-heading h2{font-size:38px}.albums{padding-top:13px}.album-copy{padding:24px 28px 25px}.album-copy h3{font-size:36px}.album-copy p{font-size:15px;margin-bottom:24px}.album-action{font-size:13px}.album-hint{font-size:12px;max-width:340px;margin-top:27px}.footer{padding-top:54px}.footer-flower{right:calc(50% - 211px)}}
@media(max-width:599px){.welcome{padding-top:44px}.welcome-content{position:relative}.wedding-date{font-size:10px;gap:12px}.wedding-date span{width:20px}.botanical-left{width:75px;top:10px;left:4px}.botanical-right{width:52px;top:21px;right:7px}h1{font-size:clamp(58px,16.2vw,83px);margin:22px 0 12px;letter-spacing:-.04em}.tagline{font-size:23px;max-width:295px;margin-inline:auto;line-height:1.35;text-wrap:balance}.welcome-text{margin-top:23px;font-size:14px;line-height:1.85;max-width:390px}.welcome{padding-bottom:35px}.section-heading{gap:13px;margin-bottom:24px}.section-heading h2{font-size:32px;white-space:normal;line-height:1.1}.fine-line{min-width:12px}.album-grid{gap:26px}.album-copy{padding:22px 23px 24px}.album-copy h3{font-size:33px}.album-copy p{font-size:14px;line-height:1.8;margin-bottom:21px}.footer{margin-top:27px;padding:51px 0 32px}.sign-off{font-size:27px}.footer-flower{width:32px;top:9px;right:14px;transform:rotate(28deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.album-card:hover,.album-card:hover .album-image img,.album-card:hover .arrow{transform:none}}
@media(forced-colors:active){.album-card{border:1px solid CanvasText}.album-card:focus-visible,.skip-link:focus{outline:3px solid Highlight}.fine-line,.wedding-date span{background:CanvasText}}
