/* Layout is scoped to invitation content; the shared envelope remains independent. */
.inv{max-width:640px}.content{padding:76px 30px 44px;gap:34px}.content>section{min-width:0}.content .small{letter-spacing:.17em;font-size:10px}.content .names{font-size:clamp(44px,9vw,68px);line-height:1.16;margin:20px 0;position:relative}.content .names .amp{font-size:32px;margin:10px 0}.content .host{font:12px/1.8 var(--fb);color:var(--tx2)}.content .greeting{padding:14px 8px}.content .greeting p{font:22px/1.7 var(--fd)}.content .greeting p::first-line{font:inherit;color:var(--tx)}.content .quote{font:italic 23px/1.55 var(--fd);margin:10px 14px;padding:0}.content .garden-art{color:var(--gl);width:100%;height:140px;display:block;margin:auto}.content .photo{border-radius:160px 160px 12px 12px;width:230px;height:290px;box-shadow:none;border:1px solid var(--line);padding:6px}.content .photo img{border-radius:inherit}.content .ev{border:1px solid var(--line);background:var(--p1);padding:22px 18px;gap:8px 18px;border-radius:4px}.content .ev .n{font-weight:500;font-size:23px}.content .ev .t{font-size:22px}.content .cd div{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0}.content .cd div:last-child{border:0}.content .cd b{font-size:26px;font-weight:500}.content .cd span{font-size:9px;letter-spacing:.02em}.content .frame{padding:26px 20px;border-color:var(--line)}.content .btn{min-height:44px}.content .parents div{background:var(--p2);padding:20px 12px}.content .form input,.content .form textarea{background:var(--p1);font-size:16px}.content .salut{border-style:dashed}.content :is(.names,.quote,.greeting,.ev){overflow-wrap:anywhere}
@media(max-width:380px){.content{padding:70px 18px 32px;gap:26px}.content .names{font-size:42px}.content .ev{padding:18px 12px;gap:8px 12px}.content .greeting p{font-size:21px}.content .garden-art{height:105px}.content .parents{grid-template-columns:1fr}.content .quote{margin:8px 0}}
@media(prefers-reduced-motion:reduce){.content *{animation:none!important;scroll-behavior:auto!important}}
body{background:var(--p2)}.poster-top{display:flex;justify-content:space-between;gap:18px;border-bottom:2px solid var(--tx);padding-bottom:18px;text-align:left;font:10px/1.6 var(--fb);text-transform:uppercase;letter-spacing:.12em}.poster-cover{text-align:left;position:relative;padding:15px 0 30px;border-bottom:1px solid var(--line)}.poster-date{display:flex;gap:14px;align-items:center;color:var(--gl)}.poster-date b{font:400 90px/1 var(--fd)}.poster-date>span{font:12px/1.5 var(--fb);letter-spacing:.13em}.poster-names{position:relative;padding-right:32px}.poster-names .names{font-size:clamp(46px,10vw,82px);letter-spacing:-.04em}.poster-names .names .amp{display:inline;font:italic 45px var(--fd);margin:0 14px 0 0}.poster-names .names .n:last-child{display:inline}.poster-star{position:absolute;right:-10px;top:25px;font-size:60px;line-height:1;color:var(--gl);opacity:.7;z-index:-1}.poster-rule{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;font:12px/1.5 var(--fb);letter-spacing:.1em}.content .quote{text-align:left;font-size:26px;margin:0;max-width:420px}.content .evs{gap:0;border-bottom:1px solid var(--line)}.content .ev{border:0;border-top:1px solid var(--line);border-radius:0;grid-template-columns:65px 1fr;padding:24px 0}.content .frame{border-radius:0;border:0;border-top:2px solid var(--gl);background:var(--p2)}.content .btn{border-radius:4px}.content .greeting{text-align:left;border-left:1px solid var(--gl);padding-left:20px}.content .parents div{border-radius:0}.content .photo{border-radius:4px;width:100%;height:330px}
