:root { --ivory:#f5efe4; --paper:#fbf7ef; --ink:#261d19; --gold:#b28a3d; --wine:#641f2b; --green:#173d32; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Georgia,"Times New Roman",serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.hero { min-height:100vh; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 20%,#fffaf0 0,#f4ead8 58%,#e4d2b5 100%); border:12px solid var(--green); padding:0 5vw 5vh; }
.hero:before,.hero:after { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(178,138,61,.35); border-radius:50%; top:-180px; }
.hero:before { left:-100px; }.hero:after { right:-100px; }
.nav { height:100px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:5; border-bottom:1px solid rgba(178,138,61,.35); }
.seal,.footerSeal { width:64px; height:64px; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; font-size:15px; letter-spacing:2px; color:var(--green); }.seal span,.footerSeal span{color:var(--wine);font-style:italic;margin:0 -8px;}
.navLinks { display:flex; gap:34px; text-transform:uppercase; font:10px Arial,sans-serif; letter-spacing:2.5px; }.navLinks a:hover{color:var(--wine)}
.navCta { border:1px solid var(--gold); padding:12px 18px; font:10px Arial,sans-serif; letter-spacing:2px; }
.heroOrnament { position:absolute; inset:120px auto auto 50%; transform:translateX(-50%); color:var(--gold); }.heroOrnament:before,.heroOrnament:after{content:"";display:inline-block;width:90px;height:1px;background:var(--gold);vertical-align:middle;margin:0 18px;}
.heroCopy { text-align:center; position:relative; z-index:3; padding-top:70px; }
.eyebrow { text-transform:uppercase; letter-spacing:5px; font:11px Arial,sans-serif; color:var(--gold); margin:0 0 22px; }
h1 { margin:0; display:flex; align-items:center; justify-content:center; gap:3vw; font-weight:400; font-size:clamp(58px,8vw,130px); line-height:.82; color:var(--green); }
h1 i { font-size:.55em; color:var(--wine); font-weight:400; }.invitation{font-style:italic;font-size:19px;margin:24px 0;color:#68574a}.dateLine{display:flex;justify-content:center;align-items:center;gap:24px;text-transform:uppercase;letter-spacing:4px;font:12px Arial,sans-serif}.dateLine b{font:italic 25px Georgia,serif;color:var(--wine);letter-spacing:1px}.dateLine span{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:8px 14px}
.heroPhoto { width:min(520px,74vw); aspect-ratio:3/4; margin:34px auto 0; position:relative; padding:12px; background:var(--paper); box-shadow:0 24px 70px rgba(44,26,14,.25); }.heroPhoto img{width:100%;height:100%;object-fit:contain;background:#eadfce;}.photoFrame{position:absolute;inset:20px;border:1px solid rgba(255,255,255,.65);pointer-events:none}.scroll{position:absolute;right:2.2vw;bottom:6vh;display:flex;flex-direction:column;gap:15px;align-items:center;font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;writing-mode:vertical-rl;color:var(--gold)}
.story,.blessings { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.storyCopy,.blessingCopy{padding:10vw;display:flex;flex-direction:column;justify-content:center;background:var(--paper)}
.storySolo{display:block;min-height:620px;padding:70px 5vw;background:linear-gradient(135deg,#fbf7ef 0%,#f0e3cf 100%);position:relative;overflow:hidden}.storySolo:before,.storySolo:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(178,138,61,.22);border-radius:50%;top:50%;transform:translateY(-50%)}.storySolo:before{left:-260px}.storySolo:after{right:-260px}.storySolo .storyCopy{max-width:820px;margin:auto;padding:90px 30px;text-align:center;align-items:center;border:1px solid rgba(178,138,61,.42);background:rgba(251,247,239,.6);position:relative}.storySolo .storyCopy:before{content:"S  &  S";position:absolute;top:-17px;background:#f6eddf;padding:8px 24px;color:var(--gold);font:11px Arial,sans-serif;letter-spacing:5px}.storySolo .storyCopy>p:last-child{max-width:590px}
h2{font-weight:400;font-size:clamp(46px,6vw,88px);line-height:.95;margin:0;color:var(--green)}.storyCopy>p:last-child,.blessingCopy>p:last-child{max-width:440px;font-size:18px;line-height:1.8;color:#6e5c4e}.flourish{color:var(--wine);font-size:30px;margin:30px 0}.storyPhoto,.familyPhoto{margin:0;overflow:hidden;background:#e9ddca;display:grid;place-items:center}.storyPhoto img,.familyPhoto img{width:100%;height:auto;object-fit:contain;}
.celebration { position:relative; overflow:hidden; text-align:center; color:var(--ivory); background:var(--green); padding:110px 6vw 90px; }.mandala{position:absolute;font-size:700px;line-height:1;opacity:.025;left:50%;top:50%;transform:translate(-50%,-50%)}.light{color:#d5b66f}.celebration h2{color:var(--ivory);font-style:italic}.eventCard{max-width:880px;margin:65px auto 35px;border:1px solid rgba(213,182,111,.55);display:grid;grid-template-columns:240px 1fr;text-align:left}.eventCard>div:first-child{display:grid;place-items:center;padding:30px;border-right:1px solid rgba(213,182,111,.55);text-transform:uppercase;font:11px Arial,sans-serif;letter-spacing:3px}.eventCard strong{font:72px Georgia,serif;color:#d5b66f}.eventDetails{padding:44px 60px}.eventDetails p{text-transform:uppercase;font:10px Arial,sans-serif;letter-spacing:3px;color:#d5b66f}.eventDetails h3{font:32px Georgia,serif;font-weight:400;margin:12px 0}.mapButton{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid #d5b66f;padding:12px 5px;text-transform:uppercase;font:10px Arial,sans-serif;letter-spacing:2px}.note{font:italic 14px Georgia,serif;color:#bcb2a1;margin-top:30px}
.blessings{background:#eee2d1}.blessingCopy{background:#eee2d1;align-items:flex-start}.parentPortraits{display:flex;gap:24px;margin:35px 0}.parentPortraits figure{margin:0;text-align:center}.parentPortraits img{width:130px;height:130px;border-radius:50%;object-fit:cover;border:5px solid #f8f0e4;box-shadow:0 0 0 1px var(--gold)}.parentPortraits figure:first-child img{object-position:center 22%}.parentPortraits figure:last-child img{object-position:center center}.parentPortraits figcaption{margin-top:11px;text-transform:uppercase;font:9px Arial,sans-serif;letter-spacing:2px;color:#8a6a32}
.gallery{text-align:center;padding:130px 4vw;background:linear-gradient(180deg,var(--paper),#ecdfcc)}.gallery h2{margin-bottom:25px}.gallery h2:after{content:"";display:block;width:80px;height:1px;background:var(--gold);margin:32px auto 55px}.galleryGrid{max-width:1240px;margin:auto;columns:3 300px;column-gap:24px}.galleryItem{margin:0 0 24px;break-inside:avoid;overflow:hidden;background:#e7dac7;padding:10px 10px 0;box-shadow:0 15px 35px rgba(48,30,19,.12);display:block}.galleryItem img{width:100%;height:auto;object-fit:contain;transition:transform .8s ease}.galleryItem figcaption{display:flex;justify-content:space-between;align-items:center;padding:14px 5px;text-transform:uppercase;font:9px Arial,sans-serif;letter-spacing:2px;color:#7c654f}.galleryItem figcaption span{color:var(--gold);font:italic 15px Georgia,serif}.galleryItem:hover img{transform:scale(1.018)}
footer{text-align:center;background:#201714;color:#e9dcc3;padding:90px 20px}.footerSeal{margin:0 auto 28px;color:#e9dcc3}.footerSeal span{color:#d5b66f}footer>p{text-transform:uppercase;font:10px Arial,sans-serif;letter-spacing:3px;color:#cbbba0}footer h2{color:#e9dcc3;font-size:clamp(42px,6vw,78px);margin:18px 0}footer h2 i{color:#d5b66f;font-weight:400}.footerDate{color:#d5b66f!important}
@media(max-width:800px){.hero{min-height:auto;border-width:7px;padding:0 5vw 55px}.nav{height:78px}.navLinks{display:none}.seal{width:50px;height:50px}.navCta{padding:10px;font-size:9px}.heroOrnament{top:98px}.heroOrnament:before,.heroOrnament:after{width:45px;margin:0 10px}.heroCopy{padding-top:58px}h1{flex-direction:column;gap:8px;font-size:clamp(52px,16vw,76px)}h1 i{margin:-5px}.invitation{font-size:16px;line-height:1.5}.dateLine{gap:7px;letter-spacing:1px;font-size:10px}.dateLine b{font-size:18px}.dateLine span{padding:7px 9px}.heroPhoto{width:min(92vw,440px);height:auto;min-height:0;aspect-ratio:3/4}.scroll{display:none}.story,.blessings{grid-template-columns:1fr}.storySolo{min-height:0;padding:55px 5vw}.storySolo .storyCopy{padding:70px 20px}.storyCopy,.blessingCopy{padding:78px 8vw}.storyPhoto,.familyPhoto{min-height:0}.storyPhoto img,.familyPhoto img{width:100%;height:auto;object-fit:contain}.eventCard{grid-template-columns:1fr;margin-top:45px}.eventCard>div:first-child{border-right:0;border-bottom:1px solid rgba(213,182,111,.55)}.eventDetails{padding:38px 20px;text-align:center}.celebration{padding:85px 6vw 75px}.parentPortraits{width:100%;justify-content:center;gap:18px}.parentPortraits img{width:112px;height:112px}.gallery{padding:80px 5vw}.galleryGrid{columns:1}.galleryItem{width:100%;margin-bottom:25px}.galleryItem img{width:100%;height:auto;object-fit:contain}footer{padding:75px 18px}}
@media(max-width:380px){.dateLine{gap:4px}.dateLine b{font-size:16px}.dateLine span{padding:6px}.parentPortraits img{width:98px;height:98px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.galleryItem img{transition:none}}

/* Royal heirloom redesign */
:root{--paper:#f7f0e4;--ivory:#fff8eb;--ink:#2a1719;--gold:#c7a357;--wine:#4b101e;--green:#21382e}
body{background:#190b10;background-image:radial-gradient(circle at 50% 0,rgba(119,37,54,.32),transparent 42%)}
.hero{min-height:auto;border:0;padding:0 6vw 110px;background:radial-gradient(ellipse at 50% 10%,#5b1728 0,#2b0d16 48%,#16080d 100%);color:#f3e5ca}
.hero:before,.hero:after{width:520px;height:520px;border-color:rgba(199,163,87,.14);top:-330px}
.nav{max-width:1400px;margin:auto;border-bottom-color:rgba(199,163,87,.32)}
.seal{color:#f4e4c4;background:rgba(255,255,255,.025)}.navLinks,.navCta{color:#e6d2aa}.navCta{border-color:rgba(199,163,87,.58)}
.heroOrnament{top:125px;color:#c7a357}.heroOrnament:before,.heroOrnament:after{background:#c7a357}
.heroCopy{padding-top:88px}.heroCopy .eyebrow{color:#d4b775}.heroCopy h1{color:#fff3dc;font-size:clamp(54px,7vw,110px);text-shadow:0 5px 35px rgba(0,0,0,.25)}.heroCopy h1 i{color:#d2ae62}.heroCopy .invitation{color:#d8c5ad;margin:28px auto 38px;max-width:620px}
.heroPhoto{width:min(640px,88vw);aspect-ratio:2/3;margin:12px auto 0;padding:14px;background:#d2ad63;box-shadow:0 35px 90px rgba(0,0,0,.55),0 0 0 1px rgba(255,231,178,.5)}
.heroPhoto:before,.heroPhoto:after{content:"✦";position:absolute;left:50%;transform:translateX(-50%);z-index:2;color:#f3dfb0;background:#3a0f1a;border:1px solid #c7a357;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.heroPhoto:before{top:-21px}.heroPhoto:after{bottom:-21px}.heroPhoto img{object-fit:contain;background:#eadcc3}.photoFrame{inset:22px;border-color:rgba(255,245,219,.55)}
.scroll{color:#c7a357}
.storySolo{background:#f3eadb;padding:100px 5vw}.storySolo .storyCopy{background:#fbf5e9;border-color:#c7a357;box-shadow:0 25px 75px rgba(69,31,26,.12)}.storySolo .storyCopy:before{background:#f3eadb;color:#7d2332}
.storySolo h2{color:#521625}.storySolo .flourish{color:#b68d41}
.celebration{background:linear-gradient(145deg,#63172b,#330d18 65%,#210910);padding-top:125px}.celebration .mandala{opacity:.04}.celebration h2{color:#fff2d8}.eventCard{border-color:rgba(213,182,111,.68);background:rgba(16,3,8,.18);box-shadow:0 25px 70px rgba(0,0,0,.2)}
.blessings{background:#eadbc4}.familyPhoto{background:#241015;border:14px solid #241015}.familyPhoto img{box-shadow:0 0 0 1px #c7a357}.blessingCopy{background:linear-gradient(135deg,#f7eedf,#e9d7bd)}.blessingCopy h2{color:#531725}.parentPortraits img{box-shadow:0 0 0 2px #a57a2f,0 12px 30px rgba(42,18,16,.18)}
.gallery{background:#17090e;color:#eee0c7;padding-top:135px}.gallery .eyebrow{color:#c7a357}.gallery h2{color:#f8ead0}.galleryItem{background:#32121b;box-shadow:0 18px 45px rgba(0,0,0,.4);border:1px solid rgba(199,163,87,.32)}.galleryItem figcaption{color:#cdbb9e}.galleryItem figcaption span{color:#d5b46b}
footer{background:#0d0508;border-top:1px solid rgba(199,163,87,.3)}
@media(max-width:800px){.hero{padding:0 4vw 78px}.nav{height:72px}.heroOrnament{top:92px}.heroCopy{padding-top:60px}.heroCopy h1{font-size:clamp(47px,15vw,70px)}.heroCopy .invitation{font-size:15px;margin-bottom:30px}.heroPhoto{width:min(92vw,520px);padding:8px}.heroPhoto .photoFrame{inset:14px}.storySolo{padding:65px 5vw}.celebration{padding-top:90px}.familyPhoto{border-width:8px}.gallery{padding-top:90px}}
.galleryGrid{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.galleryItem.wide{grid-column:1/-1}.galleryItem.wide img{width:100%}
@media(max-width:800px){.galleryGrid{display:grid;grid-template-columns:1fr}.galleryItem.wide{grid-column:auto}}
