/* Invitation collection: tactile stationery, shared RSVP tools, honest scope. */
#packages{padding-top:90px;padding-bottom:65px}
.ir-service .ir-section-heading>p{max-width:375px;font-size:14px;line-height:1.85;color:#becbb7}
.ir-collection-note{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:12px;line-height:1.7;color:#cbd3be}
.ir-collection-note>span{color:#dfc48c;font-size:20px;flex:none}
.ir-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;border:0;align-items:stretch}
.ir-packages article.ir-package{--package-paper:#f7f3e8;--package-ink:#243f32;--package-muted:#5c6b5d;--package-line:#c5cbb9;--package-accent:#7b653d;display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #e5dfc933;background:var(--package-paper);color:var(--package-ink);box-shadow:0 16px 35px #07170f25;border-radius:3px;overflow:hidden}
.ir-packages article.ir-package-video{--package-paper:#e8ecdf;border-color:#cbd2b75c}
.ir-packages article.ir-bespoke{--package-paper:#1e392f;--package-ink:#f1ead6;--package-muted:#c1cdb9;--package-line:#506454;--package-accent:#dfc48c;border:1px solid #7e906959}
.ir-package-cover{position:relative;height:258px;isolation:isolate;overflow:hidden;flex:none;border-bottom:1px solid #263e2520}
.ir-cover-edition{position:absolute;top:19px;left:23px;z-index:4;font:500 9px/1.5 var(--sans);letter-spacing:.16em}
.ir-package-cover img{width:100%;height:100%;object-fit:cover;display:block}
.ir-cover-basic{background:radial-gradient(ellipse at 40% 20%,#faf8ed,#d4d8c8);color:#4c5f47}
.ir-cover-envelope{position:absolute;width:82%;height:75%;left:-5%;top:23%;transform:rotate(-12deg);box-shadow:5px 12px 18px #3b462f35;border:1px solid #eef0d9;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ir-cover-envelope img{object-position:34% 50%}
.ir-cover-notecard{position:absolute;width:49%;height:72%;right:9%;top:24%;padding:19px 12px;background:linear-gradient(120deg,#fffdf4,#f2ead5);transform:rotate(7deg);text-align:center;box-shadow:0 7px 14px #353b2829,0 1px 2px #353b281c;border:1px solid #ffffffad;display:flex;flex-direction:column;align-items:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ir-cover-notecard:before{content:'';position:absolute;inset:7px;border:1px solid #b69c5c50;pointer-events:none}
.ir-cover-notecard>span{font:8px/1.6 var(--sans);letter-spacing:.18em;color:#7a735a}
.ir-cover-notecard b{font:400 clamp(30px,2.7vw,42px)/.99 var(--serif);letter-spacing:-.035em;margin:auto 0;color:#304c3a}
.ir-cover-notecard em{font-weight:400;color:#947444}
.ir-cover-notecard i{font:italic 10px/1.6 var(--serif);color:#7b755c}
.ir-cover-video{background:linear-gradient(125deg,#243d31,#0b1a14);color:#edddb7}
.ir-cover-film{position:absolute;top:49px;left:7%;width:86%;height:70%;border:1px solid #d8c49680;box-shadow:0 10px 22px #0005;overflow:hidden;transform:rotate(-4deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ir-cover-film>img{object-position:50% 47%;filter:brightness(.74)}
.ir-cover-film:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#122319b3,transparent 80%)}
.ir-cover-film-title{position:absolute;inset:0;z-index:1;padding:18px 20px;color:#fff6dd;display:flex;flex-direction:column;justify-content:center;text-align:center;text-shadow:0 2px 8px #0004}
.ir-cover-film-title>span{font:7px/1.6 var(--sans);letter-spacing:.18em;margin-bottom:12px}
.ir-cover-film-title>b{font:400 clamp(30px,2.8vw,43px)/.95 var(--serif);letter-spacing:-.03em}
.ir-cover-film-title em{font-weight:400}
.ir-cover-frames{position:absolute;bottom:-14px;left:31%;display:flex;gap:5px;width:67%;height:70px;background:#f1ecd9;border-block:7px solid #f1ecd9;box-shadow:0 4px 15px #0004;transform:rotate(9deg);padding-inline:5px;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ir-cover-frames img{width:calc((100% - 10px)/3);min-width:0}
.ir-cover-bespoke{background:linear-gradient(125deg,#b5c0a7,#cfd4c3);color:#3c513b}
.ir-cover-photo{position:absolute;width:56%;height:86%;top:22%;left:1%;border:7px solid #eae6d7;box-shadow:4px 10px 20px #31402836;transform:rotate(-11deg)}
.ir-cover-photo img{object-position:50% 54%}
.ir-cover-letter{position:absolute;top:27%;right:7%;width:56%;height:70%;padding:20px 12px 16px;background:linear-gradient(125deg,#fff9e9,#eee3c7);transform:rotate(9deg);box-shadow:2px 8px 16px #3140283b;display:flex;flex-direction:column;text-align:center;align-items:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ir-cover-letter>span{font:7px/1.6 var(--sans);letter-spacing:.13em;color:#6c7356}
.ir-cover-letter>b{font:400 clamp(32px,2.7vw,43px)/.95 var(--serif);letter-spacing:-.04em;color:#2e4935;margin:auto 0}
.ir-cover-letter em{font-weight:400;color:#937643}
.ir-cover-letter>i{font:italic 11px var(--serif);color:#6c7356}
.ir-cover-swatches{position:absolute;display:flex;bottom:12px;left:9%;transform:rotate(-10deg);filter:drop-shadow(0 2px 2px #0003)}
.ir-cover-swatches i{width:25px;height:38px;background:#244536;border:2px solid #e9e5d7;display:block}
.ir-cover-swatches i:nth-child(2){background:#dab49b;margin-left:-2px}
.ir-cover-swatches i:nth-child(3){background:#d9c794;margin-left:-2px}
.ir-package-body{padding:27px 25px 25px;display:flex;flex-direction:column;flex:1}
.ir-service .ir-package-body>.ir-eyebrow{color:var(--package-accent);font-size:8px;line-height:1.6;letter-spacing:.13em}
.ir-packages .ir-package-body h3{font:400 clamp(26px,2.5vw,33px)/1.15 var(--serif);letter-spacing:-.035em;margin:10px 0 0}
.ir-packages .ir-price{font:400 48px/1 var(--serif);letter-spacing:-.035em;margin:20px 0 0;color:var(--package-ink);min-height:73px}
.ir-packages .ir-price-custom{font-size:34px;line-height:48px;letter-spacing:-.03em}
.ir-packages .ir-price span{font:11px/1.6 var(--sans);letter-spacing:0;display:block;color:var(--package-muted);margin-top:9px}
.ir-package-intro{font-size:13px;line-height:1.85;color:var(--package-muted);margin-top:18px;min-height:73px}
.ir-packages .ir-package-highlights{padding:0;list-style:none;display:grid;gap:11px;margin:22px 0 18px;font-size:12px;line-height:1.65;color:var(--package-ink);min-height:104px}
.ir-package-highlights li{position:relative;padding-left:18px}
.ir-package-highlights li:before{content:'✓';position:absolute;left:0;top:0;color:var(--package-accent);font-size:11px}
.ir-package-details{border-block:1px solid var(--package-line);font-size:12px;line-height:1.8;margin-top:0}
.ir-package-details summary{display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;min-height:49px;cursor:pointer;font-size:12px;font-weight:500;color:var(--package-ink)}
.ir-package-details summary::-webkit-details-marker{display:none}
.ir-package-details summary>span{font:400 20px var(--sans);color:var(--package-accent);transition:transform .25s ease}
.ir-package-details[open] summary>span{transform:rotate(45deg)}
.ir-package-details>div{padding:0 0 18px;color:var(--package-muted)}
.ir-package-details p+p{margin-top:10px}
.ir-package-details summary:focus-visible{outline:2px solid var(--package-accent);outline-offset:4px}
.ir-package-timing{display:grid;gap:9px;margin:20px 0 25px;font-size:10px;line-height:1.6}
.ir-package-timing>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ir-package-timing dt{color:var(--package-muted)}
.ir-package-timing dd{margin:0;font-weight:500;color:var(--package-ink);text-align:right}
.ir-packages .ir-package-buy{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:49px;width:100%;margin-top:auto;padding:14px 16px;background:#214936;color:#fff9e9;border:1px solid #214936;border-radius:2px;text-align:left;font:500 12px/1.5 var(--sans);text-decoration:none;transition:background .2s ease,box-shadow .2s ease}
.ir-packages .ir-package-buy>span{font-size:18px;line-height:1;transition:transform .2s ease}
.ir-packages .ir-package-buy:hover{background:#153927;box-shadow:0 4px 10px #132b1b20}
.ir-packages .ir-package-buy:hover>span{transform:translate(2px,-2px)}
.ir-packages .ir-package-buy:focus-visible{outline:3px solid var(--package-accent);outline-offset:4px}
.ir-packages .ir-package-video .ir-package-buy{background:#e1c58b;color:#1c392b;border-color:#c4a86b}
.ir-packages .ir-package-video .ir-package-buy:hover{background:#ecd4a0}
.ir-packages .ir-bespoke .ir-package-buy{background:transparent;border-color:#99a889;color:#f5ecd7}
.ir-packages .ir-bespoke .ir-package-buy:hover{background:#31503d}
.ir-package-included{position:relative;margin-top:37px;padding:34px 36px;border:1px solid #71826370;border-radius:3px;background:linear-gradient(110deg,#203d2e,#193329)}
.ir-included-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:45px;align-items:center}
.ir-included-heading .ir-eyebrow{grid-column:1;margin-bottom:12px;font-size:9px;color:#dac392}
.ir-included-heading h3{font:400 35px/1.15 var(--serif);letter-spacing:-.025em;grid-column:1}
.ir-included-heading>p:last-child{grid-column:2;grid-row:1/3;color:#c4d0ba;font-size:13px;line-height:1.85;max-width:430px}
.ir-included-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:28px;padding-top:25px;border-top:1px solid #7b8d6660}
.ir-included-columns h4{font:500 14px/1.5 var(--sans);margin:0 0 15px;color:#e3cf9c}
.ir-included-columns ul{margin:0;padding-left:17px;color:#d6dfca;font-size:12px;line-height:1.85;display:grid;gap:9px}
.ir-included-columns li::marker{color:#afbe95}
.ir-included-privacy{margin-top:25px;padding-top:19px;border-top:1px solid #7b8d6660;color:#bdcbb1;font-size:12px;line-height:1.8}
.ir-package-extras{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start;border-block:1px solid #52654b;padding:28px 0;margin-top:30px}
.ir-package-extras h3{font:400 25px/1.3 var(--serif);margin-top:12px}
.ir-package-extras>div>p:not(.ir-eyebrow){font-size:12px;color:#b8c4ac;line-height:1.7}
.ir-package-extras ul{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;padding:0;margin:12px 0 0;color:#d8ddca;font-size:12px;line-height:1.8}
.ir-package-extras li{border-bottom:1px solid #73825b66;padding-bottom:4px}
.ir-package-notes{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:24px;color:#b8c6ad;font-size:11px;line-height:1.85}
.ir-package-notes strong{display:block;color:#d1dac4;font-weight:500;font-size:12px;margin-bottom:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .ir-package:hover .ir-cover-notecard{transform:rotate(3deg) translateY(-5px)}
 .ir-package:hover .ir-cover-envelope{transform:rotate(-9deg) translateX(-2px)}
 .ir-package:hover .ir-cover-film{transform:rotate(-1deg) translateY(-3px)}
 .ir-package:hover .ir-cover-frames{transform:rotate(5deg) translateY(-5px)}
 .ir-package:hover .ir-cover-letter{transform:rotate(5deg) translateY(-5px)}
}
@media(min-width:901px) and (max-width:1150px){
 .ir-packages{gap:14px}.ir-package-body{padding:24px 19px 21px}
 .ir-package-cover{height:235px}.ir-cover-edition{left:18px;font-size:8px}
 .ir-packages .ir-package-body h3{font-size:27px;min-height:63px}
 .ir-package-intro{min-height:96px}.ir-packages .ir-package-highlights{min-height:132px}
 .ir-package-timing>div{display:block}.ir-package-timing dd{text-align:left;font-size:11px;margin-top:2px}
 .ir-packages .ir-price-custom{font-size:29px}
}
@media(max-width:900px){
 #packages{padding-top:55px;padding-bottom:40px}
 .ir-service .ir-section-heading{display:block}
 .ir-service .ir-section-heading>p{max-width:520px;margin-top:22px;font-size:13px}
 .ir-collection-note{max-width:520px;align-items:flex-start;margin-top:22px;font-size:11px}
 .ir-collection-note>span{font-size:17px}
 .ir-packages{grid-template-columns:1fr;max-width:560px;margin:26px auto 0;gap:26px}
 .ir-package-cover{height:285px}
 .ir-cover-envelope{width:74%;height:87%;left:0;top:22%}
 .ir-cover-notecard{width:45%;height:76%;right:12%;top:22%;padding:23px 14px}
 .ir-cover-notecard b{font-size:46px}.ir-cover-notecard>span{font-size:9px}
 .ir-cover-notecard i{font-size:12px}.ir-cover-film-title>b{font-size:45px}
 .ir-cover-letter>b{font-size:48px}.ir-cover-letter>span{font-size:8px}
 .ir-cover-letter{width:48%;right:12%}.ir-cover-photo{width:50%;left:4%}
 .ir-cover-frames{width:57%;left:36%;height:78px}
 .ir-package-body{padding:28px}
 .ir-service .ir-package-body>.ir-eyebrow{font-size:9px}
 .ir-packages .ir-package-body h3{font-size:34px}
 .ir-package-intro{min-height:0;max-width:420px;font-size:14px}
 .ir-packages .ir-package-highlights{min-height:0;font-size:13px;gap:12px;margin:22px 0}
 .ir-package-details summary{min-height:52px;font-size:13px}
 .ir-package-details{font-size:13px}.ir-package-timing{font-size:11px;margin-bottom:24px}
 .ir-packages .ir-package-buy{font-size:13px;min-height:52px}
 .ir-package-included{padding:27px 25px;margin-top:28px}
 .ir-included-heading,.ir-included-columns,.ir-package-extras,.ir-package-notes{grid-template-columns:1fr;gap:24px}
 .ir-included-heading{gap:0}.ir-included-heading>p:last-child{grid-column:1;grid-row:auto;margin-top:17px}
 .ir-included-heading h3{font-size:32px}.ir-included-columns{margin-top:24px;gap:25px}
 .ir-included-columns>div+div{border-top:1px solid #68805a60;padding-top:23px}
 .ir-included-columns ul{font-size:13px}.ir-included-privacy{font-size:11px}
 .ir-package-extras{gap:18px;padding-block:25px}.ir-package-notes{gap:20px;font-size:11px}
}
@media(max-width:420px){
 .ir-package-cover{height:235px}.ir-cover-edition{left:20px;top:17px;font-size:8px}
 .ir-cover-notecard{right:8%;width:49%;height:76%;padding:19px 11px}
 .ir-cover-notecard b{font-size:36px}.ir-cover-notecard>span{font-size:7px}.ir-cover-notecard i{font-size:9px}
 .ir-cover-letter>b{font-size:38px}.ir-cover-letter{right:7%;width:55%;height:74%;top:26%}
 .ir-cover-letter>span{font-size:7px}.ir-cover-film-title>b{font-size:36px}
 .ir-cover-frames{height:61px;width:67%;left:30%}
 .ir-package-body{padding:25px 21px}.ir-packages .ir-package-body h3{font-size:31px}
 .ir-package-intro{font-size:13px}.ir-packages .ir-price{font-size:46px}.ir-packages .ir-price-custom{font-size:33px}
 .ir-package-timing{font-size:10px;gap:10px}
}
@media(prefers-reduced-motion:reduce){#packages *{animation:none!important;transition:none!important}}

/* Real, locally hosted films; decorative Basic remains a still stationery cover. */
.ir-package-cover{height:auto;aspect-ratio:8/5}
.ir-package-motion{background:#142b22}
.ir-package-motion>video{display:block;width:100%;height:100%;object-fit:contain;background:#142b22}
.ir-film-label{position:absolute;top:12px;left:12px;background:#10251ee6;border:1px solid #dfc48c40;color:#f6ecd4;padding:7px 10px;font:500 8px/1.5 var(--sans);letter-spacing:.12em;border-radius:2px;pointer-events:none}
/* A 28px visual control inside an always-available 44px touch target. */
.ir-film-toggle{position:absolute;z-index:2;top:3px;right:3px;width:44px;height:44px;min-height:44px;padding:8px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#fff8e8;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ir-film-toggle-disc{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1px solid #fff6df70;background:#10251ebd;box-shadow:0 1px 6px #071b1330}
.ir-film-toggle:hover .ir-film-toggle-disc{background:#203c2fe8;border-color:#fff6df}
.ir-film-toggle:focus-visible{outline:2px solid #fff6df;outline-offset:-5px}
.ir-film-toggle svg{display:block}
.ir-film-pause-icon{display:none}
.ir-package-motion[data-playing=true] .ir-film-play-icon{display:none}
.ir-package-motion[data-playing=true] .ir-film-pause-icon{display:block}
.ir-film-error{position:absolute;inset:48px 12px 16px;padding:12px;display:grid;place-content:center;text-align:center;background:#10251eeb;color:#f4e7bf;font-size:12px;line-height:1.8;pointer-events:none}
@media(max-width:600px){.ir-film-label{font-size:7px;top:9px;left:9px;padding:5px 8px}} .ir-cover-basic>.ir-cover-edition{background:#fffaf0e8;padding:6px 9px;top:12px;left:12px;font-size:8px;color:#385441}
/* Birthday stationery: dimensional paper, embossed seal and deliberate reveal. */
.ir-birthday-premium{container-type:inline-size;background:#dedfca}
.ir-birthday-open{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:radial-gradient(ellipse at 20% 15%,#f9f2db,transparent 65%),linear-gradient(130deg,#e5e5d1,#bec9b5);color:#234e3a;text-align:center;cursor:pointer;isolation:isolate;overflow:hidden;font-family:var(--sans)}
.ir-birthday-open:focus-visible{outline:3px solid #996e39;outline-offset:-5px}
.ir-birthday-edition{position:absolute;top:5%;left:5%;font-size:2cqw;letter-spacing:.18em;z-index:6}
.ir-birthday-envelope{position:absolute;width:61%;height:62%;left:12%;top:30%;background:linear-gradient(125deg,#4d715c,#234c38);transform:rotate(-13deg);box-shadow:1cqw 2cqw 3cqw #17352635;border:1px solid #77917b}
.ir-birthday-envelope:after{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.7%,#7b967c80 50%,transparent 50.3%),linear-gradient(-32deg,transparent 49.7%,#7b967c80 50%,transparent 50.3%);clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%)}
.ir-birthday-ticket{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:52%;height:78%;left:28%;top:12%;border-radius:48% 48% 3px 3px;background:radial-gradient(ellipse at 0 0,#fff5df,transparent),linear-gradient(125deg,#f6dfc1,#eac1a6);border:1px solid #fff2d7;box-shadow:.4cqw 1.7cqw 3cqw #27392840;transform:rotate(8deg);transition:transform .85s cubic-bezier(.22,.8,.2,1),box-shadow .85s;z-index:2}
.ir-birthday-ticket:before{content:'';position:absolute;inset:3%;border:1px solid #ac815e60;border-radius:48% 48% 2px 2px;pointer-events:none}
.ir-birthday-ticket>span:first-child{font-size:1.8cqw;letter-spacing:.22em;margin:6% 0 5%}
.ir-birthday-ticket strong{font:500 8.7cqw/.84 var(--serif);letter-spacing:-.04em;color:#244e38}
.ir-birthday-ticket strong em{display:inline-block;font-weight:400;font-size:8cqw;margin-top:3%}
.ir-birthday-date{font-size:1.7cqw;letter-spacing:.07em;margin-top:8%}
.ir-birthday-rule{height:1px;width:20%;background:#9e7546;margin:6% 0 4%}
.ir-birthday-ticket i{font:italic 2.7cqw var(--serif);color:#7b5744}
.ir-birthday-seal{position:absolute;left:17%;bottom:15%;width:15%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 35% 25%,#f2dc9b,#c29a50 70%,#a87d3f);border:2px solid #ead198;border-radius:50%;box-shadow:inset 0 0 0 .8cqw #cba965,inset 0 0 0 1cqw #e8ce8f,.2cqw .7cqw 1cqw #34271445;z-index:4;font:500 6cqw var(--serif);text-shadow:0 1px #ffebbc;color:#83612f;transform:rotate(-14deg);transition:transform .85s}
.ir-birthday-seal>span{font:1.1cqw var(--sans);letter-spacing:.05em}
.ir-birthday-orb{position:absolute;border-radius:50%;box-shadow:inset -1cqw -1.5cqw 2cqw #85634030,.5cqw 1cqw 2cqw #46553b22;z-index:3;transition:transform 1.1s ease}
.ir-birthday-orb:after{content:'';position:absolute;left:50%;top:99%;height:17cqw;width:7cqw;border-left:1px solid #7d8867;border-radius:50%;transform:rotate(14deg)}
.orb-one{width:14%;height:28%;top:18%;left:5%;background:radial-gradient(ellipse at 30% 25%,#fff4bf,#daba65 70%);transform:rotate(-14deg)}
.orb-two{width:10%;height:20%;top:13%;right:6%;background:radial-gradient(ellipse at 30% 25%,#f9d8c8,#c48972 75%);transform:rotate(15deg)}
.ir-birthday-star{position:absolute;color:#ac843f;z-index:4;font-size:7cqw;transition:transform .85s}.star-one{right:10%;bottom:18%}.star-two{left:23%;top:14%;font-size:4cqw}
.ir-birthday-response{position:absolute;z-index:1;right:6%;bottom:8%;background:#fff6df;padding:3%;font:italic 3cqw var(--serif);box-shadow:0 1cqw 2cqw #31452c30;transform:rotate(-6deg) translateY(70%);opacity:0;transition:transform .85s,opacity .6s}
.ir-birthday-response b{display:block;font:500 2.2cqw var(--sans);margin-top:6%}
.ir-birthday-hint{position:absolute;z-index:6;bottom:3%;left:5%;font-size:1.8cqw;letter-spacing:.04em;color:#35533f}.ir-birthday-hint>span{margin-left:1cqw}
.ir-birthday-open[aria-expanded=true] .ir-birthday-ticket{transform:translate(-8%,-9%) rotate(-5deg);box-shadow:1cqw 3cqw 4cqw #27392835}
.ir-birthday-open[aria-expanded=true] .ir-birthday-response{opacity:1;transform:rotate(-6deg) translateY(0);z-index:3}
.ir-birthday-open[aria-expanded=true] .ir-birthday-seal{transform:translate(-18%,12%) rotate(-24deg)}
.ir-birthday-open[aria-expanded=true] .orb-one{transform:translateY(-12%) rotate(-20deg)}
.ir-birthday-open[aria-expanded=true] .orb-two{transform:translateY(10%) rotate(23deg)}
.ir-birthday-open[aria-expanded=true] .star-one{transform:rotate(70deg) scale(1.15)}
@media(hover:hover){.ir-birthday-open:hover .ir-birthday-ticket{translate:0 -2%}.ir-birthday-open:hover .ir-birthday-seal{filter:brightness(1.08)}}
@media(prefers-reduced-motion:reduce){.ir-birthday-open *{transition:none!important}}
.ir-birthday-hint{font-size:clamp(9px,2.3cqw,12px);background:#fff8e8ed;padding:5px 9px;border-radius:20px;bottom:3%;box-shadow:0 1px 4px #17352615}

/* Photographic party setting with an opening envelope in the foreground. */
.ir-birthday-photo .ir-birthday-open{background:#e1d0b5;perspective:1000px}
.ir-party-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.ir-birthday-photo .ir-birthday-edition{background:#fff7e9e8;padding:5px 7px;font-size:clamp(7px,1.8cqw,10px);top:4%;left:4%;color:#334b36}
.ir-party-envelope{position:absolute;left:8%;top:53%;width:44%;height:33%;transform:rotate(-5deg);perspective:700px;filter:drop-shadow(1cqw 2cqw 1.5cqw #43382550)}
.ir-party-back{position:absolute;inset:0;background:#c89b79;border:1px solid #e1b99b;border-radius:3px}
.ir-party-pocket{position:absolute;inset:0;z-index:3;background:linear-gradient(32deg,#dfb79b 49.5%,transparent 50%),linear-gradient(-32deg,#edcdb1 49.5%,transparent 50%);border:1px solid #e8c8a8;border-top:0;border-radius:0 0 3px 3px}
.ir-party-pocket:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#e7c3a5,#efd6ba);clip-path:polygon(0 100%,50% 40%,100% 100%)}
.ir-party-flap{position:absolute;inset:0;z-index:5;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 66%);background:linear-gradient(160deg,#fae4c9,#d8ad89);transition:transform .65s ease,z-index 0s .35s;backface-visibility:visible}
.ir-party-letter{position:absolute;left:6%;top:4%;width:88%;height:125%;z-index:2;background:linear-gradient(120deg,#fffbee,#f4e7cc);border:1px solid #fff9df;box-shadow:0 1px 3px #684b3520;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(12%) scale(.97);transition:transform .8s cubic-bezier(.22,.8,.2,1),opacity .35s;opacity:0;color:#34533d}
.ir-party-letter:before{content:'';position:absolute;inset:6%;border:1px solid #bea27070;pointer-events:none}
.ir-party-letter small{font:1.4cqw var(--sans);letter-spacing:.12em;margin-bottom:4%}.ir-party-letter strong{font:500 8cqw/.95 var(--serif)}
.ir-party-letter em{font:italic 4cqw/1.2 var(--serif);color:#9b674d;margin:3% 0 6%}.ir-party-letter>span{font:1.7cqw var(--sans);letter-spacing:.08em}.ir-party-letter i{font:italic 2.4cqw var(--serif);margin-top:5%}
.ir-party-monogram{position:absolute;z-index:6;left:41%;top:35%;width:19%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#f7df9c,#b78a47);box-shadow:0 2px 3px #553e3540,inset 0 0 0 2px #f4d58f;border:1px solid #b69155;font:500 4cqw var(--serif);color:#805b2b;transition:opacity .25s,transform .5s}
.ir-party-caption{position:absolute;bottom:9%;left:0;width:100%;z-index:4;font:italic 3.1cqw var(--serif);color:#6b4d38;transition:opacity .3s}
.ir-birthday-photo .ir-birthday-hint{left:auto;right:4%;bottom:4%;font-size:clamp(9px,2.1cqw,11px);color:#254432;background:#fff9e9f2}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-flap{transform:rotateX(175deg);z-index:1}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-letter{opacity:1;transform:translateY(-62%) scale(1);transition-delay:.35s}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-monogram{opacity:0;transform:translateY(-40%) scale(.85)}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-caption{opacity:0}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-scene{transform:scale(1.025)}
.ir-birthday-photo .ir-birthday-open:not([aria-expanded=true]) .ir-party-flap{transition-delay:.45s,.7s}
@media(prefers-reduced-motion:reduce){.ir-birthday-photo *{transition:none!important}}

/* Restrained stationery reveal: a fitted card, hinged flap and reversible timing. */
.ir-party-envelope{left:7%;top:53%;width:48%;height:37%;transform:rotate(-7deg);filter:drop-shadow(.5cqw 1.2cqw .9cqw #49372240);transition:transform 1s cubic-bezier(.22,.7,.2,1)}
.ir-party-back{background:linear-gradient(135deg,#c8ae93,#b99678);border-color:#dac1a7;border-radius:2px}
.ir-party-pocket{background:linear-gradient(32deg,#e9d7bd 49.5%,transparent 50%),linear-gradient(-32deg,#f0dfc8 49.5%,transparent 50%);border-color:#d8c2a3}
.ir-party-pocket:after{background:linear-gradient(170deg,#f1e2cd,#dec6a6);clip-path:polygon(0 100%,0 52%,50% 30%,100% 52%,100% 100%)}
.ir-party-flap{height:69%;background:linear-gradient(160deg,#faf0dc,#e5cfaf);clip-path:polygon(0 0,100% 0,100% 3%,52% 100%,48% 100%,0 3%);transition:transform .7s cubic-bezier(.4,0,.2,1),z-index 0s .35s;transform:rotateX(0deg)}
.ir-party-letter{top:4%;left:5%;width:90%;height:91%;opacity:1;transform:translateY(0);background:linear-gradient(115deg,#fffdf5,#f8f1df);box-shadow:0 1px 2px #4c382833;transition:transform .8s cubic-bezier(.22,.7,.2,1);padding:7% 4%;justify-content:space-evenly}
.ir-party-letter:before{inset:7%;border-color:#b69b6b66}
.ir-party-letter small{font-size:1.5cqw;letter-spacing:.15em;margin:0}
.ir-party-letter strong{font:500 6.6cqw/.9 var(--serif);max-width:90%;letter-spacing:-.025em}
.ir-party-letter em{font:italic 2.7cqw/1.2 var(--serif);margin:0;color:#957344}
.ir-party-letter>span{font-size:1.65cqw}
.ir-party-monogram{width:16%;left:42%;top:49%;font-size:3.5cqw;background:radial-gradient(circle at 30% 20%,#e2c487,#b28b4f);box-shadow:0 1px 2px #553e3530,inset 0 0 0 1px #efd7a0;transition:transform .3s,opacity .2s}
.ir-party-caption{font-size:2.8cqw;bottom:7%;color:#786347}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-envelope{transform:translateY(8%) rotate(-3deg)}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-flap{transform:rotateX(180deg);z-index:1}
.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-letter{transform:translateY(-91%);transition-delay:.5s;opacity:1}
.ir-birthday-photo .ir-birthday-open:not([aria-expanded=true]) .ir-party-flap{transition-delay:.65s,1s}
.ir-birthday-photo .ir-birthday-open:not([aria-expanded=true]) .ir-party-monogram{transition-delay:1.15s}
.ir-birthday-photo .ir-birthday-open:not([aria-expanded=true]) .ir-party-caption{transition-delay:.75s}
@media(prefers-reduced-motion:reduce){.ir-birthday-photo *{transition:none!important}}
.ir-party-letter{padding:3% 4%}.ir-party-letter strong{font-size:5.7cqw}.ir-birthday-photo .ir-birthday-open[aria-expanded=true] .ir-party-letter{transform:translateY(-104%)}
/* Shared content tracks keep every comparison row aligned when copy wraps. */
@media(min-width:901px){
 .ir-packages{row-gap:0}
 .ir-packages article.ir-package{display:grid;grid-row:span 12;grid-template-rows:subgrid;row-gap:0}
 .ir-packages .ir-package-body{display:grid;grid-row:span 11;grid-template-rows:subgrid;row-gap:0}
 .ir-packages .ir-package-body h3,.ir-packages .ir-package-intro{min-height:0}
 .ir-packages .ir-package-highlights{grid-row:span 3;grid-template-rows:subgrid;row-gap:11px;min-height:0}
 .ir-packages .ir-package-highlights li{align-self:start}
 .ir-packages .ir-package-timing{grid-row:span 2;grid-template-rows:subgrid;row-gap:9px}
 .ir-packages .ir-package-buy{margin-top:0;align-self:stretch}
 .ir-packages .ir-package-details{align-self:stretch}
}

/* Personalised sage stationery with restrained gold-foil details. */
.ir-party-back{background:linear-gradient(130deg,#6e8069,#455e4b);border-color:#8e9f7c}
.ir-party-pocket{background:linear-gradient(32deg,#586e54 49.5%,transparent 50%),linear-gradient(-32deg,#71866a 49.5%,transparent 50%);border-color:#96a486}
.ir-party-pocket:after{background:repeating-linear-gradient(85deg,#ffffff03 0 1px,transparent 1px 3px),linear-gradient(150deg,#6e8263,#425d48);clip-path:polygon(0 100%,0 52%,50% 30%,100% 52%,100% 100%)}
.ir-party-flap{background:repeating-linear-gradient(85deg,#ffffff05 0 1px,transparent 1px 3px),linear-gradient(155deg,#98a88a,#6a8064 65%,#536a50);border-top:1px solid #c5cfb0}
.ir-party-flap:after{content:'';position:absolute;inset:6% 6% 10%;background:linear-gradient(35deg,transparent 49.5%,#e3cf945e 50%,transparent 50.8%),linear-gradient(-35deg,transparent 49.5%,#e3cf945e 50%,transparent 50.8%);clip-path:polygon(0 0,100% 0,50% 100%)}
.ir-party-monogram{top:40%;width:22%;left:39%;font-size:4.5cqw;border:2px solid #dbc28c;box-shadow:inset 0 0 0 2px #aa844c,inset 0 0 0 3px #e4cd98,0 2px 3px #182b2350;background:radial-gradient(ellipse at 30% 15%,#f3dfa5,#c4a163 65%,#a88044);color:#77552b;text-shadow:0 1px #f8e7bc;transform:rotate(-9deg)}
.ir-party-monogram:after{content:'WITH LOVE';position:absolute;bottom:15%;font: .8cqw var(--sans);letter-spacing:.12em}
.ir-party-caption{bottom:8%;color:#f4e7c8;display:grid;gap:1cqw;line-height:1}
.ir-party-caption small{font: .95cqw/1 var(--sans);letter-spacing:.18em}
.ir-party-caption b{font:italic 3.6cqw/1 var(--serif);font-weight:400}
.ir-party-botanical{position:absolute;left:3%;bottom:7%;width:21%;height:64%;z-index:4;color:#dac791;opacity:.75;pointer-events:none}
.ir-party-botanical svg{width:100%;height:100%}
.ir-party-letter{background:radial-gradient(ellipse at 100% 0,#efcfb6aa,transparent 65%),linear-gradient(110deg,#fffaf0,#f3e8cd);border:1px solid #fff6df}
.ir-party-letter:before{border:1px solid #b89b60;inset:6%;box-shadow:0 0 0 3px #f9f2e2,0 0 0 4px #c4ab7540}
.ir-party-letter small{color:#9b7546;font-size:1.25cqw;letter-spacing:.2em}
.ir-party-letter strong{color:#36543d}
.ir-party-letter em{color:#a36f52}
.ir-party-letter>span{color:#7e6b49}
.ir-party-monogram{top:23%}.ir-party-caption{gap:.6cqw}.ir-party-caption small{font-size:.85cqw}

/* Reuse the wedding's photographic satin stationery with birthday typography. */
.ir-birthday-suite{position:absolute;left:5%;top:37%;width:53%;height:54%;transform:rotate(-7deg);perspective:800px}
.ir-birthday-jacket{position:absolute;inset:0;z-index:3;box-shadow:1px 2px 3px #54413130,1cqw 2cqw 3cqw #30291f35;transition:transform 1s cubic-bezier(.22,.75,.2,1);transform-origin:50% 80%;border-radius:2px;overflow:hidden}
.ir-birthday-jacket>img{width:100%;height:100%;object-fit:cover;display:block}
.ir-birthday-address{position:absolute;left:47%;right:6%;top:17%;bottom:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#41533c;text-align:center}
.ir-birthday-address small{font:1.1cqw var(--sans);letter-spacing:.12em;margin-bottom:8%}
.ir-birthday-address strong{font:500 5.2cqw/.95 'Cormorant Garamond',var(--serif)}
.ir-birthday-address em{font:1.15cqw var(--sans);letter-spacing:.15em;margin-top:10%;color:#8a7148}
.ir-birthday-insert{position:absolute;inset:4% 6% 0;background:radial-gradient(ellipse at 100% 0,#f0d1bf,transparent 65%),#fff7e7;border:1px solid #fff9ec;box-shadow:0 2px 8px #4a3c2425;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:7% 5%;color:#3e5943;transform:translateY(0) rotate(0);transition:transform 1s cubic-bezier(.22,.75,.2,1);}
.ir-birthday-insert:before{content:'';position:absolute;inset:5%;border:1px solid #bf9c6266;pointer-events:none}
.ir-birthday-insert small{font:1.25cqw var(--sans);letter-spacing:.17em;margin-bottom:6%}
.ir-birthday-insert strong{font:500 6.4cqw/.85 'Cormorant Garamond',var(--serif)}
.ir-birthday-insert em{font:italic 2.6cqw 'Cormorant Garamond',var(--serif);color:#a07353;margin-top:5%}
.ir-birthday-insert>span{font:1.4cqw var(--sans);letter-spacing:.1em;margin-top:5%}
.ir-birthday-insert>i{font:3cqw var(--serif);color:#b68d50;margin-top:4%}
.ir-birthday-open[aria-expanded=true] .ir-birthday-jacket{transform:translate(-5%,30%) rotate(-6deg)}
.ir-birthday-open[aria-expanded=true] .ir-birthday-insert{transform:translate(10%,-51%) rotate(9deg);transition-delay:.15s}
@media(prefers-reduced-motion:reduce){.ir-birthday-suite *{transition:none!important}}
.ir-birthday-suite{left:8%;top:38%;width:49%;height:50%}.ir-birthday-open[aria-expanded=true] .ir-birthday-jacket{transform:translate(0,17%) rotate(-2deg)}

/* Keep address text on the fixed lower panel, below the flap seam. */
.ir-birthday-jacket{background:#edb99a;isolation:isolate}
.ir-birthday-jacket>img{mix-blend-mode:luminosity}
.ir-birthday-address{left:44%;right:4%;top:76%;bottom:5%;justify-content:center;color:#672d31}
.ir-birthday-address small{display:none}
.ir-birthday-address strong{font:600 3.1cqw/1 'Cormorant Garamond',var(--serif);white-space:nowrap}
.ir-birthday-address strong br{display:none}
.ir-birthday-address em{font-size:.9cqw;letter-spacing:.13em;margin-top:5%}
.ir-birthday-insert{background:radial-gradient(ellipse at 100% 0,#f5b8a5,transparent 75%),#fff2cd;color:#7a3542}
.ir-birthday-insert strong{color:#8d3948}.ir-birthday-insert em{color:#b3652b}
.ir-birthday-photo .ir-party-scene{filter:saturate(1.2)}
.ir-birthday-address,.ir-birthday-address strong,.ir-birthday-address em{color:#49213f}
.ir-birthday-address,.ir-birthday-address strong,.ir-birthday-address em{color:#785016}.ir-birthday-address strong{text-shadow:0 1px 0 #ffe8b47a}
.ir-birthday-address strong{color:#dfad42;font-weight:600;text-shadow:0 1px 0 #704310,.35px 0 #93601e,-.35px 0 #93601e,0 -.35px #93601e}.ir-birthday-address em{color:#8a5715;font-weight:600}
.ir-birthday-address strong{color:#e5b82e;text-shadow:none}.ir-birthday-address em{color:#bd8b16;text-shadow:none}
.ir-birthday-address,.ir-birthday-address strong,.ir-birthday-address em{color:#61243b;text-shadow:none}
/* Tint only the photographed satin, preserving its weave, folds and highlights. */
.ir-birthday-jacket:after{content:'';position:absolute;inset:0;background:#c6ab7c url('assets/rsvp-wedding-satin-envelope.webp') center/cover no-repeat;background-blend-mode:luminosity;mix-blend-mode:normal;filter:brightness(.9) saturate(.85);mask:url('assets/rsvp-satin-ribbon-mask.svg') center/cover no-repeat;pointer-events:none}
.ir-birthday-address{z-index:1}

/* Peach and champagne drawn from the birthday scene, with warm cocoa lettering. */
.ir-birthday-address,.ir-birthday-address strong,.ir-birthday-address em{color:#663e2d;text-shadow:none}
.ir-birthday-insert{background:radial-gradient(ellipse at 100% 0,#f0c5a9,transparent 75%),#fff4df;color:#663e2d}
.ir-birthday-insert strong{color:#663e2d}.ir-birthday-insert em{color:#92653f}
