/* VOWFABLE maker's note -  scoped to .vf-outro, matching the invitation's palette.
   Loaded AFTER styles.css and desktop.css. Designed for 320px–1440px. */
.vf-outro { --vf-ink:#41232b; --vf-gold:#c4a16a; --vf-paper:#f7eee0; isolation:isolate; position:relative; overflow:hidden; padding:clamp(30px,6vw,80px) clamp(12px,3.5vw,44px) clamp(22px,4vw,44px); background-color:#411f2b; background-image:linear-gradient(180deg,#3919256b,#421d2aaf), url('assets/vowfable/wave-mini.svg'); color:var(--vf-ink); }
.vf-outro *, .vf-outro *::before, .vf-outro *::after { box-sizing:border-box; }
.vf-outro__stage { position:relative; max-width:1260px; margin:0 auto; border:1px solid #c4a16a99; padding:clamp(10px,2vw,22px); }
.vf-outro__stage::before { content:""; pointer-events:none; position:absolute; inset:8px; border:1px solid #c4a16a48; }
.vf-outro__floral { pointer-events:none; position:absolute; z-index:3; width:clamp(140px,26vw,315px); height:clamp(100px,19vw,210px); background: url('assets/vowfable/floral-corner.svg') left top/contain no-repeat; }
.vf-outro__floral--top { top:-70px; left:-55px; }
.vf-outro__floral--bottom { bottom:-66px; right:-62px; transform:scale(-1,-1); }
.vf-outro__paper { position:relative; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; min-height:560px; padding:clamp(30px,4vw,66px); gap:clamp(28px,5vw,80px); background:radial-gradient(ellipse at 49% 15%,#fff8ec 0%,#f4e7d4 65%,#eaddca 100%); box-shadow:0 18px 35px #140a1030; }
.vf-outro__paper::before { content:""; position:absolute; pointer-events:none; inset:12px; border:1px solid #bc985d6e; }
.vf-outro__paper::after { content:""; pointer-events:none; position:absolute; bottom:0; right:0; height:25%; width:48%; opacity:.24; background:url('assets/svg/pavilion-landscape.svg') right bottom/contain no-repeat; }
.vf-outro__paper--solo { grid-template-columns:minmax(0,1fr); }
.vf-outro__photo-col { position:relative; z-index:1; min-width:0; padding:12px; }
.vf-outro__photo { position:relative; width:100%; max-width:435px; margin:0 auto; padding:12px 12px 24px; background:#fffaf2; transform:rotate(-3deg); box-shadow:0 16px 35px #42281d34; border:1px solid #d7bf9f; }
.vf-outro__photo img { display:block; width:100%; height:clamp(240px,29vw,380px); object-fit:cover; object-position:49% 36%; }
.vf-outro__photo figcaption { padding-top:15px; font-size:11px; font-style:italic; line-height:1.25; text-align:center; color:#826550; letter-spacing:.06em; }
.vf-outro__copy { position:relative; z-index:1; min-width:0; text-align:center; max-width:565px; margin:0 auto; }
.vf-outro__eyebrow { color:#842d38; font-size:10px; font-style:normal; letter-spacing:.26em; font-weight:700; line-height:1.8; margin:0 0 26px; }
.vf-outro__copy h2 { margin:0; color:#782632; font:italic 400 clamp(34px,4.2vw,65px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.vf-outro__rule { display:flex; align-items:center; justify-content:center; gap:10px; margin:24px auto; color:#bc965d; font-size:24px; line-height:1; }
.vf-outro__rule::before,.vf-outro__rule::after { content:""; display:block; width:65px; height:1px; background:#c4a16a; opacity:.75; }
.vf-outro__message { font:normal 15px/1.9 Georgia,'Times New Roman',serif; color:#513b37; max-width:47ch; margin:0 auto 28px; text-wrap:pretty; }
.vf-outro__signature { display:flex; align-items:center; justify-content:center; gap:14px; margin:14px auto 20px; }
.vf-outro__signature img { width:53px; height:53px; }
.vf-outro__brand-text { display:flex; flex-direction:column; gap:5px; text-align:left; }
.vf-outro__brand-text strong { font:italic 400 31px/1 Georgia,'Times New Roman',serif; color:#762733; }
.vf-outro__brand-text span { font:normal 9px/1.5 Georgia,'Times New Roman',serif; letter-spacing:.14em; text-transform:uppercase; color:#7a5a4c; }
.vf-outro__button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-width:240px; min-height:48px; border-radius:999px; padding:13px 26px; color:#fff7e9; background:linear-gradient(110deg,#922f40,#721e31); border:1px solid #9d5260; box-shadow:0 3px 0 #481827, 0 8px 18px #4e1d2f1a; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.035em; transition:transform .2s,box-shadow .2s; }
.vf-outro__button:hover { transform:translateY(-2px); box-shadow:0 5px 0 #481827,0 13px 20px #4e1d2f26; }
.vf-outro__button:focus-visible { outline:3px solid #c4a16a; outline-offset:4px; }
.vf-outro__fineprint { font-size:10px; line-height:1.5; letter-spacing:.05em; margin:13px 0 0; color:#775c52; }
.vf-outro__colophon { display:flex; align-items:center; justify-content:center; gap:9px; color:#c4a16a; margin:23px 0 0; }
.vf-outro__colophon>span:not(.vf-outro__diamond) { height:1px; width:82px; background:#c4a16a91; }
.vf-outro__diamond { font-size:21px; line-height:1; }
@media (max-width:959px){ .vf-outro__paper { grid-template-columns:1fr; gap:18px; padding:clamp(33px,6vw,55px) clamp(22px,6vw,65px) 43px; } .vf-outro__photo-col{padding:0 6px;} .vf-outro__photo { max-width:360px; transform:rotate(-2deg); } .vf-outro__photo img { height:clamp(225px,60vw,365px); } .vf-outro__message { font-size:14px; line-height:1.8; } }
@media (max-width:480px){ .vf-outro { padding:44px 13px 23px; } .vf-outro__stage { padding:9px; } .vf-outro__stage::before{inset:5px;} .vf-outro__paper{padding:30px 20px 33px;gap:22px;} .vf-outro__paper::before{inset:8px;} .vf-outro__floral--top{top:-37px;left:-35px;width:153px;height:115px;} .vf-outro__floral--bottom{bottom:-35px;right:-35px;width:155px;height:115px;} .vf-outro__photo{width:88%;padding:8px 8px 14px;} .vf-outro__photo img{height:clamp(178px,52vw,250px);} .vf-outro__photo figcaption{padding-top:8px;font-size:9px;} .vf-outro__eyebrow{font-size:9px;letter-spacing:.22em;margin:0 0 14px;} .vf-outro__copy h2{font-size:clamp(32px,9vw,42px);} .vf-outro__rule{margin:15px auto;} .vf-outro__message{font-size:12.5px;line-height:1.75;margin-bottom:19px;} .vf-outro__signature{gap:10px;margin-bottom:15px;} .vf-outro__signature img{width:43px;height:43px;} .vf-outro__brand-text strong{font-size:26px;} .vf-outro__brand-text span{font-size:8px;letter-spacing:.075em;} .vf-outro__button{min-height:43px;min-width:203px;font-size:11px;} .vf-outro__colophon{margin-top:19px;} }
@media (prefers-reduced-motion:reduce){.vf-outro__button{transition:none;}.vf-outro__button:hover{transform:none;}}
