@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=Great+Vibes&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--font-romance:"Great Vibes","Brush Script MT","Segoe Script",cursive;font-family:Manrope,Arial,sans-serif;color:#4a1829;background:#fbf6ee;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}:focus-visible{outline:3px solid #b98142;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Bodoni Moda,Georgia,serif;font-weight:500}h2{font-size:clamp(2.6rem,5vw,5.5rem);line-height:1.16;letter-spacing:-.055em}h2 em{font-weight:400;color:#b17b62}.eyebrow{font-size:.66rem;font-weight:800;letter-spacing:.25em;text-transform:uppercase}.skip-link{position:absolute;left:10px;top:-100px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,22px);position:relative;z-index:20;background:#fbf6ee}.brand{display:flex;align-items:center;gap:15px}.monogram{font-family:var(--font-romance);font-size:2.5rem;font-weight:400;letter-spacing:normal}.monogram span{font-size:1.2rem;color:#bb8668;margin:0 5px}.brand-sub{font-size:.57rem;letter-spacing:.2em;font-weight:800;max-width:90px;line-height:1.7}.nav{display:flex;gap:35px;font-size:.78rem;font-weight:700}.nav a:hover,.more-events a:hover{color:#b67a61}.nav-cta,.button-primary{display:inline-flex;align-items:center;gap:17px;border-radius:100px;background:#581c32;color:#fff;padding:15px 24px;font-size:.78rem;font-weight:800;box-shadow:7px 8px 18px #4b18292a,-5px -5px 14px #ffffff85;transition:transform .2s}.nav-cta:hover,.button-primary:hover{transform:translateY(-3px)}.menu-button{display:none;background:transparent;border:0}.hero{min-height:min(770px,90vh);position:relative;display:grid;grid-template-columns:53% 47%;background:#f2e4d6;overflow:hidden}.hero-art{padding:38px;background:radial-gradient(circle at 30% 25%,#c48d83,#722c46 55%,#47152a);display:flex;align-items:stretch}.hero-frame{width:100%;border:1px solid #e4b99a9c;border-radius:220px 220px 12px 12px;padding:16px;box-shadow:inset 0 0 0 8px #ffffff12,15px 15px 32px #35111d4a}.hero-inner{height:100%;border:1px solid #e8bc9788;border-radius:200px 200px 6px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 45% 50%,#f4d7b82a,transparent 55%)}.hero-initials{font-family:var(--font-romance);color:#f6e2ce;font-size:clamp(4rem,10vw,10rem);letter-spacing:normal}.hero-initials i{font-size:.5em;font-weight:400;color:#d7ab80}.ornament{color:#e6c7a2;letter-spacing:1.5em;font-size:1.5rem}.hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:9%;position:relative}.hero-content .eyebrow{color:#9e655e}.hero h1{font-size:clamp(4rem,7.3vw,8.4rem);line-height:1.2;letter-spacing:normal;margin:28px 0 10px}.hero h1 span{color:#bd8b72;font-weight:400}.hero-rule{width:60px;height:2px;background:#bd8b72;margin-bottom:28px}.hero-content>p{font-family:Bodoni Moda,serif;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.6;color:#74465a}.hero-content .button-primary{margin-top:24px}.hero-side-note{position:absolute;bottom:15px;right:20px;font-size:.52rem;letter-spacing:.2em;color:#774b5a}.intro{text-align:center;padding:125px 20px 120px;background:#fbf6ee}.flower{font-size:2rem;color:#bb9479}.intro .eyebrow{margin:25px 0}.intro h2{margin-bottom:25px}.intro>p:not(.eyebrow){line-height:2.1;color:#775d65;font-size:.98rem}.flourish{color:#b48b78;margin-top:35px;letter-spacing:.5em}.celebrations,.gallery-section{padding:100px max(5vw,22px)}.celebrations{background:#f5eee5}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:50px}.section-top h2{margin-bottom:0}.section-description{color:#806c70;line-height:1.85;max-width:350px;font-size:.9rem}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.feature-card{background:#fffaf5;border-radius:32px;padding:12px;box-shadow:12px 13px 30px #8466531c,-7px -7px 20px #fff9;transition:transform .25s,box-shadow .25s;min-width:0}.feature-card:hover{transform:translateY(-7px);box-shadow:15px 19px 35px #84665335}.feature-art{height:clamp(260px,30vw,440px);border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 30%,#f8d9a1,#c8935c 65%,#936142)}.tone-plum .feature-art{background:radial-gradient(circle at 45% 30%,#dcb8c5,#854560 65%,#50243c)}.tone-wine .feature-art{background:radial-gradient(circle at 45% 30%,#d5a5a0,#803147 65%,#4d1b30)}.feature-ornament{font-family:Georgia,serif;font-size:clamp(8rem,18vw,18rem);line-height:1;color:#ffffff65;text-shadow:5px 7px 10px #0002}.feature-index{position:absolute;bottom:20px;left:20px;color:#fff;font-size:.65rem;letter-spacing:.2em}.feature-copy{padding:24px 14px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.feature-copy .eyebrow{color:#ac7b74;font-size:.56rem}.feature-copy h3{font-size:clamp(2rem,3vw,3.3rem);letter-spacing:-.04em;margin:8px 0}.feature-copy p{font-size:.77rem;color:#826c70;margin-bottom:0}.round-arrow{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#f5e7dc;box-shadow:4px 5px 10px #c4a79b55,-3px -3px 8px #fff}.more-events{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:38px}.more-events>span{font-size:.8rem;color:#8d7376;margin-right:auto}.more-events a{display:flex;align-items:center;gap:10px;border:1px solid #e5cfc7;border-radius:100px;padding:13px 20px;font-size:.78rem;font-weight:700}.forever-banner{min-height:490px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#8c4359,#53192f 65%);color:#fff3e7;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:75px 20px}.forever-banner h2{font-size:clamp(3rem,6vw,6.6rem);margin:15px 0}.forever-banner h2 em{color:#e9bda7}.forever-banner>p:not(.eyebrow){color:#ebd4cd;font-size:.88rem}.forever-pattern{position:absolute;font-size:30rem;color:#ffffff0c;right:-70px;top:-230px;pointer-events:none}.forever-bottom{font-size:.6rem;letter-spacing:.3em;margin-top:25px;color:#e7bda5}.gallery-section{background:#fbf6ee}.soft-stamp{display:flex;align-items:center;gap:10px;color:#976e72;font-size:.8rem}.gallery-shell{background:#f9f0e8;border:1px solid #fff;border-radius:35px;padding:32px;box-shadow:14px 17px 35px #aa8b801f,-12px -12px 30px #fff}.filter-scroll{display:flex;gap:9px;overflow-x:auto;padding:5px 2px 15px}.filter-chip{flex-shrink:0;border:1px solid #e5d2ca;background:#fffaf5;color:#704758;border-radius:100px;padding:12px 19px;font-size:.77rem;font-weight:700;box-shadow:3px 4px 8px #bfa89c1c}.filter-chip.selected{background:#591c32;color:#fff;border-color:#591c32}.gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:15px 0 28px}.search{background:#fffaf5;border:1px solid #e8d9d1;border-radius:100px;display:flex;align-items:center;gap:10px;padding:12px 18px;max-width:450px;width:100%;color:#936f78}.search input{border:0;outline:0;background:transparent;width:100%;font-size:.83rem;color:#4a1829}.search button{border:0;background:transparent;color:#805968}.count-label{font-size:.78rem;color:#947a7c}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.photo-tile{position:relative;border:0;background:#e4d0c4;border-radius:16px;overflow:hidden;padding:0;aspect-ratio:4/5;box-shadow:4px 6px 12px #60384b22}.photo-tile img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.photo-name{position:absolute;bottom:0;left:0;right:0;padding:25px 10px 12px;background:linear-gradient(transparent,#0009);color:#fff;font-size:.75rem;text-align:left}.empty-state{text-align:center;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px}.empty-icon{background:#f3e2d8;border-radius:50%;width:85px;height:85px;display:grid;place-items:center;box-shadow:7px 8px 16px #bd998a40,-6px -6px 14px #fff;margin-bottom:25px;color:#8e5d69}.empty-state h3{font-size:2.2rem;margin-bottom:12px}.empty-state p{max-width:470px;line-height:1.8;color:#8a7076;font-size:.88rem}.button-secondary{background:#fff8f3;border:1px solid #e3c5b9;padding:12px 24px;border-radius:100px;color:#571d32}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:35px}.pagination button{border:1px solid #e4d2cb;border-radius:100px;background:#fffaf5;padding:12px 16px;display:flex;align-items:center;gap:5px}.page-select{display:flex;align-items:center;gap:9px;font-size:.8rem}.page-select select{padding:8px;border:1px solid #e4d2cb;border-radius:9px;background:#fff}.closing{padding:80px 5% 130px;background:#fbf6ee}.closing-card{border-radius:36px;text-align:center;padding:90px 20px;background:linear-gradient(140deg,#f5e5d8,#fdf6ee);box-shadow:14px 17px 35px #b79b8d24,-10px -10px 25px #fff}.closing-card h2{margin:20px 0 30px}.heart-button{display:inline-flex;align-items:center;gap:10px;border-radius:100px;border:1px solid #d6b8ae;padding:13px 22px;background:#fff8f1;color:#672c42}.heart-button.hearted{background:#5c1d32;color:#fff}footer{background:#4b172c;color:#fff0e5;text-align:center;padding:85px 6% 25px}.footer-monogram{font-family:var(--font-romance);font-size:3rem}.footer-monogram span{color:#d9a888}footer h2{font-size:clamp(2.6rem,5vw,4.8rem);margin:12px 0}footer>p{color:#e0c4c8;font-size:.85rem}.footer-bottom{border-top:1px solid #ffffff2a;margin-top:75px;padding-top:25px;display:flex;justify-content:space-between;gap:15px;font-size:.65rem;letter-spacing:.14em}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#160b13ed;display:flex;align-items:center;justify-content:center;padding:15px;color:#fff}.viewer-inner{width:100%;height:100%;display:flex;flex-direction:column}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 10px;font-size:.8rem}.viewer button,.viewer a{background:#ffffff20;color:#fff;border:1px solid #ffffff33;border-radius:100px;display:inline-flex;align-items:center;gap:8px;padding:10px 15px}.viewer-main{flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.viewer-main img{max-width:calc(100% - 125px);max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-main button{flex-shrink:0;padding:12px}.viewer-bottom{justify-content:center}.viewer-top button{margin-left:auto}@media (max-width:850px){.site-header{height:78px}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fbf6ee;flex-direction:column;padding:24px;box-shadow:0 15px 20px #0002}.nav.open{display:flex}.menu-button{display:block;margin-left:auto;margin-right:15px}.nav-cta{padding:12px 17px}.hero{grid-template-columns:1fr}.hero-art{height:420px;padding:25px}.hero-content{min-height:440px;padding:55px 8%}.hero-side-note{display:none}.feature-grid{gap:15px}.feature-copy{padding:18px 5px}.feature-copy h3{font-size:2rem}.feature-copy p{font-size:.7rem}.round-arrow{width:32px;height:32px}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.site-header{padding:0 17px}.brand-sub{display:none}.nav-cta{font-size:.69rem;gap:7px}.hero-art{height:360px;padding:18px}.hero-content{min-height:390px}.hero h1{font-size:clamp(3.6rem,15vw,5.5rem)}.intro{padding:85px 22px}.intro>p:not(.eyebrow) br{display:none}.celebrations,.gallery-section{padding:75px 17px}.section-top{align-items:flex-start;flex-direction:column;margin-bottom:32px}.feature-grid{grid-template-columns:1fr}.feature-art{height:340px}.feature-copy{padding:19px 14px}.feature-copy h3{font-size:2.8rem}.more-events>span{width:100%}.more-events a{font-size:.72rem;padding:10px 14px}.forever-banner{min-height:380px}.gallery-shell{padding:16px;border-radius:25px}.gallery-tools{flex-direction:column;align-items:stretch}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-tile{border-radius:10px}.count-label{text-align:right}.soft-stamp{display:none}.pagination{gap:7px}.pagination button{padding:10px;font-size:.72rem}.viewer{padding:5px}.viewer-main{gap:3px}.viewer-main img{max-width:calc(100% - 83px)}.viewer-main button{padding:7px}.viewer-bottom{flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:center}}@media (max-width:350px){.nav-cta{padding:10px;font-size:.6rem}.monogram{font-size:1.8rem}.hero h1{font-size:3.4rem}.filter-chip{padding:10px 13px}.pagination{gap:3px}.pagination button{font-size:.65rem;padding:8px}.page-select{gap:4px;font-size:.7rem}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.couple-names,.wedding-hashtag{font-family:var(--font-romance);font-weight:400;letter-spacing:normal;text-transform:none}.wedding-hashtag{display:block;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.5;white-space:nowrap}.hero-hashtag{color:#74465a;margin-bottom:22px}.banner-hashtag{color:#e9bda7;margin-top:12px}.footer-hashtag{color:#e9bda7;margin:8px 0 20px}footer .couple-names{line-height:1.4}
