.ivory-elegance .invitation-section{background-image:linear-gradient(rgba(255,253,248,.90),rgba(255,253,248,.94)),url('/assets/ivory-elegance/invitation-photo.webp?v=2');background-size:cover;background-position:center;background-attachment:scroll}
.ivory-elegance .events.dark-section{background-image:linear-gradient(rgba(48,72,59,.90),rgba(48,72,59,.94)),url('/assets/ivory-elegance/events-photo.webp?v=2');background-size:cover;background-position:center}
.ivory-elegance .section-lead{max-width:620px;margin:14px auto 0;color:var(--muted);font:500 18px/1.7 'Cormorant Garamond',serif}.ivory-elegance .section-lead.light{color:#dbe5dc}.ivory-elegance .welcome-strip{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 18px;background:#f0ebe0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.2em;color:var(--sage-dark)}.ivory-elegance .welcome-strip i{color:var(--gold);font-style:normal}.ivory-elegance .portrait-break{width:min(1120px,calc(100% - 36px));margin:72px auto;min-height:480px;border-radius:34px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:#e9ecdf}.ivory-elegance .portrait-break img{width:100%;height:100%;min-height:480px;object-fit:cover;display:block}.ivory-elegance .portrait-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,42,32,.12),rgba(25,42,32,.66))}.ivory-elegance .portrait-copy{position:absolute;z-index:2;right:clamp(28px,7vw,90px);top:50%;transform:translateY(-50%);max-width:460px;color:#fff;text-align:right}.ivory-elegance .portrait-copy .kicker{color:#ead9b4}.ivory-elegance .portrait-copy blockquote{margin:10px 0 18px;font:500 clamp(30px,4vw,54px)/1.12 'Cormorant Garamond',serif}.ivory-elegance .portrait-copy span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.ivory-elegance .moments-section{background:#eef1ea}.ivory-elegance .moments-grid{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;grid-auto-rows:260px;gap:16px}.ivory-elegance .moment-card{position:relative;overflow:hidden;border-radius:26px;margin:0;background:#dfe5db;box-shadow:0 14px 42px rgba(48,65,53,.10)}.ivory-elegance .moment-card.tall{grid-row:span 2}.ivory-elegance .moment-card.wide{grid-column:span 2}.ivory-elegance .moment-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}.ivory-elegance .moment-card:hover img{transform:scale(1.035)}.ivory-elegance .moment-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(24,39,31,.66))}.ivory-elegance .moment-card figcaption{position:absolute;z-index:2;left:22px;bottom:18px;color:#fff;font:500 22px 'Cormorant Garamond',serif}.ivory-elegance .closing-prayer{max-width:620px;margin:18px auto 0;color:rgba(255,255,255,.84);font:500 17px/1.7 'Cormorant Garamond',serif}

/* Ivory Elegance opening: chapel-arch keepsake reveal */
.ivory-elegance .opening{overflow:hidden;background:linear-gradient(180deg,rgba(255,253,248,.97),rgba(240,239,229,.96)),radial-gradient(circle at 50% 12%,#fff 0,#f8f3e8 42%,#dfe7da 100%)}
.ivory-elegance .opening:before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.95),transparent 26%),linear-gradient(115deg,transparent 38%,rgba(255,255,255,.45) 48%,transparent 58%);filter:blur(10px);animation:ivoryLightDrift 8s ease-in-out infinite alternate;pointer-events:none}
.ivory-elegance .opening:after{content:"";position:absolute;left:50%;top:50%;width:min(620px,92vw);height:min(760px,86vh);transform:translate(-50%,-48%);border:1px solid rgba(182,151,94,.16);border-radius:48% 48% 28px 28px/24% 24% 28px 28px;box-shadow:0 0 0 22px rgba(255,255,255,.22),0 35px 90px rgba(49,67,54,.08);pointer-events:none}
.ivory-elegance .opening-inner{position:relative;z-index:2;width:min(540px,94vw);display:grid;justify-items:center}
.ivory-elegance .opening-mark{font-size:44px;margin-bottom:2px;text-shadow:0 8px 28px rgba(182,151,94,.18)}
.ivory-elegance .opening-kicker{margin:8px 0 18px;letter-spacing:.24em;color:#728071}
.ivory-elegance .envelope{width:min(390px,86vw);height:min(500px,62vh);min-height:420px;margin:0 auto 16px;border:0;background:transparent;position:relative;display:block;cursor:pointer;filter:drop-shadow(0 28px 48px rgba(48,65,53,.13));transition:transform .6s ease,filter .6s ease}
.ivory-elegance .envelope:hover{transform:translateY(-4px);filter:drop-shadow(0 34px 56px rgba(48,65,53,.17))}
.ivory-elegance .envelope-back,.ivory-elegance .envelope-front{display:none}
.ivory-elegance .letter-card{position:absolute;inset:0;left:0;right:0;top:0;height:auto;padding:96px 34px 92px;border-radius:190px 190px 30px 30px/130px 130px 30px 30px;background:linear-gradient(180deg,rgba(255,255,252,.98),rgba(249,245,236,.98));border:1px solid rgba(182,151,94,.38);box-shadow:inset 0 0 0 8px rgba(255,255,255,.46),0 22px 60px rgba(48,65,53,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;overflow:hidden;transition:transform 1.05s cubic-bezier(.2,.78,.24,1),opacity .9s ease,filter .9s ease}
.ivory-elegance .letter-card:before{content:"✦";position:absolute;top:34px;left:50%;transform:translateX(-50%);width:52px;height:52px;border:1px solid rgba(182,151,94,.34);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:500 18px 'Cormorant Garamond',serif;background:rgba(255,253,248,.72);box-shadow:0 10px 30px rgba(182,151,94,.08)}
.ivory-elegance .letter-card:after{content:"";position:absolute;inset:18px;border:1px solid rgba(113,131,110,.12);border-radius:172px 172px 22px 22px/116px 116px 22px 22px;pointer-events:none}
.ivory-elegance .letter-card small{position:relative;z-index:2;margin-top:22px;font:600 9px Manrope;letter-spacing:.18em;color:#758174}
.ivory-elegance .letter-card b{position:relative;z-index:2;font-size:clamp(38px,6vw,54px);font-weight:500;line-height:.95;letter-spacing:-.02em;color:#25372f}
.ivory-elegance .letter-card b span{display:inline}
.ivory-elegance .letter-card i{color:var(--gold);font-style:italic;margin:0 .12em}
.ivory-elegance .letter-card em{position:relative;z-index:2;margin-top:8px;padding-top:14px;border-top:1px solid rgba(182,151,94,.28);font:600 10px Manrope;letter-spacing:.16em;text-transform:uppercase;color:#68756d}
.ivory-elegance .wax-seal{left:50%;bottom:34px;width:66px;height:66px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(145deg,#526a58,#354b3d);border:1px solid rgba(216,196,156,.8);box-shadow:0 0 0 5px rgba(255,253,248,.75),0 14px 30px rgba(47,65,52,.2);font:500 17px 'Cormorant Garamond',serif;display:flex;align-items:center;justify-content:center;gap:2px}
.ivory-elegance .wax-seal:before,.ivory-elegance .wax-seal:after{content:"";position:absolute;width:110px;height:150px;border:1px solid rgba(113,131,110,.18);border-radius:55% 45% 58% 42%;z-index:-1}
.ivory-elegance .wax-seal:before{right:44px;bottom:-18px;transform:rotate(-28deg)}
.ivory-elegance .wax-seal:after{left:44px;bottom:-18px;transform:rotate(28deg)}
.ivory-elegance .tap-hint{margin:2px 0 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#748077;animation:ivoryHintPulse 2.4s ease-in-out infinite}
.ivory-elegance .is-opening .letter-card{transform:translateY(-34px) scale(1.025);opacity:0;filter:blur(5px)}
.ivory-elegance .is-opening.envelope{transform:scale(.97)}
.ivory-elegance .top-controls{z-index:17020}
.ivory-elegance .top-controls .control{background:rgba(255,253,248,.92);color:#405846;border:1px solid rgba(182,151,94,.32);box-shadow:0 10px 28px rgba(48,65,53,.12);letter-spacing:.08em;text-transform:uppercase}
.ivory-elegance .top-controls .control:hover{background:#405846;color:#fff;border-color:#405846}
.ivory-elegance .invite-share-button{z-index:17020;background:rgba(64,88,70,.94);border-color:rgba(255,255,255,.62);box-shadow:0 12px 32px rgba(48,65,53,.22)}
.ivory-elegance .invite-share-button:hover{background:rgba(49,72,59,.98)}
@keyframes ivoryLightDrift{from{transform:translate3d(-1.5%,-1%,0)}to{transform:translate3d(1.5%,1%,0)}}
@keyframes ivoryHintPulse{0%,100%{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}

@media(max-width:820px){.ivory-elegance .invitation-section,.ivory-elegance .events.dark-section{background-position:center top}.ivory-elegance .welcome-strip{gap:10px;padding:18px 14px}.ivory-elegance .portrait-break{margin:48px auto;min-height:520px}.ivory-elegance .portrait-break img{min-height:520px}.ivory-elegance .portrait-break:after{background:linear-gradient(180deg,rgba(25,42,32,.08),rgba(25,42,32,.72))}.ivory-elegance .portrait-copy{left:24px;right:24px;top:auto;bottom:34px;transform:none;text-align:left}.ivory-elegance .moments-grid{grid-template-columns:1fr;grid-auto-rows:280px}.ivory-elegance .moment-card.tall,.ivory-elegance .moment-card.wide{grid-row:auto;grid-column:auto}.ivory-elegance .section-lead{font-size:17px}.ivory-elegance .opening{padding:18px 14px}.ivory-elegance .opening:after{width:94vw;height:88vh}.ivory-elegance .opening-mark{font-size:36px}.ivory-elegance .opening-kicker{margin-bottom:14px}.ivory-elegance .envelope{width:min(340px,88vw);height:min(455px,60vh);min-height:390px}.ivory-elegance .letter-card{padding:84px 24px 82px;border-radius:170px 170px 26px 26px/112px 112px 26px 26px}.ivory-elegance .letter-card:after{border-radius:154px 154px 20px 20px/100px 100px 20px 20px}.ivory-elegance .letter-card b{font-size:clamp(34px,11vw,47px)}.ivory-elegance .wax-seal{width:60px;height:60px;bottom:28px}}
@media(prefers-reduced-motion:reduce){.ivory-elegance .opening:before,.ivory-elegance .tap-hint{animation:none}.ivory-elegance .envelope,.ivory-elegance .letter-card{transition:none}}

/* Premium photo-backed center arch */
.ivory-elegance .letter-card{background-image:linear-gradient(180deg,rgba(255,253,248,.68) 0%,rgba(255,253,248,.79) 42%,rgba(249,245,236,.92) 100%),linear-gradient(180deg,rgba(255,255,255,.10),rgba(32,52,41,.10)),url('/assets/ivory-elegance/hero-photo.webp?v=2');background-size:cover,cover,cover;background-position:center,center,center 34%;background-repeat:no-repeat;box-shadow:inset 0 0 0 8px rgba(255,255,255,.52),0 26px 70px rgba(48,65,53,.16)}
.ivory-elegance .letter-card:before{background:rgba(255,253,248,.80);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(182,151,94,.12)}
.ivory-elegance .letter-card:after{inset:17px;border-color:rgba(255,255,255,.46);box-shadow:inset 0 0 0 1px rgba(113,131,110,.08)}
.ivory-elegance .letter-card small{margin-top:30px;color:#5f6f65;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.ivory-elegance .letter-card b{max-width:290px;text-shadow:0 2px 18px rgba(255,253,248,.72)}
.ivory-elegance .letter-card b span{display:block}
.ivory-elegance .letter-card b i{display:block;margin:7px 0 3px;font-size:.72em}
.ivory-elegance .letter-card em{margin-top:4px;background:rgba(255,253,248,.34);padding:12px 16px 0;border-radius:999px 999px 0 0}
.ivory-elegance .wax-seal{bottom:28px;width:58px;height:58px;font-size:15px;box-shadow:0 0 0 4px rgba(255,253,248,.8),0 12px 26px rgba(47,65,52,.18);z-index:5}
.ivory-elegance .wax-seal:before,.ivory-elegance .wax-seal:after{display:none!important}
.ivory-elegance .envelope:hover .letter-card{background-size:cover,cover,103%;background-position:center,center,center 32%}
.ivory-elegance .is-opening .letter-card{transform:translateY(-30px) scale(1.035);opacity:0;filter:blur(5px) saturate(1.06)}

@media(max-width:820px){.ivory-elegance .letter-card{background-position:center,center,center 30%;padding:84px 22px 84px}.ivory-elegance .letter-card b{max-width:245px;font-size:clamp(32px,10vw,45px)}.ivory-elegance .wax-seal{width:56px;height:56px;bottom:24px}}
