/* A short, native-scroll invitation journey. Occasion art stays inside the scene. */
.ir-journey{color:#f5f1e3;background:#132b23;padding:82px 0 42px;overflow:hidden;border-block:1px solid #b6bb8b28}
.ir-journey-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.ir-journey-heading .ir-eyebrow{color:#d6c18e}
.ir-journey-heading h2{font:400 clamp(36px,4vw,55px)/1.09 var(--serif);letter-spacing:-.04em;margin-top:17px}
.ir-journey-heading h2 em{color:#d8c99d}
.ir-journey-heading>p{font-size:13px;line-height:1.9;color:#bdcbb8;max-width:280px}
.ir-journey-body{display:grid;grid-template-columns:minmax(235px,.72fr) minmax(0,1.55fr);gap:45px;align-items:center;margin-top:28px;min-height:470px}
.ir-journey-narrative{padding:25px 0 30px;min-width:0}
.ir-journey-counter{display:flex;align-items:center;gap:12px;margin-bottom:26px;color:#a5b596;font-size:11px;letter-spacing:.12em}
.ir-journey-counter>span:first-child{font:italic 42px/1 var(--serif);color:#d9c492;letter-spacing:-.04em}
.ir-journey-copy{min-height:185px}
.ir-journey-copy h3{font:400 30px/1.2 var(--serif);letter-spacing:-.02em;margin-bottom:19px}
.ir-journey-copy p{font-size:14px;line-height:1.9;color:#c5d0be;max-width:315px}
.ir-journey-hint{font-size:10px;line-height:1.7;color:#9cad96;max-width:220px;padding-top:20px}
.ir-journey-scene{position:relative;height:470px;isolation:isolate;min-width:0}
.ir-journey-scene:before{content:'';position:absolute;inset:2% -10% -3%;background:radial-gradient(ellipse,#99ad7840 0,transparent 68%);z-index:-1}
.ir-journey-envelope{position:absolute;left:9%;top:50px;width:70%;max-width:520px;aspect-ratio:1024/765;transform:rotate(-7deg);box-shadow:0 25px 50px #07160f66;transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .6s,left .85s,top .85s;z-index:3}
.ir-journey-envelope img{display:block;width:100%;height:100%;object-fit:cover}
.ir-journey-envelope-label{position:absolute;left:40%;top:44%;width:54%;text-align:center;color:#2e4c3c;padding:9px 4px;display:grid;gap:10px}
.ir-journey-envelope-label span{font-size:7px;letter-spacing:.12em;line-height:1.6}
.ir-journey-envelope-label strong{font:400 clamp(20px,2.35vw,34px)/1.1 var(--serif)}
.ir-journey-envelope-label small{font-size:7px;letter-spacing:.14em}
.ir-journey-reply{position:absolute;right:7%;top:45px;width:58%;max-width:340px;background:#f6f0df;color:#284333;padding:30px 28px;box-shadow:0 18px 35px #07160f66;border:1px solid #e8dfc6;transform:translate(30px,55px) rotate(7deg) scale(.83);opacity:0;transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .65s;z-index:4}
.ir-journey-paper-eyebrow{font-size:8px;letter-spacing:.14em;text-align:center;color:#667a54}
.ir-journey-reply h4{font:italic 34px/1.2 var(--serif);letter-spacing:-.03em;margin:15px 0 22px;text-align:center}
.ir-journey-reply-name{font-size:13px;padding-bottom:14px;border-bottom:1px solid #b5be9c}
.ir-journey-reply-details{display:grid;grid-template-columns:1fr auto;gap:11px;padding:17px 0;font-size:11px;border-bottom:1px solid #b5be9c}
.ir-journey-reply-details strong{font-weight:500}
.ir-journey-reply-note{font:italic 15px/1.6 var(--serif);margin:16px 0 20px;color:#697751}
.ir-journey-reply-seal{display:block;background:#dce5cd;padding:12px 8px;font-size:10px;text-align:center;line-height:1.5}
.ir-journey-reply-seal>span{margin-right:6px}
.ir-journey-dashboard{position:absolute;right:1%;top:20px;width:65%;max-width:395px;padding:26px;background:#f9f6ec;color:#234432;border:1px solid #d4dfc7;box-shadow:0 20px 44px #031a1066;opacity:0;transform:translate(55px,35px) scale(.93);transition:transform .85s cubic-bezier(.2,.7,.2,1),opacity .65s;z-index:5}
.ir-journey-dashboard-head{display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:.1em;color:#6b795f;border-bottom:1px solid #d8decb;padding-bottom:17px}
.ir-journey-lock{flex:0 0 auto}
.ir-journey-dot{width:6px;height:6px;border-radius:50%;background:#789066;margin-left:auto}
.ir-journey-dashboard h4{font:400 29px/1.2 var(--serif);margin:20px 0 5px}
.ir-journey-dashboard-event{font-size:10px;color:#6a7b62;line-height:1.6}
.ir-journey-metric{display:flex;justify-content:space-between;align-items:center;padding:19px 0 21px;border-bottom:1px solid #d8decb;gap:10px}
.ir-journey-metric strong{display:block;font:400 48px/1 var(--serif);letter-spacing:-.04em}
.ir-journey-metric div>span{display:block;font-size:10px;color:#6c7c63;margin-top:6px}
.ir-journey-added{background:#e1ead6;color:#456437;padding:8px;font-size:10px;border-radius:2px}
.ir-journey-guest-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;padding:14px 0;border-bottom:1px solid #d8decb}
.ir-journey-guest-row b{font-weight:500}.ir-journey-guest-row small{display:block;font-size:9px;color:#6c7c63;margin-top:5px}
.ir-journey-new-row{background:#e9eedf;margin:0 -10px;padding-inline:10px}
.ir-journey-dashboard-foot{font-size:9px;line-height:1.6;color:#7b866c;margin-top:15px}
.ir-journey-scene-caption{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.18em;color:#a3b193}
.ir-journey[data-step="1"] .ir-journey-envelope{transform:translate(-50px,45px) rotate(-13deg) scale(.76);opacity:.65}
.ir-journey[data-step="1"] .ir-journey-reply{transform:translate(0,0) rotate(3deg) scale(1);opacity:1}
.ir-journey[data-step="2"] .ir-journey-envelope{transform:translate(-90px,70px) rotate(-12deg) scale(.65);opacity:.25}
.ir-journey[data-step="2"] .ir-journey-reply{transform:translate(-130px,76px) rotate(-9deg) scale(.68);opacity:.7}
.ir-journey[data-step="2"] .ir-journey-dashboard{transform:translate(0,0) scale(1);opacity:1}
.ir-journey-controls{display:flex;gap:25px;align-items:center;border-top:1px solid #b6bb8b44;margin-top:25px}
.ir-journey-steps{display:flex;flex:1;justify-content:space-between;gap:16px}
.ir-journey-controls button{border:0;background:none;color:#a9b99e;font-size:11px;min-height:58px;padding:16px 0;text-align:left;line-height:1.6}
.ir-journey-steps button{position:relative;display:flex;gap:12px;align-items:center}
.ir-journey-steps button:before{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:#ddc38c;transform:scaleX(0);transform-origin:left;transition:transform .45s}
.ir-journey-steps button[aria-pressed=true]{color:#e9d39e}.ir-journey-steps button[aria-pressed=true]:before{transform:scaleX(1)}
.ir-journey-steps button>span{font:italic 22px/1 var(--serif);color:#d0bc8b}
.ir-journey-controls #ir-journey-replay{font-size:10px;color:#d8c38d;white-space:nowrap;padding-left:24px;border-left:1px solid #b6bb8b44;min-width:118px}
#ir-journey-replay>span{font-size:18px;margin-right:5px}
.ir-journey-disclosure{color:#96aa8e;font-size:10px;line-height:1.8;margin-top:14px;max-width:760px}
.ir-journey-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:761px) and (max-width:1050px){.ir-journey-body{gap:25px;grid-template-columns:.7fr 1.3fr}.ir-journey-reply{padding:24px 20px;width:65%;right:1%}.ir-journey-dashboard{padding:22px;width:78%;right:-1%}.ir-journey-reply h4{font-size:29px}.ir-journey-steps button{gap:8px;font-size:10px}.ir-journey-controls{gap:18px}.ir-journey-copy p{font-size:13px}.ir-journey-envelope{top:100px}}
@media(max-width:760px){
 .ir-journey{padding:54px 0 32px}.ir-journey-heading{display:block}.ir-journey-heading .ir-eyebrow{font-size:8px;max-width:260px;line-height:1.8}.ir-journey-heading h2{font-size:37px;margin-top:15px}.ir-journey-heading>p{font-size:12px;margin-top:22px;max-width:none}
 .ir-journey-body{display:flex;flex-direction:column;gap:0;margin-top:12px;min-height:0}.ir-journey-narrative{display:grid;grid-template-columns:38px 1fr;gap:0 15px;padding:25px 0 10px;width:100%}.ir-journey-counter{margin:0;display:block}.ir-journey-counter>span:first-child{font-size:31px}.ir-journey-counter>span+span{display:block;font-size:8px;margin-top:10px}.ir-journey-copy{min-height:148px}.ir-journey-copy h3{font-size:25px;margin-bottom:12px}.ir-journey-copy p{font-size:13px;line-height:1.85;max-width:none}.ir-journey-hint{grid-column:2;font-size:10px;padding-top:12px;max-width:none}
 .ir-journey-scene{height:410px;width:100%;max-width:480px}.ir-journey-envelope{left:6%;top:58px;width:88%;transform:rotate(-5deg)}.ir-journey-envelope-label{gap:7px}.ir-journey-envelope-label strong{font-size:23px}.ir-journey-envelope-label span,.ir-journey-envelope-label small{font-size:6px}
 .ir-journey-reply{top:25px;right:10%;width:80%;max-width:none;padding:25px;transform:translate(20px,25px) rotate(4deg) scale(.9)}.ir-journey-reply h4{font-size:31px}.ir-journey-dashboard{right:4%;top:6px;width:92%;max-width:none;padding:23px;transform:translate(25px,25px) scale(.95)}
 .ir-journey[data-step="1"] .ir-journey-envelope{transform:translate(-35px,40px) rotate(-10deg) scale(.8);opacity:.2}.ir-journey[data-step="2"] .ir-journey-envelope{opacity:0;transform:translate(-25px,45px) scale(.7)}.ir-journey[data-step="2"] .ir-journey-reply{opacity:0;transform:translate(-40px,40px) rotate(-6deg) scale(.8)}
 .ir-journey-scene-caption{font-size:7px;bottom:0}.ir-journey-controls{display:block;margin-top:18px}.ir-journey-steps{gap:12px}.ir-journey-steps button{display:block;flex:1;font-size:10px;min-height:75px}.ir-journey-steps button>span{display:block;margin-bottom:8px;font-size:20px}.ir-journey-controls #ir-journey-replay{padding:8px 0;border-left:0;min-height:44px;font-size:10px}.ir-journey-disclosure{font-size:9px;line-height:1.8;margin-top:10px;max-width:325px}
}
@media(max-width:350px){.ir-journey-heading h2{font-size:33px}.ir-journey-scene{height:400px}.ir-journey-reply{padding:22px 20px}.ir-journey-envelope-label strong{font-size:19px}.ir-journey-envelope-label span{font-size:5px}.ir-journey-dashboard{padding:20px}.ir-journey-dashboard h4{font-size:27px}.ir-journey-copy{min-height:168px}}
/* Reserve enough room for the completed guest list before the step controls. */
@media(max-width:760px){.ir-journey-scene{height:480px}}
@media(prefers-reduced-motion:reduce){.ir-journey *{animation:none!important;transition:none!important}.ir-journey-envelope{transform:none}.ir-journey[data-step="1"] .ir-journey-reply{transform:none}}

.ir-journey-envelope-label{left:46%;right:5%;top:77%;bottom:5%;padding:0;background:none;border:0;box-shadow:none;justify-content:center}
.ir-journey-envelope-label strong{font-size:clamp(12px,1.6vw,20px);line-height:1;margin:3% 0;white-space:nowrap}
.ir-journey-envelope-label>span{display:none}
.ir-journey-envelope-label small{font-size:7px;line-height:1.2}
