
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--cream:#fbf7f1;--ink:#332923;--gold:#b18a57;--soft:#e8d9ca;--white:#fff;--blush:#f2e8df;--shadow:rgba(71,54,36,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.65}img,video{max-width:100%}a{color:inherit}.hero{min-height:100svh;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.18)),url('images/wedding-header.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:2rem}.hero-inner{max-width:1000px}.hero h1{font-family:'Great Vibes',cursive;font-size:clamp(5rem,12vw,12rem);font-weight:400;margin:0;text-shadow:0 5px 35px #000;line-height:.86}.hero-date,.hero p{font-family:Montserrat,sans-serif;letter-spacing:.35em;text-transform:uppercase;font-size:clamp(1rem,2vw,1.45rem);margin:1rem 0 0}.eyebrow{font-family:Montserrat,sans-serif;letter-spacing:.32em;text-transform:uppercase;font-size:.78rem;font-weight:500}.eyebrow.dark{color:#80664a}.nav{position:sticky;top:0;z-index:10;background:rgba(251,247,241,.94);backdrop-filter:blur(10px);display:flex;justify-content:center;gap:1.6rem;padding:1rem;font-family:Montserrat,sans-serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid rgba(177,138,87,.18)}.nav a{text-decoration:none}.section{max-width:1100px;margin:0 auto;padding:5rem 1.5rem}.section.wide{max-width:1380px}.intro{text-align:center;max-width:880px}.intro p{font-size:clamp(1.25rem,2.2vw,1.65rem)}.soft-note{color:#6d5b4b}.script{font-family:'Great Vibes',cursive;font-size:clamp(3.7rem,7vw,6rem);color:var(--gold);line-height:.95;margin:0 0 1rem;font-weight:400}.section-heading{text-align:center;max-width:760px;margin:0 auto 2.5rem}.featured-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.feature-photo{margin:0;overflow:hidden;background:#fff;box-shadow:0 22px 70px var(--shadow);border:10px solid #fff}.feature-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.feature-photo:hover img{transform:scale(1.035)}.feature-photo:nth-child(1){grid-column:span 7}.feature-photo:nth-child(2){grid-column:span 5}.feature-photo:nth-child(3),.feature-photo:nth-child(4),.feature-photo:nth-child(5){grid-column:span 4}.feature-photo:nth-child(n+6){grid-column:span 6}.feature-photo{height:520px}.feature-photo:nth-child(2),.feature-photo:nth-child(3){height:410px}.video-card{background:#fff;padding:12px;box-shadow:0 22px 70px var(--shadow);border:1px solid var(--soft)}.featured-video video{display:block;width:100%;max-height:76vh;background:#111}.masonry-gallery{columns:3 280px;column-gap:16px}.gallery-item{display:block;break-inside:avoid;margin:0 0 16px;background:#fff;padding:8px;box-shadow:0 16px 45px rgba(71,54,36,.1);text-decoration:none}.gallery-item img,.gallery-item video{width:100%;height:auto;display:block}.video-tile video{background:#111}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.card{background:#fff;padding:1.5rem;border:1px solid var(--soft);box-shadow:0 16px 50px rgba(71,54,36,.08);text-decoration:none}.card h3{font-size:1.7rem;margin:.2rem 0}.card .date{font-family:Montserrat,sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#80664a}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.gallery img{width:100%;height:310px;object-fit:cover;display:block}.memory-hero{min-height:52vh;background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),url('images/wedding-header.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:end;padding:8rem 8vw 4rem}.memory-hero h1{font-size:clamp(3rem,7vw,7rem);line-height:.95;margin:0}.content{max-width:920px;margin:0 auto;padding:4rem 1.5rem;background:var(--cream)}.content img{max-width:100%;height:auto}.back{font-family:Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem}.footer{text-align:center;padding:4rem 1rem;background:#332923;color:#fff;font-family:Montserrat,sans-serif;font-size:.85rem;letter-spacing:.08em}.button{display:inline-block;margin-top:1rem;border:1px solid var(--gold);padding:.7rem 1.2rem;text-decoration:none;font-family:Montserrat,sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){body{font-size:18px}.hero{min-height:86svh;background-position:center top}.nav{overflow-x:auto;justify-content:flex-start;gap:1rem;padding:.9rem 1rem;white-space:nowrap}.section{padding:4rem 1rem}.featured-grid{display:block}.feature-photo{height:auto;margin-bottom:16px;border-width:7px}.feature-photo img{height:auto}.masonry-gallery{columns:2 180px;column-gap:10px}.gallery-item{margin-bottom:10px;padding:6px}.hero-date,.hero p{letter-spacing:.22em}.script{font-size:clamp(3.5rem,16vw,5rem)}}
@media (max-width:520px){.hero{padding:1rem;min-height:78svh}.hero h1{font-size:clamp(4.2rem,23vw,7rem)}.hero-date,.eyebrow{font-size:.68rem;letter-spacing:.18em}.intro p{font-size:1.18rem}.masonry-gallery{columns:1}.cards{grid-template-columns:1fr}.card{padding:1.15rem}.footer{font-size:.75rem}.section-heading{margin-bottom:1.5rem}}

.feature-photo a{display:block;width:100%;height:100%;cursor:zoom-in}.feature-photo a img{width:100%;height:100%;object-fit:cover}.gallery-item.lightbox-link{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:999;background:rgba(20,16,13,.94);display:none;align-items:center;justify-content:center;padding:4.5rem 5.5rem}.lightbox.open{display:flex}.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.45)}.lightbox-active{overflow:hidden}.lightbox-close,.lightbox-arrow{position:fixed;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}.lightbox-close:hover,.lightbox-arrow:hover{background:rgba(255,255,255,.26);transform:scale(1.04)}.lightbox-close{top:1rem;right:1rem;width:3rem;height:3rem;border-radius:999px;font-size:2.2rem;line-height:1}.lightbox-arrow{top:50%;transform:translateY(-50%);width:3.25rem;height:4.5rem;border-radius:999px;font-size:2.2rem}.lightbox-arrow:hover{transform:translateY(-50%) scale(1.04)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}
@media (max-width:900px){.hero h1{font-size:clamp(3.8rem,16vw,7rem);line-height:.92}.hero-inner{max-width:92vw}.lightbox{padding:4rem 1rem 5rem}.lightbox-arrow{top:auto;bottom:1rem;transform:none;width:3.2rem;height:3.2rem;font-size:1.8rem}.lightbox-arrow:hover{transform:scale(1.04)}.lightbox-prev{left:calc(50% - 4rem)}.lightbox-next{right:calc(50% - 4rem)}.lightbox-close{width:2.75rem;height:2.75rem}}
@media (max-width:520px){.hero h1{font-size:clamp(3.4rem,18vw,5.7rem);line-height:.95}.hero-date{font-size:.64rem;letter-spacing:.15em}.eyebrow{letter-spacing:.14em}.nav{font-size:.68rem}.script{font-size:clamp(3rem,14vw,4.4rem)}.lightbox-image{max-height:78vh}.section{padding-left:.85rem;padding-right:.85rem}}
